TRƢỜNG ĐẠI HỌC QUỐC GIA
TRƢỜNG ĐẠI HỌC CÔNG NGHỆ
BÙI THỊ NGA
NGHIÊN CỨU CƠ SỞ HẠ TẦNG KHÓA CÔNG KHAI
Ngƣời hƣớng dẫn: TS Nguyễn Ngọc Cƣơng
Hà Nội, ngày 22 tháng 10 năm 2007
-3___________________________________________________________________
MỤC LỤC
Lời cảm ơn ............................................................................................................. 1
Lời cam đoan ......................................................................................................... 2
Mục lục................................................................................................................... 3
Danh mục từ viết tắt .............................................................................................. 5
Danh mục hình vẽ .................................................................................................. 7
MỞ ĐẦU ................................................................................................................ 8
Chƣơng 1 - MẬT MÃ KHOÁ CÔNG CỘNG .....................................................10
1.1 Hệ mật mã đối xứng và không đối xứng ............................................... 10
1.1.1 Mật mã khoá đối xứng ................................................................... 10
1.1.2 Mật mã khoá công khai .................................................................. 11
1.2 Các dịch vụ của mật mã khoá công khai ............................................... 12
1.2.1 An toàn giữa những người lạ.......................................................... 12
1.2.2 Sự mã hoá ...................................................................................... 12
1.2.3 Chữ ký số....................................................................................... 13
1.2.4 Tính toàn vẹn dữ liệu ..................................................................... 14
1.2.5 Sự thiết lập khoá ............................................................................ 14
1.2.6 Các dịch vụ khác ............................................................................ 14
Chƣơng 2 - CÁC KHÁI NIỆM CƠ SỞ HẠ TẦNG VÀ CÁC DỊCH VỤ PKI ...16
2.1 Các khái niệm cơ sở hạ tầng và CSHT khoá công khai ........................ 16
2.1.1 Thẩm quyền chứng thực................................................................. 17
2.1.2 Kho chứng chỉ ............................................................................... 17
2.1.3 Huỷ bỏ chứng chỉ........................................................................... 18
2.1.4 Sao lưu và khôi phục khoá ............................................................. 19
2.1.5 Cập nhật khoá tự động ................................................................... 19
2.1.6 Lịch sử khoá .................................................................................. 20
2.1.7 Chứng thực chéo ............................................................................ 21
2.1.8 Hỗ trợ chống chối bỏ ..................................................................... 22
2.1.9 Tem thời gian................................................................................. 22
2.1.10 Phần mềm máy khách .................................................................. 23
2.2 Các dịch vụ của PKI ............................................................................. 25
2.2.1 Các dịch vụ lõi của PKI ................................................................. 25
2.2.2 Các dịch vụ mà PKI hỗ trợ ............................................................. 27
Chƣơng 3 - VẤN ĐỀ CẤP PHÁT QUẢN LÝ, THU HỒI CHỨNG CHỈ ...........35
3.1 Các chứng chỉ và chứng thực ............................................................... 35
3.1.1 Các chứng chỉ X.509...................................................................... 35
___________________________________________________________________
Nghiên cứu cơ sở hạ tầng khoá công khai
-4___________________________________________________________________
3.1.2 Một số khuôn dạng chứng chỉ khác ................................................ 42
3.1.3 Các chính sách chứng thực (Certificate Policies) ........................... 44
3.1.4 Thẩm quyền chứng thực (Certification Authority) ......................... 47
3.1.5 Thẩm quyền đăng ký (Registration Authority) ............................... 48
3.2 Quản lý khoá và chứng chỉ ................................................................... 49
3.2.1 Giai đoạn khởi tạo (Initiazation Phase) .......................................... 52
3.2.2 Giai đoạn sau phát hành (Issued Phase) ......................................... 58
3.2.3 Giai đoạn huỷ bỏ (Cancellation Phase) .......................................... 62
3.3 Huỷ bỏ chứng chỉ ................................................................................. 66
3.3.1 Mở đầu .......................................................................................... 66
3.3.2 Các kỹ thuật công bố định kỳ ......................................................... 68
Chƣơng 4 - NGHIÊN CỨU VỀ CÁC LUẬT CHỮ KÝ ĐIỆN TỬ .....................79
4.1 Một số luật về chữ ký số ...................................................................... 79
4.1.1 E-Sign ............................................................................................ 79
4.1.2 Luật chữ ký điện tử EU .................................................................. 80
4.1.3 Luật chữ ký điện tử Việt Nam ........................................................ 81
4.2 Một số quan tâm luật pháp về PKI ....................................................... 82
4.2.1 Các yêu cầu cho CA....................................................................... 82
4.2.2 Các vai và các chức trách ............................................................... 83
Chƣơng 5 - PKI TRONG THỰC TẾ VÀ TƢƠNG LAI .....................................87
5.1 PKI trong thực tế .................................................................................. 87
5.2 Tương lai của PKI ................................................................................ 92
5.3 Triển khai ứng dụng ............................................................................. 96
5.3.1 Yếu tố về giá cả ............................................................................. 96
5.3.2 Các vấn đề triển khai và quyết định ............................................... 98
Chƣơng 6 - XÂY DỰNG HỆ THỐNG CUNG CẤP CHỨNG CHỈ SỐ ........... 102
6.1 Mục đích ............................................................................................ 102
6.2 Tổng quan về hệ thống ....................................................................... 102
6.2.1 Mô hình hệ thống ......................................................................... 102
6.2.2 Các thành phần của hệ thống VnpCert ......................................... 105
6.2.3 Một số đặc tính của hệ thống cung cấp chứng chỉ số .................... 105
6.2.4 Quá trình khởi tạo các thành phần trong hệ thống cung cấp chứng
chỉ số VnpCert ..................................................................................... 108
6.2.5 Qui trình đăng ký, cấp phát và huỷ bỏ chứng chỉ ......................... 109
6.3 Cấu trúc vật lý và các vấn đề đảm bảo an toàn cho của hệ thống ........ 118
KẾT LUẬN ......................................................................................................... 121
TÀI LIỆU THAM KHẢO .................................................................................. 122
PHỤ LỤC ............................................................................................................ 124
___________________________________________________________________
Nghiên cứu cơ sở hạ tầng khoá công khai
-5___________________________________________________________________
Danh mục từ viết tắt
ACL
API
ARLs
CA
CARL
CP
CPS
CRL
CSHT
DLL
DN
DNS
DS
EPRL
FTP
HTTP
IETF
IKE
IPsec
IT
LAN
LDAP
LRA
MD5
OCSP
OID
PGP
PKCS
PKI
PKIX
RA
RAO
RFC
Access Control List
Application Program Interface
Authority Revocation Lists
Certification Authority
Certification Authority Revocation List
Certificate Policy
Certification Practice Statement
Certificate Revocation List
Cơ sở hạ tầng
Dynamic Link Library
Distinguished Name
Domain Name System
Directory Server
End-entity Public-Key Certificate Revocation List
File Transfer Protocol
Hyper Text Transfer Protocol
Internet Engineering Task Force
Internet Key Exchange
IP Security
Information Technology
Local Area Network
Lightweight Directory Access Protocol
Local Registration Authorities
Message Digest Algorithm 5
Online Certificate Status Protocol
Object Identification
Pretty Good Privacy
Public Key Cryptography Standards
Public Key Infrastructure
Public Key Infrastructure X.509 Working Group
Registration Authority
Registration Authority Operator
Request For Comments
___________________________________________________________________
Nghiên cứu cơ sở hạ tầng khoá công khai
-6___________________________________________________________________
RSA
SHA
S/MIME
SPKI
SSL
TLS
URL
UTC
VPN
Rivest Shamir Adleman
Secure Hash Algorithm
Secure Multipurpose Internet Mail Extensions
Simple Public Key Infrastructure
Secure Socket Layer
Transport Layer Security
Uniform Resource Locator
Coordinated Universal Time
Virtual Private Network
___________________________________________________________________
Nghiên cứu cơ sở hạ tầng khoá công khai
-7___________________________________________________________________
Danh mục hình vẽ
Hình 3.1: Cấu trúc chứng chỉ phiên bản 3 ...............................................................37
Hình 3.2: Cấu trúc chứng chỉ SET ..........................................................................44
Hình 3.3: Quản lý vòng đời khoá/chứng chỉ ...........................................................51
Hình 3.4: Kịch bản khởi tạo thực thể đầu cuối ........................................................52
Hình 3.5: Các kịch bản huỷ bỏ chứng chỉ ...............................................................64
Hình 3.6: Mô hình huỷ bỏ chứng chỉ ......................................................................67
Hình 3.7: Cấu trúc CRL phiên bản 2 .......................................................................72
Hình 4.1: Các vai trò và các mối nghi ngờ thông thường ........................................84
Hình 6.1: Mô hình VnpCert phân cấp hai tầng ...................................................... 104
Hình 6.2: CA và các thành phần liên kết với CA .................................................. 104
Hình 6.3: Chứng chỉ do hệ thống VnpCert cung cấp ............................................. 106
Hình 6.4: USB Token dung trong hệ thống VnpCert............................................. 108
Hình 6.5: Mô hình đăng ký và cấp chứng chỉ số ................................................... 110
Hình 6.6: Mẫu đăng ký chứng chỉ số cho cá nhân do hệ thống VnpCert cung cấp 112
Hình 6.7: Nội dung tệp yêu cầu cấp chứng chỉ ...................................................... 113
Hình 6.8: Chứng chỉ lưu khoá công khai của RootCA trong hệ thống VnpCert.....114
Hình 6.9: Chứng chỉ của người sử dụng................................................................ 115
Hình 6.10: Giấy chứng nhận đã cấp chứng chỉ số cho người dùng ........................ 117
Hình 6.11: Qui trình huỷ bỏ chứng chỉ .................................................................118
Hình 6.12: Mô hình cung cấp chứng chỉ số VnpCert cùng các giải pháp đảm bảo an
toàn cho hệ thống cung cấp chứng chỉ số và mạng nội bộ ..................... 120
___________________________________________________________________
Nghiên cứu cơ sở hạ tầng khoá công khai
-8___________________________________________________________________
MỞ ĐẦU
Ngày nay, việc giao tiếp qua mạng Internet đang trở thành một nhu cầu cấp
thiết. Hạ tầng truyền thông IT ngày càng được mở rộng, người sử dụng dựa trên nền
tảng này để truyền thông, giao dịch với đồng nghiệp, đối tác kinh doanh. Các thông
tin truyền trên mạng đều rất quan trọng như thông tin mật, mã số tài khoản… Tuy
nhiên nguy cơ ăn cắp qua mạng ngày càng gia tăng với các thủ đoạn tinh vi, do đó
cần phải có các biện pháp để bảo vệ tổ chức, doanh nghiệp trước các nguy cơ lừa
đảo, can thiệp, tấn công, phá hoại hoặc vô tình tiết lộ các thông tin. Cấu trúc hạ tầng
mã khoá công cộng (PKI – Public Key Infrastructure – hay còn gọi là hạ tầng khoá
công cộng hoặc hạ tầng mã khoá công khai) cùng các tiêu chuẩn và các công nghệ
ứng dụng của nó có thể coi là một giải pháp tổng hợp và độc lập mà chúng ta có thể
sử dụng để giải quyết vấn đề này.
PKI bản chất là một hệ thống công nghệ vừa mang tính tiêu chuẩn, vừa mang
tính ứng dụng được sử dụng để khởi tạo, lưu trữ và quản lý các chứng chỉ điện tử
(digital certificates) cũng như các khoá công khai và bí mật. Ngoài việc bảo đảm an
toàn cho thông tin liên lạc và lưu trữ, PKI còn tạo cơ sở pháp lý để giải quyết khi có
tranh chấp. Sáng kiến PKI ra đời năm 1995, khi mà các tổ chức công nghiệp và các
chính phủ xây dựng các tiêu chuẩn chung dựa trên phương pháp mã hoá để hỗ trợ
một hạ tầng bảo mật trên mạng Internet. Tại thời điểm đó, mục tiêu được đặt ra là
xây dựng một bộ tiêu chuẩn bảo mật tổng hợp cùng các công cụ quản lý và lý thuyết
cho phép người sử dụng cũng như các tổ chức (doanh nghiệp hoặc phi lợi nhuận) có
thể tạo lập, lưu trữ và trao đổi các thông tin một cách an toàn trong phạm vi cá nhân
và công cộng.
Nội dung của luận văn này tập trung vào nghiên cứu về cơ sở hạ tầng khoá
công khai: Các khái niệm, các nội dung, và các hoạt động liên quan tới PKI. Những
xem xét về triển khai, thảo luận các vấn đề thực tế và các quyết định liên quan tới
việc triển khai một PKI trong thế giới thực. Luận văn được trình bày như sau.
Chương 1: Mã khoá công cộng
___________________________________________________________________
Nghiên cứu cơ sở hạ tầng khoá công khai
-9___________________________________________________________________
Chương này trình bày khái niệm chính của mã khoá công cộng. Khái niệm về
mật mã đối xứng và không đối xứng, ưu điểm và nhược điểm của hai hệ mật này
cùng các dịch vụ của mật mã khoá công khai
Chương 2: Các khái niệm cơ sở hạ tầng và các dịch vụ PKI
Trong chương này đưa ra và thảo luận cơ sở hạ tầng cho mục đích an toàn dựa
trên việc xem xét cơ sở hạ tầng rộng khắp. Các dịch vụ của PKI bao gồm dịch vũ lõi
và các dịch vụ được hỗ trợ bởi PKI
Chương 3: Vấn đề cấp phát quản lý, thu hồi chứng chỉ
Chương này xem xét toàn bộ quá trình quản lý vòng đời khoá/chứng chỉ bao
gồm sự tạo, sự công bố, cập nhật, sự kết thúc, lịch sử khoá, sao lưu khoá và phục
hồi khoá. Đồng thời cũng thảo luận các kỹ thuật chung về thu hồi chứng chỉ
Chương 4: Nghiên cứu về các luật chữ ký điện tử
Thảo luận một số luật hiện tại như luật E-sign, luật chữ ký điện tử của EU, luật
chữ ký điện tử của Việt Nam và một số quan tâm luật pháp về PKI gồm trách nhiệm
của CA, trách nhiệm của bên đăng ký và trách nhiệm của bên sử dụng
Chương 5: PKI trong thực tế và trong tương lai
PKI trong thực tế, tập trung vào việc sử dụng PKI trong thế giới thực và làm
sáng tỏ một số hiểu lầm chung và nguồn gốc của những nhầm lẫn về việc PKI có
thể làm được gì và có thể không làm được gì
PKI trong tương lai, xem xét đến câu hỏi thường được đưa ra: Tại sao PKI vẫn
chưa “cất cánh”? Chương này cung cấp một ý kiến về việc tại sao sự chấp nhận PKI
chậm hơn nhiều người đã mong đợi và thảo luận
Chương 6: Xây dựng hệ thống cung cấp chứng chỉ số
Dựa trên mô hình quản lý và hoạt động của công ty Vinaphone, xây dựng hệ
thống cung cấp chứng chỉ số VnpCert ứng dụng trong công ty. Hệ thống này dùng
để cấp phát quản lý chứng chỉ, xác thực người dùng, khi cần thì thu hồi lại chứng
chỉ đã cấp.
___________________________________________________________________
Nghiên cứu cơ sở hạ tầng khoá công khai
- 10 ___________________________________________________________________
Chƣơng 1 - MẬT MÃ KHOÁ CÔNG CỘNG
1.1 Hệ mật mã đối xứng và không đối xứng
Đã từ lâu kể từ khi con người giao tiếp với nhau, luôn có một mong muốn là
giữ cho việc giao tiếp bí mật đối với những người không dự định trước. Qua hàng
nghìn năm, rất nhiều các phương pháp nhằm mục đích che dấu dữ liệu đã được phát
minh. Một lớp các phương pháp thử biến đổi những từ, ký tự hay bit được giao tiếp
thành dạng khi nhìn giống như sai cú pháp hơn là một thông điệp có nghĩa. Người
nhận được dự định trước phải có khả năng chuyển dạng sai cú pháp đó trở lại dạng
gốc để có thể đọc được thông điệp của người gửi, nhưng bất cứ người nhận nào
khác chẳng hạn người nghe trộm không thể khôi phục được dạng gốc[7].
Tồn tại hai loại cơ chế phục vụ cho việc chuyển văn bản thành dạng sai cú
pháp và ngược lại, đó là mật mã khoá đối xứng (khoá bí mật) và mật mã khoá công
khai (khoá công cộng).
1.1.1 Mật mã khoá đối xứng
Cho tới giữa những năm 1970, chỉ duy nhất một cơ chế được biết đến dùng để
biến đổi thông điệp thành dạng khác và ngược lại: Người gửi và người nhận được
đự định chia sẻ một số thông tin bí mật, thông tin bí mật này chỉ ra làm thế nào để
sự biến đổi được thực hiện.
Một ví dụ nổi tiếng: Mỗi ký tự trong thông điệp gốc được thay thế bằng một
ký tự đứng sau đó 13 ký tự trong bảng chữ cái Tiếng anh. Ví dụ A sẽ được thay thế
bởi N, B được thay thế bởi O, và Z được thay thế bởi M. Trong trường hợp này,
thông tin an toàn để chuyển dạng sai cú pháp thành thông điệp có thể đọc được
tương tự như trên: ký tự thứ 13 đứng trước N là A, trước O là B và trước M là Z[7].
Thông tin bí mật chia sẻ được gọi là khoá. Việc biến đổi từ dạng ban đầu thành
dạng khác được gọi là mã hoá, việc biến đổi ngược lại thành dạng ban đầu gọi là
giải mã. Thông điệp gốc được gọi là bản rõ, thông điệp được mã hoá thành dạng
khác, gọi là bản mã, sau đó thì người nhận có thể giải mã trở thành bản rõ tương
___________________________________________________________________
Nghiên cứu cơ sở hạ tầng khoá công khai
- 11 ___________________________________________________________________
ứng. Toàn bộ cơ chế bí mật này được gọi là hệ mật mã (bao gồm mã hoá và giải
mã)[3,4].
Hệ mật đối xứng có các đặc điểm sau:
Khoá mã hoá và khoá giải mã giống nhau (như ví dụ trên cả hai đều có giá trị
13).
Khoá này dễ dàng lấy được từ khoá kia (sự mã hoá được hoàn thành bởi luân
phiên về sau 13 ký tự, và sự giải mã được hoàn thành bởi việc luân phiên về
trước 13 ký tự).
Mặc dù mật mã đối xứng có một số ưu điểm (kích cỡ nhỏ và tốc độ mã hoá và
giải mã có thể lên tới 10Mbs hoặc hơn), nhưng chúng cũng có một số mặt hạn chế:
Cần bảo đảm an toàn cho khoá trao đổi.
Việc bắt đầu giao tiếp an toàn giữa những người không biết nhau từ trước
gặp khó khăn.
Gặp khó khăn về qui mô trong việc lưu trữ, quản lý khóa.
1.1.2 Mật mã khoá công khai
Để giải quyết vấn đề phân phối và thoả thuận khoá của mật mã khoá đối xứng,
năm 1976 Diffie và Hellman đã đưa ra khái niệm về hệ mật mã khoá công khai và
một phương pháp trao đổi công khai, để tạo ra một khoá bí mật chung mà tính an
toàn được bảo đảm bởi độ khó của một bài toán toán học cụ thể (là bài toán tính
“logarit rời rạc”)[8]. Hệ mật mã khoá công khai hay còn được gọi là hệ mật mã phi
đối xứng sử dụng một cặp khoá, khoá mã hoá còn gọi là khoá công cộng (public
key) và khoá giải mã được gọi là khoá bí mật hay khóa riêng (private key). Trong
hệ mật này, khoá mã hoá khác với khoá giải mã. Về mặt toán học thì từ khoá công
cộng rất khó tính được khoá bí mật. Biết được khoá này không dễ dàng tìm được
khoá kia. Khoá giải mã được giữ bí mật trong khi khoá mã hoá được công bố công
khai. Một người bất kỳ có thể sử dụng khoá công khai để mã hoá tin tức, nhưng chỉ
có người nào có đúng khoá giải mã mới có khả năng xem được bản rõ. Người gửi
Alice sẽ mã hoá thông điệp bằng khóa công cộng của người nhận và người nhận
Bob sẽ giải mã thông điệp với khoá riêng tương ứng của mình.
___________________________________________________________________
Nghiên cứu cơ sở hạ tầng khoá công khai
- 12 ___________________________________________________________________
Nhược điểm của mật mã khoá đối xứng đã được giải quyết nhờ hệ mật mã
khoá công khai. Nhưng do bản thân các hệ mật mã khoá công khai đều dựa vào các
giả thiết liên quan đến các bài toán khó nên đa số các hệ mật mã này đều có tốc độ
mã dịch không nhanh lắm. Chính nhược điểm này làm cho các hệ mật mã khoá
công khai khó được dùng một cách độc lập.
1.2 Các dịch vụ của mật mã khoá công khai
Việc khám phá ra mật mã khoá công cộng tạo ra thêm nhiều dịch vụ, một
trong số chúng không thể thực hiện được với mật mã đối xứng. Phần này sẽ làm nổi
bật tầm quan trọng và thú vị của những dịch vụ này[7].
1.2.1 An toàn giữa những ngƣời lạ
Mật mã khoá công khai giải quyết được khó khăn vốn có của việc cho phép
giao tiếp an toàn giữa những người lạ trong môi trường hệ mật mã đối xứng. Việc
tính toán khoá bí mật rất khó khăn ngay cả khi biết tất cả chi tiết của hệ mật mã,
nhưng cũng trong hệ thống như vậy, khoá công khai có thể lấy được và phổ biến
rộng rãi. Ví dụ, khoá công khai có thể được lưu trong một kho công cộng (như sổ
điện thoại). Thực vậy, thậm chí nếu Alice không có sự liên hệ trước với Bob, thì cô
ấy có thể xem khoá công khai của anh ấy và bảo vệ dữ liệu cho anh ấy. Dĩ nhiên
Alice phải chắc chắn rằng khoá công khai mà cô ấy có được thực sự thuộc về Bob.
1.2.2 Sự mã hoá
Với một số thuật toán khoá công khai, mã hoá dữ liệu với khoá công khai là có
thể, sau đó bản mã có thể được giải mã chỉ với khoá bí mật tương ứng. Tuy nhiên
những phép tính liên quan trong mật mã khoá công khai là quá chậm, do đó không
thực tế trong nhiều môi trường. Để thay thế điều đó có thể thực hiện theo 2 bước
như sau:
1. Dữ liệu được mã hoá sử dụng một khoá đối xứng được tạo ngẫu nhiên.
2. Khoá đối xứng sau đó được mã hoá nhờ khoá công khai của người nhận
Khi người nhận nhận dữ liệu đã mã hoá, tương tự có một tiến trình bao gồm 2 bước:
1. Người nhận sử dụng khoá bí mật giải mã khoá đối xứng
___________________________________________________________________
Nghiên cứu cơ sở hạ tầng khoá công khai
- 13 ___________________________________________________________________
2. Khoá đối xứng sau đó được sử dụng để giải mã dữ liệu
Thậm chí khi khối lượng dữ liệu được mã hoá là rất nhỏ, thì tiến trình 2 bước
đã đưa ra nên được sử dụng hơn là trực tiếp mã hoá và giải mã dữ liệu sử dụng cặp
khoá bí mật/công khai. Điều này giúp cho việc xử lý rõ ràng và đơn giản, tránh có
bất cứ sự nhầm lẫn nào dù đầu ra của hoạt động giải mã khoá bí mật là dữ liệu hay
là một khoá đối xứng.
1.2.3 Chữ ký số
Chữ ký số là một dịch vụ mật mã khoá công khai cho phép mà không dễ với
hệ mật đối xứng. Nó tương tự như chữ ký viết tay bởi vì một người có thể ký trên
nhiều tài liệu, bất cứ người nào cũng có thể đọc được chữ ký và kiểm tra sự chính
xác của chữ ký. Nó cũng an toàn hơn nhiều bởi vì nói chung không ai có thể tính
toán để tạo ra được chữ ký của Alice.
Chữ ký số dựa trên nền tảng khái niệm khoá công khai. Có một khoá bí mật
chỉ có Alice biết để khi cô ấy ký thì chữ ký là duy nhất và ràng buộc rõ ràng. Hơn
thế nữa khoá công khai phải phổ biến để người khác có thể kiểm tra chữ ký và nhận
ra chữ ký là của Alice
Dựa trên các khái niệm, có thể coi hoạt động của chữ ký số như hoạt động
khoá bí mật trên dữ liệu trong đó kết quả tính toán là chữ ký. Nếu chỉ Alice biết
khoá bí mật này, thì chỉ có cô ấy có thể ký. Mặt khác, bất cứ ai cũng có thể kiểm tra
chữ ký nhờ khoá công khai và kiểm tra xem kết quả có tương ứng với dữ liệu gốc
không
Dữ liệu được ký có thể có bất cứ kích thước nào (một thông điệp 5 từ hay tệp
10MB), nhưng hoạt động khóa bí mật có đầu vào và đầu ra cố định. Để thực hiện
được điều này sử dụng hàm băm mật mã. Hàm này có đặc điểm là nó nhận đầu vào
có kích cỡ tùy ý, đầu ra có kích thước cố định, không thể tính toán để tìm ra hai đầu
vào hàm băm khác nhau mà có cùng đầu ra. Hoạt động ký là một tiến trình 2 bước:
1. Người ký băm dữ liệu thành một giá trị có độ lớn cố định
2. Sau đó người ký sử dụng giá trị này trong hoạt động khoá bí mật
Sự kiểm thử là một tiến trình cũng gồm hai bước
___________________________________________________________________
Nghiên cứu cơ sở hạ tầng khoá công khai
- 14 ___________________________________________________________________
1. Người kiểm thử băm dữ liệu thành một giá trị có độ lớn cố định
2. Sau đó người kiểm thử kiểm tra giá trị này, dựa trên chữ ký đã truyền đi và
khoá công khai của người ký. Nếu chữ ký phù với khoá và giá trị băm, thì
chữ ký là đúng ngược lại chữ ký là sai.
1.2.4 Tính toàn vẹn dữ liệu
Một chữ ký số cung cấp cả việc xác thực dữ liệu gốc (chứng minh ai là người
tạo ra dữ liệu) và tính toàn vẹn dữ liệu (chứng minh rằng dữ liệu không bị thay đổi).
Đối với hàm băm, rất khó để tìm ra hai đầu vào mà băm cho đầu ra giống nhau, bất
cứ một sự thay đổi nào tới dữ liệu sẽ dẫn tới giá băm khác nhau, đây là nguyên nhân
gây ra lỗi trong kiểm thử chữ ký. Nếu sự kiểm thử chữ ký là thành công, người nhận
có thể cảm thấy tin tưởng rằng tính toàn vẹn dữ liệu được đảm bảo
1.2.5 Sự thiết lập khoá
Mật mã khoá công khai cũng có thể được sử dụng để thực hiện sự thiết lập
khoá (đôi khi được gọi là sự trao đổi khoá) giữa hai người, đó là một giao thức có
thể sử dụng khoá công khai và khoá bí mật, tại phần cuối của giao thức hai người
chia sẻ khoá đối xứng mà không ai biết[3].
Việc thiết lập khoá xảy ra theo hai cách sau
Trong truyền khoá, một người tạo khoá đối xứng và gửi nó cho người kia.
Mật mã khoá công khai có thể được sử dụng để bảo vệ an toàn cho quá trình
truyền. Ví dụ, Alice có thể mã hoá khoá đối xứng sử dụng khoá công khai
của Bob
Trong thoả thuận khoá, cả hai tham gia góp phần tạo khoá đối xứng. Mật mã
khoá công khai thực hiện một qui trình tương đối đơn giản, ngược lại điều
này là khó đạt được đối với công nghệ hoàn toàn đối xứng
1.2.6 Các dịch vụ khác
Việc xuất hiện mật mã khoá công khai tạo ra nhiều dịch vụ thú vị dựa trên các
dịch vụ đã liệt kê ở phần trên. Bao gồm việc xây dựng bộ tạo số giả ngẫu nhiên an
___________________________________________________________________
Nghiên cứu cơ sở hạ tầng khoá công khai
- 15 ___________________________________________________________________
toàn, các giao thức cho việc chơi game, các cơ chế để quản lý bầu cử điện tử an
toàn, ….
___________________________________________________________________
Nghiên cứu cơ sở hạ tầng khoá công khai
- 16 ___________________________________________________________________
Chƣơng 2 - CÁC KHÁI NIỆM CƠ SỞ HẠ TẦNG VÀ CÁC DỊCH VỤ
PKI
2.1 Các khái niệm cơ sở hạ tầng và CSHT khoá công khai
Cơ sở hạ tầng có thể xem như một nền móng rộng khắp. Hai cơ sở hạ tầng
quen thuộc là hạ tầng truyền thông điện tử (tức là mạng) và hạ tầng năng lượng
điện. Trong hạ tầng thứ nhất, mạng cục bộ (LAN) cho phép nhiều máy truyền dữ
liệu trong chúng với nhiều mục đích; trong hạ tầng thứ hai, mạng lưới điện làm cho
một số lượng rất nhiều các thiết bị điện nhận được hiệu điện thế và dòng điện cần
cho hoạt động. Tuy thế, nguyên tắc là giống nhau: cơ sở hạ tầng tồn tại sao cho các
thực thể đa chủng loại có thể đơn giản “móc nối vào nó” và sử dụng nó trên cơ sở
như được cần tới.
Cơ sở hạ tầng cho các mục đích an ninh cần thừa nhận cùng nguyên tắc đó và
đề xuất các lợi ích nền tảng như vậy. Cơ sở hạ tầng về an ninh cung cấp nền móng
an toàn cho toàn bộ tổ chức và có thể truy nhập được bởi mọi ứng dụng và đối
tượng trong tổ chức mà cần đến an ninh an toàn. Các “điểm cổng” (entry points) đi
vào cơ sở hạ tầng cần phải tiện lợi và đồng nhất, giống như chồng giao thức TCP/IP
hoặc ổ cắm điện trong tường. Tức là, các đối tượng muốn sử dụng cơ sở hạ tầng
không bị trở ngại một cách không chính đáng khi làm việc đó.
Cơ sở hạ tầng an ninh rộng khắp là một kiến trúc nhạy cảm cho nhiều môi
trường. Kiến trúc này tránh các giải pháp làm từng phần, điểm-điểm, không thiết kế
trước, không tương tác lẫn nhau, bằng cách ấy đưa vào khả năng quản lý được, an
ninh vững chắc trải nhiều ứng dụng và các nền tính toán (computing platforms).
Không khó tưởng tượng sự lộn xộn mang lại nếu như mỗi cặp người thông tin với
nhau chạy đường truyền riêng của họ hoặc các cá nhân chạy máy phát điện riêng
của mình với điện áp và dòng điện tuỳ ý. Nhiều khía cạnh của cả xã hội cổ đại và
hiện đại thể hiện rằng tính thống nhất và tiện lợi được đề nghị bởi một cơ sở hạ tầng
rộng khắp, được thiết kế tốt, định nghĩa tốt là đáng giá với nỗ lực bao hàm trong các
giai đoạn thiết kế và định nghĩa.
___________________________________________________________________
Nghiên cứu cơ sở hạ tầng khoá công khai
- 17 ___________________________________________________________________
Định nghĩa cơ sở hạ tầng khoá công khai (PKI)
PKI là cơ sở của một hạ tầng an toàn rộng khắp, các dịch vụ của nó được cài
đặt và thực hiện bằng cách sử dụng các khái niệm và kỹ thuật của khoá công
khai[7].
2.1.1 Thẩm quyền chứng thực (Certification Authority)
Tiền đề nền tảng trong phát biểu ban đầu của mật mã khoá công khai là 2
người lạ (không biết nhau trước đó) có thể liên lạc an toàn. Ví dụ, khi George muốn
gửi một thông báo bí mật cho Lisa, người mà anh ta chưa gặp trước đó, anh ta sẽ
bằng một cách nào đó có thể liên kết một khoá công khai với Lisa sao cho anh ta có
thể mã thông báo cho cô ấy. Với một số lượng người sử dụng tiềm năng gồm nhiều
trăm, nhiều nghìn hoặc nhiều triệu các thực thể, cách thực tế nhất để đạt được điều
này là bổ nhiệm một số tương đối nhỏ những người có thẩm quyền. Những người
có thẩm quyền này được tin tưởng bởi một bộ phận lớn các dân cư, hoặc có thể,
toàn bộ dân số để thực hiện nhiệm vụ gắn một cặp khoá công khai với một nhân
dạng đã cho. Các nhà thẩm quyền như vậy được gọi là những thẩm quyền chứng
thực (Certification Authorities- CA) trong thuật ngữ PKI; họ chứng nhận (certify)
việc gắn kết cặp khoá/nhân dạng bằng cách ký số một cấu trúc dữ liệu chứa một
biểu diễn nào đó của nhân dạng và khoá công khai tương ứng. Cấu trúc dữ liệu đó
được gọi là chứng chỉ khoá công khai (public-key certificate) (hoặc đơn giản hơn, là
chứng chỉ)
Mặc dù một CA không phải là một phần tử nhất thiết của mỗi PKI có thể
tưởng tượng được (đặc biệt những PKI mà rất hạn chế về kích thước hoặc những
PKI thao tác trong những môi trường tương đối đóng, ở đó những người sử dụng có
thể đóng vai một cách hiệu quả như những nhà thẩm quyền cho chính mình), nó là
một thành phần quan trọng của nhiều PKI có quy mô lớn. CA tạo nên một phần
được mở rộng của định nghĩa PKI.
2.1.2 Kho chứng chỉ (Certificate Repository)
Một CA chỉ giải quyết một phần của bài toán đã được nhắc tới trong mục trước
(đó là, George cần liên kết một khoá công khai với Lisa để mã dữ liệu cho cô ấy).
___________________________________________________________________
Nghiên cứu cơ sở hạ tầng khoá công khai
- 18 ___________________________________________________________________
Chứng chỉ được phát hành bởi CA liên kết một khoá công khai với nhân dạng của
Lisa; trừ khi George có thể định vị chứng chỉ này một cách dễ dàng, nếu không, anh
ta sẽ không có hiệu quả gì hơn so với việc chứng chỉ này chưa được tạo ra.
Một dạng nào đó của hệ thống kho chứa mềm dẻo, quy mô lớn và trực tuyến
cần phải được sắp đặt cho George để định vị các chứng chỉ mà anh ta cần cho việc
liên lạc mật. Vì thế, kho chứng chỉ (certificate repository) tạo nên một phần của
định nghĩa PKI mở rộng, một PKI lớn sẽ vô dụng nếu không có nó.
2.1.3 Huỷ bỏ chứng chỉ (Certificate Revocation)
CA ký một chứng chỉ gắn một cặp khoá công khai với nhân dạng của người sử
dụng. Trong các môi trường thế giới thực, tuy nhiên, các sự kiện sẽ cần đến việc
phá bỏ gắn kết đó. Các ví dụ thường được trích dẫn bao gồm việc thay đổi của nhân
dạng, giống như việc chuyển từ tên con gái sang tên đã lấy chồng hoặc việc phát
hiện ra khoá bí mật bởi hacker. Cần phải có một cách để cảnh báo cho phần còn lại
của cộng đồng người sử dụng rằng không tiếp tục chấp nhận nữa việc sử dụng khoá
công khai này cho nhân dạng nọ. Cơ chế cảnh báo này trong một PKI được gọi là
huỷ bỏ chứng chỉ (certification revocation).
Một cái tương tự cho huỷ bỏ chứng chỉ PKI có thể được hình dung như sau.
Bằng lái xe là một dạng của chứng chỉ: việc gắn nhân dạng (tên và ảnh) với số bằng
lái xe (quyền được lái) được thực hiện bởi một thẩm quyền tin cậy. Khi cảnh sát
thổi còi dừng xe lại, người cảnh sát không chỉ đơn thuần kiểm tra ngày hết hạn trên
giấy phép lái xe; anh ta còn gọi tới nhà thẩm quyền để xem giấy phép đã bị huỷ bỏ
hay chưa. Việc kiểm tra tính huỷ bỏ là cần thiết bởi vì đôi khi các tình huống buộc
rằng việc gắn kết nhân dạng/quyền được thể hiện trong chứng chỉ (chưa hết hạn)
thực ra không còn được tin cậy nữa.
Trừ khi các chứng chỉ có một thời gian sống ngắn đến mức chúng chỉ hiệu quả
cho một lần sử dụng, một khuôn dạng nào đó của việc huỷ bỏ được đòi hỏi cho
những tình huống mà trong đó một chứng chỉ cần phải được tuyên bố là không hợp
lệ. Cho nên, chúng ta thấy rằng huỷ bỏ cũng tạo nên một phần của định nghĩa PKI
mở rộng.
___________________________________________________________________
Nghiên cứu cơ sở hạ tầng khoá công khai
- 19 ___________________________________________________________________
2.1.4 Sao lƣu và khôi phục khoá (Key Backup and Recovery)
Trong một môi trường PKI đang hoạt động bất kỳ, một tỷ lệ nào đó những
người sử dụng có thể bị mất quyền sử dụng khoá bí mật của mình. Điều đó có thể
do một số tình huống, bao gồm:
Các mật khẩu bị quên. Khoá bí mật đã được mã hoá của người sử dụng
đã cho vẫn còn về mặt vật lý nhưng không truy cập được.
Phương tiện bị hỏng hóc. Ví dụ, đĩa cứng bị hỏng, hoặc thẻ thông minh
bị gãy.
Phương tiện bị thay thế. Hệ điều hành được tải lại (ghi đè một cách hiệu
quả các giấy uỷ nhiệm cục bộ), hoặc một máy tính model cũ được thay
bằng một model mới và các giấy uỷ nhiệm là không được sao chuyển
trước khi ổ đĩa cũ được định dạng lại (reformated).
Đối với nhiều môi trường (đặc biệt các môi trường liên hợp xí nghiệp), việc
mất dữ liệu được bảo vệ bởi khoá không truy nhập được hiện tại nhìn chung là
không chấp nhận được. Việc kinh doanh có thể có những tài liệu quan trọng được
mã với khoá đối xứng mà đến lượt nó được mã bởi khoá công khai của một người
sử dụng cụ thể. Nếu như khoá bí mật tương ứng bị mất, các tài liệu này bị làm cho
không khôi phục được, nó có thể gây trở ngại nghiêm trọng, hoặc thậm chí dừng
việc vận hành kinh doanh.
Một giải pháp cho vấn đề này là mã tất cả dữ liệu cho nhiều người nhận,
nhưng điều này có thể là không thực tế (ví dụ, đối với dữ liệu nhạy cảm cao). Một
giải pháp dễ chấp nhận và thực tế hơn là ứng dụng sao lưu và khôi phục các khoá bí
mật để giải mã (nhưng không phải các khoá bí mật để ký). Tính cần thiết của giải
pháp này cho nhiều môi trường có nghĩa rằng sao lưu và khôi phục khoá sẽ tạo nên
một phần mở rộng của định nghĩa PKI.
2.1.5 Cập nhật khoá tự động (Automatic Key Update)
Một chứng chỉ có thời gian sống hữu hạn. Điều đó có thể do các nguyên nhân
lý thuyết, giống như trạng thái hiện tại của hiểu biết trong mã thám đối với các thuật
toán phi đối xứng và các độ dài khoá. Một cách khác, nó có thể do các lý do dựa
___________________________________________________________________
Nghiên cứu cơ sở hạ tầng khoá công khai
- 20 ___________________________________________________________________
trên các đánh giá thực hành, ví dụ như giới hạn về lượng dữ liệu được bảo vệ một
cách thông thường bởi một khoá chỉ là một số MB nào đó. Tức là, dù vì lý do gì,
trong nhiều môi trường PKI, một chứng chỉ đã cho sẽ phải “hết hạn” và được thay
bằng một chứng chỉ mới. Quá trình này được gọi là “cập nhật khoá” (key update)
hoặc “cập nhật chứng chỉ” (certificate update).
Phần lớn những người sử dụng PKI sẽ cảm thấy nặng nề và khó chịu vì phải
thực hiện quá trình cập nhật thủ công trên cơ sở định kỳ cho mỗi chứng chỉ của họ.
Người sử dụng thông thường không nhớ ngày mà chứng chỉ của họ bị hết hạn, và
họ chỉ thấy điều đó khi đã quá muộn (tức là, khi chứng chỉ không hợp lệ nữa). Cho
nên, cho đến khi họ hoàn thành quá trình cập nhật, họ sẽ không được phục vụ bởi
PKI. Hơn thế nữa, khi người sử dụng ở trong trạng thái như vậy, quá trình cập nhật
là phức tạp hơn, đòi hỏi một trao đổi ngoại lệ (out-of-band) với CA, tương tự như
quá trình khởi tạo.
Giải pháp là cài đặt PKI theo cách mà khoá và chứng chỉ duy trì cập nhật theo
một cách hoàn toàn tự động bởi chính PKI, không cần có sự can thiệp nào của
người sử dụng. Mỗi khi chứng chỉ của người sử dụng được dùng đến cho một mục
đích bất kỳ, thời hạn hợp lệ của nó được kiểm tra. Khi ngày hết hạn đến gần, thao
tác đổi mới xảy ra, một chứng chỉ mới được tạo ra. Sau đó, chứng chỉ mới được sử
dụng thay cho chứng chỉ cũ và giao dịch được yêu cầu bởi người sử dụng cứ tiếp
tục.
Bởi vì việc cập nhật khoá tự động là sống còn đối với PKI hoạt động trong
nhiều môi trường, nó tạo nên một phần của định nghĩa PKI mở rộng.
2.1.6 Lịch sử khoá (Key History)
Khái niệm về cập nhật khoá, một cách thủ công hoặc tự dộng, kéo theo rằng,
trên toàn bộ diễn biến thời gian, một người sử dụng đã cho có nhiều chứng chỉ “cũ”
và ít nhất một chứng chỉ “hiện tại”. Tập hợp các chứng chỉ này và các khoá bí mật
tương ứng được biết như là “lịch sử khoá” (key history) của người sử dụng (một
cách đúng hơn là lịch sử chứng chỉ và khoá, nhưng thông thường tên ngắn hơn được
sử dụng). Việc lưu giữ vết của toàn bộ lịch sử khoá này là rất quan trọng bởi vì dữ
___________________________________________________________________
Nghiên cứu cơ sở hạ tầng khoá công khai
- 21 ___________________________________________________________________
liệu mà George đã mã hoá cho chính anh ta hoặc một ai đó đã mã hoá cho George
vào thời điểm 5 năm trước đây không thể giải mã được bằng khoá giải mã bí mật
hiện thời của anh ta (chú ý rằng việc mã lại toàn bộ dữ liệu mỗi khi khoá được cập
nhật là giải pháp hoàn toàn không thực tế trong phần lớn các môi trường.) George
cần lịch sử khóa của anh ta để cho khoá giải mã đúng có thể tìm thấy nhằm giải mã
dữ liệu yêu cầu. Tương tự, một số chứng chỉ trong lịch sử khoá này có thể cần thiết
để kiểm chứng các chữ ký của George 5 năm trước đây.
Giống như việc cập nhật khoá, việc quản trị các lịch sử khoá cũng cần phải tự
động và hoàn toàn được duy trì bởi PKI. Những người dùng thông thường sẽ không
chấp nhận bất kỳ một hệ thống nào trong đó họ cần chọn một cách nào đó khoá bí
mật tương ứng với họ, hoặc tồi hơn, thử mỗi khoá bí mật lần lượt cho đến khi được
giải mã ra một cái gì đó có nghĩa. PKI cần nắm giữ tất cả các khoá trong lịch sử,
thực hiện sao lưu và khôi phục ở những nơi thích hợp, và tìm được khoá thích hợp
tương ứng với bất kỳ dữ liệu nào đã được bảo vệ.
Tầm quan trọng của lịch sử khoá làm cho nó tạo nên một phần của định nghĩa
PKI mở rộng.
2.1.7 Chứng thực chéo (Cross-Certification)
Khái niệm của một PKI toàn cục, duy nhất mà mỗi người dùng trong thế giới
có thể gia nhập dường như không thể trở nên thực tế. Thay vào đó, cái mà chúng ta
nhìn thấy hiện nay là một mô hình mà dường như có khả năng tồn tại: nhiều PKI,
được cài đặt và hoạt động một cách độc lập, phục vụ các môi trường và các cộng
đồng người dùng khác nhau.
Khi cho tập các PKI được phát triển một cách độc lập, không tránh khỏi là ít
nhất một số trong chúng cần phải được liên kết với nhau theo thời gian. Việc thay
đổi các quan hệ thương mại hoặc các nguyên nhân khác sẽ làm nảy sinh liên lạc an
toàn giữa những cộng đồng người sử dụng của một số PKI, ngay cả khi liên lạc an
toàn không phải là một yêu cầu trước đó.
Khái niệm chứng thực chéo đã nảy sinh trong môi trường PKI để giải quyết
chính xác nhu cầu này, nhằm tạo ra các quan hệ tin cậy giữa các cài đặt PKI không
___________________________________________________________________
Nghiên cứu cơ sở hạ tầng khoá công khai
- Xem thêm -