You are on page 1of 113

ĐẠI HỌC QUỐC GIA HÀ NỘI

TRƢỜNG ĐẠI HỌC CÔNG NGHỆ

Nguyễn Tuấn Hƣng

XÁC THỰC TRONG CÁC MẠNG VÔ TUYẾN

Nghành : Công nghệ thông tin


Chuyên nghành : Truyền dữ liệu và mạng máy tính
Mã số : 60 48 15

LUẬN VĂN THẠC SĨ

CÁN BỘ HƢỚNG DẪN KHOA HỌC :


PGS.TS Trần Hồng Quân

Hà Nội - 2011
1

Lời cam đoan


Tôi xin cam đoan luận văn này là công trình do tôi nghiên cứu. Trong luận văn có sử
dụng các tài liệu tham khảo đều đƣợc tôi trính dẫn đầy đủ và chính xác trong phần tài liệu
tham khảo.

Hà Nội, ngày 12 tháng 05 năm 2011


Tác giả
2

Mục lục

BẢNG KÝ HIỆU VIẾT TẮT .......................................................................................... 5

DANH MỤC BẢNG ........................................................................................................ 6

DANH MỤC HÌNH ......................................................................................................... 6

GIỚI THIỆU ................................................................................................................... 9


1. Đặt vấn đề ..................................................................................................................................................... 9

2. Vấn đề nghiên cứu...................................................................................................................................... 10

3. Phạm vi nghiên cứu.................................................................................................................................... 10

CHƢƠNG 1 : XÁC THỰC TRONG MẠNG VÔ TUYẾN .......................................... 12


1.1. An ninh và các dịch vụ an ninh .............................................................................................................. 12
1.1.1. Khái niệm về an ninh thông tin ......................................................................................................... 12
1.1.2. Các hình thức tấn công...................................................................................................................... 12
1.1.2.1. Tấn công bị động ...................................................................................................................... 13
1.1.2.2. Tấn công chủ động .................................................................................................................... 14
1.1.3 Các dịch vụ an ninh thông tin ............................................................................................................ 17

1.2. Cơ bản về mật mã học ............................................................................................................................ 18


1.2.1. Mã hóa đối xứng ............................................................................................................................... 19
1.2.1.1. Khái niệm.................................................................................................................................. 19
1.2.1.2. Mô hình hoạt động mã hóa khóa đối xứng ............................................................................... 19
1.2.2. Mã hóa bất đối xứng ......................................................................................................................... 24
1.2.2.1. Khái niệm.................................................................................................................................. 24
1.2.2.2. Hệ mã hóa Diffie-Hellman........................................................................................................ 26
1.2.2.3. Hệ mã hóa công khai RSA ........................................................................................................ 27
1.2.3. So sánh giữa mật mã khóa đối xứng và mật mã khóa công khai ...................................................... 28

1.3 Chữ ký điện tử .......................................................................................................................................... 28


1.3.1. Khái niệm .......................................................................................................................................... 28
1.3.2. Mô hình ký số RSA........................................................................................................................... 30
1.3.3. Mô hình ký số DSA ......................................................................................................................... 31
1.3.4. Thuật toán băm ................................................................................................................................. 33

1.4. Xác thực và các các mô hình xác thực ................................................................................................... 33


1.4.1. Mô hình xác thực yếu........................................................................................................................ 35
1.4.1.1. Xác thực dựa trên mật khẩu ...................................................................................................... 35
1.4.1.2. Xác thực dựa trên mã định danh cá nhân (PIN-based Authentication) ..................................... 36
1.4.2. Mô hình xác thực mạnh .................................................................................................................... 36
1.4.2.1. Giao thức xác thực dựa trên hệ mật mã .................................................................................... 37
1.4.2.2. Giao thức xác thực dựa trên kỹ thuật zero-knowledge ............................................................. 39
1.4.2.3. Giao thức xác thực dựa trên thiết bị hỗ trợ ............................................................................... 41

1.5. Kết luận chƣơng 1 ................................................................................................................................... 42


3

CHƢƠNG 2: XÁC THỰC TRONG CÁC MẠNG VÔ TUYẾN THẾ HỆ SAU ..........43
2.1. Xác thực trong mạng GSM .................................................................................................................... 43
2.1.1 Giới thiệu mạng GSM ....................................................................................................................... 43
2.1.2. Mô hình an ninh của mạng GSM ..................................................................................................... 45
2.1.3. Dịch vụ xác thực trong mạng GSM ................................................................................................. 47

2.2. Xác thực trong mạng 3G ........................................................................................................................ 49


2.2.1. Giới thiệu mạng thông tin di động 3G .............................................................................................. 49
2.2.2. Mô hình an ninh trong mạng 3G ...................................................................................................... 52
2.2.3. Dịch vụ xác thực và trao đổi khóa .................................................................................................... 53

2.3. Xác thực trong mạng cục bộ không dây WLAN .................................................................................. 57
2.3.1. Giới thiệu về mạng cục bộ không dây WLAN ................................................................................. 57
2.3.2. Mô hình an ninh mạng WLAN ......................................................................................................... 59
2.3.2.1. Các vấn đề an ninh trong mạng WLAN ................................................................................... 59
2.3.2.2. Giải pháp an ninh trong mạng WLAN ..................................................................................... 59
2.3.3. PRE-RSNA....................................................................................................................................... 61
2.3.2.1. Xác thực ................................................................................................................................... 61
2.3.2.2. Bảo mật và toàn vẹn dữ liệu ..................................................................................................... 63
2.3.4. RSNA ............................................................................................................................................... 64
2.3.4.1. Xác thực ................................................................................................................................... 64
2.3.4.2. Bảo mật và toàn vẹn dữ liệu ..................................................................................................... 67

2.4. Kết luận chƣơng 2 .................................................................................................................................. 68

CHƢƠNG 3: Hệ MẬT MÃ CÔNG KHAI ECC VÀ ỨNG DỤNG TRONG XÁC


THỰC CÁC MẠNG VÔ TUYẾN .................................................................................69
3.1. Hệ mật mã đƣờng cong Elliptic ............................................................................................................. 70
3.1.1 Cơ sở toán học ................................................................................................................................... 71
3.1.1.1. Đƣờng cong Elliptic ................................................................................................................. 71
3.1.1.2. Phép cộng hai điểm .................................................................................................................. 72
3.1.1.3. Phép nhân hệ số nguyên ........................................................................................................... 74
3.1.1.4. Đƣờng cong Elliptic trên trƣờng hữu hạn ................................................................................ 75
3.1.2. Hệ mật mã công khai ECC ............................................................................................................... 81
3.1.2.1. Các tham số của hệ mật mã hóa ECC ...................................................................................... 82
3.1.2.2. Các kiểu dữ liệu trong hệ mật mã ECC .................................................................................... 83
3.1.2.2. Thuật toán sinh khóa ................................................................................................................ 84
3.1.2.3. Thuật toán trao đổi khóa ECDH ............................................................................................... 85
3.1.2.4. Thuật toán chữ ký điện tử ECDSA........................................................................................... 85
3.1.2.5. Thuật toán xác thực chữ ký điện tử ECC ................................................................................. 86
3.1.2.6.Mô hình mã hóa tích hợp đƣờng cong Elliptic - ECIES ........................................................... 87

3.2. Ƣu điểm của hệ mật mã đƣờng cong Elliptic ....................................................................................... 89

3.3. Đề xuất xây dựng hạ tầng khóa công khai cho thiết bị di động dựa trên hệ mật mã ECC .............. 89

3.3.1. Vấn đề an ninh của hệ mật mã công khai .......................................................................................... 89


3.3.2. Hạ tầng khóa công khai .................................................................................................................... 90
3.3.3 Chứng thƣ số ..................................................................................................................................... 92
3.3.4. Xác thực di động dựa trên hạ tầng khóa công khai sử dụng hệ mật mã đƣờng cong Elliptic ........... 94
3.3.4.1. Giao thức cấp pháp chứng thƣ trên thiết bị di động ................................................................. 94
3.3.4.2. Xác thực di động dựa trên chƣng thƣ số sử dụng hệ mật mã ECC........................................... 97
3.3.5. Kết quả ............................................................................................................................................. 99
3.3.5.1. Thiết kế chƣơng trình ............................................................................................................... 99
3.3.5.2. Các bƣớc thực hiện................................................................................................................. 100
4

3.3.5.3. Đánh giá hiệu năng của hệ mật mã ECC ................................................................................ 105

3.4. Kết luận chƣơng 3 ................................................................................................................................. 106

TỔNG KẾT VÀ HƢỚNG NGHIÊN CỨU TIẾP THEO ........................................... 107


1. Hƣớng nghiên cứu tiếp theo .................................................................................................................... 107

TÀI LIỆU THAM KHẢO ........................................................................................... 108

PHỤ LỤC: THAM SỐ HỆ MẬT MÃ ECC ............................................................... 110


5

Bảng ký hiệu viết tắt

Ký hiệu Định nghĩa


3G Mạng thông tin di động thế hệ 3
AP Điểm truy cập
AuC Trung tâm chứng thực
BTS Trạm thu phát sóng
CA Cơ quan chứng thực chữ ký số
DoS Tấn công từ chối dịch vụ
DSA Thuật toán chữ ký số
EAP Giao thức xác thực có thể mở rộng
ECC Mật mã đƣờng cong Elliptic
ETSI Viện tiêu chuẩn viễn thông Châu Âu
GPRS Công nghệ chuyển mạch gói đƣợc phát triển từ mạng
GSM
GSM Mạng thông tin di động toàn cầu thế hệ 2
HLR Bộ ghi địa chỉ thƣờng trú
IEEE Viện kỹ sƣ điện và điện tử
ISO Tổ chức tiêu chuẩn quốc tế
ITU-T Liên minh viễn thông quốc tế
J2ME Công nghệ của Java để phát triển các ứng dụng Java trên
điện thoai di động hay các thiết bị cầm tay nhỏ gọn
MS Trạm di động
PIN Mã định danh cá nhân
PKI Hạ tầng khóa công khai
RADIUS Dịch vụ xác thực ngƣời sử dụng truy cập từ xa
RFID Định danh dựa trên tần số vô tuyến
6

RSA Hệ mật mã RSA


SGSN Nút hỗ trợ chuyển mạch dịch vụ
SIM Thành phần định danh thuê bao
STA Trạm di động
UMTS Mạng thông tin thế hệ 3 theo tiêu chuẩn của Châu Âu
USIM Thành phần định danh thuê bao của mạng 3G
VLR Bộ ghi địa chỉ tạm trú
WLAN Mạng nội bộ không dây

Danh mục bảng

Bảng 3.1 : So sánh độ an toàn các hệ mật mã theo chiều dài khóa ……………...67
Bảng 3.2 : Các điểm thuộc đƣờng cong E23(1,1)……………………………..…73
Bảng 3.3 : Các giá trị trƣờng F24………………………………………………...76
Bảng 3.4 : Các điểm thuộc đƣờng cong E24(g4,1)…………………….………....76
Bảng 3.5a : So sánh tốc độ ký giữa hệ mật mã ECC và RSA …………………….
Bảng 3.5b : So sánh tốc độ xác thực giữa hệ mật mã ECC và RSA ……………….

Danh mục hình

Hình 1.1 : Nghe lén thông tin…………………….……………………………...13


Hình 1.2 : Phân tích lƣu lƣợng………………….…………………………….…14
Hình 1.3 : Giả mạo ngƣời gửi…………………,……,…………………………..15
Hình 1.4 : Tấn công lặp lại……………………,…….…………………………..16
Hình 1.5 : Tấn công sửa đổi dữ liệu………….……….…………………………16
Hình 1.6 : Tấn công từ chối dịch vụ………….…………………….……………17
Hình 1.7 : Chế độ ECB……………………….…………………………….……20
Hình 1.8 : Chế độ CBC……………………..……………………………………21
Hình 1.9 : Chế độ CFB…………………….………………………………….…22
7

Hình 1.10 : Chế độ OFB ……………………………………………………….23


Hình 1.11 : CTR ………………………………………………………………..23
Hình 1.12a : Chức năng mã hóa / giải mã ……………………………………….25
Hình 1.12b : Chức năng ký ……………………………………………………...25
Hình 1.13 : Mô hình ký số RSA ……………………………………………….30
Hình 1.14a : Mô hình ký số và xác thực DSA …………………………………..32
Hình 1.14b : Mô hình truyền thông, sử dụng chữ ký điện tử DSA ……………..32
Hình 2.1 : Hạ tầng mạng GSM ………………………………………………..43
Hình 2.2 : Mô hình an ninh mạng GSM ……………………………………...46
Hình 2.3 : Mô hình xác thực trong mạng GSM ………………………………47
Hình 2.4 : Kiến trục mạng 3G UMTS ………………………………………..49
Hình 2.5 : Mô hình an ninh mạng UMTS …………………………………….51
Hình 2.6 : Giao thức xác thực 2 chiều mạng UMTS ………………………….53
Hình 2.7a : Sinh vector xác thực tại AuC ……………………………………...54
Hình 2.7b : Thuật toán sinh xác thực tại USIM ………………………………..55
Hình 2.8 : Tham chiếu giữa mô hình IEEE 802.1và mô hình OSI …………...57
Hình 2.9 : Giải pháp an ninh chuẩn 802.11i ………………………………….60
Hình 2.10a : Phƣơng thức xác thực mở - OSA …………………………………..61
Hình 2.10b : Phƣơng pháp xác thực khóa chia sẻ - SKA ………………………..62
Hình 2.11a : Mã hóa gói dữ liệu …………………………………………………63
Hình 2.11b : Giải mã và kiểm tra tính toàn vẹn dữ liệu …………………………63
Hình 2.12 : Dịch vụ xác thực của 802.1x ………………………………………65
Hình 2.13 : EAPoL ……………………………………………………………..66
Hình 3.1a : y 2  x3  5x  3 …………………………………………………….70

Hình 3.1b : y 2  x3  5x  8 ……………………………………………….……70

Hình 3.2a : Phép cộng 2 điểm ……………………………………….…………72


Hình 3.2b : Phép cộng 2 điểm, với Q ≡ - P …………………………...……….72
Hình 3.2c : Phép nhân đôi điểm ………………………………………………..73
8

Hình 3.3 : Các điểm thuộc đƣờng cong E23(1,1) trên đồ thị …………………..76
Hình 3.4 : Các điểm thuộc đƣờng cong E24(g4,1) trên đồ thị ………………….79
Hình 3.5 : Quan hệ chuyển đổi giữa các kiểu dữ liệu …………………………83
Hình 3.6 : Các thành phần hạ tầng khóa công khai …………………………...90
Hình 3.7 : Cấu trúc chứng thƣ X.509 ………………………………………….92
Hình 3.8 : Giao thức cấp đăng ký cấp phát chứng thƣ …………………………94
Hình 3.9 : Giao thức pháp hành chứng thƣ …………………………………….95
Hình 3.10a : Giao thức xác thực một bƣớc ……………………………………….97
Hình 3.10b : Giao thức xác thực hai bƣớc ………………………………………..97
Hình 3.10c : Giao thức xác thực ba bƣớc ………………………………………....98
Hình 3.11a : Chứng thƣ của CA………………………………………………….100
Hình 3.11b : Trƣờng khóa công khai của CA ……………………………………100
Hình 3.11c : Thuật toán ký của CA………………………………………………101
Hình 3.11d : Chữ ký của CA trên chứng thƣ …………………………………….101
Hình 3.11e: Form điền thông tin cấp yêu cầu phát chứng thƣ ………………….102
Hình 3.11f : Chứng thƣ đƣợc phát hành bởi CA ………………………………..102
Hình 3.11g : Thuật toán ký số của CA trên chứng thƣ phát hành………………..103
Hình 3.11h : Chữ ký của CA trên chứng thƣ phát hành …………………………103
9

Giới thiệu
1. Đặt vấn đề
Kể từ năm 1895, khi nhà khoa học Guglielmo Marconi đã thành công trong
việc truyền 1 thông điệp điện báo đầu tiên từ khoảng cách 18 dặm mà không cần
dùng một loại dây truyền nào. Ngày nay, các thiết bị vô tuyến đã xâm nhập vào hầu
hết các khía cạnh cuộc sống của con ngƣời, ở đâu ta cũng có thể dễ dàng bắt gặp
những thiết bị vô tuyến: Từ những vật dụng đơn giản nhƣ đài radio, vô tuyến truyền
hình, những chiếc điện thoại di động, hoặc mạng Wifi gia đình. Các thiết bị vô
tuyến nói chung và thiết bị di động nói riêng đã góp phần rất lớn trong cuộc cách
mạng hiện đại hóa của con ngƣời. Thật khó có thể hình dung cuộc sống hiện đại nếu
không có những thiết bị vô tuyến đó.
Bên cạnh những mặt tốt, truyền thông vô tuyến cũng có nhiều mặt hạn chế. Do
tính tiện lợi của truyền thông vô tuyến, do vậy cuộc sống của con ngƣời ngày càng
lệ thuộc vào nó. Mặt khác, do bản chất của truyền thông vô tuyến là truyền công
khai bằng các tín hiệu vô tuyến trong không khí, do vậy mạng vô tuyến tiềm ẩn rất
nhiều nguy cơ an ninh. Nếu kênh truyền không đƣợc bảo vệ tốt thì ngƣời sử dụng
cuối rất có thể sẽ bị tổn thƣơng nếu bị tấn công.
Ví dụ, ngày nay có nhiều ngƣời sử dụng điện thoại di đông để liên lạc với
nhau, các thông tin trao đổi cũng rất đa dạng, kể cả nhƣng thông tin bí mật, nếu bị
tấn công, những thông tin bí mật đó có thể bị lộ và sẽ gây ra những ảnh hƣởng rất
lớn tới ngƣời sử dụng. Ta có thể nếu ra một ví dụ khác, trong thời gian gần đây, có
rất nhiều tin nhắn điện thoại giả mạo lừa đảo đƣợc gửi tới nhiều ngƣời dùng điện
thoại di động, gây ra nhiều bức xúc cho ngƣời sử dụng và là vấn đề nhức nhối của
xã hội. Giải sử những thông tin giả mạo liên quan tới những vấn đề giao dịch, hay
kinh doanh thì sẽ gây ra thiệt hại rất lớn cho ngƣời sử dụng.
Do sự phổ biến của những chiếc điện thoại di động, do vậy có rất nhiều dịch
vụ giá trị gia tăng đƣợc phát triển trên truyền thông di động. Trong đó có nhiều dịch
vụ thƣơng mại điện tử nhƣ thanh toán di động (mobile payment), ngân hàng điện tử.
Tuy nhiên, nếu hạ tầng di động không đảm bảo đƣợc tính bảo mật thì các dịch vụ
trên rất khó để thuyết phục ngƣời sử dụng tham gia.
Hiện nay, hạ tầng an ninh truyền thông đã đƣợc xây dựng tƣơng đối hoàn
chỉnh, ví dụ nhƣ hạ tầng khóa công khai (PKI – Public key Infrastructure). Tuy
nhiên các thiết kế ban đầu của các hạ tầng đó đƣợc phục vụ việc bảo mật và xác
thực chạy trên các máy vi tính. Với nhƣ thiết bị di động, hoặc các thiết bị nhúng có
10

năng lực xử lý và khả năng lƣu trữ hạn chế thì phƣơng pháp bảo mật cũ không có
hiệu quả. Mặc dù trong vài năm trở lại đây, có sự bùng nổ của các thiết bị di động
thông minh, có năng lực xử lý ngang với máy vi tính, tuy nhiên đó vẫn chỉ là số ít.
Phần còn lại của các thiết bị di động vẫn là các thiết bị có năng lực xử lý kém,
không tƣơng thích với việc triển khai các thuật toán bảo mật.
Để giải quyết các vấn đề này, trong những năm gần đây, có nhiều công trình
đã nghiên cứu các phƣơng pháp để bảo mật trong truyền thông vô tuyến. Trong luận
văn của mình, học viên sẽ nghiên cứu những vấn đề bảo mật trong truyền thông vô
tuyến.

2. Vấn đề nghiên cứu


Để nghiên cứu vấn đề bảo mật trong truyền thông mạng vô tuyến, học viên
nghiên cứu theo các vấn đề sau:
 Vấn đề an ninh và các mô hinh xác thực trong truyền thông mạng.
 Khảo cứu các kỹ thuật an ninh đang đƣợc áp dụng trong các mạng truyền
thông vô tuyến phổ biến hiện nay.
 Nghiên cứu phƣơng pháp xác thực hiệu quả đƣợc áp dụng trên các thiết
bị vô tuyến nói chung và thiết bị di động nói riêng.

3. Phạm vi nghiên cứu


Khái niệm truyền thông mạng là một khái niệm rộng, do vậy trong phạm vi
của một luân văn thạc sỹ. Học viên chỉ xét các mạng vô tuyến đặc trƣng và phổ biến
nhất, đó là mạng di động và mạng không dây WLAN. Trong đó sẽ tập trung chủ yếu
vào mạng di động.
Trong nghiên cứu về an ninh truyền thông, học viên sẽ giới thiệu các khái
niệm chung về an ninh truyền thông, các phƣơng pháp tấn công. Tiếp đó học viên
nêu ra các khái niệm cơ bản về mật mã học, các hệ mật mã đƣợc sử dụng phổ biến
hiện nay, và các dịch vụ an ninh đƣợc xây dựng trên các hệ mật mã đó. Phần cuối,
học viên sẽ nghiên cứu các mô hình xác thực trong truyền thông dựa trên cơ sở các
dịch vụ an ninh đã và đang đƣợc ứng dụng hiện nay đang đƣợc ứng dụng phổ biến.
Phần tiếp theo, học viên sẽ khảo cứu các kỹ thuật xác thực trong các mạng
truyền thông phổ biến nhất hiện nay, đó là mạng di động GSM, mạng 3G và mạng
WLAN. Đối với từng mạng, học viên đi vào phân tích và nếu ra những nguy cơ an
ninh trong hoạt động của các mạng đó.
11

Phần cuối cùng, học viên đi vào nghiên cứu hệ mật mã công khai đƣờng cong
Elliptic (ECC - Elliptic Curve Cryptography). Học viên sẽ đi vào khảo cứu và giới
thiệu các thuật toán đƣợc ứng dụng trong triển khai các dịch vụ an ninh trên cơ sở
của hệ mật mã ECC. Dựa vào các kết quả nghiên cứu trƣớc đó về hệ mật mã ECC,
học viên sẽ đƣa ra những so sánh và đánh giá để chỉ ra sự tƣơng thích của hệ mật
mã ECC khi chạy trên các thiết bị có năng lực xử lý yếu. Cuối cùng, luận văn đề
xuất ứng dụng hạ tầng khóa công khai sử dụng mật mã ECC ứng dụng trên điện
thoại di động. Để minh họa, luận văn đã thiết kế giao thức cấp phát chứng thƣ an
toàn trên điện thoại di động. Trong tƣơng lại, học viên sẽ có thể tiếp tục nghiên cứu
và hoàn thiện các giải pháp triển khai hạ tầng khóa công khai trên thiết bị di động.
12

Chƣơng 1 : Xác thực trong mạng vô tuyến


1.1. An ninh và các dịch vụ an ninh
1.1.1. Khái niệm về an ninh thông tin
An ninh có thể đƣợc hiểu là các biện pháp nhằm bảo vệ an toàn cho các dữ
liệu và các tài nguyên khỏi sự xâm hại, sự giả danh từ các tác nhân trái phép.
An ninh thông tin là một thành phần quan trọng trong bất cứ một dịch vụ, một
sản phẩm, hay hệ thống thông tin nào. An ninh trong hệ thống truyền thông thông
tin lại càng quan trọng, bởi tính chất của truyền thông thông tin là truyền sóng dƣới
dạng công khai mà bất cứ ai cũng có thể tiếp cận đƣợc, và do sự phổ biến của các
dịch vụ truyền thông thông tin ngày nay.
Comment [u1]: Spafford, G.,
Nói về an toàn thông tin của 1 hệ thống, giáo sƣ G. Spafford đã từng nói [22]: http://homes.cerias.purdue.edu/~spaf/quotes.html

“Một hệ thống chỉ an toàn thực sự khi nó đƣợc ngắt hoàn toàn, đƣợc đóng trong 1
khối bê tông và đƣợc niêm phong trong 1 ngôi nhà bọc chì có lực lƣợng vũ trang
bảo vệ - Thậm chí khi đó tôi vẫn có sự nghi ngờ ”. Theo định nghĩa của ISO/IEC
2382-8 : “An ninh là sự bảo vệ dữ liệu và tài nguyên bằng các hành động thích hợp
khỏi những hành vi gây hại cố tình hay vô ý”
Một trong những sai lầm phổ biến khi thiết kế hệ thống đó là việc coi yếu tố
an ninh là thành phần có thể đƣợc bổ xung sau, chính sai lầm này dẫn tới những lỗ
hổng an ninh phát sinh ở giai đoạn sau sẽ rất khó phát hiện, và sửa chữa. Ví dụ,
trong các giao thức 802.11 của mạng WLAN, thiết kế của lớp trung gian MAC
(Medium Access Control) có thể dẫn tới hệ thống bị tấn công từ chối dịch vụ
(Denial of services - DoS). Các giao thức 802.11 sau này (802.11i) đã đƣợc cải tiến
để chống lại các cuộc tấn công dịch vụ, nhƣng vẫn chƣa loại bỏ đƣợc kiểu tấn công
ngƣời ở giữa (Man in the middle). Do vậy việc xem xét đánh giá tổng thể các khía
cạnh sử dụng, các tình huống sử dụng trong thực tế để phát hiện ra những nguy cơ
an ninh là một điều rất quan trọng.

1.1.2. Các hình thức tấn công


Để nắm rõ đƣợc các cơ chế an ninh, ta cần quan tâm tới các hình thức tấn-
công. Hiện nay, có rất nhiều hình thức tấn công vào hệ thống, nhƣng ta có thể phân
thành 2 nhóm [24]: Tấn công bị động và tấn công chủ động. Tấn công bị động là Comment [u2]: William Stalling (2005)
“Cryptography and Network Security”, pp 13-15
hành động thu thập thông tin, nghe lén thông tin, phân tích thông tin trên kênh
truyền mà không phƣơng hại tới tài nguyên hay dữ liệu của hệ thống. Tấn công chủ
13

động là hình thức tấn công mà kẻ tấn công tác động tới dữ liệu và tài nguyên của hệ
thống, làm ảnh hƣởng tới hoạt động của hệ thống.
1.1.2.1. Tấn công bị động
Có 2 hình thức tấn công bị động đó là: Nghe lén và theo dõi lƣu lƣợng. Mục
tiêu của kẻ tấn công là thu thập thông tin trên đƣờng truyền để khôi phục thông điệp
truyền tin và phân tích đƣợc lƣu lƣợng truyền trên mạng.

Hình 1.1 : Nghe lén thông tin

Việc tấn công nghe lén và khôi phục lại dữ liệu truyền là một dễ hiểu, bởi
trong các thông tin truyền nhƣ các cuộc gọi, email, tin nhắn, có rất nhiều thông tin
nhạy cảm mà ta không muốn bị lộ. Nếu dữ liệu truyền của ta không đƣợc mã hóa,
thì việc lộ thông tin khi bị nghe lén là điều chắc chắn.
Tấn công phân tích lƣu lƣợng là một kiểu tấn công tinh vi, giả sử thông tin
trao đổi của chúng ta đã đƣợc mã hóa bằng một hệ mật mã nào đó, do vậy kẻ tấn
công không thể nghe lén đƣợc nội dung thông tin trao đổi. Nhƣng kẻ tấn công có
thể theo dõi đƣợc các mẫu thông điệp đƣợc truyền trên đƣờng truyền, từ 1 nguồn tới
1 đích xác định, kết hợp với các thông tin khác, kẻ tấn công có thể đoán đƣợc một
phần thông điệp truyền.
14

Hình 1.2 : Phân tích lƣu lƣợng

Phƣơng pháp tấn công bị động rất khó phát hiện, bởi không có bất cứ 1 sự
thay đổi hay can thiệp nào trên dữ liệu truyền, do vậy cả ngƣời gửi và ngƣời nhận
đều không thể nhận biết đƣợc thông tin truyền của mình có bị nghe lén, hay bị theo
dõi hay không. Để phòng chống việc bị tấn công thụ động, các thông tin truyền phải
đƣợc mã hóa trƣớc khi truyền để tránh bị tấng công nghe lén, đồng thời ta có thể áp
dụng một số cơ chế đặc biệt để có thể chống đƣợc tấn công phân tích lƣu lƣợng.
1.1.2.2. Tấn công chủ động
Tấn công chủ động là các hình thức tấn công nhằm sửa đổi thông tin truyền,
hoặc tạo ra các thông tin truyền giả mạo. Tấn công chủ động có thể đƣợc chia làm 4
nhóm sau: Tấn công giả mạo, tấn công lặp lại, tấn công sửa đổi thông tin, và tấn
công từ chối dịch vụ.
Tấn công giả mạo : Là hình thức tấn công mà kẻ tấn công sẽ giả mạo mình là
một ngƣời khác để thực hiện hành vi tấn công. Ví dụ, trong thủ tục xác thực ngƣời
dùng của 1 hệ thống, nếu kẻ tấn công có mật khẩu của ngƣời dùng thì kẻ đó có thể
vƣợt qua hệ thông xác thực nhƣ 1 ngƣời dùng hợp lệ.
Tấn công lặp lại : Kẻ tấn công sau khi đã thu thập đƣợc 1 đơn vị dữ liệu trên
kênh truyền, nếu đơn vị dữ liệu đó đƣợc sử dụng trong thủ tục xác thực, kẻ tấn công
có thể gửi lại đơn vị dữ liệu đó để có thể vƣợt qua thủ tục xác thực.
15

Tấn công sửa đổi dữ liệu : Kẻ tấn công có thể can thiệp vào dữ liệu trên kênh
truyền và sửa đổi dữ liệu đó nhằm phục vụ mục đích của mình.
Tấn công từ chối dịch vụ (Denial of Service - Dos): Là hình thức làm suy
giảm khả năng phục vụ của hệ thống, bằng cách gửi một loạt các yêu cầu phục vụ
giả mạo tới hệ thống với số lƣợng cực lớn, làm cho hệ thống bị quá tải, dẫn tới
những yêu cầu phục vụ chính đáng không thể đƣợc xử lý.

Hình 1.3 : Giả mạo ngƣời gửi


16

Hình 1.4 : Tấn công lặp lại

Hình 1.5 : Tấn công sửa đổi dữ liệu


17

Hình 1.6 : Tấn công từ chối dịch vụ

Ta có thể thấy hình thức tấn công chủ động trái ngƣợc với các tấn công bị-
động. Trong khi các hình thức tấn công bị động rất khó phát hiện, nhƣng việc áp
dụng các biện pháp phòng chống lại có thể dễ dàng áp dụng, ngƣợc lại các hình
thức tấn công chủ động lại dễ dàng có thể phát hiện, nhƣng lại khó phòng chống bởi
hiện nay có rất nhiều các loại hình dịch vụ khác nhau, các loại thiết bị khác nhau
cùng hoạt động, do vậy càng có nhiều lỗ hổng an ninh hơn, trong đó có nhiều lỗ
hổng an ninh đã đƣợc phát hiện và nhiều lỗ hổng an ninh tiềm ẩn, chƣa đƣợc phát
hiện. Đây là mảnh đất màu mỡ cho các hacker có thể hoạt động.

1.1.3 Các dịch vụ an ninh thông tin


Dựa vào các hình thức tấn công, chuẩn kiến trúc an ninh cho mô hình OSI
X.800 [12] đƣa ra 5 dịch vụ an ninh thông tin. Đó là các dịch vụ : Comment [u3]: ITU-T Recommendation X.800,
“Security architecture for open system
interconnection (OSI)”, pp 8-10
Bảo mật: Dịch vụ bảo mật dữ liệu đảm bảo dữ liệu không thể bị đọc bởi những
ngƣời không đƣợc phép. Theo đó dữ liệu sẽ đƣợc mã hóa, chỉ có những ngƣời đƣợc
phép có khóa hợp lệ mới có thể đọc đƣợc nội dung dữ liệu. Mặt khác, khi dữ liệu
truyền đƣợc mã hóa địa chỉ nguồn và địa chỉ đích, thì có tác dụng bảo vệ kênh
truyền khỏi cuộc tấn công phân tích lƣu lƣợng. Dịch vụ bảo mật thông tin đƣợc sử
dụng để bảo mật dữ liệu truyền khỏi tấn công thụ động.
Dịch vụ xác thực: Dịch vụ xác thực đảm bảo đƣợc danh tính của các thực thể
truyền thông, và dữ liệu truyền thông đƣợc công bố là xác thực và không bị sửa đổi
bởi bên thứ 3.
18

Dịch vụ điều khiển truy cập: Dịch vụ điều khiển truy cấp là khả năng hạn chế
và điều khiển truy cập vào hệ thống và ứng dụng thông qua kênh truyền. Để có thể
truy cập hệ thống, thực thể truy cập trƣớc tiên phải đƣợc định danh, và xác thực.
Sau khi thực thể đƣợc xác thực thành công, hệ thống sẽ cấp quyền truy cập tới
những thành phần đƣợc phép truy cập cho thực thể đó.
Toàn vẹn dữ liệu: Dịch vụ toàn vẹn dữ liệu ngăn chặn những hành động sửa
đổi dữ liệu trái phép. Theo đó, chỉ những thực thể hợp lệ mới đƣợc phép sửa đổi dữ
liệu. Các thao tác sửa đổi dữ liệu bao gồm: Thay đổi trạng thái dữ liệu, tạo dữ liệu
giả, xóa dữ liệu, và gửi lại dữ liệu đã gửi trƣớc đó.
Chống chối bỏ: Dịch vụ chống chối bỏ đảm bảo cho thực thể nhận có thể
chứng minh đƣợc dữ liệu nhận đƣợc chắc chắn là của bên gửi. Tƣơng tự, thực thể
gửi cũng có thể chứng minh đƣợc dữ liệu gửi đi chắc chắn là của mình.

1.2. Cơ bản về mật mã học


Các dịch vụ an ninh chỉ có thể đƣợc xây dựng trên nền tảng hệ thống mật mã
học. Với mỗi dịch vụ, mỗi mục đích khác nhau, có những phƣơng pháp mã hóa
khác nhau đƣợc sử dụng. Trƣớc khi đi chi tiết các phƣơng pháp trong an ninh mạng
vô tuyến, ta cần có những khái niệm cơ bản về mật mã học và các hệ mật mã đƣợc
sử dụng phổ biến hiện nay.
Mã hóa (Encryption) là quá trình biến đổi một thông điệp theo 1 phƣơng thức
nào đó nhằm giữ bí mật nội dung của thông điệp đó, theo đó các ký tự dễ hiểu của
bản gốc thông điệp ( bản rõ - plain text) bị thay thế bởi các ký tự có thứ tự hỗn độn
tạo ra một thông điệp có hình thức khó hiểu (bản mã - ciphertext). Quá trình ngƣợc
lại với quá trình mã hóa đƣợc gọi là quá trình giải mã (Decrytion). Một hệ mật mã
(cryptography) bao gồm 1 phƣơng pháp mã hóa và 1 phƣơng pháp giải mã với một
hay nhiều khóa xác định để thực hiện thao tác mã hóa và giải mã. Thông thƣờng, để
bảo đảm an toàn cho 1 thông điệp truyền, ta thƣờng kết hợp nhiều phƣơng pháp mã
hóa, ví dụ một lớp mã hóa để đảm báo thông điệp không bị đọc trộm bởi các thực
thể không đƣợc phép, và có thể dùng thêm một lớp mã hóa để “tạo chữ ký” cho
thông điệp truyền. Khi thông điệp đã đƣợc ký, nó có tác dụng đảm bảo tính toàn vẹn
của thông điệp, xác thực và chống chối bỏ. Ngoài ra, trong các thông điệp truyền,
có thể áp dụng kỹ thuật đóng dấu thời gian để chống tấn công lặp lại.
Các hệ mã hóa có thể đƣợc chia ra làm 2 loại chính: Mã hóa đối xứng và mã
hóa bất đối xứng. Ta sẽ cùng xét lần lƣợt 2 loại mã hóa này.
19

1.2.1. Mã hóa đối xứng


1.2.1.1. Khái niệm
Hệ mật mã đối xứng là hệ mật mã sử dụng thuật toán mã hóa khóa đối xứng,
tức là quá trình mã hóa và quá trình giải mã đều sử dụng chung một khóa. Để sử
dụng hệ mật mã đối xứng, ngƣời gửi và ngƣời nhận trƣớc đó phải trao đổi một khóa
dùng chung, sau đó mới có thể tiến đến mã hóa và giải mã thông điệp gửi đi và nhận
lại.
Quá trình mã hóa và giải mã có thể đƣợc ký hiệu một cách hình thức nhƣ sau:
Gọi P (Plaintext) và C (Ciphertext) lần lƣợt là bản rõ và bản mã của một thông điệp.
K là tập các khóa. Ek và Dk lần lƣợt là 2 thủ tục mã hóa và giải mã với khóa k, ký
hiệu là:
Ek : P → Q (1)
Dk : Q → P

Ek và Dk thỏa mãn tính chất sau:

Dk( Ek(x) ) = x với x  P (2)


Ek( Dk(y) ) = y với y C

Việc tính toán Ek(x) và Dk(y) có thể dễ dàng thực hiện đƣợc. Nhƣng ngƣợc lại
việc tìm ra x khi chỉ biết bản mã Ek(x) = C, hoặc tìm ra khóa k là một việc rất khó.
Việc phá mã có thể đƣa về 2 bài toán sau:
 Tìm bản rõ x khi chỉ biết Ek(x)
 Tìm khóa k nếu biết k thuộc tập khóa K và có các bản mã Ek(x)
Trong hệ mật mã khóa đối xứng, độ lớn của không gian khóa là cực kỳ quan
trọng. Trong thực tế, độ an toàn của hệ mật mã phụ thuộc rất lớn vào độ lớn của
không gian khóa, không gian khóa càng lớn thì địch thủ càng khó để thực hiện tấn
công vét cạn để tìm ra khóa đúng. Nếu không gian khóa có độ lớn là 2 128 khóa, với
siêu máy tính hiện đại nhất hiện nay là Thiên hà 1A của Trung Quốc có số phép tính
trong 1 giây là 2.5x1015 phép tính. Để tìm ra khóa, siêu máy tính phải thực hiện
trong khoảng 1015 năm. Đây là một điều không thể.
1.2.1.2. Mô hình hoạt động mã hóa khóa đối xứng
Dựa vào mô hình hoạt động, các hệ mã hóa khóa đối xứng có thể đƣợc chia
làm 2 loại: Mã hóa khối (block cipher scheme) và mã hóa theo dòng (stream
20

cipher). Mã hóa khối hoạt động bằng cách chia nhỏ thông điệp gốc thành nhiều khối
có cùng độ dài xác định b (b > 0), sau đó mã hóa tất cả các khối theo đúng thƣ tự và
truyền đi. Mã hóa theo dòng là một trƣờng hợp đặc biệt của mã hóa khối trong
trƣờng hợp số khối bằng 1, chiều dài khối đúng bằng chiều dài thông điệp.
Mô hình khối đối xứng có 5 chế độ tƣơng ứng với 5 mô hình mã hóa khối, đó
là các chế độ : ECB (Electronic Codebook), CBC (Cipher Block Chaining), CFB
(Cipher Feedback), Output Feedback (OFB) và Counter (CTR) [26] Comment [u4]: William Stalling (2005)
“Cryptography and Network Security”, pp 181-189

a. ECB – Electronic Codebook


Chế độ ECB là chế độ đơn giản nhất trong các mô hình mã hóa khối. Chế độ
ECB sẽ chia bản rõ (plaintext) thành các khối có độ dài bằng nhau và mã hóa các
khối đó độc lập với nhau với cùng 1 khóa k. Do các khối đƣợc mã hóa độc lập với
nhau nên địch thủ có thể dễ dàng nhận ra đƣợc các khuôn mẫu của bản rõ dựa vào
sự giống nhau các khối trùng nhau (Hình 1.7).

Hình 1.7 : Chế độ ECB


21

b. CBC – Cipher Bock Chaining


Chế độ CBC chia nhỏ bản rõ (plaintext) thành các khối có độ dài bằng nhau.
Nhƣng khác với chế độ EBC, các khối dữ liệu sau sẽ đƣợc thực hiện phép XOR với
bản mã của khối dữ liệu trƣớc. Riêng khối dữ liệu đầu tiên sẽ đƣợc XOR với 1
vector khởi tạo (Initialize Vector - IV). Chế độ CBC đã khắc phục đƣợc nhƣợc điểm
của ECB, do có khối sau đƣợc mã hóa dựa trên bản mã của khối trƣớc đó nên địch
thủ không thể nhận biết đƣợc các mẫu khối bản rõ giống nhau (Hình 1.8).

Hình 1.8 : Chế độ CBC

c. CFB (Cipher Feedback)


Chế độ CFB có cơ chế hoạt động tƣơng tự với chế độ CBC, nhƣng thay vì
khối sau đƣợc XOR với bản mã của khối trƣớc, CFB sử dụng thanh thêm 1 thanh
ghi dịch chuyển và 1 hàm băm để băm khối mã trƣớc đó rồi mới XOR với bản rõ
(Hình 1.9).
22

Hình 1.9 : CFB


d. OFB (Output Feedback)
Chế độ OFB có cơ chế hoạt động tƣơng tự với chế độ CFB, nhƣng thay vì bản
mã của khối trƣớc đƣợc băm, OFB sử dụng mã băm của khối trƣớc để băm tiếp ở
khối sau trƣớc khi XOR với bản rõ của khối sau (Hình 1.10).
e. CTR (Counter)
Chế độ CTR sử dụng một biến đếm tăng dần theo số lƣợng khối, ở mỗi khối
biến đếm của khối đó đƣợc mã hóa bởi khóa K, bản mã của phép mã hóa này sẽ
đƣợc XOR với bản rõ của khối (Hình 1.11).
23

Hình 1.10 : OFB

Hình 1.11 : CTR


24

1.2.2. Mã hóa bất đối xứng


1.2.2.1. Khái niệm
Mật mã bất đối xứng - hay còn gọi là mật mã công khai - có 2 loại khóa trong
không gian khóa là (PR, PU), trong đó PR là khóa bí mật, PU là khóa công khai. 2
thủ tục mã hóa E và giải mã D với lần lƣợt khóa PU và khóa PR đƣợc ký hiệu nhƣ
sau:
EPU : P → C (3)
DPR : C → P
Thỏa mãn :

DPR( EPU(x) ) = x với x  P (4)


EPU( DPR(y) ) = y với y C

Hàm mã hóa EPU(x) và hàm giải mã DPR(y) là các hàm dễ dàng tính đƣợc.
Việc phá mật mã công khai đƣợc đƣa về các bài toán sau:
 Tìm bản rõ x nếu biết bản mã hóa EPU(x) và khóa công khai PU
 Tìm khóa công bí mật PR khi biết khóa công khai PU
Không giống nhƣ hệ mã hóa khóa đối xứng - sử dụng 1 khóa chia sẻ để mã
hóa và giải mã thông điệp trao đổi - mã hóa khóa công khai sử dụng 1 cặp khóa gọi
là khóa bí mật và khóa công khai: Khóa công khai đƣợc sử dụng để mã hóa dữ liệu,
khóa bí mật sử dụng để giải mã. Mã hóa khóa công khai đã giải quyết đƣợc những
điểm yếu của mã hóa khóa đối xứng, đó là mã hóa khóa đối xứng trƣớc khi sử dụng
phải có sự trao đổi khóa giữa các thực thể truyền, nếu khóa chung đƣợc chia sẻ qua
môi trƣờng công cộng (Nhƣ Internet hay điện thoại …) thì rất dễ bị nghe lén, khi bị
lộ khóa thì việc mã hóa không còn tác dụng nữa. Mặt khác mã hóa khóa đối xứng
không có chức năng “ký”, do vậy các thực thể tham gia truyền thông không thể tự
bảo vệ mình nếu đối tác có hành động chống lại ( Hành động chối bỏ dữ liệu đã
truyền, hoặc giả mạo ). Mã hóa khóa công khai sử dụng 2 khóa để hoạt động, mỗi
bên sẽ tự tạo cho mình 2 khóa có liên hệ về mặt toán học, khóa công khai sẽ đƣợc
công bố công khai, khóa bí mật sẽ đƣợc giữ kín.
Khi bên A cần truyền thông tin bí mật cho bên B, bên A sẽ sử dụng khóa công
khai của bên B để mã hóa. Do chỉ B mới có khóa bí mật trong cặp khóa, nên chỉ duy
nhất B mới có thể giải mã đƣợc thông tin bên A gửi, đó gọi là chức năng mã hóa
(Hình 1.12a). Khi bên B muốn xác nhận 1 thông điệp gửi cho bên A là chính xác do
25

B gửi, B sẽ dùng khóa bí mật của mình để mã hóa thông điệp truyền và gửi đính
kèm thông điệp truyền. Bên A nhận đƣợc sẽ dùng khóa công khai của B để giải mã
bản mã bên B gửi đính kèm, nếu kết quả giải mã trùng với thông tin bên B gửi thì
bên A có thể chắc chắc thông tin đó chính xác là do bên B gửi, đây là chức năng
“ký” của mã hóa khóa công khai (Hình 1.12b).
Comment [u5]: William Stalling (2005)
Theo William Stalling, mã hóa khóa công khai có 3 chức năng chính [27]: “Cryptography and Network Security”, pp 266-267

 Mã hóa và giải mã
 Chứ ký điện tử
 Trao đổi khóa

Hình 1.12a : Chức năng mã hóa / giải mã

Hình 1.12b: Chức năng ký


26

Cơ sở lý thuyết của mã hóa khóa công khai là dựa trên hàm 1 chiều trong các
phép tính toán học, theo đó phép tính theo chiều xuôi rất dễ, nhƣng phép tính theo
chiều ngƣợc lại là rất khó, Ví dụ nhƣ trong phép nhân 2 số nguyên tố rất lớn, chiều
xuôi là phép nhân đƣợc tính toán rất đơn giản, nhƣng chiều ngƣợc, tức là phần tích
1 số nguyên rất lớn thành tích của các thừa số nguyên tố lại là bài toán rất khó, các
phƣơng tiện máy tính hiện đại nhất và các phƣơng pháp phá mã, thám mã đến nay
vẫn chƣa thể giải quyết đƣợc.

1.2.2.2. Hệ mã hóa Diffie-Hellman


Hệ mã hóa Diffie-Hellman có cơ sở toán học từ bài toán 1 chiều của logarit rời
rạc. Bài toán lograrit rời rạc đƣợc phát biểu nhƣ sau: Cho số nguyên tố p, số y và g,
tìm số nguyên x thỏa mãn:
y  g x mod p (5)

Việc tính ra y khi biết g, x và p là rất dễ dàng, nhƣng việc tìm ra x từ y, g, và p


là rất khó.
Hệ mã hóa Diffie-Hellman đƣợc công bố lần đầu tiên bởi 2 nhà toán học
Whitfield Diffie và Martin Hellman năm 1976. Thuật toán Diffie-Hellman đƣợc
thiết kế nhằm phục vụ việc trao đổi khóa giữa 2 thực thể truyền thông qua môi
trƣờng không an toàn. Theo đó 2 thực thể truyền thông không cần phải gặp trực tiếp
nhƣng vẫn có thể thực hiện trao đổi khóa một cách an toàn và bí mật.
2 thực thể truyền thông Alice và Bob khi thực hiện trao đổi khóa Diffie-
Hellman sẽ thực hiện các bƣớc sau:
 Alice chọn 1 số nguyên tố p và một số nguyên cơ sở g. Alice chọn số
nguyên xa, sau đó tính đƣợc ya  g xa mod p . Sau đó Alice công bố khóa
công khai (ya, p, g) và giữ lại khóa bí mật (xa,p,g), khóa công khai sẽ
đƣợc gửi cho Bob.
 Bob chọn ra một số nguyên bí mật xb, sau đó tính đƣợc yb  g xb mod p ,
sau đó gửi lại cho Alice số yb.
 Alice tính toán ra đƣợc khóa chia chung Ka  ybx mod p , Bob cũng sẽ
a

tính đƣợc khóa chia chung Kb  yax mod p . Khóa Ka và Kb là 2 khóa chia
b

sẻ giữa Alice và Bob, đƣợc tính toán độc lập với nhau và bằng nhau.
Thật vậy
27

  mod p   g xa mod p  mod p  Kb


xa xb
Ka  ybxa mod p  g xb mod p

1.2.2.3. Hệ mã hóa công khai RSA


Hệ mã hóa RSA có cơ sở toán học từ bài toán hàm 1 chiều phân tích thừa số
của một số nguyên rất lớn thành tích các thừa số nguyên tố.Cụ thể hệ mã hóa RSA
hoạt động nhƣ sau:
 Chọn ra 2 số nguyên tố p, q có giá trị rất lớn (Cỡ 256 bit trở lên)
 Tính ra tích n = p.q
 Tính ra hàm Eule (Ơle) của tích n:  (n)  ( p 1)(q 1)

 Chọn ra số nguyên e nguyên tố cùng nhau với  (n) , tức gcd(e,  (n) ) = 1.
(gcd – là hàm tính ƣớc chung lớn nhất của 2 số nguyên)
 Tìm ra số nguyên d thỏa mãn e.d  1(mod  (n))

 Hủy p,q, và  (n)

 Công bố khóa công khai là PU = (n,e), Giữ lại khóa bí mật là PR = (n,d)
 Mã hóa thông điệp m (m là dạng số hóa): c  me mod n
 Giải mã bản mã c : m  cd mod n

Ví dụ:
Alice chọn ra 2 số nguyên tố p=7 và q= 13, từ đó tính ra n = 7x13=91. Suy ra
hàm Eule  (n)  (7 1)  (13 1)  72 . Áp dụng thuật toán Euclid mở rộng ta tính ra
đƣợc e.d  5  29  1(mod 72)

Alice hủy số p=7,q=13,  (n) =72. Công bố khóa công khai PU=(91,5), và lƣu
lại khóa bí mật PR=(91,29)
Giả sử Bob muốn mã hóa thông điệp m=7, Bob sẽ sử dụng khóa công khai của
Alice để mã hóa:

c  me mod (n)  75 mod91  63


Sau khi Bob gửi cho Alice bản mã c=63, Alice sẽ dùng khóa bí mật của mình
để giải mã:

m  cd mod (n)  6329 mod91  7


28

1.2.3. So sánh giữa mật mã khóa đối xứng và mật mã khóa công khai
Cả 2 hệ mật mã khóa đối xứng và mật mã khóa công khai đều có những ƣu
điểm và nhƣợc điểm riêng. Mật mã khóa đối xứng có những ƣu điểm so với mã hóa
khóa công khai :
 Tốc độ mã hóa nhanh và không đòi hỏi năng lực tính toán lớn
 Với cùng 1 độ an toàn, khóa của mật mã khóa đối xứng nhỏ hơn so với
khóa của mật mã khóa công khai
Ngƣợc lại, mật mã khóa công khai cũng có những ƣu điểm so với mã hóa khóa
đối xứng:
 Mật mã khóa đối xứng yêu cầu 2 bên phải giữ bí mật khóa chia sẻ, mật
mã khóa công khai thì mỗi bên có khóa bí mật của riêng mình, còn khóa
công khai sẽ đƣợc công khai.
 Mật mã khóa đối xứng gặp khó khăn trong việc phân phối khóa và quản
lý khóa. Việc phân phối khóa của khóa đối xứng là đặc biệt quan trọng,
thƣờng sẽ phải bằng phƣơng pháp vật lý để không bị nghe lén, đọc trộm.
Mặt khác mật mã khóa đối xứng thƣờng xuyên phải thay đổi khóa để
đảm bảo tính an toàn. Với mật mã khóa công khai, việc trao đổi khóa là
rất dễ dàng, bởi khóa của mỗi bên đƣợc công bố công khai.
 Mã hóa khóa đối xứng không có chức năng ký, do vậy không thể thực
hiện các dịch vụ xác thực và chống chối bỏ. Mật mã khóa công khai cung
cấp đầy đủ các dịch vụ xác thực và chống chối bỏ.

1.3 Chữ ký điện tử


1.3.1. Khái niệm
Chữ ký điện tử là một kỹ thuật mật mã cung cấp dịch vụ xác thực, điều khiển
truy cập và chống chối bỏ. Mục tiêu của chữ ký điện tử là cung cấp khả năng để 1
thực thể truyền thông có thể đính kèm những thông tin có tính chất định danh lên
một thông điệp truyền. Quá trình ký 1 thông điệp là một quá trình sử dụng một số
thông tin bí mật của bên gửi để mã hóa thông điệp đó thành 1 chuỗi định danh để
chứng minh quan hệ không thể chối bỏ của thông điệp đƣợc ký và thực thể ký . Chữ
ký điện tử đƣợc định nghĩa nhƣ sau [13]: Comment [u6]: Noureddine Boudriga (2009),
“Security of mobile communications”, Auerbach
 M là tập các thông điệp đƣợc ký. Publications, pp 59-60
29

 S là tập các thành phần chữ ký (Thƣờng là 1 xâu binary có độ dài cố


định).
 Hàm “ký” SgA: M → S là hàm biến đổi từ tập M sang tập S của thực thể
truyền A. Phép biến đổi SgA đƣợc gọi là một thuật toán “ký”, với 1 khóa
bí mật.
 Hàm xác thực VA : M  S  {0,1} là hàm biến đổi từ tập M  S sang tập
{0,1} tƣơng ứng với trạng thái không hợp lệ và hợp lệ. Hàm xác thực V A
sử dụng khóa công khai của thực thể A để xác thực thông điệp M đƣợc
truyền từ A.
 Hàm ký SgA và hàm xác thực VA định nghĩa một mô hình chữ ký điện tử
của thực thể truyền thông A
Mô hình chứ ký điện tử (Sg, V) phải đảm bảo các tính chất sau:
 Chữ ký SgA(m) là chữ ký hợp lệ của thực thể truyền thông A khi và chỉ
khi VA(m, SgA(m)) = 1.
 Với một thông điệp m thuộc M, việc tính toán hàm ra hàm ký s của
thông điệp m đối với thực thể giả danh sao cho V(m,s) = 1 là một việc
không khả thi.
 Các hàm ký Sg và hàm xác thực V là các hàm dễ tính.
Mô hình ký số và xác thực của chữ ký điện tử hoạt động nhƣ sau: Thực thể
truyền A khi muốn ký số vào thông điệp m của mình, A sẽ chọn 1 cặp khóa của hệ
mã hóa công khai, và 1 hàm băm H, A sẽ sử dụng khóa bí mật của mình để ký vào
giá trị băm của thông điệp m đƣợc băm bởi hàm băm H. Giá trị của chữ ký sẽ đƣợc
gửi đính kèm với thông điệp m. Khi B nhận đƣợc thông điệp m cùng với chữ ký của
A, B sẽ sử dụng hàm băm H để băm lại thông điệp m, sau đó sẽ sử dụng khóa công
khai của A để giải mã chữ ký số A gửi kèm, nếu giá trị đƣợc giải mã trùng với giá
trị băm của hàm H thì B sẽ chắc chắn thông điệp m là do A gửi chứ không phải một
bên thứ 3 nào khác.
Với việc áp dụng kết hợp các kỹ thuật đóng dấu thời gian (timestamp), chữ ký
điện tử cung cấp các dịch vụ an ninh sau:
 Dịch vụ xác thực
 Dịch vụ điểu khiển truy cập
30

 Dịch vụ toàn vẹn dữ liệu


 Chống chối bỏ
Bên cạnh những ƣu điểm, chữ ký điện tử cũng có những yếu điểm, nó xuất
phát từ yếu điểm của mật mã khóa công khai. Mật mã khóa công khai cung cấp cho
các thực thể truyền công cụ để đảm bảo an toàn, xác thực và tin cậy, nhƣng không
đảm bảo đƣợc việc có bên thứ 3 đứng giữa giả mạo (Tấn công ngƣời ở giữa – Man
in the middle)

1.3.2. Mô hình ký số RSA


Theo mô hình mật mã RSA, khóa bí mật của thực thể truyền thông A có dạng
là PRA=(n,d), khóa công khai có dạng PUA=(n,e). Không gian của thông điệp và
bảng mã là {1,2,3 … n} (n là một hợp số có giá trị rất lớn)
Để ký vào một thông điệp m, thực thể A sẽ sử dụng một hàm băm H để băm
thông điệp m về một bản mã có kích thƣớc cố định, sau đó A sẽ sử dụng khóa bí
mật của mình để ký trên giá trị băm đó. Ta có thể viết:

s  Sg (m)  ( H (m))d mod n (6)

Thực thể A sau khi ký thông điệp m tính đƣợc giá trị s, A sẽ gửi cho đối tác là
B thông điệp m và chữ ký s, ký hiệu là (m | s) . Khi B nhận đƣợc thông điệp m và
chữ ký s A gửi, B sẽ sử dụng khóa công khai của A là PUA=(n,e) để giải mã chữ ký
s, tức B sẽ tính giá trị của se mod n . Sau đó A sẽ so sánh giá trị giải mã tính đƣợc
với giá trị băm của hàm băm H(m), nếu H(m) = se mod n thì chữ ký của A là hợp lệ,
và B có thể chắc chắn A đã ký vào thông điệp m.

Hình 1.13: Mô hình ký số RSA


31

1.3.3. Mô hình ký số DSA


Mô hình ký số DSA là thuật toán ký số dựa trên độ khó của bài toán tính
logarit rời rạc, đƣợc đề xuất lần đầu bởi 2 nhà toán học ElGamal [11] và Schnorr Comment [u7]: ElGamal, T. "A Public-Key
Cryptosystem and a Signature Scheme Based on
[20] Discrete Logarithms." IEEE Transactions on
Information Theory, July 1985.
Thuật toán DSA đƣợc thực hiện qua các bƣớc sau: Comment [u8]: Schnorr, C. "Efficient Signatures
for Smart Card." Journal of Cryptology, No. 3, 1991.
Khởi tạo:
 Chọn số nguyên tố p có độ dài bit là 160bit
 Chon số nguyên tố p nằm trong khoảng (2L1 , 2L ) , với L là bội của 64
thỏa mãn 512  L  1024 .
 Chọn số g có dạng g  h( p1)/ q mod p với h là số nguyên dƣơng nằm
trong khoảng (1, p-1)
Tạo khóa bí mật:
 Chọn 1 số nguyên ngẫu nhiên, hoặc giả ngẫu nhiên x với 0 < x < q. Khóa
bí mật là PR=( x )
Tạo khóa công khai :
 Tính toán y  g x mod p . Khóa công khai là PU = (p, q, g, y)

Quá trình ký số thông điệp m của bên gửi :


 Chọn ra số ngẫu nhiên hoặc giả ngẫu nhiên x với 0 < x < q
 Tính r  ( g k mod p) mod q

 Tính s   K 1 ( H (m)  x  r )  mod q

 Công bố chứ ký Sg(m)=(r,s)


Quá trình xác thực của bên nhận :
 Thông điệp bên nhận nhận đƣợc là ( m’|(r’,s’) )
 Tính w=(s ')1 mod q

 Tính u1   H (m ')  w  mod q

 Tính u2  (r ' w) mod q

 Tính v   g u  yu  mod p  mod q


1 2
32

 Nếu v=r’ thì chữ ký trên thông điệp m là hợp lệ


Trong mô hình chữ ký điện tử DSA, hàm H đƣợc quy định là hàm băm SHA-1

Mô hình ký số và xác thực của DSA đƣợc mô tả trong hình vẽ 1.14a, và mô


hình truyền thông sử dụng chữ ký điện tử DSA đƣợc biểu diễn trong hình 1.14b

Hình 1.14a : Mô hình ký số và xác thực DSA

Hình 1.14b: Mô hình truyền thông, sử dụng chữ ký điện tử DSA


33

1.3.4. Thuật toán băm


Trong các hệ thống an ninh, thuật toán băm thƣờng đƣợc sử dụng và giữ một
vai trò quan trọng trong các hệ thống mật mã. Một hàm băm H ánh xạ xâu dữ liệu
có độ dài hữu hạn tùy ý thành một xâu khác đƣợc gọi là mã băm có độ dài cố định
n, chiều dài cố định n phụ thuộc vào hàm băm H. Mã băm của một thông điệp đƣợc
băm bởi hàm H có đặc điểm là khi thay đổi, dù chỉ là 1 bit dữ liệu đầu vào, thì mã
băm bị thay đổi hoàn toàn mà không tuân theo một quy luật logic nào, so với mã
băm trƣớc khi bị thay đổi.
Một hàm băm H có những đặc điểm sau:
 Có thể áp dụng với thông báo M có độ dài bất kỳ.
 Tạo ra giá trị băm có độ dài cố định.
 H(M) có thể đƣợc tính dễ dàng với bất cứ thông báo M nào.
 Từ mã băm h rất khó tìm lại đƣợc thông điệp M thỏa mã H(M)=h. Đây là
tính một chiều của hàm băm.
 Từ thông báo M1, rất khó để tìm đƣợc thông điệp M2 thỏa mãn
H(M1)=H(M2). Tức hàm băm có tính chống xung đột yếu.
 Rất khó để tìm đƣợc 2 thông điệp ( M1, M2 ) thỏa mãn H(M1)=H(M2).
Tức hàm băm có tính chống xung đột mạnh.
Hiện nay có rất nhiều loại hàm băm khác nhau nhƣ MD5, SHA-1, SHA-256,
SHA-512. Độ an toàn của hàm băm phụ thuộc vào loại hàm băm, cũng nhƣ chiều
dài kết quả băm.
Ví dụ: Xét hàm băm SHA-256
SHA(“”)= e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
SHA(“mobile”)= d524c1a0811da49592f841085cc0063eb62b3001252a94542795d1ca9824a941
SHA(“mobilz”) = “0617a2dd1e4d7c1e00b15bf723c6a77baa7c2a74e1bbb8a97b817ba5a870cbb3”
SHA(“mobil”)=”403b42efc1997638d33da8f5282c7579d00a885c3e7bd0193fd2d26fd7ef72e0”

1.4. Xác thực và các các mô hình xác thực


Xác thực là quá trình nhằm xác nhận định danh của một thực thể truyền thống,
cũng nhƣng các thông tin quan trọng đi kèm khác nhƣ tên, mật khẩu, và một số
34

thông tin khác. Thực thể cần xác thực ở đây có thể là ngƣời sử dụng cuối, thiết bị di
động, máy tính, ứng dụng, một dịch vụ, hoặc một hệ thống.
Quá trình xác thực bao gồm 2 bên: Bên cần xác thực (claimant) và bên xác
thực (verifier). Bên cần xác thực sẽ khai báo định danh và các thông tin để bên xác
thực có thể xác thực lại định danh đó. Khái niệm “xác thực” ( authentication) là một
khái niệm đặc biệt, nó có ý nghĩa khác hẳn với khái niệm “định danh”
(identification) – Là việc xác định danh tính của thực thể đang giao tiếp – Khái
niệm xác thực cũng khác với khái niệm “quyền truy cập” ( authorization) - là việc
xác định quyền truy cập dữ liệu và tài nguyên của một thực thể đã đƣợc “xác thực”
(authentication)
Ta cần phân biệt 2 khái niệm xác thực, là xác thực thực thể (entity
authentication) và xác thực thông điệp (message authentication). Xác thực thực thể
là quá trình xác thực danh tính của một thực thể, xem liệu thực thể đang đƣợc xác
thực có đúng với danh tính của nó, ví dụ là xác thực ngƣời dùng đăng nhập vào hệ
thống, và đó là một quá trình thời gian thực. Ngƣợc lại xác thực thông điệp là một
quá trình không là quá trình thời gian thực, nó đảm bảo việc thông điệp đƣợc xác
thực không bị thay đổi và thông điệp đó đƣợc gửi bởi một thực thể đã xác định danh
tính.
Trong xã hội thông tin ngày nay, việc xác thực thông báo trở thành một vấn đề
quan trọng trên nhiều lĩnh vực, đặc biệt là lĩnh vực kinh doanh và lĩnh vực quân sự.
Đã có rất nhiều phƣơng pháp, nhiều công nghệ đƣợc phát minh cung cấp nhiều kỹ
thuật, nhiều dịch vụ xác thực an toàn và tiện lợi. Tuy nhiên, có thể phân loại kỹ
thuật xác thực thành 3 nhóm:
 Xác thực dựa trên mã hóa thông điệp: Là kỹ thuật sử dụng phƣơng pháp
mã hóa để mã hóa toàn bộ thông điệp, sau đó làm căn cứ để xác thực.
 Xác thực mật mã kiểm tra : Sử dụng 1 hàm tổng kiểm tra công khai, với
1 khóa bí mật sẽ đƣợc mã hóa thành 1 xâu giá trị có độ dài cố định, làm
căn cứ xác thực.
 Xác thực dựa trên hàm băm: Sử dụng các hàm băm một chiều, mã hóa
thông điệp có độ dài bất kỳ thành xâu có độ dài cố định, làm căn cứ xác
thực.
Nhƣ đã nêu ở trên, xác thực thực thể là một quá trình thời gian thực, các giao
thức xác thực thực thể (entity authentication protocol) phải đảm bảo đƣợc những
tiêu chí sau:
35

 Không có một bên thứ ba nào có thể giả mạo đƣợc.


 Bên xác thực không thể tái sử dụng đƣợc các thông tin xác thực cũ của
thực thể cần xác thực để cung cấp khả năng giả mạo cho một bên thứ ba.
 Thông báo đƣợc ký không thể đƣợc khôi phục lại từ mã của chữ ký trong
suốt quá trình xác thực.
Trong phần này, ta sẽ xét lần lƣợt các các mô hình xác thực và các đặc điểm
của các mô hình đó.

1.4.1. Mô hình xác thực yếu


Mô hình xác thực yếu là một mô hình xác thực, nhƣng nó không cung cấp một
giải pháp xác thực hiệu quả và đầy đủ về tổng thể. Có hai loại hình xác thực yếu rất
đƣợc quan tâm bởi đó là các phƣơng pháp xác thực tự nhiên và rất phổ biến hiện
này, đó là mô hình xác thực dựa trên mật khẩu (Password-based Authentication) và
mô hình xác thực dựa trên mã cá nhân (PIN-based Authentication)
1.4.1.1. Xác thực dựa trên mật khẩu
Xác thực dựa trên mật khẩu là phƣơng pháp xác thực ngƣời dùng phổ biến
nhất hiện nay. Hệ xác thực dựa trên mật khẩu đƣợc xây dựng trên mô hình chia sẻ
mật khẩu giữa ngƣời sử dụng và hệ thống, hệ thống sẽ lƣu các bản ghi chứa mật
khẩu chia sẻ của ngƣời dùng, mật khẩu này sẽ đƣợc ngƣời sử dụng dùng để cung
cấp cùng với tên định danh khi đăng nhập trong bƣớc xác thực.
Các hệ xác thực dựa trên mật khẩu thƣờng đƣợc phân biệt bởi phƣơng thức
lƣu trữ mật khẩu trong hệ thống. Ở các hệ thống thế hệ trƣớc, mật khẩu thƣờng
đƣợc lƣu dƣới dạng bản rõ (plaintext) trên hệ thống file hoặc trong một cơ sở dữ
liệu. Việc lƣu nhƣ vậy khá nguy hiểm, bởi ai có thẩm quyền truy cập hệ thống
(Quản trị viên, hoặc hacker khi chiếm đƣợc quyền kiểm soát) đều có thể lấy cắp
đƣợc mật khẩu và thông tin của ngƣời dùng. Để khắc phục nhƣợc điểm này, các hệ
thống ngày nay thƣờng lƣu mật khẩu dƣới dạng mã băm sử dụng hàm băm 1 chiều
(Ví dụ là MD5, SHA-256) của mật khẩu ngƣời dùng. Theo đó, khi ngƣời dùng nhập
mật khẩu đăng nhập, mật khẩu đó sẽ đƣợc băm thành mã băm, sau đó hệ thống sẽ so
sánh mã băm đó với mã băm mật khẩu đƣợc lƣu trong hệ thống. Biện pháp này đảm
bảo rằng mật khẩu nguyên gốc của ngƣời dùng không bị lộ, ngay cả khi ngƣời quản
trị hay hacker xem đƣợc bản chứa mật khẩu đƣợc lƣu trong hệ thống.
Mô hình xác thực dựa trên mật khẩu hiện nay đã bộc lộ một số yếu điểm về an
ninh. Kẻ tấn công có nhiều phƣơng pháp chiếm quyền kiểm soát của ngƣời sử dụng
bằng cách đánh cắp mật khẩu. Phƣơng pháp đơn giản nhất là kẻ tấn công sẽ sử dụng
36

phƣơng pháp nghe lén đƣờng truyền, nếu mật khẩu không đƣợc mã hóa trên đƣờng
truyền, kẻ tấn công có thể dễ dàng lấy đƣợc mật khẩu của ngƣời sử dụng. Nếu mật
khẩu đã đƣợc mã hóa trên đƣờng truyền, kẻ tấn công có phƣơng pháp khác là sử
dụng tấn công bằng từ điển (Dictionary attack – Là cách tấn công sử dụng 1 từ điển
các mật khẩu thƣờng đƣợc sử dụng – Hoặc sử dụng phƣơng pháp tấn công ngày
sinh (Birthday attack) [31] để tìm ra điểm xung đột của thuật toán băm. Comment [u9]: William Stalling (2005)
“Cryptography and Network Security”, Prentice Hall
Publisher, pp 338
Tuy nhiên, có một kỹ thuật để cải tiến nâng cao độ an toàn trong hệ thống xác
thực dựa trên mật khẩu, đó là sử dụng mật khẩu một lần (One time password).
Nguyên lý của hệ mật khẩu một lần là mỗi mật khẩu đƣợc chỉ có hiệu lực 1 lần,
trong một khoảng thời gian nhất định. Mật khẩu một lần đảm bảo việc cho dù kẻ tấn
công có lấy đƣợc mật khẩu trên đƣờng truyền, thì kẻ đó cũng không sử dụng lại mật
khẩu đó. Mật khẩu một lần đƣợc hệ thống sinh ra theo một thuật toán ngẫu nhiên,
hoặc giả ngẫu nhiên, có kích thƣớc cố định và đƣợc thông báo lại cho ngƣời sử
dụng bằng một kênh truyền thông nào đó nhƣ qua tin nhắn di động, qua internet,
hoặc qua các thiết bị chuyên dụng. , ví dụ nhƣ thiết bị Secure ID của hãng bảo mật
RSA, hay OTP token của hãng VeriSign.

1.4.1.2. Xác thực dựa trên mã định danh cá nhân (PIN-based


Authentication)
Mô hình xác thực dựa trên mã định danh cá nhân sử dụng các thiết bị vật lý để
lƣu trữ mã định danh cá nhân nhƣ thẻ SmartCard, hay USB Token. Mỗi ngƣời sử
dụng đƣợc cấp một mã cá nhân (PIN) có chiều dài từ 4-10 chữ số, mã cá nhân đƣợc
bảo vệ trong thiết bị vật lý bằng mật khẩu tự đặt của ngƣời sử dụng. Khi đăng nhập
vào hệ thống, ở bƣớc xác thực, ngƣời dùng phải cắm thiết bị vào máy tính để nhập
mã PIN, thông thƣờng khi đó thiết bị sẽ yêu cầu ngƣời sử dụng nhập mật khẩu để có
thể kích hoạt mã PIN đƣợc lƣu trong thiết bị. Để đảm bảo mã PIN của ngƣời sử
dụng đƣợc an toàn ngay cả trong trƣờng hợp ngƣời sử dụng bị mất, thiết bị token sẽ
khóa hoặc tự hủy nếu kẻ tấn công nhập sai mật khẩu sử dụng trong một số lần liên
tiếp (Thƣờng là 3 lần hoặc 5 lần).

1.4.2. Mô hình xác thực mạnh


Thông thƣờng, mô hình xác thực mạnh thƣờng sử dụng các giao thức xác thực
dựa trên việc hỏi và trả lời (Challenge-Response), các giao thức đó có thể đƣợc mô
tả nhƣ sau: Một ngƣời sử dụng khi muốn truy cập vào một dịch vụ hay một hệ
thống, anh ta phải chứng minh đƣợc danh tính của mình với hệ thống bằng những
37

những kiến thức của anh ta về một thông tin bí mật, có liên quan tới anh ta và chỉ
anh ta mới có thể tạo ra câu trả lời chính xác mà không cần tiết lộ thông tin bí mật
đó cho bên xác thực. Ta gọi chung các giao thức xác thực đó là giao thức hỏi trả lời
(challenge-Response Protocol )
Các giao thức xác thực thƣờng đƣợc xây dựng trên hệ mã hóa chia sẻ khóa,
hoặc hệ mã hóa khóa công khai, hoặc các kỹ thuật zero-knowledge – là kỹ thuật
đƣợc sử dụng để chứng minh danh tính dựa trên thông tin bí mật của chủ thể mà
không cần tiết lộ bí mật đó của chủ thể - Giao thức xác thực thƣờng sử dụng các
tham số thời gian, hoặc kỹ thuật đánh số thông điệp để nhận biết thông điệp nào là
thông điệp mới, thông điệp nào là thông điệp đã đƣợc gửi rồi, để tránh tấn công lặp
lại, kỹ thuật này đƣợc gọi là kỹ thuật đóng dấu thời gian. Kỹ thuật đóng dấu thời
gian đƣợc thực hiện nhƣ sau: Khi 1 thông điệp đƣợc gửi từ bên gửi, bên gửi sẽ chèn
1 con dấu thời gian (timestamp) đi kèm thông điệp và nó đƣợc mã hóa cùng thông
điệp. Khi bên nhận nhận đƣợc thông điệp, bên nhận sẽ giải mã thông điệp và sẽ thu
đƣợc con dấu thời gian đó, bên nhận sẽ tính toán độ lệch thời gian  so thời điểm
nhận, tính theo đồng hồ của máy nhận. Nếu độ lệch thời gian nằm trong một giới
hạn cho phép thì thông điệp đó là hợp lệ qua bƣớc kiểm chứng con dấu thời gian.
Khi thực thi phƣơng pháp này, cần chú ý tính đồng bộ của đồng hồ bên gửi và đồng
hồ bên nhận.
Các hệ xác thực mạnh đƣợc xây dựng theo 3 loại sau: Giao thức xác thực trên
hệ mật mã , giao thức xác thực lời dựa trên các kỹ thuật zero-knowledge, và xác
thực dựa trên thiết bị hỗ trợ
1.4.2.1. Giao thức xác thực dựa trên hệ mật mã
Là các giao thức sử dụng các hệ mã hóa để bảo mật và xác thực, có hai hệ mã
hóa tƣơng ứng với 2 hệ giao thức xác thực đó là: Giao thức xác thực dựa trên mật
mã đối xứng (Hay mật mã khóa chung), và giao thức xác thực dựa trên mật mã khóa
công khai.
a. Giao thức xác thực dựa trên mật mã khóa đối xứng
Với giao thức xác thực sử dụng mật mã khóa đối xứng, các bƣớc đƣợc thực
hiện có thể đƣợc mô tả nhƣ sau: Xét một phiên xác thực giữa ngƣời dùng A và hệ
thống B sử dụng giao thức xác thực mật mã khóa đối xứng, do sử dụng mật mã
khóa đối xứng, nên A và B cùng thống nhất sử dụng khóa chung k và hệ mã hóa Ek.
 Để bắt đầu phiên, bên A sẽ gửi yêu cầu xác thực sang bên B
 Bên B sẽ sinh ra 1 số ngẫu nhiên r, sau đó dùng hàm mã hóa với khóa
chung chia sẻ để mã hóa số r kèm theo một thông điệp tùy chọn m để
38

phục vụ cho việc định danh hoặc chống tấn công lặp lại, tức B sẽ gửi lại
cho A thông điệp Ek(r || m) (Ký hiệu || là ký hiệu nối giữa các thông điệp
nhỏ trong 1 thông điệp tổng)
 Bên A nhận đƣợc thông điệp Ek(r || m) từ bên B gửi, do A và B cùng chia
sẻ 1 khóa chung k, nên chỉ có A mới có thể giải mã thông điệp B gửi để
nhận đƣợc số ngẫu nhiên r và thông điệp tùy chọn m. Sau đó bên A sẽ
gửi lại cho bên B một thông điệp có chứa số ngẫu nhiên r kèm 1 thông
điệp tùy chọn m’ đƣợc mã hóa bởi hàm mã tức thông điệp Ek(r || m’)
 Bên B nhận lại thông điệp bên A gửi, bên B sẽ giải mã thông điệp và
nhận lại số ngẫu nhiên r, B sẽ so sánh số r nhận đƣợc với số r trƣớc đó B
đã gửi cho A. Nếu trùng nhau thì A đƣợc xác thực và ngƣợc lại.
Trong trƣờng hợp A cũng cần xác thực lại B, ở bƣớc yêu cầu xác thực A sẽ
gửi định danh của A (IDA) cho B, B sẽ gửi kèm lại số ngẫu nhiên r và IDA trong
đƣợc mã hóa bởi Ek. Ta có thể tóm tắt lại quá trình xác thực nhƣ sau:
(1) A → B : IDA
(2) B → A : Ek( IDA || r || m)
(3) A → B : Ek(r || m’)
Chú ý thông điệp m và m’ là các thông điệp tùy chọn đƣợc B và A sinh ra
nhằm phục vụ các mục đích khác nhƣ chống tấn công lặp lại.
b. Giao thức xác thực dựa trên mật mã công khai
Giao thức xác thực dựa trên mật mã công khai cũng tƣơng tự nhƣ giao thức
dựa trên mật khẩu khóa đối xứng, chỉ khác ở điểm là hệ mật mã sử dụng là mật mã
công khai. Nguyên lý chung của giao thức vẫn là bên B sẽ gửi cho bên A một số
ngẫu nhiên r, nhƣng thay vì sử dụng mật mã khóa đối xứng, B sẽ mã hóa số r và
thông điệp tùy chọn m bằng khóa công khai của A, và gửi cho A. A nhận đƣợc sẽ
giải mã bằng khóa bí mật, rồi gửi lại cho B số r và thông điệp m’, sử dụng khóa
công khai của B. B sẽ dùng khóa bí mật của B để lấy ra số r, so sánh với số ngẫu
nhiên B đã gửi cho A, nếu trùng thì A đƣợc xác thực và ngƣợc lại.
Nếu A và B cần xác thực nhau, ta áp dụng kỹ thuật tƣơng tự với trƣờng hợp
xác thực khóa đối xứng, ta có quá trình xác thực nhƣ sau:
(1) A → B : IDA
(2) B → A : E(PUA, IDA || r || m)
39

(3) A → B : E(PUB, r || m’)

1.4.2.2. Giao thức xác thực dựa trên kỹ thuật zero-knowledge


Nhƣ đã đề cập ở phần trên, các phƣơng pháp xác thực thƣờng bên cần xác
thực phải công bố hoặc tiết lộ một phần hoặc những thông tin liên quan tới những bí
mật của họ để đƣợc xác thực. Sẽ rất nguy hiểm nếu bên xác thực có ý đồ xấu muốn
khôi phục lại những thông tin bí mật của ngƣời cần xác thực dựa trên những thông
tin bên cần xác thực cung cấp cho ở những phiên xác thực trƣớc. Ví dụ với giao
thức xác thực dùng mật mã khóa đối xứng, bên A sẽ bị tổn thƣơng nếu bên B cố
tình tiết lộ khóa chia sẻ của A và B cho một bên thứ ba khác. Kỹ thuật xác thực
zero-knowledge đƣợc đề xuất cho phép ngƣời cần xác thực vẫn có thể xác thực
đƣợc mà không cần tiết lộ những thông tin bí mật liên quan tới khóa của mình cho
bên xác thực. Ngƣợc lại, từ những thông tin bên cần xác thực cung cấp ở những
phiên xác thực trƣớc, bên xác thực không thể khôi phục và tạo ra đƣợc thông tin xác
thực giả mạo cho bên thứ ba.
Về cơ bản, kỹ thuật xác thực zero-knowledge sử dụng các thông điệp trao đổi
kết hợp với các yếu tố ngẫu nhiên để xác thực. Thuật toán Fiat-Shamir [1] là một Comment [u10]: [FS86] Amos Fiat and Adi
Shamir. How to prove to yourself: practical solutions
trong những thuật toán áp dụng kỹ thuật xác thực zero-knowledge. Ta hãy xét thuật to identication and signature problems. In Advances
in Cryptology{Crypto 86, pages 186-194,
toán Fiat-Shamir để minh họa cho kỹ thuật xác thực zero-knowledge. Springer, Berlin, 1987.

 Bƣớc 1 : Bƣớc khởi tạo


 Ta xét ngữ cảnh là Alice cần xác thực với Bob, thuật toán Fiat-Shamir
yêu cầu một bên thứ ba tin cậy làm trung gian gọi là John.
 Darth chọn ra 2 số nguyên tố rất lớn p và q, tính ra tích n = p.q. Darth
công bố số tích n nhƣng giữ bí mật p và q.
 Alice chọn một số nguyên dƣơng s, nguyên tố cùng nhau với số n làm
khóa bí mật, tính ra c = s2 mod n và đăng ký với Darth khóa công khai
của mình là c.
 Bƣớc 2: Quá trình trao đổi thông điệp
 Alice tạo ra một số ngẫu nhiên r với 0 < r <n và thực hiện trao đổi với
Bob qua giao thức sau:
(1)Alice → Bob : x= r2 mod n
(2)Bob → Alice : 1 bit ngẫu nhiên b
40

(3)Alice → Bob : y = r x sb mod n

 Quá trình trên đƣợc lặp lại t lần (t  n) , khi t lần trao đổi kết thúc, ta
nhận thấy có 3t thông điệp đƣợc trao đổi, Alice chọn t số ngẫu nhiên
ri i 1 , tính đƣợc t giá trị  xi i1 và xác định đƣợc t số  yi i1 . Trong khi
t t t

đó Bob chọn ra đƣợc t số bit ngẫu nhiên bi i 1 , và nhận đƣợc t số  xi i 1


t t

và t số  yi i 1 từ Alice. Với:
t

xi  ri2 mod n

yi  ri  sbi mod n
 Bƣớc 3: Xác thực
 Bob sẽ xác thực Alice nếu : yi2  xi  cb mod n với i  t , và yi khác 0.
Thật vậy ta có:

    
bi 2
xi  cb mod n  ri2 mod n  s 2 mod n mod n  ri  sbi mod n  yi2

Xét thông điệp Bob gửi cho Alice ở bƣớc (3) :


 r mod n  r; b  0
y  


(r  s)mod n;b 1
Ta nhận thấy nếu Bob sinh ra bit b=0 thì kết quả y Alice trả lại sẽ là r – độc
lập với s. Ngƣợc lại nếu bit b = 1 thì kết quả y trả lại bằng y =( r x s ) mod n – là
giá trị độc lập với khóa bí mật s của Alice bởi r đƣợc sinh ngẫu nhiên, hay nói các
khác khóa bí mật s đã đƣợc che dấu bởi 1 đại lƣợng ngẫu nhiên.
Thuật toán Fiat-Shamir là một minh họa đơn giản và rõ nét cho kỹ thuật xác
thực zero-knowledge. Thuật toán đƣợc trình bày ở trên là một dạng cơ bản của thuật
toán Fiat-Shamir, thực tế thuật toán này đến nay đã đƣợc cải tiến rất nhiều để tăng
cƣờng độ bảo mật của giao thức.
41

1.4.2.3. Giao thức xác thực dựa trên thiết bị hỗ trợ


Thông thƣờng, ngƣời sử dụng khi tham gia một phƣơng pháp xác thực yếu
thƣờng bị tấn công bằng cách giả mạo, bị nghe lén, hoặc bị tấn công lặp lại. Một
phƣơng pháp tiếp cận đƣợc xếp vào loại mô hình xác thực mạnh, đó là sử dụng một
thiết bị bảo mật chuyên dụng với năng lực xử lý và bộ nhớ rất hạn chế. Các thiết bị
bảo mật này tuy có năng lực xử lý hạn chế, nhƣng đƣợc thiết kế để tối ƣu khả năng
thực thi các giải thuật mã hóa, giải mã, nhằm xác thực và đảm bảo an ninh cho
ngƣời sử dụng trong các môi trƣờng không an toàn. Do đƣợc thiết kế tối ƣu và bảo
mật, nên không gian khóa của thiết bị thƣờng rất lớn, nên việc tấn công bằng
phƣơng pháp vét cạn là không khả thi. Khóa xác thực của ngƣời sử dụng (Có thể là
khóa chia sẻ, hoặc khóa bí mật ) đƣợc lƣu trong bộ nhớ của thẻ, khóa này đƣợc bảo
vệ bởi mã PIN của ngƣời sử dụng.
Hiện nay, các phƣơng pháp xác thực dựa trên thiết bị khác nhau ở rất nhiều
mặt, một số tính năng sau mô tả những khác biệt đó:
 Giao diện sử dụng của thiết bị: Mỗi loại thiết bị khác nhau có giao diện sử
dụng, hay giao diện so với máy trạm là khác nhau, ví dụ nhƣ với thẻ thông
minh (SmartCard), có loại từ tiếp xúc gần, có loại tiếp xúc chạm. Hoặc USB
Token chỉ cần cắm trực tiếp vào cổng USB của máy tính là có thể sử dụng mà
không cần đầu đọc chuyên dụng.
 Đồng hồ: Tham số thời gian đƣợc sử dụng trong rất nhiều ứng dụng hoặc giao
thức xác thực sử dụng con dấu thời gian. Nhƣng việc hỗ trợ đồng hồ thì không
phải thiết bị nào cũng hỗ trợ.
 Không gian bộ nhớ: Là bộ nhớ đọc và ghi (quyền sử dụng hợp lệ), và là bộ
nhớ lƣu trữ lâu dài, lƣu trữ các thông tin nhạy cảm nhƣ mật khẩu, khóa, hoặc
các số ngẫu nhiên của thuật toán mật mã.
 Khả năng mã hóa : Là khả năng hỗ trợ các loại giải thuật mật mã khác nhau,
với các độ lớn khóa khác nhau.
 Thông tin trao đổi : Là quy định về kích thƣớc cũng nhƣ thông tin trao đổi
giữa thiết bị và hệ thống. Mỗi thiết bị của các hãng khác nhau thƣờng có thông
tin trao đổi khác nhau, và thậm chí các thiết bị khác nhau của cùng 1 hãng
cũng có những thông tin trao đổi khác nhau.
42

1.5. Kết luận chƣơng 1


Chƣơng 1, luận văn đã giới thiệu các yêu cầu về an ninh mạng, các dạng tấn
công trong an ninh mạng, các bài toán cơ bản trong xác thực mạng và các kỹ thuật
xác thực đã và đang đƣợc áp dụng trong thực tế.
Các vấn đề đƣa ra trong chƣơng này làm cơ sở để phân tích và xem xét các kỹ
thuật xác thực mạng đƣợc sử dụng trong các mạng vô tuyến phổ biến hiện nay.
43

Chƣơng 2: Xác thực trong các mạng vô tuyến thế hệ sau

Ở các phần trƣớc, luận văn đã trình bay các khái niệm cơ bản về mật mã học,
các dịch vụ an ninh và các mô hình xác thực trong truyền thông vô tuyến. Trong
chƣơng này, học viên xin trình bày cụ thể các vấn đề an ninh và các phƣơng pháp
xác thực đã đƣợc áp dụng trong các mạng vô tuyến thế hệ sau, đó là các mạng GSM
2G, mạng 3G, mạng WLAN. Tƣơng ứng với mỗi mạng, học viên sẽ nêu ra các nguy
cơ tiềm ẩn của hệ thống đối với vấn đề xác thực trong mạng.

2.1. Xác thực trong mạng GSM


2.1.1 Giới thiệu mạng GSM
Hệ thống thông tin di động toàn cầu ( Global System for Mobile
Communication ) đƣợc viết tắt là GSM, là một chuẩn công nghệ cho mạng thông tin
di động đƣợc phê chuẩn bởi Viện tiêu chuẩn viễn thông Châu Âu (European
Telecommunications Standards Institute - ETSI), GSM là một chuẩn phổ biến đã
đƣợc áp dụng và triển khai tại hơn 212 quốc gia trên khắp thế giới, với số lƣợng
ngƣời sử dụng là hơn 2 tỷ ngƣời.

Hình 2.1 : Hạ tầng mạng GSM

Các thành phần chính trong hạ tầng mạng GSM đƣợc mô tả trong hình 2.1, Comment [u11]: Noureddine Boudriga (2009),
“Security of mobile communications”, Auerbach
bao gồm [14]: Publications, pp 166-169
44

 Trạm di động (MS - Mobile station): Trạm di động đƣợc mang theo bởi các
thuê bao sử dụng, nó bao gồm 1 chiếc thiết bị di động - thƣờng là chiếc điện
thoại di động - và một thành phần định danh thuê bao đó còn đƣợc gọi là SIM
(Subcriber indentity Module). SIM thƣờng đƣợc tích hợp vào 1 khe cắm của
chiếc điện thoại, cho phép ngƣời sử dụng có thể thực hiện cuộc gọi, gửi nhận
tin nhắn và các dịch vụ dữ liệu khác đƣợc cung cấp bởi các nhà cung cấp dịch
vụ viễn thông. Trong thẻ SIM thƣờng chứa những thông tin về thuê bao di
động đó, gồm :
 Mã số định danh quốc tế cho thuê bao (IMSI – International Mobile
Subcriber Identity ): Là mã số định danh duy nhất cho thuê bao di động
trên toàn thế giới để định danh khi sử dụng các dịch vụ của mạng GSM.
 Thuật toán mã hóa A3, A8 và khóa xác thực bí mật, đƣợc sử dụng để mã
hóa cuộc gọi, tin nhắn, cũng nhƣ xác thực thuê bao.
 Các dữ liệu tạm thời
 Thông tin xác thực chủ sở hữu thẻ SIM (CHVI – Card Holder
Verification Information ) : Là thông tin để xác thực tính chất sở hữu của
ngƣời sử dụng với thẻ SIM, thƣờng đó là mã PIN của thẻ SIM
 Hệ thống trạm gốc ( BSS- Base Station Subsystem): BSS cung cấp các kết nối
truyền thông giữa các trạm di động với hệ thống mạng thông qua sóng vô
tuyến. BSS bao gồm 2 thành phần chính là các trạm thu phát gốc (BTS - Base
Tranceivers Station) và trạm điều khiển gốc (BSC – Base Station Controller ).
Các trạm BTS thiết lập các kênh truyền thông vô tuyến với các trạm di động
thông qua các trạm thu phát đƣợc tổ chức dƣới dạng các ô tổ ong. Trong khi
đó trạm BSC sẽ quản lý các kết nối truyền thông, và thực hiện các thao tác
điều khiển các trạm BTS.
 Trung tâm chuyển mạch di động (MSC – Mobile Switching Center): Đây là
thành phần chính của hệ thống quản lý mạng GSM, MSC có nhiệm vụ điều
khiển số lƣợng lớn các BSC và hoạt động nhƣ một nút chuyển đổi. Ngoài ra
nó còn cung cấp tất cả các chức năng quản lý đối với thiết bị đầu cuối nhƣ
đăng ký, xác thực, định vị, bàn giao (handover), và định tuyến cuộc gọi.
 Trung tâm khai thác và bảo dƣỡng (OMC – Operation and Maintenance
Center) : OMC đƣợc kết nối với tất cả các thiết bị trong hệ thống chuyển mạch
45

và với các BSC. Mục đích của OMC là cung cấp các dịch vụ hỗ trợ khách
hàng hiệu quả việc vận hành và các hoạt động bảo trì của mạng GSM.
 Bộ ghi địa chỉ thƣờng trú (HLR – Home Location Register) : Là một cơ sở dữ
liệu lƣu trữ một số thông tin quản lý của tất cả các thuê bao hoạt động trong
mạng GSM, mỗi một thuê bao sẽ tƣơng ứng với duy nhất 1 địa chỉ thƣờng trú.
Thông tin quan trọng nhất đƣợc lƣu trong HLR là khóa chia sẻ xác thực với
thuê bao và mã IMSI của thuê bao. Ngoài ra ra HLR đóng vai trò quan trọng
trong việc chuyển cuộc gọi của thuê bao sang một mạng bên ngoài.
 Bộ ghi địa chỉ tạm trú (VLR – Visitor Location Register) : VLR là cơ sở dữ
liệu thứ hai trong mạng GSM, đƣợc nối với một hay nhiều MSC, có nhiệm vụ
lƣu trữ tạm thời số liệu thuê bao của các thuê bao nằm trong vùng phục vụ của
MSC, đồng thời lƣu trữ thông tin về vị trí của thuê bao để cập nhật cho MSC
một cách nhanh và chính xác hơn HLR
 Trung tâm chứng thực (AuC – Authentication Center): AuC là một thành phần
quan trọng của HLR, lƣu trữ những thông tin chứng thực của các thuê bao.
Ngoài ra, AuC có nhiệm vụ sinh ra các khóa phiên phục vụ để mã hóa cho mỗi
cuộc gọi của thuê bao.
 Bộ ghi định danh thiết bị (EIR – Equipment Identity Register): Việc đánh cắp
thiết bị hoặc đánh cắp thẻ SIM đề có thể sử dụng trái phép tài khoản của chủ
thuê bao là việc khá phổ biến và thƣờng xảy ra trong cuộc sống. Để ngăn chặn
điều này, mạng GSM sử dụng một bộ ghi định danh các thiết bị, thực chất là
một cơ sở dữ liệu định danh các thiết bị đƣợc phân loại bởi các chính sách
khác nhau. Thƣờng có 3 danh sách, đó là danh sách trắng, danh sách đen và
danh sách xám. Danh sách trắng lƣu các định danh thiết bị hợp lệ đƣợc phép
hoạt động, danh sách đen lƣu các định danh thiết bị không hợp lệ nên không
đƣợc phép hoạt động, và danh sách xám lƣu các định danh thiết bị cần đƣợc
theo dõi.

2.1.2. Mô hình an ninh của mạng GSM


Mạng GSM có cung cấp cơ chế chứng thực thuê bao và mã hóa thông tin
truyền trong môi trƣờng. Các cơ chế đó đƣợc xây dựng để đáp ứng những yêu cầu
về mặt an ninh trong mạng GSM. Trong phần tiếp theo, học viên xin trình bày các
yêu cầu an ninh trong mạng GSM và mô hình an ninh của GSM xây dựng để đáp
ứng các yêu cầu đó.
46

Các yêu cầu về mặt an ninh cho mạng GSM đƣợc phần ra làm 2 loại chính:
Yêu cầu về đảm bảo an ninh thông tin cá nhân của thuê bao và yêu cầu về an ninh
thông tin truyền trong mạng.
Comment [u12]: Noureddine Boudriga (2009),
Các yêu cầu về an ninh trong mạng GSM có thể đƣợc liệt kê nhƣ sau [15]: “Security of mobile communications”, Auerbach
Publications, pp 175-179
 Bảo mật thông tin cuộc gọi và thông tin truyền thông: Khi thuê bao thiết
lập một cuộc gọi, thiết bị di động sẽ truyền thông tin thiết lập cuộc gọi
cho tổng đài, nhƣ số gọi đến, loại dịch vụ và các thông tin quan trọng
khác. Các thông tin này phải đƣợc đảm bảo chống đƣợc kiểu tấn công
nghe lén. Hơn thế nữa, mọi thông tin truyền thông (Bao gồm dữ liệu âm
thanh của cuộc gọi, hay dữ liệu truyền ) cũng phải đƣợc mã hóa để
những thông tin đó không bị nghe lén bởi ngƣời không có trách nhiệm.
 Bảo mật thông tin vị trí, và tính toàn vẹn dữ liệu truyền: Khi thiết lập
một cuộc gọi, thông tin về vị trí của thuê bao sẽ đƣợc lƣu trữ tạm trong
bộ ghi địa chỉ tạm trú. Thông tin này cũng rất quan trong và cần đƣợc
bảo mật để đảm bảo hacker không truy cập và tìm ra đƣợc ví trí thuê bao.
Đồng thời phải có cơ chế để bên nhận có thể kiểm tra đƣợc tính toàn vẹn
của dữ liệu nhận đƣợc (Thƣờng là các dữ liệu văn bản – chữ).
 Chống nhân bản trái phép: Hành động nhân bản trái phép là việc 1 ngƣời
sử dụng nhân bản thông tin của thuê bao đƣợc lƣu trong thẻ SIM và nhân
bản nó sang một thẻ SIM khác để sử dụng dịch vụ với mục đích xấu.
Mạng GSM phải có cơ chế phòng vệ trƣớc hành động trái phép này.
Mạng GSM sử dụng an ninh dựa trên mật khẩu khóa đối xứng, cụ thể là giữa
ngƣời sử dụng và mạng GSM có chia sẻ một khóa dùng chung Ku. Khóa chia sẻ này
có chiều dài 128 bit đƣợc lƣu trong thẻ SIM của ngƣời dùng và ngƣời sử dụng
không thể truy cập trực tiếp đƣợc.
Hình 2.2 mô tả mô hình an ninh của mạng GSM. Theo mô tả, khi thuê bao di
động kết nối tới mạng, hệ thống sẽ sinh ra một số ngẫu nhiên RAND và gửi lại cho
thuê bao. Sau khi nhận đƣợc số ngẫu nhiên RAND, thẻ SIM sẽ sử dụng khóa chia sẻ
Ku lƣu trong SIM để tạo ra mã xác thực SRES và khóa phiên Ks. Mã xác thực SRES
sẽ đƣợc gửi lại cho hệ thống mạng, ở trên hệ thống, do cũng có khóa chia sẻ Ku và
số ngẫu nhiên RAND, hệ thống sẽ tính ra mã xác thực SRES và khóa phiên Kc một
cách độc lập với thuê bao ở dƣới. Thuê bao sẽ đƣợc xác thực nếu 2 mã SRES trùng
nhau, và khóa phiên chia sẻ Kc sẽ đƣợc sử dụng để mã hóa dữ liệu truyền thông
trong phiên làm việc đó.
47

Hình 2.2 : Mô hình an ninh mạng GSM

Trong hình mô hình 2.2 :


 A3: Là thuật toán mã hóa sinh mã xác thực SRES
 A8: Là thuật toán mã hóa sinh khóa phiên Ks
 A5: Là thuật toán mã hóa đối xứng, bảo mật thông tin trên đƣờng truyền.
Mô hình an ninh của mạng GSM cung cấp các dịch vụ an ninh: Xác thực
ngƣời dùng, bảo mật thông tin. Ta sẽ xem xét lần lƣợt từng dịch vụ an ninh của
mạng GSM.

2.1.3. Dịch vụ xác thực trong mạng GSM


Xác thực các thuê bao sử dụng trong mạng là việc hết sức quan trọng, nhờ đó
mà mạng GSM xác định đƣợc thuê bao hợp lệ của mạng và phòng chống đƣợc
những thuê bao sử dụng trái phép nhƣ tin tặc hay các thuê bao từ thẻ SIM nhân bản.
Tham gia giao thức xác thực giữa mạng GSM và thuê bao di động có 2 thành phần
đó là thẻ SIM của thuê bao di động và thành phần xác thực AuC (Authentication
Center) thuộc bộ ghi địa chỉ thƣờng trú HLR của mạng GSM.
48

Hình 2.3 : Mô hình xác thực trong mạng GSM

Giao thức xác thực giữa mạng GSM và thuê bao đƣợc thực hiện theo minh họa
ở hình 2.3 gồm các buớc sau:
 Thiết bị di động MS yêu cầu kết nối tới mạng
 MSC nhận đƣợc yêu cầu kết nối thông qua trạm BTS nó quản lý, MSC
sẽ gửi yêu cầu xác thực tới HLR
 Thành phần xác thực AuC của HLR sẽ sinh ra số ngẫu nhiên RAND,
đồng thời tính ra mã xác thực SRES, khóa phiên Kc và gửi lại cho MSC
 MSC gửi lại cho MS số ngẫu nhiên RAND
 MS dựa vào khóa chia sẻ Ku trong thẻ SIM để tính ra mã xác thực SRES
và khóa phiên Kc. Sau đó MS sẽ gửi cho MSC mã xác thực SRES.
 MSC nhận đƣợc mã xác thực SRES do MS gửi lên sẽ so sanh với mã
SRES trƣớc dấy HLR gửi. Nếu 2 mã trùng nhau, thì thuê bao đƣợc xác
thực và ngƣợc lại.
Nếu có một địch thủ nghe lén đƣợc đƣờng truyền, anh ta có thể xây dựng đƣợc
bộ từ điển (RAND, SRES) chứa các ánh xạ tƣơng ứng giữa RAND và SRES, các
giá trị này đƣợc thu lại từ các phiên xác thực trƣớc đó của thuê bao và mạng GSM.
Tuy nhiên, ngay cả khi bộ tử điển này của địch thủ đủ lớn thì địch thủ cũng rất khó
để có thể giả mạo và qua mặt đƣợc AuC. Bởi vì 2 nguyên nhân, thứ nhất là do
không gian số RAND là rất lớn (Có 2128 số RAND), do vậy địch thủ sẽ có rất ít cơ
hội để AuC gửi lại số ngẫu nhiên RAND trƣớc đó đã đƣợc sử dụng và nằm trong từ
49

điển của địch thủ. Thứ hai là AuC thực hiện việc xác thực liên tục đối với các thuê
bao sử dụng dịch vụ, do vậy địch thủ có thể may mắn vƣợt qua lần xác thực thứ
nhất, nhƣng xác xuất để vƣợt qua lần xác thức thứ hai, thứ ba một cách liên tiếp là
nhỏ. Ngay cả khi địch thủ vƣợt qua đƣợc bƣớc xác thực của AuC, nếu không có
khóa phiên Ks thì địch thủ cũng không thể giao tiếp đƣợc với mạng GSM, bởi sau
khi xác thực đƣợc với thuê bao, mạng GSM sẽ giao tiếp với thuê bao qua kênh
truyền đƣợc mã hóa bởi khóa phiên Ks. Nhƣng khóa Ks chỉ đƣợc tính độc lập từ trên
thẻ SIM và trên AuC dựa vào số ngẫu nhiên RAND và khóa chia sẻ Ku thông qua
thuật toán A8.

2.2. Xác thực trong mạng 3G


2.2.1. Giới thiệu mạng thông tin di động 3G
Mạng thông tin di động thế hệ 3, hay con gọi là mạng 3G là thế hệ tiếp theo
của mạng di động thế hệ 2, cung cấp nhiều khả năng vƣợt trội mà mạng 2G chƣa
làm đƣợc nhƣ chuyển vùng quốc tế trên toàn cầu (Bao gồm cả dịch vụ thoại và dịch
vụ dữ liệu), dịch vụ truyền dữ liệu tốc độ cao, và nhiều dịch vụ giá trị gia tăng trên
nền tảng 3G.
Do nhận thức rất sớm về tầm quan trọng của mạng thông tin di động 3G, việc
nghiên cứu và xây dựng mạng 3G đã đƣợc thực hiện rất sớm với sự tham gia của
nhiều tổ chức. Có rất nhiều đề xuất đƣợc đƣa lên, nhƣng cuối cùng liên minh viễn
thông quốc tế (ITU - International Telecommunications Union) đã tổng hợp và đƣa
ra bộ đặc tả của mạng thông tin di động thế hệ thứ 3 có ký hiệu là IMT-2000
( International Mobile Telecommunications for the year 2000). IMT-2000 hƣớng tới
xây dựng mạng thông tin động 3G hƣớng tới những mục tiêu sau:
 Cung cấp đa dạng các dịch vụ bằng vùng phủ sóng lớn với chất lƣợng
thoại tốt hơn và băng thông dữ liệu lớn hơn.
 Cung cấp tốc độ truyền dữ liệu cao hơn: 2Mbps đối với môi trƣờng cố
định, 384Kbps đối với ngƣời đi bộ, và 144Kbps đối với ngƣời di chuyển
trên xe.
 Khắc phục và tăng cƣờng mức độ an ninh so với mạng thông tin di động
thế hệ thứ 2.
 Cho phép kết nối và chuyển vùng linh hoạt.
50

Do có sự đa dạng trong các chuẩn công nghệ 3G, nên trong phần này ngoài
những đặc điểm chung, học viên xin xét cụ thể mô hình UMTS để nghiên cứu giải
pháp bảo mật trong mạng 3G.

Hình 2.4 : Kiến trúc mạng 3G UMTS

Hệ thống UMTS đƣợc Châu Âu nghiên cứu và phát triển nhƣ là một giải pháp
áp dụng 3G của Châu Âu với mong muốn kế thừa và phát triển từ hệ thống GSM.
Mạng 3G sử dụng kết hợp 2 phƣơng thức chuyển mạch là: Chuyển mạch theo kênh
(CS – Circuit Switched), và chuyển mạch theo gói (PS – Package Switched). Miền
chuyển mạch theo kênh đƣợc sử dụng trong các dịch vụ thoại, theo đó khi thực hiện
thiết lập đƣợc cuộc gọi, kênh thoại đó đƣợc giữ và nó chỉ đƣợc giải phóng khi cuộc
gọi đó kết thúc. Miền chuyển mạch theo gói đƣợc dùng trong các dịch vụ truyền dữ
liệu, theo đó dữ liệu sẽ đƣợc truyền trong các gói tin và đƣợc định tuyến trong
mạng. Việc truyền dữ liệu theo gói giúp tăng tốc độ truyền dữ liệu, đảm bảo tận
dụng đƣợc kênh truyền tốt hơn, do đó đã khắc phục đƣợc những nhƣợc điểm của
mạng GSM 2G.
Kiến trúc của mạng UMTS đƣơc thể hiện ở hình 2.4. Mạng UMTS gồm các
thành phần chính sau [16]: Comment [u13]: Noureddine Boudriga (2009),
“Security of mobile communications”, Auerbach
Publications, pp 208-212
51

 Trạm di động (Mobile Station) : Tƣơng tự nhƣ mạng GSM, trạm di động trong
mạng 3G là thiết bị di động (Điện thoại di động hoặc máy tính xách tay) và thẻ
USIM (Universal Subcriber Identity Mobile) – Là thiết bị tƣơng đƣơng với thẻ
SIM của mạng GSM nhƣng đƣợc thiết kế đặc biệt theo chuẩn 3GPP sử dụng
trong mạng 3G.
 Mạng truy cập vô tuyến (UTRAN – UMTS Terrestrial Radio Access
Network): UTRAN là thành phần quản lý các tài nguyên vô tuyến và các giao
tiếp với các trạm di động trong miền quản lý. UTRAN đóng vai trò tƣơng tự
nhƣ các trạm thu phát BTS trong mạng GSM. UTRAN gồm 2 thành phần:
 Node B : Chức năng chính của Node B là xử lý ở tầng vật lý cho việc thu
phát tín hiệu giao tiếp với MS bao gồm việc mã hóa kênh, trải phổ, điều
chế … Ngoài ra Node B còn có một số chức năng nhƣ kiểm soát chất
lƣợng tín hiệu vô tuyến, báo cáo tỷ lệ lỗi dữ liệu, hay điều khiển công
suất thu phát giúp MS có thể tiết kiệm điện năng.
 Bộ điều kiển truy cập vô tuyên (RNC – Radio Network Controller) :
RNC quản lý một hay nhiều Node B, thông qua Node B RNC quản lý
đƣợc các tài nguyên vô tuyến, điều khiển truy cập, điều khiển kênh, điều
khiển dịch chuyển của các MS từ tế bào này sang tế bào khác (handoff
control), điều khiển công suất và mã hóa kênh truyền. RNC đƣợc kết nối
với mạng lõi (Core Network) thông qua 2 giao diện là IuPS và IuCS
tƣơng ứng với miền chuyển mạch theo gói và miền chuyển mạch theo
kênh.
 Mạng lõi (CN – Core Network): Mạng lõi có nhiệm vụ chuyển dữ liệu của
ngƣời dùng đến đích, mạng lõi bao gồm các thiết bị chuyển mạch và các cổng
kết nối ra ngoài (Nhƣ kết nối sang mạng khác, hoặc kết nối ra mạng Internet).
Ngoài ra trong mạng lõi còn có các thành phần quản lý thông tin thuê bao nhƣ
bộ ghi địa chỉ thƣờng trú (HLR) và bộ ghi địa chỉ tạm trú (VLR).
Các thành phần trong miền chuyển mạch gói của UMTS đƣợc phát triển nâng
cấp từ hệ thống mạng GPRS. Các thành phần đó bao gồm:
 Nút hỗ trợ chuyển mạch gói phục vụ (SGSN – Serving GPRS Support
Node): Là thành phần quản lý chuyển mạch các gói tin dữ liệu của ngƣời
dùng. SGSN có nhiệm vụ định tuyến các gói tin dữ liệu từ mạng truy cập
vô tuyển tới các mạng khác thông qua các cổng kết nối GPRS. Đồng thời
52

SGSN cũng ghi lại lƣu lƣợng sử dụng dữ liệu của ngƣời sử dụng để phục
vụ cho việc tính toán cƣớc phí sử dụng cho thuê bao. SGSN trợ giúp
trong việc điều kiển truy cập tài nguyên mạng, phòng tránh các truy cập
trái phép và trong một số dịch vụ đặc biệt khác. SGSN đƣợc nối với
RNC của UTRAN qua cổng IuPS.
 Cổng hỗ trợ chuyển mạch gói (Gateway GPRS Support Node): GGSN là
cổng kết nối giữa mạng vô tuyến di động và mạng chuyển mạch gói.

2.2.2. Mô hình an ninh trong mạng 3G


Tƣợng tự nhƣ trong phần nghiên cứu an ninh trong mạng GSM, trong phần
này ta sẽ xét phƣơng pháp xác thực và bảo mật trọng mạng UTMS

Hình 2.5 : Mô hình an ninh mạng UMTS

Kiến trúc an ninh của mạng UMTS (Hình 2.5) đƣợc xây dựng dựa trên tập các
đặc điểm an ninh và các cơ chế bảo vệ đối với mạng UMTS. Các nhà thiết kế đã
xây dựng mạng UMTS với 5 lớp an ninh, mỗi lớp an ninh đƣợc thiết kế để đáp ứng
những mục tiêu phòng vệ cụ thể, 5 lớp an ninh bao gồm:
 Lớp an ninh truy cập mạng (Lớp 1): Cung cấp cơ chế truy cập an toàn
các dịch vụ 3G và phòng chống đƣợc các hình thức tấn công qua kênh vô
tuyến.
 Lớp an ninh miền mạng (Lớp 2) : Cung cấp cơ chế bảo mật dữ liệu
truyền giữa các nút mạng của cùng 1 nhà cung cấp dịch vụ, đồng thời
đảm bảo an ninh chống lại các loại tấn công trên mạng hữu tuyến của hệ
thống UMTS.
53

 Lớp an ninh miền ngƣời sử dụng (Lớp 3): Cung cấp cơ chế an ninh cho
ngƣời sử dụng trong việc truy cập mạng 3G và các dịch vụ từ MS
 Lớp an ninh miền ứng dụng (Lớp 4): Cung cấp cơ chế bảo mật trong việc
trao đổi dữ liệu giữa các thuê bao.
 Lớp cấu hình an ninh (Lớp 5): Cung cấp cơ chế cho ngƣời sử dụng có thể
biết đƣợc những cấu hình an ninh và thiết lập đƣợc những cấu hình an
ninh của mạng hay của dịch vụ mạng hỗ trợ.
Mỗi lớp an ninh khác nhau của UMTS có cách giải pháp khác nhau để đáp
ứng đƣợc những yêu cầu an ninh đặt ra của lớp đó. Trong phạm vi chủ đề của luận
văn, học viên xin đƣợc tập trung nghiên cứu và nêu lên giải pháp xác thực giữa MS
và mạng UMTS cho lớp an ninh mạng truy cập (Lớp 1).

2.2.3. Dịch vụ xác thực và trao đổi khóa


Khác với cơ chế xác thực trong mạng GSM, cơ chế xác thực trong mạng
UTMS là cơ chế xác thực 2 chiều. Cơ chế xác thực trong mạng UTMS đƣợc xây
dựng trên cơ sở giao thức xác thực sử dụng khóa chung chia sẻ giữa thành phần xác
thực AuC của HLR và USIM của MS. Ngoài chia sẻ một khóa chung, AuC và
USIM còn sử dụng chung 1 biến đếm, biến đếm đƣợc lƣu trên AuC đƣợc gọi là
SQNHE, ứng với mỗi thuê bao AuC sẽ lƣu một biến đếm cho riêng thuê bao đó. Ở
dƣới MS, USIM cũng lƣu và duy trì 1 biến đếm khác ký hiệu là SQNMS, biến đếm
này sẽ lƣu số thứ tự đã đếm cao nhất đƣợc USIM
54

MS VLR/SGSN AuC
1. Gửi yêu cầu kết nối
2. Y/c sinh vector xác thực

Sinh vector
xác thực AVs

3. Các vector xác thực AVs

Chọn vector xác- thực AV = RAND ||


XRES || CP || CI || AUTN
4. M = RAND || AUTN

Sinh vector xác thực, đƣợc kết quả


RES, XMAC, CP, CI.
Xác thực mạng dựa vào XMAC

5. Gửi mã xác thực RES So sánh XRES và RES


để xác thực MS

. Hình 2.6 : Giao thức xác thực 2 chiều mạng UMTS

Giao thức xác thực và trao đổi khóa trong mạng UMTS (UMTS AKA –
UMTS – Authentication and Key Agreement) đƣợc minh họa ở hình 2.6 gồm các
bƣớc sau:
 MS trƣớc khi truy cập mạng hoặc sử dụng các dịch vụ của mạng sẽ gửi yêu
cầu kết nối.
 Tùy thuộc miền sử dụng thuộc loại nào (miền chuyển mạch theo kênh, hay
chuyển mạch theo gói) mà thành phần VRL hoặc SGSN gửi yêu cầu AuC sinh
ra các vector xác thực cho thuê bao.
 AuC căn cứ vào khóa chia sẻ và biến đếm ứng với thuê bao đó sẽ sinh ra các
vector xác thực AVs= {AV1, AV2, … AVn} và gửi lại cho VLR/SGSN. Mỗi
vector xác thực gồm các thành phần sau:
 RAND: Là 1 số ngẫu nhiên có độ dài 16 byte, đƣợc AuC sinh ra dựa vào
thuật toán giả ngẫu nhiên.
55

 XRES: Là trƣờng có độ dài từ 4 byte đến 16 byte, chứa mã xác thực cần
so sánh với mã xác thực USIM gửi lên.
 CK : Có chiều dài 16 byte, dùng là khóa để mã hóa.
 CI : Là trƣờng có chiều dài 16 byte, sử dụng là khóa để bảo vệ tính toàn
vẹn dữ liệu truyền.
 AUTN : Là trƣờng 16 byte, chứa mã xác thực giúp MS có thể xác thực
ngƣợc lại tổng đài UMTS.
Ta có thể viết AV = RAND || XRES || CK || CI || AUTN
 VLR/SGSN nhận đƣợc các vector xác thực VAs sẽ chọn ngẫu nhiên 1 vector
xác thực VAi, VLR/SGSN sẽ lấy ra số RAND và AUTN gửi lại cho MS.
 MS nhận đƣợc thông điệp M= RAND || AUTN, MS sẽ gửi cho USIM, USIM
sẽ chạy lại thuật toán đã chạy trên AuC với tham số là RAND và 1 phần của
AUTN và cho ra các tham số vector xác thực gồm: RES, XMAC, CK và IK.
Nếu XMAC trùng với 8 byte cuối của AUTN thì mạng UMTS đƣợc MS xác
thực. Mã RES sẽ đƣợc gửi lại cho VLR/SGSN để xác thực với tổng đài. Các
tham số CK và IK đƣợc lƣu lại và sử dụng với mục đích bảo mật và toàn vẹn
các thông tin truyền sau này.
 VLR/SGSN nhận đƣợc mã xác thực RES từ phía ngƣời sử dụng, sẽ so sánh
với mã xác thực XRES của vector xác thực của phiên đó. Nếu 2 mã xác thực
trùng nhau thì thuê bao đƣợc xác thực.

Hình 2.7a : Sinh vector xác thực tại AuC


56

Hình 2.7b: Thuật toán sinh xác thực tại USIM

Hình 2.7a mô tả phƣơng thức AuC sinh ra vector xác thực AV. Các thành
phần của vector xác thực đƣợc sinh ra nhƣ sau:
 Tham số đầu vào: Số ngẫu nhiên RAND, khóa chia sẻ K, số ngẫu nhiên SQN,
và tham số AMF (Authentication Management Field)
 Số ngẫu nhiên RAND đƣợc sinh trực tiếp từ thuật toán sinh số giả ngẫu nhiên
PRNG
 Trƣờng xác thực XRES  f 2 ( RAND, K )

 Các trƣờng CP  f3 ( RAND, K ) , IK  f 4 ( RAND, K )

 Trƣờng cuối cùng AUTN là một trƣờng đặc biệt


AUTN  SQN  AK || AMF|| MAC

Với AK  f5 ( RAND, K ) là trƣờng trung gian, AMF là trƣờng quản lý xác thực
(Authentication Management Field) nhằm tăng tính hiệu quả của thuật toán xác
thực, MAC  f1 ( RAND, K , SQN , AMF) là trƣờng mã xác thực thông báo.

Hình 3.7b mô tả phƣơng thức USIM sinh đƣợc ra các tham số xác thực AV từ
giá trị M  RAND || AUTN mà VLR/SGSN gửi cho MS.
57

Các hàm f1 , f 2 , f3 , f 4 , f5 đƣợc cài đặt chạy bởi AuC của hệ thống và ở tại USIM
của các thuê bao, nên việc lựa chọn các thuật toán đó phụ thuộc vào mỗi nhà cung
cấp dịch vụ, miễn là đảm bảo đƣợc những yêu cầu chung của hệ thống.

2.3. Xác thực trong mạng cục bộ không dây WLAN


2.3.1. Giới thiệu về mạng cục bộ không dây WLAN
Mạng cục bộ không dây WLAN (Wireless Local Area Network) hay còn gọi
là mạng không dây Wifi là hệ thống mạng cho phép có thiết bị đầu cuối có thể truy
cập mạng cục bộ, mạng Internet thông qua môi trƣờng truyền sóng Radio.
Để các thiết bị không dây có thể kết nối nhau, và kết nối với các thiết bị trong
mạng cục bộ nhƣ một mạng cục bộ thống nhất. Tổ chức IEEE đã thiết kế chuẩn kết
nối không dây 802.11 thừa kế mô hình Ethernet – Là chuẩn kết nối mạng cục bộ có
dây đã rất thành công và phố biến đƣợc sử dụng trong mạng LAN – Theo đó IEEE
802.11 thiết kế đặc tả tầng vật lý (PHY – Physical ), và tầng điều khiển truy cập
trung gian (MAC – Medium Access Control ) nằm dƣới lớp điều kiển logic (LLC –
Logical Link Control):
 Tầng vật lý PHY : Đặc tả phƣơng thức truyền dữ liệu qua sóng radio, tầng
PHY là tầng thƣờng đƣợc thay đổi trong mỗi phiên bản sửa đổi của IEEE
802.11 nhằm nâng cao chất lƣợng truyền dữ liệu bằng việc cải tiến các phƣơng
pháp truyền.
 Tầng điều khiển truy cập trung gian MAC: Là tầng nằm trên tầng vật lý PHY,
chạy giao thức điều khiển truy cập cảm ứng đa sóng mang và chống tắc nghẽn
(CSMA/CA) – Đây là giao thức thiết kế riêng cho việc truyền frame dữ liệu
giữa các thiết bị không dây – Giao thức CSMA/CA là cải tiến của giao thức
CSMA/CD đƣợc sử dụng trong mạng Ethernet có dây nhằm đáp ứng đƣợc
những vấn đề trong truyền dữ liệu mạng không dây.
58

Hình 2.8 : Tham chiếu giữa mô hình IEEE 802.1và mô hình OSI

Công nghệ mạng WLAN có nhiều ứu điểm nhƣ: Tiện lợi, linh động, gia thành
rẻ, tiết kiệm chi phí triển khai. Tuy nhiên cũng có rất nhiều nhƣợc điểm, nhƣ phạm
vi áp dụng hẹp, tốc độ truyền vẫn chƣa bằng tốc độ mạng có dây và đặc biệt là
mạng WLAN phải đối mặt với rất nhiều nguy cơ an ninh.
Một mạng WLAN theo chuẩn 802.11, gồm những thành phần chính sau:
 Máy trạm (STA – Station) : Là các thiết bị đầu cuối, có hỗ trợ giao diện truy
cập mạng không đây, ví dụ nhƣ máy tính xách tay, điện thoại thông minh, máy
tính bảng …
 Điểm truy cập (AP – Access Point) : Điểm truy cập AP là một thiết bị có
nhiệm vụ chính là chuyển frame dữ liệu 802.11 thành frame dữ liệu của
Ethernet và ngƣợc lại. Mỗi điểm truy cập có một vùng phủ sóng đƣợc gọi là
vùng phục vụ cơ bản (BSA – Basic Service Area), một thiết bị di động trong
59

BSA có thể truy cập mạng cục bộ và các thiết bị khác. Tập các thiết bị trong
BSA đƣợc gọi là BSS (Basic Service Set).

2.3.2. Mô hình an ninh mạng WLAN


2.3.2.1. Các vấn đề an ninh trong mạng WLAN
Trƣớc khi nghiên cứu các phƣơng pháp an ninh trong mạng WLAN, ta cần
xem xét những vấn đề an ninh mang mạng WLAN có thể gặp.
Do đặc điểm truyền dữ liệu thông qua sóng radio, các vấn đền an ninh của
mạng WLAN cũng có nhiều điểm khác so với mạng LAN. Với mạng LAN, để có
tấn công đƣợc hệ thống địch thủ phải kế nối đƣợc mạng đó. Nếu địch thủ có thể
nằm vùng trong mạng thì địch thủ chỉ việc cắm đầu dây mạng vào cổng LAN của
mạng, vấn đề này thuộc về chính sách an ninh vật lý nên ta không xét ở đây. Nếu
địch thủ tấn công từ mạng bên ngoài, địch thủ sẽ phải vƣợt qua đƣợc hệ thống
tƣờng lửa của doanh nghiệp trƣớc khi xâm nhập đƣợc vào trong, điều này là cực kỳ
khó khăn. Nhƣng mới mạng WLAN thì khác, địch thủ khi năm trong vùng phủ sóng
của một điểm truy cập AP, nếu không đƣợc bảo vệ địch thủ đó có thể dễ dàng xâm
nhập đƣợc vào mạng nội bộ, từ đó có thể tiến hành đƣợc nhiều cuộc tấn công nguy
hiểm khác. Mặt khác, do mạng WLAN truyền dữ liệu bằng sóng radio, nên địch thủ
càng dễ dàng có thể thực hiện các hành vi nghe trộm, hoặc giả mạo hoặc sửa đổi
thông tin truyền của các thực thể hợp lệ trrong mạng.
Do vậy mạng nội bộ không dây an toàn phải đảm bảo đƣợc những yêu cầu về
an ninh sau:
 Tính xác thực : Chỉ máy trạm STA hợp lệ mới đƣợc phép truy cập vào
mạng WLAN.
 Tính bảo mật : Kênh dữ liệu truyền thông giữa máy trạm STA và AP
phải đƣợc bảo mật, tức là không có bên thứ ba nào có thể nghe lén đƣợc
dữ liệu truyền.
 Tính toàn vẹn : Dữ liệu truyền phải đảm bảo tính toàn vẹn, chống đƣợc
tấn công sửa đổi.

2.3.2.2. Giải pháp an ninh trong mạng WLAN


Trong chuẩn IEEE 802.11ban đầu không nêu ra một biện pháp an ninh nào áp
dụng cho mạng WLAN. Tuy nhiên một số nhà sản xuất cung cấp cơ chế lọc địa chỉ
MAC để xác định quyền truy cập của ngƣời sử dụng, theo đó thiết bị AP sẽ chỉ chấp
60

nhận những thiết bị nào có địa chỉ MAC năm trong danh sách cho phép đƣợc cài đặt
bởi ngƣời quản trị. Tuy nhiên phƣơng pháp này gặp nhiều vấn đề khi mở rộng
mạng, khi đó ngƣời quản trị phải quản lý bằng thủ công danh sách nhƣng thiết bị
đƣợc truy cập, điều này là rất khó khăn và bất tiện khi trong mạng có nhiều thiết bị.
Hơn nữa, phƣơng pháp này cũng kém an toàn bởi địa chỉ MAC của thiết bị có thể bị
địch thủ giả mạo để vƣợt quả sử kiểm soát của AP.
Phƣơng pháp bảo mật WEP (Wired equivalent privacy) đƣợc đƣa vào chuẩn
802.11b nhƣ một giải pháp để kiểm soát an ninh, tuy nhiên các nhà khoa học đã
nhận thấy nhiều lỗ hổng bảo mật trong WEP, giúp địch thủ có thể dễ dàng phá khóa
và truy cập bất hợp pháp một cách dễ dàng. Ngay sau đó, tổ chức IEEE đã nghiên
cứu và đƣa ra chuẩn cải 802.11i để khắc phục những lỗ hổng an ninh của chuẩn
WEP trong 802.11b. Trong chuẩn 802.11i, IEEE đã đƣa ra các đặc tả cho một giải
pháp an ninh mạng mạnh (RSNA – Robust Security Network Association) cho
mạng WLAN bao gồm 3 dịch vụ chính:
 Xác thực
 Quản lý và phân phối khóa
 Bảo mật và toàn vẹn dữ liệu
Năm 2003, hiệp hội Wi-Fi (WiFi Alliance ) – Là hiệp hội của các tổ chức, các
nhà sản suất, công công ty phần mềm nghiên cứu và sản suất các thiết bị không dây
trên toàn thế giới – đã giới thiệu một giải pháp an ninh WPA (Wifi Protected
Access ) để thay thế cho giải pháp WEP. Mục đích của WPA là khắc phục những lỗ
hổng an ninh của WEP và đƣa ra một phƣơng pháp an ninh an toàn hơn trong khi
chuẩn 802.11i đang đƣợc chỉnh sửa và chƣa đƣợc thông qua. Đến năm 2004, khi
chuẩn 802.11i đƣợc thông qua, hiệp hội Wi-Fi cũng đồng thời phát hành chuẩn
WPA2. Có một điểm đáng chú ý là chuẩn 802.11i bao gồm cả những giải an ninh
trƣớc đó hay giải pháp an ninh thế hệ trƣớc (PRE-RSNA) bên cạnh những giải pháp
an ninh mạnh (RSNA). Chuẩn 802.11i đặc tả các giải pháp an ninh đƣợc mô tả
trong hình 2.9.
Trong phần tiếp theo, học viên xin giới thiệu các đặc tả an ninh của chuẩn
802.11i, cụ thể là các giải pháp an ninh thế hệ trƣớc PRE-RSNA, và giải pháp an
ninh mạng mạnh (RSNA) . Do phạm vi giới hạn chủ đề của luận văn, học viên xin
đƣợc phép đi sâu về các vấn đề xác thực.
61

IEEE 802.11i

PRE-RSNA RSNA

Xác thực, Bảo mật toàn Xác thực, Điều kiển Bảo mật toàn
Tạo khóa vẹn dữ liệu Tạo khóa truy cập vẹn dữ liệu

Hệ thống mở Chia sẻ khóa EAP 802.11x


TKIP CCMP

Hình 2.9 : Giải pháp an ninh chuẩn 802.11i

2.3.3. PRE-RSNA
Giải pháp an ninh thế hệ trƣớc PRE-RSNA là giải pháp WEP đã đƣợc giới
thiệu trong chuẩn 802.11b. WEP sử dụng kỹ thuật mã hóa RC4 của hãng bảo mật
RSA để mã hóa dữ liệu, sử dụng kỹ thuật kiểm tra CRC (cyclic redundancy check)
để đảm bảo tính toàn vẹn dữ liệu. Để đảm xác thực ngƣơi sử dụng, WEP sử dụng 2
phƣơng thức: xác thực mở (OSA – Open system authentication) và hệ thống xác
thực khóa chia sẻ (SKA – Shared key authentication )
Hiện nay các giải pháp an ninh PRE-RSNA đã bộc lộ nhiều yếu điểm và có
thể bị tấn công hoàn toàn. Tuy vậy học viên xin đƣợc giới thiệu để làm mô hình
tham khảo cho các giải pháp xác thực trong mạng không dây.
2.3.2.1. Xác thực
a. Xác thực mở
Phƣơng thức xác thực mở là chế độ mặc định đƣợc cài sẵn trong AP đƣợc mô
tả trong hình 2.10a, gồm 2 bƣớc sau:
 Máy trạm STA khi muốn kết nối tới AP, STA sẽ gửi yêu cầu kết nối,
trong yêu cầu kết nối STA sẽ chỉ định trƣờng xác định phƣơng thức xác
thực là xác thực mở (Auth Alg=0).
62

 AP nhận đƣợc yêu cầu kết nối. Nếu quản trị viên không đặt chế độ lọc
địa chỉ MAC để hạn chế truy cập, AP sẽ không kiểm tra gì thêm và sẽ trả
lại thông điệp cho phép STA truy cập vào mạng

STA AP
1. Auth Request : Auth Alg = 0; Trans Num=1

2. Auth Request : Auth Alg = 0; Trans Num=2; Status=1

Hình 2.10a : Phƣơng thức xác thực mở - OSA

b. Xác thực khóa chia sẻ


Để có thể áp dụng phƣơng pháp xác thực khóa chia sẻ SKA, quản trị viên phải
cấu hình AP áp dụng mô hình khóa chia sẻ, đồng thời phải cài đặt 1 khóa truy cập
để chỉ có những máy trạm STA có khóa hợp lệ mới có thể truy cập mạng.
Mô hình xác thực khóa chia sẻ SKA đƣợc mô tả trong hình 2.10b, gồm 4 bƣớc
nhƣ sau [17] : Comment [u14]: Prapul Chanda (2005), "Bulletproof
wireless security: GSM, UMTS, 802.11, and Ad Hoc
 Bƣớc 1: Máy trạm STA khi muốn kết nối tới AP sử dụng mô hình xác Security", Newnes Publisher, pp 165

thực khóa chia sẻ, STA sẽ gửi yêu cầu kết nối, trong yêu cầu kết nối có
chỉ định rõ xác thực là xác thực khóa chia sẻ (Auth Alg = 1)
 Bƣớc 2 : AP sẽ sinh 1 số ngẫu nhiên sử dụng thuật toán sinh số giả ngẫu
nhiên có độ dài 128byte và gửi trả về cho STA
 Bƣớc 3 : STA nhận đƣợc số ngẫu nhiên sẽ mã hóa số đó bằng thuật toán
RC4 với khóa chia sẻ và vector khởi tạo IV. Sau đó STA sẽ gửi bản mã
và vector khởi tạo IV cho AP.
 Bƣớc 4: AP nhận đƣợc thống bao của STA gồm IV và bản mã, AP dùng
IV và khóa chia sẻ để giải mã bản mã nhận đƣợc. Nếu bản rõ nhận đƣợc
trùng với số ngẫu nhiên AP sinh trƣớc đó ở bƣớc 2 thì STA đƣợc xác
thực, AP gửi thông điệp cho phép STA kết nối vào mạng và ngƣợc lại.
63

STA AP
1. Auth Request : Auth Alg = 0; Trans Num=1

2. Auth Request : Auth Alg = 1; Trans Num=2; Challenge= [Số ngẫu nhiên]

3. Auth Request : Auth Alg = 1; Trans Num=3; Res’=RC4[IV||K]  Challenge

4. Auth Request : Auth Alg = 1; Trans Num=4; Status=1

Hình 2.10b : Phƣơng pháp xác thực khóa chia sẻ - SKA

2.3.2.2. Bảo mật và toàn vẹn dữ liệu


Để đảm bảo tính bí mật và tính toàn vẹn dự liệu, WEP mã hóa từng frame
(frame là đơn vị đƣợc đóng gói và truyền bởi tầng MAC) dữ liệu bằng thuật toán và
khóa chia sẻ giữa AP và STA và đóng gói thành gói dữ liệu WEP gửi cho bên nhận.
Bên nhận nhận đƣợc gói dữ liệu WEP có thể giải mã và kiểm tra tính toàn vẹn dữ
liệu của thông tin nhờ phân tích gói dữ liệu WEP.
Quá trình mã hóa gói dữ liệu WEP của bên gửi đƣợc mô tả trong hình 2.11a,
gồm những bƣớc sau [18]: Comment [u15]: Prapul Chanda (2005),
"Bulletproof wireless security: GSM, UMTS, 802.11,
 Bƣớc 1: Với mỗi frame dữ liệu M (dạng bản rõ), WEP sử dụng thuật and Ad Hoc Security", Newnes Publisher, pp 169-
170

toán CRC32 để mã hóa thành bản mã có độ dài 32 bit, đƣợc gọi là giá trị
kiểm tra tính toàn vẹn ICV (Integrity Check Value), ta viết ICV =
CRC32(M). ICV sẽ đƣợc ghép với dữ liệu M, ta viết P = M || ICV
 Bƣớc 2: Bên gửi duy trì một giá trị vector khởi tạo IV (Initialization
Vector) có độ dài 24bit, IV có không gian giá trị gồm 224 phần tử và
đƣợc sinh ngẫu nhiên với từng frame. Sau đó WEP sử dụng thuật toán
RC4 với tham số vào IV||KWEP sẽ đƣợc khóa trộn cho frame dữ liệu đó,
ký hiệu K = RC4(IV||KWEP)
64

 Bƣớc 3: Bên gửi mã hóa dữ liệu bằng cách cách XOR 2 kết quả của bƣớc
1 và bƣớc 2, ta viết C= P  K, ta đƣợc bản mã C. Bên gửi sẽ giửi cho
bên nhận thông điệp Output = IV || C
Bên nhận khi nhận đƣợc các gói dữ liệu WEP, sẽ tiến hành giải mã và kiểm tra tính
toàn vẹn của dữ liệu theo phƣơng pháp ngƣợc lại, đƣợc mô tả trong hình 2.11b

Hình 2.11a : Mã hóa gói dữ liệu

Hình 2.11b : Giải mã và kiểm tra tính toàn vẹn dữ liệu

2.3.4. RSNA
Các giải pháp xác thực mạng mạnh RSNA nằm trong chuẩn 802.11i, và đƣợc
khuyến cáo sử dụng. RSNA cung cấp các mạng WLAN các dịch vụ an ninh: Xác
thực, bảo mật, toàn vẹn dữ liệu và quản lý khóa.
2.3.4.1. Xác thực
Có 2 cơ chế xác thực mạnh trong RSNA, bao gồm:
 Xác thực dùng khóa quy ƣớc (PSK – Pre-Shared Key)
 Sử dụng giao thức xác thực 802.1x
Với xác thực khóa quy ƣớc PSK, một khóa quy ƣớc chung sẽ đƣợc cấu hình
vào AP và các STA trong mạng. Xác thực khóa quy ƣớc PSK là quá trình xác thực
65

2 phía, đƣợc tiến hành trong quá trình bắt tay 4 bƣớc, sau khi quá trình xác thực kết
thúc, cả AP và STA đều xác thực đƣợc nhau. Thông thƣờng, các khóa quy ƣớc sẽ
đƣợc quản trị viên cài đặt bằng tay, điều này chỉ phù hợp với những mạng WLan
nhỏ, khi mạng có nhiều thiết bị thì phƣơng án này không hợp lý. Đối với những
mạng lớn, việc sử dụng giao thức 802.1x đƣợc khuyến nghị.
Comment [u16]: The IEEE (2010), "IEEE
IEEE 802.1x [23] là một chuẩn của tổ chức IEEE là một tập các giao thức Standard for port-based Network Access Control"

mạng, hoạt động dựa trên cơ chế điều khiển truy cập dựa trên cổng, ban đầu đƣợc
thiết kế để xác thực các thiết bị trong mạng LAN, nhƣng đƣợc chỉnh sửa để tƣơng
tích với mạng WLAN.
IEEE 802.1x đƣa ra một giao thức có thể mở rộng EAP (Extensible
Authentiction Protocol) để thực hiện quá trình xác thực. EAP là giao thức hoạt động
ở lớp 2, các gói dữ liệu EAP sẽ đƣợc đóng gói bởi các frame dữ liệu và truyền qua
mạng LAN hoặc WLAN.
IEEE 802.1x định nghĩa 3 thực thể trong giao thức xác thực (Hình 2.13):
 Thực thể cần xác thực (Supplicant)
 Thực thể xác thực
 Server chứng thực
Hình 2.12 mô tả quan hệ giữa 3 thành phần trong giao thức xác thực 802.1x.
Thực thể cần xác thực là một chƣơng trình sử dụng kết nối không dây của STA.
Thực thể chứng thực chạy trên một máy chủ xác thực mạng NAS (Network
Authenticaiton Server), trong mạng WLAN, NAS thƣờng là các AP, máy chủ chứng
thực thƣờng là máy chủ RADIUS (Remote Authentication Dial In User Service) –
Tức máy chủ đƣợc cái dịch vụ xác thực RADIUS. Máy chủ RADIUS có vai trò
quản lý quyền truy cập trong mạng một cách tập trung thông qua các giao thức xác
thực ( Máy chủ RADIUS có thể đƣợc cài đặt nhiều giao thức xác thực, các giao
thức này sẽ đƣợc giới thiệu ở phần dƣới ), máy trạm STA sẽ xác thực với máy chủ
RADIUS thông qua AP, chỉ những máy trạm STA nào đƣợc xác thực và có quyền
truy cập dịch vụ thì dữ liệu của nó mới đƣợc phép đi qua AP.
66

Hình 2.12 : Dịch vụ xác thực của 802.1x

Sau khi thực thể cần xác thực STA đƣợc xác thực, cả STA và máy chủ chứng
thực đều cùng sinh ra một khóa phiên chính MSK (Master Session Key). Sau đó
STA sẽ tính đƣợc khóa phiên chính đôi PMK (Pairwise Master Key), trong khi đó
máy chủ chứng thực sẽ chuyển MSK cho thực thể xác thực AP, AP cũng sẽ tính
đƣợc PMK nhƣ STA. STA và AP thực hiện giao thức bắt tay 4 bƣớc để xây dựng
kênh truyền mã hóa dựa trên các cặp khóa phiên tạm thời PTK (Pairwise Transient
Key). Đến đây, AP sẽ mở cổng cho phép STA có thể truyền dữ liệu qua AP, tức là
truy cấp đƣợc mạng. Các gói dữ liệu giữa STA và AP đƣợc bảo mật hoàn toàn nhờ
đƣợc mã hóa bởi các khóa phiên thay đổi nhiều lần, do vậy địch thủ rất khó để có
thể tấn công thành công.
Giao thức xác thực EAP là một chuẩn Internet cho việc xác thực máy khách.
EAP đƣợc thiết kế mở rộng từ giao thức điểm tới điểm PPP (Point-to-Point
Protocol), và là một giao thức mở để xác thực các thực thể đầu cuối.
Trong mô hình xác thực 802.1x, máy chủ chứng thực sử dụng giao thức EAP
để chứng thực STA. AP có nhiệm vụ chuyển các gói thông điệp của STA tới máy
chủ chứng thực và ngƣợc lại. Thông điệp EAP đƣợc gửi đi trong mạng không dây
bằng cách đóng gói (encapsulation) thành gói tin EAPOL (EAP over Lan), khi đến
AP, gói tin EAPOL sẽ đƣợc cởi gói và đóng gói thành gói tin RADIUS rồi truyền
tới máy chủ chứng thực qua mạng LAN. Quá trình đó đƣợc mô tả trong hình 2.13.
67

Supplicant Authencator Auth Server


(STA) (AP) (RADIUS)

EAP EAP EAP

RADIUS RADIUS
EAPoL EAPoL
TCP/IP TCP/IP

MAC 802.11 MAC 802.11 MAC 802.3 MAC 802.3

Hình 2.13: EAPoL


Hiện nay, giao thức EAP có nhiều phƣơng pháp xác thực, gồm các loại chính
sau:
 EAP-PSK : Xác thực dựa trên khóa quy ƣớc
 EAP-MD5 : Là phƣơng pháp xác thực yếu, sử dụng hàm băm MD-5 để
xác thực, và chỉ có thể xác thực đƣợc 1 chiều (STA đƣợc xác thực).
 EAP-MSCHAPv2: Là phƣơng pháp chứng thực 2 chiều của Microsoft.
 EAP-LEAP : Là phƣơng pháp chứng thực thu gọn EAP của hãng Cisco,
EAP-LEAP có thể chứng thực 2 chiều.
 EAP-PEAP: Là phƣơng pháp chứng thực cùng đƣợc phát triển bởi
Microsoft, Cisco và hãng bảo mật RSA. EAP-PEAP cung cấp khả năng
xác thực 2 chiều.
 EAP-TLS : Là phƣơng pháp xác thực dựa trên trao đổi chứng thƣ giữa 2
bên. Từ đó cung cấp khả năng xác thực 2 chiều.
 EAP-TTLS : Là phƣơng pháp xác thực mở rộng của EAP-TLS, theo đó
máy chủ đƣợc chứng thực bởi chứng thƣ, máy khách đƣợc xác thực bởi
mật khẩu.

2.3.4.2. Bảo mật và toàn vẹn dữ liệu


RSNA đặc tả 2 phƣơng pháp giao thức mã hóa để đảm bảo tính bảo mật và
toàn vẹn dữ liệu, đó là giao thức TKIP (Temporal Key Integrity Protocol) và giao
thức CCMP (Counter Mode with Cipher Block Chaining Message Authentication
Code Protocol)
68

Giao thức TKIP hàm mã hóa RC4 để mã hóa, nhƣng phƣơng thức sử dụng bảo
mật hơn cách sử dụng trong WEP. Để đảm bảo tính an toàn của dữ liệu, TKIP đảm
bảo việc mỗi một gói dữ liệu gửi đi đƣợc mã hóa bởi 1 khóa duy nhất, do đó tránh
đƣợc sự xung đột khóa, nhờ vậy nâng cao đƣợc tính toan toàn của thuật toán. Khác
với WEP, TKIP sử dụng thuật toán Michael để đảm bảo tính toàn vẹn dữ liệu thay
vì sử dụng thuật toán CRC32.
CCMP sử dụng chuẩn mã hóa nâng cao AES. (Advanced Encryption
Standard) ở chế độ mã hóa khối Counter (Đƣợc nêu ở phần 3.2.1.2e) và CBC-MAC
để đảm bảo tính toàn vẹn dữ liệu.

2.4. Kết luận chương 2


Trong chƣơng 2, luận văn đã giới thiệu các giải pháp xác thực trong mạng
GSM, bao gồm: Tổng quan về mạng GSM, các mô hình xác thực đƣợc áp dụng
trong mạng GSM. Tiếp đó, luận văn tiếp tục xét mô hình an ninh và các giải pháp
xác thực đƣợc sử dụng trong mạng 3G. Phần cuối của chƣơng, luận văn đƣa ra một
số bài toán và các giải pháp xác thực trong mạng WLAN đang đƣợc sử dụng hiện
nay.
69

Chƣơng 3: Hệ mật mã công khai ECC và ứng dụng


trong xác thực các mạng vô tuyến

Ở các chƣơng trƣớc, học viên đã giới thiệu các vấn đề an ninh và tâm quan
trọng của xác thực trong an ninh truyền thông vô tuyến. Đồng thời, học viên cũng
giới thiệu các phƣơng pháp xác thực đã và đang đƣợc sử dụng trong các mạng vô
tuyến thế hệ sau.
Nhƣ đã đề cập, hiện nay mạng GSM đã không còn an toàn nữa. Điều này kéo
theo nhƣng mạng 3G đƣợc nâng cấp từ mạng GSM sẽ tiềm ẩn nguy cơ không an
toàn. Do đó ngƣời sử dụng mạng GSM và 3G không còn đƣợc bảo vệ nếu chỉ dựa
vào hạng tầng mạng lõi của nhà cung cấp dịch vụ. Trong khi đó, các nhu cầu về xác
thực an toàn vẫn ngày càng tăng bởi sự phát triển những dịch vụ giá trị gia tăng dựa
trên nền tảng di động. Do vậy, vấn đề xác thực trên nền tảng di động vẫn cần đƣợc
thúc đẩy phát triển.
Trong những năm trở lại đây, có sự bùng nổ mạnh mẽ của các thế hệ điện
thoại thông minh – Là những điện thoại đƣợc tích hợp những khả năng xử lý mạnh
mẽ không thua gì những chiếc máy tính – Với những chiếc điện thoại thông minh,
sẽ không có rào cản nào về năng lực xử lý, cũng nhƣ giới hạn về dung lƣợng bộ
nhớ, do vậy vấn đề xác thực trong các dịch vụ sử dụng chiếc điện thoại thông minh
có thể áp dụng nhƣ đối với những chiếc máy tính. Tuy nhiên, số lƣợng những chiếc
điện thoại thông minh vẫn còn quá ít so với phần còn lại – Là những chiếc điện
thoại đơn giản, bị hạn chế bởi năng lực xử lý cũng nhƣng dung lƣợng bộ nhớ - Mặt
khác, còn có rất nhiều thiết bị vô tuyến có hạn chế về năng lực xử lý cần đƣợc cung
cấp cơ chế quản lý và xác thực nhƣ các chip điện tử RFID, hay nhƣ các chip mạng
mạng cảm biến.
Với những nhu cầu cấp thiết về xác thực trên các thiết bị vô tuyến kể trên, việc
nghiên cứu một hệ mã hóa đơn giản, hiệu quả để có thể ứng dụng đƣợc trên các
thiết bị có ràng buộc về tài nguyên là điều cốt lõi. Hiện nay, hệ mã hóa công khai
RSA cung cấp một nền tảng phục vụ việc mã hóa và xác thực rất tốt, tuy nhiên giải
thuật cho cho thuật toán RSA đòi hỏi nhiều năng lực xử lý, và không phù hợp trên
những thiết bị di động có năng lực xử lý hạn chế. Hiện nay, có một hệ mã hóa công
khai có thể đáp ứng đƣợc những yêu cầu về xử lý hạn chế nhƣng vẫn đảm bảo đƣợc
tính bảo mật, đó là hệ mã hóa đƣờng cong Elliptics (ECC – Elliptics Curve
70

Cryptography). Trong chƣơng 3, học viên xin giới thiệu hệ mật mã ECC, và đƣa ra
đề xuất để xây dựng mô hình xác thực dựa trên hạ tầng khóa công khai áp dụng hệ
mật mã ECC.

3.1. Hệ mật mã đƣờng cong Elliptic


Cho đến nay, hệ mật mã công khai RSA vẫn là hệ mật mã đƣợc sử dụng phổ
biến nhất trong ứng dụng bảo mật và xác thực, hệ mật mã RSA đã trở thành xƣơng
sống của hạ tầng khóa công khai (PKI – Public Key Infrastructure). Do vậy việc
thám mã, và phá mã hệ mật mã RSA luôn là một đề tài nóng, đƣợc giới khoa học,
cũng nhƣ nhiều tổ chức chính phủ, phi chính phủ rất quan tâm. Cùng với sự gia tăng
sức mạnh phần cứng máy tính và những phƣơng pháp thám mã hiện đại, thì các giới
hạn của hệ mật mã RSA lần lƣợt bị vƣợt qua. Do vậy để đảm bảo độ an toàn trong
sử dụng hệ mật mã RSA, ta bắt buộc phải nâng độ dài khóa. Hiện nay, các nhà khoa
học khuyến cáo nên sử dụng độ dài khóa tối thiểu là 2048 để đảm bảo độ an toàn.
Việc nâng độ dài khóa của RSA sẽ dẫn tới số lƣợng phép tính sẽ tăng lên, do
vậy các chƣơng trình xử lý sẽ bị chậm đi. Đối với những chƣơng trình thời gian
thực (nhƣ trong các hệ thống giao dịch trực tuyến) thì điều này có ảnh hƣởng đáng
kể. Trƣớc tình hình đó, trong những năm trở lại đây, giới khoa học có sự chú ý và
đã có nhiều nghiên cứu đến hệ mật mã đƣờng cong Elliptic (ECC – Elliptics Curve
Cryptography). Điểu đặc biệt của hệ mã hóa ECC đƣợc các nhà khoa học quan tâm
đó là bởi ECC có độ an toàn tƣơng đƣơng với hệ mã hóa RSA chỉ với độ độ dài
khóa bé hơn rất nhiều. Theo công ty Certicom – công ty đi đầu trong lĩnh vực
nghiên cứu hệ mật mã ECC – với độ dài khóa 160 bit, hệ mật mã ECC cung cấp độ
an toàn tƣơng đƣơng với hệ mật mã RSA với độ dài khóa 1024 bit.

Độ dài khóa mật mã Độ dài khóa mật mã Độ dài khóa mật mã


khóa đối xứng (bit) ECC (bit) RSA (bit)
56 112 512
80 160 1024
112 224 2048
128 256 3072
192 384 7680
256 512 15360

Bảng 3.1 : So sanh độ các hệ mật mã theo chiều dài khóa


71

Trong phần tiếp theo, học viên xin nghiên cứu nền tảng toàn học của hệ mã
hóa ECC và các thuật toán mã hóa, giải mã, ký số của ECC.

3.1.1 Cơ sở toán học


3.1.1.1. Đường cong Elliptic
Comment [u17]: William Stalling (2005)
Theo William Stalling, đƣờng cong Elliptic [28] trên trƣờng số thực đƣợc định “Cryptography and Network Security”, Prentice Hall
Publisher, pp 304
nghĩa bởi phƣơng trình toan học:
y 2  axy  by  x3  cx2  dx  e (7)
Với a, b, c, d, e là các số thực. Tuy nhiên để đễ hiểu và dễ biểu diễn, ta có thể
thu gọn dạng thức tổng quát (CT 4.1) về dạng đơn giản :
y 2  x3  ax  b (8)

Với : 4a3 + 27b ≠ 0

Hình 3.1a : y 2  x3  5x  3 Hình 3.1b : y 2  x3  5x  8

Từ bây giờ, khi xét đƣờng cong Elliptic (E), ta hiểu rằng đƣờng cong đó có
phƣơng trình ở dạng thu gọn (CT 4.1b). Ta dễ dàng nhận thấy (E) có phƣơng trình
là hàm chẵn đối với biến y, do vậy đồ thị của (E) nhận trục hoành Ox là trục đối
xứng.
Với mỗi hệ số (a,b) khác nhau, ta có một đƣờng cong (E) khác nhau. Mỗi
đƣờng cong (E) khác nhau có tập hợp các điểm thuộc đƣờng cong đó.
Xét tập các điểm năm trên 1 đƣờng cong (E), ta định nghĩa các luật sau:
 Điểm Θ là điểm thuộc (E) nằm ở vô cùng, đƣợc gọi là phần tử trung hòa.
72

 Với mỗi điểm P=(x,y), phần tử đối của P là điểm –P=(x,-yy), ta định
nghĩa tổng 2 điểm P + (-P) = P – P = Θ. Ta nhận thấy phần tử -P là điểm
đối xứng của P qua trục Ox.
 Với 2 điểm P=(xP, yP) và Q = (xQ, yQ) với xP≠xQ, 1 đƣờng thẳng đi qua 2
điểm P, Q sẽ giao với (E) tại một điểm duy nhất R, ta định nghĩa điểm
R= – (P + Q). Nếu đƣờng thẳng này là tiếp tuyến của (E) tại điểm P hoặc
Q thì tƣơng ứng R ≡ P và R ≡ Q. Điểm đối xứng của R là –R đƣợc gọi
là điểm tổng của P và Q.
 Đƣờng thẳng đi qua P và –P (Tức P và Q có cùng hoành độ), sẽ giao với
(E) tại điểm vô cùng, do vậy R = P + (-P) = Θ.
 Để nhân đôi điểm P, ta vẽ tiếp tuyến của (E) tại P, tiếp tuyến này sẽ giao
với (E) tại điểm Q, ta có Q = -(P+P)=-2P. Hay –Q= 2P
Với những luật trên, tập các điểm điểm thuộc 1 đƣờng cong (E) tạo thành một
nhóm Abel. Ở phần tiếp theo, ta sẽ lần lƣợt xét kỹ hơn các phép toán cộng, phép
nhân đôi điểm, phép nhân hệ số trong nhóm Abel này. Đây chính là nền tảng để xây
dựng hệ mật mã ECC.
3.1.1.2. Phép cộng hai điểm
Phép cộng 2 điểm là phép toán cơ bản đƣợc định nghĩa để tạo thành nhóm
Abel của tập các điểm thuộc đƣờng cong (E). Phép toán cộng có thể đƣợc diễn giải
dƣới dạng giải tích nhƣ sau:
Cho 2 điểm P=(xP,yP) và Q=(xQ,yQ) với xP ≠ xQ. Đƣờng thẳng đi qua P và Q
sẽ giao với (E) tại một điểm duy nhất R. Ta định nghĩa điểm –R là điểm đối xứng
với R qua trục Ox là điểm tổng của 2 điểm P và Q. Ta viết R = P + Q. Ta có thể
biểu diễn dƣới dạng giải tích nhƣ sau:

Gọi hệ số góc của đƣờng thẳng đi qua P và Q là : s  ( yP  yQ ) ( xP  xQ )

Ta có : (xR, yR) = (xP,yP) + (xQ,yQ)


Với : xR = s2 – xP – xQ, và yR = -yP+ s(xP – xR)
73

Hình 3.2a : Phép cộng 2 điểm

Hình 3.2b : Phép cộng 2 điểm, với Q ≡ - P


74

Hình 3.2c : Phép nhân đôi điểm

Nếu P và Q có cùng hoành độ, tức xP = xQ, khi đó có 2 trƣờng hợp xảy ra:
 Nếu yP = -yQ (Bao gồm cả trƣờng hợp yP = yQ = 0). Khi đó P và Q là 2
điểm đối xứng với nhau qua trục Ox, hay Q ≡ -P (Hình 3.2b). Do vậy
điểm giao của đƣờng thẳng PQ với (E) là điểm vô cùng Θ. Do vậy điểm
tổng vẫn chính là điểm vô cùng Θ.
 Nếu yP = yQ ≠ 0. Khi đó đƣờng PQ chính là 1 tiếp tuyến của (E), khi đó
điểm tổng R = P + Q = P + P = 2P. Ta gọi R là điểm nhân đôi của điểm
P. Trong trƣờng hợp này ta có thể biểu diễn dƣới dạng giải tích nhƣ sau:

Hệ số góc của tiếp tuyến tại P : s  (3xP2  p) (2 yP )

Ta có : (xR,yR) = (xP, yP) + (xP, yP)


Với: xR = s2 – 2xP, và yR = yP + s(xR - xP)

3.1.1.3. Phép nhân hệ số nguyên


Phép nhân hệ số nguyên là một phép toán mở rộng từ phép cộng. Theo đó tích
của một điểm P thuộc đƣợc công (E) với một số nguyên dƣơng k, là một điểm M
thuộc (E), ký hiệu M = k.P. Điểm tích M đƣợc xác định bằng tổng của k điểm P.
75

Thuật toán nhân hệ số nguyên là một thuật toán quan trọng trong hệ mã hóa
ECC. Bởi vậy đã có rất nhiều nghiên cứu của các nhà khoa học, đƣa ra nhiều
phƣơng pháp để tối ƣu hóa thuật toán này. Trong cuốn sách Guide to Elliptics
Curve Cryptography [8], Hankerson đã giới thiệu 14 thuật toán. Tuy nhiên trong Comment [u18]: Guide to Elliptics Curve
Cryptography. Darrel Hankerson , Alfred Menezes,
phạm vi của luận văn, học viên chỉ giới thiệu một thuật toán đơn giản nhất để minh Scott Vanstone. 2004 - Page 95

họa phép nhân hệ số, đó là sử dụng phƣơng pháp nhị phân từ trái qua phải (left-to-
right binnary method).

Thuật toán 3.1 : Thuật toán nhân hệ số sử dụng phƣơng pháp nhị phân từ trái qua phải
Input : Điểm P  (E), hệ số k = (kt-1, … k2, k1, k0)2 là số nguyên dƣơng
Output: Điểm tích Q = k.P thuộc (E)
1: Q= 
2: for i = t-1 to 0 do
2.1 : Q = 2.Q
2.2 : if ki = 1 then
2.2.1 : Q=Q+P
3: Return Q

Trong thuật toán 3.1, số các số 1 trong biểu diễn nhị phân của hệ số k kỳ vọng
là m/2. Gọi A là thời gian của thuật toán cộng điểm, D là thời gian của thuật toán
nhân đôi điểm. Do vậy thời gian thực hiện kỳ vọng của thuật toán 3.1 là:
m A 2  m D

3.1.1.4. Đường cong Elliptic trên trường hữu hạn


Để nâng cáo hiệu quả tính toán và độ chính xác trong mã hóa và giải mã, các
phép tính toán trong hệ mật mã ECC đƣợc thực hiện trên 2 trƣờng hữu hạn, đó là
trƣờng số nguyên tố hữu hạn Fp và trƣờng nhị phân hữu hạn F2m [29]. Comment [u19]: William Stalling (2005)
“Cryptography and Network Security”, Prentice Hall
Publisher, pp 305
a. Đƣờng cong Elliptic trên trƣờng nguyên tố hữu hạn Fp
Xét đƣờng cong Elliptic (Ep) trên trƣờng nguyên tố hữu hạn Fp (p là số nguyên
tố). Một điểm P(x,y) thuộc (Ep) khi và chỉ khi thỏa mãn các điều kiện sau:
76

 x, y [0,p-1]
 2
 
 y mod p  x  ax  b mod p
3 2

Ví dụ, xét đƣờng cong Elliptic trên trƣờng số nguyên tố p = 23, a= 1, b = 1.


Ta ký hiệu là E23(1,1). Phƣơng trình của E23(1,1) là:

 
y 2 mod 23  x3  x 1 mod 23

Ta có thể nhận thấy P(9,7)  E23(1,1). Thật vậy, thay số vào ta có:

72 mod 23 = (92 + 9 + 1) mod 23


49 mod 23 = 91 mod 23
3 = 3

Bảng 3.2 liệt kêt tất cả các điểm thuộc đƣờng cong E23(1,1). Hình 3.3 biểu
diễn các điểm đó trên đồ thị:

(0, 1) (6, 4) (12, 19)


(0, 22) (6, 19) (13, 7)
(1, 7) (7, 11) (13, 16)
(1, 16) (7, 12) (17, 3)
(3, 10) (9, 7) (17, 20)
(3, 13) (9, 16) (18, 3)
(4, 0) (11, 3) (18, 20)
(5, 4) (11, 20) (19, 5)
(5, 19) (12, 4) (19, 18)

Bảng 3.2 : Các điểm thuộc đƣờng cong E23(1,1)


77

Hình 3.3 : Các điểm thuộc đƣờng cong E23(1,1) trên đồ thị
Xét tập hợp các điểm thuộc đƣờng cong Ep(a,b) trên trƣờng số nguyên tố hữu
hạn p, và (4a3 + 27b2) mod p ≠ 0. Ta định nghĩa các luật sau:
 Điểm  là phần tử đặc biệt, nằm ở vô cực, đƣợc gọi là phần tử trung hòa.
 Điểm P = (xP, yP) là điểm thuộc EP(a,b), tồn tại phần tử đối –P =(xP,y-P),
thỏa mãn ( yP + y-P ) mod p = 0. Ví dụ xét đƣờng cong E 23(1,1), phần tử
P(13,7) sẽ có phần tử đối là –P = (13,16) do (7 + 16) mod 23 = 0.
 Điểm P = (xP, yP) và Q= (xQ, yQ) là 2 phần tử thuộc Ep(a,b), với P ≠ −Q.
Khi đó tổng của 2 điểm P và Q là điểm R = (xR, yR)  Ep(a,b), ta ký hiệu
R = P + Q. Điểm R đƣợc xác định theo giải tích nhƣ sau:
xR   s 2  xP  xQ  mod p
yR    yP  s  xP  xR   mod p
 yQ  yP 
  mod p Với P ≠ Q
 xQ  xP 
Với : s  
  3xP2  a 
  2 y  mod p Với P ≡ Q
 P 
78

 Phép nhân với hệ số nguyên với điểm P đƣợc định nghĩa là tổng của các
phép cộng. Ví dụ : 3P = P + P + P
Ví dụ: Xét 2 điểm P = (3, 10) và Q = (9, 7) thuộc E23(1,1). Ta tính đƣợc:

 7  10   1 
Hệ số s    mod 23   2  mod 23  11
 9  3   

Suy ra: xR  (112  3  9)mod 23  17

yR  (10 11(3 17))mod 23  20


Vậy R = P + Q = (17, 20)
Từ 4 luật trên, tƣơng tự nhƣ tập các điểm của đƣờng cong Elliptic trên trƣờng
số thực, tập các điểm của đƣờng cong Elliptic trên trƣờng nguyên tố hữu hạn cũng
là một nhóm Abel. Để xét độ an toàn của hệ mật mã, ta cần phải xét số phần tử
trong nhóm Abel, trong trƣờng hợp này với nhóm Abel là tập các điểm thuộc
Ep(a,b), số lƣơng phần tử của nhóm là N đƣợc giới hạn bởi cận trên và cận dƣới
[30]: Comment [u20]: William Stalling (2005)
“Cryptography and Network Security”, Prentice Hall
Publisher, pp 308
p 1 2 p  N  p 1 2 p
Bằng giới hạn này, ta thấy N có giá trị xấp xỉ bằng số phần tử của Zp (bằng p)
b. Đƣờng cong Elliptic trên trƣờng nhị phân hữu hạn F2m
Trƣờng nhị phân hữu hạn F2m là trƣờng đƣợc biểu diễn thông qua 1 đa thức
bậc (m-1) với các hệ số {0,1}, do vậy trƣờng đó đƣợc gọi là trƣờng nhị phân. Số
phần tử của trƣờng F2m là 2m phần tử, các phép toán cộng và nhân trong trƣờng F2m
đều đƣợc thực hiện thông qua phép cộng và nhân đa thức [25]. Có một điều đặc biệt Comment [u21]: William Stalling (2005)
“Cryptography and Network Security”, Prentice Hall
là, do F2m là trƣờng nhị phân hữu hạn, do vậy các phép tính trên F2m có thể đƣợc Publisher, pp 120

thực hiện thông qua phép toán nhị phân, do vậy việc cài đặt F2m trên các thiết bị
phần cứng là rất hiệu quả.
Đƣờng cong ECC đƣợc biểu diễn trên trƣờng nhị phần hữu hạn F2m bằng 1
phƣơng trình bậc 3, với các biến, các hệ số và các phép toán trên F2m:

y 2  xy  x3  ax 2  b (9)
Ta ký hiệu E2m(a,b) là tập các nghiệm (x,y) thỏa mãn phƣơng trình (9) và điểm
vô cùng  .
Ví dụ: Ta xét trƣờng F24 sử dụng đa thức bất khả quy f(x) = x4 + x +1. Phần tử
sinh của F24 là g, thỏa mãn f(g) = 0 hay dƣới dạng nhị phân là g = 0010. Do f(g) = 0,
79

nên g4 = g + 1. Dựa vào mối quan hệ này ta có thể xây dựng đƣợc bảng các thành
phần trong trƣờng F24 là:

g0 = 0001 g4 = 0011 g8 = 0101 g12 = 1111

g1 = 0010 g5 = 0110 g9 = 1010 g13 = 1101

g2 = 0100 g6 = 1100 g10 = 01111 g14 = 1001

g3 = 1000 g7 = 1011 g11 = 1110 g15 = 0001

Bảng 3.3 : Các giá trị trƣờng F24

Ví dụ, ta có thể tính g5 = g4 x g= (g + 1) x g = g2 + g = 0110.


Xét đƣờng cong Elliptic E24(g4,1), tƣơng ứng với a = g4, b = g0 =1. Có phƣơng
trình là :

y 2  xy  x3  g 4 x 2 1 (10)

Ta nhận thấy điểm (g5,g3) là 1 điểm nằm trên đƣờng cong E24(g4,1). Thật vậy,
thay số vào (CT 10) ta có:

( g 3 )2  g 5  g 3  ( g 5 )3  g 4 ( g 5 )2 1

 g 6  g 8  g15  g14  1

 1100  0101  00011001 0001


 1001  1001
4 4
Đƣờng cong E2 (g ,1) có tập các điểm đƣợc liệt kê trong bảng 3.4 dƣới đây :

(0, 1) (g5, g3) (g9, g13)


(1, g6) (g5, g11) (g10, g)
(1, g13) (g6, g8) (g10, g8)
(g3, g8) (g6, g14) (g12, 0)
(g3, g13) (g9, g10) (g12, g12)

Bảng 3.4 : Các điểm thuộc đƣờng cong E24(g4,1)


80

Hình 3.4 : Các điểm thuộc đƣờng cong E24(g4,1) trên đồ thị

Xét tập các điểm thuộc E2m(a,b), với b ≠ 0. Ta định nghĩa các luật sau:
 Điểm  là phần tử đặc biệt, nằm ở vô cực, đƣợc gọi là phần tử trung hòa.
 Với P = (xP, yP) thì tồn tại điểm Q = (xQ, yQ) = (xP, xP + yP) là phần tử đối
của P, thỏa mãn P + Q = 
 Cho P = (xP, yP) và Q = (xQ, yQ) là 2 điểm phân biệt. Khi đó điểm tổng
R= P + Q = (xR, yR) đƣợc xác định nhƣ sau:
xR  s 2  s  xP  xQ  a

xR  s( xP  xR )  xR  xP  a
yQ  yP
Với : s 
xQ  xP

 Nếu P = (xP, yP), điểm R = 2P = (xR, yR) là điểm nhân đôi của điểm P.
Đƣợc xác định theo công thức sau:
xR  s2  s  a
81

xR  xP2  (s  1) xR
yP
Với s  xP 
xP

Với 4 luật nhƣ trên, tập các điểm thuộc E2m(a,b) là một nhóm Abel.

3.1.2. Hệ mật mã công khai ECC


Nhƣ đã nêu ở các phần trƣớc, cơ sở toán học để xây dựng một hệ mật mã công
khai là các bài toán một chiều. Tức các bài toán “dễ giải” theo chiều thuận, nhƣng
“rất khó giải” theo chiều ngƣợc lại. Ví dụ, trong hệ mật mã công khai RSA, bài toán
một chiều đƣợc sử dụng là bài toán phân tích 1 số nguyên dƣơng rất lớn thành tích
của 2 thừa số nguyên tố, hệ mật mã Diffie-Hellman đƣợc xây dựng dựa vào bài toán
logarit rời rạc. Tƣơng tự nhƣ hệ mật mã Diffie-Hellman, hệ mật mã đƣờng cong
Elliptic (ECC – Elliptics Curve Cryptography) đƣợc xây dựng trên cơ sở bài toán
logarit trên đƣờng cong Elliptic.
Xét phƣơng trình trên đƣờng cong Elliptic Q=k.P, trong đó P, Q ∈ E(a,b).
Theo nhƣ nội dung đã trình bày trong phần 3.1.1, từ điểm P cho trƣớc và hệ số k. Ta
có thể dễ dàng tính ra đƣợc điểm Q dựa vào các thuật toán nhân, trong đó có nhiều
thuật toán nhanh, và có thể đƣợc tối ƣu hóa bằng phần cứng. Tuy nhiên để tìm ra k
từ điểm Q và điểm P thì là một bài toán “rất khó” nếu hệ số k là một số lớn 224 bit
(Ta có thể so sánh độ an toàn của ECC với thuật toán RSA đƣợc nếu trong bảng
4.1).
Ta xét một ví dụ đƣợc đƣa ra bởi Certicom (www.certicom.com) Xét tập các
điểm thuộc đƣờng cong E23(9, 17) đƣợc xác định bởi phƣơng trình :

 
y 2 mod 23  x3  9 x 17 mod 23

Biết P = (16, 5), Q= (4, 5). Tìm hệ số k thỏa mãn Q= k.P?


Phƣơng pháp đơn giản và tự nhiên nhất để tính hệ số k là ta nhân các hệ số
nguyên tăng dần từ 2 với P rồi so sánh với điểm Q, ta có các kết quả sau:
P = (16, 5), 2P = (20, 20), 3P = (14, 14), 4P = (19, 20), 5P = (13, 10), 6P = (7,
3), 7P = (8, 7), 8P = (12, 17), 9P = (4, 5)
Đến đây, ta tính đƣợc 9P = Q = (4,5). Do vậy hệ số k phải tìm là k = 9. Trong
thực tế, các ứng dụng ECC sẽ phải sử dụng hệ số k có độ lớn để tránh bị tấn công
vét cạn
82

Hệ mật mã công khai ECC là hệ mật mã đƣợc xây dựng trên cơ sở bài toán
lograrit rời rạc trong phép nhân xét trên tập các điểm thuộc đƣờng cong Elliptic. Hệ
mật mã công khai ECC cung cấp đầy đủ 4 dịch vụ an ninh: Mã hóa, xác thực, ký số
và trao đổi khóa. Trong phần này, ta sẽ xét các thuật toán của các dịch vụ an ninh
đó.
3.1.2.1. Các tham số của hệ mật mã hóa ECC
Đã có một số các nghiên cứu mật mã công khai ECC đã đƣợc công bố nhằm
tối ƣu hóa việc lựa chọn tham số nhằm nâng cáo tính an toàn và hiệu quả việc sử
dụng hệ mật mã ECC. Ta có thể kể tên một số các khuyến nghị sau : “Recommend
Elliptic Curves For Federal and Government use” (năm 1999), “Public Key
Cryptography for the Financial Services Industry, The Elliptic Curve Digital
Signature Algorithm (ECDSA)” ANSI X9.62 (Năm 2005), “SEC2 : Recommended
Elliptic Curve Domain Parameters” Certicom reseach (Năm 2010).
Hiện nay, để tấn công hệ mật mã ECC, các nhà nghiên cứu công bố 4 phƣơng
pháp chính [9]: Tấn công Pohlig-Hellman, tấn công Polland rho, tấn công theo Comment [u22]: Darrel Hankerson , Alfred
Menezes, Scott Vanstone (2004), "Guide to Elliptics
phƣơng pháp giải tích “index-calculus”, và tấn công đẳng cấu (Isomorphism Curve Cryptography", Springer publisher, pp 154

Attacks). Việc nghiên cứu lựa chọn các tham số của hệ mã hóa ECC nhằm mục đích
khắc phục những điểm yếu của thuật toán, để tránh đƣợc những hình thức tấn công
kể trên. Do vậy, việc sử dụng và lựa chọn các tham số ECC là một việc rất quan
trọng. Trong phần phụ lục, luận văn có giới thiệu một số tham số đƣợc đƣa ra trong
khuyến nghị “SEC2 : Recommended Elliptic Curve Domain Parameters”.
a. Tham số hệ mật mã ECC trên trƣờng nguyên tố hữu hạn Fp
Tổ chức tiêu chuẩn mật mã hiệu quả (SECG – Standards for Efficient
Cryptography Group) trong bản khuyến nghị “SEC2 : Recommended Elliptic Curve
Domain Parameters” (version 2 - 2010), đã định nghĩa các tham số của hệ mật mã
ECC trên truyền nguyên tố hữu hạn Fp, bao gồm [6]: Comment [u23]: Certicom Research (2010), "SEC2 :
Recommended Elliptic Curve Domain Parameters", pp 3

T   p, a, b, G, n, h 

Trong đó :
 p: là số nguyên dƣơng xác định trƣờng nguyên tố hữu hạn Fp và
log 2 p  192, 224, 256,384,512

 a,b : Là 2 hệ số a,b ∈ Fp, xác định đƣờng cong Elliptic E(Fp) trên trƣờng
Fp :

E : y 2 mod p   x3  a.x+b  mod p


83

 G: Là điểm cơ sở thuộc E(Fp)


 n : Là một số nguyên tố và là thứ tự của điểm cơ sở G.
 h : Là phần phụ đại số (cofactor) thỏa mãn h = #E(Fp)/n. Với #E(Fp) là số
các điểm thuộc đƣờng cong E(Fp).
b. Tham số hệ mật mã ECC trên trƣờng nhị phân hữu hạn F2m
Tƣơng tự nhƣ phần a, SECG định nghĩa các tham số của hệ mật mã ECC trên
trƣờng nhị phân hữu hạn F2m. Bao gồm các tham số sau: [7] Comment [u24]: Certicom Research (2010),
"SEC2 : Recommended Elliptic Curve Domain

T   m, f ( x), a, b, G, n, h 
Parameters", pp13

Trong đó :
 m: là số nguyên dƣơng xác định trƣờng nhị phân hữu hạn F2m và
m163,233,239,283,409,571

 f(x) : Là một đa thức bất khả quy, có bậc m và là đa thức cơ sở biểu diễn
trƣờng F2m
 a,b : Là 2 hệ số a,b ∈ F2m xác định đƣờng cong Elliptic E(F2m) trên
trƣờng F2m :

E : y 2  x. y  x3  ax 2  b
 G: Là điểm cơ sở thuộc E(Fp)
 n : Là một số nguyên tố và là thứ tự của điểm cơ sở G.
 h : Là phần phụ đại số (cofactor) thỏa mãn h = #E(F2m)/n. Với #E(F2m) là
số các điểm thuộc đƣờng cong E(F2m).

3.1.2.2. Các kiểu dữ liệu trong hệ mật mã ECC


Để có thể áp dụng các phƣơng pháp mã hóa, giải mã, ký số và xác thực các
thông điệp, việc đầu tiên là phải có bƣớc chuyển đổi dữ liệu từ các dạng khác nhau
để áp dụng thuật toán. Ví dụ, thông điệp sẽ có dạng tổng quát là các xâu bit. Tuy
nhiên các xâu bit này sẽ không thể đƣợc sử dụng trong các thao tác điểm trên đƣờng
cong Elliptic, do vậy ta phải có các bƣớc chuyển đổi.
Hệ mật mã công khai ECC sử dụng 5 kiểu dữ liệu có thể chuyển đổi đƣợc cho
nhau đó là : Kiểu xâu bit, kiểu số nguyên, kiểu điểm trên đƣờng cong Elliptic, kiểu
xâu Octect, và kiểu thành phần trƣờng ( các thành phần trong trƣờng Fp hoặc F2m).
84

Do phạm vi của luận văn, mặt khác các thuật toán chuyển đổi đã đƣợc nêu chi
tiết trong khuyến nghị “SEC1: Elliptic Curve Cryptography ” (version 2 - 2009) nên
luận văn xin phép không đƣợc đi chi tiết các thuật toán chuyển đổi. Các quan hệ
chuyển đổi các kiểu dữ liệu đƣợc mô tả trong hình 3.5 dƣới đây:

Kiểu xâu bit Kiểu số nguyên

Kiểu xâu octet

Điểm điểm Kiểu trƣờng

Hình 3.5 : Quan hệ chuyển đổi giữa các kiểu dữ liệu

3.1.2.2. Thuật toán sinh khóa


Thuật toán sinh khóa của ECC đơn giản hơn thuật toán của sinh khóa của
RSA, đƣợc thực thi theo các bƣớc sau:

Thuật toán 3.2 : Thuật toán sinh khóa ECC


Input : Đƣờng cong Elliptic với tham số T(p,a,b,G,n,h) hoặc T(m,f(x),a,b,G,n,h)
Output : Khóa công khai và khóa bí mật của ECC
1 : Sinh ngẫu nhiên số nguyên dƣơng k với k < n
2 : Tính điểm Q = k . G
3: Khóa bí mật là (k,Q), khóa công khai là Q
85

3.1.2.3. Thuật toán trao đổi khóa ECDH


Hệ mật mã ECC có khả năng cung cấp dịch vụ trao đổi khóa an toàn mà
không đòi hỏi các bên phải thiết lập trƣớc một khóa bí mật chia sẻ. Phƣơng pháp
trao đổi khóa này này tƣơng tự với phƣơng pháp trao đổi khóa Diffie-Hellman nên
ta gọi đây là thuật toán ECDH (Elliptic Curve Diffie-Hellman). Thuật toán ECDH
đƣợc thực thi theo các bƣớc sau:

Thuật toán 3.3 : Thuật toán trao đổi khóa ECDH


Input : Alice và Bob thống nhất đƣờng cong Elliptic với tham số T(p,a,b,G,n,h)
hoặc T(m,f(x),a,b,G,n,h)
Ouput : Khóa công khái của Alice, Bob và khóa chia sẻ đƣợc thiết lập
1 : Alice sinh ngẫu nhiên 1 số nguyên dƣơng dA < n
2 : Alice tính điểm PA = dA x G và gửi PA cho Bob
3: Bob sinh ngẫu nhiên 1 số nguyên dƣơng dB < n
4: Bob tính điểm PB = dB x G và gửi PB cho Alice
5: Khóa công khai của Alice là PA, Alice tính khóa bí mật chia sẻ K = dA x PB.
Khóa công khai của Bob là PB, Bob tính khóa bí mật chia sẻ K = dB x PA

Alice và Bob có khả năng tính toán độc lập đƣợc khóa chia sẻ K bởi :

K  d A  PB  d A   d B  G   d B   d A  G   d B  PA

3.1.2.4. Thuật toán chữ ký điện tử ECDSA


Hệ mật mã công khai ECC cung cấp dịch vụ chữ ký điện tử tƣơng tự nhƣ hệ
mật mã RSA, thuật toán ký số ECDSA (Elliptic Curve Digital Signature Algorithm)
đã đƣợc chuẩn hóa và đƣợc đƣa vào các bộ chuẩn nhƣ ANSI X9.62, FIPS 186-2,
IEEE 1363-2000 và ISO/IEC 15946-2. Thuật toán ECDSA đƣợc mô tả chi tiết trong
“SEC1: Elliptic Curve Cryptography” [2], gồm các bƣớc sau: Comment [u25]: Certicom Research (2009),
"SEC1: Elliptic Curve Cryptography", pp 44
86

Thuật toán 3.4 : Thuật toán tạo chữ ký điện tử ECDSA


Input : Đƣờng cong Elliptic với tham số T(p,a,b,G,n,h) hoặc T(m,f(x),a,b,G,n,h),
khóa bí mật k và thông điệp M
Output : Chữ ký điện tử của M
1: Tính giá trị băm của thông điệp M, sử dụng thuật toán băm SHA1, đƣợc giá trị
băm H = SHA1(M). Chuyển xâu băm về kiểu số nguyên đƣợc số nguyên e.
2: Sinh ngẫu nhiên d (0 < d < n). Tính điểm R = d x G. Điểm R có tọa độ (xR, yR).
3: Chuyển tọa độ xR từ kiểu trƣờng sang kiểu số nguyên xR . Tính r = xR mod n.
Nếu r = 0, quay về bƣớc 2.

4: Tính giá trị s    e  k  r   d 1  mod n . Nếu s = 0, quay về bƣớc 2.

5: Chữ ký điện tử thông điệp M là (r,s)

3.1.2.5. Thuật toán xác thực chữ ký điện tử ECC


Khi Bob nhận đƣợc thông điệp M với chữ ký điện tử (r,s) đƣợc tạo bởi thuật
toán ECDSA. Bob sẽ tiến hành xác thực theo thuật toán sau [3]: Comment [u26]: Certicom Research (2009), "SEC1:
Elliptic Curve Cryptography", pp 46

Thuật toán 3.5 : Thuật toán xác thực chữ ký điện tử ECC
Input : Đƣờng cong Elliptic với tham số T(p,a,b,G,n,h) hoặc T(m,f(x),a,b,G,n,h),
khóa công khai bên gửi Q, thông điệp gửi m, và chữ ký (r,s)
Output: Chữ ký điện tử có hợp lệ không
1 : Nếu 0 < r < n thì tiếp tục bƣớc tiếp theo, nếu không trả về kết quả không hợp lệ
và kết thúc.
2 : Tính giá trị băm của thông điệp m, sử dụng thuật toán băm SHA1, ta đƣợc giá trị
H = SHA1(m). Chuyển xâu băm nhận đƣợc về kiểu số nguyên ta đƣợc số e.
3 : Tính nghịch đảo của s theo modulo n: w = s-1 mod n
4 : Tính hai giá trị : u1   e  w  mod n và u2   r  w  mod n

5 : Tính điểm R  u1  G  u2  Q . Chuyển hoành độ của R là xR từ kiểu trƣờng sang


kiểu số nguyên xR .

6 : Nếu xR ≡ r (mod n) thì thông báo chữ ký hợp lệ và ngƣợc lại.


87

Theo thuật toán ECDSA ta có :

s   e  k  r  d 1(mod n)

 d   e  k  r  s 1(mod n)

 d  e  s1  k  r  s1  e  w  k  r  w  u1  k  u2 (mod n)


Theo bƣớc 5 :
R  u1  G  u2  Q

 R  u1  G  u2  k  G   u1  u2  k   G

 R  d G
Do vậy R = (xR, yR), và xR = r (mod n)

3.1.2.6.Mô hình mã hóa tích hợp đường cong Elliptic - ECIES


Thuật toán mã hóa và giải mã của mô hình ECIES đƣợc đề xuất bởi 2 nhà
khoa học Bellare và Rogaway [10], và là một biến thể của hệ mật mã hóa công khai Comment [u27]: Darrel Hankerson , Alfred
Menezes, Scott Vanstone (2004), "Guide to Elliptics
ElGamal. ECIES đã đƣợc chuẩn hóa bởi chuẩn ANSI X9.63 và ISO/IEC 15946-3 Curve Cryptography", Springer publisher, pp 189

và đƣợc nêu trong chuẩn “SEC1: Ellitptic Curve Cryptography”.


Trong ECIES, mô hình chia sẻ khóa Diffie-Hellman đƣợc sử dụng để 2 bên
truyền thông thiết lập và chia sẻ 2 khóa k1 và k2. Trong đó k1 sẽ đƣợc sử dụng để mã
hóa thông điệp truyền bằng hệ mật mã khóa đối xứng, k 2 đƣợc sử dụng để xác thực
kết quả của bản mã.
Mô hình ECIES sử dụng các hàm chức năng sau:
 KDF (Key Derivation Function) : Là hàm sinh khóa (k1, k2) từ điểm R và
hoành độ xz của điểm Z.
 ENC : Là 1 hàm mã hóa khóa đối xứng. Ví dụ nhƣ AES.
 MAC : Hàm sinh mã xác thực thông báo. Ví dụ HMAC.
88

a. Thuật toán mã hóa ECIES


Comment [u28]: Certicom Research (2009), "SEC1:
Thuật toán mã hóa của ECIES đƣợc thực thi nhƣ sau [4] : Elliptic Curve Cryptography", pp 52-53

Thuật toán 3.6 : Thuật toán mã hóa ECIES


Input : Đƣờng cong Elliptic với tham số T(p,a,b,G,n,h) hoặc T(m,f(x),a,b,G,n,h),
khóa công khai bên nhận Q, thông điệp gửi M
Output: Bản mã của thông điệp M
1 : Sinh ngẫu nhiên số nguyên dƣơng d thỏa mãn 0 < d < n
2 : Tính điểm R  d  G và điểm Z  h  d  Q . Nếu Z = 0 thì quay lại bƣớc 1.

3 : Tính cặp khóa (k1, k2) = KDF(xZ, R)


4 : Tính bản mã sử dụng khóa k1 : C = ENC(k1, M)
5 : Tính mã xác thực thông báo cho bản mã sử dụng khóa k2 : t= MAC(k2, C)
6 : Trả về bản mã (R, C, t)

b. Thuật toán giải mã ECIES


Comment [u29]: Certicom Research (2009), "SEC1:
Ngƣợc lại với thuật toán mã hóa, thuật toán giải mã đƣợc thực thi nhƣ sau [5]: Elliptic Curve Cryptography", pp 53-54

Thuật toán 3.6 : Thuật toán mã hóa ECIES

Input : Đƣờng cong Elliptic với tham số T(p,a,b,G,n,h) hoặc T(m,f(x),a,b,G,n,h),


khóa bí mật k, và bản mã (R, C, t)
Output: Bản rõ M hoặc thông báo thông điệp không hợp lệ
1 : Kiểm tra điểm R có thuộc đƣờng cong Elliptic không. Nếu không thuộc, trả về
thông báo không hợp lệ.
2 : Tính điểm Z  h  k  R . Nếu Z = 0 thì trả về thông báo không hợp lệ.
3 : Tính cặp khóa (k1, k2) = KDF(xZ, R)
4 : Tính t’ = MAC(k2, C). Nếu t’ ≠ t, trả về thông báo không hợp lệ.
5 : Giải mã M = ENC(k1, C)
6 : Trả về bản rõ M
89

Nhƣ đã nêu ở trên, bản chất của việc mã hóa và giải mã của ECIES là thiết lập
một khóa phiên rồi sử dụng khóa phiên đó để mã hóa và giải mã theo mô hình mật
mã khóa chia sẻ. Khóa phiên trong mã hóa và giải mã chỉnh là điểm Z. Thật vậy, ta
có :
Z  h  d  Q  h  d  (k  G)  h  k  (d  G)  h  k  R

3.2. Ƣu điểm của hệ mật mã đƣờng cong Elliptic


Theo nội dung đã trình bày ở phần trên, ta nhận thấy hệ mật mã ECC cung cấp
tất cả các dịch vụ an ninh của 2 hệ mật mã công khai RSA và Diffie-Hellman. Cụ
thể hệ mật mã ECC cung cấp các dịch vụ an ninh sau:
 Trao đổi khóa an toàn
 Chống nghe lén
 Ký số
 Chống chối bỏ.
Tuy nhiên, hệ mật mã ECC có một ƣu điểm mà các hệ mật mã công khai trƣớc
đó không có đƣợc, đó là sự tƣơng thích đối với các thiết bị có năng lực tính toán
hạn chế. Do đặc điểm toán học của bài toán lograrit rời rạc trên đƣờng cong Elliptic,
độ phức tạp để tìm ra đƣợc khóa đúng tăng theo cấp số mũ khi chiều dài khóa đƣợc
tăng lên. Do vậy, hệ mật mã ECC ở cùng độ an toàn với hệ mật mã RSA chỉ cần
khóa có độ lớn bé hơn rất nhiều so với khóa của RSA (Hình 3.2). Chính nhờ tính
chất này, việc thực thi hệ mật mã ECC có những ƣu điểm sau:
 Đòi hỏi năng lực tính toán thấp
 Tiết kiệm bộ nhớ
 Tiết kiệm băng thông
 Tiết kiệm năng lƣợng

3.3. Đề xuất xây dựng hạ tầng khóa công khai cho thiết bị di động
dựa trên hệ mật mã ECC

3.3.1. Vấn đề an ninh của hệ mật mã công khai


Bên cạnh những ƣu điểm của hệ mật mã công khai nhƣ an toàn, bảo mật,
thuận tiện, các hệ mật mã công khai có cùng 1 yếu điểm, đó là dễ bị tấn công ngƣời
ở giữa (Man in the middle).
90

Giả sử Alice và Bob thực hiện trao đổi truyền thông với nhau sử dụng hệ mật
mã công khai. Để thực hiện đƣợc, Alice phải biết đƣợc khóa công khai của Bob và
ngƣợc lại Bob phải có đƣợc khóa công khai của Alice. Tuy nhiên, giả sử kẻ tấn
công Darth có thể dùng phƣơng pháp tấn công ngƣời ở giữa theo các bƣớc sau:
 Trƣớc tiên, bằng một kỹ thuật nào đó, Darth có thể xen vào kênh truyền
giữa Alice và Bob. Mọi thông tin truyền giữa Alice và Bob đều đi qua
Darth và Darth có thể kiếm soát đƣợc việc truyền thông tin đó.
 Darth sẽ tự nhận mình là Bob, Darth sẽ sinh ra một cặp khóa cho mình
và gửi khóa công khai giả mạo tới cho Alice.
 Alice sẽ tin đó là khóa công khai của Bob và gửi trở lại khóa công khai
của mình cho Darth – Ngƣời Alice tin đó là Bob.
 Darth thực hiện việc giả mạo tƣơng tự đối với Bob.
 Đến lúc này, giả sử Alice gửi 1 thông điệp mã hóa cho Bob, Alice sẽ
dùng khóa công khai của Bob – mà thực chất là khóa công khai của
Darth – để mã hóa. Do Darth đứng giữa, lại có khóa bí mật hợp lệ nên có
thể đọc lén, hoặc thậm chí sửa đổi thông điệp trong đó. Sau đó sẽ sử
dụng khóa công khai thật của Bob để mã hóa và gửi lại cho Bob.
 Tƣơng tự, khi Alice muốn ký vào 1 thông điệp, Alice sẽ sử dụng khóa bí
mật của mình để ký và gửi đi. Darth sẽ lấy thông điệp đó, sẽ sửa đổi theo
ý muốn và sử dụng khóa bí mật giả mạo để ký và gửi cho Bob. Lúc này
dó Bob sử dụng giữ khóa công khai giả mạo của Alice – Thực chất là
khóa công khai của Darth – để kiểm tra tính hợp lệ của thông điệp, điều
tất nhiên là Bob thấy thông điệp đó là hợp lệ và tin đó là thông điệp đƣợc
gửi từ Alice.
Để tránh đƣợc tấn công ngƣời ở giữa, các bên tham gia truyền thông cần một
bên thứ ba tin cậy để xác nhận khóa công khai của nhau. Bên thứ ba tin cậy là một
tổ chức phát hành chứng thƣ, hay còn gọi là CA (Certificate Authority).

3.3.2. Hạ tầng khóa công khai


Hạ tầng khóa công khai đƣợc phát triển dựa trên các hệ mật mã công khai để
cung cấp các dịch vụ định danh cho các thực thể trong các phiên xác thực.
Hạ tầng khóa công khai gồm 1 tập các chuẩn, quy định vai trò của các bên
tham gia xác thực, các chuẩn mã hóa, chuẩn lƣu trữ khóa, chuẩn phân phối khóa.
Trong hạ tầng khóa công khai có định nghĩa tổ chức chứng thực (Certificate
91

Authority - CA), có vai trò nhƣ bên thứ ba tin cậy giúp các thực thể tham gia xác
thực có thể xác thực đƣợc nhau để khắc phục nhƣợc điểm bị tấn công ngƣời ở giữa
của hệ mật mã công khai.

Hình 3.6 : Các thành phần hạ tầng khóa công khai.


Comment [u30]: William Stalling (2005)
Hình 3.6 mô tả các thành phần và hoạt động của hạ tầng khóa công khai [33]. “Cryptography and Network Security”, Prentice Hall
Publisher, pp 428-430
Hạ tầng khóa công khai gồm các thành phần sau:
 Đối tƣợng sử dụng cuối : Là đối tƣợng tham gia phiên xác thực, bao gồm
ngƣời sử dụng cuối, hoặc các thiết bị nhƣ router, switch, server. Các đối
tƣợng sử dụng cuối sở hữu 1 cặp khóa gồm 1 khóa bí mật và 1 khóa công
khai. Khóa công khai đƣợc lƣu trữ trong 1 chứng thƣ đƣợc CA phát hành
và công bố rộng rãi.
 Cơ quan chứng thực (CA) : Là cơ quan có vai trò cấp phát chứng thƣ cho
đối tƣợng sử dụng cuối. Khi đối tƣợng sử dụng cuối gửi yêu cầu cấp phát
chứng thƣ, nếu hợp lệ, CA sẽ tạo ra một chứng thƣ và ký xác nhận vào
chứng thƣ đó.
92

 Cơ quan đăng ký (RA) : Là thành phần tuy chọn, đây là cơ quan đƣợc
CA ủy quyền để tiếp nhận đăng ký phát hành chứng thƣ.
 Thành phần phát hành chứng thƣ bị thu hồi: Là bộ phận để công bố công
khai những chứng thƣ bị thu hồi, không còn giá trị sử dụng. Trong quá
trình sử dụng chứng thƣ, các thành phần cuối phải liên tục cập nhật danh
sách chứng thƣ thu hồi để kiểm tra tính hợp lệ của chứng thƣ.
 Thành phần lƣu trữ chứng thƣ: Là bộ phận lƣu trữ tập trung và công khai
các chứng thƣ đã đƣợc phát hành, để mọi đối tƣợng có thể truy cập và
lấy về chứng thƣ mình cần.

3.3.3 Chứng thƣ số


Chứng thƣ số là thành phần đƣợc CA phát hành công khai và cấp cho đối
tƣợng sử dụng cuối. Mỗi chứng thƣ số là duy nhất, chứng nhận tính xác thực khóa
công khai của đối tƣợng sở hữu, đƣợc đảm bảo bằng chữ ký số của đơn vị phát hành
chứng thƣ CA.
Cấu trúc của chứng thƣ số định nghĩa bởi chuẩn X.509 của liên minh viễn
thông quốc tế ITU-T. Cấu trúc của chứng thƣ số X.509 đƣợc mô tả trong hình 3.8 ,
gồm các trƣờng sau:
 Version : Định nghĩa phiên bản của chứng thƣ, phiên bản mới nhất hiện
nay là phiên bản 3.
 Serial number : Mã số định danh duy nhất của chứng thƣ.
 Signature algorithm Identifier : Định nghĩa thuật toán mã hóa và các
tham số đƣợc CA sử dụng để xác nhận chứng thƣ, giúp đối tƣợng sử
dụng cuối có thể kiểm tra tính hợp lệ của chứng thƣ. Các tham số này
đƣợc lặp lại trong trƣờng Signature ở cuối chứng thƣ.
 Issuer name : Tên xác định của CA theo chuẩn X.500
 Period of validity : Bao gồm ngƣời bắt đầu hiệu lực và ngày hết hạn của
chứng thƣ.
 Subject name : Tên chủ sở hữu chứng thƣ theo chuẩn X.500
 Subject's public-key information : Thông tin về khóa công khai của chủ
sở hƣu, bao gồm thuật toán sử dụng và các tham số mã hóa.
93

 Issuer unique identifier: Là trƣờng tùy chọn, chứa mã định danh duy nhất
của tổ chức phát hành chứng thƣc đƣợc dùng để phân biệt trong trƣờng
hợp các CA có tên (Issuer Name) trung nhau.
 Subject unique identifier: Là trƣờng tuy chọn, chữa mã định danh duy
nhất cho mỗi chủ sở hữu đƣợc phát hành bởi 1 CA. Trƣờng này đƣợc sử
dụng để phân biệt các chủ sở hữu trong trƣờng hợp các chủ sở hữu có
trùng tên (Subject Name)
 Extensions: Là tập các trƣờng mở rộng, chứa các thông tin liên quan
khác nhƣ địa chỉ danh sách thu hồi, địa chỉ của CA, hay chức năng của
chứng thƣ.
 Signature: Là các tham số thuật toán ký của CA và mã chứ ký của CA
trên tất cả các trƣờng phía trên.

Hình 3.7 : Cấu trúc chứng thƣ X.509


94

3.3.4. Xác thực di động dựa trên hạ tầng khóa công khai sử dụng hệ
mật mã đƣờng cong Elliptic
Nhƣ đã đề cập ở trên, hạ tầng khóa công khai sử dụng các hệ mật mã công
khai để cung các dịch vụ an ninh. Hiện nay, các chứng thƣ đƣợc phát hành hầu hết
sử dụng hệ mật mã RSA. Nếu các đối tƣợng sử dụng cuối là các thiết bị có cấu hình
cao nhƣ máy vi tính, router, hay nhƣ các thiết bị chuyên biệt thì việc triển khai
chứng thƣ sử dụng hệ mật mã RSA hoàn toàn không có trở ngại nào. Tuy nhiên,
việc triển khai hệ mật mã RSA trên các thiết bị có năng lực tính toán hạn chế nhƣ
trên các thiết bị di động thì hoàn toàn không thích hợp. Chính vì lẽ đó cho tơi nay,
các thiết bị di động gần nhƣ không thể sử dụng chứng thƣ số cho các giao dịch cần
đƣợc xác thực.
Hệ mật mã ECC là hệ mật mã công khai, có nhiều ƣu điểm vƣợt trội so với hệ
mật mã RSA, rất phù hợp cho việc áp dụng trên các thiết bị di động. Do vậy việc sử
dụng hệ mật mã công khai trên nền tảng hạ tầng khóa công khai cho phép các thiết
bị di động có thể sử dụng các chứng thƣ số mà không gặp phải những rào cản về tốc
độ xử lý cũng nhƣ hạn chế về bộ nhớ và băng thông.
Trong phần này, học viên sẽ đề xuất ứng dụng triển khai hạ tầng khóa công
khai sử dụng hệ mật mã ECC trong việc phát hành chứng thƣ cho thiết bị di động.
Việc xây dựng một hệ thống CA với đầy đủ các tính năng là một công việc rất lớn,
do vậy trong phạm vi của luận văn, học viên sẽ xây dựng giao thức cấp phát chứng
thƣ cho thiết bị di động. Sau khi chứng thƣ đƣợc phát hành thành công, việc xác
thực dựa trên dịch vụ ký số là một hoàn toàn đơn giản.
3.3.4.1. Giao thức cấp pháp chứng thư trên thiết bị di động
Giao thức cấp phát chứng thƣ cho thiết bị di động đƣợc xây dựng gồm 2 giai
đoạn:
a. Giai đoạn đăng ký cấp phát chứng thƣ
Trong giao đoạn này, ngƣời sử dụng sẽ phải đăng ký thủ tục cấp phát chứng
thƣ với đơn vị đăng ký (RA – Register Authority). Sau khi đƣợc xét duyệt, đơn vị
RA sẽ cấp cho khách hàng một mã định danh và một mã xác thực. Việc cung cấp
này đƣợc thực thi bằng nhiều biện pháp tin cậy khác nhau nhƣ bằng vật lý, hoặc
việc cung cấp cho ngƣời dùng 1 đƣờng liên kết web sử dụng giao thực https. Mã
xác thực ngƣời dùng nhận đƣợc sẽ đƣợc sử dụng để xác thực việc cấp phát chứng
thƣ cho ngƣời dùng hợp lệ.
95

Các bƣớc thực thi đƣợc mô tả trong hình vẽ dƣới đây:

Khách hàng RA

1. Thông tin đăng ký phát hành chứng thƣ

2. Kiểm tra tính hợp lệ

3. Sinh mã xác thực


RegCode

4. Truyền mã RegCode bằng theo 1 kênh an toàn

Hình 3.8 : Giao thức cấp đăng ký cấp phát chứng thƣ

b. Giai đoạn cấp phát chứng thƣ


Sau khi đăng ký phát hành chứng thƣ thành công với cơ quan RA. Ngƣời sử
dụng nhận đƣợc mã xác thực RegCode, sau đó ngƣời dùng sẽ đƣợc hƣớng dẫn cài
đặt 1 phần mềm lên thiết bị di động của mình. Phần mềm đƣợc phát triển trên nền
tảng Java sử dụng công nghệ J2ME để tƣơng thích với hầu hết các thiết bị di động
có năng lực xử lý hạn chế. Để thuận tiện, chứng thƣ của CA đƣợc cài đặt mặt định
sẵn trong phần mềm. Do vậy, để tránh sự giả mạo thì phần mềm này cũng phải đƣợc
cài đặt bằng 1 phƣơng pháp an toàn (Ví dụ cài đặt bởi các kỹ thuật viên của cơ quan
CA, hoặc phần mềm đƣợc chứng thực bởi kỹ thuật Code Signing).
Sau khi phần mềm đƣợc cài đặt, ngƣời sử dụng sẽ sử dụng phần mềm để khởi
tạo chứng thƣ và gửi yêu cầu cấp phát chứng thƣ. Giao thức pháp hành chứng thƣ
đƣợc mô tả trong hình 3.9, gồm các bƣớc sau đây:
 Bƣớc 1: Ngƣời sử dụng nhập các thông tin cần thiết, bao gồm mã ngƣơi
sử dụng và mã xác thực RegCode. Sau đó bấm nút kích hoạt yêu cầu.
Sau khi yêu cầu đƣợc kích hoạt, chƣơng trình sẽ sinh ra một mã ngẫu
nhiên Key và một số khởi tạo IV. Chƣơng trình sử dụng khóa công khai
của CA để mã hóa 3 thông tin RegCode, Key và IV, ta có thể viết
E(PuCA,RegCode || Key || IV), sau đó truyền thông điệp : ID || E(PuCA,
RegCode || Key || IV)
96

 Bƣớc 2: CA nhận đƣợc thông điệp kích hoạt từ phía Client. CA sẽ sử


dụng khóa bí mật để giải mã các thông tin RegCode, Key và IV. Sau đó
sẽ so sánh mã định danh ID và RegCode có hợp lệ không. Nếu không
hợp lệ CA sẽ trả lại thông điệp DENY. Nếu hợp lệ Server sẽ sử dụng hệ
mật mã AES và và khóa Key để mã hóa giá trị (IV + 1) và gửi lại cho
Client thông điệp: ACCEPT || EAES(Key, IV+1).
 Bƣớc 3: Client nhận đƣợc thông điệp trả lời từ CA. Nếu là thông điệp từ
chối thì Client sẽ thông báo lại cho ngƣời sử dụng. Nếu nhận đƣợc thông
điệp chấp nhận, client sẽ sử dụng khóa Key để giải mã ra giá trị (IV +
1). Đến bƣớc này, client có thể xác thực đƣợc CA dựa vào giá trị (IV+1).
 Bƣớc 4: Client sẽ sinh ra cặp khóa bí mật và khóa công khai. Khóa bí
mật sẽ đƣợc mã hóa bằng mật khẩu của ngƣời dùng. Khóa công khai sẽ
đƣợc sử dụng để sinh ra thông điệp cấp phát chứng thƣ dƣới định dạng
PKCS10 [19]. Sau đó PKCS10 và giá trị (IV+2) sẽ đƣợc mã hóa và gửi Comment [u31]: RSA Laboratories (2000) :
PKCS#10 - Certification Request Syntax Standard
cho CA : EAES(Key, PKCS10 || IV + 2)
 Bƣớc 5 : CA nhận đƣợc thông điệp gửi trả lại từ phía Client, CA sử dụng
Key để giải mã và nhận đƣợc mã PKCS10. Đến đây, CA sẽ sử dụng khóa
bí mật của mình để tạo chứng thƣ X.509 cho client. Sau đó gửi trả lại
chứng thƣ đó cho Client. Đến đây chứng thƣ của ngƣời sử dụng chính
thức có hiệu lực. Giao thức kết thúc.

Client CA
1. ID || E(PuCA, RegCode || Key || IV)

2. ACCEPT || EAES(Key, IV + 1)

3. Sinh khóa (Pr,Pu) và PKCS10

4. EAES(Key, PKCS10 || IV + 2)

5.Certificate

Hình 3.9 : Giao thức phát hành chứng thƣ


97

Ta hãy phân tích các thành phần thông điệp của giao thức chứng minh độ an
toàn của giao thức:
 Trong thông điệp thứ nhất, client gửi mã định danh và mã hóa các thông
tin RegCode, Key, IV bằng khóa công khai của CA. Do vậy chỉ CA mới
có thể đọc đƣợc nội dung phần thông điệp đƣợc mã hóa. CA sẽ đối chiếu
RegCode và ID để kiểm tra tính hợp lệ của yêu cầu phát hành chứng thƣ.
Khóa Key có tác dụng là khóa phiên bí mật giữa Client và CA trong các
phiên tiếp theo. IV là biến đếm đƣợc sử dụng kết hợp với khóa Key để
Client xác thực CA. Đồng thời có tác dụng chống tấn công gửi lặp lại.
 Trong giao thức phát hành chứng thƣ, mã RegCode đƣợc truyền bí mật
đối thủ không thể nghe lén đƣợc do đƣợc mã hóa bằng khóa công khai
của CA. Sau khi chứng thƣ đƣợc phát hành thì mã RegCode cũng không
còn tác dụng và có thể đƣợc hủy bỏ.
 Trong thông điệp 4, thông điệp PKCS10 và giá trị (IV + 2) đƣợc bảo mật
bởi hệ mật mã AES với khóa là Key. Do vậy có thể chống đƣợc tấn công
sửa đổi và tấng công gửi lặp lại.

3.3.4.2. Xác thực di động dựa trên chưng thư số sử dụng hệ mật mã ECC
Comment [u32]: William Stalling (2005)
Theo cuốn sách của William Stalling [32] chuẩn X.509 định nghĩa 3 giao thức “Cryptography and Network Security”, Prentice Hall
Publisher, pp 426
xác thực khác nhau dựa trên hạ tầng khóa công khai có thể đƣợc áp dụng một cách
tổng quát trên nhiều ứng dụng khác nhau. Giả sử Alice và Bob tham gia 1 phiên xác
thực, Alice và Bob đều có đƣợc chứng thƣ số của nhau và các chứng thƣ số này đều
đƣợc xác thực thông qua 1 tổ chức chứng thực.
3 giao thức xác thực đƣợc chuẩn X.509 định nghĩa gồm :
a. Giao thức xác thực một bƣớc
Giao thức xác thực một bƣớc đƣợc mô tả trong hình 3.10. Alice sẽ gửi cho
Bob thông điệp M = tAlice || rAlice || IDBob || SigData || E(PUBob, KAB). Trong đó :
tAlice : Là nhãn thời gian của thông điệp đƣợc gửi bởi Alice, theo đó Bob sẽ xác
định đƣợc hiệu lực thông điệp Alice gửi.
rAlice : Là một mã định danh duy nhất trong khoảng thời gian hiệu lực của
thông điệp. Tham số định danh này cho phép Bob chống đƣợc tấn công gửi lại.
98

IDBob : Định danh của Bob


SigData: Là chữ ký số của Alice trên 3 trƣờng trƣớc đó. Chữ ký số này cho
phép Bob xác thực đƣợc Alice và đảm bảo đƣợc thông điệp M không bị tấn công
sửa đổi.
KAB : Là thành phần tùy chọn, là khóa phiên giữa Alice và Bob, khóa phiên
đƣợc bảo mật bằng cách sử dụng khóa công khai của Bob để mã hóa.

Alice Bob

1. tAlice || rAlice || IDBob || SigData || E(PUBob, KAB)

Hình 3.10a: Giao thức xác thực một bƣớc

Alice Bob

1. tAlice || rAlice || IDBob || SigData || E(PUBob, KAB)

2. tBob || rBob || IDAlice || rAlice || SigData || E(PUAlice, KBA)

Hình 3.10b: Giao thức xác thực hai bƣớc

b. Giao thức xác thực hai bƣớc


Giao thức xác thực hai bƣớc đƣợc phát triển mở rộng từ giao thức xác thực
một bƣớc. Hình 3.11 mô tả giao thức xác thực hai bƣớc, ta nhân thấy ở bƣớc thứ
nhất tƣơng tự với bƣớc 1 ở giao thức xác thực một bƣớc. Thông điệp ở bƣớc thứ hai
do Bob gửi Alice có dạng: tBob || rBob || IDAlice || rAlice || SigData || E(PUAlice, KBA).
99

Các thành phần của thông điệp thứ 2 Bob gửi cho Alice có ý nghĩa tƣơng tự
nhƣ ở thông điệp 1. Chỉ có khác là trong thông điệp 2, Bob gửi trả lại tham số r Alice
cho Alice. Tham số nay nhằm mục đích định danh thông điệp Bob gửi là trả lời cho
thông điệp Alice gửi trƣớc đó.
c. Giao thức xác thực ba bƣớc

Alice Bob

1. tAlice || rAlice || IDBob || SigData || E(PUBob, KAB)

2. tBob || rBob || IDAlice || rAlice || SigData || E(PUAlice, KBA)

3. rBob

Hình 3.10c: Giao thức xác thực ba bƣớc

Tƣơng tự giao thức xác thực hai bƣớc, giao thức xác thực 3 bƣớc đƣợc phát
triển mở rộng từ giao thức xác thực 2 bƣớc. 2 thông điệp đầu của giao thức này
giống với 2 thông điệp của giao thức xác thực 2 bƣơc.
Thông điệp thứ 3 Alice gửi cho Bob là : rBob. Việc trả lại tham số rBob để Bob
không cần kiểm tra lại nhãn thời gian. Bởi vì các tham số r Alice và rBob đƣợc đƣợc
gửi 2 lần theo chiều xuôi và chiều ngƣợc lại, do vậy giúp cho Alice và Bob có thể
kiểm tra và phòng chống tấn công lặp lại. Việc này là cần thiết khi đồng hồ của Bob
và Alice là không đƣợc đảm bảo là đồng bộ.

3.3.5. Kết quả


3.3.5.1. Thiết kế chương trình
Để mô phỏng giao thức cấp phát chứng thƣ số dành cho điện thoại di động,
học viên đã xây dựng 1 chƣơng trình theo mô hình Client – Server. Trong đó :
 Client đóng vai trò là chiếc điện thoại di động khách, đƣợc triển khai
bằng công nghệ J2ME đƣợc chay mô phỏng trên công cụ Wireless
100

Toolkit 3.0. Để phục vụ cho các thao tác mật mã, học viên có sử dụng
thƣ viện mã nguồn mở Bouncy Castle phiên bản trên di động.
 Server: Đóng vai trò nhƣ CA, cung cấp dịch vụ phát hành chứng thƣ cho
phía máy khách. Server đƣợc xây dựng dựa trên công nghệ Java, sử dụng
thƣ viện mã nguồn mở Bouncy Caslte phục vụ cho các thao tác mật mã.
 Môi trƣờng truyền thông : Client sẽ sử dụng dịch vụ GPRS hoặc dịch vụ
3G để kết nối Socket tới CA. Tất cả các thông điệp trao đổi giữa Client
và CA đều đƣợc truyền qua kết nối Socket.

3.3.5.2. Các bước thực hiện


Trƣớc tiên, để Server có thể đóng vai trò là 1 CA, Server sẽ phải sinh một cặp
khóa gồm khóa bí mật và khóa công khai. Sau đó Server sẽ thực hiện tự sinh 1
chứng thƣ cho chính bản thân bằng cách lấy khóa bí mật ký xác nhận cho chứng thƣ
đƣợc sinh ra. Sau khi hoàn tất bƣớc này, Server sẽ sở hữu 1 chứng thƣ số và khóa bí
mật đƣợc sử dụng để phát hành các chứng thƣ sau này của Client. Mã nguồn việc
sinh khóa và việc tự ký của CA đƣợc trích dẫn trong phần phụ lục.
Sau đó Server CA sẽ chạy 1 dịch vụ để phục vụ việc cấp phát chứng thƣ từ các
máy khách. Để đơn giản hóa việc thực thi, học viên thiết kế Server chấp nhận tất cả
các yêu cầu cấp phát chứng thƣ với bất cứ mã ID và RegCode nào đƣợc gửi từ phía
Client.
Phía Client, ngƣời sử dụng sẽ điền các thông tin về chứng thƣ của mình, sau
đó sẽ kích hoạt giao thức phát hành chứng thƣ. Client và server thực thi giao thức
đƣợc đặc tả trong mục 3.3.4.1b
Dƣới đây là một số hình minh họa cho kết quả của chƣơng trình :
101

Hình 3.11a: Chứng thƣ của CA

Hình 3.11b: Trƣờng khóa công khai của CA


102

Hình 3.11c: Thuật toán ký của CA

Hình 3.11d: Chữ ký của CA trên chứng thƣ


103

Hình 3.11e: Form điền thông tin cấp yêu cầu phát chứng thƣ

Hình 3.11f: Chứng thƣ đƣợc phát hành bởi CA


104

Hình 3.11g: Thuật toán ký số của CA trên chứng thƣ phát hành

Hình 3.11h: Chữ ký của CA trên chứng thƣ phát hành


105

3.3.5.3. Đánh giá hiệu năng của hệ mật mã ECC


Việc đánh giá hiệu năng của hệ mật mã ECC đã có rất nhiều công trình nghiên
cứu đã chứng minh rằng hệ mật mã ECC nhanh và hiệu quả hơn so với hệ mật mã
RSA trên ở cùng 1 cấp độ an toàn. Do vậy trong luận văn, học viên sẽ không đi vào
tính toán và đánh giá lại hiệu năng của hệ mật mã ECC so với hệ mật mã RSA. Tuy
nhiên để có thể thấy rõ đƣợc sự khác biệt về hiệu suất giữa hệ mật mã ECC và RSA,
học viên xin trích lại kết quả nghiên cứu đƣợc công bố với công ty Certicom – Công
ty nghiên cứu hàng đầu về hệ mật mã ECC – đƣợc công bố năm 2005 [21] Comment [u33]: Scott Vanstone (2005) : “An
introduction to use of ECC-based certificates”. Code
and Cipher vol2, no2. pp -3

ECC RSA Symmetric ECDSA RSA Sig ECC


keysize keysize keysize Sign (Sigs/min) benefit
(Sigs/min)
224 bit 2048 bit 3DES-112 105840 2940 3600%
256 bit 3072 bit AES-128 54000 480 11250%
384 bit 7680 bit AES-192 30960 60 51600%
512 bit 15360 bit AES-256 14400 60 24000%

Bảng 3.5a : So sánh tốc độ ký giữa hệ mật mã ECC và RSA

ECC RSA Symmetric ECDSA RSA ECC


keysize keysize keysize Verify Verify benefit
(Vef/min) (Vef/min)
224 bit 2048 bit 3DES-112 47520 26880 117%
256 bit 3072 bit AES-128 22800 11280 202%
384 bit 7680 bit AES-192 11040 2160 511%
512 bit 15360 bit AES-256 5280 480 1100%

Hình 3.5b: So sanh tốc độ xác thực giữa hệ mật mã ECC và RSA

Hai bảng so sánh 3.5a và 3.5b cho ta một cái nhìn trực quan về hiệu suất giữa
hệ mật mã ECC và RSA. Ta nhận thấy, ở cùng 1 độ an toàn, độ dài khóa của RSA
tăng nhanh hơn so với độ dài khóa của ECC. Hơn nữa tốc độ thực hiện (Ký – Xác
thực trong một phút) của RSA cũng giảm nhanh hơn so với ECC.
106

3.4. Kết luận chƣơng 3


Trong chƣơng 3, với mục đích nghiên cứu phƣơng pháp xác thực phù hợp đối
với các thiết bị vô tuyến có hạn chế về năng lực tính toán và tài nguyên bộ nhớ.
Luận văn đã giới thiệu nghiên cứu hệ mã hóa đƣờng cong Elliptic, cơ sở toán học
đề xây dựng hệ mật mã ECC, các dịch vụ an ninh, các thuật toán thực thi trong hệ
mật mã ECC.
Với những ƣu điểm của hệ mật mã ECC, trong phần cuối của chƣơng, học
viên đã đề xuất khả năng xây dựng hạ tầng khóa công khai cho nền tảng di động
dựa trên hệ mật mã ECC. Để hiện thực hóa, học viên đã thiết kế giao thức và triển
khai ứng dụng cấp phát chứng thƣ cho thiết bị di động
107

Tổng kết và hƣớng nghiên cứu tiếp theo

Trong luận văn của mình, xuất phát từ những tồn tại trong vấn đề xác thực của
các mạng vô tuyến, đặc biệt là trong các mạng di động. Luận văn đã tiến hành
nghiên cứu các phƣơng pháp xác thực để từ đó bƣớc đầu tìm ra một giải pháp xác
thực có thể áp dụng đƣợc trong các mạng vô tuyến, đặc biệt là trên những thiết bị
đầu cuối có hạn chế về tốc độ xử lý và khả năng lƣu trữ. Luận văn đã nêu khái quát
các vấn đề cơ bản trong mật mã học, trong đó đi vào chi tiết 2 hệ mật mã đƣợc sử
dụng phổ biến nhất hiện nay, đó là hệ mật mã đối xứng và hệ mật mã công khai.
Sau khi giới thiệu 2 hệ mật mã, luận văn vào ứng dụng của các hệ mật mã đó trong
vấn đề xác thực, học viên đã giới thiệu chữ ký điện tử và các mô hình xác thực đƣợc
sử dụng phổ biến hiện nay. Để minh họa, trong phần tiếp theo học viên đã khảo cứu
và trình bay khái quát phƣơng pháp xác thực đƣợc sử dụng trong các mạng di động
thể hệ sau gồm mạng GSM, mạng 3G UTMS và mạng WLAN. Phần cuối cùng, học
viên đi vào nghiên cứu hệ mật mã đƣờng cong Elliptic (Elliptic Curve
Cryptography), học viên đã giới thiệu cơ sở toán học của hệ mật mã ECC, trích dẫn
và giải thích các thuật toán sinh khóa, trao đổi khóa, ký số, xác thực, mã hóa – giải
mã của hệ mật mã ECC. Do việc chứng minh sự tƣơng thích của hệ mật mã đƣờng
cong ECC đối với các thiết bị di động đã đƣợc chứng minh trong rất nhiều nghiên
cứu trƣớc đó, do vậy luận văn chỉ tổng kết lại những số liệu và đƣa ra những đánh
giá về sự tƣơng thích đó. Trong phần cuối, luận văn đã đề xuất khả năng ứng dụng
hạ tầng khóa công khai dành cho thiết bị di động dựa trên hệ mật mã ECC. Để
chứng minh, luân văn đã thiết kế giao thức cấp phát chứng thƣ giữa thiết bị di động
và cơ quan phát hành chứng thƣ.

1. Hướng nghiên cứu tiếp theo


Trong tƣơng lai, học viên có dự đinh sẽ đi vào nghiên cứu và hoàn thiện hạ
tầng khóa công khai danh cho các thiết bị di động. Xây dựng và hoàn thiện các ứng
dụng dựa trên hạ tầng khóa công khai với mục tiêu là cung cấp 1 hạng tầng xác thực
an toàn, bảo mật và có tính pháp lý, dựa trên tính pháp lý của chữ ký điện tử đã
đƣợc pháp luật Việt Nam công nhận.
108

Tài liệu tham khảo


Tiếng Anh
1. Amos Fiat and Adi Shamir "How to prove to yourself: practical solutions to
identication and signature problems". In Advances in Cryptology-Crypto 86, pages
186-194.
2. Certicom Research (2009), "SEC1: Elliptic Curve Cryptography", pp 44.
3. Certicom Research (2009), "SEC1: Elliptic Curve Cryptography", pp 46.
4. Certicom Research (2009), "SEC1: Elliptic Curve Cryptography", pp 52-53.
5. Certicom Research (2009), "SEC1: Elliptic Curve Cryptography", pp 53-54.
6. Certicom Research (2010), "SEC2: Recommended Elliptic Curve Domain
Parameters", pp 3.
7. Certicom Research (2010), "SEC2: Recommended Elliptic Curve Domain
Parameters", pp 13.
8. Darrel Hankerson , Alfred Menezes, Scott Vanstone (2004), "Guide to Elliptics
Curve Cryptography", Springer publisher, pp 95.
9. Darrel Hankerson , Alfred Menezes, Scott Vanstone (2004), "Guide to Elliptics
Curve Cryptography", Springer publisher, pp 154.
10. Darrel Hankerson , Alfred Menezes, Scott Vanstone (2004), "Guide to Elliptics
Curve Cryptography", Springer publisher, pp 189.
11. ElGamal, T. "A Public-Key Cryptosystem and a Signature Scheme Based on
Discrete Logarithms." IEEE Transactions on Information Theory, July 1985.
12. ITU-T Recommendation X.800 (1991), “Security architecture for open system
interconnection (OSI)”, pp 8-10.
13. Noureddine Boudriga (2009), “Security of mobile communications”, Auerbach
Publications, pp 59-60.
14. Noureddine Boudriga (2009), “Security of mobile communications”, Auerbach
Publications, pp 166-169.
15. Noureddine Boudriga (2009), “Security of mobile communications”, Auerbach
Publications, pp 175-179.
16. Noureddine Boudriga (2009), “Security of mobile communications”, Auerbach
Publications, pp 208-212.
109

17. Prapul Chanda (2005), "Bulletproof wireless security: GSM, UMTS, 802.11, and
Ad Hoc Security", Newnes Publisher, pp 165.
18. Prapul Chanda (2005), "Bulletproof wireless security: GSM, UMTS, 802.11, and
Ad Hoc Security", Newnes Publisher, pp 169-170.
19. RSA Laboratories (2000) : PKCS#10 - Certification Request Syntax Standard.
20. Schnorr, C. "Efficient Signatures for Smart Card." Journal of Cryptology, No. 3,
1991.
21. Scott Vanstone (2005) : “An introduction to use of ECC-based certificates”.
Code and Cipher vol2, no2. pp -3.
22. Spafford, G., http://homes.cerias.purdue.edu/~spaf/quotes.html.
23. The IEEE (2010), "IEEE Standard for port-based Network Access Control"
24. William Stalling (2005) “Cryptography and Network Security”, Prentice Hall
Publisher, pp 13-15.
25. William Stalling (2005) “Cryptography and Network Security”, Prentice Hall
Publisher, pp 120.
26. William Stalling (2005) “Cryptography and Network Security”, Prentice Hall
Publisher, pp 181-189.
27. William Stalling (2005) “Cryptography and Network Security”, Prentice Hall
Publisher, pp 266-267.
28. William Stalling (2005) “Cryptography and Network Security”, Prentice Hall
Publisher, pp 304.
29. William Stalling (2005) “Cryptography and Network Security”, Prentice Hall
Publisher, pp 305.
30. William Stalling (2005) “Cryptography and Network Security”, Prentice Hall
Publisher, pp 308.
31. William Stalling (2005) “Cryptography and Network Security”, Prentice Hall
Publisher, pp 338.
32. William Stalling (2005) “Cryptography and Network Security”, Prentice Hall
Publisher, pp 426.
33. William Stalling (2005) “Cryptography and Network Security”, Prentice Hall
Publisher, pp 428-430.
110

Phụ lục: Tham số hệ mật mã ECC


Dƣới đây là các tham số của hệ mật mã ECC trên trƣờng hữu hạn Fp, đƣợc lựa
chọn để thực thi hệ mật mã ECC đƣợc đƣa ra bởi công ty Certicom trong khuyến
nghị “SEC2: Recommended Elliptic Curve Domain Paramaters”. Các tham số cho
trên trƣờng nhị phân cũng đƣợc nêu chi tiết trong khuyên nghị trên, luận văn sẽ
không đƣa ra.
1. Secp192k1
p = FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFE FFFFEE37
a = 00000000 00000000 00000000 00000000 00000000 00000000
b = 00000000 00000000 00000000 00000000 00000000 00000003
G = 04 DB4FF10E C057E9AE 26B07D02 80B7F434 1DA5D1B1
EAE06C7D 9B2F2F6D 9C5628A7 844163D0 15BE8634 4082AA88 D95E2F9D
n = FFFFFFFF FFFFFFFF FFFFFFFE 26F2FC17 0F69466A 74DEFD8D
h = 01
2. Secp224k1
p = FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFE
FFFFE56D
a = 00000000 00000000 00000000 00000000 00000000 00000000 00000000
b = 00000000 00000000 00000000 00000000 00000000 00000000 00000005
G = 04 A1455B33 4DF099DF 30FC28A1 69A467E9 E47075A9 0F7E650E
B6B7A45C 7E089FED 7FBA3442 82CAFBD6 F7E319F7 C0B0BD59
E2CA4BDB 556D61A5
n = FFFFFFFF FFFFFFFF FFFFFFFE 26F2FC17 0F69466A 74DEFD8D
h = 01
3. Secp256k1
p = FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF
FFFFFFFE FFFFFC2F
a = 00000000 00000000 00000000 00000000 00000000 00000000 00000000
111

00000000
b = 00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000007
G = 04 79BE667E F9DCBBAC 55A06295 CE870B07 029BFCDB
2DCE28D9 59F2815B 16F81798 483ADA77 26A3C465 5DA4FBFC 0E1108A8
FD17B448 A6855419 9C47D08F FB10D4B8
n = FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFE BAAEDCE6 AF48A03B
BFD25E8C D0364141
h = 01
4. Secp384r1
p = FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF
FFFFFFFF FFFFFFFE FFFFFFFF 00000000 00000000 FFFFFFFF
a = FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF
FFFFFFFF FFFFFFFE FFFFFFFF 00000000 00000000 FFFFFFFC
b = B3312FA7 E23EE7E4 988E056B E3F82D19 181D9C6E FE814112
0314088F 5013875A C656398D 8A2ED19D 2A85C8ED D3EC2AEF
G = 04 AA87CA22 BE8B0537 8EB1C71E F320AD74 6E1D3B62
8BA79B98 59F741E0 82542A38 5502F25D BF55296C 3A545E38 72760AB7
3617DE4A 96262C6F 5D9E98BF 9292DC29 F8F41DBD 289A147C E9DA3113
B5F0B8C0 0A60B1CE 1D7E819D 7A431D7C 90EA0E5F
n = FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF
C7634D81 F4372DDF 581A0DB2 48B0A77A ECEC196A CCC52973
h = 01
5. Secp521r1
p = 01FF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF
FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF
FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF
a = 01FF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF
FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF
FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFC
112

b = 0051 953EB961 8E1C9A1F 929A21A0 B68540EE A2DA725B


99B315F3 B8B48991 8EF109E1 56193951 EC7E937B 1652C0BD 3BB1BF07
3573DF88 3D2C34F1 EF451FD4 6B503F00
G = 04 00C6858E 06B70404 E9CD9E3E CB662395 B4429C64 8139053F
B521F828 AF606B4D 3DBAA14B 5E77EFE7 5928FE1D C127A2FF
A8DE3348 B3C1856A 429BF97E 7E31C2E5 BD660118 39296A78 9A3BC004
5C8A5FB4 2C7D1BD9 98F54449 579B4468 17AFBD17 273E662C 97EE7299
5EF42640 C550B901 3FAD0761 353C7086 A272C240 88BE9476 9FD16650
n = 01FF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF
FFFFFFFF FFFFFFFF FFFFFFFA 51868783 BF2F966B 7FCC0148 F709A5D0
3BB5C9B8 899C47AE BB6FB71E 91386409
h = 01

You might also like