- 1 -
LỜI CẢM ƠN
Tôi xin gửi lời cảm ơn chân thành và bày tỏ lòng biết ơn sâu sắc nhất tới
PGS. TS. Nguyễn Thị Hoàng Lan, Người đã cho tôi những định hướng và
những ý kiến rất quý báu về công nghệ PKI. Đặc biệt là những ý kiến quý
báu trong những vấn đề cụ thể để hoàn thành luận văn.
Tôi xin tỏ lòng biết ơn sâu sắc tới thầy cô, bạn bè cùng khoá đã dìu dắt, giúp
đỡ tôi tiến bộ trong suốt những năm học qua. Xin cảm ơn gia đình và bè
bạn, những người luôn khuyến khích và giúp đỡ tôi trong mọi hoàn cảnh
khó khăn. Tôi xin cảm ơn các bạn đồng nghiệp đã hết sức tạo điều kiện cho
tôi trong quá trình học và làm luận văn này.
Được hoàn thành trong thời gian rất hạn hẹp, luận văn này chắc chắn còn
nhiều khiếm khuyết. Tôi xin cảm ơn những thầy cô, bạn bè và người thân đã
và sẽ có những góp ý chân tình cho nội dung của luận văn này, để tôi có thể
tiếp tục đi sâu tìm hiểu và đưa PKI vào ứng dụng trong thực tiễn công việc.
Lê Trần Vũ Anh.
- 2 -
MỤC LỤC
MỤC LỤC 2
DANH MỤC HÌNH VẼ 5
DANH MỤC TỪ VIẾT TẮT 7
MỞ ĐẦU 9
1.1 GIỚI THIỆU CHUNG 11
1.2 KHÁI NIỆM HỆ MẬT MÃ 11
1.3 HỆ MẬT MÃ KHOÁ ĐỐI XỨNG 12
1.4 HỆ MẬT MÃ KHOÁ CÔNG KHAI 13
1.5 CHỮ KÝ SỐ 16
1.6 HÀM BĂM 19
2.1 CHỨNG THƯ SỐ (DIGITAL CERTIFICATES) 22
2.1.1 Giới thiệu 22
2.1.2 Chứng thư số khoá công khai X.509 23
5.2 KIẾN TRÚC HỆ THỐNG 56
5.2.1 Mô hình hệ thống 56
5.2.2 Các tiểu hệ thống 57
5.2.3 Các thành phần của hệ thống 57
5.2.4 Thành viên của hệ thống 59
5.3 CÁC LOẠI DỊCH VỤ TRONG HỆ THỐNG 60
5.4 NHẬN XÉT 61
6.1 AN TOÀN BẢO MẬT CỦA HỆ THỐNG THANH TOÁN ĐIỆN TỬ LIÊN NGÂN HÀNG (IBPS) 62
6.1.1 Vấn đề bảo mật của hệ thống hiện tại 62
6.1.2 Tổng quát về yêu cầu an toàn hệ thống 63
6.2 PHÂN TÍCH HIỆN TRẠNG BẢO MẬT TẤNG ỨNG DỤNG TRONG HỆ THỐNG 66
6.2.1 Mã xác thực, dấu hiệu điện tử và việc xác thực dữ liệu 66
6.2.2 Xác thực thực thể và mã hóa dữ liệu trong quá trình truyền thông 70
6.3 NHẬN XÉT 75
7.1 HIỆN TRẠNG TÍCH HỢP HỆ THỐNG CA VỚI HỆ THỐNG IBPS 76
7.2 CÁC TIẾN TRÌNH XỬ LÝ 78
7.2.1 Đồng bộ chứng thư số và danh sách chứng thư số bị thu hồi 78
7.2.2 Quy trình ký và xác thực tin điện tại PPC 81
7.2.3 Quy trình ký và xác thực tin điện đối với CI sử dụng chứng thư số 83
7.3 ĐÁNH GIÁ 87
7.3.1 Vấn đề ‘Mã xác thực, dấu hiệu điện tử và việc xác thực dữ liệu’ 88
7.3.2 Vấn đề ‘Xác thực thực thể và mã hóa dữ liệu trong quá trình truyền thông’ 89
7.3.3 Vấn đề khác 89
8.1 ĐẶT VẤN ĐỀ 90
8.2 ĐỀ XUẤT GIẢI PHÁP 92
8.2.1 Xử lý nghiệp vụ và xác thực dữ liệu tại PPC 92
8.2.2 Vấn đề xác thực thể và mã hóa dữ liệu trong quá trình truyền thông 93
8.2.3 Tăng khả năng đồng bộ dữ liệu từ LDAP tại PPC 97
8.2.4 Tăng khả năng đồng bộ dữ liệu từ LDAP tại CIs 99
8.2.5 Kết hợp hai giải pháp đồng bộ dữ liệu LDAP tại PPCs/CIs 101
Hình 1.8 c: Truyền dữ liệu thông tin cần gửi 18
Hình 1.8: Sơ đồ mô tả các công đoạn người A làm trước khi gửi thông điệp cho người B (sử dụng hàm băm rồi ký số). .18
Hình 1.9 a: Xác minh chữ ký 18
Hình 1.9 b: Tiến hành băm thông điệp x đi kèm 18
Hình 1.9 c: Kiểm tra tính toàn vẹn của thông điệp 18
Hình 1.9: Sơ đồ mô tả các công đoạn kiểm tra chữ ký sau khi người B nhận được thông điệp 18
Hình 1.10: Nhiều thông điệp nguồn cho cùng 1 kết quả đích sau mã hoá/ ký số 19
Hình 2.1: Chứng thư số 22
Hình 2.2: Khuôn dạng chứng thư số X.509 23
Hình 2.3: Nội dung chi tiết của chứng thư số 26
Hình 2.4: Khuôn dạng danh sách chứng thư số bị thu hồi 28
Hình 2.5: Dịch vụ kiểm tra online 29
Hình 2.6: Các thành phần PKI 30
Hình 2.7: Đường dẫn chứng thư số chéo 35
Hình 2.8: Mô hình root 36
Hình 3.1: Các thành phần của hệ thống Entrust CA chuẩn 39
Hình 3.2: Kiến trúc mô hình lấy chứng thư số qua giao diện Web 41
Hình 3.3: Cấp phát chứng thư số qua Web 42
Hình 3.4: Quy trình cấp phát chứng thư số qua Web 43
Hình 4.1: Mô hình CA của NHNN Việt Nam 45
Hình 4.2: minh họa về sự phân cấp bảo mật của người sử dụng hệ thống Entrust PKI 48
Hình 4.3: Quy trình cấp mới chứng thư số 51
Hình 4.4: Quy trình xin gia hạn (cập nhật) chứng thư số 52
Hình 5.1: Mô hình triển khai của IBPS 56
Hình 5.2: Kiến trúc của IBPS 56
Hình 5.3: Các modul phần mềm chính tại NPSC 57
Hình 5.4: Các modul phần mềm chính tại PPC 58
Hình 5.5: Các modul phần mềm chính tại Br/CI 59
Hình 6.1: Các mối đe dọa tính an toàn bảo mật hệ thống IBPS 63
Hình 6.2: Hiện trạng bảo mật ứng dụng IBPS 66
Hình 8.14: Xử lý khởi tạo phiên làm việc 106
Hình 8.15: Mô hình đồng bộ dữ liệu LDAP trong ngày tại PPC 108
Hình 8.16: Quy trình xác thực tin điện tại PPC 110
Hình 8.17: Cập nhật thông tin người dùng tại NPSC 112
Hình 8.18: Quy trình ký tại CI 113
Hình 8.19: Quy trình xác thực tin điện tại CI 115
Hình 8.20: Hình ảnh giao diện ký 119
Hình 8.21: Hình ảnh giao diện xác thực chữ ký 120
Hình 8.22: Hình ảnh giao diện mã hóa 120
Hình 8.23: Hình ảnh giao diện giải mã 121
- 7 -
DANH MỤC TỪ VIẾT TẮT
ARLs Authority Revocation Lists
CA Certificate Authority
CAO Certificate Authority Operator
CMS Cryptographic Message Syntax
COST Commercial of the Shelf
CRLs Certificate Revocation Lists
CRR Certificate Revocation Request
CSP Certification Service Provider
DAP Directory Access Protocol
DES Data Encryption Standard
DN Distinguished Name
DNS Domain Name System
DSS Digital Signature Standard
ECC Elliptic Curve Cryptography
HTTPS Secure Hypertext Transaction Standard
IANA Internet Assigned Numbers Authority
IBPS Inter-Bank Payments Systems
IEEE Institute of Electrical & Electronic Engineers
System)
Tiểu hệ thống của IBPS có nhiệm vụ xử lý giao dịch giá trị
thấp và xử lý bù trừ giá trị thấp
- 8 -
SAPS (Settlement Account
Processing System)
Hệ thống duy trì và xử lý tài khoản; thực hiện quyết toán
tổng tức thời, quyết toán kết quả thực hóa
NPSC (National Processing and
Settlement Center)
Trung tâm xử lý cấp quốc gia
PPC (Provincial Processing
Center)
Trung tâm xử lý cấp tỉnh
O-PPC (Originating Provincial
Processing Center)
Trung tâm xử lý cấp tỉnh mà Ngân hàng phát lệnh giao dịch
(Bank A) kết nối tới.
R-PPC (Receiving Provincial
Processing Center)
Trung tâm xử lý cấp tỉnh mà Ngân hàng nhận lệnh giao dịch
(Bank B) kết nối tới.
Originator Tổ chức hoặc cá nhân thực hiện yêu cầu giao dịch thanh toán
tại ngân hàng.
Recipient Tổ chức hoặc cá nhân nhận lệnh thanh toán.
Bank A Ngân hàng cung cấp dịch vụ cho Originator.
Bank B Ngân hàng cung cấp dịch vụ cho Recipient.
O-CIHO (Originating Credit
Institution Head Office)
Hội sở chính của ngân hàng A.
Nam Branch)
Chi nhánh Ngân hàng nhà nước tại mỗi tỉnh
SA (Settlement Account) Tài khoản quyết toán của các tổ chức tín dụng mở tại ngân
hàng Nhà nước.
FTA (Fund Transfer Account) Tài khoản chuyển tiền của các chi nhánh ngân hàng Nhà
nước.
TAD (Terminal Access Divice) Thiết bị truy cập đầu cuối; Phần mềm mà CI dùng để thực
hiện kết nối và giao dịch với hệ thống thanh toán điện tử liên
ngân hàng.
SCC TAD Chương trình kiểm soát hệ thống IBPS
OP TAD Chương trình vận hành hệ thống IBPS
TAD ID Mã tổ chức tín dụng
Confirm ID Mã xác nhận của tổ chức tín dụng
- 9 -
MỞ ĐẦU
Trong một vài năm lại đây, hạ tầng truyền thông công nghệ thông tin càng ngày
càng được mở rộng khi người sử dụng dựa trên nền tảng này để truyền thông và
giao dịch với các đồng nghiệp, các đối tác kinh doanh cũng như khách hàng trên các
mạng công cộng. Hầu hết các thông tin nhạy cảm và quan trọng được lưu trữ và trao
đổi dưới hình thức điện tử trong các cơ quan văn phòng, doanh nghiệp, ngân hàng.
Sự thay đổi trong các hoạt động truyền thông này đồng nghĩa với việc cần phải có
biện pháp bảo vệ đơn vị, tổ chức, doanh nghiệp của mình 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 đó. Hạ tầng mã
khoá công khai (PKI - Public Key Infrastructure) cùng các tiêu chuẩn và công nghệ
ứng dụng của nó có thể được coi là một giải pháp tổng hợp và độc lập có thể sử
dụng để giải quyết vấn đề này.
Các hệ thống ứng dụng PKI trên thế giới đã và đang được triển khai một cách mạnh
mẽ. Việt Nam chúng ta cũng không nằm ngoài xu hướng này. Gần đây, Chính phủ
và các cơ quan bộ ngành (trong đó có Ngân Hàng Nhà Nước) cũng đã chuẩn bị dự
thảo các văn bản pháp lý, quy định về việc xây dựng, áp dụng công nghệ này. Với
Chương 3: TỔNG QUAN VỀ GIẢI PHÁP PKI CỦA ENTRUST
Phần này sẽ đưa ra cái nhìn tổng quan về mô hình và các thành phần của giải
pháp PKI của Entrust - giải pháp được ứng dụng để xây dựng trung tâm CA
NHNN.
Chương 4: HỆ THỐNG “QUẢN LÝ VÀ CẤP PHÁT MÃ KHÓA CÔNG
KHAI NGÂN HÀNG NGÂN HÀNG NHÀ NƯỚC VIỆT NAM”
Trình bày kiến trúc hệ thống của hệ thống “Quản lý và cấp phát mã khóa
công khai Ngân hàng nhà nước Việt Nam” (hệ thống CA), các thành phần và
tính năng kỹ thuật của hệ thống CA.
Chương 5: HỆ THỐNG THANH TOÁN ĐIỆN TỬ LIÊN NGÂN HÀNG
NGÂN HÀNG NHÀ NƯỚC VIỆT NAM
Trình bày các kiến trúc hệ thống, các thành phần và các loại dịch vụ của hệ
thống thanh toán liên điện tử ngân hàng.
Phần 3 Phân tích, đánh giá và đề xuất các giải pháp nhằm nâng cao hiệu quả an
toàn bảo mật của hệ thống thanh toán liên ngân hàng.
Chương 6: PHÂN TÍCH VẤN ĐỀ AN TOÀN BẢO MẬT HỆ THỐNG
THANH TOÁN ĐIỆN TỬ LIÊN NGÂN HÀNG
Tổng quan các vấn đề an toàn bảo mật của hệ thống IBPS. Phân tích hiện
trạng bảo mật tầng ứng dụng và các vấn đề xem xét để tích hợp mã khóa
công khai.
Chương 7: ĐÁNH GIÁ HIỆN TRẠNG HỆ THỐNG THANH TOÁN ĐIỆN
TỬ LIÊN NGÂN HÀNG TÍCH HỢP HỆ THỐNG CA
Trình bày hiện trạng và đánh giá hiện trạng hệ thống tích hợp. Dựa vào phân
tích hiện trạng và các vấn đề đánh giá để có những đề xuất hợp lý.
Chương 8: ĐỀ XUẤT CÁC GIẢI PHÁP CHO HỆ THỐNG TÍCH HỢP
Trình bày các giải pháp đề xuất nhằm nâng cao hiệu an toàn bảo mật của hệ
thống tích hợp.
Hà nội, tháng 11 năm 2008
Lê Trần Vũ Anh
- 11 -
1. P là tập hữu hạn các các bản rõ có thể
2. C tập hữu hạn các bản mã có thể
3. K là tập hữu hạn các khoá có thể
4. E là tập các hàm lập mã
5. D là tập các hàm giải mã. Với mỗi k ∈ K, có một hàm lập mã ek ∈ E, ek: P
→ C và một hàm giải mã dk∈ D, dk: C → P sao cho dk(ek(x)) = x, ∀ x ∈ P
- 12 -
Hình 1.1: Quá trình mã hoá và giải mã
1.3 HỆ MẬT MÃ KHOÁ ĐỐI XỨNG
Các phương pháp mật mã cổ điển đã được biết đến từ khoảng 4000 năm trước. Một
số kỹ thuật đã được những người Ai Cập sử dụng từ nhiều thế kỷ trước. Những kỹ
thuật này chủ yếu sử dụng hai phương pháp chính là: phép thay thế và phép chuyển
dịch. Trong phép thay thế, một chữ cái này được thay thế bởi chữ cái khác và trong
phép chuyển dịch, các chữ cái được sắp xếp theo một trật tự khác.
Hệ mã chuẩn DES được xây dựng tại Mỹ trong những năm 70 theo yêu cầu của
Văn phòng quốc gia về chuẩn (NBS) và được sự thẩm định của an ninh quốc gia là
một ví dụ về mật mã cổ điển. DES kết hợp cả hai phương pháp thay thế và chuyển
dịch. DES thực hiện mã hoá trên từng khối bản rõ là một xâu 64 bit, có khoá là một
xâu 56 bit và cho ra bản mã cũng là một xâu 64 bit. Hiện nay, DES và biến thể của
nó (3DES) vẫn được sử dụng thành công trong nhiều ứng dụng.
Trong các hệ mã đối xứng chỉ có một khoá được chia sẻ giữa các bên tham gia liên
lạc. Cứ mỗi lần truyền tin bảo mật, cả người gửi A và người nhận B cùng thoả thuận
trước với nhau một khoá chung K, sau đó người gửi dùng eK để lập mã cho thông
báo gửi đi và người nhận dùng dK để giải mã bản mật mã nhận được. Người gửi và
người nhận có cùng một khoá chung K, được giữ bí mật dùng cho cả lập mã và giải
mã. Những hệ mật mã cổ điển với cách sử dụng trên được gọi là mật mã khoá đối
xứng hay còn gọi là mật mã khoá bí mật.
Độ an toàn của hệ mật mã đối xứng phụ thuộc vào khoá. Nếu để lộ khoá thì bất kỳ
người nào cũng có thể mã hoá và giải mã thông điệp.
Ưu và nhược điểm của hệ mật mã khoá đối xứng
Quá trình này được mô tả trong hình 1.2 và 1.3.
Hình 1.2: Mã hoá thông điệp sử dụng khoá công khai P
Hình 1.3: Giải mã thông điệp sử dụng khoá bí mật của người nhận
Có nhiều hệ thống khoá công khai được triển khai rộng rãi như hệ RSA, hệ
ElGamal sử dụng giao thức trao đổi khoá Diffie-Hellman và nổi lên trong những
- 14 -
năm gần đây là hệ đường cong Elliptic. Trong số các hệ mật mã trên thì hệ RSA là
hệ được cộng đồng chuẩn quốc tế và công nghiệp chấp nhận rộng rãi trong việc
thực thi mật mã khoá công khai.
Hệ mật mã RSA, do Rivest, Shamir và Adleman [8] tìm ra, đã được công bố lần đầu
tiên vào tháng 8 năm 1977 trên tạp chí Scientific American. Hệ mật mã RSA được
sử dụng rộng rãi trong thực tiễn đặc biệt cho mục đích bảo mật và xác thực dữ liệu
số. Tính bảo mật và an toàn của chúng được bảo đảm bằng độ phức tạp của một bài
toán số học nổi tiếng là bài toán phân tích số nguyên thành các thừa số nguyên tố.
Hệ mật mã RSA được mô tả như hình 1.4.
Hình 1.4: Sơ đồ hệ mật mã RSA
Việc phát minh ra phương pháp mã công khai tạo ra một cuộc “cách mạng” trong
công nghệ an toàn thông tin điện tử. Nhưng thực tiễn triễn khai cho thấy tốc độ mã
hoá khối dữ liệu lớn bằng các thuật toán mã hoá công khai chậm hơn rất nhiều so
với hệ mã hoá đối xứng. Ví dụ, để đạt được độ an toàn như các hệ mã đối xứng
mạnh cùng thời, RSA đòi hỏi thời gian cho việc mã hoá một văn bản lâu hơn ấp
hàng ngàn lần. Do đó, thay bằng việc mã hoá văn bản có kích thước lớn bằng lược
đồ khoá công khai thì văn bản này sẽ được mã hoá bằng một hệ mã đối xứng có tốc
độ cao như DES, IDEA,…sau đó khoá được sử dụng trong hệ mã đối xứng sẽ được
mã hoá sử dụng mật mã khoá công khai. Phương pháp này rất khả thi trong việc mã
và giải mã những văn bản có kích thước lớn như được mô tả trong hình 1.5 và 1.6.
- 15 -
Hình 1.5: Mã hoá thông điệp sử dụng khoá bí mật S để mã thông điệp và
khoá công khai P để mã khoá bí mật S
Hình 1.6: Giải mã thông điệp sử dụng khoá bí mật S để giải mã thông điệp và
điệp đầu tiên sẽ giải mã bản băm với khoá công khai của người gửi, sau đó băm
thông điệp đi kèm bằng thuật toán băm tương ứng với thuật toán băm người gửi đã
sử dụng. B so sánh hai giá trị băm nếu giống nhau thì chắc chắn rằng thông điệp A
gửi cho B còn nguyên vẹn, đồng thời xác thực được người gửi thông tin là ai.
Tính toàn vẹn của thông điệp được đảm bảo vì chỉ thay đổi một bit trong thông điệp
gửi đi thì kết quả hai giá trị băm sẽ khác nhau. Tính xác thực của người gửi cũng
được đảm bảo vì chỉ có người gửi A mới có khoá bí mật để mã bản băm. Chữ ký số
cũng chứng minh được tính chống chối bỏ bản gốc vì chỉ có A mới có khoá bí mật
dùng để ký số. Sơ đồ chữ ký được định nghĩa như sau:
Sơ đồ chữ ký là một bộ năm (P, A, K, S, V), trong đó:
1. P là một tập hữu hạn các văn bản có thể
2. A là một tập hữu hạn các chữ ký có thể
3. K là một tập hữu hạn các khoá có thể
4. S là tập các thuật toán ký
5. V là tập các thuật toán kiểm thử
6. Với mỗi k ∈ K, có một thuật toán ký sig
k
∈ S, sig
k
: P → A và một thuật toán
kiểm thử ver
k
∈ V, ver
k
: P x A → {đúng, sai}, thoả mãn điều kiện sau đây
với mọi x ∈ P, y ∈ A:
ver
k
(x,y) = đúng, nếu y = sig
k
3. B so sánh 2 giá trị băm z và h(x), nếu giống nhau thì chắc chắn rằng thông
điệp x - mà A muốn gửi cho B - còn nguyên vẹn, bên cạnh đó cũng xác thực
được người gửi thông tin là ai. (Hình 1.9 c)
Hình 1.9 a: Xác minh chữ ký.
Hình 1.9 b: Tiến hành băm thông điệp x đi kèm.
Hình 1.9 c: Kiểm tra tính toàn vẹn của thông điệp
Hình 1.9: Sơ đồ mô tả các công đoạn kiểm tra chữ ký sau khi người B nhận
được thông điệp
- 19 -
1.6 HÀM BĂM
Việc sử dụng các hệ mật mã và sơ đồ chữ ký số thường là mã hóa và ký số trên
từng bit của thông tin, thời gian để mã hóa và ký sẽ tỷ lệ thuận với dung lượng của
thông tin. Thêm vào đó có thể xảy ra trường hợp: với nhiều bức thông điệp đầu vào
khác nhau, sử dụng hệ mật mã, sơ đồ ký số giống nhau (có thể khác nhau) thì cho ra
kết quả bản mã, bản ký số giống nhau (ánh xạ N-1: nhiều - một), như hình 1.10.
Điều này sẽ dẫn đến một số rắc rối về sau cho việc xác thực thông tin.
Hình 1.10: Nhiều thông điệp nguồn cho cùng 1 kết quả đích sau mã hoá/ ký số
Các sơ đồ ký số thường chỉ được sử dụng để ký các bức thông điệp (thông tin) có
kích thước nhỏ và sau khi ký, bản ký số có kích thước gấp đôi bản thông điệp gốc -
ví dụ với sơ đồ chữ ký chuẩn DSS ký trên các bức thông điệp có kích thước 160 bit,
bản ký số sẽ có kích thước 320 bit. Trong khi đó trên thực tế, ta cần phải ký các
thông điệp có kích thước lớn hơn nhiều, chẳng hạn vài chục MegaByte. Hơn nữa,
để đáp ứng yêu cầu xác thực sau khi thông tin đến người nhận, dữ liệu truyền qua
mạng không chỉ là bản thông điệp gốc, mà còn bao gồm cả bản ký số (có dung
lượng gấp đôi dung lượng bản thông điệp gốc). Một cách đơn giản để giải quyết vấn
đề trên (với thông điệp có kích thước lớn) này là chặt thông điệp thành nhiều đoạn
160 bit, sau đó ký lên các đoạn đó độc lập nhau. Nhưng, sử dụng biện pháp này sẽ
có một số vấn đề gặp phải trong việc tạo ra các chữ ký số:
- Thứ nhất: với một thông điệp có kích thước a, thì sau khi ký kích thước của chữ
ký sẽ là 2a (trong trường hợp sử dụng DSS).
CHƯƠNG 2
CHỨNG THƯ SỐ VÀ HẠ TẦNG MÃ KHOÁ CÔNG KHAI
Mật mã khoá công khai cho đến nay được xem là giải pháp tốt nhất để đảm bảo
được các yêu cầu về an toàn thông tin mạng: “bảo mật”, “toàn vẹn”, xác thực” và
“chống chối bỏ”. Mặc dù vẫn còn mới khi so sánh với các phương pháp mã cổ điển
nhưng mật mã khoá công khai đã nhận được sự tin cậy rộng rãi của thế giới Internet
vì những công cụ có khả năng phát triển cho vấn đề quản lý khoá.
Như đã đề cập ở trên, vấn đề chính của hệ mã khoá đối xứng là vấn đề quản lý khoá
và để giải quyết vấn đề này hệ mã khoá công khai đã được đưa ra như một giải
pháp. Trong hệ thống mật mã khoá công khai, khoá bí mật (khoá riêng) được người
dùng giữ bí mật trong khi khoá công khai với tên của người sở hữu tương ứng lại
được công bố công khai. Đối với hệ thống như thế này, ta cần xác định và trả lời
một số câu hỏi như:
- Ai sẽ tạo ra cặp khoá công khai - bí mật?
- Dữ liệu sẽ được lưu dưới định dạng như thế nào trong hệ thống lưu trữ (khoá
công khai, định danh của người sở hữu và các thông tin khác)?
- Có cơ chế nào để giữ cho thông tin không bị thay đổi trên hệ thống lưu trữ?
- Làm thế nào để đảm bảo việc gắn kết giữa khoá công khai và định danh của
thực thể yêu cầu có khoá công khai?
- Làm thế nào để người sử dụng có thể truy cập được đến nơi lưu trữ?
- Làm thế nào người sử dụng nhận biết được có sự thay đổi trong dữ liệu đang
được lưu trên hệ thống lưu trữ?
- Điều gì sẽ xảy với khoá công khai nếu khoá bí mật tương ứng bị xâm hại?
- Có một chính sách nào cho tất cả những vấn đề nêu trên không?
Để trả lời cho những câu hỏi trên có một giải pháp là sử dụng hạ tầng khoá công
khai - PKI. Cho đến nay có nhiều định nghĩa về PKI, nhưng chưa định nghĩa nào
được công nhận chính thức. Có một số định nghĩa về PKI như sau:
“PKI là một tập các phần cứng, phần mềm, con người, chính sách và các thủ tục cần
thiết để tạo, quản lý, lưu trữ, phân phối và thu hồi chứng thư khoá công khai dựa
trên mật mã khoá công khai”[25].
Explorer 6.x:
Hình 2.1: Chứng thư số
Chứng thư số chứa những thông tin cần thiết như khóa công khai, chủ thể (người sở
hữu) khoá công khai, người cấp và một số thông tin khác. Tính hợp lệ của các thông
tin được đảm bảo bằng chữ ký số của người cấp chứng thư số. Người nào muốn sử
- 23 -
dụng chứng thư số trước hết sẽ kiểm tra chữ ký số trong chứng thư số. Nếu đó là
chữ ký hợp lệ thì sau đó có thể sử dụng chứng thư số theo mục đích mong muốn.
Có nhiều loại chứng thư số, một trong số đó là:
- Chứng thư số khoá công khai X.509
- Chứng thư số khoá công khai đơn giản (Simple Public Key Certificates -
SPKC)
- Chứng thư số Pretty Good Privacy (PGP)
- Chứng thư số thuộc tính (Attribute Certificates - AC)
Tất cả các loại chứng thư số này đều có cấu trúc định dạng riêng. Hiện nay chứng
thư số khoá công khai X.509 được sử dụng phổ biến trong hầu hết các hệ thống
PKI. Hệ thống chương trình cấp chứng thư số thử nghiệm cũng sử dụng định dạng
chứng thư số theo chuẩn X.509, nên luận văn này tập trung vào xem xét chi tiết
chứng thư số công khai chuẩn X.509. Trong luận văn, thuật ngữ chứng thư số
“certificate” được sử dụng đồng nghĩa với chứng thư số khoá công khai X.509 v3.
2.1.2 Chứng thư số khoá công khai X.509
Chứng thư số X.509 v3 là định dạng chứng thư số được sử dụng phổ biến và được
hầu hết các nhà cung cấp sản phẩm PKI triển khai.
Chứng thư khoá công khai X.509 được Hội viễn thông quốc tế (ITU) đưa ra lần đầu
tiên năm 1988 như là một bộ phận của dịch vụ thư mục X.500. Chứng thư số gồm 2
phần. Phần đầu là những trường cơ bản cần thiết phải có trong chứng thư số. Phần
thứ hai chứa thêm một số trường phụ, những trường phụ này được gọi là trường mở
rộng dùng để xác định và đáp ứng những yêu cầu bổ sung của hệ thống. Khuôn
dạng của chứng thư số X.509 được chỉ ra như trong hình 2.2.
Hình 2.2: Khuôn dạng chứng thư số X.509
Phần mở rộng là những thông tin về các thuộc tính cần thiết được đưa vào để gắn
những thuộc tính này với người sử dụng hay khoá công khai. Những thông tin trong
phần mở rộng thường được dùng để quản lý xác thực phân cấp, chính sách chứng
thư số, thông tin về chứng thư số bị thu hồi…Nó cũng có thể được sử dụng để định
nghĩa phần mở rộng riêng chứa những thông tin đặc trưng cho cộng đồng nhất định.
Mỗi trường mở rộng trong chứng thư số được thiết kế với cờ “critical” hoặc
“uncritical”.
- Authority Key Indentifier: chứa ID khoá công khai của CA, ID này là duy
nhất và được dùng để kiểm tra chữ ký số trên chứng thư số. Nó cũng được sử
dụng để phân biệt giữa các cặp khoá do một CA sử dụng (trong trường hợp
nếu CA có nhiều hơn một khoá công khai). Trường này được sử dụng cho tất
cả các chứng thư số tự ký số (CA - certificates).
- Subject Key Identifier: chứa ID khoá công khai có trong chứng thư số và
được sử dụng để phân biệt giữa các khoá nếu như có nhiều khoá được gắn
- 25 -
vào trong cùng chứng thư số của người sử dụng (Nếu chủ thể có nhiều hơn
một khoá công khai).
- Key Usage: chứa một chuỗi bit được sử dụng để xác định (hoặc hạn chế)
chức năng hoặc dịch vụ được hỗ trợ qua việc sử dụng khoá công khai trong
chứng thư số.
- Extended Key Usage: chứa một hoặc nhiều OIDs (định danh đối tượng -
Object Identifier) để xác định cụ thể việc sử dụng khoá công khai trong
chứng thư số. Các giá trị có thể là: (1) xác thực server TLS, (2) xác thực
client TLS, (3) Ký Mã, (4) bảo mật e-mail, (5) Tem thời gian.
- CRL Distribution Point: chỉ ra vị trí của CRL tức là nơi hiện có thông
tinthu hồi chứng thư số. Nó có thể là URI (Uniform Resource Indicator), địa
chỉ của X.500 hoặc LDAP server.
- Private Key Usage Period: trường này cho biết thời gian sử dụng của khoá
bí mật gắn với khóa công khai trong chứng thư số.
- Certificate Policies: trường này chỉ ra dãy các chính sách OIDs gắn với việc