Trong hệ mật này, dk hoặc giống như ek hoặc dễ dàng nhận được từ nó ví dụ trong hệ DES, quá trình giải hệ mật thuộc loại này còn được gọi là các hệ mật khóa bí mật vì việc để lộ Ý tưởn
Trang 1TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
NGUYỄN DUY VŨ
XÂY DỰNG MÔ HÌNH TRUNG TÂM XÁC THỰC CHỨNG CHỈ SỐ VÀ ỨNG DỤNG TRONG VIỆC TRAO ĐỔI THÔNG TIN SỐ CỦA DOANH NGHIỆP VỪA VÀ NHỎ
LUẬN VĂN THẠC SĨ
Hà Nội – 2011
Trang 2ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
NGUYỄN DUY VŨ
XÂY DỰNG MÔ HÌNH TRUNG TÂM XÁC THỰC CHỨNG CHỈ SỐ VÀ ỨNG DỤNG
TRONG VIỆC TRAO ĐỔI THÔNG TIN SỐ CỦA
DOANH NGHIỆP VỪA VÀ NHỎ
Ngành: Công nghệ thông tin
Chuyên ngành: Hệ thống thông tin
LUẬN VĂN THẠC SĨ
NGƯỜI HƯỚNG DẪN KHOA HỌC: Tiến sĩ Ngô Hữu Phúc
Hà Nội – 2011
Trang 3MỤC LỤC
Bìa chính
Phụ bìa
LỜI CAM ĐOAN
MỤC LỤC
MỞ ĐẦU 5
Chương 1 - CƠ SỞ LÝ THUYẾT MÔ HÌNH TRUNG TÂM XÁC THỰC 6
1.1 Tổng quan về các hệ mật mã 6
1.1.1 Giới thiệu 6
1.1.2 Các hệ mật mã 6
1.2 Hạ tầng cơ sở khóa công khai 12
1.2.1 Sinh khóa, phân phối khóa 13
1.2.2 Mã hóa và giải mã 17
1.2.3 Chữ ký số, Hàm Băm 18
1.2.4 Chứng chỉ số và giải pháp quản lý 23
Chương 2 - MÔ HÌNH TRUNG TÂM XÁC THỰC 31
2.1 Tổng quan mô hình 31
2.1.1.Các thành phần của PKI 31
2.1.2 Chức năng cơ bản của PKI 33
2.2 Một số mô hình trung tâm xác thực 36
2.2.1 Mô hình đơn giản 36
2.2.2 Mô hình Web 36
2.2.3 Mô hình phân cấp 36
2.2.4 Mô hình mắt lưới 37
2.2.5 Mô hình lai ghép 37
Chương 3 - XÂY DỰNG MÔ HÌNH TRUNG TÂM XÁC THỰC 40
3.1 Lựa chọn mô hình 40
3.2 Hoạt động của mô hình 42
3.2.1 Trung tâm CA 42
3.2.2 Người sử dụng (End User) 49
Trang 43.2.3 Dịch vụ 49
3.3 Xây dựng hệ thống cơ sở dữ liệu 50
Chương 4 - GIỚI THIỆU GIAO DIỆN VÀ CHỨC NĂNG HỆ THỐNG 53
4.1 Khối chức năng cơ bản 53
4.2 Mô tả các chức năng chính 53
KẾT LUẬN KIẾN NGHỊ 58
TÀI LIỆU THAM KHẢO 59
Trang 5MỞ ĐẦU
Mục đích của luận văn này nhằm nghiên cứu các mô hình, cấu trúc và các thành phần cơ bản của trung tâm xác thực dựa trên công nghệ PKI, giới thiệu một số mô hình giao tiếp trong hệ thống liên trung tâm xác thực Xây dựng thành công mô hình trung tâm xác thực ứng dụng trong phạm vi doanh nghiệp vừa và nhỏ trong việc trao đổi thông tin số
Luận văn gồm 4 chương:
Chương 1: Cơ sở lý thuyết mô hình trung tâm xác thực
Giới thiệu về cấu trúc và các thành phần cơ bản của mô hình trung tâm xác thực dựa trên công nghệ PKI
Chương 2: Mô hình trung tâm xác thực
Tổng quan về trung tâm xác thực, giới thiệu các loại mô hình kiến trúc trung tâm xác thực và ưu nhược điểm của từng loại mô hình kiến trúc
Chương 3: Xây dựng mô hình trung tâm xác thực
Xây dựng mô hình trung tâm xác thực dựa trên mô hình lai ghép với đầy đủ chức năng của hệ thống trung tâm xác thực: Cấp, phân phối, thu hồi, tạm dừng, khôi phục chứng chỉ, xác thực chứng chỉ số đa cấp và các trung tâm ngang hàng Giới thiệu hệ thống thư mục và cơ sở dữ liệu quan hệ của mô hình trung tâm xác thực
Chương 4: Giới thiệu giao diện và chức năng hệ thống
Giới thiệu các chức năng chính của hệ thống và các hình ảnh hoạt động tương ứng
Trang 6Chương 1 - CƠ SỞ LÝ THUYẾT MÔ HÌNH TRUNG TÂM
XÁC THỰC 1.1 Tổng quan về các hệ mật mã
1.1.1 Giới thiệu
Mật mã là để giữ bí mật thông tin Ví dụ: Người A muốn gửi văn bản rõ sang người nhận B, A phải mã hóa văn bản đó rồi gửi cho B Để hiểu được nội dung thông tin mà A muốn gửi cho mình, B cần khôi phục (giải mã) lại văn bản
đã bị mã hóa thành dạng rõ Do văn bản đã bị mã hóa có thể được chuyển qua các con đường công khai nên người ngoài có thể “lấy trộm” nhưng không thể đọc hiểu được; còn A và B có thể mã hóa và giải mã là do hai người đã có một thỏa thuận về khóa chung Trong thực tiễn, có những hoạt động ngược lại với hoạt động bảo mật là khám phá bí mật từ các bản mã “lấy trộm” được, hoạt động này thường được gọi là thám mã hay phá khóa
Hệ mật mã được định nghĩa là một bộ gồm 5 thành phần (P, C, K, E, D) trong đó:
1.1.2.1 Hệ mật mã khóa đối xứng (khóa mật)
Hệ thống mã hóa đối xứng dựa trên một khóa đơn Khóa này là một chuỗi bit có độ dài cố định Do đó, cơ chế mã hóa này được coi là mã hóa đơn khóa Khóa này là riêng (hoặc bí mật) và được sử dụng để mã hóa cũng như giải
mã Trước khi hai phía trao đổi dữ liệu, khóa phải được chia sẻ giữa chúng Sau
đó phía gửi mã hóa bản tin ban đầu sử dụng khóa riêng đó và gửi bản tin đã
Trang 7được mã hóa cho phía nhận Tại phía nhận bản tin mã hóa được giải mã sử dụng cùng loại khóa riêng trên
Quá trình mã hóa khóa đối xứng được mô tả như hình 1.1
Hình 1.1 Hệ mật mã khóa đối xứng Chuẩn mã dữ liệu DES (Data Encryption Standard)
DES: Viết tắt của Data Encryption Standard, DES được chọn làm tiêu chuẩn liên bang Hoa kỳ vào tháng 11 năm 1976 Với DES, bản rõ (Plaintext) được mã hóa theo từng khối 64 bit và sử dụng 1 khóa là 64 bits, nhưng thực tế thì chỉ có 56 bits là thực sự được dùng để tạo khóa, 8 bits còn lại dùng để kiểm tra tính chẵn, lẻ DES là một thuật toán được sử dụng rộng rãi nhất trên thế giới Hiện tại DES không còn được đánh giá cao do kích thước của khóa quá nhỏ 56 bits và dễ bị phá vỡ
Chuẩn mã dữ liệu 3DES (Triple Data Encryption Standard)
Triple DES (3DES) có độ phức tạp thám mã lớn hơn DES với việc sử dụng một quá trình mã hóa và giải mã sử dụng 3 khóa Khối 64 – bits của bản rõ đầu tiên sẽ được mã hóa sử dụng khóa thứ nhất Sau đó, dữ liệu bị mã hóa được giải mã bằng việc sử dụng khóa thứ hai Cuối cùng, sử dụng khóa thứ ba và kết quả của quá trình giải mã trên để mã hóa:
C = EK3(DK2(EK1(P))) (1.1)
P = DK1EK2(DK3(C))) (1.2) AES: Viết tắt của Advanced Encryption Standard, được sử dụng để thay thế cho DES Nó hỗ trợ độ dài của khóa từ 128 bits cho đến 256 bits
Trang 8Ưu nhược điểm:
Ưu điểm nổi bật của hệ mật mã khóa đối xứng là việc xây dựng một hệ mật mã có độ bảo mật cao Nhưng phải cần có một nguồn sinh khóa ngẫu nhiên cũng như việc phân phối, lưu trữ bảo mật và thỏa thuận khóa là một vấn đề khá phức tạp trong thực tế Giả sử, trong một mạng có n người dùng, nếu cần khóa cho từng cặp riêng biệt thì phải cần tới: n(n +1)/2 khóa
1.1.2.2 Hệ mật mã khóa bất đối xứng (khóa công khai)
Trong mô hình mật mã cổ điển mà cho tới nay vẫn còn đang được nghiên cứu Alice (người gửi) và Bob (người nhận) chọn một cách bí mật khóa
K Sau đó dùng K để tạo luật mã hóa ek và luật giải mã dk Trong hệ mật này, dk
hoặc giống như ek hoặc dễ dàng nhận được từ nó (ví dụ trong hệ DES), quá trình giải hệ mật thuộc loại này còn được gọi là các hệ mật khóa bí mật vì việc để lộ
Ý tưởng xây dựng một hệ mật khóa công khai (hay khóa dùng chung) là tìm một hệ mật không có khả năng tính toán để xác định dk nếu đã biết ek Nếu thực hiện được như vậy thì quy tắc mã ek có thể được công khai bằng cách công
bố nó trong một danh bạ (bởi vậy nên có thuật ngữ hệ mật khóa công khai) Ưu điểm của hệ mật khóa công khai là ở chỗ Alice (hoặc bất kỳ một ai) có thể gửi một bản tin đã mã cho Bob (mà không cần thông tin trước về khóa mật) bằng cách dùng luật mã công khai ek Bob sẽ là người duy nhất có thể giải mã được bản mã này bằng cách sử dụng luật giải mã bí mật dk của mình
Ý tưởng về một hệ mật khóa công khai đã được Diffie và Hellman đưa
ra vào năm 1976 Còn việc hiện thực hóa hệ mật khóa công khai thì do Rivest Shamir và Adleman đưa ra đầu tiên vào năm 1977, họ đã tạo nên hệ RSA nổi
Trang 9tiếng Kể từ đó đã có một số hệ mật được công bố, độ mật của chúng dựa trên các bài toán tính toán khác nhau Trong đó quan trọng nhất là các hệ mật sau:
- Hệ mật RSA
Độ bảo mật của hệ RSA dựa trên độ khóa của việc phân tích ra thừa số nguyên tố của các số nguyên lớn
- Hệ mật trên các đường cong Eliptic
Các hệ mật này là các biến tướng của các hệ mật khác (chẳng hạn từ hệ mật ElGamal) Chúng làm việc trên đường cong Eliptic chứ không phải là trên các đường hữu hạn Hệ mật này đảm bảo độ mật với khóa số nhỏ hơn các hệ mật khóa công khai khác
Sơ đồ hoạt động hệ mật khóa công khai:
Hình 1.2 Sơ đồ hoạt động sử dụng khóa công khai gửi nhận dữ liệu
Khi Bob muốn gửi dữ liệu cho Alice, Bob lấy khóa công khai (Alice’s
PublicKey) của Alice mã hóa thông điệp gửi sau đó gửi bản mã cho Alice
Khi nhận được thông điệp mã của Bob gửi Alice dùng khóa riêng của mình
(Alice’s PrivateKey) giải mã thông điệp
Hệ mật RSA
Logarit rời rạc là sự tiếp nối của phép tính lôgarit trên trường số thực vào các nhóm hữu hạn Giả sử hai số thực x,y và cơ số a>0, a ≠ 1, nếu ax
= y thì x được gọi là lôgarit cơ số a của y, ký hiệu x = logay
Cho p là một số nguyên tố Xét nhóm nhân các số nguyên modulo p
Zp = {1,2, p} với phép nhân modulo p
Alice’s
PublicKey
Môi trường truyền
Trang 10Nếu ta tính lũy thừa bậc k của một số trong nhóm rồi rút gọn theo modulo p thì ta đƣợc một số trong nhóm đó Quá trình này đƣợc gọi là lũy thừa rời rạc modulo p Chẳng hạn với p = 17, lấy a = 3, k = 4 ta có:
34 = 81 13 (mod 17) Lôgarit rời rạc là phép tính ngƣợc lại:
Biết: 3k13 (mod 17) hãy tìm k
Thuật toán đƣợc Ron Rivest, Adi Shamir và Len Adleman mô tả lần đầu tiên vào năm 1977 tai học viện Công nghệ Masachusetts (MIT) Tên của thuật toán lấy từ 3 chữ cái đầu tiên của tên 3 tác giả 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 đảm bảo bằng độ phức tạp của một bài toán số học nổi tiếng là phân tích số nguyên thành các thừa số nguyên tố Hệ mật RSA đƣợc mô tả nhƣ hình sau:
Cho n = pq với p,q là số nguyên tố lớn Đặt P = C = Zn
Ta định nghĩa:
K = {n, p, q, a, b}: n=pq, p,q là các số nguyên tố ab 1 mod (n)
(n) = (p – 1)(q – 1), a khóa mật, b khóa công khai
Với mỗi K = (n, p, q, a, b), mỗi x P, y C, ta xác định hàm mã và giải mã nhƣ sau:
Hàm mã hóa: y = ek(x) = xb mod n
Hàm giải mã: Dk (x) = ya mod n
(x,y Zn) Các giá trị n,b công khai và p,q,a đƣợc giữ bí mật
Hình 1.3 Sơ đồ hệ mật mã RSA Khả năng đảm bảo an toàn của hệ mật mã RSA:
Độ an toàn của hệ thống RSA dựa trên 2 vấn đề của toán học: Bài toán phân tích ra thừa số nguyên tố các số nguyên lớn và bài toán RSA Nếu 2 bài toán trên là khó (không tìm đƣợc thuật toán hiệu quả để giải chúng) thì không thể thực hiện đƣợc việc phá mã toàn bộ đối với RSA
Trang 11Bài toán RSA là bài toán tính căn bậc e mođun n (với n là hợp số): tìm
số m sao cho me
= c mod n, trong đó (e,n) chính là khóa công khai và c là bản
mã Hiện nay phương pháp triển vọng nhất giải bài toán này là phân tích n ra thừa số nguyên tố Khi thực hiện được điều này, kẻ tấn công sẽ tìm ra số mũ bí mật d từ khóa công khai và có thể giải mã theo đúng quy trình của thuật toán Nếu kẻ tấn công tìm được 2 số nguyên tố p và q sao cho: n = pq thì có thể dễ dàng tìm ra được giá trị (p-1)(q-1) và qua đó xác định d từ e Chưa có một phương pháp nào được tìm ra trên máy tính đề giải bài toán này trong thời gian
đa thức (polynomial – time) Tuy nhiên người ta cũng chưa chứng minh được điều ngược lại (sự không tồn tại của thuật toán)
Tại thời điểm năm 2005, số lớn nhất có thể được phân tích ra thừa số nguyên tố có độ dài 663 bits với phương pháp phân tán trong khi khóa của RSA
có độ dài từ 1024 đến 2048 bits Một số chuyên gia cho rằng khóa 1024 bits có thể sớm bị phá vỡ (cũng có nhiều người phản đối việc này) Với khóa 4096 bits thì hầu như không có khả năng bị phá vỡ trong tương lai gần Do đó, người ta thường cho rằng RSA đảm bảo an toàn với điều kiện n được chọn đủ lớn Nếu n
có độ dài 256 bits hoặc ngắn hơn, có thể bị phân tích trong vài giờ với máy tính
cá nhân dùng các phần mềm có sẵn Nếu n có độ dài 521 bits, nó có thể bị phân tích bởi vài trăm máy tính tại thời điểm năm 1999 Một thiết bị lý thuyết có tên
là TWIRL do Shamir và Tromer mô tả năm 2003 đã đặt ra câu hỏi về độ an toàn của khóa 1024 bits Vì vậy hiện nay người ta khuyến cáo sử dụng khóa có độ dài tối thiểu 2048 bits
Thực tiễn triển khai cho thay tốc độ mã hóa khối dữ liệu lớn bằng các thuật toán mã hóa công khai chậm hơn rất nhiều so với hệ mã hóa đối xứng Ví
dụ, để đạt được độ an toàn như các hệ mã hóa đối xứng mạnh cùng thời, RSA đòi hỏi thời gian cho việc mã hóa một văn bản lâu hơn gấp hàng ngàn lần Do
đó, thay bằng việc mã hóa văn bản có kích thước lớn bằng lược đồ khóa công khai thì văn bản này sẽ được mã hóa bằng một hệ mã đối xứng có tốc độ cao như DES, IDEA sau đó khóa được sử dụng trong hệ mã đối xứng sẽ được mã
Trang 12hóa sử dụng mật mã 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 dưới:
Hình 1.4 Dùng khóa công khai mã hóa khóa mật – Dùng khóa mật mã hóa
thông điệp gửi đi
1.2 Hạ tầng cơ sở khóa công khai
Cơ sở hạ tầng của mã công khai PKI là khung chính sách quản lý mã và thiết lập biện pháp bảo mật cho việc chuyển đổi dữ liệu Việc chuyển dữ liệu mà
có sử dụng PKI có thể thực hiện trong một tổ chức, một thành phố, hay một vùng Để tăng cường quản lý khóa và bảo đảm độ an toàn cao cho dữ liệu, PKI bao gồm các cơ chế và thủ tục hỗ trợ cho phần cứng và phần mềm Các chức năng của PKI bao gồm:
- Phát ra cặp khóa riêng và chung cho client PKI
- Tạo và thẩm định các ký tự
- Đăng ký và thẩm định người sử dụng
- Cấp chứng nhận cho người sử dụng
- Theo dõi các khóa được phát ra ghi lại lịch sử của từng khóa
- Thu hồi chứng nhận hết hiệu lực
- Tạm dừng hay kích hoạt chứng chỉ
Môi trường truyền
Khóa
mật
Khóa mật
Khóa bí mật của Alice
Alice Nhận
Trang 13B3 Chọn số b nguyên tố cùng nhau với (n) và 1< b < (n)
B4 Tính a sao cho ab 1 (mod (n))
Thành phần công khai bao gồm: n và b (khóa công khai) Thành phần bí mật bao gồm: p, q, a (khóa bí mật)
a là số mũ bí mật (cũng gọi là số mũ giải mã)
Alice gửi khóa công khai cho Bob và giữ bí mật khóa cá nhân của mình
Ở đây, p và q giữ vai trò rất quan trọng Chúng là các phân tố của n và cho phép tính a khi biết b Việc tìm ra 2 số nguyên tố đủ lớn p và q thường được thực hiện bằng cách thử xác suất của các số ngẫu nhiên có độ lớn phù hợp (dùng phép kiểm tra nguyên tố cho phép loại bỏ hầu hết các hợp số) p và q còn cần được chọn không quá gần nhau để phòng trường hợp phân tích n bằng phương pháp phân tích Fermat Ngoài ra, nếu p-1 hoặc q-1 có thừa số nguyên tố nhỏ thì n cũng có thể dễ dàng bị phân tích và vì thế p và q cũng cần được thử để tránh khả năng này
Một điểm nữa cần nhấn mạnh là khóa bí mật a phải đủ lớn Năm 1990, Wiener chỉ ra rằng nếu giá trị của p nằm trong khoảng q và 2q (khá phổ biến) và a<n1/4/3 thì có thể tìm ra được a từ n và b
Mặc dù b đã từng có giá trị là 3 nhưng hiện nay các số mũ nhỏ không còn được sử dụng do có thể tạo nên những lỗ hổng Giá trị thường dùng hiện nay
là 65537 vì được xem là đủ lớn và cũng không quá lớn ảnh hưởng tới việc thực hiện hàm mũ
Trang 141.2.1.2 Phân phối khóa:
Hệ thống mã khoá công khai có ưu điểm hơn hệ thống mã khoá riêng ở chỗ không cần có kênh an toàn để trao đổi khoá mật Tuy nhiên, hầu hết các hệ thống mã khoá công khai đều chậm hơn hệ mã khoá riêng, chẳng hạn như DES
Vì thế thực tế các hệ mã khoá riêng thường được dùng để mã các bức điện dài Nhưng khi đó chúng ta lại trở về vấn đề trao đổi khoá mật
Giả sử, ta có một mạng không an toàn gồm n người sử dụng Trong một
số sơ đồ, ta có người uỷ quyền được tín nhiệm (TA) để đáp ứng những việc như xác minh danh tính của người sử dụng, chọn và gửi khoá đến người sử dụng
Do mạng không an toàn nên cần được bảo vệ trước các đối phương Đối phương (Oscar) có thể là người bị động, có nghĩa là hành động của anh ta chỉ hạn chế ở mức nghe trộm bức điện truyền trên kênh Song mặt khác, anh ta có thể là người chủ động Một đối phương chủ động có thể làm nhiều hành vi xấu chẳng hạn: -Thay đổi bức điện mà anh ta nhận thấy là đang được truyền trên mạng
- Cất bức điện để dùng lại sau này
- Cố gắng giả dạng làm những người sử dụng khác nhau trên mạng Mục tiêu của đối phương chủ động có thể là một trong những cái nêu sau đây:
- Lừa U và V chấp nhận khoá “không hợp lệ” như khoá hợp lệ (khoá không hợp lệ có thể là khoá cũ đã hết hạn sử dụng, hoặc khoá do đối phương chọn)
- Làm U hoặc V tin rằng, họ có thể trao đổi khoá với người kia khi họ không có khoá
Mục tiêu của phân phối khoá và giao thức thoả thuận khoá là, tại thời điểm kết thúc thủ tục, hai nhóm đều có cùng khoá K song không nhóm khác nào biết được (trừ khả năng TA) Chắc chắn, việc thiết kế giao thức có kiểu an toàn này khó khăn hơn nhiều trước đối phương chủ động
Trước hết ta xem xét ý tưởng về sự phân phối khoá trước Với mỗi cặp người sử dụng {U,V}, TA chọn một khoá ngẫu nhiên KU,V=KV,U và truyền
Trang 15“ngoài dải” đến U và V trên kênh an toàn (nghĩa là, việc truyền khoá không xảy
ra trên mạng do mạng không an toàn) Biện pháp này gọi là an toàn không điều kiện song nó đòi hỏi một kênh an toàn giữa TA và những người sử dụng trên mạng Tuy nhiên điều quan trọng hơn là mỗi người phải lưu n -1 khoá và TA cần truyền tổng cộng n
2 khoá một cách an toàn (đôi khi bài toán này được gọi
là bài toán n2) Thậm chí với một số mạng tương đối nhỏ, giá để giải quyết vấn
đề này là khá đắt và như vậy giải pháp hoàn toàn không thực tế
Sơ đồ phân phối trước khoá an toàn không điều kiện do Blom đưa ra Sơ
đồ cho phép giảm lượng thông tin mật mà người sử dụng cần cất giữ trên mạng Một biện pháp thực tế hơn là TA phân phối khoá trực tiếp Trong sơ đồ như vậy, TA làm việc như một người chủ khoá (key server) TA chia khoá mật
KU cho mỗi người sử dụng U trên mạng Khi U muốn liên lạc với V, cô ta yêu cầu TA cung cấp khoá cho phiên làm việc (session key) TA tạo ra khoá session
K và gửi nó dưới dạng mã hoá cho U và V để giải mã Hệ thống mã Kerboros
mô tả dựa trên biện pháp này
Phân phối khóa trước:
Theo phương pháp cơ bản, TA tạo ra 2n khoá và đưa mỗi khoá cho duy nhất một cặp người sử dụng trong mạng có n người sử dụng Như đã nêu ở trên, ta cần một kênh an toàn giữa TA và mỗi người sử dụng để truyền đi các khoá này Đây là một cải tiến quan trọng vì số kênh an toàn cần thiết giảm từ
xuống còn n Song nếu n lớn, giải pháp này cũng không thực tế cả về
lượng thông tin cần truyền đi an toàn lẫn lượng thông tin mà mỗi người sử dụng phải cất giữ an toàn (nghĩa là các khoá mật của n-1 người sử dụng khác) Như vậy, điều cần quan tâm là cố gắng giảm được lượng thông tin cần truyền đi và cất giữ trong khi vẫn cho phép mỗi cặp người sử dụng U và V có khả năng tính toán khoá mật KUV Một sơ đồ ưu việt hơn thoả mãn yêu cầu này là sơ đồ phân phối khoá trước của Blom
Sơ đồ Blom
Trang 16Như trên, giả thiết rằng có một mạng gồm n người sử dụng Để thuận tiện, giả sử rằng các khoá được chọn trên trường số hữu hạn Zp, p n là số nguyên tố Cho k là số nguyên, 1 < k < n -2 Giá trị k để hạn chế kích thước lớn nhất mà sơ đồ vẫn duy trì được mật độ Trong sơ đồ Blom, TA sẽ truyền đi k +1 phần tử của Zp cho mỗi người sử dụng trên kênh an toàn (so với n -1 trong sơ đồ phân phối trước cơ bản) Mỗi cặp người sử dụng U và V sẽ có khả năng tính khoá KU,V = KV,U như trước đây Điều kiện an toàn như sau: tập bất kì gồm nhiều nhất k người sử dụng không liên kết từ {U, V} phải không có khả năng xác định bất kì thông tin nào về KU,V
Trước hết, xét trường hợp đặc biệt của sơ đồ Blom khi k =1 ở đây TA sẽ truyền đi 2 phần tử của ZP cho mỗi người sử dụng trên kênh an toàn và người sử dụng riêng W sẽ không thể xác định được bất kì thông tin nào về KU,V nếu
WU,V Sơ đồ Blom với k=1 được đưa ra như sau
Zp
Hình 1.6 Sơ đồ phân phối khóa trước của Blom
Ví dụ minh họa sơ đồ Blom với k=1:
Giả sử có 3 người sử dụng U,V,W, p=17 và các phần tử công khai của
họ là rU = 12, rV = 7, rW = 1 Giả thiết TA chọn a=8, b=7, c=2, khi đó đa thức f như sau:
1 Số nguyên tố P công khai, còn với mỗi người sử dụng U phần tử rUZp là công khai Phần tử rU phải khác biệt
2 Ta chọn 3 phần tử ngẫu nhiên a,b,cZp (không cần khác biệt) và thiết lập
đa thức:
f(x,y) = a + b(x+y) +cxy mod p
3 Với mỗi người sử dụng U TA tính đa thức:
4 Nếu U và V muốn liên lạc với nhau họ sẽ dùng khóa chung:
KU,V = KV,U = f(rU,rV) = a + b(rU + rV) + crUrV mod p
U tính KU,V như sau: f(rU,rV) = gU(rV)
V tính KV,U như sau: f(rV,rU) = gV(rU)
Trang 17f(x,y) = 8 + 7(x+y) + 2xy Khi đó các đa thức
gU(x) = 7 + 14x
gV(x) = 5 + 4x
gW(x) = 15 + 9x Như vậy 3 khóa nhận được sẽ là:
KU,V = KV,U = 3
KU,W = KW,U = 4
KV,W = KW,V = 10 Khi đó U tính KU,V như sau:
gU(rV) = 7 + 147 mod 17 = 3
Và V tính KV,U
gV(rU) = 6 + 412 mod 17 = 3 Tương tự các khóa khác
1.2.2 Mã hóa và giải mã
Mã hóa
Giả sử Bob muốn gửi đoạn thông tin M cho Alice Đầu tiên Bob chuyển M thành một số m<n theo một hàm có thể đảo ngược (từ m có thể xác định lại M) được thỏa thuận trước
Lúc này Bob có m và biết n cũng như e do Alice gửi Bob sẽ tính c là bản
mã hóa của m theo công thức:
c = mc mod n Hàm trên có thể tính dễ dàng sử dụng phương pháp tính hàm mũ (theo môđun) bằng (thuật toán bình phương và nhân) Cuối cùng Bob gửi c cho Alice
Giải mã
Alice nhận c từ Bob và biết khóa bí mật d Alice có thể tìm được m từ c theo công thức sau:
m = cd mod n Biết m, Alice tìm lại M theo phương pháp đã thỏa thuận trước Quá trình giải mã hoạt động vì ta có:
(1.10)
(1.11)
Trang 18mở rộng:
b-1 = 6597 mod 11200 Bởi vậy, số mũ mật để giải mã của Bob là a = 6597
Bob sẽ công bố n = 11413 và b = 3533 trong một danh bạ Bây giờ, giả sử Alice muốn gửi bản rõ 9726 tới Bob Cô ta sẽ tính
97263533 mod 11413 = 5761 Rồi gửi bản mã 5761 trên kênh Khi Bob nhận được bản mã 5761, anh ta sử dụng số mũ a mật để tính:
1.2.3 Chữ ký số, Hàm Băm
Thông thường khi nhận được một văn bản bằng giấy, các vấn đề sau đây được đặt ra và cần được giải quyết với người nhận:
Trang 19Ai là người gửi văn bản này?: Kiểm tra họ, tên người ký văn bản
Nội dung văn bản trong quá trình gửi có bị thay đổi hay không?: xem các chữ ký nháy trên từng trang, tính liên tục của số trang…
Người viết có thể phủ nhận nội dung văn bản không?: kiểm tra chữ ký của người ký gửi văn bản có còn nguyên trạng không?
Những vấn đề này cũng xảy ra và cần được giải quyết trong quá trình trao đổi thông tin điện tử (như thư điện tử, file dữ liệu….) và đó gọi là
Tính xác thực – Authentication
Tính toàn vẹn dữ liệu – Integrity
Tính chống chối bỏ - Non – repudiation
Tính bí mật – Privacy
Qua trình giải quyết 4 vấn đề trên được sử lý như sau:
Đoạn dữ liệu cần được bảo mật được đưa qua hàm băm (hashing), kết quả của hàm băm là một đoạn bit đảm bảo 2 tính chât
o Tính duy nhât: Mỗi một đoạn dữ liệu khác nhau thì sẽ có một đoạn bit khác nhau, không trung lặp, có độ dài không đổi
o Tính một chiều: từ đoạn bit đặc trưng này, không suy ngược lại được nội dung đoạn văn
Đoạn bit đặc trưng này được mã hóa bằng khóa bí mật của người gửi và được đính kèm vào “văn bản”, rồi gửi đến người nhận; đoạn bít được mã hóa này chính là chữ ký số (digital signature)
Môi trường truyền
Kết Luận
Kết quả băm văn bản
Kết quả giải mã chữ ký
Khóa công khai Bob
Trang 20o Dữ liệu nhận được có tính toàn vẹn (vì kết quả băm là duy nhất, một chiều)
o Dữ liệu nhận dược là do chính người gửi gửi đi vì chỉ duy nhất anh
ta mới có khóa bí mật phù hợp với khóa công khai đã được sử dụng để giải mã Như vậy tính chống từ chối và tính xác thực được kiểm tra và xác nhận Lúc này người nhận tin rằng, khóa công khai đó đại diện hợp pháp cho người gửi
Sơ đồ chữ ký số được định nghĩa như sau:
Sơ đồ gồm bộ năm thành phần (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 khóa 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ử
Với mỗi k K, có một thuật toán sigk S, sigk: PA là một thuật toán kiểm thử Verk V, Verk: PA {Đúng, Sai} thỏa mãn điều kiện sau đây với
x P, y A:
Trang 21),(
x sig y khi Sai
x sig y khi Đúng y
x Ver
k
k k
RSA cũng là một thuật toán được dùng nhiều cho mục đích ký số Ngoài ra, còn có một số thuật toán công khai khác được dùng để ký số, ví dụ như chuẩn chữ ký số DSS
Tuy nhiên, vấn đề đặt ra là: khóa công khai đó có đúng là của người gửi văn bản không, và ai là người chứng thực vấn đề này?
Trong đó, vai trò của khóa công khai của người gửi có thể được coi như chữ ký mẫu của người gửi khi làm việc với văn bản giấy, chữ ký mẫu này được công nhận và công bố công khai trong toàn hệ thống giao dịch điện tử
Hàm băm
Việc sử dụng các hệ mật mã và sơ đồ chữ ký 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ảng mã, bản ký số giống nhau (ánh xạ N – 1; nhiều – một Đ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
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 bits 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 như 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 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 bits, 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 chữ ký số:
(1.12)
Trang 22- Thứ nhất: Với 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)
- Thứ hai: Với các chữ ký “an toàn” thì tốc độ chậm vì chúng dùng nhiều phép tính số học phức tạp như số mũ modulo
- Thứ ba: Vấn đề nghiêm trọng hơn đó là kết quả sau khi ký, nội dung của thông điệp có thể bị xáo trộn các đoạn với nhau, hoặc một số đoạn trong chúng có thể bị mất mát, trong khi người nhận cần xác minh lại thông điệp Do đó, ta cần phải bảo đảm tính toàn vẹn của thông điệp Giải pháp cho các vấn đề vướng mắc đến chữ ký số là dùng hàm băm để trợ giúp cho việc ký số
Hàm băm – hiểu theo một nghĩa đơn giản là hàm cho tương ứng một mảng
dữ liệu lớn với một mảng dữ liệu nhỏ hơn – được sử dụng rộng rãi trong nhiều ứng dụng khác nhau của tin học, không chỉ thuộc phạm vi mật mã học
Hàm băm được đề cập đến trong phạm vi luận văn là hàm băm một chiều,
có tác dụng trợ giúp cho các sơ đồ ký nhằm làm giảm dung lượng của dữ liệu cần thiết để truyền qua mạng Hàm băm ở đây được hiểu là các thuật toán không
sử dụng khóa để mã hóa (ở đây ta dùng thuật ngữ “băm” thay cho “mã hóa”), nó
có nhiệm vụ băm thông tin được đưa vào theo một thuật toán h một chiều nào
đó, rồi đưa ra một văn bản – văn bản đại diện – có kích thước cố định Giá trị của hàm băm là duy nhất và không thể suy ngược lại nội dung thông điệp từ giá trị băm này Hàm băm một chiều h có một số đặc tính quan trọng sau:
- Với thông điệp đầu vào x thu được bản băm z = h(x) là duy nhất
- Nếu dữ liệu trong thông điệp x thay đổi hay bị xóa để thành thông điệp x’ thì h (x’) khác h (x) Cho dù chỉ là một sự thay đổi nhỏ hay chỉ
là xóa đi 1 bit dữ liệu của thông điệp thì giá trị băm cũng vẫn thay đổi Điều này có nghĩa là hai thông điệp hoàn toàn khác nhau thì giá trị hàm băm cũng khác nhau
- Nội dung của thông điệp gốc không thể bị suy ra từ giá trị hàm băm Nghĩa là: với thông điệp x thì dễ dàng tính được z = h(x), nhưng lại
Trang 23không thể (thực chất là khó) suy ngược lại được x nếu chỉ biết giá trị hàm băm h(x)
Một số thuật toán băm được biết đến nhiều là hàm băm dòng và hàm băm chuẩn như: [MD2], [MD4], [MD5], [SHA-1]…
1.2.4 Chứng chỉ số và giải pháp quản lý
1.2.4.1 Chứng chỉ số
Để giải quyết vấn đề “khóa công khai đó có đúng là của người gửi văn bản không và ai là người chứng thực vấn đề này?”, về mặt công nghệ, vấn đề được giải quyết như sau:
Xây dựng một hệ thống tập trung làm nhiệm vụ chứng thực, cấp phát cặp khóa bí mật – công khai cho người sử dụng (Gắn thông tin cá nhân như họ tên, cơ quan, … của người sở hữu cặp khóa vào phần khóa công khai tạo thành một file dữ liệu, đây chính là phần nội dung của chứng chỉ số)
Để đảm bảo tính toàn vẹn và tin cậy của file dữ liệu này, hệ thống phát hành sử dụng khóa bí mật của mình khởi tạo chữ ký điện tử và đính kèm lên file
dữ liệu trên tạo ra chứng chỉ số (digital certificate) cho người sở hữu cặp khóa
Hệ thống cung cấp và chứng thực khóa đó đại diện cho người tham gia giao dịch được gọi là hệ thống chứng thực số (Certificate Authority – CA)
Tất cả các bên giao dịch muốn kiểm tra tính đúng đắn, hợp lệ về nội dung của chứng chỉ số đều xuất phát từ việc tin cậy vào chữ ký số của CA trên chứng chỉ số (điều này cũng hoàn toàn tự nhiên như khi ta xem xét một chứng minh thư nhân dân để tin cậy vào một cá nhân, ta tin cậy vào chữ ký và dấu của người ký chứng minh thư đó) Như vậy, có thể thấy rằng:
Chứng chỉ số có ba thành phần chính:
Thông tin cá nhân của người được cấp
Khóa công khai (Public Key) của người được cấp
Chữ ký số của CA cấp chứng chỉ
Chứng thực điện tử có các chức năng chính sau:
Tính xác thực: Đảm bảo được thực thể hợp pháp
Trang 24 Tính toàn vẹn dữ liệu: Xác định được thông tin nhận được có đúng như thông tin gửi đi không hay đã bị thay đổi
Tính không chối bỏ: Chứng thực điện tử đảm bảo cho người sử dụng không thể chối bỏ về các dữ liệu của mình đã gửi
Tính bí mật: Mã hóa thông tin gửi đi trên mạng, đảm bảo bí mật thông tin
Với những tính năng như vậy chứng thực điện tử được sử dụng trong khá nhiều ứng dụng như:
- Ký vào tài liệu điện tử
- Thư điện tử bảo đảm
- Thương mại điện tử
- Bảo vệ mạng không dây (WLAN – Wireless Lan Area Network)
- Bảo đảm an toàn cho máy chủ và các dịch vụ Web
- Chứng chỉ Pretty Good Privacy (PGP)
- Chứng chỉ thuộc tính (Attribute Certifcates – AC)
Tất cả các loại chứng chỉ này đều có cấu trúc định dạng riêng Hiện nay chứng chỉ khóa 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 chỉ số thử nghiệm cũng sử dụng định dạng chứng chỉ theo X.509
Chứng chỉ khóa công khai X.509
Chứng chỉ X.509 v3 là định dạng chứng chỉ 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 chỉ khóa công khai X.509 được Hội viễn thông quốc tế (ITU) đưa
ra lần đầu tiên vào năm 1988 như là một bộ phận có dịch vụ thư mục X.500
Trang 25Chứng chỉ gồm hai phần Phần đầu là những trường cơ bản cần thiết phải
có trong chứng chỉ Phần thứ hai thêm một số trường phụ, những trường 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 chỉ X.509 được chỉ ra trong hình 1.10
Version number Seriant number Signature
Issuer Validity Period Subject
Subject Public key Information Issuer Unique ID
Subject Unique ID Extensions
Hình 1.10 Khuôn dạng chứng chỉ X.509
Những trường cơ bản của chứng chỉ X.509
Version: Xác định sô phiên bản của chứng chỉ
Certificate serianl Number: Do CA gán, là định danh duy nhất của chứng chỉ
Signature Algorithm ID: Chỉ ra thuật toán CA sử dụng để ký trên chứng chỉ (thuật toán RSA, DSA,…)
Subject Pubblic key information: Chứa khóa công khai và những tham
số liên quan; xác định thuật toán (ví dụ RSA hay DSA) được sử dụng cùng với khóa
Trang 26 Issuer Unique ID (Optional): là trường không bắt buộc, trường này cho phép sử dụng tại tên người cấp Trường này hiếm được sử dụng trong triển khai thực tế
Subject Unique ID (Optional): Là trường tùy chọn cho phép sử dụng lại tên của Subject khi quá hạn Trường này cũng ít được sử dụng
Extension (Optional): Chỉ có trong chứng chỉ v.3
Certification Authority’s Digital Signature: Chữ ký số của CA được tính từ những thông tin trên chứng chỉ với khóa riêng và thuật toán ký số được chỉ ra trong trường Signature Algorithm Identifier của chứng chỉ
Tính toàn vẹn của chứng chỉ được đảm bảo bằng chữ ký số của CA trên chứng chỉ Khóa công khai của CA được phân phối đến người sử dụng chứng chỉ theo một cơ chế bảo mật trước khi thực hiện các thao tac PKI Người sử dụng kiểm tra hiệu lực của chứng chỉ được cấp với chữ ký của CA và khóa công khai của CA
Những trường mở rộng của chứng chỉ 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 khóa công 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 chỉ, thông tin về chứng chỉ 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 chỉ được thiết kế với cờ
“critical” hoặc “unuritical”
Authority Key Indentifier: Chứa ID khóa 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 chỉ Nó cũng được sử dụng để phân biệt giữa các cặp khóa do CA sử dụng (trong trường hợp nếu CA
có nhiều hơn một khóa công khai) Trường này được sử dụng cho tất cả các chứng chỉ tự ký số (CA – Certificates)
Subject key Identifier: Chứa ID khóa công khai có trong chứng chỉ và được sử dụng để phân biệt giữa các khóa nếu như có nhiều khóa được gắn vào
Trang 27trong cùng chứng chỉ của người sử dụng (Nếu chủ thể có nhiều hơn một khóa công khai)
Key Usage: Chứa một chuỗi bít đượ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 khóa công khai trong chứng chỉ
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 khóa công trong chứng chỉ Các giá trị có thể là (1) xác thực sever TLS, (2) xác thực client TLS, (3) Ký mã, (4) bảo mật e – mail, (5) tem thời gian
CRL Ditribution Point: Chỉ ra vị trí CRL tức là nơi hiện có thông tin thu hồi chứng chỉ 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 có biết thời gian sử dụng của khóa riêng gắn với khóa công khai trong chứng chỉ
Certificate Policies: Trường này chỉ ra dãy các chính sách OIDs gắn với việc cấp và sử dụng chứng chỉ
Policy Mapping: Trường này chỉ ra chính sách thực tương đương giữa hai miền CA Nó được sử dụng trong việc xác thực chéo và kiểm tra đường dẫn chứng chỉ Trường này chỉ có trong chứng chỉ CA
Subject Attributes Name: chỉ ra những dạng tên lựa chọn gắn với người sở hữu chứng chỉ Những giá trị có thể là: địa chỉ e – mail, địa chỉ IP, địa chị URI…
Issuer Alternative Name: chỉ ra những dạng tên lựa chọn gắn với người cấp chứng chỉ
Subject Directory Attributes: trường này chỉ ra dãy các thuộc tính gắn với người sử hữu chứng chỉ Trường mở rộng này không được sử dụng rộng rãi
Nó được dùng để chứa những thông tin liên quan đến đặc quyền
Basic Constraints Field: Trường này cho biết đây có phải là chứng chỉ
CA hay không bằng các thiết lập giá trị logic (true) Trường này chỉ có trong chứng chỉ CA
Trang 28Chứng chỉ CA dùng để thực hiện một số chức năng Chứng chỉ này có thể là một trong hai dạng Nếu CA tạo ra chứng chỉ để tự sử dụng, chứng chỉ này được gọi là chứng chỉ CA tự ký Khi một CA mới được thiết lập, CA tạo ra một chứng chỉ CA tự ký để ký lên chứng chỉ của người sử dụng cuối trong hệ thống
Và dạng thứ hai là CA cấp chứng chỉ cho những CA khác trong hệ thống
Path Length Constraint: Trường này chỉ ra tối đa của đường dẫn chứng chỉ có thể được thiết lập Giá trị “zero” chỉ ra rằng CA chỉ có thể cấp chứng chỉ cho thực thể cuối, không cấp chứng chỉ cho những CA khác (trường này chỉ có trong chứng chỉ của CA)
Name Constriansts: được dùng để bao gồm hoặc loại trừ các nhánh những miền khác nhau trong khi thiết lập môi trường tin tưởng giữa các miền PKI
Policy Constraints: được dùng để bao gồm hoặc loại trừ một số chính sách chứng chỉ trong khi thiết lập môi trường tin tưởng giữa các miền PKI
Hình 1.11 Nội dung chi tiết một chứng chỉ số
1.2.4.2 Thu hồi chứng chỉ
Trong một số trường hợp như khóa bị xâm hại hoặc người sở hữu chứng chỉ thay đổi vị trí, cơ quan … thì chứng chỉ đã được cấp không có hiệu lực Do
Trang 29đó, cần phải có một cơ chế cho phép người sử dụng chúng chỉ kiểm tra được trạng thái thu hồi chứng chỉ X.509 cho phép kiểm tra chứng chỉ trong các trường hợp sau:
- Chứng chỉ không bị thu hồi
- Chứng chỉ đã bị CA cấp thu hồi
- Chứng chỉ do một tổ chức có thẩm quyền mà CA ủy thác có trách nhiệm thu hồi chứng chỉ thu hồi
Cơ chế thu hồi X 509 xác định là sử dụng danh sách thu hồi chứng chỉ (CRLs).509 đưa ra sự phân biệt giữa ngày, thời gian chứng chỉ bị CA thu hồi và ngày, thời gian trạng thái thu hồi được công bố đầu tiên Ngày thu hồi thực sự được ghi cùng với đầu vào của chứng chỉ CRL Ngày thông báo thu hồi được xác định trong header của CRL khi nó được công bố Vị trí của thông tin thu hồi
có thể khác nhau tùy theo CA khác nhau Bản thân chứng chỉ có thể chứa con trỏ đến nơi thông tin thu hồi được xác định vị trí Người sử dụng chứng chỉ có thể biết thư mục, kho lưu trữ hay cơ chế để lấy được thông tin thu hồi dựa trên những thông tin cấu hình được thiết lập trong quá trình kho lưu trữ hay cơ chế lấy được thông tin thu hồi dựa trên những thông tin cấu hình được thiết lập trong quá trình khởi sinh
Để duy trì tính nhất quán và khả năng kiểm tra, CA yêu cầu:
- Duy trì bản ghi kiểm tra chứng chỉ thu hồi
- Cấp thông tin trạng thái thu hồi
- Công bố CRLs và khi CRL là danh sách trống
1.2.4.3 Công bố gửi thông báo thu hồi chứng chỉ
Thông thường chứng chỉ sẽ hợp lệ trong khoảng thời gian hiệu lực Nhưng trong một số trường hợp chứng chỉ lại không hợp lệ trước thời gian hết hạn, ví dụ như:
o Khóa riêng của chủ thể bị xâm phạm
o Thông tin chứa trong chứng chỉ bị thay đổi
o Khóa riêng của CA cấp chứng chỉ bị xâm phạm