Professional Documents
Culture Documents
(123doc) Ky So Tu Xa Va Ung Dung
(123doc) Ky So Tu Xa Va Ung Dung
(123doc) Ky So Tu Xa Va Ung Dung
KÝ SỐ TỪ XA VÀ ỨNG DỤNG
NGUYỄN DUY GIANG
duygiangdg@gmail.com
HÀ NỘI, 12/2021
CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM
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:
1
ĐỀ TÀI LUẬN VĂN
KÝ SỐ TỪ XA VÀ ỨNG DỤNG
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 Toán Tin trường Đại học Bách Khoa Hà Nội, đã giúp đỡ tôi rất nhiều trong
quá 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 toàn thể các thầy cô giáo
trong bộ môn Toán Tin, viện Toá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ể hoà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 quá trình học và hoà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ể hoà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.
3
TÓM TẮT NỘI DUNG LUẬN VĂN
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 toà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 ngoà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
CHƯƠNG 2. KÝ SỐ TỪ XA ................................................................... 38
6
2.2.2 Cơ quan chứng nhận (CA) ....................................................... 45
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
8
3.5.10 Giao diện cài đặt ứng dụng .................................................. 108
9
DANH MỤC HÌNH VẼ
11
DANH MỤC BẢNG BIỂU
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 toà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 ngoà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 ngoài được công nhận phải tuân
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ế.
• 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 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.
16
CHƯƠNG 1. TỔNG QUAN VỀ CHỮ KÝ SỐ
1.1 Mật mã
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:
Trong Hình 1.1, Alice được cung cấp khóa 𝐾𝐾𝐴𝐴 và tiến hành mã hóa bằng thuật
toá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.
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ể hoà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 toá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 toá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 toán khóa đối xứng nói chung đòi hỏi công suất tính toán ít hơn
các thuật toán khóa bất đối xứng (asymmetric key algorithms). Trên thực tế, một
thuật toán khóa bất đối xứng có khối lượng tính toán nhiều hơn gấp hằng trăm,
hằng ngàn lần một thuật toá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]
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 quá 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ì quá 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 hoàn toàn yêu cầu
về sự an toà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 toà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.
Như vậy, mỗi cá thể tham gia vào hệ thống sẽ được cấp một cặp chìa khoá,
trong đó, chìa khoá 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 khoá giải mã thì có mình cá thể đó biết (private key). Điều
cần lưu ý là từ khoá công khai không thể tính ra chìa khoá 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 khoá 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 hoàn toà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 toán.
Trước hết, ta chọn khoá 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:
Quá 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.
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 khoá 𝑒𝑒𝑖𝑖 , là một số nguyên nào đó. Khoá
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ộ
khoá 𝑒𝑒𝑖𝑖 do độ phức tạp của thuật toá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 khoá 𝑒𝑒𝑖𝑖 là số
nguyên 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 khoá 𝑑𝑑𝑗𝑗 của mình để
nhận được 𝑃𝑃𝑚𝑚 và từ đó giải ra thông điệp ban đầu.
Dễ thấy rằng, trong toàn bộ quá trình thì các khoá 𝑒𝑒𝑖𝑖 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 toàn vẹn thông tin nhờ ứng dụng hệ mật mã khóa công khai.
Vấn đề toàn vẹn thông tin là mối quan tâm hàng đầu trong các giao thức
mạng an toàn. Ví dụ, xét mạng máy tính sử dụng thuật toá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 đồ hoà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
toá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 toà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 toàn nội dung, không dễ bị bóp méo hay xuyên 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.
• 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 hoàn toàn khác. Thật bất ngờ, giải pháp cho vấn đề
này lại đến từ hệ mã khoá 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.
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 khoá bí mật của mình để mã hoá
nó.
• Ông B kiểm tra chữ ký bằng cách dùng chìa khoá 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.
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 khoá bí mật của mình để mã hoá văn bản.
24
• Văn bản được ký cho biết người ký là ai (chính là chủ sở hữu chìa khoá
công khai đã được dùng để kiểm tra chữ ký).
• Chữ ký không thể tái sử dụng cho văn bản khác, vì 2 văn bản khác nhau
có bản mã khác nhau.
• Văn bản đã ký không thể thay đổi được nội dung. Vì nếu mở ra (tức là
giải mã) để thay đổi nội dung thì không thể ký lại (mã hoá) được nữa, do
không có chìa khoá bí mật của người đã ký trước đó.
• Không ai làm giả được chữ ký, vì rằng không có ai có được chìa khoá bí
mật của người đã ký (mã hoá) văn bản đó. Người ký văn bản không thể
thoái thác việc mình đã ký, vì không còn ai khác có khoá đã được dùng
để mã hoá đó (kiểm tra bằng khóa công khai).
Quy trình ký nêu trên là phù hợp về mặt logic nhưng cũng có những điều bất
cập sau:
• Văn bản sau khi ký luôn ở trong dạng mã hoá, kể cả văn bản cần công
khai rộng rãi (điều này là không tự nhiên).
• Tốc độ ký rất chậm, sẽ không phù hợp khi ký các văn bản dài như hợp
đồng, văn kiện,... (do thuật toán mã hoá chậm).
• Chữ ký là cả văn bản ký cho nên dài như một văn bản (không phù hợp
với đặc tính tự nhiên vốn có của chữ ký là ngắn gọn, súc tích).
Cho nên quy trình nêu trên chỉ mang tính nguyên tắc, mà không khả thi trong
thực tiễn. Để khắc phục những bất cập và có được một quy trình khả thi, người ta
cần đến sự giúp đỡ của một công cụ nữa đến từ mật mã là hàm băm mật mã.
Hàm băm mật mã nhận giá trị đầu vào là văn bản điện tử có độ dài tuỳ ý và
cho đầu ra là một xâu chữ số có độ dài xác định (tương đối ngắn, khoảng vài trăm
ký tự) với các thuộc tính quan trọng sau:
• Có tính tất định, văn bản giống nhau luôn thu được mã băm giống nhau.
• Tốc độ băm rất nhanh (Thời gian tính cho mọi văn bản là không đáng kể).
• Có tính một chiều (Không thể tạo ra văn bản đầu vào khi có đầu ra cho
trước).
25
• Rất nhạy đối với các thay đổi của văn bản (hai văn bản đầu vào dù khác
nhau rất nhỏ thì cũng có đầu ra khác biệt rõ rệt).
• Không thể tìm ra hai văn bản khác nhau có cùng mã băm.
Việc thiết lập hàm băm có các thuộc tính trên là không đơn giản và là một
ngành quan trọng của mật mã học.
MD5 của Ron Rivest là một trong những hàm băm mật mã được sử dụng phổ
biến ngày nay. Kết quả của phép băm là mã băm 128 bit được tính thông qua 4
bước. Một bước chèn thêm bộ đệm (thêm bit 1 theo sau bởi các số 0 để độ dài
thông điệp ít hơn một bội của 512 là 64). Sau đó, chèn 1 số nguyên 64 bit (độ dài
của thông điệp gốc) vào sau để thu được đoạn bit có chiều dài là bội của 512. Khởi
tạo 4 khối, mỗi khối có độ dài 32 bit. Tiến hành thay đổi giá trị mỗi khối bằng các
khối 512 bit của thông điệp. Kết quả cuối cùng sẽ là mã băm 128 bit của thông
điệp ban đầu.
Thuật toán SHA (Secure Hash Algorithm) là thuật toán băm được sử dụng
phổ biến chỉ sau MD5. Nguyên lý thiết kế SHA tương tự MD4 (tiền thân của
MD5). SHA-1 là chuẩn bắt buộc của bất kỳ một hàm băm mật mã nào được sử
dụng trong ứng dụng của liên bang. Mã băm của SHA-1 có độ dài 160 bit nên được
cho là an toàn hơn MD5.
Đầu ra của hàm băm thường được gọi là mã băm. Từ các thuộc tính của hàm
băm ta suy ra mã băm có tính đặc trưng rất cao: một khi văn bản bị thay đổi thì ắt
26
mã băm phải thay đổi. Do vậy, mã băm còn được gọi là đại diện của văn bản, tương
tự như dấu vân tay của mỗi người có thể xem là đại diện của người đó.
Từ tính chất của hàm băm mật mã, chúng ta có thể xây dựng lược đồ kiểm
tra tính toàn vẹn của thông tin như sau mà không cần đến một hệ mã nào:
Hình 1.6 Kiểm tra tính toàn vẹn thông tin bằng hàm băm mật mã [19]
Tuy nhiên vấn đề đặt ra là làm thế nào để phân bổ khóa bí mật S ở trong sơ
đồ trên mà không bị lộ. Rất may mắn, kết hợp lược đồ trên và lược đồ chữ ký số
cổ điển sẽ cho ta lược đồ có đủ tính chất mà ta cần để kiểm tra tính toàn vẹn thông
tin.
Rõ ràng để đảm bảo nội dung văn bản không bị thay đổi, ta chỉ cần quan tâm
đại diện của nó không bị thay đổi. Do vậy, ta có một quy trình ký mới, tương đương
với quy trình nguyên tắc đã nêu ở trên.
Một cá thể A muốn ký văn bản P thì chỉ cần thực hiện các bước sau:
• Tính đại diện của văn bản P (bằng hàm băm mật mã có sẵn trên hệ thống).
• Dùng chìa khoá bí mật của mình để mã hoá dãy số đại diện văn bản thu
được và đính kèm với văn bản.
27
Hình 1.7 Ký số sử dụng hàm băm mật mã [19]
Để kiểm tra chữ ký số của ông A trên văn bản P thì cần tiến hành các bước
sau:
• Tính đại diện của văn bản P bằng hàm băm mật mã có sẵn trên hệ thống.
• Giải mã chữ ký số bằng chìa khoá công khai của ông A rồi so sánh nó với
đại diện văn bản tính được ở bước trên. Nếu chúng khớp nhau thì văn bản
đã được ký bởi ông A và nội dung của nó không bị thay đổi sau khi ký.
28
Dễ thấy rằng quy trình này khắc phục được các nhược điểm đã nêu trên, cụ
thể là:
• Văn bản sau khi ký không bị mã hoá (mà chỉ bị đính thêm một xâu số, là
chữ ký số).
• Thời gian tạo chữ ký là không đáng kể (vì việc lấy mã băm rất nhanh, vì
nó rất nhỏ so với văn bản ký).
• Chữ ký chỉ là một xâu số ngắn đi kèm theo văn bản mà không phải là cả
văn bản.
Trong mô hình chữ ký số nêu trên thì chữ ký số được tạo ra bằng chìa khoá
bí mật của người ký và được kiểm tra bằng chìa khoá công khai của người đó. Như
vậy, nếu như kẻ gian có thể thay thế chìa khoá công khai của ông A nào đó bằng
chìa khoá công khai của mình thì kẻ đó có thể giả danh ông A một cách hoàn hảo.
Vì khi ấy, mọi văn bản mà hắn ký sẽ được hiểu là do ông A ký. Khi ấy hệ thống
sẽ trở nên hỗn loạn khôn lường, vì kẻ gian có thể đóng vai trò một nhà lãnh đạo.
Để không xảy ra tình trạng này thì phải có giải pháp ngăn chặn việc đánh tráo chìa
khoá công khai, tức là xác định chính xác ai sở hữu chìa khoá công khai nào.
Hình 1.9 Mạo danh bằng cách đánh tráo chìa khóa công khai [19]
29
Như vậy, vấn đề đặt ra là cần tìm một giải pháp để gắn kết một chìa khoá
công khai với một thực thể, mà kẻ gian không thể nào phá vỡ được. Giải pháp cho
vấn đề này đưa ta đến với khái niệm chứng thư số (có vai trò như chứng minh thư
của công dân).
Hạ tầng khóa công khai (tiếng Anh: public key infrastructure, viết tắt PKI) là
một cơ chế để cho một bên thứ 3 (thường là nhà cung cấp chứng thư số) cung cấp
và xác thực định danh các bên tham gia vào quá trình trao đổi thông tin. Cơ chế
này cũng cho phép gán cho mỗi người sử dụng trong hệ thống một cặp khóa công
khai/khóa bí mật. Các quá trình này thường được thực hiện bởi một phần mềm đặt
tại trung tâm và các phần mềm phối hợp khác tại các địa điểm của người dùng.
Khóa công khai thường được phân phối trong chứng thư khóa công khai.
PKI cho phép những người tham gia xác thực lẫn nhau và sử dụng thông tin
từ các chứng thư khóa công khai để mã hóa và giải mã thông tin trong quá trình
trao đổi. Thông thường, PKI bao gồm phần mềm máy khách (client), phần mềm
máy chủ (server), phần cứng (như thẻ thông minh) và các quy trình hoạt động liên
quan. Người sử dụng cũng có thể ký các văn bản điện tử với khóa bí mật của mình
và mọi người đều có thể kiểm tra với khóa công khai của người đó. PKI cho phép
các giao dịch điện tử được diễn ra đảm bảo tính bí mật, toàn vẹn và xác thực lẫn
nhau mà không cần phải trao đổi các thông tin mật từ trước.
Hầu hết các hệ thống PKI quy mô doanh nghiệp đều dựa trên các chuỗi chứng
thư để xác thực các thực thể. Chứng thư của người dùng sẽ được một nhà cung cấp
chứng thư số cấp, đến lượt nhà cung cấp này lại có chứng thư được một nhà cung
cấp khác ở cấp cao hơn tạo ra,... Hệ thống sẽ bao gồm nhiều máy tính thuộc nhiều
tổ chức khác nhau với các gói phần mềm tương thích từ nhiều nguồn khác nhau.
Vì vậy, các tiêu chuẩn là yếu tố rất quan trọng đối với hoạt động của các PKI. Hầu
hết các tiêu chuẩn về PKI hiện tại được soạn thảo bởi nhóm làm việc PKIX của
IETF.
Các hệ thống PKI doanh nghiệp thường được tổ chức theo mô hình danh bạ
trong đó khóa công khai của mỗi người dùng được lưu trữ (bên trong các chứng
30
thư số) kèm với các thông tin cá nhân (số điện thoại, email, địa chỉ, nơi làm việc,...).
Hiện nay, công nghệ danh bạ tiên tiến nhất là LDAP và định dạng chứng thư phổ
biến nhất (X.509) cũng được phát triển từ mô hình tiền nhiệm của LDAP (X.500).
Nhà cung cấp chứng thư số (tiếng Anh: Certificate Authority, viết tắt: CA)
là thực thể phát hành các chứng thư khóa công khai cho người dùng. Nhà cung cấp
chứng thư số đóng vai trò là bên thứ ba (được cả hai bên tin tưởng) để hỗ trợ cho
quá trình trao đổi thông tin an toàn. Các nhà cung cấp chứng thư số là thành phần
trung tâm trong nhiều mô hình hạ tầng khóa công khai (PKI).
Hiện nay có nhiều CA thương mại mà người dùng phải trả phí khi sử dụng
dịch vụ. Các tổ chức và chính phủ cũng có thể có những CA của riêng họ. Bên
cạnh đó cũng có những CA cung cấp dịch vụ miễn phí.
CA phát hành các chứng thư khóa công khai trong đó thể hiện rằng CA đó
chứng nhận khóa công khai nằm trong mỗi chứng thư thuộc về cá nhân, tổ chức,
máy chủ hay bất kỳ thực thể nào ghi trong cùng chứng thư đó. Nhiệm vụ của CA
là kiểm tra tính chính xác của thông tin liên quan tới thực thể được cấp chứng thư.
Khi người sử dụng tin tưởng vào một CA và có thể kiểm tra chữ ký số của CA đó
thì họ cũng có thể tin tưởng vào khóa công khai và thực thể được ghi trong chứng
thư.
Khi CA có thể bị xâm nhập thì an toàn của hệ thống sẽ bị phá vỡ. Nếu kẻ tấn
công (Trudy) có thể can thiệp để tạo ra một chứng thư giả trong đó gắn khóa công
khai của kẻ tấn công với định danh của người dùng khác (Alice) thì mọi giao dịch
của người khác với Alice có thể bị Trudy can thiệp.
Việc đảm bảo độ chính xác của thông tin trong chứng thư là rất quan trọng
nhưng lại khó thực hiện, đặc biệt khi phần lớn các giao dịch sẽ được thông qua
đường điện tử. Vì thế các CA thương mại thường dùng phối hợp nhiều biện pháp
để kiểm tra thông tin: dùng các thông tin hành chính (chính phủ), hệ thống thanh
toán, các cơ sở dữ liệu của bên thứ 3 và các phương pháp riêng biệt khác. Trong
một số hệ thống của doanh nghiệp, thì việc cấp chứng thư có thể thực hiện thông
qua một giao thức nhận chứng thư nội bộ (chẳng hạn như Giao thức Kerberos).
31
Sau đó, chứng thư này được dùng để giao dịch với hệ thống bên ngoài. Một số hệ
thống khác lại đòi hỏi có sự tham gia của công chứng viên khi cấp chứng thư.
Khi được ứng dụng trên quy mô lớn, hệ thống sẽ bao gồm nhiều nhà cung
cấp chứng thư số. Giả sử Alice và Bob cần trao đổi thông tin nhưng chứng thư của
hai người lại do hai nhà cung cấp khác nhau tạo ra. Khi đó chứng thư của Bob gửi
tới Alice phải bao gồm cả khóa công khai của nhà cung cấp của Bob và được ký
bởi một nhà cung cấp khác để Alice có thể kiểm tra. Quá trình này sẽ dẫn đến một
hệ thống các nhà cung cấp tổ chức theo thang bậc hoặc mạng lưới.
Dưới đây là danh sách một số CA được nhiều người biết đến. Khi sử dụng
bất kỳ CA nào thì người sử dụng cũng phải tin vào CA đó. Trong trường hợp một
trình duyệt web truy cập vào trang web có chứng thư thì lý tưởng nhất là trình
duyệt đó đã nhận biết CA cấp chứng thư. Trong trường hợp ngược lại thì người
dùng sẽ đưa ra quyết định có tin vào CA đó hay không. Một số CA tự nhận rằng
đã được 99% trình duyệt tin tưởng.
Mạng lưới tín nhiệm là một mô hình dùng trong các hệ thống PGP, GnuPG,
và các hệ thống dựa trên OpenPGP để thiết lập tính xác thực của mối liên hệ giữa
khóa công khai và người sử dụng. Trong một khía cạnh nào đó, đây là một lựa
chọn thay cho mô hình hạ tầng khóa công khai tập trung (PKI) dựa trên các nhà
cung cấp chứng thư số. Cũng như mạng máy tính, tồn tại nhiều mạng lưới tín nhiệm
hoạt động độc lập với nhau. Mỗi người sử dụng trong mô hình này có thể là thành
viên của nhiều mạng và như vậy họ trở thành cầu nối giữa các mạng đó.
Tất cả các hệ thống tuân theo OpenPGP đều quy định cách thức để xem xét
các chứng thư. Các chứng thư thường được chính người dùng tạo ra cho mình
(thông qua phần mềm máy khách) và sẽ được ký xác nhận bởi những người dùng
khác nếu họ biết được rằng mối quan hệ giữa khóa công khai và định danh người
dùng trong chứng thư là đúng. Thông thường việc ký xác nhận được tiến hành
trong các buổi ký xác nhận khóa (key signing party).
32
Các hệ thống tuân theo OpenPGP còn bao gồm các cơ chế để người dùng
quyết định sự tin tưởng vào thông tin trong một chứng thư. Chẳng hạn người dùng
sẽ tin vào một chứng thư khi chứng thư đó có tối thiểu 3 xác nhận bán phần hoặc
1 xác nhận toàn phần. Các quy định này thông thường có thể thay đổi và thậm chí
có thể được bỏ qua.
Các cơ chế mạng lưới tin cậy rất mềm dẻo và việc quyết định hoàn toàn phụ
thuộc vào từng người sử dụng. Vì thế chúng không hoàn hảo và cần được giám sát
thường xuyên bởi chính những người sử dụng. Các hệ thống hạ tầng khóa công
khai trung tâm thì trái lại. Chúng kém mềm dẻo và người dùng bắt buộc phải tuân
theo những quy định của nhà cung cấp chứng thư số trung tâm. Các hệ thống này
cũng không hoàn hảo và người dùng vẫn cần phải thận trọng khi sử dụng.
Trong mô hình PKI theo tiêu chuẩn X.509 thì mỗi chứng thư chỉ được ký bởi
một thực thể duy nhất là nhà cung cấp chứng thư số (CA). Chứng thư của CA này
có thể lại được ký bởi một nhà cung cấp chứng thư số khác cho tới CA cấp cao
nhất (tự xác nhận - root CA). Do đó, các chứng thư gốc phải được phân phối rộng
rãi và đảm bảo sẵn sàng bất cứ khi nào cần đến. Một cách phân phối đã được sử
dụng là thông qua các trình duyệt và chương trình email máy khách. Bằng cách
này, các trang web dùng giao thức SSL/TLS hay các email có thể được chứng thực
mà người dùng không cần phải cài đặt các chứng thư gốc. Ngày nay, nhiều ứng
dụng đã được cài sẵn hàng trăm chứng thư gốc của nhiều nhà cung cấp PKI khác
nhau để có thể tự động nhận dạng phần lớn các chứng thư. Tuy nhiên trong số các
chứng thư gốc được cài sẵn, một số lại thuộc về các công ty đã ngừng hoạt động
(trong thời kỳ bong bóng đầu tư dot.com chẳng hạn). Vì thế trừ trường hợp các
PKI này vẫn được quản lý tốt thì các PKI gốc đó không nên được sử dụng.
Mạng lưới tín nhiệm sẽ không bị ảnh hưởng đáng kể khi một công ty nào đó
ngừng hoạt động. Tuy nhiên cũng có nhiều vấn đề nảy sinh trong cách hoạt động
của hệ thống. Nếu một người dùng nào đó (cá nhân hoặc tổ chức) bị mất khóa bí
mật thì không thể giải mã được các thông tin gửi đến sử dụng khóa công khai trong
chứng thư của mình. Trong trường hợp này người nhận chỉ có thể hủy các thông
điệp nhận được và thông báo lại cho bên gửi để gửi lại với khóa công khai khác.
Các chứng thư PGP thời kỳ đầu hoàn toàn không có thời gian sử dụng. Các phiên
33
bản PGP về sau và các hệ thống dựa trên OpenPGP đều đã đưa thêm thời gian sử
dụng vào trong chứng thư. Việc này đã loại bỏ được một số vấn đề khi được sử
dụng hợp lý.
Do mạng lưới tín nhiệm không có thực thể đóng vai trò điều khiển trung tâm,
một vấn đề khác nảy sinh liên quan đến khía cạnh xã hội của hệ thống. Phần lớn
người sử dụng hệ thống sẽ chỉ tin tưởng vào những chứng thư đã được xác nhận
bởi một hoặc nhiều người sử dụng khác. Vì thế một người sử dụng mới sẽ không
được những người khác tin tưởng cho đến khi có một người sử dụng nào đó xác
nhận vào chứng thư mà quá trình này nhiều khi đòi hỏi có sự gặp mặt trực tiếp.
Điều này càng đặc biệt khó khăn cho những người sử dụng ở những vùng hẻo lánh
hoặc kém phát triển vì mật độ người sử dụng ở những nơi này rất thấp. Một điều
nữa cần chú ý là nếu người ký vào chứng thư cũng là người sử dụng mới hoặc
không được nhiều người biết đến thì chữ ký của họ cũng sẽ có ít giá trị. Các buổi
ký xác nhận khóa là một cơ chế tương đối mới để giải quyết vấn đề này. Tại những
buổi như vậy, người dùng có cơ hội dễ dàng hơn để tìm ra người sử dụng khác ký
xác nhận cho mình. Ngoài ra cũng có các website cung cấp những thông tin về địa
chỉ người dùng hệ thống OpenPGP để giúp cho việc ký xác nhận. Ví dụ như trang
Gossamer Spider Web of Trust giúp liên kết người sử dụng OpenPGP thông qua
việc tổ chức mạng lưới tín nhiệm theo thứ bậc.
Chứng thư số
Chứng thư số là cơ chế chứng thực sử dụng chữ ký số để gắn một chìa khoá
công khai với một thực thể (một cá nhân, một cơ quan, một công ty, một máy chủ
hay một phần mềm dịch vụ,...).
Nội dung của chứng thư số luôn bao gồm một chìa khoá công khai, một số
thông tin về chủ thể sở hữu chìa khoá công khai đó (tên, địa chỉ, đặc điểm,...) và
một chữ ký số đảm bảo mối liên kết của 2 phần thông tin đó. Chữ ký số này thuộc
về cơ quan thẩm quyền phát hành chứng thư số (Certificate Authority, viết tắt là
CA).
Để tạo ra một chứng thư số, CA phải sinh được một cặp chìa khoá phi đối
xứng có độ an toàn cao để gán cho chủ thể (người yêu cầu cấp chứng thư).Thông
34
tin trên chứng thư số của người dùng (trong đó có chìa khoá công khai) là chính
xác nếu như chữ ký số ở trong chứng thư đó là chính xác. Đây là chữ ký của CA
và để kiểm tra nó thì cần phải có thông tin chính xác về chìa khoá công khai của
CA. Thông tin này có trong chứng thư số của CA và chứng thư này luôn sẵn có
trên hệ thống, như là yêu cầu đặt ra đối với hệ thống xác thực chuẩn mực.
Trong một mô hình hạ tầng khóa công khai (PKI) tiêu biểu, chữ ký trong
chứng thư thuộc về nhà cung cấp chứng thư số. Trong mô hình mạng lưới tín nhiệm
(web of trust), thì chữ ký có thể là của chính thực thể đó hoặc của một thực thể
khác. Trong bất kỳ trường hợp nào thì chữ ký trong chứng thư là sự đảm bảo của
người ký về mối liên hệ giữa khóa công khai và thực thể được chứng nhận.
Cả Liên minh Viễn thông Quốc tế (ITU) và IETF đều xây dựng các tiêu chuẩn
cho CA. ITU X.509 [ITU 2005a] chỉ định dịch vụ xác thực cũng như cú pháp cụ
thể cho chứng thư. [RFC 1422] mô tả quản lý khóa dựa trên CA để sử dụng với e-
mail Internet bảo mật. Nó tương thích với X.509 nhưng vượt xa X.509 bằng cách
thiết lập các quy trình và quy ước cho một kiến trúc quản lý khóa. Sau đây là mô
tả một số trường quan trọng trong một chứng thư.
35
Version Số phiên bản của đặc tả X.509.
Serial number Định danh duy nhất cho một chứng thư số do CA phát
hành.
Signature Xác định thuật toán được sử dụng bởi CA để ký chứng
thư số này.
Issuer name Định danh của CA phát hành chứng thư số này, trong định
dạng tên phân biệt (DN)[RFC 4512].
Validity period Bắt đầu và kết thúc thời hạn hiệu lực của chứng thư số.
Subject name Định danh của chủ thể sở hữu khóa công khai liên kết với
chứng thư số này, trong định dạng DN.
Subject public key Khóa công khai của chủ thể cũng như chỉ báo về thuật
toán khóa công khai (và các tham số thuật toán) sẽ được
sử dụng với khóa này.
• Các ý nghĩa và thuộc tính của chữ ký viết tay (đã nêu ở trên) chỉ mang
tính lý tưởng, nhưng với chữ ký số đã trở thành hiện thưc.
• Chữ ký số là chính xác tuyệt đối (không còn mối e ngại về việc chữ ký
không giống nhau mỗi lần ký, như khi phải ký tay).
• Chữ ký số có thể được kiểm định một cách dễ dàng. Mọi sự giả mạo, gian
lận vì thế đều bị phát hiện tức khắc. (Trong khi việc kiểm định chữ ký
tay, con dấu giả,... là không đơn giản và thường đòi hỏi phương tiện kỹ
thuật đặc biệt.)
Ngày nay văn bản điện tử đang dần thay thế các văn bản giấy trên mọi bình
diện, do tính ưu việt của nó như: tra cứu dễ dàng, lưu trữ thuận tiện (với chi phí
thấp) và thuận tiện cho công tác bảo mật, luân chuyển nhanh và an toàn (khó thất
lạc), phổ biến dễ dàng, nhanh chóng và rộng khắp,... Cho nên chữ ký số là công cụ
không thể thiếu, và là điều kiện tiên quyết cho việc vận hành mọi mô hình chính
phủ điện tử mà các quốc gia trên thế giới đang hướng đến.
Tầm quan trọng đặc biệt của chữ ký số (và cũng thể hiện tính hơn hẳn của nó
so với chữ ký viết tay) là ở chỗ đảm bảo được sự tin tưởng giữa các bên đối tác,
ngay cả khi họ hoàn toàn không có lòng tin vào nhau, như trường hợp của Liên Xô
36
và Mỹ trong việc kiểm soát Hiệp ước cấm thử vũ khí hạt nhân mà hai bên đã ký
kết trong những năm cuối của thế kỷ trước.
Trước khi có công nghệ chữ ký số, việc kiểm soát là vô cùng khó khăn và
phức tạp. Khó khăn là ở chỗ bên này không có được thông tin đầy đủ về các vụ nổ
mà bên kia tiến hành (trong giới hạn cho phép), còn thông tin về các vụ nổ mà bên
này cung cấp cho bên kia (dưới dạng các dữ liệu thông tin đo đạc địa chấn) thì lại
không được bên kia tin tưởng. Đơn giản là vì bên nào cũng chỉ tin tưởng vào thông
tin máy đo của bên mình cung cấp. Khoảng cách địa lý xa xôi giữa hai bên không
cho phép đặt máy đo bên này có thể đo đạc thông tin về các vụ nổ tiến hành ở đất
bên kia. Nếu như cho phép A đặt máy đo trên đất của B rồi truyền thông tin qua
một kênh an toàn về bên A thì sẽ phát sinh lo ngại về việc máy có thể đo và cung
cấp thông tin mà bên B không kiểm soát được. Nếu cho phép bên B kiểm soát
thông tin kết quả đo thì phát sinh lo ngại về việc bên B có thể làm thay đổi thông
tin đo đạc trước khi truyền về bên A. Chính những khó khăn này đã làm cho công
tác kiểm soát của hai bên là vô cùng khó khăn và phức tạp trong những năm đầu
(khi chưa có công nghệ chữ ký số). Với công nghệ chữ ký số thì việc này hết sức
đơn giản. Người ta chỉ cần thêm vào máy đo một chức năng mới là ký số các kết
quả đo đạc của chính nó. Khi ấy bên A có thể đặt máy đo trên đất bên B và cho
phép B xem toàn bộ kết quả đo đạc của máy, mà không sợ bên B thay đổi các kết
quả này, bởi vì mọi hành vi thay đổi kết quả đo của bên B nếu có sẽ bị lật tẩy bởi
chữ ký số.
Khả năng tạo niềm tin giữa các bên đối tác (hay nói đúng hơn là làm cho họ
không thể lừa được nhau) của chữ ký số còn được thể hiện rõ nét và rộng rãi hơn
trong ứng dụng làm nên tiền mật mã, mà đại diện tiêu biểu hiện nay là đồng
Bitcoin.
37
CHƯƠNG 2. KÝ SỐ TỪ XA
Chữ ký số dựa trên đám mây (cloud-based digital signature), hoặc “chữ ký
từ xa – Remote signature” là một thế hệ chữ ký số mới có thể hoạt động trên các
thiết bị máy tính để bàn, thiết bị di động và web - và đáp ứng mức độ tuân thủ và
đảm bảo cao nhất cho xác thực người ký. Mỗi người ký được cấp ID số dựa trên
chứng thư số cấp bởi các nhà cung cấp dịch vụ tin cậy (TSP). Khi ký số một tài
liệu, ID người dùng được sử dụng với mã PIN cá nhân và các bước xác minh khác
để chứng minh danh tính của người ký.
Tuy nhiên có một cách tiếp cận thay thế: Thẻ thông minh ảo, Chữ ký trên
Đám mây hay Máy chủ Chữ ký - cụ thể là một cách tiếp cận cho phép PKI minh
bạch, giống như khi chúng ta sử dụng thẻ tín dụng hoặc thẻ ghi nợ. Cách tiếp cận
này đã thành công rực rỡ ở các quốc gia như Đan Mạch, Na Uy và Luxembourg
và nó cũng đang vươn ra bên ngoài châu Âu. Ở Đan Mạch, tất cả các công ty và
công dân bây giờ, về nguyên tắc, phải có khả năng giao tiếp điện tử với các cơ
quan chính phủ và các ngân hàng.
Rõ ràng là có những khoản tiết kiệm khổng lồ cho các cơ quan chính phủ,
các công ty, cá nhân và môi trường nếu chúng ta có thể giao tiếp - và không kém
phần cam kết và chịu trách nhiệm - bằng điện tử, sử dụng chữ ký số thay vì bằng
giấy. Tuy nhiên, chúng ta cần bắt đầu với các ứng dụng làm cho điều đó hấp dẫn
với người dùng cuối. Chúng ta đã thấy ngân hàng điện tử và mua sắm trực tuyến
38
đã trở nên phổ biến như thế nào, và nếu nghĩ về tất cả các lá thư chúng ta nhận
được trong suốt cả năm từ các cơ quan công quyền, ví dụ như về các loại thuế khác
nhau, đăng ký bỏ phiếu, lương hưu, v.v., chúng ta bắt đầu hiểu được tầm quan
trọng của việc số hóa.
Khi ký điện tử vào một tài liệu, tính toàn vẹn của chữ ký không chỉ phụ thuộc
vào tính hợp lý của các thuật toán chữ ký số được sử dụng, mà còn dựa vào tính
bảo mật của nền tảng máy tính được sử dụng để ký tài liệu. Thuộc tính WYSIWYS
(What You See Is What You Sign) của các hệ thống chữ ký số nhằm giải quyết
vấn đề này bằng cách định nghĩa một thuộc tính mong muốn rằng sự thể hiện trực
quan của tài liệu số phải nhất quán trên các hệ thống máy tính, đặc biệt là ở các
điểm tạo chữ ký số và xác minh chữ ký số.
Việc thay đổi cách thể hiện của một tài liệu kỹ thuật số là tương đối dễ dàng
bằng cách thực hiện các thay đổi trên hệ thống máy tính nơi tài liệu đang được xử
lý. Từ góc độ ngữ nghĩa, điều này tạo ra sự không chắc chắn về những gì chính
xác được ký. WYSIWYS là một thuộc tính của hệ thống chữ ký số đảm bảo rằng
cách biểu diễn ngữ nghĩa của một thông điệp được ký điện tử không thể thay đổi,
dù là do vô tình hay cố ý. Thuộc tính này cũng đảm bảo rằng một tài liệu kỹ thuật
số được ký không thể chứa nội dung ngữ nghĩa ẩn có thể bị tiết lộ sau khi chữ ký
đã được áp dụng. Mặc dù việc triển khai WYSIWYS chỉ an toàn tương đương với
nền tảng máy tính mà nó đang chạy, nhưng nhiều phương pháp khác nhau đã được
đề xuất để làm cho WYSIWYS mạnh mẽ hơn.
Bất kể kiến trúc tổng thể là gì, điều cực kỳ quan trọng là các khóa bí mật
được lưu trữ an toàn và theo cách mà chỉ chủ sở hữu mới có thể truy cập để tạo
chữ ký và chữ ký được tạo ra trong một môi trường được bảo vệ.
Vào cuối những năm 90, người ta thường chấp nhận rằng cách khả thi duy
nhất là sử dụng thẻ thông minh cho việc này. Tuy nhiên, có những phương tiện để
39
bảo vệ các khóa bí mật có khả năng chống chịu cao hơn nhiều đối với các cuộc tấn
công khác nhau vào khóa, gọi là mô-đun bảo mật phần cứng (HSMs). Chúng đã
được sử dụng rộng rãi bởi các ngân hàng trên toàn thế giới.
Ưu điểm nổi bật nhất của chữ ký trên đám mây là người dùng không bị giới
hạn trong một máy trạm hoặc máy tính xách tay cụ thể, điều này làm cho nó trở
thành một giải pháp thực sự linh hoạt. Một lợi thế khác là nếu bạn đã có cơ sở hạ
tầng và các ứng dụng, rất hiệu quả về chi phí để thêm nhiều người dùng hơn vì bạn
không cần thêm bất kỳ phần cứng bổ sung nào.
Với một máy chủ chữ ký trung tâm, còn được gọi là chữ ký trên đám mây,
thách thức đối với người dùng cá nhân là đảm bảo rằng:
1. Người dùng được xác thực một cách hợp lý trước khi có thể ký tin nhắn.
2. Chỉ có chủ sở hữu khóa bí mật cụ thể mới có thể khởi tạo tính toán chữ ký.
3. WYSIWYS.
Để đạt được điều này, cách tiếp cận an toàn nhất là có hai máy chủ độc lập,
một để xác thực và một để ký.
Chúng thậm chí có thể nằm ở các môi trường khác nhau với một kênh an toàn
kết nối chúng. Trên thực tế, máy chủ chữ ký có thể được kết nối với một số máy
chủ xác thực khác nhau. Mỗi máy chủ được hỗ trợ bởi các mô-đun bảo mật phần
cứng (HSMs), và tất cả các tính toán và xác minh an toàn được thực hiện hoàn toàn
bởi và trong một HSM. Điều này rất giống với các giao dịch thẻ ghi nợ và thẻ tín
dụng đang được các ngân hàng ủy quyền.
Ưu điểm của việc này là người ta sẽ có đầy đủ các cơ chế xác thực khác nhau
có sẵn. Dưới đây là ví dụ sử dụng đơn giản của kịch bản này:
Người dùng tạo ra một tin nhắn để ký trên máy tính bảng hoặc máy trạm và
chuyển tiếp yêu cầu ký kết đến máy chủ xác thực cùng với một phương thức xác
40
thực mạnh ưa thích để xác minh người dùng. Máy chủ xác thực xác minh danh tính
của người dùng và, nếu thành công, chuyển tiếp để tạo chữ ký.
Máy chủ chữ ký chuyển tiếp một bản sao của tin nhắn đến thiết bị di động
của người dùng cùng với mã ủy quyền gồm 6 ký tự. Nếu người dùng hài lòng
anh/cô ta nhập mã này và chữ ký được tạo bởi máy chủ chữ ký thông qua một
đường hầm TLS an toàn vào máy chủ xác thực.
Nếu Máy chủ xác thực và Máy chủ chữ ký ở các môi trường khác nhau, điều
này cho phép hai ghi chép nhật ký độc lập khi người dùng khởi tạo ký, vì vậy hệ
thống biết chính xác khi nào điều này xảy ra, trái ngược với cách tiếp cận thẻ thông
minh.
Do đó, WYSIWYS đạt được bằng khả năng so sánh các phiên bản đã ký
trong mỗi kênh và quan sát thấy chúng giống hệt nhau.
Hơn thế nữa, giải pháp này cho phép bạn đơn giản hóa những khó khăn và
thiếu sót của một giải pháp PKI truyền thống, nơi mọi người về nguyên tắc có thể
giao tiếp an toàn với mọi người.
Do đó, tất cả các ứng dụng sử dụng cơ sở hạ tầng này về nguyên tắc sẽ có thể
nhận biết rằng chữ ký nhận được có phải từ một người dùng khác đã được tạo trên
máy chủ bảo mật không thay vì thẻ thông minh hoặc thậm chí tệ hơn, trong phần
mềm. Điều này rõ ràng đòi hỏi việc lưu trữ an toàn khóa công khai của CA - nhưng
đó sẽ luôn là vấn đề với PKI.
Chứng thư giống như giấy phép lái xe: chúng có vẻ như nói điều gì đó về
tương lai, nhưng thực chất chúng chỉ nói về quá khứ. Ví dụ, tương đối dễ dàng cho
một người để có được một bản sao gốc của giấy phép lái xe của mình, chỉ cần đi
đến cơ quan thích hợp và giải thích bạn đã mất nó. Bây giờ người đó có hai giấy
phép lái xe. Nếu giấy phép của của người đó bị thu hồi, chỉ cần trả lại giấy phép
mới nhất. Người đó vẫn có thể thuê một chiếc xe với giấy phép ban đầu như thường
nếu như không có một cuộc kiểm tra nào được thực hiện trên một cơ sở dữ liệu
trung tâm.
41
Tương tự như vậy, nếu bạn nhận được chữ ký số, bạn phải tự hỏi: tôi có thể
dựa vào nó hay có thể khóa bí mật được sử dụng để tạo ra nó đã bị thu hồi sau hoặc
thậm chí trước khi chữ ký được tạo ra không? Mấu chốt là tất cả những gì một
chứng thư cho bạn biết là tại một số thời điểm trong quá khứ khóa bí mật tương
ứng là hợp lệ. Nhưng để xác định rằng khóa bí mật vẫn còn hiệu lực tại thời điểm
chữ ký được cho là được tạo ra, bạn cần liên hệ với CA, ví dụ thông qua OCSP
(Giao thức trạng thái chứng thư trực tuyến) để hỏi xem liệu khóa đã bị thu hồi vào
thời điểm đó.
Với cách tiếp cận ký tập trung, vấn đề này biến mất ngoại trừ một khoảng
thời gian bù trừ giao dịch rất ngắn. Thật vậy, với cách tiếp cận ký tập trung, trong
vòng mili giây chứng thư bị CA thu hồi, máy chủ chữ ký trung tâm được CA thông
báo và yêu cầu từ người dùng để ký bằng khóa bí mật của anh ta không còn được
chấp nhận.
Hãy xem xét kịch bản bạn là người dùng giải pháp PKI truyền thống, nơi mọi
người dùng đều có khóa bí mật trên thẻ thông minh thuộc sở hữu cá nhân của mình.
Giả sử bạn nhận được chữ ký số từ Alice vào ngày 1 tháng 12 năm 2014, cam kết
rằng cô ấy sẽ trả cho bạn €1000 vào ngày 1 tháng 4 năm 2015. Sau đó, bạn hỏi, giả
sử vào ngày 2 tháng 12, với CA rằng chứng thư của cô ấy đã bị thu hồi không, và
câu trả lời là không. Ngày 1 tháng 4 đến, không nhận được tiền, bạn liên lạc với
Alice, và cô ấy nói rằng Bob sống bên cạnh có khả năng đã đánh cắp thẻ thông
minh của cô ấy trong năm mới. Alice cho rằng đã thu hồi khóa của mình vào ngày
2 tháng 1, nhưng dường như có một luồng chữ ký số liên tục được tạo ra bằng khóa
riêng của cô sau đó.
Tất nhiên bạn có thể biết rằng Alice đang nói dối, vì bạn biết khi nào bạn
thực sự nhận được chữ ký - nhưng nếu không có biện pháp bổ sung, bạn không thể
chứng minh điều đó!
Đây là lý do tại sao nhãn thời gian độc lập là cần thiết trong một giải pháp
PKI truyền thống. Bạn cần gửi tất cả các chữ ký nhận được cho một cơ quan độc
lập của bên thứ ba để ghi nhãn thời gian độc lập - cách tiếp cận phổ biến nhất được
42
đề xuất - hoặc có các phương tiện khác để chứng minh thời điểm nhận được chữ
ký. Đáng buồn thay, đây vẫn không phải là một rủi ro được hiểu rõ.
Theo quy chuẩn, eIDAS bao gồm toàn bộ chuỗi tin cậy bao gồm niêm phong,
xác nhận, gán nhãn thời gian và ký tập trung, làm cho nó phù hợp hơn với việc
cung cấp trải nghiệm người dùng thân thiện với thiết bị di động.
Ủy ban Châu Âu đã thiết lập các tiêu chuẩn xung quanh việc ký máy chủ
trung tâm và ký thẻ thông minh để cung cấp một khuôn khổ pháp lý rõ ràng cho
việc triển khai công nghệ này. Để thực hiện ký tập trung tuân thủ eIDAS, có một
số tiêu chuẩn CEN và ETSI, chẳng hạn như TS 419 241: 2014, cần được tuân thủ.
Công nghệ ký điện tử phải trải qua một cuộc kiểm toán được thực hiện bởi
một giám định viên bảo mật được công nhận bởi một cơ quan giám sát nếu một
doanh nghiệp muốn được chứng nhận là cung cấp chữ ký điện tử tiên tiến hoặc đủ
điều kiện.
43
Hình 2.1 Hệ thống tin cậy eIDAS
"Hệ thống tin cậy eIDAS" cung cấp nền tảng đáng tin cậy cho toàn bộ "Hệ
sinh thái eIDAS" bằng sự kết hợp thích hợp của các biện pháp bao gồm công nhận,
đánh giá sự phù hợp, giám sát và xử lý sự cố.
"Dịch vụ eIDAS" bao gồm "Dịch vụ eID" cho nhận dạng điện tử được quy
định bởi Chương II và một loạt các "Dịch vụ Ủy thác" theo Điều 3 và được quy
định bởi Chương III của Quy chuẩn eIDAS. Các dịch vụ này cụ thể bao gồm:
44
được thông báo theo Điều 9 cũng như các chương trình khác. Theo quy định tại
Điều 8 của Quy chuẩn eIDAS và đạo luật thực thi liên quan CIR (EU) 2015/1502,
độ tin cậy của một chương trình nhận dạng điện tử và các phương tiện nhận dạng
được triển khai bên trong, được phản ánh trong mức độ đảm bảo của nó. Các mức
độ đảm bảo được chỉ định dao động từ "thấp" qua "đáng kể" đến "cao". Các chương
trình eID được thông báo cung cấp ít nhất một mức độ đảm bảo đáng kể sẽ được
công nhận lẫn nhau trong các giao dịch xuyên biên giới theo Điều 6 của Quy chuẩn
eIDAS.
45
2.2.5 Dịch vụ Xác minh (ValS)
Các chữ ký và con dấu điện tử (đủ điều kiện) được tạo bằng SigS ở trên có
thể được xác minh với Dịch vụ xác minh (ValS). ValS sử dụng các chứng thư có
trong Danh sách tin cậy theo Điều 22 của Quy chuẩn eIDAS, Đạo luật thực hiện
tương ứng CID (EU) 2015/1506 và ETSI TS 119 162 (v2.1.1) làm neo ủy thác và
thực hiện xác thực chữ ký theo EN 319 102-1 bằng chính sách xác nhận phù hợp.
Các kỹ thuật bảo lưu được thực hiện bởi Dịch vụ Bảo lưu (PresS) theo Điều
34 có thể liên quan đến Hồ sơ Bằng chứng theo RFC 4998 hoặc RFC 6283 hoặc
tăng cường liên tục chữ ký bằng cách sử dụng nhãn thời gian lưu trữ theo CAdES
hoặc XAdES chẳng hạn.
Theo Điều 44 của Quy chuẩn eIDAS "dịch vụ giao hàng đăng ký điện tử đủ
điều kiện phải đáp ứng các yêu cầu sau:
• Chúng được cung cấp bởi một hoặc nhiều nhà cung cấp dịch vụ ủy thác đủ
điều kiện;
46
• Họ đảm bảo với mức độ tin cậy cao về nhận dạng của người gửi;
• Họ đảm bảo việc xác định người nhận trước khi cung cấp dữ liệu;
• Việc gửi và nhận dữ liệu được bảo mật bằng chữ ký điện tử tiên tiến hoặc
con dấu điện tử tiên tiến của nhà cung cấp dịch vụ ủy thác đủ điều kiện theo
cách ngăn chặn khả năng thay đổi dữ liệu mà không bị phát hiện;
• Bất kỳ thay đổi dữ liệu cần thiết cho mục đích gửi hoặc nhận dữ liệu được
chỉ định rõ ràng cho người gửi và người nhận dữ liệu;
• Ngày, giờ gửi, nhận và bất kỳ thay đổi dữ liệu nào được ghi bằng nhãn thời
gian điện tử đủ điều kiện".
Với những yêu cầu này, rõ ràng là EDS cần sử dụng một loạt các Dịch vụ
eIDAS khác như eID-Service, SigS, TSA, ValS và thông tin trạng thái chứng chỉ
do CA cung cấp.
47
Hình 2.2 Tổng quan về các tiêu chuẩn chữ ký
Như được mô tả trong Hình 2.2, các tiêu chuẩn API mới cung cấp giao diện
lập trình cho các dịch vụ chính trong hệ sinh thái eIDAS. Chữ ký và con dấu có
thể được tạo thông qua Dịch vụ tạo và niêm phong chữ ký (SigS), được xác minh
thông qua Dịch vụ Xác minh (ValS) và cuối cùng được bảo quản trong thời gian
dài với Dịch vụ Bảo quản (PresS). Các hệ thống ứng dụng sử dụng các API dựa
trên dịch vụ web được phát triển bởi ETSI ESI và OASIS DSS-X. Trong khi các
giao diện cho việc tạo (ETSI TS 119 432) và xác nhận chữ ký và con dấu điện tử
(ETSI TS 119 442) dựa trên phiên bản mới 2.0 des OASIS DSS-X Core, chỉ có
các tệp lược đồ cơ bản được tạo bởi OASIS ("Base" và "Metadata") đã được nhập
và mở rộng để định nghĩa giao diện của Dịch vụ bảo quản (ETSI TS 119 512).
Ngoài các thông số kỹ thuật giao diện kỹ thuật được xem xét chi tiết hơn dưới đây,
ETSI TS 119 431 (phần 1 và phần 2), ETSI TS 119 441 và ETSI TS 119 511 quy
định các yêu cầu chính sách và bảo mật tương ứng, tạo cơ sở cho việc đánh giá sự
phù hợp của các dịch vụ ủy thác liên quan (đủ điều kiện) theo Quy chuẩn eIDAS.
Tài liệu prEN 419 241-1 cung cấp các mô hình chức năng thường được công
nhận của TW4S, chỉ định các yêu cầu tổng thể áp dụng trên tất cả các dịch vụ được
48
xác định trong mô hình chức năng, chỉ định các yêu cầu bảo mật cho từng dịch vụ
được xác định trong SSA, chỉ định các yêu cầu bảo mật cho các thành phần hệ
thống nhạy cảm có thể được SSA sử dụng (ví dụ: Thiết bị tạo chữ ký (SCDev)).
Lưu ý: Các khía cạnh sau đây được coi là ngoài phạm vi của tài liệu prEN
419 241-1: Các dịch vụ đáng tin cậy khác có thể được sử dụng cùng với dịch vụ
này như dịch vụ xác thực chữ ký, dịch vụ đánh dấu thời gian và dịch vụ bảo quản
thông tin, bất kỳ ứng dụng hoặc hệ thống nào bên ngoài SSA, giải thích pháp lý
của bất kỳ hình thức chữ ký nào (ví dụ: ý nghĩa của chữ ký, của nhiều chữ ký và
chữ ký bao gồm các cấu trúc thông tin phức tạp có chứa các chữ ký khác).
Các yêu cầu về chính sách và bảo mật được xác định theo việc tạo, duy trì,
quản lý vòng đời và việc sử dụng khoá trong tạo chữ ký số.
Tiêu chuẩn này được sử dụng cho các cơ quan độc lập làm cơ sở cho việc
đánh giá sự phù hợp của TSP để có thể tin cậy vận hành QSCD/SCDev từ xa.
Tiêu chuẩn không chỉ định giao thức truy cập SSASC. Tiêu chuẩn hiện tại
xác định các kiểm soát cụ thể cần thiết để giải quyết các rủi ro liên quan đến các
dịch vụ hoạt động từ xa QSCD / SCDev.
49
Tiêu chuẩn có tham chiếu tới tiêu chuẩn CEN EN 419 214-1 (chỉ định mức
độ an toàn cho việc kiểm soát duy nhất). Thuật ngữ “sole control – kiểm soát duy
nhất” không có nghĩa chỉ áp dụng cho chữ ký điện tử theo quy chuẩn (EU) No
910/2014 được giải thích trong tiêu chuẩn CEN EN 4190241-1 điều 5.3. Các yêu
cầu này còn có thể áp dụng cho con dấu điện tử.
Đặc tả kỹ thuật của tiêu chuẩn ETSI TS 119 432 chỉ giới hạn ở việc ký số tạo
chữ ký số trên máy chủ đặt từ xa, tức là khóa mật mã để ký được lưu giữ quản lý
từ một hệ thống dịch vụ chia sẻ ở xa người ký.
Lưu ý: Việc ký số từ xa nhưng quá trình tạo chữ ký số được thực hiện bởi
trạm đầu cuối (thiết bị cá nhân của người ký), như là khóa mật mã để ký được lưu
giữ quản lý ở tại thiết bị đầu cuối của người ký còn các bước thực hiện thủ tục ký
số được thực hiện từ các dịch vụ trên mạng Internet không thuộc phạm vi tài liệu
này. Tài liệu ETSI TS 119 432 đặc tả các giao thức với hai định dạng: XML và
JSON. Giao thức cho phép yêu cầu tạo và trả về kết quả cho các định dạng chữ ký
số AdES sau đây:
Giao thức hỗ trợ cả hai phương thức đồng bộ và dị bộ cho quản lý các yêu
cầu và phản hồi.
Giao thức hỗ trợ tạo ra chữ ký số đính kèm và không đính kèm nội dung.
50
Các giao thức trong tài liệu này sử dụng lại hệ thống cấu trúc theo những đặc
tả XML CSC JSON và OASIS DSS-X. Những trường hợp không thể sử dụng lại,
tài liệu này xây dựng thêm đặc tả ngữ nghĩa và cú pháp theo hai định dạng: XML
và JSON. Cho các thành phần mới.
Việc xác thực quyền sử dụng khóa mật mã tạo chữ ký số của người ký yêu
cầu cơ chế kiểm tra nhiều lớp để đảm bảo sự kiểm soát người ký hợp lệ. Cách thức
quy trình xác thực người ký được thực hiện bởi nhà cung cấp dịch vụ bằng các cơ
chế xác thực đa nhân tố không thuộc phạm vi tài liệu này.
Protection Profile (PP) - Hồ sơ bảo vệ, xác định yêu cầu bảo mật cho các mô-
đun mật mã sử dụng bởi nhà cung cấp dịch vụ tin cậy, hỗ trợ ký điện tử và dịch vụ
xác thực. Nó bao gồm hỗ trợ tùy chọn để sao lưu khóa được bảo vệ.
Protection Profile hỗ trợ các nhà cung cấp dịch vụ tin cậy được xác định theo
quy định đề xuất của Nghị viện Châu Âu và của Hội đồng về nhận dạng điện tử và
dịch vụ tin cậy cho các giao dịch điện tử trên thị trường nội bộ châu Âu (eIDAS).
TOE (Target of Evaluation) là mô đun bảo mật, tạo và/hoặc bảo vệ khóa bí
mật cũng như các dữ liệu nhạy cảm khác và cho phép việc kiểm soát các dữ liệu
hoặc các service mật mã được hỗ trợ bởi nhà cung cấp dịch vụ.
51
Hình 2.3 Kiến trúc TOE của HSM
Có thể xem kiến trúc của TOE là định hướng chung mà các nhà sản xuất
HSM phải tuân thủ để đạt chứng nhận PP-5. TOE là một tập các phần mềm và
phần cứng được cấu hình.
• Cung cấp module Server Signing Application (máy chủ ứng dụng ký số).
Module này cần tuân thủ tiêu chuẩn bảo mật EN 419 241-1.
• Cung cấp module Signature Activation Module (SAM) có chức năng điều
khiển việc truy cập khóa bí mật người dung. Module này cần tuân thủ tiêu
chuẩn 419 241-2.
• Cung cấp Crypto Module. Đây còn gọi là module HSM có chức năng sinh
khóa và mã hóa khóa người dùng. Module này cần tuân thủ tiêu chuẩn bảo
mật PP (Protection Profile) 419 221-5.
52
Người sử dụng
Thông tin trao đổi giữa thiết bị di động cá nhân (Signer Interaction
Component) và máy chủ ứng dụng ký số (Server Signing Application) cần tuân
theo giao thức TS 119 432.
Quy trình tạo chữ ký đưa ra các kịch bản mà chữ ký số AdES và/hoặc chữ ký
số (DSV) được tạo ra bằng cách sử dụng khóa mật mã tạo chữ ký số được lưu giữ
quản lý trong một mô-đun mật mã gọi là Thiết bị tạo chữ ký số (SCDev) và được
vận hành bởi Nhà cung cấp dịch vụ tạo chữ ký số (SCSP).
Dựa trên phân loại quản lý dữ liệu khác nhau trong các lệnh và phản hồi, hai
cấu phần chính trong sơ đồ quy trình trên cung cấp các giao diện khác nhau cho
quá trình ký số: Thành phần dịch vụ ứng dụng máy chủ ký số (SSASC) và Thành
phần dịch vụ ứng dụng tạo chữ ký số (SCASC) được đặc tả sau đây.
SSASC
SSASC là thành phần hỗ trợ tạo chữ ký số (DVS). SSASC có khả năng tương
tác với SCDev đang quản lý khóa riêng của người ký. Khi SSASC sử dụng SCDev,
người ký có khả năng kiểm soát khóa mật mã tạo chữ ký số với các cấp độ tin cậy
xác định. Đầu vào chính cho giao diện SSASC là Đại diện dữ liệu cần ký số
(DTBSR) và các tham số khác hỗ trợ và đầu ra chính là chữ ký số (DVS).
SCASC
SCASC là cấu phần hỗ trợ tạo chữ ký số AdES và thực hiện một số chức
năng cụ thể của quy trình tạo chữ ký số. SCASC có khả năng tương tác với SSASC
cho lệnh tạo chữ ký số (DVS).
Giao tiếp với SCASC là các tài liệu cần được ký số (SD) hoặc đại diện của
các tài liệu cần được ký số (SDR) và các tham số khác là đầu vào chính và các tài
liệu đã ký số hoặc các chữ ký số (DVS) là đầu ra chính.
53
SCS chỉ dịch vụ TSP triển khai Ứng dụng Tạo chữ ký số (SCA) và/hoặc ứng
dụng máy chủ ký số (SSA).
Một số tùy chọn giao tiếp tùy thuộc vào sự phân chia chức năng giữa SCS và
phía hệ thống cục bộ từ người ký.
• Người dùng xác thực quyền trên ứng dụng của thiết bị di động cá nhân.
• Ứng dụng trên thiết bị di động cá nhân gửi thông tin và yêu cầu sinh khóa
về server.
• Server tiếp nhận và sử dụng thông tin, sinh cặp khóa tại HSM và chia sẻ với
ứng dụng trên thiết bị di động cá nhân.
• Hệ thống đồng bộ thông tin, xác nhận sinh khóa thành công, lưu trữ thông
tin người dùng vào CSDL và công bố chính thức cặp khóa.
• Sử dụng cặp khóa đã được hệ thống công bố để tạo request và cấp chứng
thư số.
Quy trình ký số
54
2.5 Tình hình thực tế ở Việt Nam
Thời gian qua, Chính phủ đã ban hành nhiều văn bản như Nghị định số
130/2018/NĐ-CP ngày 27/9/2018 quy định chi tiết thi hành Luật Giao dịch điện
tử về chữ ký số và dịch vụ chứng thực chữ ký số; Nghị định số 119/2018/NĐ-CP
ngày 12/9/2018 quy định về hóa đơn điện tử khi bán hàng hóa, cung cấp dịch vụ;
Nghị định số 165/2018/NĐ-CP ngày 24/12/2018 về giao dịch điện tử trong hoạt
động tài chính; Quyết định số 28/2018/QĐ-TTg ngày 12/7/2018 của Thủ tướng
Chính phủ về việc gửi, nhận văn bản điện tử giữa các cơ quan trong hệ thống hành
chính nhà nước; Nghị quyết số 17/NQ-CP ngày 07/3/2019 về một số nhiệm vụ,
giải pháp trọng tâm phát triển Chính phủ điện tử giai đoạn 2019 – 2020, định hướng
đến 2025; Quyết định số 274/QĐ-TTg ngày 12/3/2019 của Thủ tướng Chính phủ
phê duyệt Đề án Cổng Dịch vụ công quốc gia là những văn bản quy phạm pháp
luật và văn bản chỉ đạo quan trọng, làm căn cứ cho việc xây dựng và phát triển
Chính phủ điện tử, hướng tới Chính phủ số, nền kinh tế số, trong đó chữ ký số là
một thành tố quan trọng đảm bảo tính pháp lý, bảo mật cho giao dịch điện tử của
người dân, doanh nghiệp và cơ quan, tổ chức.
Nhà nước định hướng về chữ ký số, dịch vụ chứng thực chữ ký số và xác
thực điện tử trong thời gian tới:
• Nghiên cứu, đề xuất giải pháp thúc đẩy phát triển thị trường ứng dụng chữ
ký số công cộng, tạo điều kiện cho mọi tổ chức, người dân có thể sử dụng
chữ ký số và các phương thức xác thực điện tử, góp phần nâng cao hiệu quả
cung cấp, sử dụng dịch vụ công trực tuyến và phát triển kinh tế số.
• Nghiên cứu, tham mưu, đề xuất các chính sách để đảm bảo an toàn cho giao
dịch điện tử, góp phần đẩy mạnh phát triển thương mại điện tử, kinh tế số
tại Việt Nam.
55
• Xây dựng và phát triển khuôn khổ hệ sinh thái về định danh và xác thực số
toàn diện áp dụng cho các cá nhân, tổ chức và các đối tượng tham gia giao
dịch điện tử.
• Nghiên cứu, đề xuất triển khai, ứng dụng các công nghệ mới (blockchain,
AI,…) phục vụ việc định danh và xác thực điện tử.
Theo số liệu thống kê của Trung tâm Chứng thực điện tử quốc gia (NEAC)
đến 31/12/2018, các CA công cộng đã cấp 2.420.048 chứng thư số công cộng, thu
hồi 178.018 chứng thư số, số lượng chứng thư số hoạt động là 1.068.961 (chiếm
44,17%).
Chi tiết số lượng chứng thư số đã cấp từng CA công cộng được mô tả như
trong Hình 2.4.
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 [2]
Tính đến hết 31/3/2019, tổng số chứng thư số đang hoạt động khoảng
1.155.060 chứng thư số, trong đó 1.070.072 chứng thư số cấp cho khoảng 740.000
doanh nghiệp và 83.988 chứng thư số cá nhân.
Tỉ lệ chứng thư số phân chia theo cá nhân và tổ chức, doanh nghiệp được thể
hiện như Hình 2.5.
56
Hình 2.5 Tỉ lệ chứng thư số phân theo đối tượng tính đến 31/3/2019 [2]
Số lượng chứng thư số công cộng đến nay được cấp và sử dụng chủ yếu trong
các dịch vụ công trực tuyến như khai và nộp thuế qua mạng; kê khai hải quan điện
tử; và các dịch vụ bảo hiểm xã hội điện tử.
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 [2]
Theo số liệu cung cấp từ các cơ quan, tổ chức thuế, hải quan, bảo hiểm xã
hội, tính đến thời điểm 31/3/2019 có:
• 711.604 tổ chức, doanh nghiệp và các đơn vị trực thuộc, các chi nhánh sử
dụng chữ ký số trong lĩnh vực thuế, tăng 63.474 tổ chức, doanh nghiệp so
với cùng kỳ năm 2018;
57
• 203.976 doanh nghiệp sử dụng chữ ký số trong hoạt động trong lĩnh vực hải
quan, tăng 61.874 tổ chức, doanh nghiệp so với cùng kỳ năm 2018;
• 323.481 doanh nghiệp sử dụng chữ ký số trong kê khai bảo hiểm xã hội,
tăng 97.771 tổ chức, doanh nghiệp so với cùng kỳ năm 2018.
Tình hình phát triển và ứng dụng chữ ký số chuyên dùng trong cơ quan
nhà nước
Việc sử dụng chữ ký số cho văn bản điện tử đảm bảo an toàn cho việc trao
đổi văn bản điện tử giữa các cơ quan nhà nước, tạo được môi trường làm việc hiện
đại, tiết kiệm thời gian và chi phí; nâng cao hiệu quả công việc, tăng tính công
khai, minh bạch trong quản lý điều hành; góp phần tích cực trong việc cải cách
hành chính và phát triển Chính phủ điện tử.
Các loại văn bản điện tử đang được ký số bằng chữ ký số của Ban Cơ yếu
Chính phủ ở các cơ quan, đơn vị gồm: Giấy mời; Lịch làm việc; Đăng ký họp; Tài
liệu họp; Văn bản để biết; Báo cáo; Thông báo; Tờ trình; Kế hoạch; Công văn;
Thông tin chỉ đạo điều hành. Phần lớn các đơn vị sử dụng chữ ký số cho tất cả các
loại văn bản trừ văn bản mật (theo Quyết định số 28/2018/QĐ-TTg ngày
12/7/2018).
Tỉ lệ văn bản điện tử áp dụng chữ ký số trên tổng số văn bản chuyển qua
mạng của các cơ quan, đơn vị ở mức cao (có cơ quan đạt 95%).
Phạm vi sử dụng chữ ký số: Trên hệ thống trục liên thông văn bản quốc gia;
Ký email; Ký văn bản điện tử.
Tình hình phát triển và ứng dụng chữ ký số chuyên dùng trong tổ chức,
doanh nghiệp
Việc ứng dụng chữ ký số để đảm bảo an toàn thông tin, xác thực được thông
tin qua môi trường mạng ngày càng được áp dụng rộng rãi.
Nhận thức được ưu điểm của chữ ký số như đảm bảo an toàn thông tin, xác
thực thông tin người dùng qua môi trường mạng nên các tổ chức, doanh nghiệp tại
Việt Nam đều tích cực ứng dụng chữ ký số. Lựa chọn xây dựng hệ thống cung cấp
dịch vụ chứng thực chữ ký số chuyên dùng (CA chuyên dùng) để tự cấp, sử dụng
58
vì giải pháp này so với chữ ký số công cộng vừa tận dụng được ưu điểm của chữ
ký số và đáp ứng được yêu cầu về kinh phí.
Đến 31/12/2018, Bộ Thông tin và Truyền thông đã cấp giấy chứng nhận đăng
ký hoạt động cho 04 tổ chức cung cấp dịch vụ chứng thực chữ ký số chuyên dùng
bao gồm:
Ngày 6-10, Tập đoàn VNPT đã triển khai hội thảo “Chữ ký số - Công dân số
- Chìa khóa thành công” qua hình thức trực tuyến với sự có mặt của nhiều chuyên
gia hàng đầu về số hóa tại Việt Nam cùng hàng trăm khách mời đến từ các cơ quan
nhà nước, tổ chức, doanh nghiệp trong và ngoài nước. Tại hội nghị, các diễn giả
đã chia sẻ về kinh nghiệm triển khai chữ ký số, cơ sở pháp lý chữ ký số trên thế
giới và tại Việt Nam, đồng thời nêu ra thực trạng, hạn chế của quá trình số hóa
trong nước. Nhiều diễn giả cùng bày tỏ sự quan ngại khi hình thức chữ ký số sử
dụng USB token hiện nay như phụ thuộc vật lý vào thiết bị PC, laptop cũng như
giới hạn về tốc độ, lượt ký và vấn đề chữ ký số từ xa (Remote Signing) cũng được
đặc biệt quan tâm. Theo ông Nguyễn Thiện Nghĩa, Giám đốc Trung tâm Chứng
thực điện tử quốc gia - Bộ Thông tin và Truyền thông, hình thức ký số từ xa đã
được triển khai trên thế giới được 1-2 năm nay. Nhiều đơn vị đã gửi hồ sơ tới Bộ
Thông tin và Truyền thông để được cấp phép cung cấp dịch vụ này. Trong thời
gian tới, đơn vị nào đáp ứng được các điều kiện an toàn sẽ được phê duyệt.
Liên tiếp trong những ngày đầu của tháng 11/2021, Bộ Thông tin và Truyền
thông đã trao giấy phép cung cấp dịch vụ chứng thực chữ ký số công cộng theo
59
mô hình ký số từ xa cho các doanh nghiệp: Tập đoàn VNPT, Công ty cổ phần
MISA và Công ty cổ phần công nghệ SAVIS.
Tại hội thảo trực tuyến về chữ ký số cá nhân diễn ra sáng 16/11, các diễn giả
đến từ Bộ TT&TT, Ngân hàng Nhà nước, đại diện các ngân hàng, công ty chứng
khoáng, bảo hiểm và công nghệ đã dành nhiều thời gian nói về ký số từ xa (remote
signing), đặc biệt ứng dụng trong lĩnh vực tài chính - ngân hàng. Đáng chú ý, thứ
trưởng Nguyễn Huy Dũng thông tin thêm, dự kiến đầu năm 2022, Bộ TT&TT sẽ
ban hành chương trình hành động chữ ký số cá nhân trong xã hội. Hay nói cách
khác, trong tương lai tới đây, chữ ký số sẽ dần trở nên thông dụng hơn trong cuộc
sống của mỗi cá nhân, chứ không chỉ dành cho doanh nghiệp như bấy lâu nay.
60
CHƯƠNG 3. ỨNG DỤNG HỖ TRỢ KÝ SỐ TỪ XA
Chương này trình bày giải pháp xây dựng một ứng dụng ký số từ xa, tuân thủ
những quy định hiện hành được ban hành bởi Bộ TTTT và phù hợp với Quy chuẩn
eIDAS. Khuôn khổ hệ thống được trình bày trong báo cáo này xoay quanh dịch vụ
Tạo chữ ký điện tử, các dịch vụ khác như Gán nhãn thời gian, Xác minh chữ ký và
Bảo lưu chữ ký,… sẽ không được đề cập chi tiết. Nội dung được trình bày bao gồm
phân tích yêu cầu hệ thống, thiết kế cơ sở dữ liệu, thiết kế dịch vụ Web và thiết kế
ứng dụng di động. Những thiết kế này được kế thừa phần lớn từ Tiêu chuẩn ETSI
TS 119 432.
Ứng dụng bao gồm hai quy trình tác nghiệp cơ bản là
1. Ứng dụng di động nhận được thông báo về yêu cầu ký.
2. Người dùng đăng nhập ứng dụng, nếu đang đăng nhập thì không cần đăng
nhập nữa.
3. Người dùng vào xem yêu cầu ký.
4. Người dùng nhấn chấp nhận ký hoặc từ chối, có thể thêm lý do.
5. Ứng dụng di động thực hiện và hiển thị kết quả tác vụ ký/từ chối ký.
62
Người dùng
Mở & Xem thông báo
Nhập passPhrase
Đăng nhập nếu chưa
Có thể lưu danh
sách các yc ký
Không ký
Chấp nhận ký
Mobile app
Thông điệp yc ký
Ứng dụng tác
nghiệp-SCA
RP Server app
• Máy chủ ký số: Thành phần trung tâm, quản lý các yêu cầu ký của người
dùng, xác minh yêu cầu ký và thực hiện ký.
• Cơ sở dữ liệu: Chứa thông tin đăng nhập, thông tin yêu cầu ký và thông tin
chứng thư của người dùng.
• Ứng dụng di động: Thông báo yêu cầu ký tới người dùng và người dùng
xác nhận ký.
• Ứng dụng tác nghiệp: Có thể là một ứng dụng của nhà cung cấp dịch vụ ký
số từ xa, hoặc một ứng dụng tích hợp API của nhà cung cấp dịch vụ ký số
từ xa, có chức năng gửi yêu cầu ký số văn bản.
63
3.2 Phân tích yêu cầu
64
9 Xem chứng thư Chức năng này cho phép người dùng xem danh
sách và thông tin chi tiết chứng thư
1. Người dùng mở ứng dụng trên thiết bị chưa được kích hoạt.
2. Hệ thống yêu cầu nhập thông tin xác thực (tên tài khoản và mật khẩu).
6. Hệ thống thông báo gửi mã kích hoạt vào email/SMS của người dùng.
a.6. Hệ thống báo thông tin xác thực không hợp lệ, kích hoạt không thành
công.
a.9. Người dùng đóng cửa sổ yêu cầu nhập mã kích hoạt để hủy bỏ.
65
a.10. Quay lại bước 2.
a.11. Hệ thống báo thông tin mã kích hoạt không hợp lệ, kích hoạt không
thành công.
Điều kiện tiên quyết. Hệ thống chưa được đăng nhập và thiết bị đã được
kích hoạt.
2. Hệ thống hiển thị tên người dùng và yêu cầu nhập mật khẩu.
a.6. Hệ thống báo thông tin xác thực không hợp lệ, đăng nhập không thành
công.
66
3.2.4 Chức năng đăng xuất
Mô tả. Người dùng đăng xuất khỏi hệ thống.
Điều kiện tiên quyết. Người dùng phải đăng nhập vào hệ thống.
1. Từ giao diện chính, người dùng chọn nút Đăng xuất trong màn hình Cá
nhân.
Điều kiện tiên quyết. Người dùng phải đăng nhập vào hệ thống.
1. Từ giao diện chính, người dùng mở màn hình Cá nhân/Tài khoản của
tôi/Cập nhật tài khoản.
2. Hệ thống hiển thị họ tên và email hiện tại và cho phép chỉnh sửa.
4. Hệ thống thông báo cập nhật thông tin tài khoản thành công.
a.3. Họ tên quá ngắn hoặc email không đúng định dạng.
a.4. Hệ thống báo thông tin không hợp lệ, cập nhật thông tin tài khoản không
thành
công.
67
a.5. Quay lại bước 2.
Kết quả. Cập nhật thông tin tài khoản thành công.
Điều kiện tiên quyết. Người dùng phải đăng nhập vào hệ thống.
1. Từ giao diện chính, người dùng mở màn hình Cá nhân/Tài khoản của
tôi/Mật khẩu.
2. Hệ thống yêu cầu nhập mật khẩu hiện tại, mật khẩu mới và xác nhận mật
khẩu mới.
3. Người dùng nhập mật khẩu hiện tại, mật khẩu mới và xác nhận mật khẩu
mới.
a.5. Hệ thống báo xác nhận mật khẩu không trùng khớp, đổi mật khẩu không
thành công.
a.6. Hệ thống báo mật khẩu hiện tại không đúng, đổi mật khẩu không thành
công.
68
Kết quả. Đổi mật khẩu thành công.
Điều kiện tiên quyết. Người dùng phải đăng nhập vào hệ thống.
1. Từ giao diện chính, người dùng mở màn hình Yêu cầu ký.
2. Hệ thống hiển thị danh sách các yêu cầu ký đang chờ xác nhận.
4. Hệ thống hiển thị thông tin chi tiết yêu cầu ký đó.
Điều kiện tiên quyết. Người dùng phải đăng nhập vào hệ thống.
1. Từ giao diện chính, người dùng mở màn hình Yêu cầu ký.
2. Hệ thống hiển thị danh sách các yêu cầu ký đang chờ xác nhận.
4. Hệ thống hiển thị thông tin chi tiết yêu cầu ký đó.
6. Hệ thống yêu cầu người dùng nhập lý do chấp nhận yêu cầu ký.
a.7. Người dùng đóng cửa sổ yêu cầu nhập lý do để hủy bỏ.
a.11. Người dùng đóng cửa sổ yêu cầu nhập OTP để hủy bỏ.
Điều kiện tiên quyết. Người dùng phải đăng nhập vào hệ thống.
1. Từ giao diện chính, người dùng mở màn hình Yêu cầu ký.
2. Hệ thống hiển thị danh sách các yêu cầu ký đang chờ xác nhận.
4. Hệ thống hiển thị thông tin chi tiết yêu cầu ký đó.
6. Hệ thống yêu cầu người dùng nhập lý do từ chối yêu cầu ký.
a.7. Người dùng đóng cửa sổ yêu cầu nhập lý do để hủy bỏ.
Điều kiện tiên quyết. Người dùng phải đăng nhập vào hệ thống.
4. Hệ thống hiển thị thông tin chi tiết chứng thư đó.
71
3.3 Thiết kế cơ sở dữ liệu
Kiểu dữ Ràng
STT Tên thuộc tính Mô tả
liệu buộc
1 id bigint Khóa Mã người dùng
chính
2 usertype varchar Not Loại định danh người dùng
null
3 username varchar Not Định danh người dùng
null
72
4 password varchar Not Chuỗi ký tự bí mật được ghi
null nhớ bởi người dùng cuối
5 access_token varchar Mã truy cập dịch vụ tồn tại
trong thời gian ngắn được sử
dụng để xác thực các yêu cầu
dịch vụ web tiếp theo trong
cùng phiên làm việc
6 expires_at datetime Thời điểm access_token hết
hạn sử dụng
7 remaining_counter int Not Số lần đăng nhập sai còn lại
null trước khi bị khóa tài khoản
8 temp_lockout_until datetime Thời điểm tài khoản được mở
khóa
9 full_name varchar Not Tên đầy đủ của người dùng
null
10 phone varchar Not Số điện thoại của người dùng
null
11 email varchar Not Email của người dùng
null
12 oauth2 varchar Thông tin OAUTH2 của tài
khoản
13 created_at timestamp Thời điểm tạo tài khoản
14 updated_at timestamp Thời điểm cập nhật thông tin
tài khoản gần nhất
Kiểu dữ Ràng
STT Tên thuộc tính Mô tả
liệu buộc
1 device_uuid varchar Khóa Mã thiết bị
chính
73
2 user_id bigint Khóa Mã người dùng
ngoại
3 lang varchar Ngôn ngữ của thiết bị
4 otp_encrypted varchar Mã hóa base64 của OTP
đã được mã hóa bởi
KAK.PublicKey
5 access_token varchar Mã truy cập dịch vụ tồn
tại trong thời gian ngắn
được sử dụng để xác thực
các yêu cầu dịch vụ web
tiếp theo trong cùng
phiên làm việc
6 expires_at datetime Thời điểm access_token
hết hạn sử dụng
7 remember_me int Not null refresh_token có hiệu lực
hay không
8 refresh_token varchar Mã làm mới dài hạn được
sử dụng để xác thực lại
người dùng trong các
phiên làm việc sau
9 remaining_counter int Not null Số lần đăng nhập sai còn
lại trước khi bị khóa thiết
bị
10 temp_lockout_until datetime Thời điểm thiết bị được
mở khóa
11 change_device int Not null Đã thay đổi thiết bị hay
thiết bị đầu tiên
12 os_type varchar Loại hệ điều hành của
thiết bị di động
13 os_version varchar Phiên bản hệ điều hành
của thiết bị
74
14 model varchar Mẫu thiết bị di động
15 tse_version varchar Not null Phiên bản của ứng dụng
TSE
16 firebase_id varchar Not null Mã Firebase của thiết bị
di động, giá trị này được
lấy từ dịch vụ Firebase
dùng cho thông báo đẩy
17 client_uuid varchar Not null Thông tin của thiết bị di
động, có thê là IMEI
hoặc MAC hoặc một
chuỗi được sinh ngẫu
nhiên bởi ứng dụng TSE
hoặc tổ hoặc của chúng
18 kak_public_key varchar Not null Mã hóa base64 của khóa
công khai của khóa xác
thực
19 kak_private_encrypted varchar Not null Mã hóa base64 của khóa
bí mật của khóa khóa xác
thực
20 recovery_code varchar Mã phục hồi, nếu có sẽ
được máy chủ gửi tới
người dùng thông qua
email
21 created_at timestamp Thời điểm tạo thiết bị
22 updated_at timestamp Thời điểm cập nhật thông
tin thiết bị gần nhất
Kiểu dữ Ràng
STT Tên thuộc tính Mô tả
liệu buộc
75
1 device_uuid varchar Khóa Mã thiết bị
chính
2 user_id bigint Khóa Mã người dùng
ngoại
3 activation_code varchar Not null Mã kích hoạt thiết bị được
gửi đến người dùng qua
email
4 activation_token varchar Mã truy cập dịch vụ tồn tại
trong thời gian ngắn được
sử dụng để xác thực các
yêu cầu kích hoạt thiết bị
5 expires_at datetime Thời điểm
activation_token hết hạn
sử dụng
6 created_at timestamp Thời điểm tạo thiết bị
7 updated_at timestamp Thời điểm cập nhật thông
tin thiết bị gần nhất
Kiểu dữ Ràng
STT Tên thuộc tính Mô tả
liệu buộc
1 id bigint Khóa Mã chứng thư
chính
2 user_id bigint Khóa Mã người dùng
ngoại
3 cert_status varchar Not Trạng thái của chứng
null thư
4 cert_certificates varchar Not Một hoặc nhiều mã
null hóa base64 của các
76
chứng thư X.509v3
từ chuỗi chứng thư.
5 cert_issuer_dn varchar Not Issuer Distinguished
null Name từ chứng thư
X.509v3 dưới dạng
chuỗi ký tự được mã
hóa UTF-8.
6 cert_serial_number varchar Not Serial Number từ
null chứng thư X.509v3
được biểu diễn dưới
dạng chuỗi hexa.
7 cert_thumbprint varchar Not Dấu tay của chứng
null thư. Giá trị này được
tính bằng cách băm
biểu diễn nhị phân
của chứng thư được
mã hóa. Thuật toán
SHA-256 thường
được sử dụng để băm
dữ liệu này.
8 cert_subject_dn varchar Not Subject
null Distinguished Name
từ chứng thư
X.509v3 dưới dạng
chuỗi ký tự được mã
hóa UTF-8.
9 cert_valid_from datetime Not Ngày bắt đầu có hiệu
null lực từ chứng thư
X.509v3 dưới dạng
chuỗi ký tự.
77
10 cert_valid_to datetime Not Ngày hết hiệu lực từ
null chứng thư X.509v3
dưới dạng chuỗi ký
tự.
11 cert_profile_name varchar Not Tên hồ sơ của chứng
null thư.
12 cert_profile_desc varchar Mô tả hồ sơ chứng
thư.
13 cert_purpose varchar Mục đích sử dụng
của chứng thư.
14 shared_mode varchar Not Chế độ chia sẻ nào sẽ
null được sử dụng trong
ký số từ xa.
15 created_rp varchar Not Tên của Relying
null Party. Nó ám chỉ
rằng chứng thư đã
được tạo bởi RP đó.
16 multisign int Not Một số bằng hoặc lớn
null hơn 1 đại diện cho số
lượng chữ ký tối đa
có thể được tạo bằng
chứng thư này với
một yêu cầu ủy
quyền duy nhất.
17 auth_modes varchar Not Chỉ định một trong
null các chế độ ủy quyền.
18 auth_mode varchar Not Một giá trị trong các
null giá trị của
auth_modes, là chế
độ ủy quyền được
kích hoạt lúc này. Để
78
thay đổi phải do quản
trị viên RRSP thực
hiện.
19 scal int Not Các giá trị 1: Mã băm
null dùng để ký không
được liên kết với dữ
liệu kích hoạt chữ ký;
2: Mã băm dùng để
ký được liên kết với
dữ liệu kích hoạt chữ
ký.
20 contract_expiration_date datetime Not Ngày hết hạn hợp
null đồng.
21 remaining_signing_counter int Not Số lượt ký còn lại của
null chứng thư này.
22 auth_email varchar Not Email ủy quyền.
null
23 auth_phone varchar Not Số điện thoại ủy
null quyền.
24 default_passphrase int Not True nếu passphrase
null là mặc định và người
dùng phải thay đổi
passphrase trước khi
thực hiện mã hóa.
25 kak_changed int Not Cờ ám chỉ trạng thái
null của KAK sẽ thay đổi.
26 created_at timestamp Thời điểm tạo chứng
thư
27 updated_at timestamp Thời điểm cập nhật
thông tin chứng thư
gần nhất
79
3.3.6 Bảng transactions
Kiểu dữ Ràng
STT Tên thuộc tính Mô tả
liệu buộc
1 id bigint Khóa Mã giao dịch
chính
2 credential_id bigint Khóa Mã chứng thư
ngoại
3 notification_message varchar Tin nhắn được hiển
thị ở thông báo đẩy.
4 message_caption varchar Chú thích của tin
nhắn.
5 message varchar Văn bản được hiển
thị bên cạnh Tên
dịch vụ và trước khi
yêu cầu mã PIN xác
thực.
6 logo_uri varchar URI của logo tùy
chọn để hiển thị
trong trình xác thực.
7 bg_image_uri varchar URI của hình nền để
hiển thị trong trình
xác thực.
8 rp_icon_uri varchar URI của biểu tượng
Relying Party tùy
chọn được hiển thị
trong trình xác thực.
9 rp_name varchar Not Tên tùy chỉnh của
null Relying Party được
80
hiển thị trong trình
xác thực.
10 confirmation_policy varchar Not Chính sách xác
null nhận, một trong
"PIN", "FINGER-
PRINT", "TAP",
"SWIPE", "IRIS".
11 vc_enabled int Not Bật
null VerificationCode.
Giá trị mặc định là
true.
12 ac_enabled int Not Bật AuthorizeCode.
null Nếu giá trị là true,
nó yêu cầu người
dùng cuối nhắc lại
AC mỗi khi lấy
trạng thái.
13 num_signatures int Not Số lượng chữ ký
null cho ủy quyền một
lần.
14 doc_digests_hashes text Một hoặc nhiều giá
trị băm được mã hóa
base64 sẽ được ký.
Nó được yêu cầu
khi SCAL là cấp 2.
15 doc_digetst_hash_algo_oid varchar Not OID của thuật toán
null băm dùng để tính
các mã băm của tài
liệu.
16 sca_identity varchar Not Tên của SCA.
null
81
17 auth_data_hash_algo_oid varchar Not Thuật toán băm.
null Mặc định SHA256.
18 auth_data_sign_algo varchar Not Thành phần chỉ
null định OID thuật toán
được sử dụng để ký.
19 auth_data_sign_algo_params varchar Mã hóa base64 của
tham số chữ ký
ASN.1 mã hóa
DER, nếu thuật toán
chữ ký yêu cầu.
20 auth_data_challenge varchar Not Mã hóa base64 của
null chuỗi thử thách.
21 type varchar Not Loại giao dịch, có
null ba giá trị "SIGN",
"SYNC" và
"LOGIN".
22 expires_at datetime Not Ngày giờ yêu cầu
null giao dịch hết hạn.
23 sign_algo varchar Not Thành phần chỉ
null định OID thuật toán
được sử dụng để ký.
24 sign_algo_params varchar Mã hóa base64 của
tham số chữ ký
ASN.1 mã hóa
DER, nếu thuật toán
chữ ký yêu cầu.
25 status varchar Not Trạng thái hiện tại
null của yêu cầu ký, một
trong "WAITING,
SIGNED,
82
CANCELED,
EXPIRED".
26 created_at timestamp Thời điểm tạo giao
dịch
27 updated_at timestamp Thời điểm cập nhật
thông tin giao dịch
gần nhất
• login: Đăng nhập với tên tài khoản và mật khẩu để lấy access-token.
• retrieveActivationCode: Sử dụng access-token để lấy mã kích hoạt qua
email hoặc SMS.
• initialize: Thiết bị TSE gửi mã kích hoạt đến endpoint. Endpoint sẽ phản
hồi activation-token lại cho thiết bị TSE.
• sendDevice: Sử dụng activation-token để cập nhật thông tin thiết bị.
activate/login
Chức năng này nhận access-token dùng để truy xuất mã kích hoạt.
83
3 password string Có Giá trị bí mật được ghi nhớ
bởi người dùng cuối.
activate/retrieveActivationCode
Chức năng này yêu cầu RSSP gửi mã kích hoạt cho người dùng cuối thông
qua email hoặc SMS. Người dùng cuối phải đăng ký sử dụng TSE trước, việc đăng
ký thực hiện trong BackOffice.
TSE Client phải gửi access-token nhận được từ activate/login trong HTTP
header với tên: "Authorization" bắt đầu bằng "Bearer".
84
1 error int Có Mã mô tả kết quả.
2 errorDescription string Có Mô tả chi tiết kết quả.
3 deviceUUID string Có Định danh của thiết bị TSE.
4 changeDevice bool Có true nếu thay đổi thiết bị,
false nếu kích hoạt thiết bị
đầu tiên.
activate/initialize
Chức năng này để khởi tạo kích hoạt, TSE gửi mã kích hoạt đến máy chủ
RSSP.
85
yêu cầu API tiếp theo trong
cùng một phiên làm việc.
activate/sendDevice
TSE client phải tạo KAK là cặp khóa RSA. Nếu người dùng cuối đồng ý sao
lưu KAK thì TSE client phải gửi kakPrivateEncrypted trong phần nội dung yêu
cầu, kakPrivateEncrypted được mã hóa bằng RECOVERY CODE và phải có
checksum (ví dụ: HMAC256) để TSE client có thể kiểm tra tính toàn vẹn của KAK
khi khôi phục KAK.
87
login
Chức năng này truy xuất token dùng cho các yêu cầu API tiếp theo trong
cùng phiên làm việc.
88
revoke
Chức năng này thu hồi access-token hoặc refresh-token khi người dùng đăng
xuất trên TSE client. TSE client phải gửi access-token nhận được từ login trong
HTTP header với tên: "Authorization" bắt đầu bằng "Bearer".
updateAccount
Chức năng này cập nhật tên đầy đủ và/hoặc email của người dùng. TSE client
phải gửi access-token nhận được từ login trong HTTP header với tên:
"Authorization" bắt đầu bằng "Bearer".
89
Kiểu dữ Bắt
STT Tên thuộc tính Mô tả
liệu buộc
1 error int Có Mã mô tả kết quả.
2 errorDescription string Có Mô tả chi tiết kết quả.
changePassword
Chức năng này cập nhật mật khẩu tài khoản. TSE client phải gửi access-token
nhận được từ login trong HTTP header với tên: "Authorization" bắt đầu bằng
"Bearer".
Chức năng này truy xuất danh sách giao dịch chờ xác nhận từ người dùng.
TSE client phải gửi access-token nhận được từ login trong HTTP header với
tên: "Authorization" bắt đầu bằng "Bearer".
90
Các thuộc tính yêu cầu
Kiểu dữ Bắt
STT Tên thuộc tính Mô tả
liệu buộc
91
10 string Ngày giờ yêu cầu giao dịch hết
hạn. Theo định dạng YYYYM-
MDD’T’HHMMSS’Z’.
requests/info
Chức năng này lấy thông tin giao dịch chờ xác nhận từ người dùng.
TSE client phải gửi access-token nhận được từ login trong HTTP header với
tên: "Authorization" bắt đầu bằng "Bearer".
93
toán chữ ký yêu cầu. Mặc định
thành phần này bị thiếu.
21 authData/challenge string Có Mã hóa base64 của chuỗi thử
thách.
22 credentialID int Có Định danh của chứng thư dùng để
ký. Chỉ trả về khi type là AUTH.
23 type string Có Loại giao dịch, có ba giá trị
"SIGN", "SYNC" và "LOGIN".
24 createdDt string Ngày giờ mà máy chủ nhận được
yêu cầu từ RP. Theo định dạng
YYYYMMDD’T’HHMMSS’Z’.
25 expiredDt string Ngày giờ yêu cầu giao dịch hết
hạn. Theo định dạng
YYYYMMDD’T’HHMMSS’Z’.
26 signAlgo string Thành phần chỉ định OID của
thuật toán dùng để ký.
27 signAlgoParams string Mã hóa base64 của tham số chữ
ký ASN.1 mã hóa DER, nếu thuật
toán chữ ký yêu cầu.
requests/confirm
• Chấp nhận giao dịch. OTP trong yêu cầu là giá trị được lưu trữ trong TSE
với định dạng được mã hóa. TSE phải giải mã nó bằng khóa bí mật của
KAK trước khi gửi.
• Xác nhận đăng nhập từ vCSP. OTP trong yêu cầu là giá trị được lưu trữ
trong TSE với định dạng được mã hóa, TSE phải giải mã nó bằng khóa
bí mật của KAK trước khi gửi.
• Dữ liệu đồng bộ: cập nhật otpEncoded để chống sao chép. OTP trong yêu
cầu là giá trị được gửi từ máy chủ cho người dùng thông qua email hoặc
SMS.
94
TSE client phải gửi access-token nhận được từ login trong HTTP header với
tên: "Authorization" bắt đầu bằng "Bearer".
Trong giai đoạn 2, TSE phải sử dụng khóa bí mật của KAK để ký vào
authData/challenge với thuật toán được chỉ định trong các requests/info.
95
Kiểu Bắt
STT Tên thuộc tính Mô tả
dữ liệu buộc
1 error int Có Mã mô tả kết quả.
2 errorDescription string Có Mô tả chi tiết kết quả.
requests/cancel
TSE client phải gửi access-token nhận được từ login trong HTTP header với
tên: "Authorization" bắt đầu bằng "Bearer".
TSE client phải gửi access-token nhận được từ login trong HTTP header với
tên: "Authorization" bắt đầu bằng "Bearer".
96
Các thuộc tính yêu cầu
Kiểu dữ Bắt
STT Tên thuộc tính Mô tả
liệu buộc
credentials/info
TSE client phải gửi access-token nhận được từ login trong HTTP header với
tên: "Authorization" bắt đầu bằng "Bearer".
97
Bảng 3.33 API yêu cầu credentials/info
98
được biểu diễn dưới
dạng chuỗi hexa.
8 cert/validFrom date Có Ngày bắt đầu có hiệu
lực từ chứng thư
X.509v3 dưới dạng
chuỗi ký tự.
9 cert/validTo date Có Ngày hết hiệu lực từ
chứng thư X.509v3
dưới dạng chuỗi ký
tự.
10 cert/certificateProfile/name string Có Tên hồ sơ của chứng
thư.
11 cert/certificateProfile/description string Mô tả của hồ sơ
chứng thư.
12 cert/purpose string Mục đích sử dụng
của chứng thư.
13 authorizationEmail string Có Email ủy quyền.
14 authorizationPhone string Có Số điện thoại ủy
quyền.
99
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 yêu cầu ký
105
Hình 3.12 Giao diện chấp nhận yêu cầu ký
106
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
KẾT LUẬN
Luận văn đã giới thiệu một cái nhìn tổng quát về 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. Luận văn cũng đề xuất và phát
triển một ứng dụng hỗ trợ ký số từ xa phù hợp với các tiêu chuẩn đặt ra. Xét về cơ
bản, hệ thống đã thỏa mãn đầy đủ các yêu cầu ban đầu đặt ra, cung cấp đủ các chức
năng phù hợp phục vụ cho quá trình ký số từ xa, bao gồm xác thực, quản lý yêu
cầu ký, quản lý chứng thư số. Hệ thống có tiềm năng được phát triển thêm và áp
dụng vào thực tiễn giúp đơn giản hóa và tăng tính an toàn cho các giao dịch từ xa.
Do thời gian làm luận văn có hạn, tôi hy vọng nhận được nhiều góp ý để đồ
án được hoàn thiện tốt hơn.
110
TÀI LIỆU THAM KHẢO
[1] BTTTT, Thông tư 16/2019/TT-BTTTT: 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ố theo mô hình ký
số trên thiết bị di động và ký số từ xa, 2019.
[2] NEAC, Báo cáo tình hình phát triển và ứng dụng chữ ký số tại Việt Nam năm
2019, Nhà xuất bản Thông tin và Truyền thông, 2019.
[9] ETSI, ETSI TS 119 431-1: Electronic Signatures and Infrastructures (ESI);
Policy and security requirements for trust service providers; Part 1: TSP
service components operating a remote QSCD/SCDev, 2018.
111
[10] ETSI, ETSI TS 119 431-2: Electronic Signatures and Infrastructures (ESI);
Policy and security requirements for trust service providers; Part 2: TSP
service components supporting AdES digital signature creation, 2018.
[11] ETSI, ETSI TS 119 432: Electronic Signatures and Infrastructures (ESI);
Protocols for remote digital signature creation, 2018.
[12] Iain Beveridge, Nick Pope, Faithe Wempen, The eIDAS Regulation For
Dummies, Entrust Special Edition, Chichester, West Sussex, United
Kingdom: John Wiley & Sons, Ltd, 2021.
[14] Paar, Christof and Jan Pelzl, Understanding Cryptography: A Textbook for
Students and Practitioners, Springer, 2009.
112
TÓM TẮT NỘI DUNG LUẬN VĂN
Mã số SV: CB190315
Người hướng dẫn: TS. Vũ Thành Nam, viện Toán Tin ứng dụng, trường Đại
học Bách Khoa Hà Nội
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 toà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 ngoà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ố.
113
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.
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.
114