Tải bản đầy đủ (.pdf) (102 trang)

Nghiên cứu vấn đề an toàn thông tin trên hệ thống thanh toán bằng thẻ atm

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2.46 MB, 102 trang )

ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ

LÊ VĂN TUẤN

NGHIÊN CỨU VẤN ĐỀ AN TỒN THƠNG TIN TRÊN
HỆ THỐNG THANH TOÁN BẰNG THẺ ATM

LUẬN VĂN THẠC SĨ

Hà Nội - 2009


LỜI CAM ĐOAN
Tơi xin cam đoan, đây là cơng trình nghiên cứu độc lập của riêng tôi, không
sao chép ở bất kỳ một cơng trình hoặc một luận án của các tác giả khác. Các số liệu,
kết quả nêu trong luận văn này là trung thực và chưa được công bố trong bất kỳ
cơng trình nào khác. Các tài liệu tham khảo có nguồn trích dẫn rõ ràng.

Tác giả luận văn

Lê Văn Tuấn


I

MỤC LỤC
MỤC LỤC.............................................................................................................. I
CHƢƠNG 1. CÁC KHÁI NIỆM CƠ BẢN ............................................ MỞ ĐẦU
................................................................................................................................ 1
1.1. ......................................................................................... TỔNG QUAN VỀ MÃ HOÁ


............................................................ CHƢƠNG 1. CÁC KHÁI NIỆM CƠ BẢN
................................................................................................................................ 2
1.2.1. TỔNG QUAN CHỮ KÝ SỐ ............................................ VỀ MÃ HOÁ
2
1.3.2. TỔNG QUAN VỀ HÀM BĂM ...................................... VỀ HÀM BĂM
13
1.4.

XÁC THỰC ĐIỆN TỬ ...................................................................... 3.
TỔNG QUAN CHỮ KÝ SỐ .................................................................. 11

CHƢƠNG 2. GIỚI THIỆU VỀ THẺ ATM .................................................. 1.4.
XÁC THỰC ĐIỆN TỬ .......................................................................... 17
2.1. QUY ĐỊNH CHUNGCHƢƠNG 2. GIỚI THIỆU VỀ THẺ TRONG HOẠT
ĐỘNG NGÂN HÀNG .................................................................................... ATM
.............................................................................................................................. 19
2.2.

GIỚI THIỆU THẺ ATM .................................................................... 1.
QUY ĐỊNH CHUNG VỀ THẺ TRONG HOẠT ĐỘNG NGÂN HÀNG .. 19

CHƢƠNG 3. GIAO DỊCH BẰNG2.2. ............................. GIỚI THIỆU THẺ ATM
34
3.1. .. MÃ HÓA PIN VÀ QUẢN LÝ KHÓA ĐỐI VỚICHƢƠNG 3. GIAO DỊCH
BẰNG THẺ ATM ................................................................................................ 46
3.2.

CÁC CHUẨN THÔNG ĐIỆP CHO GIAO DỊCH THẺ ....................... 1.
MÃ HÓA PIN VÀ QUẢN LÝ KHÓA ĐỐI VỚI THẺ ATM ................ 46


3.3.

LUỒNG GIAO DỊCH THANH TỐN VỚI THẺ ATM ....................... 2.
CÁC CHUẨN THƠNG ĐIỆP CHO GIAO DỊCH THẺ ....................... 54

CHƢƠNG 4. ỨNG DỤNG THẺ ATM ......................................................... 3.3.
LUỒNG GIAO DỊCH THANH TOÁN VỚI THẺ ATM ...................... 67


II

4.1. ................................................................................................... BÀI TOÁN THỰC TẾ.
................................................................... CHƢƠNG 4. ỨNG DỤNG THẺ ATM
.............................................................................................................................. 85
4.2.

HỆ THỐNG GIAO DỊCH BẰNG THỂ ATM1. .. BÀI TOÁN THỰC TẾ.
85

4.3.

SỬ DỤNG 2. ..................... HỆ THỐNG GIAO DỊCH BẰNG THỂ ATM
86

KẾT LUẬN VÀ KIẾN NGHỊ .................................................................... 4.3.
SỬ DỤNG HỆ THỐNG ......................................................................... 90
TÀI LIỆU THAM KHẢO ................................................................... KẾT LUẬN
.............................................................................................................................. 95
TÀI LIỆU THAM KHẢO ................................................................................... 96


DANH MỤC CÁC TỪ VIẾT TẮT
ATM

Automated Teller Machine

BIN

Bank Identification Number

DES

Data Encryption Standard

EMV

EuroPay MasterCard Visa

HSM

Host Security Module

ISO

International Organization for Standardization

MII

Major Industry Identifier

PAN


Primary Account Number


III

PIN

Personal Identification Number

POS

Point of Sale

PVV

PIN Verification Value

RSA

Ron Rivest, Adi Shamir và Len Adleman

SNA

System Network Architecture

SSL

Secure Sockets Layer


DANH MỤC HÌNH VẼ
Hình vẽ

STT

Trang

1

Hình 1.1: Q trình mã hố và giải mã

3

2

Hình 1.2: Q trình mã hố thuật tốn DES

5

3

Hình 1.3: Một vịng lặp DES

7

4

Hình 2.1: Tiêu chuẩn kích thước chung đối với thẻ ATM

21


5

Hình 2.2: Tiêu chuẩn kích thước chi tiết đối với thẻ ATM

22

6

Hình 2.3: Thơng tin track1 của thẻ ATM

28

7

Hình 2.4: Thơng tin track2 của thẻ ATM

35

8

Hình 2.5: Thơng tin chung của thẻ ATM

34

9

Hình 2.6: Quy định chuẩn vật lý của thẻ ATM

35



IV

10

Hình 3.1: Mã hố PIN tại ATM(EPP)

47

11

Hình 3.2: Giải mã PIN tại trung tâm xử lý

47

12

Hình 3.3: Mơ hình hoạt động của HSM

48

13

Hình 3.4:Hoạt động của 3DES trong mã hố và giải mã PIN

51

14


Hình 3.5:Luồng giao dịch ATM

67

15

Hình 3.6:Luồng giao dịch chính trên ATM

70

16

Hình 3.7:Luồng giao dịch huỷ trên ATM

71

17

Hình 3.9:Luồng giao dịch ngoại lệ trên ATM

73

18

Hình 3.10:Luồng dịch rút tiền trên ATM

74

Hình 3.11:Luồng giao dịch trên ATM trong trường hợp khơng rút thẻ


75

19

ra khỏi máy ATM

20

Hình 3.12:Luồng cơ bản giao dịch trên ATM

76

21

Hình 3.13:Luồng giao dịch xem số dư trên ATM

77

22

Hình 3.14:Luồng cơ bản giao dịch trên ATM

78

23

Hình 4.1:Kiến trúc hệ thống chuyển mạch và quản lý thẻ ATM

79


24

Hình 4.2. Mơ hình chức năng của hệ thống cuyển mạch và quản lý thẻ

84

25

Hình 4.3. Mơ hình các thành phần chuyển mạch và quản lý thẻ ATM

85


1

MỞ ĐẦU
Hiện nay, ở các nước phát triển cũng như đang phát triển, mạng máy
tính và Internet đang ngày càng đóng vai trị thiết yếu trong mọi lĩnh vực hoạt động
của xã hội, và một khi nó trở thành phương tiện làm việc trong các hệ thống thì nhu
cầu bảo mật thông tin được đặt lên hàng đầu. Nhu cầu này khơng chỉ có ở các bộ
máy An ninh, Quốc phòng, Quản lý Nhà nước, mà đã trở thành cấp thiết trong nhiều
hoạt động kinh tế xã hội: tài chính, ngân hàng, thương mại…thậm chí trong cả một
số hoạt động thường ngày của xã hội (thư điện tử, thanh toán tín dụng,…). Do ý
nghĩa quan trọng này mà những năm gần đây cơng nghệ mật mã và an tồn thơng
tin đã có những bước tiến vượt bậc và thu hút sự quan tâm của các chuyên gia trong
nhiều lĩnh vực khoa học, công nghệ.
Trong lĩnh vực ngân hàng các giao dịch thanh toán ngày càng được yêu cầu
bảo mật cao, đặc biệt đối với các giao dịch thanh toán bằng thẻ. Với cơ sở hạ tầng
công nghệ thông tin hiện tại chúng ta còn tiềm ẩn nhiều rủi ro trong thanh toán bằng
thẻ, đặc biệt là bảo mật và an tồn thơng tin trên các kênh giao dịch như ATM và

POS còn nhiều hạn chế.
Luận văn này nghiên cứu lý thuyết về an tồn thơng tin, nhằm áp dụng xây
dựng an tồn thơng tin cho các giao dịch thẻ ATM bao gồm: An tồn thơng tin cho
hệ thống chuyển mạch, hệ thống máy POS, ATM, hệ thống phát hành thẻ. Nhằm
đảm bảo an tồn trong thanh tốn thẻ trong ngân hàng và giữa các ngân hàng với
nhau.
Luận văn gồm có bốn chương: Các kiến thức tổng quan trình bày ở Chương
1, Chương 2 nghiên cứu thẻ ATM, Chương 3. Nghiên cứu giao dịch bằng thẻ ATM,
cuối cùng Chương 4 ứng dụng thẻ ATM.
Rất cám ơn Thầy TS. Trần Đức Sự đã cung cấp kiến thức, tài liệu và tận
tâm chỉ bảo để tơi có thể hồn thành luận văn này.
Vì điều kiện thời gian và kiến thức còn hạn chế, đề tài khơng tránh khỏi
có nhiều sai sót. Rất mong sự thơng cảm và các ý kiến đóng góp của các Thầy Cô
và đồng nghiệp.


2

Chương 1. CÁC KHÁI NIỆM CƠ BẢN
1.1.

TỔNG QUAN VỀ MẬT MÃ

1.1.1. Khái niệm mã hoá
Mật mã đã được con người sử dụng từ lâu đời. Các hình thức mật mã sơ khai
đã được tìm thấy từ khoảng bốn nghìn năm trước trong nền văn minh Ai Cập cổ đại.
Trải qua hàng nghìn năm lịch sử, mật mã đã được sử dụng rộng rãi ở khắp nơi trên
thế giới từ Đông sang Tây để giữ bí mật cho việc giao lưu thông tin trong nhiều lĩnh
vực hoạt động giữa con người và các quốc gia, đặc biệt trong các lĩnh vực quân sự,
chính trị, ngoại giao. Mật mã trước hết là một loại hoạt động thực tiễn, nội dung

chính của nó là để giữ bí mật thơng tin. Ví dụ muốn gửi một văn bản từ một người
gửi A đến một người nhận B, A phải tạo cho văn bản đó một bản mã mật tương ứng
và thay vì gửi văn bản rõ thì A chỉ gửi cho B bản mã mật, B nhận được bản mã mật
và khôi phục lại văn bản rõ để hiểu được thông tin mà A muốn gửi cho mình. Do
văn bản gửi đi thường được chuyển qua các con đường cơng khai nên người ngồi
có thể “lấy trộm” được, nhưng vì đó là bản mật mã nên khơng đọc hiểu được; Cịn
A có thể tạo ra bản mã mật và B có thể giải bản mã mật thành bản rõ để hiểu được
là do hai người đã có một thoả thuận về một chìa khố chung, chỉ với khố chung
này thì A mới tạo được bản mã mật từ bản rõ và B mới khôi phục được bản rõ từ
bản mã mật. Khố chung đó được gọi là khoá mật mã. Để thực hiện được một phép
mật mã, ta cịn cần có một thuật tốn biến bản rõ cùng với khoá mật mã thành bản
mã mật và một thuật toán ngược lại biến bản mật cùng với khoá mật mã thành bản
rõ. Các thuật toán đó được gọi tương ứng là thuật tốn lập mã và thuật tốn giải mã.
Các thuật tốn này thường khơng nhất thiết phải giữ bí mật, mà cái ln cần được
giữ bí mật là khố mật mã. Trong thực tiễn, có những hoạt động ngược lại với hoạt
động bảo mật là khám phá bí mật từ các bản mã “lấy trộm” được, hoạt động này
thường được gọi là mã thám hay phá khoá.[4],[5]
Một hệ mã hoá là một bộ năm (P,C,K,E,D) thoả mãn các điều kiện sau đây:
1. P: Là một tập hữu hạn các bản rõ
2. C: Là một tập hữu hạn các bản mã
3. K: là một tập hữu hạn các khoá
4. E :là hàm lập mã x  P  y = Ekl(x)  C
5. D là hàm giải mã y  C  x = Dkg(y)  P


3

Hình 1.1: Q trình mã hố và giải mã
1.1.2. Hệ mã hoá đối xứng
Các phương pháp mật mã cổ điển đã được biết đến từ khoảng 4000

năm trước. Một số kỹ thuật đã được những người Ai Cập sử dụng từ nhiều thế kỷ
trước. Những kỹ thuật này chủ yếu sử dụng hai phương pháp chính là: phép thay thế
và phép chuyển dịch. Trong phép thay thế, một chữ cái này được thay thế bởi chữ
cái khác và trong phép chuyển dịch, các chữ cái được sắp xếp theo một trật tự khác.
Hệ mã chuẩn DES được xây dựng tại Mỹ trong những năm 70 theo yêu cầu
của Văn phòng quốc gia về chuẩn (NBS) và được sự thẩm định của an ninh quốc
gia là một ví dụ về mật mã đối xứng. DES kết hợp cả hai phương pháp thay thế và
chuyển dịch. DES thực hiện mã hoá trên từng khối bản rõ là một xâu 64 bit, có khoá
là một xâu 56 bit và cho ra bản mã cũng là một xâu 64 bit. Hiện nay, DES và biến
thể của nó (3DES) vẫn được sử dụng thành cơng trong nhiều ứng dụng. [5]
Trong các hệ mã đối xứng chỉ có một khố được chia sẻ giữa các bên tham
gia liên lạc. Cứ mỗi lần truyền tin bảo mật, cả người gửi A và người nhận B cùng
thoả thuận trước với nhau một khố chung K, sau đó người gửi dùng eK để mã hố
cho thơng báo gửi đi và người nhận dùng dK để giải mã bản mã hố nhận được.
Người gửi và người nhận có cùng một khố chung K, được giữ bí mật dùng
cho cả mã hoá và giải mã. Những hệ mã hoá cổ điển với cách sử dụng trên được gọi
là mã hoá khoá đối xứng hay cịn gọi là mật mã khố bí mật. Độ an toàn của hệ mật
mã đối xứng phụ thuộc vào khố. Nếu để lộ khố thì bất kỳ người nào cũng có thể
mã hố và giải mã thơng điệp.[5]


4

1.1.2.1.

Hệ mã hóa chuẩn DES
1).

Sơ đồ mã hố và Sơ đồ giải mã


PLAINTEXT
IP
L0

R0

K1
R1=L0(R0,K1)

L1=R0


K2

L2=R1

R2=L1(R1,K2)

L15=R14

R15=L14(R14,K15)

K16

R16=L15(R15,K16)

L16=R15

IP-1
CIPHERTEXT



5

PLAINTEXT
IP
L0

R0

K1
R1=L0(R0,K1)

L1=R0


K2

L2=R1

R2=L1(R1,K2)

L15=R14

R15=L14(R14,K15)

K16

R16=L15(R15,K16)


L16=R15

IP-1
CIPHERTEXT

Hình 1.2: Q trình mã hố thuật tốn DES


6

2).
Các đặc điểm đặc trưng của Hệ mã hoá DES
DES là hệ mã đối xứng tức là mã hoá và giải mã đều sử dụng cùng một
khoá. Sử dụng khoá 56 bít. Xử lý khối vào 64 bít, biến đổi khối vào thành khối ra
64 bít. Thuật tốn DES mã hoá và giải mã nhanh. DES được thiết kế để chạy trên
phần cứng.[5]
DES thực hiện trên từng khối 64 bít bản rõ. Sau khi thực hiện hoán vị khởi
đầu, khối dữ liệu được chia làm hai nửa trái và phải, mỗi nửa 32 bít. Tiếp đó, có 16
vịng lặp giống hệt nhau được thực hiện, được gọi là các hàm , trong đó dữ liệu
được kết hợp với khố. Sau 16 vòng lặp, hai nửa trái và phải được kết hợp lại và
hoán vị cuối cùng (hoán vị ngược) sẽ kết thúc thuật tốn.
Trong mỗi vịng lặp, các bít của khố được dịch đi và có 48 bít được chọn ra
từ 56 bít của khố. Nửa phải của dữ liệu được mở rộng thành 48 bít bằng một phép
hốn vị mở rộng, tiếp đó khối 48 bít này được kết hợp với khối 48 bít đã được thay
đổi và hốn vị của khoá bằng toán tử XOR. Khối kết quả của phép tính XOR được
lựa chọn ra 32 bít bằng cách sử dụng thuật toán thay thế và hoán vị lần nữa. Đó là
bốn thao tác tạo nên hàm . Tiếp đó, đầu ra của hàm  được kết hợp với nửa trái
bằng một toán tử XOR. Kết quả của các bước thực hiện này trở thành nửa phải mới;
nửa phải cũ trở thành nửa trái mới. Sự thực hiện này được lặp lại 16 lần, tạo thành
16 vòng của DES.[5]

Nếu Bi là kết quả của vòng thứ i, Li và Ri là hai nửa trái và phải của Bi, Ki là
khố 48 bít của vịng thứ i, và  là hàm thực hiện thay thế, hoán vị và XOR với
khố, ta có biểu diễn của một vịng sẽ như sau:
Li=Ri-1
Ri=Li-1 XOR (Ri-1,Ki)


7

Khố
28 bít
Dịch
28 bít

28 bít
Dịch
28 bít

56 bít
Hốn vị Chọn
48 bít
Ri-1
32 bít

Mở rộng
Hốn vị
48 bít

Hộp S
Thay thế

Lựa chọn
32 bít

Hộp P
Hốn vị

Li-1
32 bít

Ri

Li

Khố
28 bít

28 bít

Dịch
28 bít

Dịch
28 bít

56 bít
Hốn vị Chọn
48 bít
Ri-1
32 bít


Mở rộng
Hốn vị
48 bít

Li-1
32 bít

Hộp S
Thay thế
Lựa chọn
32 bít

Hộp P
Hốn vị

Ri

Li


8

Hình 1.3: Một vịng lặp DES [5]
1.1.2.2.

Ưu và nhược điểm của hệ mật mã khoá đối xứng

Ưu điểm nổi bật của các hệ mật mã khoá đối xứng là việc xây dựng một hệ
mật mã có độ bảo mật cao khá dễ dàng về mặt lý thuyết. Nhưng như nếu khơng kể
đến việc cần có một nguồn sinh khố ngẫu nhiên thì việc phân phối, lưu trữ bảo mật

và thoả thuận khố là một vấn đề khó chấp nhận được trong mạng truyền
thơng ngày nay. Trong một mạng có n người dùng, nếu cần khố cho từng cặp
thì cần n(n+1)/2 khố.
Để khắc phục hiện tượng khơng thể lưu trữ một khối lượng khoá quá lớn đáp
ứng được nhu cầu mã dịch, người ta xem xét đến việc sử dụng các hệ mật mã khối
với độ dài không lớn lắm như DES… hoặc các hệ mật mã dịng mà khố được sinh
ra từ một nguồn giả ngẫu nhiên bằng thuật toán.
Mặc dù đã thực hiện việc mã hoá và giải mã bằng các hệ mật mã khối hay
bằng thuật toán sinh khố như đã nêu ở trên thì vấn đề phân phối và thoả thuận khoá
vẫn phải được thực hiện. Như vậy phân phối và thoả thuận khoá là một vấn đề chưa
thể được giải quyết trong các hệ mật mã khố đối xứng.
1.1.3.
Hệ mã khố cơng khai
Để giải quyết vấn đề phân phối và thoả thuận khoá của mật mã khoá
đối xứng, năm 1976 Diffie và Hellman đã đưa ra khái niệm về hệ mật mã khố cơng
khai và một phương pháp trao đổi công khai để tạo ra một khố bí mật chung mà
tính an tồn được bảo đảm bởi độ khó của một bài tốn tốn học cụ thể (là bài tốn
tính “logarit rời rạc”). Hệ mật mã khố cơng khai hay cịn được gọi là hệ mật mã
phi đối xứng sử dụng một cặp khoá, khoá mã hố cịn gọi là khố cơng khai (public
key) và khố giải mã được gọi là khố bí mật hay khóa riêng (private key). Trong
hệ mật này, khoá mã hoá khác với khố giải mã. Về mặt tốn học thì từ khố cơng
khai rất khó tính được khố riêng. Biết được khố này khơng dễ dàng tìm được
khố kia. Khố giải mã được giữ bí mật trong khi khố mã hố được cơng bố cơng
khai. Một người bất kỳ có thể sử dụng khố cơng khai để mã hố tin tức, nhưng chỉ
có người nào có đúng khố giải mã mới có khả năng xem được bản rõ. Người gửi A
sẽ mã hố thơng điệp bằng khóa cơng của người nhận và người nhận B sẽ giải mã
thơng điệp với khố riêng tương ứng của mình.Có nhiều hệ thống khố cơng khai
được triển khai rộng rãi như hệ RSA, hệ ElGamal sử dụng giao thức trao đổi
khoá Diffie-Hellman và nổi lên trong những năm gần đây là hệ đường cong
Elliptic. Trong số các hệ mật mã trên thì hệ RSA là hệ được cộng đồng chuẩn

quốc tế và công nghiệp chấp nhận rộng rãi trong việc thực thi mật mã khoá công
khai. Hệ mật mã RSA, do Rivest, Shamir và Adleman [5] tìm ra, đã được cơng


9

bố lần đầu tiên vào tháng 8 năm 1977 trên tạp chí Scientific American. Hệ mật mã
RSA được sử dụng rộng rãi trong thực tiễn đặc biệt cho mục đích bảo mật và xác
thực dữ liệu số. [5]
1.1.3.1.

Trình bày về hệ mật RSA

Sơ đồ hệ mã hoá
Giả sử B cần gửi cho A một tài liệu x trên kênh truyề n thông công cô ̣ng . A và B
muốn giữ bí mật tài liệu trên đường truyền sử dụng phương pháp mã hóa RSA.
1).

Bước

A

1

Lấy 2 giá trị p và q nguyên tố lớn .

2

Tính n = p.q ; (n)=(p-1)(q-1)


3

Chọn số ngẫu nhiên b sao cho

B

UCLN(b,(n)) = 1 và b <(n)
4

Tính giá trị a=b-1 mod (n)

5

Gửi (b,n) cho B

Nhận (b,n)
Mã hóa

6

x: y = xb mod n
7
8

Nhận y từ B

Gửi y cho A

Giải mã: x = ya mod n


2). Các đặc điểm đặc trưng của Hệ mật RSA
RSA có tên lấ y từ chữ cái đầ u của ba người phát minh R .Rivest, A.Shamir
và L.Adleman. Đây là hê ̣ mã hóa cơng khai , cịn gọi là hệ mã hóa dịng . Giá trị
khóa cơng khai và khóa bí mật được tính tốn dựa trên hai số ngun tố lớn theo
phương pháp tiń h giá tri ̣modulo . Độ an toàn của RSA phụ thuộc vào kić h thước
của p và q sao cho giá trị n đủ lớn để việc
phân tích n thành thừa số nguyên tố
nhằm tim
̀ ra khóa bí mâ ̣t là khó thực hiê ̣n với các máy tin
́ h đương đa ̣i . Khóa của hệ
RSA có mơ ̣t phầ n (khác với hệ mã hóa Elgamal có hai phần ). Bản mã có tính đơn
trị, tức là từ mô ̣t bản rõ chỉ sinh ra đươ ̣c mơ ̣t bản mã hóa.[5]
Việc phát minh ra phương pháp mã công khai tạo ra một cuộc “cách
mạng”trong cơng nghệ an tồn thơng tin điện tử. Nhưng thực tiễn triển khai cho


10

thấy tốc độ mã hoá khối dữ liệu lớn bằng các thuật tốn mã hố cơng khai chậm
hơn rất nhiều so với hệ mã hố đối xứng. Ví dụ, để đạt được độ an toàn như các hệ
mã đối xứng mạnh cùng thời, RSA đòi hỏi thời gian cho việc mã hoá một văn bản
lâu hơn gấp hàng ngàn lần. Do đó, thay bằng việc mã hố văn bản có kích thước lớn
bằng lược đồ khố cơng khai thì văn bản này sẽ được mã hoá bằng một hệ mã đối
xứng có tốc độ cao như DES, IDEA,…sau đó khố được sử dụng trong hệ mã đối
xứng sẽ được phân phối sử dụng mật mã khố cơng khai.
1.1.3.2. Ưu nhược điểm của hệ mã hố khố cơng khai
Vấn đề cịn tồn đọng của hệ mật mã khoá đối xứng được giải quyết nhờ hệ
mật mã khố cơng khai. Chính ưu điểm này đã thu hút nhiều trí tuệ vào việc đề
xuất, đánh giá các hệ mật mã công khai. Nhưng do bản thân các hệ mật mã khố
cơng khai đều dựa vào các giả thiết liên quan đến các bài tốn khó nên đa số các hệ

mật mã này đều có tốc độ mã dịch khơng nhanh lắm. Chính nhược điểm này làm
cho các hệ mật mã khố cơng khai khó được dùng một cách độc lập.
Một vấn đề nữa nảy sinh khi sử dụng các hệ mật mã khóa cơng khai là việc
xác thực mà trong mơ hình hệ mật mã đối xứng khơng đặt ra. Do các khố mã công
khai được công bố một cách công khai trên mạng cho nên việc đảm bảo rằng “khố
được cơng bố có đúng là của đối tượng cần liên lạc hay khơng?” là một kẽ hở có thể
bị lợi dụng. Vấn đề xác thực này được giải quyết cũng chính bằng các hệ mật mã
khố cơng khai. Nhiều thủ tục xác thực đã được nghiên cứu và sử dụng
như Kerberos, X.509… Một ưu điểm nữa của các hệ mật mã khoá cơng khai là các
ứng dụng của nó trong lĩnh vực chữ ký số, cùng với các kết quả về hàm băm, thủ
tục ký để bảo đảm tính tồn vẹn của một văn bản được giải quyết.[5]


11

1.2.

TỔNG QUAN VỀ HÀM BĂM

1.2.1. Khái niệm hàm băm
Việc sử dụng các hệ mật mã và sơ đồ chữ ký số thường là mã hóa và ký số
trên từng bit của thơng tin, thời gian để mã hóa và ký sẽ tỷ lệ thuận với dung lượng
của thông tin. Thêm vào đó có thể xảy ra trường hợp: với nhiều bức thông điệp đầu
vào khác nhau, sử dụng hệ mật mã, sơ đồ ký số giống nhau (có thể khác nhau) thì
cho ra kết quả bản mã, bản ký số giống nhau (ánh xạ N-1: nhiều – một).
Điều này sẽ dẫn đến một số rắc rối về sau cho việc xác thực thông tin.[5]
Các sơ đồ ký số thường chỉ được sử dụng để ký các bức thông điệp (thông
tin) có kích thước nhỏ và sau khi ký, bản ký số có kích thước gấp đơi bản thơng
điệp gốc – ví dụ với sơ đồ chữ ký chuẩn DSS ký trên các bức thơng điệp có kích
thước 160 bit, bản ký số sẽ có kích thước 320 bit. Trong khi đó trên thực tế, ta cần

phải ký các thơng điệp có kích thước lớn hơn nhiều, chẳng hạn vài chục MegaByte.
Hơn nữa, để đáp ứng yêu cầu xác thực sau khi thông tin đến người nhận, dữ liệu
truyền qua mạng khơng chỉ là bản thơng điệp gốc, mà cịn bao gồm cả bản ký số (có
dung lượng gấp đơi dung lượng bản thông điệp gốc). Một cách đơn giản để
giải quyết vấn đề trên (với thơng điệp có kích thước lớn) này là chặt thông điệp
thành nhiều đoạn 160 bit, sau đó ký lên các đoạn đó độc lập nhau. Nhưng, sử dụng
biện pháp này sẽ có một số vấn đề gặp phải trong việc tạo ra các chữ ký số:


12

Thứ nhất: với một thơng điệp có kích thước a, thì sau khi ký kích thước của chữ ký
sẽ là 2a (trong trường hợp sử dụng DSS). [5]
Thứ hai: với các chữ ký “an tồn” thì tốc độ chậm vì chúng dùng nhiều phép tính số
học phức tạp như số mũ modulo.[5]
Thứ ba: vấn đề nghiêm trọng hơn đó là kết quả sau khi ký, nội dung của thơng
điệp có thể bị xáo trộn các đoạn với nhau, hoặc một số đoạn trong chúng có thể bị
mất mát, trong khi người nhận cần phải xác minh lại thông điệp. Do đó, ta cần phải
bảo đảm tính tồn vẹn của thơng điệp.
Giải pháp cho các vấn đề vướng mắc đến chữ ký số là dùng hàm băm để trợ
giúp cho việc ký số.
Hàm băm - hiểu theo một nghĩa đơn giản là hàm cho tương ứng một mảng
dữ liệu lớn với một mảng dữ liệu nhỏ hơn - được sử dụng rộng rãi trong nhiều ứng
dụng khác nhau của tin học, không chỉ thuộc phạm vi mật mã học [1].

Hàm băm được đề cập đến trong phạm vi luận văn là hàm băm một chiều, có
tác dụng trợ giúp cho các sơ đồ ký số nhằm làm giảm dung lượng của dữ liệu cần
thiết để truyền qua mạng. Hàm băm ở đây được hiểu là các thuật tốn khơng sử
dụng khố để mã hóa (ở đây ta dùng thuật ngữ “băm” thay cho “mã hố”), nó có
nhiệm vụ băm thơng điệp được đưa vào theo một thuật toán h một chiều nào đó, rồi

đưa ra một bản băm – văn bản đại diện – có kích thước cố định[5]. Giá trị của hàm
băm là duy nhất và không thể suy ngược lại được nội dung thông điệp từ giá trị băm
này. Hàm băm một chiều h có một số đặc tính quan trọng sau:
 Với thông điệp đầu vào x thu được bản băm z = h(x) là duy nhất.
 Nếu dữ liệu trong thông điệp x thay đổi hay bị xóa để thành thơng điệp x’
thì h(x’) ≠ h(x). Cho dù chỉ là một sự thay đổi nhỏ hay chỉ là xóa đi 1 bit dữ
liệu của thơng điệp thì giá trị băm cũng vẫn thay đổi. Điều này có nghĩa là: hai
thơng điệp hồn tồn khác nhau thì giá trị hàm băm cũng khác nhau.


Nội dung của thông điệp gốc không thể bị suy ra từ giá trị hàm băm. Nghĩa là
với thơng điệp x thì dễ dàng tính được z = h(x), nhưng lại không thể (thực chất
là khó) suy ngược lại được x nếu chỉ biết giá trị hàm băm h(x).
Một số thuật toán băm được biết đến nhiều là hàm băm dòng và hàm băm
chuẩn như: [MD2], [MD4], [MD5], [SHA-1]…


13

1.2.2. Ứng dụng hàm băm
1/. Hàm băm tạo đại diện thơng điệp, sau đó ký số trên đại diện thơng điệp.
2/. Hàm băm dùng để xác thực thông điệp.
3/. Hàm băm dùng để bảo vệ khóa mật.

1.3.

TỔNG QUAN CHỮ KÝ SỐ

1.3.1. Khái niệm chữ ký số
Mật mã khố cơng khai có thể được sử dụng theo nhiều cách khác nhau. Chữ

ký số là một ví dụ minh chứng cho việc đảm bảo xác thực người dùng và toàn vẹn
dữ liệu. Nếu người gửi A mã hố thơng điệp hay tài liệu với khố riêng của mình thì
bất kỳ ai cũng có thể giải mã thơng điệp với khố cơng khai của A. Do đó, người
nhận có thể chắc chắn rằng thơng điệp mình nhận chỉ có thể do A mã vì chỉ A mới
có khố riêng của mình. Q trình mã hố thơng điệp với khố riêng của người gửi
gọi là quá trình “ký số”. [5]
Trong thực tế, quá trình ký số thường khó hơn. Thay bằng việc mã
bản thơng điệp gốc với khố riêng của người gửi thì chỉ có bản đại diện thơng điệp
(bản băm) có độ dài cố định được mã hoá với khoá riêng của người gửi và bản băm
đã được mã hoá này được gắn vào với thông điệp gốc. Người nhận B sau khi nhận
được thông điệp đầu tiên sẽ giải mã bản băm với khố cơng của người gửi, sau đó
băm thơng điệp đi kèm bằng thuật toán băm tương ứng với thuật toán băm người
gửi đã sử dụng. B so sánh hai giá trị băm nếu giống nhau thì chắc chắn rằng thơng
điệp A gửi cho B cịn ngun vẹn, đồng thời xác thực được người gửi thơng tin là
ai. Tính tồn vẹn của thơng điệp được đảm bảo vì chỉ thay đổi một bit trong
thơng điệp gửi đi thì kết quả hai giá trị băm sẽ khác nhau. Tính xác thực của người
gửi cũng được đảm bảo vì chỉ có người gửi A mới có khố riêng để mã bản băm.
Chữ ký số cũng chứng minh được tính chống chối bỏ bản gốc vì chỉ có A mới có
khố riêng dùng để ký số. Sơ đồ chữ ký được định nghĩa như sau:[5]


14

Sơ đồ chữ ký là một bộ năm (P, A, K, S, V), trong đó:
1. P là một tập hữu hạn các văn bản có thể
2. A là một tập hữu hạn các chữ ký có thể
3. K là một tập hữu hạn các khố có thể
4. S là tập các thuật toán ký
5. V là tập các thuật toán kiểm thử
6. Với mỗi k thuộc K tồn tại một thuật tốn kí sig k  S và một thuật toán xác

minh verk  V . Mỗi sig k : P  A và verk : PxA  {true, false} là những hàm sao
cho mỗi bức điện x  P và mỗi chữ kí y  A thoả mãn phương trình dưới đây
Ver(x,y) =

True nếu y = sig(x)
False nếu y # sig(x)

Với mỗi k thuộc K , hàm sig k và verk là hàm thời gian đa thức. Hàm verk sẽ
là hàm cơng khai cịn sig k là mật.
RSA cũng là thuật tốn được dùng nhiều cho mục đích ký số. Sơ đồ chữ ký
RSA được mô tả dưới đây. Ngồi ra, cịn có một số thuật tốn cơng khai khác được
dùng để ký số, ví dụ như chuẩn chữ ký số DSS.[5]
1.3.2. Sơ đồ chữ kí số RSA
1/. Quá trình chuẩn bị:
Cho n=pq, p và q là các số nguyên tố lớn. Cho P=A=Zn và định nghĩa
K={(n,p,q,a,b): n=pq , p,q là nguyên tố, ab  1(mod((n)) }.
(n)  ( p  1)(q  1) ;

b  Z * ( n ) , nguyên tố cùng (n) ;

a  Z * ( n ) , là nghịch đảo của b theo module của (n) .

Các giá trị n và b là cơng khai, cịn p,q,a được giữ bí mật.[5]
2/. Q trình kí:
Với K=(n,p,q,a,b) ta định nghĩa :
y  sig ( x)  x a mod n
k

3/. Quá trình kiểm tra chữ kí:
ver ( x, y)  true  x  yb (mod n)

k
x, y  Z
n






15

1.3.3. Sơ đồ Chuẩn chữ ký số DSS (Digital Signature Standard).
1/. Sơ đồ chữ ký số
P là số nguyên tố 512 bit, q là số nguyên tố 160 bit và là ước số của p -1. Đặt  
Zp* là mũ q lấy phần dư cho p. Đặt P=Zq*, A=ZqxZq, và định nghĩa:
K={(p,q,,a, ) :   a ( mod p)}
Các giá trị p, q,  và  là công khai, a là bí mâ ̣t
Với K=(p,q,,a, ), và số ngẫu nhiên bí mật k, 1  k  q-1, ta đinh
̣ nghiã :
sigK(x,k) = (,)
Trong đó:
 = (ak mod p) mod q
và:
 = (x+a)k-1 mod q

Với x  Zq* và ,  Zq, quá trình thẩm định được thực hiện như sau:
e1 = x*-1 mod q
e2=*-1 mod q
verK(x, , ) = true  (e1*  e2 mod p) mod q = 
2/. Các đặc điểm đặc trưng của chữ ký số DSS

Là phát triể n từ lươ ̣c đồ ElGamal để tăng tính an tồn và có thể ký được những văn
bản dài tớn 160 bit, có thể áp dụng để ký lên các thimart card, hoă ̣c các bảng băm
của tài liệu như MD4, MD5, ... Những thay đổ i đó như sau:
Thay đổ i thứ nhấ t là đổ i dấ u “-“ thành dấ u “+” trong biể u thức :
 = (x + a)k-1 mod(p-1)
Điề u kiê ̣n của biể u thức thẩ m đinh
̣ như sau:
x 

    (mod p)
Nế u gcd(x+a,p-1)=1 thì tồn tại -1 mod (p-1), vì vậy ta có thể sửa lại điều kiện trên
như sau:
1

1

 x     (mod p)

3/. Ví dụ bằng số minh hoạ việc ký số, kiểm tra chữ ký.
Ta lấ y q = 101, p = 78q+1 = 7879, 3 là phần tử cơ sở trong Z7879, và ta có:
78 mod 7879 = 170


16

Với a = 75, ta có:
 = a mod 7879 = 4567
Khi muố n ký vào văn bản x = 1234, ta cho ̣n số ngẫu nhiên k = 50, ta có:
k-1 mod 101 = 99
 = (17050 mod 7879) mod 101 = 2518 mod 101 = 94

 = (1234+75*94)99 mod 101 = 97
Và chữ ký là (94, 97) trên văn bản 1234 đươ ̣c thẩ m đinh
̣ qua các phép tin
́ h sau:
-1
-1
 = 97 mod 101 = 25
e1 = 1234 * 25 mod 101 = 45
e2 = 94 * 25 mod 101 = 27
(17045 456727 mod 7879) mod 101 = 2518 mod 101 = 94
Chữ ký là đúng.
1.3.4. Quá trình ký và kiểm tra chữ ký :
Giả sử A muốn gửi cho B thông điệp x. A thực hiện các bước sau:
1. A băm thông điệp x , thu được bản đại diện z = h(x) – có kích thước cố
định 128 bit hoặc 160 bit.
2. A ký số trên bản đại diện z B sử dụng các sơ đồ ký số RSA, Elgamal, DSS ,
bằng khóa bí mật của mình, thu
được bản ký số y = sigK (z).
3. A gửi (x, y) cho B
Khi B nhận được (x, y). B thực hiện các bước sau:
1. B kiểm tra chữ ký số để xác minh xem thông điệp mà mình nhận
được có phải được gửi từ A hay khơng bằng cách giải mã chữ ký số
y, bằng khóa công khai của A, được z.
2. B dùng một thuật toán băm – tương ứng với thuật toán băm mà A dùng –
để băm thông điệp x đi kèm, nhận được h(x).
3. B so sánh 2 giá trị băm z và h(x), nếu giống nhau thì chắc chắn rằng
thơng điệp x – mà A muốn gửi cho B – còn nguyên vẹn, bên cạnh đó
cũng xác thực được người gửi thông tin là ai.



17

1.4.

XÁC THỰC ĐIỆN TỬ

1.4.1. Khái niệm xác thực điện tử
Xác thực là một hành động nhằm thiết lập hoặc chứng thực một cái gì đó
(hoặc một người nào đó) đáng tin cậy, có nghĩa là, những lời khai báo do người đó
đưa ra hoặc về vật đó là sự thật. Xác thực một đối tượng cịn có nghĩa là cơng nhận
nguồn gốc (provenance) của đối tượng, trong khi, xác thực một người thường bao
gồm việc thẩm tra nhận dạng của họ. Việc xác thực thường phụ thuộc vào một hoặc
nhiều nhân tố xác thực (authentication factors) để minh chứng cụ thể.[5]
Trong an ninh máy tính (computer security), xác thực là một quy trình nhằm
xác minh nhận dạng số (digital identity) của phần truyền gửi thông tin (sender)
trong giao thông liên lạc chẳng hạn như một yêu cầu đăng nhập. Phần gửi cần phải
xác thực có thể là một người dùng sử dụng một máy tính, bản thân một máy tính
hoặc một chương trình ứng dụng máy tính (computer program)
Trong một mạng lưới tín nhiệm, việc "xác thực" là một cách để đảm bảo rằng
người dùng chính là người mà họ nói họ là, và người dùng hiện đang thi hành
những chức năng trong một hệ thống, trên thực tế, chính là người đã được ủy quyền
để làm những việc đó.
Để phân biệt từ "xác thực" (authentication) với một từ tương tự, "sự ủy
quyền" (hay sự cấp phép) (authorization), hai ký hiệu viết tắt thường được dùng để
thay thế - A1 tức sự xác thực (authentication) và A2 tức sự ủy quyền
(authorization).
Những ví dụ thơng thường trong việc quản lý truy cập mà trong đó việc xác
thực là một việc khơng tránh khỏi, gồm có:
 Rút tiền mặt từ một Máy rút tiền tự động (Automated Teller Machine - ATM).
 Quản lý một máy tính từ xa thơng qua Internet.



18

 Sử dụng một hệ thống giao dịch ngân hàng trên mạng Internet (Online/Internet
banking).

1.4.2. Phƣơng pháp xác thực điện tử
Những nhân tố xác thực (authentication factors) dành cho con người nói chung
được phân loại theo ba trường hợp sau:
 Những cái mà người dùng sở hữu bẩm sinh (chẳng hạn, vết lăn tay hoặc mẫu
hình võng mạc mắt, chuỗi DNA (có đủ loại định nghĩa về cái nào là cái thích
hợp và đầy đủ), mẫu hình về giọng nói (cũng có vài định nghĩa ở đây nữa), sự
xác minh chữ ký, tín hiệu sinh điện đặc hữu do cơ thể sống tạo sinh (unique bioelectric signals), hoặc những biệt danh sinh trắc (biometric) identifier)
 Những cái gì người dùng có (chẳng hạn, chứng minh thư (ID card), chứng chỉ an
ninh (security token), chứng chỉ phần mềm (software token) hoặc điện thoại di
động (cell phone))
 Những gì người dùng biết (chẳng hạn, mật khẩu, mật khẩu ngữ (pass phrase)
hoặc số định danh cá nhân (personal identification number - PIN))
Đôi khi, một tổ hợp của những phương pháp trên được sử dụng, chẳng hạn, thẻ
ngân hàng và số định danh cá nhân - trong trường hợp này, thuật ngữ được dùng là
Xác thực dùng hai nhân tố (two-factor authentication).
Trong ngữ cảnh của dữ liệu máy tính, nhiều phương pháp mật mã (cryptographic
methods) đã được xây dựng như chữ ký số (digital signature) và phương pháp xác
thực bằng thử thách-trả lời (challenge-response authentication). Đây là những ví dụ
về những cách hiện nay khơng thể giả mạo được nếu (và chỉ nếu) chìa khóa của
người khởi tạo không bị thỏa hiệp. Rằng việc người khởi tạo (hay bất cứ ai ngồi kẻ
tấn cơng biết (hoặc không biết) về một sự thỏa hiệp nào đấy là một việc chẳng có
dính dáng gì hết. Khơng ai có thể chứng minh được những phương pháp xác thực
dùng mật mã này có an tồn hay khơng, vì có thể những tiến triển trong tốn học

khơng lường trước được có thể làm cho chúng, sau này, trở nên dễ bị phá vỡ. Nếu
xảy ra, thì việc này sẽ làm cho những phương pháp xác minh được dùng trong quá
khứ trở nên không tin cậy. Cụ thể là, một bản giao kèo được ký bằng chữ điện tử có


19

thể sẽ bị nghi ngờ về tính trung thực của nó khi người ta phát hiện ra một tấn cơng
mới đối với kỹ thuật mật mã dùng trong các chữ ký.[4],[5]

Chương 2. GIỚI THIỆU VỀ THẺ ATM
2.1.

QUY ĐỊNH CHUNG VỀ THẺ TRONG HOẠT ĐỘNG NGÂN HÀNG

2.1.1. Các chuẩn ISO về thẻ ATM
Hiện nay tổ chức thẻ quốc tế đưa ra các chuẩn thẻ sau để áp dụng đối với thẻ ATM
Chuẩn ISO 7810 là một tập các chuẩn mô tả các đặc tính vật lý và kích
cỡ của thẻ[1]
Chuẩn
ISO 7811 là một chuẩn mơ tả các đặc tính để định danh thẻ cũng như
ISO 7811 các yếu tố cần thiết đối với thẻ khi tham gia vào thị trường giao dịch
thẻ. [1]
Chuẩn
Hai chuẩn này tương ứng với loại thẻ từ với kháng từ thấp và loại thẻ
ISO 7811-2 từ với kháng từ cao, sự khác nhau của hai chuẩn này nằm ở chất liệu
và ISO
vật liệu làm nên thẻ từ và tính bền của thẻ. Đối với các tính chất như vị
7811-6
trí vật lý, mật độ bits, bộ các ký tự được mã hố thì hai chuẩn này

tương tự như nhau. [2]
Chuẩn
ISO 7812 là một tập các chuẩn qui định về hệ thống đánh số trên thẻ
ISO 7812 và các thủ tục cần thiết đối với việc đăng ký để trở thành nhà phát
hành thẻ. Số PAN (Primary Account Number) là số định danh duy
nhất đối với từng thẻ[2]
Chuẩn
ISO 7813 là tập các chuẩn qui định về cấu trúc vạch từ (các tracks của
ISO 7813 thẻ) và nội dung thông tin được lưu trên vạch từ. [1]
Chuẩn
ISO 3166 là chuẩn ISO qui định mã của từng quốc gia trên thế giới.
ISO 3166 Mã quốc gia gồm 3 ký tự số từ 0 đến 9 ghép lại. Mã quốc gia của Việt
Nam có số “ 704 ”[1]
Chuẩn
Chuẩn ISO 9564-1 giới thiệu các nguyên lý và yêu cầu trong xử lý
ISO 9564 PIN trực tuyến đối với hệ thống các máy ATM và POS:
Chuẩn
ISO 7810


×