Ba nội dung chính thường sử dụng kỹ thuật mật mã bao gồm: Xác thực: Chữ ký điện tử đảm bảo chứng thực người ký, người tham gia giao dịch chính là người xưng danh và nhờ vào chữ ký điện
Trang 1MỤC LỤC
MỞ ĐẦU ………3
Chương 1 LÝ THUYẾT CHUNG VỀ MÃ HOÁ KHÓA CÔNG KHAI ……… 6
1.1 CÁC HỆ THỐNG MẬT MÃ KHÓA CÔNG KHAI……… 7
1.2 CÁC ỨNG DỤNG HỆ THỐNG KHOÁ CÔNG KHAI………… 11
1.3 CÁC YÊU CẦU ĐỐI VỚI MÃ HÓA KHÓA CÔNG KHAI………… 11
1.4 HỆ MẬT RSA………. 12
1.4.1 Tạo khoá………… 13
1.4.2 Mã hóa……… 14
1.4.3 Giải mã……… 14
1.4.4 Độ an toàn……… 15
1.5 CHỮ KÝ SỐ……… 16
1.5.1 Định nghĩa sơ đồ chữ ký “số”……… … 18
1.5.2 Hàm băm……….19
1.5.3 Sơ đồ chữ ký RSA………. 21
1.6 TÓM TẮT………………24
Chương 2 HẠ TẦNG CƠ SỞ KHOÁ CÔNG KHAI (PKI 2.1 ĐỊNH NGHĨA PKI……………25
2.2 PHÂN PHỐI KHÓA CÔNG KHAI……… 25
2.2.1 Khai báo công khai các khoá công khai……….25
2.2.2 Danh bạ công khai……… ……26
2.2.3 Trung tâm quản lý khoá công khai……….……27
2.2.4 Chứng chỉ khoá công khai……… 29
2.3 CÁC THÀNH PHẦN CHÍNH CỦA PKI………..…33
2.3.1 End Entity……….… .33
2.3.2 CA (Certification Authority)………… … .33
2.3.3 RA (Registration Authority)………… …38
2.3.4 Repository:……………..39
2.3.5 Bộ phận phát hành CRL…………..42
2.4 CÁC CHỨC NĂNG CHUNG NHẤT CỦA PKI… …………..43
2.4.1 Quản lý cặp khoá công khai và khoá riêng… ……….…….43
2.4.2 Phát hành chứng chỉ……… ………… .47
2.4.3 Phân phối chứng chỉ………… …51
2.4.4 Thu hồi chứng chỉ………… .53
2.4.5 Treo chứng chỉ……….… …60
2.5 CẤU TRÚC PKI…………61
Trang 2CÁC YÊU CẦU VỀ PKI………...62
2.7 BAN HÀNH LUẬT…………… …63
2.7.1 Công nghệ…………… 63
2.7.2 Phạm vi và chi tiết………… 64
2.7.3 Các văn bản và chữ ký…………65
2.7.4 Chất lượng và các chuẩn của CA…………65
2.7.5 Các chuẩn về thuê bao………….66
2.7.6 Chia nhỏ trách nhiệm và pháp lý………….66
2.8 MỘT MÔ HÌNH PKI……… … 67
2.9 THỰC TẾ TRIỂN KHAI PKI…………70
2.10 TÓM TẮT………72
Chương 3 ỨNG DỤNG MÃ HOÁ KHOÁ CÔNG KHAI TRONG DỊCH VỤ NGÂN HÀNG HOMEBANKING……….…… .73
3.1 BÀI TOÁN……….73
3.2 GIẢI PHÁP……… 74
3.3 THIẾT KẾ HỆ THỐNG………… 74
3.3.1 Tổ chức mô hình CA………. 74
3.3.2 Các lớp bảo mật………………… 76
3.3.3
Trang 3Mô hình kiến trúc logic……… .78
3.3.4 Mô hình kiến trúc mạng vật lý……………79
3.3.5 Quy trình ký, mã hoá và giải mã dữ liệu giao dịch………… 80
3.4 QUY TRÌNH ĐĂNG KÝ VÀ QUẢN LÝ NGƯỜI SỬ DỤNG:……… 82
3.4.1 Sơ đồ phân nhóm……….…82
3.4.2 Miêu tả………….83
3.4.3 Quy trình đăng ký và quản lý người sử dụng là cán bộ chi nhánh:………84
3.4.4 Quy trình đăng ký thông tin khách hàng sử dụng BIDV HBK……… .87
3.4.5 Quy trình đăng ký và quản lý Người sử dụng là khách hàng……….…….88
3.4.6 Quy định về đóng gói, gửi thông báo mật khẩu và Ikey về CN ………… …92
KẾT LUẬN……………94
TÀI LIỆU THAM KHẢO……… ………95
Trang 4MỞ ĐẦU
Hạ tầng cơ sở khoá công khai (PKI) là một trong những ứng dụng quan trọng phục vụ cho việc thực hiện các giao dịch điện tử trên mạng Internet đang được quan tâm nghiên cứu và ứng dụng nhiều hiện nay trên thế giới cũng như ở nước ta Đây là một lĩnh vực khá mới mẻ đối với nước ta cả trên khía cạnh nghiên cứu và ứng dụng
Theo dự tính của các nhà chuyên môn, nhu cầu xác thực được đối tượng cùng tham gia giao dịch và việc đảm bảo an toàn thông tin trong giao dịch thương mại điện tử là rất lớn, chiếm đến 70% khối lượng giao dịch diễn ra trên mạng Internet toàn cầu Và kỹ thuật mật mã là một trong những công cụ quan trọng đảm bảo an toàn thông tin trên mạng Ba nội dung chính thường sử dụng kỹ thuật mật
mã bao gồm:
Xác thực: Chữ ký điện tử đảm bảo chứng thực người ký, người tham gia giao dịch chính là người xưng danh và nhờ vào chữ ký điện tử cùng với tem thời gian họ không thể chối cãi chữ ký đó không phải là của họ, các giao dịch, các văn bản điện tử đó không phải do họ gửi hoặc nhận, khiến một trong các bên giao dịch không thể phủ nhận được nội dung đã giao dịch;
Toàn vẹn dữ liệu: Đảm bảo cho dữ liệu, tài liệu, văn bản điện tử không thể bị sửa đổi một cách bất hợp pháp;
Bảo mật: Bảo đảm rằng chỉ có người nhận hợp pháp mới có khả năng đọc được nội dung thông tin;
Ba yếu tố trên hợp thành cơ chế đảm bảo tin cậy cho các các giao dịch điện tử Ta
có thể phân chia mật mã thành hai loại hệ mật cơ bản sau:
Hệ mật khoá bí mật hay còn gọi là hệ mật đối xứng,
Hệ mật khoá công khai hay còn gọi là hệ mật phi đối xứng
Đối với hệ mật khoá bí mật thì khoá để mã hoá và khoá để giải mã là như nhau Khoá này phải được giữ bí mật ở cả đầu mã hoá và đầu giải mã Cho đến giữa những năm 70 của thế kỷ 20, người ta vẫn chỉ mới biết đến hệ mật khoá đối xứng Mặc dù hệ mật này tính toán hiệu quả, song nó đã gặp khó khăn rất nhiều khi giải quyết bài toán phân phối khoá Mọi việc đã thay đổi khi W Diffie và M Hellman đưa ra khái niệm mật mã khoá công khai vào năm 1976 Những vấn đề khó khăn trong giải quyết vấn đề phân phối khoá mã trong các hệ mật khoá đối xứng đã được
Trang 5giải quyết trong các hệ mật khoá công khai Không giống như các hệ mật đối xứng, các hệ mật khoá công khai sử dụng một cặp khoá trong đó một khoá được coi như khoá riêng và được giữ bí mật bởi người sở hữu cặp khoá còn một khoá được công
bố công khai để mọi người có thể có được để có thể tham gia truyền thông bí mật với người giữ khoá riêng Điều này được thực hiện nhờ tính chất các khoá trong cặp khoá có quan hệ toán học với nhau và không thể suy ra được khoá riêng từ khoá công khai Về lý thuyết thì bất kỳ một người nào cũng có thể gửi cho người nắm giữ khoá riêng một thông báo được mã hoá bằng khoá công khai tương ứng và chỉ có người nắm giữ khoá riêng mới có thể đọc được thông báo Tương tự, người nắm giữ khoá riêng có thể thiết lập tính toàn vẹn dữ liệu và tính nguyên thuỷ của
dữ liệu nhờ việc ký lên dữ liệu bằng khoá riêng của mình Bất cứ người nào nhận được dữ liệu có thể kiểm tra nguồn gốc và tính toàn vẹn của dữ liệu nhờ vào việc
sử dụng khoá công khai tương ứng với khoá riêng dùng để ký lên dữ liệu
Việc phát minh ra các hệ mật khoá công khai đã tạo ra cuộc cách mạng trong khoa học mật mã Một trong những ứng dụng đầu tiên của nó là để giải quyết vấn đề phân phối khoá trong các hệ mật khoá đối xứng Đây là một vấn đề gặp rất nhiều khó khăn khi chưa xuất hiện các hệ mật khoá công khai Ứng dụng mật mã khoá công khai cũng cho phép giảm số khoá cần thiết trong hệ thống Đối với các hệ mật khoá đối xứng thì để duy trì trao đổi bí mật giữa n thành viên cần tới n(n-1)/2 khoá trong khi nếu sử dụng hệ mật khoá công khai thì chỉ cần n cặp khoá cho n thành viên Tuy nhiên khi ứng dụng mật mã khoá công khai thì một vấn đề nẩy sinh là làm thế nào để phân phối khoá công khai một cách tin cậy Đây là một vấn đề không hề đơn giản và những nghiên cứu và phát triển Cơ sở hạ tầng khoá công khai hay PKI là nhằm mục đích giải quyết vấn đề này
Để xây dựng hạ tầng cơ sở khoá công khai có nhiều vấn đề cần phải giải quyết bao gồm cả các vấn đề về công nghệ và các vấn đề về pháp lý Nhiều vấn đề về công nghệ và pháp lý được tập trung nghiên cứu nhiều trong một số năm gần đây Các nước phát triển như Mỹ, Canada, châu âu là những nước đi đầu trong lĩnh vực này Châu á cũng đã quan tâm chú ý tại một số nước như Nhật, Hàn quốc, Đài loan, Singapore, Malaixia, Thái lan Các hội thảo về PKI được tổ chức đều đặn hàng năm Việt nam đang trong giai đoạn đầu tìm hiểu và ứng dụng thử nghiệm
Kể từ khi W Diffie và M Hellman lần đầu tiên đưa ra khái niệm mật mã khoá công khai, mật mã khoá công khai đã có những phát triển mạnh mẽ Nhiều thuật toán mã công khai đã được xây dựng như RSA, DSA và lớp các thuật toán mã
Trang 6được xây dựng như chuẩn mã hoá dữ liệu DES của Mỹ Tuy nhiên, hạ tầng cơ sở khoá công khai - PKI mới chỉ được phát triển trong khoảng 10 năm trở lại đây Đầu tiên và trước hết PKI là công nghệ xác thực sử dụng tổ hợp cả mật mã khoá bí mật
và mật mã khoá công khai PKI cho phép một số dịch vụ an toàn như mã hoá dữ liệu, xác thực dữ liệu và quản lý khoá Khung làm việc của PKI đã được định nghĩa trong khuyến nghị ITU-T X.509
Trong nội dung của luận văn tôi chỉ đề cập đến những vấn đề cơ bản về PKI dưới góc độ công nghệ, những khía cạnh chính khi nghiên cứu phát triển các hệ thống PKI, từ đó áp dụng vào bảo mật cho ứng dụng HomeBanking tại Ngân hàng đầu tư và phát triển Việt Nam Các nội dung chính trình bày gồm :
- Tổng quan về mật mã khóa công khai
- Hạ tầng cơ sở mật mã khoá công khai PKI
o Các thành phần của PKI
o Các cách thức quản lý và phân phối khoá công khai trong PKI
o Chứng chỉ khoá công khai
o Các chức năng của PKI
o Cấu trúc PKI
o Các yêu cầu về PKI
o Ban hành các luật về PKI
- Ứng dụng PKI trong hệ thống HomeBanking của Ngân hàng Đầu tư và Phát triển Việt Nam
Trang 71 Dùng chung một khoá được phân phối theo cách nào đó; hoặc:
2 Sử dụng một trung tâm phân phối khoá
Kho¸ c«ng khai cña Bob
§Çu vµo b¶n râ
B¶n m· ®-îc truyÒn ®i
Joy Mike Bob
Ted
Vßng kho¸
c«ng khai cña Alice
ThuËt to¸n m·
ho¸
§Çu ra b¶n râ
Kho¸ riªng cña Bob
ThuËt to¸n gi¶i m·
(a) M· ho¸
Kho¸ riªng cña Alice
B¶n m· ®-îc truyÒn ®i
Kho¸ c«ng khai cña Alice
§Çu vµo
b¶n râ
ThuËt to¸n m· ho¸
§Çu ra b¶n râ
Joy
Mike Alice
Vßng kho¸
c«ng khai cña Bob
ThuËt to¸n gi¶i m·
(b) X¸c thùc
H×nh 1.1 M· ho¸ kho¸ c«ng khai
Ted
Trang 8Whitfield Diffie, một trong những người đã phát minh ra mã hoá khoá công khai (cùng với Martin Hellman, trường Đại học Stanford) đã suy luận và cho rằng, yêu cầu thứ hai phủ nhận bản chất của mật mã Bản chất đó là đảm bảo tính bí mật trong liên lạc Khó có thể tồn tại các hệ thống mật mã không thể phá được nếu người sử dụng của các hệ thống này bắt buộc phải dùng chung các khoá của một trung tâm phân phối khoá (KDC), lý do là trung tâm này có thể để lộ khoá
Vấn đề thứ hai mà Diffie đặt ra là "chữ ký số" Nếu việc sử dụng mật mã trở nên phổ biến, không chỉ trong lĩnh vực quân sự mà còn được sử dụng cho các mục đích thương mại và cá nhân, thì các thông báo và tài liệu điện tử cần có các chữ ký và
chúng có hiệu lực tương tự như các chữ ký trên giấy tờ
1.1 CÁC HỆ THỐNG MẬT MÃ KHÓA CÔNG KHAI
Các thuật toán khoá công khai sử dụng một khoá để mã hoá và một khoá khác để giải mã (tạo thành một cặp khoá) Chúng có tính chất quan trọng sau đây:
- Không thể xác định được khoá giải mã nếu chỉ căn cứ vào các thông tin về thuật toán và khoá mã hoá
Một số thuật toán, chẳng hạn như RSA, cũng có tính chất sau:
- Một trong hai khoá được sử dụng để mã hoá, khoá còn lại được sử dụng để giải mã
Hình 1.1 minh hoạ quá trình mã hoá khoá công khai Các bước cơ bản gồm:
1 Mỗi thành viên sinh ra một cặp khóa, cặp khoá này được sử dụng để mã hoá
và giải mã các thông báo
2 Mỗi thành viên công bố khóa mã hoá của mình bằng cách đặt khoá này vào một địa chỉ được công bố công khai Đây chính là khoá công khai Khoá cùng cặp được giữ bí mật
3 Nếu A muốn gửi cho B một thông báo, A mã hoá thông báo bằng khoá công khai của B
4 Khi B nhận được thông báo, B giải mã thông báo bằng khoá riêng của B Không một người nhận nào khác có thể giải mã thông báo, bởi vì chỉ có B mới biết khoá riêng của mình
Với cách giải quyết này, tất cả các thành viên tham gia truyền thông đều có thể có được các khoá công khai Khoá riêng của mỗi thành viên được giữ bí mật Quá trình liên lạc chỉ an toàn chừng nào khoá riêng còn được giữ bí mật Mỗi thành viên
có thể thay đổi các khoá riêng của mình bất cứ lúc nào, đồng thời công bố các khoá công khai cùng cặp để thay thế khoá công khai cũ
Trang 9Bảng 1.1 trình bày một số đặc điểm quan trọng của mã hoá khoá công khai và mã hoá khoá riêng (mã hoá đối xứng) Để phân biệt chúng, người ta gọi khoá được sử dụng trong mã hoá đối xứng là khoá bí mật Hai khoá dùng trong mã hoá khoá công khai là khoá công khai và khoá riêng
Chúng ta xem xét chi tiết các yếu tố cần thiết trong lược đồ mã hoá khoá công khai (hình 1.2)
Nguồn A đưa ra một thông báo rõ và bản rõ của thông báo là X = [X1, X2, ,XM] Các phần tử Xi (i = 1M) của X là các chữ cái trong bảng chữ cái hữu hạn nào đó
A dự định gửi thông báo cho đích B B sinh ra một cặp khoá là khoá công khai
KUb, khoá riêng KRb Chỉ có B biết KRb, còn KUb được công bố công khai, do vậy
A có thể có được khoá công khai này
Bảng 1.1 Mã hoá khoá công khai và đối xứng
Hệ mật đối xứng Hệ mật khoá công khai
Quá trình mã hoá và giải mã sử dụng
cùng một thuật toán với cùng một khoá
Người gửi và người nhận phải sử dụng
chung thuật toán và khoá
Một thuật toán sử dụng một cặp khoá khi
mã hoá và giải mã, một khoá được sử dụng khi mã hóa, khoá còn lại được sử dụng khi giải mã
Người gửi và người nhận, mỗi người có một khoá trong cặp khoá
Ph©n tÝch m·
Nguån cÆp kho¸
Trang 10Các yêu cầu an toàn Các yêu cầu an toàn
Khóa phải được giữ bí mật
Không thể giải mã được thông báo nếu
không có các thông tin có giá trị khác
Các thông tin về thuật toán, các mẫu
bản mã không đủ để xác định khoá
Một trong hai khóa phải được giữ bí mật
Không thể giải mã được thông báo nếu không có các thông tin có giá trị khác
Các thông tin về thuật toán, một trong các khoá và các mẫu bản mã không đủ để xác định khoá còn lại
Với đầu vào là thông báo X và khoá mã hoá KUb, A tạo ra một bản mã Y = [Y1, Y2,
, YN ] với Y = E KUb(X)
Người nhận hợp lệ (người sở hữu khoá riêng) thu được X, qua phép biến đổi ngược
X = DKRb(Y)
Đối phương (có thể có được Y và KUb nhưng không có KRb hoặc X) phải tìm cách
khôi phục lại X và/hoặc KRb Giả sử rằng, anh ta có các thông tin về thuật toán mã
hoá (E) và giải mã (D), anh ta có thể khôi phục thông báo X, bằng cách sinh ra một
bản rõ X ước lượng Tuy nhiên, để đọc được các thông báo mới, đối phương phải
khôi phục được KRb bằng cách sinh ra một KRb ước lượng
Chúng ta đã biết, một trong hai khoá trong cặp khoá có thể được sử dụng để mã
hoá, khoá còn lại được sử dụng để giải mã Điều này cho phép thực hiện một lược
đồ mã hơi khác một chút Lược đồ được minh hoạ trong hình 1.2 cung cấp tính bí
mật Hình 1.1b và 1.3 minh hoạ việc sử dụng mã hoá khoá công khai cho xác thực:
Nguån cÆp kho¸
Trang 11Trong trường hợp này, A chuẩn bị một thông báo để gửi cho B và mã hoá thông báo bằng khoá riêng của A trước khi truyền đi B có thể giải mã thông báo bằng khoá công khai của A Thông báo được mã hoá bằng khoá riêng của A nên có thể xác định chỉ có A là người tạo ra thông báo Do vậy, toàn bộ thông báo mã hoá được sử dụng như một chữ ký số Hơn nữa, không thể sửa đổi thông báo nếu không
có khoá riêng của A, chính vì vậy thông báo được xác thực cả nguồn gốc lẫn tính toàn vẹn dữ liệu
Trong lược đồ trước, toàn bộ thông báo được mã hoá, nó đòi hỏi khả năng lưu giữ lớn Mỗi tài liệu phải được lưu giữ ở dạng rõ Bản sao được lưu giữ ở dạng mã, do vậy chúng ta có thể kiểm tra được nguồn gốc và các nội dung trong trường hợp tranh chấp Một cách hiệu quả hơn để có được các kết quả như trên là mã hoá một khối nhỏ các bit Khối này được gọi là dấu xác thực Nó phải có tính chất là mọi thay đổi trên tài liệu dẫn đến sự thay đổi của dấu xác thực Nếu dấu xác thực được
mã hoá bằng khoá riêng của người gửi, nó được sử dụng như một chữ ký Chữ ký được sử dụng để kiểm tra nguồn gốc, nội dung và trình tự
Việc sử dụng lược đồ khoá công khai có thể đảm bảo tính xác thực và bí mật (hình 1.4):
Z = EKUb [EKRa(X)]
X = DKUa [DKRb(Z)]
Trước hết, chúng ta mã hoá một thông báo bằng khoá riêng của người gửi, đưa ra một chữ ký số Tiếp theo, mã hoá một lần nữa bằng khoá công khai của người nhận Chỉ có người nhận hợp pháp mới giải mã được bản mã cuối cùng này vì anh
CÆp kho¸
cña ng-êi göi
KUb
Nguån cña th«ng b¸o
Trang 12ta có khoá riêng cùng cặp Như vậy sẽ đảm bảo được tính bí mật Khó khăn của biện pháp này là thuật toán khoá công khai, nó thực sự phức tạp, phải tiến hành 4 lần (chứ không phải là 2 lần) cho mỗi cuộc truyền thông
1.2 CÁC ỨNG DỤNG HỆ THỐNG KHOÁ CÔNG KHAI
Trước tiên, chúng ta cần làm rõ một khía cạnh của các hệ thống mật mã khoá công khai Việc sử dụng một kiểu thuật toán mật mã với 2 khoá (một khoá riêng, một khoá công khai) là đặc trưng của các hệ thống khoá công khai
Tuỳ thuộc vào ứng dụng, người gửi sử dụng khoá riêng của người gửi hoặc khoá công khai của người nhận, hoặc cả hai
Nói rộng hơn, chúng ta có thể phân loại việc sử dụng hệ mật khoá công khai thành
3 loại:
1 Mã hoá/giải mã: Người gửi mã hoá một thông báo bằng khoá công khai của
người nhận
2 Chữ ký số: Người gửi "ký" thông báo bằng khoá riêng của mình Quá trình ký
được thực hiện nhờ dùng một thuật toán mã đối với thông báo hoặc một khối dữ liệu nhỏ
3 Trao đổi khoá: Hai thành viên trao đổi khoá phiên Có một vài hướng giải
quyết khác nhau, cần đến một (hoặc nhiều) khoá riêng của một hoặc hai thành viên
Bảng 3.2 Các ứng dụng được các thuật toán hỗ trợ
Thuật toán Mã hoá/Giải mã Chữ ký số Trao đổi khoá
1.3 CÁC YÊU CẦU ĐỐI VỚI MÃ HÓA KHÓA CÔNG KHAI
Các ứng dụng hệ mật minh hoạ trong hình 1.2, 1.3 phụ thuộc vào một thuật toán mã với hai khoá cùng cặp Diffie và Hellman đưa ra các điều kiện mà các thuật toán trên phải đáp ứng như sau:
1 Người nhận B có thể dễ dàng sinh ra được một cặp khoá (khoá công khai
KUb và khoá riêng KRb)
Trang 132 Người gửi A dễ dàng biết được khoá công khai của người nhận, mã hoá thông báo M và tạo ra một bản mã tương ứng:
Y = f(X) dễ dàng
X = f -1(Y) không thể
Chúng ta tiếp tục với định nghĩa hàm cửa sập một chiều, nó dễ dàng tính toán theo một chiều, khó có thể tính toán theo chiều kia trừ khi biết thêm thông tin nào đó Với thông tin này, có thể tính toán được hàm nghịch đảo trong thời gian đa thức Tóm lại, hàm cửa sập một chiều là họ các hàm nghịch đảo fk, sao cho:
Y = fk(X) dễ dàng, nếu biết k và X
X = f -1k(Y) dễ dàng, nếu biết k và Y
X = f -1k(Y) khó có thể, nếu biết Y nhưng không biết k
Do vậy, việc phát triển một lược đồ khoá công khai thiết thực phụ thuộc vào việc tìm ra một hàm cửa sập một chiều phù hợp
1.4 HỆ MẬT RSA
Hầu hết các thuật toán mã sử dụng khoá công khai và khoá riêng đều dựa trên một đặc tính rất quan trọng của các số nguyên tố lớn, đó là một khi nhân chúng với nhau để tạo ra một số mới, chúng ta không thể hoặc mất rất nhiều thời gian để có thể xác định được số nào trong hai số nguyên tố là số mới và là số lớn hơn Trong luận văn này tôi xin được trình bày về một hệ mật được sử dụng khá phổ biến là hệ mật RSA
Trang 14Bài toán đặt ra : Bob muốn gửi cho Alice một thông tin mật mà Bob muốn duy nhất Alice có thể đọc được Để làm được điều này, Alice gửi cho Bob một chiếc hộp có khóa đã mở và giữ lại chìa khóa Bob nhận chiếc hộp, cho vào đó một tờ giấy viết thư bình thường và khóa lại (lúc này ngay cả Bob cũng không thể đọc lại hay sửa thông tin trong thư được nữa) Sau đó Bob gửi chiếc hộp lại cho Alice Alice mở hộp với chìa khóa của mình và đọc thông tin trong thư Trong ví dụ này, chiếc hộp với khóa mở đóng vai trò khóa công khai, chiếc chìa khóa chính là khóa
bí mật
1.4.1 Tạo khoá
Giả sử Alice và Bob cần trao đổi thông tin bí mật thông qua một kênh không an toàn (ví dụ như Internet) Với thuật toán RSA, Alice đầu tiên cần tạo ra cho mình cặp khóa gồm khóa công khai và khóa bí mật theo các bước sau:
1 Chọn 2 số nguyên tố lớn và với , lựa chọn ngẫu nhiên và độc lập
Các số nguyên tố thường được chọn bằng phương pháp thử xác suất
Các bước 4 và 5 có thể được thực hiện bằng thuật toán Euclid mở rộng(xem thêm: số học môđun)
Bước 5 có thể viết cách khác: Tìm số tự nhiên sao cho
cũng là số tự nhiên Khi đó sử dụng giá trị
Từ bước 3, PKCS#1 v2.1 sử dụng thay cho
Trang 15Khóa bí mật bao gồm:
Một dạng khác của khóa bí mật bao gồm:
Dạng này cho phép thực hiện giải mã và ký nhanh hơn với việc sử dụng Định lý số
dư Trung quốc (tiếng Anh:Chinese Remainder Theorem - CRT) Ở dạng này, tất cả thành phần của khóa bí mật phải được giữ bí mật
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 d khi biết e Nếu không sử dụng dạng sau của khóa bí mật (dạng CRT) thì p và q sẽ được
xóa ngay sau khi thực hiện xong quá trình tạo khóa
1.4.2 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:
Hàm trên có thể tính dễ dàng sử dụng phương pháp tính hàm mũ (môđun) bằng
phương pháp bình phương (exponentiation by squaring) Cuối cùng Bob gửi c cho
Alice
1.4.3 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:
Trang 16Biế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ã
1.4.4 Độ an toàn
Độ 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 Phá mã một phần phải được ngăn chặn bằng các phương pháp chuyển đổi bản rõ an toàn
Bài toán RSA là bài toán tính căn bậc e môđun n (với n là hợp số): tìm số m sao cho m e =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 được giá trị 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
Trang 17(p-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
1.5 CHỮ KÝ SỐ
Chữ ký điện tử là dãy các ký hiệu, âm thanh hay các hình thức điện tử khác được tạo lập từ thông tin cá nhân của người ký bằng công nghệ, thuật toán tích hợp với các phương tiện điện tử Nó đảm bảo tính tương ứng duy nhất với người
ký Hiện có nhiều công nghệ để tạo chữ ký điện tử như: sử dụng đặc tính của vân tay, của giác mạc mắt, bản đồ tĩnh mạch bàn tay (ven), ADN, các yếu tố sinh học khác của người ký, chữ ký số dựa trên công nghệ mật mã Trên thế giới hiện nay, phổ biến nhất là chữ ký số Việt Nam trong tương lai gần cũng sử dụng công nghệ này
Trong cách thức truyền thống, thông báo được truyền đi trong giao dịch thường dưới dạng các văn bản viết tay hoặc đánh máy được kèm thêm chữ ký (viết tay) của người gửi ở bên dưới văn bản Chữ ký đó là bằng chứng xác nhận thông báo đúng là của người ký, tức là của chủ thể giao dịch, và nếu tờ giấy mang văn bản không bị cắt, dán, tẩy, xoá, thì tính toàn vẹn của thông báo cũng được chứng thực bởi chữ ký đó Chữ ký viết tay có nhiều ưu điểm quen thuộc như dễ kiểm thử, không sao chép được, chữ ký của một người là giống nhau trên nhiều văn bản, nhưng mỗi chữ ký gắn liền với một văn bản cụ thể, v.v
Khi chuyển sang cách thức truyền tin bằng phương tiện hiện đại, các thông báo được truyền đi trên các mạng truyền tin số hoá, bản thân các thông báo cũng được biểu diễn dưới dạng số hoá, tức dưới dạng các đãy bit nhị phân, “chữ ký” nếu
có cũng ở dưới dạng các đãy bit, thì các mối quan hệ tự nhiên kể trên không còn giữ được nữa Chẳng hạn, “chữ ký” của một người gửi trên những văn bản khác nhau phải thể hiện được sự gắn kết trách nhiệm của người gửi đối với từng văn bản
đó thì tất yếu phải khác nhau chứ không thể là những đoạn bit giống nhau như các chữ ký giống nhau trên các văn bản thông thường Chữ ký viết tay có thể được kiểm thử bằng cách so sánh với nguyên mẫu, nhưng “chữ ký” điện tử thì không thể
có “nguyên mẫu” để mà so sánh, việc kiểm thử phải được thực hiện bằng những thuật toán đặc biệt Một vấn đề nữa là việc sao chép một văn bản cùng chữ ký Nếu
là văn bản cùng chữ ký viết tay thì dễ phân biệt bản gốc với bản sao, do đó khó mà dùng lại được một văn bản có chữ ký thật Còn với văn bản điện tử cùng chữ ký điện tử thì có thể nhân bản sao chép tuỳ thích, khó mà phân biệt được bản gốc với
Trang 18bản sao, cho nên nguy cơ dùng lại nhiều lần là có thực, do đó cần có những biện pháp để tránh nguy cơ đó
Một “chữ ký”, nếu muốn thể hiện được trách nhiệm của người gửi trên toàn văn bản, thì phải mang được một chút gắn bó nào đó với từng bit thông tin của văn bản, vì vậy, theo hình dung ban đầu, độ dài của chữ ký cũng phải dài theo độ dài của văn bản; để có được “chữ ký ngắn” như trong trường hợp viết tay người ta phải
dùng một kỹ thuật riêng gọi là hàm băm mà ta sẽ trình bày ở phần dưới
Ngoài ra, để chống giả mạo chữ ký “số” thì thứ nhất thuật toán “ký số” phải
là “không nhìn thấy” bằng mắt thường trên bức điện Thứ hai là vấn đề về kiểm tra Chữ ký thông thường được kiểm tra bằng cách so sánh nó với chữ ký đúng Ví
dụ, ai đó ký một tấm séc để mua hàng, người bán hàng phải so sánh chữ ký trên mảnh giấy với chữ ký nằm ở mặt sau của thẻ tín dụng để kiểm tra Dĩ nhiên, đây không phải là phương pháp an toàn vì người ta có thể giả mạo Với chữ ký “số”, người ta có thể kiểm tra nhờ dùng một thuật toán kiểm tra công khai như vậy, bất
kỳ ai cũng có thể kiểm tra được chữ ký số Việc dùng một sơ đồ chữ ký an toàn có thể sẽ ngăn chặn được khả năng giả mạo
Sự khác biệt cơ bản khác giữa chữ ký “số” và chữ ký thông thường là: bản sao tài liệu được ký bằng chữ ký “số” đồng nhất với bản gốc, còn bản sao tài liệu
có chữ ký trên giấy thường có thể khác với bản gốc Ðiều này có nghĩa là phải cẩn thận ngăn chặn việc dùng lại một chữ ký “số” Ví dụ, một lần Bob ký một bức điện xác nhận Alice có khả năng làm điều đó Vì thế, bản thân bức điện cần chứa thông tin nào đó (chẳng hạn như ngày tháng) để ngăn nó khỏi bị dùng lại
Sơ đồ chữ ký số: là phương pháp ký một bức điện lưu dưới dạng điện tử Điểm khác biệt với chữ ký thông thường là ở chỗ: chữ ký thông thường là một phần vật lý của tài liệu, chữ ký số không gắn theo vật lí vào bức điện vì vậy thuật toán phải “không nhìn thấy” theo cách nào đó trên bức điện Đối với chữ ký thông thường thì việc kiểm tra thực hiện bằng cách so sánh nó với các chữ ký xác thực khác, còn chữ ký số thì có thể kiểm tra được nhờ dùng một thuật toán kiểm tra công khai Và việc dùng một chữ ký an toàn có thể ngăn chặn được khả năng giả mạo
Sự khác biệt cơ bản giữa chữ ký số và chữ ký thông thường là bản copy tài liệu được ký bằng chữ số đồng nhất với bản gốc Điều này có nghĩa là phải cẩn thận ngăn chặn một bức điện ký số khỏi bị dùng lại
Mục đích: Sử dụng kĩ thuật số để mô phỏng / thay thế chữ ký tay written signature”
Trang 19“hand-Các yêu cầu khi sử dụng chữ ký số:
Không thể giả mạo “unforgeability”
Không thể phủ nhận “undeniability”
Chữ ký phụ thuộc vào người ký và văn bản được ký
Dễ dàng tính toán: Người ký có thể dễ dàng ký trên văn bản cần ký
Dễ dàng kiểm định: Mọi người có thể kiểm tra xác định tính hợp lệ của chữ ký
Thuận tiện cho việc lưu trữ: Chữ ký cần ngắn vừa đủ
3 K (không gian khoá) là tập hữu hạn các khoá có thể
4 Với mỗi k thuộc K có thuật toán ký Sigk S và thuật toán xác minh Verk V Sigk : P -> A và Verk: P×A - >{true, false} là những hàm sao
cho mỗi thông điệp xP và chữ ký yA thoả mãn phương trình:
Verk =
Với mỗi k thuộc K, Sigk và Verk là các hàm có thời gian da thức Verk là hàm công khai, Sigk là hàm bí mật Không thể “để dàng” tính toán để giả mạo chữ
ký của Bob trên thông điệp x Nghĩa là x cho truớc, chỉ có Bob mới “dễ” tính được
y để Verk = True Một sơ đồ chữ ký không thể an toàn vô Điều kiện vì Oscar có thể kiểm tra tất cả các chữ số y có thể có trên thông điệp x nhờ dùng thuật toán Verk công khai cho đến khi anh ta tìm thấy một chữ ký đúng Vì thế, nếu có dủ thời gian Oscar luôn luôn có thể giả mạo chữ ký của Bob như vậy, giống như truờng hợp hệ thống mã khoá công khai, mục đích là tìm các sơ đồ chữ ký số “an toàn” về mặt tính toán
True nếu y = sig(x) False nếu y ≠ sig(x)
Trang 20về pháp luật có thể dài nhiều Megabyte
Một cách đơn giản để giải bài toán này là chia các bức điện dài thành nhiều đoạn sau đó ký lên các đoạn đó độc lập nhau Ðiều này cũng tương tự như mã hóa một chuỗi dài bản rõ bằng cách mã hóa mỗi ký tự bản rõ độc lập nhau sử dụng cùng một bản khoá (Ví dụ: chế độ ECB trong Mã hóa)
Biện pháp này có một số vấn đề trong việc tạo ra các chữ ký số Truớc hết, với một bức điện dài, ta kết thúc bằng một chữ ký rất lớn nhược điểm khác là các
sơ đồ chữ ký “an toàn” lại chậm vì chúng dùng các phương pháp số học phức tạp như số mũ modulo Tuy nhiên, vấn đề nghiêm trọng hơn với phép toán này là bức điện đã ký có thể bị sắp xếp lại các đoạn khác nhau,hoặc một số đoạn trong chúng
có thể bị loại bỏ và bức điện nhận được vẫn xác minh được Ta cần bảo vệ sự nguyên vẹn của toàn bộ bức điện và Điều này không thể thực hiện được bằng cách
ký độc lập từng mẩu nhỏ của chúng
Giải pháp cho các vấn đề này là dùng hàm băm (Hash) nhanh Từ bức điện
có độ dài tuỳ ý, hàm băm tạo ra một bản tóm luợc thông báo có kích thuớc qui định (ví dụ 160 bit với DSS) Sau đó bản tóm luợc thông báo sẽ được ký, thay vì ký trực tiếp trên văn bản gốc
Khi Bob muốn ký bức điện x dài, truớc tiên anh ta tạo lập bản tóm luợc (đại điện) thông điệp z = h(x) và sau đó tính y = sigK (z ) Bob có thể truyền cặp (x, y) trên kênh công khai Có thể thực hiện kiểm tra chữ ký bằng cách truớc hết khôi phục bản tóm luợc thông báo z =h (x) nhờ hàm h công khai và sau đó kiểm tra xem Verk (x,y) = true, hay không
Trang 21Ký một bản tóm luợc thông báo
Bản tóm luợc (giá trị của hàm băm) còn được gọi là đại diện văn bản (message digest) Một message digest là có chiều dài cố định với các đặc điểm như sau:
Giá trị trả lại của hàm băm duy nhất đối với mỗi giá trị đầu vào Bất
kỳ sự thay đổi nào của dữ liệu vào cũng đều dẫn đến một kết quả sai
Từ đại diện văn bản “khó thể” suy ra được dữ liệu gốc là gì, chính vì Điều này mà người ta gọi là one-way
Như đã đề cập trong phần mã hóa khóa công khai, có thể dùng khóa bí mật cho việc mã hóa và khóa công khai cho việc giải mã Cách sử dụng cặp khóa như vậy không được dùng khi cần bí mật thông tin, mà chủ yếu dùng để “ký” trên dữ liệu Thay vào việc đi mã hóa dữ liệu, các phần mềm ký tạo ra đại diện văn bản (message digest) của dữ liệu và sử dụng khóa bí mật để mã hóa đại diện đó Hình duới đưa ra mô hình đơn giản hóa việc chữ ký số được sử dụng như thế nào để kiểm tra tính toàn vẹn của dữ liệu được ký
Sử dụng chữ ký số để kiểm tra tính toàn vẹn của dữ liệu
Trang 22Trong hình trên có hai phần được gửi cho người nhận: dữ liệu gốc và chữ ký
số Ðể kiểm tra tính toàn vẹn dữ liệu, người nhận sử dụng khóa công khai của người ký để giải mã đại diện bản tin (message disgest) đã mã hóa và khóa bí mật của người ký Dựa vào thông tin về thuật toán băm, người nhận tạo ra đại diện bản tin gốc và bản tin mới Nếu 2 đại diện này giống nhau tức là dữ liệu bản tin không
bị thay đổi từ lúc được ký Nếu chúng không giống nhau có nghĩa là dữ liệu đã bị giả mạo, Điều này cũng có thể xảy ra khi sử dụng hai khóa công khai và khóa bí mật không tương ứng
Trong một vài truờng hợp, chữ ký số được đánh giá là có thể thay thế chữ ký bằng tay Chữ ký số chỉ có thể đảm bảo khi khóa bí mật không bị lộ Khi khóa bí mật bị
lộ thì người sở hữu chữ ký không thể ngăn chặn được việc bị giả mạo chữ ký
Sơ đồ chữ ký RSA được cho bởi bộ năm
ver (x,y ) = đúng x y b (modn )
Dễ chứng minh được rằng sơ đồ được định nghĩa như vậy là hợp thức, tức là
với mọi x và mọi chữ ký y:
ver K"(x, y) = đúng y = sig K'(x )
Chú ý rằng tuy hai vấn đề xác nhận và bảo mật theo sơ đồ RSA là có bề ngoài giống nhau, nhưng nội dung của chúng là hoàn toàn khác nhau: Khi A gửi
Trang 23thông báo x cho B, để B có căn cứ xác nhận đó đúng thực là thông báo do A gửi, A
phải gửi kèm theo chữ ký sig K'(x), tức là A gửi cho B (x, sig K'(x)), trong các thông tin gửi đi đó, thông báo x hoàn toàn không được giữ bí mật Cũng tương tự như
vậy, nếu dùng sơ đồ mật mã RSA, khi một chủ thể A nhận được một bản mật mã
trên mạng truyền tin công cộng, ta có cả hai hệ mật mã khoá công khai S1 và hệ xác
nhận bằng chữ ký S 2 Giả sử B có bộ khoá mật mã K = (K', K'') với K' = (n, e) và
K'' = d trong hệ S1 , và A có bộ khoá chữ ký K s (K K s , s ) với K s a và
( , )
s
K n b trong hệ S 2 A có thể gửi đến B một thông báo vừa bảo mật vừa có chữ
ký để xác nhận như sau: A ký trên thông báo x trước, rồi thay cho việc gửi đến B văn bản cùng chữ ký (x, sig K s(x)) thì A sẽ gửi cho B bản mật mã của văn bản đó
được lập theo khoá công khai của B, tức là gửi cho B e K((x, sig K s(x)) Nhận được
văn bản mật mã đó B sẽ dùng thuật toán giải mã d Kcủa mình để thu được
(x, sig K s(x)), sau đó dùng thuật toán kiểm thử chữ ký công khai ver K s của A để xác nhận chữ ký sig K s(x) đúng là của A trên x
a Thuật toán sinh khoá
Thực thể A tạo khoá công khai và khoá riêng tương ứng theo phương thức sau:
Sinh ra hai số nguyên tố lớn ngẫu nhiên p và q cùng kích thuớc bit
Khoá công khai của A là K‟ = (n, a), khoá riêng của A là K” = b
b Thuật toán sinh chữ ký và xác nhận chữ ký
Thực thể A ký trên thông điệp m Thực thể B có thể xác định được chữ ký
Trang 24Sinh chữ ký: Thực thể A làm theo các buớc sau:
Tính m' = H(m), là một số nguyên trong khoảng [0, n-1]
Tính s = m'a mod n
Chữ ký của A cho m là s
Xác nhận chữ ký: Thực thể B làm theo các buớc sau:
Nhận khoá công khai của A là (n, b)
Tính m' = sb mod n
Kiểm tra m' MR nếu không sẽ không chấp nhận chữ ký
Lấy lại thông điệp m từ m = H-1 (m')
c Tóm tắt luợc đồ ký theo RSA
Cho n = pq với p và q là các số nguyên tố
Cho P = A = Zn và định nghĩa
o p = {(n, p, q, a, b) || n = pq, p và q là nguyên tố, ab 1 mod
(n) } Các giá trị n, b là công khai Ðịnh nghĩa
Sigk(x) = xa mod n và
Verk(x,y) = true x yb (mod n) với x, y Zn
Nếu độ dài thông điệp x lớn, ta sử dụng hàm băm
Trang 25Hệ mật khoá công khai đã giải quyết được hai vấn đề khó khăn trong hệ mật đối xứng, đó là vấn đề phân phối khoá và chữ ký số Ngoài việc mã hoá để đảm bảo thông tin không bị chặn bắt và xem trộm trên đường truyền người ta còn thực hiện
ký lên văn bản truyền đi để đảm bảo nội dung bản tin xuất phát từ một nguồn tin cậy, hợp lệ và không bị sửa đổi bằng cách sử dụng chữ ký số
Trong chương này cũng trình bày chi tiết về các lược đồ chữ ký số RSA, thuật toán
mã hoá khoá công khai RSA và hàm băm được sử dụng trong quá trình tạo và kiểm tra chữ ký số
Trang 26Chương 2
HẠ TẦNG CƠ SỞ KHOÁ CÔNG KHAI (PKI)
Cơ sở hạ tầng khoá công khai (PKI) bao gồm nhiều dịch vụ hỗ trợ Các dịch vụ hỗ trợ này rất cần thiết khi các kỹ thuật khoá công khai được sử dụng trên phạm vi rộng Các cơ quan chứng thực (CA) và các phương tiện quản lý chứng chỉ tạo thành hạt nhân của các cơ sở hạ tầng khoá công khai Tuy nhiên, khi chúng ta cố gắng áp dụng các khái niệm quản lý chứng chỉ này vào trong môi trường thực, đặc biệt trong các môi trường có nhiều tổ chức và các cộng đồng khác nhau, chúng cần làm việc với nhau theo các cách thức phức tạp và làm nảy sinh nhiều vấn đề nhạy cảm cần được quan tâm Nhiều ứng dụng hỗ trợ khác nhau (mang tính kỹ thuật và pháp lý) cần được sử dụng để khai thác một cách có hiệu quả các kỹ thuật khoá công khai Trong phần này chúng ta tìm hiểu một số vấn đề trong việc xây dựng các PKI nhằm hỗ trợ một số lượng lớn những người sử dụng khác nhau và những nội dung
cơ bản phục vụ việc xây dựng một hệ thống PKI
2.1 ĐỊNH NGHĨA PKI
PKI là công nghệ phối hợp mật mã khoá bí mật và mật mã khoá công khai để giải quyết vấn đề xác thực, bảo mật, đảm bảo tính toàn vẹn của dữ liệu và quản lý khoá trên các mạng máy tính
Đôi khi PKI được định nghĩa như là một tập hợp 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 giữ, phân phối và thu hồi các chứng chỉ khoá công khai Tuy nhiên nếu nhìn nhận PKI như là một công nghệ thì định nghĩa đầu phù hợp hơn
2.2 PHÂN PHỐI KHÓA CÔNG KHAI
Một trong các vai trò chính hệ thống PKI là giải quyết vấn đề phân phối khoá Người ta đã đề xuất một số kỹ thuật phân phối khoá công khai Các đề xuất này có thể được nhóm lại như sau:
o Khai báo công khai
o Danh bạ công khai
o Trung tâm quản lý khoá công khai
o Các chứng chỉ khoá công khai
2.2.1 Khai báo công khai các khoá công khai
Trang 27Xuất phát điểm của mã hoá khoá công khai là khoá công khai được công bố công khai Do vậy, nếu có một thuật toán được chấp nhận rộng rãi, chẳng hạn như RSA, bất kỳ thành viên nào cũng có thể gửi khoá công khai của mình cho thành viên khác hoặc quảng bá cho cộng đồng lớn (hình 2.1)
Ví dụ, những người sử dụng PGP chấp nhận gắn kèm khoá công khai của họ vào các thông báo gửi đến các nơi công cộng, chẳng hạn như các nhóm tin của USERNET, các danh sách thư tín trên Internet
Mặc dù giải pháp này khá thích hợp, nhưng nó có nhược điểm là bất kỳ ai cũng có thể giả mạo một khoá công khai Có nghĩa là, một người sử dụng nào đó có thể giả danh là người sử dụng A và gửi một khoá công khai cho thành viên khác Khoảng thời gian cho đến khi người sử dụng A phát hiện ra sự gian lận và thông báo cho các thành viên khác, đối tượng giả mạo có thể đã đọc toàn bộ các thông báo mã hoá gửi cho A và có thể sử dụng các khoá giả cho xác thực
2.2.2 Danh bạ công khai
Việc duy trì và phân phối danh bạ công khai
thuộc trách nhiệm của một tổ chức
tin cậy nào đó (hình 2.2)
Một lược đồ như vậy gồm các yếu tố sau:
1 Cơ quan quản lý duy trì một thư mục, mỗi thành viên có một đầu vào entry {tên, khoá công khai}
2 Mỗi thành viên đăng ký một khoá công khai với cơ quan quản lý thư mục Việc đăng ký này có thể được thực hiện bởi một cá nhân hoặc qua hình thức liên lạc
có xác thực an toàn nào đó
Th- môc kho¸
c«ng khai
KUb
KUb
KUb
.
H×nh 2.1 Ph©n phèi kho¸ c«ng khai kh«ng kiÓm so¸t
Trang 283 Một thành viờn cú thể thay thế một khoỏ mới bất kỳ lỳc nào, chẳng hạn khi họ muốn thay thế một khoỏ cụng khai đó được sử dụng nhiều, hoặc khi khoỏ riờng cựng cặp bị lộ
4 Cơ quan quản lý cụng bố toàn bộ danh bạ hoặc cập nhật danh bạ một cỏch định
kỳ
5 Cỏc thành viờn cũng cú thể truy nhập vào thư mục Chớnh vỡ vậy, việc truyền thụng xỏc thực an toàn (từ cơ quan quản lý đến thành viờn) phải mang tớnh bắt buộc
2.2.3 Trung tõm quản lý khoỏ cụng khai
Việc phõn phối khoỏ cụng khai được đảm bảo an toàn cao hơn nếu cung cấp cỏc kiểm soỏt chặt chẽ khi phõn phối khoỏ cụng khai từ danh bạ (được minh hoạ trong hỡnh 2.3)
Một cơ quan trung tõm duy trỡ một danh bạ khoỏ cụng khai động cho tất cả cỏc thành viờn Mỗi thành viờn đều biết khoỏ cụng khai của trung tõm quản lý khoỏ cụng khai nhưng chỉ cú trung tõm này biết khoỏ riờng cựng cặp
Quỏ trỡnh trao đổi thụng tin bớ mật xảy ra như sau:
1 A gửi một thụng bỏo cú gỏn nhón thời gian cho cơ quan quản lý khoỏ cụng khai, yờu cầu khoỏ cụng khai hiện thời của B
Trung tâm quản lý khoá
công khai
Ng-ời khởi tạo A
Ng-ời
đáp ứng B
(1)Request || Time1
(2)EKRauth[KUb||Request||Time1 ]
(5) EKRauth[KUa||Request||Time2 ]
Trang 292 Cơ quan quản lý trả lời bằng một thông báo Thông báo này được mã hoá bằng khoá riêng của cơ quan quản lý, KRauth Như vậy, A có khả năng giải mã thông báo bằng cách sử dụng khoá công khai của cơ quan quản lý, A được đảm bảo rằng thông báo có nguồn gốc từ cơ quan quản lý Thông báo gồm có:
Khoá công khai của B là KUb- A có thể sử dụng nó để mã hoá các thông báo gửi cho B
Yêu cầu gốc- A so khớp yêu cầu này với yêu cầu A đã gửi đi trước đó, nhờ đó A
có thể biết yêu cầu gốc có bị sửa đổi trước khi cơ quan quản lý nhận được hay không
Nhãn thời gian gốc- cho phép A xác định: đây không phải là một thông báo cũ mà
là thông báo có chứa khoá công khai hiện thời của B
3 A lưu giữ khoá công khai của B và sử dụng nó để mã hoá một thông báo gửi cho
B, thông báo này có chứa tên của A (IDA) và một giá trị (được gọi là nonce) N1
được sử dụng để nhận dạng giao dịch này
4 B lấy khoá công khai của A từ cơ quan quản lý (tương tự như A lấy khoá công khai của B)
5 Đến lúc này, các khoá công khai được chuyển giao an toàn cho A và B, họ có thể trao đổi với nhau Tuy nhiên, 2 bước sau được bổ sung thêm (tuỳ chọn):
6 B gửi một thông báo cho A, thông báo này được mã hoá bằng KUa và có chứa
N1 của A và một nonce mới N2 do B sinh ra Do chỉ có B mới có thể giải mã thông báo (3) và sự có mặt của N1 trong thông báo (6) đảm bảo với A rằng B chính là người A đang liên lạc
7 A trả lại N2 được mã hoá bằng khoá công khai của B, đảm bảo với B rằng A chính là người B đang liên lạc
Trang 3030
2.2.4 Chứng chỉ khoá công khai
Lược đồ trong hình 2.3 rất hấp dẫn nhưng nó cũng có một số nhược điểm Cơ quan quản lý khoá công khai gần giống như một cổ chai trong hệ thống Người sử dụng phải yêu cầu cơ quan quản lý cấp khoá công khai cho người sử dụng khác khi họ muốn liên lạc Như đã trình bày từ trước, cơ quan quản lý duy trì danh bạ (mỗi đầu vào bao gồm tên và khoá công khai) - đây cũng là chính là điểm yếu dễ bị giả mạo Một giải pháp lựa chọn là sử dụng chứng chỉ Các thành viên sử dụng chứng chỉ này để trao đổi khoá mà không cần liên lạc với cơ quan quản lý khoá công khai Mỗi chứng chỉ chứa một khoá công khai và các thông tin khác Nó được một cơ quan quản lý chứng chỉ tạo ra và phát hành cho các thành viên Một thành viên chuyển thông tin khoá của mình cho thành viên khác thông qua các chứng chỉ Các thành viên khác có thể kiểm tra chứng chỉ do cơ quan quản lý tạo ra
Chúng ta có thể đưa vào lược đồ này các yêu cầu như sau:
1 Một thành viên có thể đọc chứng chỉ để xác định tên và khoá công khai của người sở hữu chứng chỉ
2 Mọi thành viên có thể kiểm tra: nguồn gốc của chứng chỉ và nó có bị giả mạo không
3 Chỉ có cơ quan quản lý chứng chỉ mới có thể tạo ra và cập nhật các chứng chỉ
Và một yêu cầu được bổ sung thêm như sau:
- Mọi thành viên có thể kiểm tra sự lưu hành của chứng chỉ
Có nhiều kiểu chứng chỉ được sử dụng cho các mục đích khác nhau Một trong các kiểu chứng chỉ quan trọng là chứng chỉ khoá công khai Trong đó, khoá công khai được gắn kết chặt chẽ với một cá nhân, một thiết bị, hoặc một thực thể riêng biệt Chứng chỉ khoá công khai được một cơ quan chứng thực (CA) ký CA chứng thực các thuộc tính của chủ thể nắm giữ chứng chỉ khoá công khai Chủ thể nắm giữ là một người, thiết bị, hoặc thực thể nào đó, nói chung là đối tượng nắm giữ khoá riêng tương ứng Các thuật ngữ chứng chỉ hay chứng chỉ khóa công khai chỉ là một Một chứng chỉ khoá công khai đơn giản có dạng như sau:
Tên của CA
Khoá công khai của chủ thể
Thông tin nhận dạng chủ thể
Chữ ký số của CA
Tạo chữ ký số Khoá riêng của CA
Trang 31Chuẩn hoỏ khuụn dạng chứng chỉ là một trong những vấn đề cần giải quyết khi nghiờn cứu xõy dựng cỏc hệ thống PKI Chuẩn khuụn dạng chứng chỉ X509 V3 là một trong những chuẩn được sự dụng rộng rói nhất hiện nay
Khuụn dạng chứng chỉ X.509 gồm cú 3 phiờn bản, phiờn bản 1 ra đời vào năm
1988, phiờn bản 2 ra đời vào năm 1993 và phiờn bản 3 ra đời vào năm 1996 Cỏc khuụn dạng của phiờn bản 1 và 2 được trỡnh bày sau đõy, chỳng được sử dụng trong tất cả cỏc bổ sung của X.509 cho đến năm 1996 Cỏc yếu tố cơ bản được trỡnh bày trong hỡnh 2.4
Cỏc trường của chứng chỉ như sau:
(a) Phiờn bản (Version): Chỉ ra dạng phiờn bản 1, 2, 3
(b) Số hiệu (Serial Number): Số hiệu nhận dạng duy nhất của chứng chỉ này Nú
Thời gian hợp lệ (Ngày/giờ bắt
đầu và kết thúc)
Tên thuật toán ký (CA sử dụng để ký lên chứng chỉ) Tên ng-ời phát hành chứng chỉ (CA) theo chuẩn
X500
Tên chủ thể theo chuẩn
X500 Thông tin khoá công khai của chủ thể
Tên Ttoán
Khoá công khai
Hình 2.4 Khuôn dạng chứng chỉ trong phiên
bản 1 và 2 của X.509
Trang 32(e) Thời gian hợp lệ (Validity): Ngày/giờ có hiệu lực và hết hạn của một chứng
chỉ
(f) Chủ thể (Subject): Tên X.500 của đối tượng nắm giữ khoá riêng (tương ứng
với khoá công khai được chứng thực)
(g) Thông tin về khoá công khai của chủ thể (Subject Public-key Information):
Gồm có khoá công khai của chủ thể cùng với một tên thuật toán sử dụng khoá công khai này
(h) Tên duy nhất của người phát hành (Issuer unique identifier): Là một chuỗi
bit tuỳ chọn, được sử dụng để chỉ ra tên rõ ràng của CA phát hành, trong trường hợp cùng một tên được gán cho các thực thể khác nhau trong cùng thời gian
(i) Tên duy nhất của chủ thể (Subject unique identifier): Là một chuỗi bit tuỳ
chọn, được sử dụng để chỉ ra tên rõ ràng của chủ thể, trong trường hợp cùng một tên được gán cho các thực thể khác nhau trong cùng thời gian
Việc sử dụng chứng chỉ rất đơn giản Khi một người sử dụng đã có khoá công khai của CA một cách an toàn và tin tưởng CA phát hành các chứng chỉ hợp lệ Nếu người dùng cần khoá công khai của một trong các thuê bao của CA này, anh ta có thể thu được khoá công khai của thuê bao đó bằng cách lấy từ bản sao chứng chỉ của thuê bao Chứng chỉ của thuê bao có thể được kiểm tra bằng cách kiểm tra chữ
ký của CA có trên chứng chỉ Người sử dụng các chứng chỉ theo cách này được gọi
là một thành viên tin cậy
Phân phối khoá công khai theo kiểu này tương đối đơn giản và kinh tế khi tiến hành trên diện rộng và theo hình thức tự động, bởi vì một trong các đặc tính quan trọng
của các chứng chỉ là: "Các chứng chỉ có thể được phát hành mà không cần phải
bảo vệ thông qua các dịch vụ an toàn truyền thông truyền thống để đảm bảo tính bí mật, tính xác thực và tính toàn vẹn.”
Chúng ta không cần giữ bí mật khoá công khai, như vậy các chứng chỉ không phải giữ bí mật Hơn nữa, ở đây không đòi hỏi các yêu cầu về tính xác thực và toàn vẹn,
do các chứng chỉ tự bảo vệ (chữ ký số của CA có trong chứng chỉ cung cấp bảo vệ xác thực và toàn vẹn) Chứng chỉ không thể làm giả bởi vì người sử dụng chứng chỉ
có thể kiểm tra chính xác chữ ký số của CA trên chứng chỉ Chính vì vậy, các chứng chỉ được phát hành theo các cách không an toàn, ví dụ như thông qua các máy chủ, các hệ thống danh bạ và/hoặc các giao thức truyền thông không an toàn Lợi ích cơ bản của một hệ thống phân phối khoá công khai bằng chứng chỉ là một người sử dụng có thể có được một số lượng lớn các khoá công khai của các thành
Trang 33viên khác một cách đáng tin cậy, xuất phát từ thông tin khoá công khai của một thành viên, đó chính là khoá công khai của CA
Trang 342.3 CÁC THÀNH PHẦN CHÍNH CỦA PKI
2.3.1 End Entity
Là người dùng cuối, thiết bị (chẳng hạn Server, router, ) hoặc một đối tượng nào
đó được xác định trong trường chủ thể của chứng chỉ khoá công khai Nói cách khác end entity là các ứng dụng PKI, và các đối tượng tham gia trong các giao dịch điện tử
2.3.2 CA (Certification Authority)
Là thành phần rất cơ bản của PKI vì nó là thành phần phát hành chứng chỉ khoá công khai Các chứng chỉ khoá công khai được ký bởi CA CA cũng chịu trách nhiệm phát hành các CRL trừ khi chúng được uỷ quyền cho các nhà phát hành CRL riêng biệt CA cũng có thể thực hiện một nhiệm vụ quản trị chẳng hạn như đăng ký người dùng cuối tuy nhiên những nhiệm vụ này thông thường được thực hiện tại các RA CA cũng có thể thực hiện các chức năng sao lưu và khôi phục khoá
CA có thể là một thành phần thứ ba đứng độc lập hoặc các tổ chức tự vận hành phần mềm cấp chứng chỉ số của mình
Chữ ký số của CA cấp chứng chỉ: Còn gọi là chứng chỉ gốc Đây chính là sự xác nhận của CA, bảo đảm tính chính xác và hợp lệ của chứng chỉ Muốn kiểm tra một chứng chỉ số, trước tiên phải kiểm tra chữ ký số của CA có hợp lệ hay không
2.3.2.1 Cấu trúc tổ chức của hệ thống CA : có thể chia làm ba loại:
Cấu trúc riêng lẻ : CA tự cấp chứng chỉ số cho mình Cấu trúc này thường được sử dụng trong nội bộ một đơn vị như trong một trường đại học, một
cơ quan nghiên cứu
Cấu trúc mắt lưới : được ứng dụng trong một cộng đồng các CA tin cậy lẫn nhau Các CA trong cấu trúc mắt lưới có quan hệ ngang hàng và thường cấp chứng chỉ cho nhau
Cấu trúc hình cây : Là cấu trúc phổ biến nhất, nó bao gồm các thành phần
cơ bản như Hình 1
Trang 352.3.2.2 Các cấu trúc quan hệ của CA
Khi sử dụng khoá công khai của một thành viên từ xa, cần phải tìm và phê chuẩn một đường dẫn chứng thực đầy đủ, đường dẫn chứng thực này đi qua nhiều CA, từ khoá công khai này tới một CA gốc, khoá công khai của các CA trên đường dẫn được lưu giữ trong một khuôn dạng tin cậy Để xây dựng các PKI lớn và có khả năng mở rộng, một trong các vấn đề chính cần giải quyết là làm cho việc tìm và phê chuẩn các đường dẫn chứng thực trở nên thuận tiện Có nghĩa là thiết lập các quy ước cấu trúc quản lý, trong đó các CA chứng thực các CA khác như thế nào, các quy ước cấu trúc này đôi khi được gọi là các mô hình tin cậy Tuy nhiên, sự tin cậy không phải là câu hỏi duy nhất được đặt ra Tiếp theo sau, chúng ta tìm hiểu các chuẩn bị cấu trúc chính, các chuẩn bị này đã được đề xuất và được sử dụng trong việc phát triển các PKI
Về cấu trúc quan hệ của hệ thống CA có thể chia làm ba loại:
- Cấu trúc phân cấp tổng quát
- Cấu trúc phân cấp với liên kết bổ sung
- Cấu trúc phân cấp trên - xuống
Ở đây tôi chỉ trình bày chi tiết về cấu trúc CA dạng phân cấp tổng quát :
Để quy gọn vấn đề cơ bản về một dạng đơn giản nhất, chúng ta cần liên kết một cách có hệ thống các cặp khoá của các thành viên (nằm trong một cộng đồng lớn) thông qua các đường dẫn ngắn có thể chấp nhận được, với mỗi đường dẫn đi qua
Trang 36các CA tin cậy Theo lý thuyết đồ thị toán học, thông qua cấu trúc cây hoặc phân cấp, chúng ta tìm ra một cách giải quyết hiệu quả và hệ thống đối với vấn đề này
Khi xem xét cấu trúc trong hình 2.4, các thực thể có tên bằng chữ hoa (ví dụ như Z,
X và Y) là các CA Các thực thể có tên bằng chữ thường (ví dụ như a, b và c) là các
thực thể cuối, hoặc các thuê bao Các mũi tên một chiều chỉ ra rằng thực thể nguồn
đã phát hành một chứng chỉ, chứng chỉ này có chứa khoá công khai của thực thể đích; các mũi tên hai chiều chỉ ra rằng mỗi cặp CA phát hành các chứng chỉ cho nhau
Theo cấu trúc này, chúng ta có thể dễ dàng xây dựng được một đường dẫn chứng thực giữa các cặp thực thể cuối bất kỳ, không quan tâm đến việc mỗi thực thể cuối làm thế nào để xác định CA (hoặc nhiều CA) được chấp nhận như là một CA gốc (root CA) Lưu ý rằng, mỗi thực thể cuối thiết lập một mối quan hệ gần gũi với một
CA và quyết định chấp nhận nó như một CA gốc Ví dụ, thực thể cuối a thiết lập
một mối quan hệ gần gũi với CA A và chấp nhận khoá công khai của A như là
khoá công khai gốc Sau đó a có thể có được (một cách có hệ thống) một bản sao khoá công khai (đã được phê chuẩn) của các thực thể cuối khác trong cấu trúc, từ
đó tồn tại một đường dẫn chứng thực cho tất cả các thực thể cuối
Ví dụ, để có thể có được một bản sao khoá công khai của c (bản sao khoá công khai này đã được phê chuẩn), a phải xử lý một đường dẫn chứng thực của 3 chứng chỉ như sau:
Chứng chỉ của A dành cho CA Q , chứng chỉ này được CA A phát hành (lưu
ý rằng a luôn tin tưởng vào khoá công khai của A);
Chứng chỉ của A dành cho CA C , chứng chỉ này được CA Q phát hành;
Trang 37 Chứng chỉ của A dành cho thực thể cuối c, chứng chỉ này được CA C phát
CA (như đã được trình bày trong hình 2.5), có thể cho phép tới 100 triệu thực thể cuối phê chuẩn các khoá công khai của mỗi thực thể, với độ dài của các đường dẫn chứng thực không bao giờ vượt quá 7 chứng chỉ Nếu chúng ta thêm vào một mức các CA khác và cho trước độ dài đường dẫn tối đa là 9 chứng chỉ, thì có tới 10 tỷ thực thể cuối được hỗ trợ
Mô hình này có thể cho chúng ta cách xây dựng các đường dẫn chứng thực có độ dài ngắn hợp lý giữa một số lượng lớn các thực thể cuối, nhưng có một vấn đề cần quan tâm đó là sự tin cậy Khi sử dụng một đường dẫn chứng thực cho trước, người
sử dụng chứng chỉ phải tin cậy mọi CA trên đường dẫn và tiến hành các biện pháp phòng ngừa nhằm đảm bảo rằng không một thành viên nào khác có thể làm giả các chứng chỉ, có nghĩa là khoá riêng được sử dụng để ký chứng chỉ phải được bảo vệ chặt chẽ và không bị lộ
Một vấn đề xuất hiện trong cấu trúc phân cấp này là nhiều đường dẫn chứng thực mong muốn được đi qua các CA ở mức cao hơn, đặc biệt là CA mức cao nhất, đó là
Z Vì vậy, tất cả các thành viên trong cơ sở hạ tầng cần tin cậy Z Nếu một đối
tượng tấn công có được khoá riêng của Z (nhờ thoả hiệp) thì đối tượng tấn công này có thể làm giả các chữ ký số của những người ký trong cấu trúc và làm cho người kiểm tra chữ ký số (người này sử dụng đường dẫn chứng thực đi qua Z) tin rằng chữ ký giả là hợp lệ
Đôi khi, một mô hình được coi là thích hợp với cấu trúc phân cấp, trong đó CA Z là
một cơ quan chứng thực quốc tế; mức tiếp theo là các cơ quan chứng thực quốc gia,
ví dụ: X và Y là các cơ quan chứng thực quốc gia của Mỹ và Anh; mức CA thấp
hơn tương ứng với các tổ chức của quốc gia, các nhà kinh doanh, cơ quan và cộng đồng của các cá nhân Các mối quan tâm về sự tin cậy trở nên rõ ràng hơn Nếu cơ quan chứng thực của Mỹ bị thỏa hiệp (để lộ khoá), điều này cho phép một đối tượng tấn công:
Làm giả các chữ ký số của bất cứ người nào trên nước Mỹ và làm cho mọi
Trang 38người trên thế giới tin rằng các chữ ký là hợp lệ;
Làm giả các chữ ký số của bất cứ người nào ở bên ngoài nước Mỹ và làm cho mọi người trên nước Mỹ tin rằng các chữ ký là hợp lệ
Đối với Z, các hậu quả của việc lộ khoá rất nghiêm trọng Một đối tượng tấn công
có thể làm giả các chữ ký số của bất cứ người nào trên thế giới và làm cho mọi người ở các nước khác tin rằng các chữ ký đều hợp lệ (Nếu các quy tắc ràng buộc
có thể giới hạn các đường dẫn chứng thực trong nước, không được mở rộng tới cơ quan chứng thực mức cao nhất, các đường dẫn chứng thực trong một nước không nên bị co ngắn lại) Do các mối quan tâm về độ tin cậy, việc sử dụng cấu trúc phân cấp này không được chấp nhận và thực thi trong một số các lĩnh vực kinh doanh xác định hoặc trong các cộng đồng khép kín khác
2.3.2.3 Các nội dung của một chính sách chứng chỉ
Ở đây không có định nghĩa chuẩn về việc yêu cầu một chính sách chứng chỉ phải bao gồm những chủ đề gì Việc thiết lập các chủ đề (mà một CA thấy cần phải đưa vào và thoả mãn những người sử dụng chứng chỉ, như khả năng ứng dụng của các chứng chỉ đặc thù) rất đơn giản Các chủ đề điển hình như sau:
(a) Các giới hạn về khả năng ứng dụng và cộng đồng (Community and applicability
restrictions): CA có thể chỉ phát hành các chứng chỉ cho các thành viên trong
một cộng đồng riêng biệt theo một chính sách định sẵn Ví dụ, những người làm công của một tổ chức hoặc các thuê bao dịch vụ của một CA Ngoài ra, các chứng chỉ (tuân theo một chính sách đặc thù) được dự định dùng cho một mục đích xác định
(b) Chính sách xác thực và nhận dạng (Identification and authentication policy):
Đây là các hoạt động mà CA cần tuân theo khi nhận dạng và xác thực các chủ thể của chứng chỉ
(c) Chính sách quản lý khoá (Key Management policy): CA cần thực hiện các biện
pháp để bảo vệ các khoá mật mã của CA và khoá của các thuê bao của CA Người ta cũng mong muốn các thuê bao tự bảo vệ các khoá mật mã của mình
(d) Chính sách hoạt động (Operational policy): Đây là các hoạt động mà CA cần
tuân theo khi tiến hành các dịch vụ của mình, ví dụ, thường xuyên phát hành các danh sách các chứng chỉ bị thu hồi (CRL) và các thủ tục kiểm toán
(e) Chính sách an toàn cục bộ (Local security policy): Một CA, cơ quan đăng ký
địa phương (LRA), và/ hoặc thực thể cuối cần thực hiện các biện pháp để đảm bảo an toàn cho môi trường của chúng Trong đó, các biện pháp bảo vệ liên
Trang 39quan tới an toàn vật lý, an toàn cá nhân, bảo hành sản phẩm và an toàn truy nhập mạng
(f) Các điều khoản pháp lý (Legal provisions): Đây là một công bố về các giới hạn
trách nhiệm pháp lý (CA xác nhận công bố này), chẳng hạn, sử dụng các chứng chỉ theo một chính sách riêng biệt, cộng với các bác bỏ hợp pháp hoặc các điều khoản khác
(g) Quản lý chính sách (Policy administration): Tên, các thông tin chi tiết liên quan
đến cơ quan định nghĩa chính sách và các thông tin về các định nghĩa chính sách được duy trì và phát hành như thế nào
2.3.3 RA (Registration Authority)
Đây là một thành phần tuỳ chọn và có thể thực hiện một số chức năng từ CA
RA thông thường liên quan đến quá trình đăng ký của thành phần End entity
RA thông thường liên quan đến quá trình đăng ký End Entity, bao gồm cả việc kiểm tra định danh của End Entity đăng ký với PKI Tuy nhiên RA có thể thực hiện một số chức năng khác như:
- Phê chuẩn các thuộc tính của chủ thể yêu cầu chứng chỉ
- Sinh cặp khoá bí mật/công khai
- Tiến hành các tương tác với CA như là thành phần trung gian của End Entity
kể cả việc thông báo lộ khoá cũng như các yêu cầu khôi phục khoá
Cho dù RA có thể thực hiện nhiều chức năng của CA nhưng RA không bao giờ là người phát hành chứng chỉ khoá công khai
Trang 402.3.4 Repository:
Là cơ sở dữ liệu quản lý và lưu trữ toàn bộ cỏc chứng thực số đó được cấp cho tỡm kiếm và truy lục Cho phộp truy xuất trực tuyến cho xỏc thực tớnh hợp lệ của một chứng thực số
CSDL cỏc thụng tin liờn quan đến PKI Repository cú thể là danh bạ X500 với truy nhập của khỏch hàng bằng LDAP Vấn đề mấu chốt ở đõy là cỏc End Entity phải cú một cơ chế nào đú để tỡm kiếm được những chứng chỉ và những CRL cần thiết
Hai vấn đề quan trọng cần được quan tõm nhiều nhất trong thiết lập cỏc hệ thống khoỏ cụng khai trờn phạm vi lớn là làm thế nào để tỡm được một đường dẫn chứng thực thớch hợp và khi tỡm được rồi thỡ phờ chuẩn nú như thế nào Cỏc chức năng này phải được thiết lập trong tất cả cỏc hệ thống sử dụng chứng chỉ (hoặc trong mỏy chủ hỗ trợ cho hệ thống này) Tốt nhất chỳng ta nờn tỏch riờng cỏc thiết lập này, vỡ việc phỏt hiện đường dẫn chứng thực khụng phải là một chức năng an toàn thiết yếu, việc phờ chuẩn đường dẫn chứng thực mới là chức năng an toàn thiết yếu
Chứng chỉ
Hình 2.6 Vấn đề tìm đ-ờng dẫn chứng thực
tổng quát