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

Ký số từ xa và ứng dụng

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

TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI

LUẬN VĂN THẠC SĨ
KÝ SỐ TỪ XA VÀ ỨNG DỤNG
NGUYỄN DUY GIANG

Ngành Toán Tin

Giảng viên hướng dẫn:

TS. Vũ Thành Nam

Viện:

Toán ứng dụng và Tin học

HÀ NỘI, 12/2021

Chữ ký của GVHD


CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM
Độc lập – Tự do – Hạnh phúc

BẢN XÁC NHẬN CHỈNH SỬA LUẬN VĂN THẠC SĨ
Họ và tên tác giả luận văn: Nguyễn Duy Giang
Đề tài luận văn: Ký số từ xa và ứng dụng
Chuyên ngành: Toán Tin
Mã số SV: CB190315

Tác giả, Người hướng dẫn khoa học và Hội đồng chấm luận văn xác nhận tác


giả đã sửa chữa, bổ sung luận văn theo biên bản họp Hội đồng ngày 18/12/2021
với các nội dung sau:
• Căn chỉnh định dạng bảng biểu.
• Thêm tài liệu tham khảo cho một số hình ảnh, trích dẫn.

Ngày 16 tháng 01 năm 2022
Giáo viên hướng dẫn

Tác giả luận văn

CHỦ TỊCH HỘI ĐỒNG

1


ĐỀ TÀI LUẬN VĂN
KÝ SỐ TỪ XA VÀ ỨNG DỤNG
Giáo viên hướng dẫn
Ký và ghi rõ họ tên

2


LỜI CẢM ƠN
Lời đầu tiên, tơi xin bày tỏ lịng biết ơn sâu sắc tới TS. Vũ Thành Nam, trưởng
bộ mơn Tốn Tin trường Đại học Bách Khoa Hà Nội, đã giúp đỡ tơi rất nhiều trong
q trình tìm kiếm tài liệu cũng như hoàn thành luận văn này. Sự chỉ bảo tận tình
của thày trong quá trình nghiên cứu để hoàn thiện những ý tưởng ban đầu cho đến
khi luận văn được hoàn thành là trợ giúp rất lớn đối với tơi.
Tiếp theo, tơi xin bày tỏ lịng biết ơn chân thành tới tồn thể các thầy cơ giáo

trong bộ mơn Tốn Tin, viện Tốn Ứng dụng và Tin học, Đại Học Bách Khoa Hà
Nội đã nhiệt tình hướng dẫn, giải đáp các thắc mắc.
Tôi cũng xin cảm ơn các bạn học cùng lớp Cao học Toán Tin 2019B, các anh
chị, bạn bè, đồng nghiệp của tơi đã có những đóng góp giúp tơi có thể hồn chỉnh
luận văn này.
Cuối cùng tơi xin gửi lời cảm ơn gia đình tôi, những người đã luôn ở bên
cạnh động viên, ủng hộ tơi rất nhiều trong q trình học và hồn thiện luận văn.
Luận văn của tơi cịn có nhiều thiếu sót, rất mong nhận được những ý kiến
đóng góp từ các thầy, cô, cũng như từ các bạn đồng nghiệp để có thể hồn thiện
kiến thức của mình, cũng như tiếp tục hướng nghiên cứu này.
Tôi xin chân thành cảm ơn!

Hà Nội, tháng 12 năm 2021

3


TÓM TẮT NỘI DUNG LUẬN VĂN
Hiện nay, việc sử dụng mật mã khố cơng khai và dịch vụ chứng thực điện
tử để đảm bảo an tồn thơng tin trong các hoạt động giao dịch điện tử là giải pháp
được nhiều quốc gia trên thế giới sử dụng. Chữ ký số ngày càng trở nên phổ biến
do những ưu điểm tốc độ ký nhanh, chính xác và dễ dàng kiểm định. Tuy nhiên
vẫn còn tồn tại những hạn chế như tốn kém, kém linh hoạt do cần thiết bị chuyên
dùng.
Với sự phát triển mạnh mẽ của thiết bị di động (máy tính bảng, điện thoại di
động, laptop,…), việc trao đổi thơng tin, thực hiện các giao dịch điện tử trực tuyến
như tài chính, hành chính cơng ngày càng trở nên phổ biến. Khơng nằm ngồi xu
thế đó, chữ ký số cũng đã và đang được các quốc gia trên thế giới nghiên cứu và
triển khai trên nền tảng di dộng, tùy thuộc vào trình độ phát triển CNTT và hiện
trạng ứng dụng KPI của từng nước. Ký số trên di động đã tháo gỡ những khó khăn

của chữ ký số truyền thống, giúp việc ký số trở nên dễ dàng, minh bạch và tiết
kiệm chi phí.
Ở Việt Nam, chữ ký số và dịch vụ chứng thực chữ ký số truyền thống trên
các máy tính đã được triển khai rộng rãi. Tuy nhiên, chữ ký số mới chỉ được sử
dụng chủ yếu bởi các cơ quan chính phủ và doanh nghiệp. Việc ứng dụng chữ ký
số qua thiết bị di động đang có nhu cầu rất lớn và sẽ giúp thêm nhiều đối tượng cá
nhân và doanh nghiệp tiếp cận được với chữ ký số.
Thấy được tiềm năng của chữ ký số từ xa, qua báo cáo luận văn tốt nghiệp
này, tôi đi vào nghiên cứu về chữ ký số cũng như các thành phần, quy trình và tiêu
chuẩn ký số từ xa, và áp dụng trong việc xây dựng ứng dụng hỗ trợ ký số từ xa.
Trong khuôn khổ đề tài, tôi tập trung vào các vấn đề nghiên cứu sau đây:
• Mật mã và chữ ký số
• Các thành phần, quy trình và các tiêu chuẩn ký số từ xa.
• Ứng dụng hỗ trợ ký số từ xa.

4


Kết quả của nghiên cứu này định hình hóa một phương án triển khai hệ thống,
ứng dụng hỗ trợ ký số từ xa phù hợp với các tiêu chuẩn được ban hành của Việt
Nam và thế giới.
Ứng dụng sẽ giúp người dùng tiết kiệm thời gian, chi phí và bảo đảm an toàn
cho các giao dịch. Dịch vụ web cũng có thể được cơng khai để sử dụng bởi các
ứng dụng hỗ trợ ký số từ xa khác.

5


MỤC LỤC
DANH MỤC HÌNH VẼ .............................................................................. 10

DANH MỤC BẢNG BIỂU......................................................................... 12
LỜI MỞ ĐẦU ............................................................................................. 14
Lý do chọn đề tài ..................................................................................... 15
Đối tượng và phạm vi nghiên cứu ........................................................... 15
Ý nghĩa khoa học và thực tiễn của đề tài ................................................ 16
CHƯƠNG 1. TỔNG QUAN VỀ CHỮ KÝ SỐ........................................ 17
1.1

Mật mã .......................................................................................... 17

1.1.1 Nguyên lý mã hóa .................................................................... 17
1.1.2 Hệ mã khóa đối xứng ............................................................... 18
1.1.3 Hệ mã khóa cơng khai ............................................................. 19
1.2

Chữ ký số ...................................................................................... 22

1.2.1 Ý nghĩa của chữ ký viết tay ..................................................... 23
1.2.2 Giải pháp chữ ký số ................................................................. 24
1.2.3 Chứng thực khóa cơng khai ..................................................... 29
1.2.4 Những ưu thế và tầm quan trọng của chữ ký số ...................... 36
CHƯƠNG 2. KÝ SỐ TỪ XA ................................................................... 38
2.1

Ngữ cảnh về ký số từ xa ............................................................... 38

2.1.1 Giới thiệu ................................................................................. 38
2.1.2 Thách thức ............................................................................... 39
2.1.3 Những ưu thế của giải pháp ký số từ xa .................................. 40
2.1.4 Tính pháp lý ở EU.................................................................... 43

2.2

Hệ sinh thái và mơ hình tổng thể ký số từ xa ............................... 43

2.2.1 Dịch vụ eID .............................................................................. 44
6


2.2.2 Cơ quan chứng nhận (CA) ....................................................... 45
2.2.3 Cơ quan nhãn thời gian (TSA) ................................................. 45
2.2.4 Dịch vụ tạo và niêm phong chữ ký (SigS) ............................... 45
2.2.5 Dịch vụ Xác minh (ValS) ........................................................ 46
2.2.6 Dịch vụ bảo lưu (PresS) ........................................................... 46
2.2.7 Dịch vụ giao hàng điện tử (EDS)............................................. 46
2.3

Mô tả các Tiêu chuẩn ................................................................... 47

2.3.1 Tiêu chuẩn bảo mật 419 241-1 ................................................ 48
2.3.2 Tiêu chuẩn bảo mật 419 241-2 ................................................ 49
2.3.3 Tiêu chuẩn bảo mật 119 431 .................................................... 49
2.3.4 Tiêu chuẩn bảo mật 119 432 .................................................... 50
2.3.5 Tiêu chuẩn bảo mật 419 221-5 ................................................ 51
2.4

Các thành phần và quy trình ký số từ xa ...................................... 52

2.4.1 Các thành phần......................................................................... 52
2.4.2 Quy trình ký số từ xa ............................................................... 54
2.5


Tình hình thực tế ở Việt Nam....................................................... 55

2.5.1 Tình hình phát triển và ứng dụng chữ ký số ............................ 55
2.5.2 Tình hình phát triển và ứng dụng chữ ký số từ xa ................... 59
CHƯƠNG 3. ỨNG DỤNG HỖ TRỢ KÝ SỐ TỪ XA............................. 61
3.1

Tổng quan ứng dụng ..................................................................... 61

3.2

Phân tích yêu cầu .......................................................................... 64

3.2.1 Sơ đồ phân rã chức năng .......................................................... 64
3.2.2 Chức năng kích hoạt thiết bị .................................................... 65
3.2.3 Chức năng đăng nhập............................................................... 66
3.2.4 Chức năng đăng xuất ............................................................... 67
3.2.5 Chức năng cập nhật thông tin tài khoản .................................. 67
7


3.2.6 Chức năng đổi mật khẩu .......................................................... 68
3.2.7 Chức năng xem yêu cầu ký ...................................................... 69
3.2.8 Chức năng chấp nhận yêu cầu ký ............................................ 69
3.2.9 Chức năng từ chối yêu cầu ký.................................................. 70
3.2.10 Chức năng xem chứng thư ..................................................... 71
3.3

Thiết kế cơ sở dữ liệu ................................................................... 72


3.3.1 Mơ hình thực thể liên kết ......................................................... 72
3.3.2 Bảng users ................................................................................ 72
3.3.3 Bảng devices ............................................................................ 73
3.3.4 Bảng inactive_devices ............................................................. 75
3.3.5 Bảng credentials ....................................................................... 76
3.3.6 Bảng transactions ..................................................................... 80
3.4

Thiết kế dịch vụ Web ................................................................... 83

3.4.1 API xác thực ............................................................................ 83
3.4.2 API yêu cầu ký ......................................................................... 90
3.4.3 API chứng thư .......................................................................... 96
3.5

Thiết kế giao diện ......................................................................... 99

3.5.1 Giao diện kích hoạt thiết bị ...................................................... 99
3.5.2 Giao diện đăng nhập .............................................................. 100
3.5.3 Giao diện cá nhân .................................................................. 101
3.5.4 Giao diện cập nhật tài khoản.................................................. 102
3.5.5 Giao diện đổi mật khẩu .......................................................... 103
3.5.6 Giao diện thông tin yêu cầu ký .............................................. 104
3.5.7 Giao diện chấp nhận yêu cầu ký ............................................ 105
3.5.8 Giao diện từ chối yêu cầu ký ................................................. 106
3.5.9 Giao diện thông tin chứng thư ............................................... 107
8



3.5.10 Giao diện cài đặt ứng dụng .................................................. 108
KẾT LUẬN ............................................................................................... 110
TÀI LIỆU THAM KHẢO ......................................................................... 111

9


DANH MỤC HÌNH VẼ
Hình 1.1 Lược đồ mã hóa ............................................................................ 17
Hình 1.2 Hệ mã khóa đối xứng ................................................................... 19
Hình 1.3 Lược đồ hệ mã khóa cơng khai .................................................... 20
Hình 1.4 Ký số văn bản điện tử ................................................................... 24
Hình 1.5 Hàm băm mật mã ......................................................................... 26
Hình 1.6 Kiểm tra tính tồn vẹn thơng tin bằng hàm băm mật mã ............. 27
Hình 1.7 Ký số sử dụng hàm băm mật mã .................................................. 28
Hình 1.8 Quy trình kiểm tra chữ ký số ........................................................ 28
Hình 1.9 Mạo danh bằng cách đánh tráo chìa khóa cơng khai ................... 29
Hình 1.10. Chứng thư số ............................................................................. 35
Hình 2.1 Hệ thống tin cậy eIDAS ............................................................... 44
Hình 2.2 Tổng quan về các tiêu chuẩn chữ ký ............................................ 48
Hình 2.3 Kiến trúc TOE của HSM .............................................................. 52
Hình 2.4 Số lượng chứng thư số đã cấp theo CA cơng cộng tính đến
31/12/2018............................................................................................................ 56
Hình 2.5 Tỉ lệ chứng thư số phân theo đối tượng tính đến 31/3/2019 ........ 57
Hình 2.6 Số lượng các loại chứng thư số đang hoạt động trong một số lĩnh
vực giai đoạn 2015 – 31/3/2019 ........................................................................... 57
Hình 3.1 Luồng đăng ký kích hoạt .............................................................. 62
Hình 3.2 Luồng xác nhận ký ....................................................................... 63
Hình 3.3 Mơ hình logic hệ thống ký số từ xa .............................................. 63
Hình 3.4 Sơ đồ phân rã chức năng .............................................................. 64

Hình 3.5 Mơ hình thực thể liên kết ............................................................. 72
Hình 3.6 Giao diện kích hoạt thiết bị ........................................................ 100
Hình 3.7 Giao diện đăng nhập ................................................................... 101
Hình 3.8 Giao diện cá nhân ....................................................................... 102
Hình 3.9 Giao diện cập nhật tài khoản ...................................................... 103
Hình 3.10 Giao diện đổi mật khẩu ............................................................ 104
Hình 3.11 Giao diện thơng tin u cầu ký ................................................ 105
Hình 3.12 Giao diện chấp nhận yêu cầu ký .............................................. 106
10


Hình 3.13 Giao diện từ chối yêu cầu ký .................................................... 107
Hình 3.14 Giao diện thơng tin chứng thư.................................................. 108
Hình 3.15. Giao diện cài đặt ...................................................................... 109

11


DANH MỤC BẢNG BIỂU
Bảng 1.1 Chuẩn X.509 ................................................................................ 35
Bảng 3.1 Danh sách chức năng ................................................................... 64
Bảng 3.2 Bảng users .................................................................................... 72
Bảng 3.3 Bảng devices ................................................................................ 73
Bảng 3.4 Bảng inactive_devices ................................................................. 75
Bảng 3.5 Bảng credentials ........................................................................... 76
Bảng 3.6 Bảng transactions ......................................................................... 80
Bảng 3.7 API yêu cầu activate/login ........................................................... 83
Bảng 3.8 API phản hồi activate/login ......................................................... 84
Bảng 3.9 API yêu cầu activate/retrieveActivationCode ............................. 84
Bảng 3.10 API phản hồi activate/retrieveActivationCode .......................... 84

Bảng 3.11 API yêu cầu activate/initialize ................................................... 85
Bảng 3.12 API phản hồi activate/initialize ................................................. 85
Bảng 3.13 API yêu cầu activate/sendDevice .............................................. 86
Bảng 3.14 API phản hồi activate/sendDevice ............................................. 87
Bảng 3.15 API yêu cầu login ...................................................................... 88
Bảng 3.16 API phản hồi login ..................................................................... 88
Bảng 3.17 API yêu cầu revoke .................................................................... 89
Bảng 3.18 API phản hồi revoke .................................................................. 89
Bảng 3.19 API yêu cầu updateAccount ...................................................... 89
Bảng 3.20 API phản hồi updateAccount ..................................................... 89
Bảng 3.21 API yêu cầu changePassword .................................................... 90
Bảng 3.22 API phản hồi changePassword .................................................. 90
Bảng 3.23 API yêu cầu requests/list ........................................................... 90
Bảng 3.24 API phản hồi requests/list .......................................................... 91
Bảng 3.25 API yêu cầu requests/info .......................................................... 92
Bảng 3.26 API phản hồi requests/info ........................................................ 92
Bảng 3.27. API yêu cầu requests/confirm ................................................... 95
Bảng 3.28. API phản hồi requests/confirm ................................................. 95
Bảng 3.29 API yêu cầu requests/cancel ...................................................... 96
12


Bảng 3.30. API phản hồi requests/cancel.................................................... 96
Bảng 3.31 API yêu cầu credentials/list ....................................................... 96
Bảng 3.32 API phản hồi credentials/list ...................................................... 97
Bảng 3.33 API yêu cầu credentials/info ...................................................... 98
Bảng 3.34 API phản hồi credentials/info .................................................... 98

13



LỜI MỞ ĐẦU
Hiện nay, việc sử dụng mật mã khoá công khai và dịch vụ chứng thực điện
tử để đảm bảo an tồn thơng tin trong các hoạt động giao dịch điện tử là giải pháp
được nhiều quốc gia trên thế giới sử dụng. Chữ ký số ngày càng trở nên phổ biến
do những ưu điểm tốc độ ký nhanh, chính xác và dễ dàng kiểm định. Tuy nhiên
vẫn cịn tồn tại những hạn chế như tốn kém, kém linh hoạt do cần thiết bị chuyên
dùng.
Với sự phát triển mạnh mẽ của thiết bị di động (máy tính bảng, điện thoại di
động, laptop,…), việc trao đổi thông tin, thực hiện các giao dịch điện tử trực tuyến
như tài chính, hành chính cơng ngày càng trở nên phổ biến. Khơng nằm ngồi xu
thế đó, chữ ký số cũng đã và đang được các quốc gia trên thế giới nghiên cứu và
triển khai trên nền tảng di dộng, tùy thuộc vào trình độ phát triển CNTT và hiện
trạng ứng dụng KPI của từng nước. Ký số trên di động đã tháo gỡ những khó khăn
của chữ ký số truyền thống, giúp việc ký số trở nên dễ dàng, minh bạch và tiết
kiệm chi phí.
Ở Việt Nam, chữ ký số và dịch vụ chứng thực chữ ký số truyền thống trên
các máy tính đã được triển khai rộng rãi. Tuy nhiên, chữ ký số mới chỉ được sử
dụng chủ yếu bởi các cơ quan chính phủ và doanh nghiệp. Việc ứng dụng chữ ký
số qua thiết bị di động đang có nhu cầu rất lớn và sẽ giúp thêm nhiều đối tượng cá
nhân và doanh nghiệp tiếp cận được với chữ ký số.
Nghị định số 130/2018/NĐ-CP (điểm b khoản 4 Điều 13; khoản 5 Điều 41;
và điểm b khoản 2 Điều 46) đã quy định: tổ chức cung cấp dịch vụ chứng thực chữ
ký số công cộng được cấp phép; tổ chức cung cấp dịch vụ chứng thực chữ ký số
chuyên dùng của cơ quan, tổ chức được cấp giấy chứng nhận đảm bảo an toàn; tổ
chức cung cấp dịch vụ chứng thực chữ ký số nước ngồi được cơng nhận phải tn
thủ các quy chuẩn kỹ thuật, tiêu chuẩn bắt buộc áp dụng về chữ ký số và dịch vụ
chứng thực chữ ký số do Bộ TTTT ban hành.
- Đối với việc cung cấp dịch vụ chứng thực chữ ký số truyền thống, Bộ TTTT
đã ban hành Thông tư 06/2015/TT-BTTTT ngày 23/3/2015 quy định Danh mục

tiêu chuẩn bắt buộc áp dụng về chữ ký số và dịch vụ chứng thực chữ ký số.
14


- Đối với việc cung cấp dịch vụ chứng thực chữ ký số qua thiết bị di động,
do Mobile PKI có những đặc thù riêng, nhiều giải pháp triển khai; tương ứng với
mỗi giải pháp là các tiêu chuẩn kỹ thuật riêng. Thông tư 06/2015/TT-BTTTT chưa
bao quát các giải pháp công nghệ và tiêu chuẩn này.
Do vậy Bộ TTTT đã tổ chức nghiên cứu, xây dựng quy định Danh mục quy
chuẩn kỹ thuật, tiêu chuẩn bắt buộc áp dụng về chữ ký số trên thiết bị di động để
áp dụng cho các tổ chức cung cấp dịch vụ chứng thực chữ ký số qua thiết bị di
động, đảm bảo tính an toàn, giá trị pháp lý của chữ ký số; làm căn cứ để cấp phép,
cấp giấy chứng nhận, công nhận cho tổ chức cung cấp dịch vụ chứng thực chữ ký
số và thúc đẩy triển khai dịch vụ chữ ký số qua thiết bị di động tại Việt Nam [1].
Thấy được tiềm năng của chữ ký số từ xa, qua báo cáo luận văn tốt nghiệp
này, tôi đi vào nghiên cứu về chữ ký số cũng như các thành phần, quy trình và tiêu
chuẩn ký số từ xa, và áp dụng trong việc xây dựng ứng dụng hỗ trợ ký số từ xa.

Lý do chọn đề tài
Với những kiến thức về bảo mật và phân tích thiết kế hệ thống đã học trong
chương trình Đại học và Cao học, cùng với kinh nghiệm phát triển phần mềm và
ứng dụng bảo mật trong hệ thống tại các công ty đã làm việc, tơi mong muốn qua
luận văn này có thể tổng kết lại kiến thức và giải quyết một bài toán quan trọng
trong thực tế.

Đối tượng và phạm vi nghiên cứu
Trong khuôn khổ đề tài, tôi tập trung vào các vấn đề nghiên cứu sau đây:
• Mật mã và chữ ký số
• Các thành phần, quy trình và các tiêu chuẩn ký số từ xa.
• Ứng dụng hỗ trợ ký số từ xa.


15


Ý nghĩa khoa học và thực tiễn của đề tài
Kết quả của nghiên cứu này định hình hóa một phương án triển khai hệ thống,
ứng dụng hỗ trợ ký số từ xa phù hợp với các tiêu chuẩn được ban hành của Việt
Nam và thế giới.
Ứng dụng sẽ giúp người dùng tiết kiệm thời gian, chi phí và bảo đảm an tồn
cho các giao dịch. Dịch vụ web cũng có thể được công khai để sử dụng bởi các
ứng dụng hỗ trợ ký số từ xa khác.

16


CHƯƠNG 1. TỔNG QUAN VỀ CHỮ KÝ SỐ
1.1 Mật mã
1.1.1 Nguyên lý mã hóa
Mặc dù mật mã có một lịch sử lâu dài, song các kỹ thuật mã hóa hiện đại,
bao gồm nhiều kỹ thuật được sử dụng trên Internet, dựa trên những tiến bộ có được
trong 30 năm trở lại đây.
Kỹ thuật mã hóa cho phép người gửi ngụy trang dữ liệu để kẻ xâm nhập có
thể khơng nhận được thông tin gốc từ dữ liệu bị chặn. Người nhận, tất nhiên, phải
có khả năng khơi phục dữ liệu gốc từ dữ liệu được cải trang. Lược đồ mã hóa được
minh họa trong sơ đồ sau:

Hình 1.1 Lược đồ mã hóa [19]
Trong Hình 1.1, Alice được cung cấp khóa 𝐾𝐾𝐴𝐴 và tiến hành mã hóa bằng thuật

tốn mã hóa nhận đầu vào là 𝐾𝐾𝐴𝐴 và bản rõ 𝑚𝑚. Từ đó, Alice thu được bản mã 𝐾𝐾𝐴𝐴 (𝑚𝑚)


và gửi đi trên môi trường mạng đến Bob. Bob được cung cấp khóa 𝐾𝐾𝐵𝐵 sau khi nhận

được bản mã sẽ sử dụng thuật toán giải mã với đầu vào là 𝐾𝐾𝐵𝐵 và bản mã để thu
được bản rõ ban đầu. Nói một cách hình thức thì K A và 𝐾𝐾𝐵𝐵 phải thỏa mãn

𝐾𝐾𝐴𝐴 �𝐾𝐾𝐵𝐵 (𝑚𝑚)� = 𝑚𝑚. Trong hệ mã khóa đối xứng thì khóa của Alice và Bob là giống

nhau và phải được giữ bí mật. Đối với hệ mã khóa cơng khai thì người ta sử dụng
một cặp khóa thay vì chỉ sử dụng một khóa đơn. Trong đó, một khóa được cơng

17


khai và khóa cịn lại được giữ bí mật mà chỉ có bản thân chủ sở hữu khóa mới có
quyền được biết.

1.1.2 Hệ mã khóa đối xứng
Các thuật tốn khóa đối xứng là một lớp các thuật toán mật mã hóa trong đó
các khóa dùng cho việc mật mã hóa và giải mã có quan hệ rõ ràng với nhau (có thể
dễ dàng tìm được một khóa nếu biết khóa kia). Mã khóa loại này khơng cơng khai.
Khóa dùng để mã hóa có liên hệ một cách rõ ràng với khóa dùng để giải mã
có nghĩa chúng có thể hồn toàn giống nhau, hoặc chỉ khác nhau nhờ một biến đổi
đơn giản giữa hai khóa. Trên thực tế, các khóa này đại diện cho một bí mật được
phân hưởng bởi hai bên hoặc nhiều hơn và được sử dụng để giữ gìn sự bí mật trong
kênh truyền thơng tin.
Thuật tốn khóa đối xứng có thể được chia ra làm hai loại, mật mã luồng
(stream ciphers) và mật mã khối (block ciphers). Mật mã luồng mã hóa từng bit
của thơng điệp trong khi mật mã khối gộp một số bit lại và mật mã hóa chúng như
một đơn vị. Một số ví dụ các thuật tốn khóa đối xứng nổi tiếng và khá được tín

nhiệm bao gồm Twofish, Serpent, AES (cịn được gọi là Rijndael), Blowfish,
CAST5, RC4, Tam phần DES (Triple DES), và IDEA (International Data
Encryption Algorithm - Thuật toán mật mã hóa dữ liệu quốc tế).
Các thuật tốn khóa đối xứng nói chung địi hỏi cơng suất tính tốn ít hơn
các thuật tốn khóa bất đối xứng (asymmetric key algorithms). Trên thực tế, một
thuật tốn khóa bất đối xứng có khối lượng tính tốn nhiều hơn gấp hằng trăm,
hằng ngàn lần một thuật tốn khóa đối xứng (symmetric key algorithm) có chất
lượng tương đương.

18


Hình 1.2 Hệ mã khóa đối xứng [19]

1.1.3 Hệ mã khóa cơng khai
Mã hóa khóa cơng khai ra đời cách đây 42 năm, đánh dấu bởi cơng trình khoa
học của Whitfield Diffie và Martin Hellman. Đó thực sự là một bước ngoặt đưa
mật mã từ một nghệ thuật thành một ngành khoa học. Trong quá trình 42 năm phát
triển, những phát kiến trong mật mã hầu hết rất phản trực quan, và do đó càng bất
ngờ thú vị, đã có ảnh hưởng lớn đến nhiều ngành khoa học khác: áp dụng những
kết quả trừu tượng trong lý thuyết số vào thực tế; thúc đẩy sự phát triển của các
thuật toán xác suất; đưa ra những khái niệm quan trọng trong lý thuyết tính tốn
mà điển hình là khái niệm chứng minh tương tác; tạo cầu nối giữa lý thuyết số và
khoa học máy tính thơng qua lý thuyết số tính tốn,...

Mơ hình của hệ mã khố cơng khai
Hệ mã khóa bí mật gặp phải những vấn đề sau:
• Vấn đề chia sẻ và chuyển chìa khố.
• Vấn đề tồn vẹn thơng tin và ký văn bản điện tử.
• Vấn đề ai là ai trong mạng thông tin điện tử.

Mật mã khóa cơng khai đã vượt qua các rào cản đó và đưa đến một bước
ngoặt trong sự phát triển ngành mật mã. Ý tưởng chính của nó khá giản đơn: lập
mã và giải mã là hai q trình có bản chất khác nhau, nếu như giải mã nhất thiết
phải dùng khóa bí mật (nếu khơng ai cũng giải được) thì lập mã lại khơng nhất
thiết như vậy, và thậm chí sẽ càng tốt hơn khi ai cũng có thể lập mã. Do vậy, nếu
19


ta có thể sinh ra một khóa bí mật cho giải mã và một khóa cơng khai tương ứng
cho lập mã thì q trình lập mã khơng cịn cần bất kỳ bí mật nào. Tuy có vẻ tự
nhiên nhưng việc mã hóa sử dụng khóa cơng khai làm thay đổi hồn tồn u cầu
về sự an tồn: khóa bí mật khơng cần chia sẻ nữa, mỗi người có khóa bí mật của
riêng mình và chỉ cần giữ kín nó, khơng cần thiết phải chia sẻ nó với bất kỳ ai khác.
Sự đảm bảo an tồn khơng cịn cần dựa trên sự tin tưởng lẫn nhau giữa người gửi
và người nhận.

Hình 1.3 Lược đồ hệ mã khóa cơng khai [19]
Như vậy, mỗi cá thể tham gia vào hệ thống sẽ được cấp một cặp chìa khố,
trong đó, chìa khố lập mã có thể được cơng bố cơng khai cho mọi người biết
(public key) cịn chìa khố giải mã thì có mình cá thể đó biết (private key). Điều
cần lưu ý là từ khố cơng khai khơng thể tính ra chìa khố bí mật. Mọi người trong
hệ thống đều có thể mã hoá dữ liệu để gửi cho một cá thể nào đó (bằng khóa cơng
khai) và chỉ một mình cá thể này mới có thể giải mã được các tài liệu mật. Một
cách dễ hình dung, mọi người đều có thể gửi thư mật cho một người thơng qua khe
của hịm thư đặt trước cửa nhà, và chỉ có người ấy mới có chìa khố mở thùng thư
lấy ra đọc (ở đây, cửa khe đóng vai trị khóa cơng khai cịn chìa mở thùng thư là
khóa bí mật).
Mật mã khóa cơng khai cịn làm thay đổi hồn tồn phạm vi ứng dụng, cho
phép mật mã được sử dụng rộng rãi trong thực tế: việc thiết lập kênh bí mật giữa
một nghìn hay một triệu người thì cũng chỉ yêu cầu mỗi người cần giữ một khóa

bí mật và cơng bố một khóa cơng khai, khơng cần phải thống nhất khóa chung nào.
Áp dụng vào thực tế, một cửa hàng trực tuyến có thể thu hút hàng triệu khách hàng
20


mà chỉ cần cơng khai duy nhất một khóa để ai mua hàng cũng chỉ cần dùng khóa
cơng khai đó để gửi thơng tin bảo mật về thẻ thanh tốn.

Hệ mã khóa cơng khai RSA
Trước hết, ta chọn khố cơng khai là cặp (𝑒𝑒, 𝑛𝑛), gồm số mũ 𝑒𝑒 và modulo 𝑛𝑛.

Số 𝑛𝑛 được dùng ở đây là tích của 2 số nguyên tố rất lớn nào đó 𝑛𝑛 = 𝑝𝑝𝑝𝑝, sao cho
gcd�𝑒𝑒, ϕ(𝑛𝑛)� = 1, trong đó ϕ(𝑛𝑛) là hàm Euler để chỉ số lượng các số nguyên

dương nhỏ hơn 𝑛𝑛 và nguyên tố cùng nhau với 𝑛𝑛. Để mã hoá một khối 𝑃𝑃 trong văn
bản, ta lập khối 𝐶𝐶 theo công thức:

C = E(𝑃𝑃) ≡ 𝑃𝑃𝑒𝑒 mod n, 0 < C < n

Q trình giải mã địi hỏi phải biết một nghịch đảo 𝑑𝑑 của 𝑒𝑒 theo modulo

ϕ(𝑛𝑛). Nghịch đảo này tồn tại theo điều kiện gcd�𝑒𝑒, ϕ(𝑛𝑛)� = 1, cặp �𝑑𝑑, ϕ(𝑛𝑛)� như
vậy được gọi là khoá bí mật.

Hệ mã khóa cơng khai ECC
Lược đồ ECC. Bây giờ giả sử có tập hợp 𝑛𝑛 cá thể 𝐴𝐴𝑖𝑖 cần trao đổi thông tin

mật với nhau.

Chọn đường cong 𝐸𝐸 trên trường 𝑭𝑭q và một điểm 𝐵𝐵 thuộc 𝐸𝐸 làm cơ sở. Những


thông tin này được công khai, dĩ nhiên là 𝑞𝑞 phải đủ lớn.

Sau đó, mỗi cá thể 𝐴𝐴𝑖𝑖 chọn cho mình khố 𝑒𝑒𝑖𝑖 , là một số ngun nào đó. Khố

này được giữ bí mật nhưng 𝐴𝐴𝑖𝑖 thơng báo cơng khai 𝑒𝑒𝑖𝑖 𝐵𝐵. Điều này khơng làm lộ

khố 𝑒𝑒𝑖𝑖 do độ phức tạp của thuật tốn tính logarit.

Giả sử 𝐴𝐴𝑗𝑗 cần gửi thông báo mật 𝑚𝑚 cho 𝐴𝐴𝑖𝑖 . Trước tiên, 𝑚𝑚 được tương ứng

với 𝑃𝑃𝑚𝑚 như trên. Sau đó, 𝐴𝐴𝑗𝑗 chọn ngẫu nhiên số 𝑠𝑠 và chuyển cho 𝐴𝐴𝑖𝑖 cặp điểm sau

đây: �𝑠𝑠𝑠𝑠, 𝑃𝑃𝑚𝑚 + 𝑠𝑠(𝑒𝑒𝑖𝑖 𝐵𝐵)�, nhờ 𝑒𝑒𝑖𝑖 𝐵𝐵 đã được công khai. Khi nhận được cặp điểm này,
𝐴𝐴𝑖𝑖 chỉ việc lấy số sau trừ đi 𝑒𝑒𝑖𝑖 lần số trước để nhận được 𝑃𝑃𝑚𝑚 :
𝑃𝑃𝑚𝑚 = 𝑃𝑃𝑚𝑚 + 𝑠𝑠(𝑒𝑒𝑖𝑖 𝐵𝐵) − 𝑒𝑒𝑖𝑖 (𝑠𝑠𝑠𝑠)

Chú ý rằng chỉ có 𝐴𝐴𝑖𝑖 làm được điều này do 𝑒𝑒𝑖𝑖 bí mật và 𝑠𝑠 khơng thể tìm thấy

trong thời gian đa thức.

21


Hệ quả tương tự mã mũ. Trong cách này, ta cần chọn 𝐸𝐸 với 𝑁𝑁 điểm. Các

tham số này được thông báo công khai. Mỗi cá thể 𝐴𝐴𝑖𝑖 chọn cho mình khố 𝑒𝑒𝑖𝑖 là số
ngun dương nằm trong đoạn [1, 𝑁𝑁] và gcd(𝑒𝑒𝑖𝑖 , 𝑁𝑁) = 1. Bằng thuật toán Euclid,

𝐴𝐴𝑖𝑖 tìm được 𝑑𝑑𝑖𝑖 thoả mãn: 𝑑𝑑𝑖𝑖 𝑒𝑒𝑖𝑖 = 1 (mod 𝑁𝑁). Bây giờ giả sử 𝐴𝐴𝑖𝑖 cần gửi thông báo

𝑚𝑚 cho 𝐴𝐴𝑗𝑗 . Cũng như cách trên, ta tìm điểm 𝑃𝑃𝑚𝑚 trên đường cong. Sau đó:

• 𝐴𝐴𝑖𝑖 gửi cho 𝐴𝐴𝑗𝑗 thông báo 𝑒𝑒𝑖𝑖 𝑃𝑃𝑚𝑚 . Dĩ nhiên khi nhận được thơng báo này thì
𝐴𝐴𝑗𝑗 chưa thể giải mã vì khơng biết 𝑒𝑒𝑖𝑖 và 𝑑𝑑𝑖𝑖 .

• 𝐴𝐴𝑗𝑗 nhân thơng báo nhận được với 𝑒𝑒𝑗𝑗 và gửi trả lại cho 𝐴𝐴𝑖𝑖 thơng báo
𝑒𝑒𝑗𝑗 (𝑒𝑒𝑖𝑖 𝑃𝑃𝑚𝑚 ).

• 𝐴𝐴𝑖𝑖 gửi lại cho 𝐴𝐴𝑗𝑗 thông báo sau khi đã nhân với 𝑑𝑑𝑖𝑖 : 𝑑𝑑𝑖𝑖 �𝑒𝑒𝑗𝑗 (𝑒𝑒𝑖𝑖 𝑃𝑃𝑚𝑚 )�

• Nhận được thơng báo cuối cùng này, 𝐴𝐴𝑗𝑗 nhân nó với khố 𝑑𝑑𝑗𝑗 của mình để
nhận được 𝑃𝑃𝑚𝑚 và từ đó giải ra thơng điệp ban đầu.

Dễ thấy rằng, trong tồn bộ q trình thì các khố 𝑒𝑒𝑖𝑖 hay 𝑑𝑑𝑖𝑖 đều khơng bị lộ.

1.2 Chữ ký số

Trong phần trước, chúng ta đã thấy vai trò của mật mã trong việc đem lại tính
bảo mật khi giao tiếp qua mạng. Trong phần này, chúng ta sẽ xem xét cách thức
để đảm bảo tính tồn vẹn thơng tin nhờ ứng dụng hệ mật mã khóa cơng khai.
Vấn đề tồn vẹn thơng tin là mối quan tâm hàng đầu trong các giao thức
mạng an tồn. Ví dụ, xét mạng máy tính sử dụng thuật tốn định tuyến trạng thái
kết nối (chẳng hạn OSPF) để xác định tuyến giữa mỗi cặp router trong mạng. Trong
một thuật toán trạng thái kết nối, mỗi router cần phát quảng bá một thông điệp
trạng thái kết nối tới tất cả các bộ định tuyến khác trong mạng. Thông báo bao gồm
danh sách các láng giềng được kết nối trực tiếp và chi phí trực tiếp kết nối đến
người hàng xóm này. Khi router nhận được thông báo trạng thái kết nối từ tất cả
router khác, nó có thể tạo ra một bản đồ hồn chỉnh của mạng, chạy định tuyến chi
phí thấp nhất và cấu hình lại bảng chuyển tiếp của nó. Một cuộc tấn cơng vào thuật
tốn định tuyến là để Trudy phân phối các thơng điệp trạng thái liên kết khơng có

thật hoặc khơng chính xác. Do đó sự cần thiết về tính tồn vẹn của thơng điệp - khi
bộ định tuyến B nhận được thông báo trạng thái kết nối từ bộ định tuyến A, bộ
22


định tuyến B phải xác minh rằng bộ định tuyến A thực sự đã tạo ra thông điệp và,
hơn nữa, không ai làm xáo trộn thông điệp quá cảnh.
Từ đây, thay vì xét các tin nhắn qua mạng, ta sẽ xem xét một đối tượng khái
quát hơn là văn bản điện tử. Văn bản trên giấy có tính chất “bước chân đi, cấm kỳ
trở lại” (những gì đã viết ra thì khơng thể thay đổi mà khơng để lại dấu vết), cho
nên tự nó có tính bảo tồn nội dung, khơng dễ bị bóp méo hay xun tạc. Với văn
bản điện tử thì thuộc tính này khơng cịn nữa, người ta dễ dàng thay đổi nó mà
khơng để lại dấu vết gì. Rõ ràng với những văn bản cần được ký thì điều này là
khơng thể chấp nhận được. Trước khi đi tìm một giải pháp cho việc ký văn bản
điện tử thì ta cần tìm hiểu rõ hơn về chữ ký truyền thống trên văn bản giấy.

1.2.1 Ý nghĩa của chữ ký viết tay
Một cách lý tưởng thì chữ ký viết tay mang các ý nghĩa và thuộc tính sau
đây:
• Chữ ký là bằng chứng thể hiện người ký tán thành nội dung và có chủ
định ký văn bản.
• Chữ ký thể hiện chủ quyền người ký (cho biết ai là người ký văn bản).
• Chữ ký khơng thể tái sử dụng, tức là nó chỉ có hiệu lực trên văn bản được
ký.
• Văn bản đã ký khơng thể thay đổi được nội dung (việc tẩy xoá, sửa chữa
sẽ làm nó mất hiệu lực).
• Chữ ký là khơng thể chối bỏ và không thể giả mạo (người ký văn bản
khơng thể phủ nhận việc mình đã ký, cịn người khác thì khơng thể tạo ra
chữ ký đó).
Như vậy, để ký một văn bản điện tử, người ta cần phải tạo ra một đối tượng

có đủ 5 thuộc tính giống như chữ ký viết tay trên văn bản giấy (đã nêu ở trên), để
sao cho văn bản điện tử đi cùng với đối tượng này thì nó sẽ có hiệu lực giống như
là văn bản giấy sau khi được ký. Rõ ràng, nếu như ta có đưa được hình ảnh chữ ký
viết tay vào trong văn bản điện tử thì nó cũng khơng thể có được 5 thuộc tính đã
nêu ở trên (vì người ta dễ dàng sao chép nó từ văn bản này sang văn bản khác và
cũng dễ dàng thay đổi nội dung văn bản mà không để lại dấu vết). Do vậy, với văn
23


bản điện tử, cần có giải pháp hồn tồn khác. Thật bất ngờ, giải pháp cho vấn đề
này lại đến từ hệ mã khố cơng khai, một cơng cụ vốn sinh ra để phục vụ các văn
bản bí mật, chứ khơng phải các văn bản mang tính cơng khai đại chúng.

1.2.2 Giải pháp chữ ký số
Giả sử những người tham gia vào hệ thống trao đổi thông tin với nhau có sử
dụng một hệ mật mã khố cơng khai (ví dụ ECC đã giới thiệu ở phần trước). Khi
ấy, mỗi cá thể được sở hữu một cặp chìa khố (bí mật, công khai) riêng biệt (không
ai giống ai) và người ta có thể đưa ra mơ hình ký văn bản điện tử dựa trên ý tưởng
của hai nhà khoa học Diffie và Hellman.

Mơ hình cho việc ký văn bản điện tử
Nguyên tắc ký văn bản điện tử được tóm gọn như sau:
• Ơng A ký văn bản bằng cách dùng chìa khố bí mật của mình để mã hố
nó.
• Ơng B kiểm tra chữ ký bằng cách dùng chìa khố công khai của ông A
để giải mã văn bản. Nếu giải mã thành cơng thì đúng là văn bản được ký
bởi ơng A.

Hình 1.4 Ký số văn bản điện tử [19]
Ta chứng minh giao thức này mang đầy đủ thuộc tính cơ bản của thủ tục ký

tay trên giấy, thật vậy:
• Văn bản được ký (văn bản mã) là sản phẩm của người chủ động tạo ra nó,
tức là người đã dùng chìa khố bí mật của mình để mã hoá văn bản.
24


×