Tài liệu HẠ TẦNG KHOÁ CÔNG KHAI - Đồ án tốt nghiệp - Pdf 95

Mục lục HẠ TẦNG KHOÁ CÔNG KHAI
Dong Manh Quan Trang 1 23/08/2005
QMỤC LỤC
MỤC LỤC 1
CÁC THUẬT NGỮ 5
ĐẶT VẤN ĐỀ 7
1 TỔNG QUAN VỀ PKI 8
1.1. KHÁI QUÁT 8
1.2. CÁC DỊCH VỤ VÀ PHẠM VI ỨNG DỤNG CỦA PKI 8
1.2.1. Các yêu cầu cơ bản của an toàn an ninh thông tin 8
1.2.2. Khả năng đáp ứng của các dịch vụ sử dụng PKI 9
1.2.3. Các dịch vụ an toàn an ninh dựa trên hệ thống PKI 9
1.3. CÁC ĐỐI TƯỢNG CƠ BẢN CỦA HỆ THỐNG PKI 10
1.3.1. Chủ thể và các đối tượng sử dụng 10
1.3.2. Đối tượng quản lý thẻ xác nhận 11
1.3.3. Đối tượng quản lý đăng ký thẻ xác nhận 11
1.4. CÁC HOẠT ĐỘNG CƠ BẢN TRONG HỆ THỐNG PKI 12
1.4.1. Mô hình tổng quát của hệ thống PKI 12
1.4.2. Thiết lập các thẻ xác nhận 12
1.4.3. Khởi tạo các EE 12
1.4.4. Các hoạt động liên quan đến thẻ xác nhận 13
1.4.4.1. Đăng ký và xác nhận ban đầu 13
1.4.4.2. Cập nhật thông tin về cặp khoá 13
1.4.4.3. Cập nhật thông tin về thẻ xác nhận 13
1.4.4.4. Cập nhật thông tin về cặp khoá của CA 13
1.4.4.5. Yêu cầu xác nhận ngang hàng 14
1.4.4.6. Cập nhật thẻ xác nhận ngang hàng 14
1.4.5. Phát hành thẻ và danh sách thẻ bị huỷ bỏ 14
1.4.6. Các hoạt động phục hồi 14
1.4.7. Các hoạt động huỷ bỏ 15
1.5. CẤU TRÚC CỦA CÁC THÔNG ĐIỆP PKI 15

2.1.1.2. Những khuyết điểm của kiến trúc PKI phân cấp 25
2.1.2. Kiến trúc hệ thống PKI mạng lưới 26
2.1.2.1. Ưu điểm của kiến trúc PKI mạng lưới 26
2.1.2.2. Nhược điểm của mô hình PKI mạng lưới 27
2.1.3. Kiến trúc danh sách tin cậy 27
2.1.3.1. Ưu điểm của kiến trúc PKI danh sách tin cậy 27
2.1.3.2. Nhược điểm của kiến trúc PKI danh sách tin cậy 28
2.2. NHỮNG CHỨC NĂNG BẮT BUỘC TRONG QUẢN LÝ PKI 29
2.2.1. Khởi tạo CA gốc 29
2.2.2. Cập nhật khoá của CA gốc 29
2.2.3. Khởi tạo các CA thứ cấp 29
2.2.4. Tạo lập CRL 29
2.2.5. Yêu cầu về thông tin hệ thống PKI 30
2.2.6. Xác nhận ngang hàng 30
2.2.7. Khởi tạo các EE 30
2.2.7.1. Thu thập thông tin về hệ thống PKI 30
2.2.7.2. Kiểm tra khoá công khai của CA gốc 30
2.2.8. Yêu cầu xác nhận 30
2.2.9. Cập nhật khoá 30
3 THẺ XÁC NHẬN THEO CHUẨN X.509 32
3.1. CÁC TRƯỜNG CƠ BẢN CỦA THẺ XÁC NHẬN 32
3.1.1. Trường tbsCertificate 32
3.1.2. Trường signatureAlgorithm 32
3.1.3. Trường signatureValue 33
3.2. CẤU TRÚC TBSCERTIFICATE 33
3.2.1. Trường version 33
3.2.2. Trường serialNumber 33
3.2.3. Trường signature 34
3.2.4. Trường issuer 34
3.2.5. Trường validity 35

4.2.1. Mô hình thiết lập và quản lý kết nối 46
4.2.1.1. Phân tích yêu cầu 46
4.2.1.2. Phương thức thực hiện 47
4.2.2. Sử dụng các dịch vụ bảo mật 47
4.2.2.1. Giới thiệu về các công cụ an toàn an ninh của hệ điều hành 47
4.2.2.2. Những đánh giá và giải pháp 48
4.2.2.3. Kết luận 49
4.2.3. Tạo và phân tích các cấu trúc dữ liệu cơ bản 49
4.2.3.1. Các thẻ xác nhận 49
4.2.3.2. Các thông điệp PKI 50
4.2.4. Các công cụ quản trị hệ thống 50
4.2.4.1. Công cụ quản lý người sử dụng 50
4.2.4.2. Công cụ tạo và quản lý chính sách 51
4.2.4.3. Công cụ quản lý danh sách thẻ xác nhận 51
4.2.4.4. Công cụ quản lý các sự kiện đối với hệ thống 52
4.2.5. Lưu trữ dữ liệu 52
4.2.5.1. Lưu thông tin quản lý đối tượng sử dụng chương trình 52
4.2.5.2. Lưu thông tin chính sách về thẻ xác nhận 52
4.2.5.3. Lưu trữ thông tin về thẻ xác nhận 53
4.2.6. Chức năng mã hoá dữ liệu 53
4.2.6.1. Sự cần thiết của chức năng 53
4.2.6.2. Định hướng xây dựng 53
4.2.6.3. Lưu đồ thuật toán thực hiện 54
4.2.7. Phân tích thiết kế chi tiết các chức năng hệ thống PKI 54
4.2.7.1. Khởi tạo CA 54
4.2.7.2. Khởi tạo EE 56
4.2.7.3. Cập nhật khoá của CA 58
4.2.7.4. Yêu cầu và cấp phát thẻ xác nhận 60
4.2.7.5. Yêu cầu và cấp thẻ xác nhận ngang hàng giữa các CA 61
4.2.7.6. Yêu cầu và trả lời những thông tin về trạng thái của CA 64

5.2.3. Các chức năng quản lý kết nối 76
5.2.4. Các công cụ quản lý hệ thống 76
5.2.4.1. Quản lý người sử dụng hệ thống 76
5.2.4.2. Công cụ thiết lập và quản lý chính sách thẻ xác nhận 77
5.2.4.3. Công cụ quản lý các sự kiện đối với hệ thống 77
5.2.4.4. Chức năng mã hoá dữ liệu 78
TÀI LIỆU THAM KHẢO 79
Các thuật ngữ HẠ TẦNG KHOÁ CÔNG KHAI
Dong Manh Quan Trang 5 23/08/2005
CÁC THUẬT NGỮ
An toàn an ninh thông tin
(Information Security)
Là các biện pháp tác động lện hệ thống thông tin và bản
thân thông tin để đảm bảo thông tin không bị thay đổi, phá
huỷ. Đồng thời, kiểm soát được các đối tượng truyền và
nhận thông tin.
Bí mật thông tin
(Confidentiality)
Thông tin không được tiết lộ cho các đối tượng không được
cho phép.
CA cấp dưới
(Subordinate CA)
Là những CA mà trong một mô hình PKI phân cấp, thẻ xác
nhận của nó được xác nhận bởi một CA khác. Những hoạt
động của CA này chịu sự giám sát của chính CA đó.
CA cấp trên
(Superior CA)
Là những CA chứng nhận những thẻ xác nhận và giám sát
hoạt động của các CA khác.
CA gốc

(Trust List)
Tập hợp các thẻ xác nhận đã được một đối tượng sử dụng
tin cậy và dùng để xác thực những thẻ xác nhận khác.
Danh sách thẻ xác nhận bị huỷ bỏ
(Certificate Revocation List - CRL)
Một danh sách do CA quản lý bao gồm các thẻ xác nhận bị
huỷ bỏ trước khi chúng hết hạn.
Dữ liệu chưa mã hóa
(Plaintext)
Dữ liệu ở đầu vào của một thủ tục mã hoá bảo mật
Dữ liệu đã mã hóa
(Ciphertext)
Dữ liệu ở đầu ra của một thủ tục mã hoá bảo mật.
Định danh đối tượng
(Object Identifier – OID)
Là một só có định dạng riêng và đã được đăng ký với một tổ
chức được công nhận trên phạm vi quốc tế.
Đối tượng quản lý đăng ký
(Registration Authority - RA)
Là đối tượng có vai trò phân biệt và xác thực các đối tượng
của thẻ xác nhận nhưng không ký và cấp các thẻ xác nhận.
Đối tượng quản lý xác nhận
(Certification Authority – CA)
Là đối tượng được tin cậy bởi một nhóm người sử dụng nhất
định với chức năng phát hành và quản lý các thẻ xác nhận
và danh sách thẻ xác nhận bị huỷ bỏ.
Các thuật ngữ HẠ TẦNG KHOÁ CÔNG KHAI
6
Hạ tầng khoá công khai
(Public Key Infrastructure - PKI)

Mã hoá bảo mật
(Encrypt)
Quá trình biến đổi thông tin ban đầu thành thông tin có dạng
trực quan là ngẫu nhiên và vô nghĩa.
Mã hoá dữ liệu
(Encode)
Quá trình đóng gói thông tin thành các khuôn dạng phù hợp
để truyền thông hoặc lưu trữ.
Mã xác thực thông điệp
(Message Authentication Code -
MAC)
Là chuỗi các bit được tạo ra thông qua các thuật toán tạo mã
xác thực thông điệp dựa trên các hàm phân tách. Mã này
được sử dụng để giúp đối tượng nhận có thể đảm bảo mình
nhận được đúng thông tin mình cần.
Phương tiện lưu trữ
(Repository)
Một hệ thống với phần cốt lõi là cơ sở dữ liệu chứa thông tin
về thẻ xác nhận và danh sách thẻ xác nhận bị huỷ bỏ.
Tấn công phát lại gói tin
(Replay Attack)
Là hình thức tấn công dựa trên việc bắt gói tin truyền đến,
thực hiện các chỉnh sửa theo ý muốn và phát đi trong các
thời điểm sau này tới các đối tượng nhận.
Tin cậy
(Trust)
Là việc chấp nhận một hành động hoặc một thể hiện của đối
tượng nào đó là đúng.
Toàn vẹn dữ liệu
(Data Integerity)

các đối tượng tham gia truyền thông, còn khoá riêng chỉ do đối tượng đó nắm giữ.
Đối tượng truyền sẽ mã hoá thông tin cần truyền với khoá công khai của đối tượng nhận.
Sau đó, thông tin đã mã hoá sẽ được truyền đến cho đối tượng nhận. Sau khi nhận được
thông tin truyền đến, đối tượng nhận sẽ giải mã thông tin truyền đến với khoá riêng của
mình.
Khi các dịch vụ an toàn sử dụng khoá công khai được phát triển r
ộng rãi thì việc quản lý
đối tượng cùng với khoá công khai trở nên phức tạp và phải đối mặt với nhiều vấn đề về
an toàn và an ninh thông tin. Mặt khác, do phạm vi ứng dụng của các thông tin về khoá
công khai là rất rộng lớn (có thể là trong phạm vi quốc gia hoặc xuyên quốc gia) nên phải
có được sự thống nhất về các khoá công khai để đảm bảo các đối tượng có thể tham gia
truyền thông ở nhiều phạm vi khác nhau với nhiề
u dịch vụ an toàn và an ninh khác nhau.
Trong những năm gần đây, một hướng giải quyết đã được nghiên cứu và triển khai, đó là
Hạ Tầng Khoá Công Khai (Public Key Infrastructure - PKI). PKI là dịch vụ ở mức nền, nó
đảm bảo về việc tạo lập, quản lý và phân phát các khoá công khai của những đối tượng
tham gia vào các dịch vụ an toàn, an ninh (dựa trên phương thức mã hoá với khoá công
khai) thông qua các thẻ xác nhận. PKI có thể được triển khai trên nhiều phạm vi khác
nhau; do vậy, nó có th
ể giải quyết những khó khăn mà các ứng dụng an toàn an ninh gặp
phải khi phải triển khai trên phạm vi rộng và đối tượng sử dụng đa dạng.
Việc nghiên cứu và triển khai hệ thống PKI trong phạm vi một doanh nghiệp hay ở tầm cỡ
một quốc gia đều đòi hỏi phải có những nghiên cứu kỹ lưỡng và một tầm nhìn chiến lược.
Theo nhiều ý kiến nhận định, PKI có tiề
m năng phát triển và ứng dụng rất lớn. Nó sẽ
được ứng dụng rộng rãi trong các việc đảm bảo an toàn và an ninh cho các hệ thống
thông tin, trong thương mại điện tử, trong các kênh liên lạc an toàn. Nói chung, PKI là cần
thiết cho hầu hết các ứng dụng sử dụng phương thức mã hoá bảo mật với khoá công
khai.
Với mục tiêu tìm hiểu và nghiên cứu những đặc trưng và các hoạt động cơ bản của hệ

đối tượng yêu cầu một thẻ xác nhận của CA sẽ do RA đảm nhận.
Đúng như tên gọi của nó, PKI là một dịch vụ nền cho các dịch vụ an toàn an ninh dựa
trên các thẻ xác nhận. Trong các hệ thống này, PKI đảm nhận vai trò tạo lập, quản lý và
phân phát các thẻ xác nhận cho các đối tượng truy
ền thông. Nói tóm lại, tất cả các chức
năng quản lý của hệ thống PKI đều hướng tới một yêu cầu duy nhất: Quản lý các đối
tượng sử dụng trong hệ thống với khoá công khai của các đối tượng đó.
1.2. CÁC DỊCH VỤ VÀ PHẠM VI ỨNG DỤNG CỦA PKI
Trong phần này, ta hãy tìm hiểu những yêu cầu cơ bản nhất của an toàn an ninh thông
tin. Từ đó, xem xét những dịch vụ mà hệ thống PKI cung cấp để đáp ứng những yêu cầu
đã nêu và đánh giá phạm vi ứng dụng của hệ thống này.
1.2.1. Các yêu cầu cơ bản của an toàn an ninh thông tin
An toàn an ninh thông tin bao hàm nhiều vấn đề khác nhau, trong đó, nếu nói đến các
biện pháp an toàn an ninh có sử dụng các phương pháp mã hoá (với khoá công khai), ta
có thể kể đến 4 yêu cầu cơ bản sau đây:
Tổng quan về PKI HẠ TẦNG KHOÁ CÔNG KHAI
9
1. Toàn vẹn dữ liệu: Toàn vẹn dữ liệu đảm bảo cho thông tin không bị thay đổi bởi
những đối tượng không được cấp thẩm quyền.
2. Không thể bác bỏ: Các đối tượng không thể bác bỏ những hành động mà mình đã
thực hiện.
3. Xác thực đối tượng: Khả năng xác thực đối tượng cho các đối tượng truyền tin biết
chắc mình đang giao tiếp với
đối tượng nào.
4. Bí mật thông tin: Bí mật thông tin là yêu cầu trong việc đảm bảo rằng nếu A muốn
truyền thông tin cho B thì chỉ có B có thể đọc được thông tin này.
1.2.2. Khả năng đáp ứng của các dịch vụ sử dụng PKI
Trong phần này, ta sẽ lấy những ví dụ để minh hoạ khả năng đảm bảo các yêu cầu về an
toàn an ninh mà các dịch vụ sử dụng PKI (thực chất là các dịch vụ sử dụng phương thức
mã hoá với khoá công khai) có thể đáp ứng. Để tiện minh hoạ, ta lấy phương thức chữ ký

Tổng quan về PKI HẠ TẦNG KHOÁ CÔNG KHAI
10

Hình 1-1 Các ứng dụng dựa trên hệ thống PKI
1.3. CÁC ĐỐI TƯỢNG CƠ BẢN CỦA HỆ THỐNG PKI
Dưới góc độ các hoạt động quản lý hệ thống PKI, những đối tượng tham gia vào hệ thống
PKI bao gồm: các đối tượng sử dụng (EE), các đối tượng quản lý thẻ xác nhận (CA) và
các đối tượng quản lý đăng ký (RA) và các hệ thống lưu trữ.
1.3.1. Chủ thể và các đối tượng sử dụng
Khái niệm chủ thể được sử dụng để chỉ đối tượng được ghi tên trong trường subject của
một thẻ xác nhận. Tuy nhiên, để tránh nhầm lẫn chủ thể với tên một trường của thẻ xác
nhận, ta nên dùng cụm từ đối tượng sử dụng. Ta cần lưu ý: Một chủ thể có thể là một CA
hoặc một EE, đây là do đặc tính của quá trình cấp phát thẻ
xác nhận. Thẻ xác nhận có
thể được cấp cho CA hoặc EE. Tuy nhiên, ta chỉ gọi các EE là đối tượng sử dụng vì chỉ
những thẻ cấp cho đối tượng loại này mới được sử dụng trực tiếp trong các dịch vụ an
toàn an ninh. Thẻ xác nhận cấp cho các CA chủ yếu được dùng để hình thành mối tin cậy
giữa chúng.
Có một điều quan trọng mà ta cần lưu ý là khái niệm đối tượng sử
dụng không chỉ bao
hàm những người sử dụng các dịch vụ mà còn là chính bản thân các dịch vụ đó. Đây là
một điều hiển nhiên bởi vì các trình ứng dụng an toàn an ninh được đề cập đến ở đây là
những dịch vụ dựa trên thẻ xác nhận. Điều này sẽ ảnh hưởng đến những giao thức mà
các hoạt động của hệ thống PKI sử dụng. Ví dụ, m
ột phần mềm ứng dụng có thể biết
chắc những trường mở rộng nào của một thẻ xác nhận là cần thiết trong khi một người
sử dụng phần mềm đó thì lại hầu như không biết về những thông tin này. Trong một số
trường hợp cho phép, ta có thể coi các đối tượng sử dụng là những đối tượng không
thuộc loại các đối tượng quản lý hệ
thống PKI.

được thực hiện trên đường truyền thông dùng để truyền các thẻ xác nhận. Ở
đây có thể
sử dụng những phương pháp phân phát thông tin dựa trên giấy tờ và thư tín. Ta cũng
cần lưu ý một điều là CA gốc không nhất thiết phải nằm trên đỉnh của một cây phân cấp
biểu diễn hệ thống. Điều cần quan tâm là CA gốc được tin cậy trực tiếp bởi một hoặc một
số đối tượng sử dụng.
Một CA thứ
cấp nếu xét trên phương diện của các đối tượng sử dụng thì là bất kỳ CA nào
khác với CA gốc. Thông thường, một CA thứ cấp sẽ không là CA gốc của bất kỳ đối
tượng sử dụng nào. Tuy nhiên, điều này không phải là hoàn toàn bắt buộc.
1.3.3. Đối tượng quản lý đăng ký thẻ xác nhận
Trong nhiều môi trường hoạt động, việc tách riêng RA khỏi CA là một việc cần thiết. Chức
năng của RA trong các trường hợp khác nhau cũng khác nhau. Tuy nhiên, RA có thể có
môt số chức năng như sau:
1. Xác thực cá nhân.
2. Phân phát các thẻ xác nhận.
3. Thông báo huỷ bỏ.
4. Gán tên cho các đối tượng.
5. Sinh khoá.
6. Lưu trữ các cặp khóa riêng và khoá công khai.
Tng quan v PKI H TNG KHO CễNG KHAI
12
RA cú th c coi l mt thnh phn khụng bt buc. Tuy nhiờn, khi RA ng c lp
thỡ CA phi m nhn nhng chc nng trờn. Ngha l cỏc chc nng m CA cú c
cho cỏc i tng phi ging nh trong trng hp CA v RA ng c lp.
V bn cht, RA cng l mt i tng s dng. Tt c cỏc RA u c xỏc nhn v cú
cỏc khoỏ riờng dựng trong vic to ch ký s cho cỏc thụng tin m nú cp phỏt. Trong
mt s trng hp, cỏc i tng s dng cú th liờn h trc tip vi CA qun lý mỡnh
mc dự trong h thng vn cú mt RA. Vớ d, trong cỏc th tc ng ký v xỏc nhn ban
u, nú phi liờn h trc tip vi CA cp nht thụng tin v th xỏc nhn ca mỡnh.


Hỡnh 1-2 Cỏc i tng v hot ng c bn trong h thng PKI
Da trờn cỏc thụng ip c nh ngha (s c trỡnh by chi tit trong cỏc phn sau)
v xột mt mc khỏi quỏt, cỏc hot ng ca h thng qun lý PKI cú th c phõn
thnh cỏc nhúm sau:
1.4.2. Thit lp cỏc th xỏc nhn
Cỏc th xỏc nhn c to ra trờn c s mt s thụng tin c bn (i tng phỏt hnh,
i tng s dng, thut toỏn to ch ký s, thi hn lu hnh ) v mt s thụng tin
m rng. Song song vi quỏ trỡnh to ra mt th xỏc nhn mi, ta cng cn tin hnh mt
s bc ph tr. Ta cú th k n vic to lp hoc cp nh
t danh sỏch cỏc th b hu
b, vic ng ti thụng tin v khoỏ cụng khai ca CA, lu th xỏc nhn va to c.
1.4.3. Khi to cỏc EE
Quỏ trỡnh ny ũi hi mt s bc c bn nh sau: Trc tiờn, i tng ny phi thu
thp c thụng tin v khoỏ cụng khai ca CA gc. iu ny giỳp cho cỏc thụng ip
Tổng quan về PKI HẠ TẦNG KHOÁ CÔNG KHAI
13
được truyền đi giữa đối tượng đó và CA gốc được đảm bảo an toàn và cũng là một
phương thức để xác thực EE Sau đó, EE phải thu thập thông tin về các tuỳ chọn được hỗ
trợ bởi đối tượng quản lý PKI. Điều này rất quan trọng vì nó ảnh hưởng đến giao thức
hoạt động và các thông điệp mà EE truyền đi hay nhận về.
1.4.4. Các hoạt động liên quan đến thẻ xác nhận
Có nhiều hoạt động liên quan tới thẻ xác nhận, các hoạt động đó được phân thành:
1.4.4.1. Đăng ký và xác nhận ban đầu
Trong quá trình này, trước tiên, EE phải thông báo cho CA hoặc RA biết về sự hiện diện
của mình trong hệ thống. Đối tượng được thông báo có quyền ưu tiên cao hơn là CA sẽ
cấp phát cho EE này một thẻ xác nhận khi nó chấp nhận yêu cầu. Kết quả của quá trình
này là một CA sẽ tạo ra một thẻ xác nhận cho EE ứng với khoá công khai mà EE này
cung cấp khi đăng ký. Đồng thời, CA này cũng gửi thẻ xác nhận này đến cho hệ thống


14
phải gửi được thông tin về cặp khoá công khai của mình tới tất cả các EE mà nó quản lý
theo kiểu multicast. Ngoài ra, nó còn phải gửi thông tin này đến các CA khác có liên quan.
1.4.4.5. Yêu cầu xác nhận ngang hàng
Khi diễn ra quá trình trao đổi thông tin giữa các CA ngang hàng, một CA có thể sẽ yêu
cầu CA còn lại gửi cho mình một thẻ xác nhận ngang hàng. Thẻ xác nhận ngang hàng
này về bản chất cũng giống với các thẻ xác nhận dành cho các EE. Trường subject của
thẻ xác nhận ngang hàng dùng để chỉ CA được cấp thẻ còn trường issuer được dùng để
chỉ CA cấp phát thẻ.
Trong các loại thẻ xác nhận ngang hàng, ta phân ra làm hai loại như sau: Nếu hai CA
thuộc về vùng qu
ản lý khác nhau, ta có thẻ xác nhận ngang hàng liên miền. Nếu hai CA
thuộc cùng một vùng quản lý thì ta gọi đó là thẻ xác nhận ngang hàng nội miền.
Đối với các thẻ xác nhận ngang hàng, ta có một số chú ý sau:
1. Trong nhiều hệ thống PKI, nếu không có những định nghĩa chi tiết hơn, các thẻ
xác nhận ngang hàng thường được hiểu là thẻ xác nhận ngang hàng liên miền.
2. Việc phát hành các thẻ xác nhận ngang hàng không nhất thiết phải được tiến
hành ở c
ả hai CA. Nghĩa là có cả trường hợp một CA được xác nhận bởi một CA
khác mà không có theo chiều ngược lại.
1.4.4.6. Cập nhật thẻ xác nhận ngang hàng
Việc cập nhật thẻ xác nhận ngang hàng cũng giống với việc cập nhật thẻ xác nhận cho
các đối tượng sử dụng. Tuy nhiên, các đối tượng có liên quan đến quá trình này chỉ là
các CA.
1.4.5. Phát hành thẻ và danh sách thẻ bị huỷ bỏ
Có những hoạt động của hệ thống quản lý PKI sẽ dẫn đến việc tạo ra các thẻ xác nhận
hoặc danh sách các thẻ xác nhận bị huỷ bỏ. Ta có hai hoạt động tiểu biểu thuộc loại này
là: phát hành thẻ xác nhận và phát hành danh sách thẻ xác nhận bị huỷ bỏ.
Khi CA phát hành một thẻ xác nhận, trước tiên, nó cần phải dựa trên định dạng của thẻ
xác nhận cần cấp. Sau khi có được các thông tin v

Đối với tất cả các hoạt động đã nêu trên, ta có một số l
ưu ý sau: Các giao thức làm việc
theo chế độ on-line không phải là giải pháp duy nhất để thực hiện các hoạt động trên. Đối
với tất cả các giao thức hoạt động theo chế độ on-line, ta đều có một phương thức hoạt
động theo chế độ off-line cho kết quả tương đương.
1.5. CẤU TRÚC CỦA CÁC THÔNG ĐIỆP PKI
Tất cả các quá trình trao đổi thông tin giữa các đối tượng trong hệ thống PKI đều được
thực hiện thông qua việc trao đổi các thông điệp được định nghĩa riêng cho hệ thống. Các
thông điệp này được tạo ra trên cơ sở các chức hoạt động cơ bản của hệ thống PKI đã
được nêu trong phần trước. Sau đây ta sẽ tìm hiểu chi tiết về các thông điệp được sử
dụ
ng trong hệ thống PKI.
1.5.1. Giới thiệu về nguyên tắc giả mã
Trong phần này, để tiện mô tả các cấu trúc thông điệp, ta sử dụng kiểu ngôn ngữ giả lập
trình C. Trong phần dưới đây, ta có đoạn mã mô tả cấu trúc chung của một thông điệp
PKI và những giải thích cho nguyên tắc giả mã của toàn bộ tài liệu.Tất cả các thông điệp
được sử dụng trong việc quản lý hệ thống PKI có cấu trúc chung như sau: PKIMessage ::= SEQUENCE {
header PKIHeader,
body PKIBody,
protection [0] PKIProtection OPTIONAL,
extraCerts [1] SEQUENCE SIZE(1 MAX) OF Certificate OPTIONAL }

1 2
3

hai trường tuỳ chọn. Hai trường cơ bản là:
1. Trường header: Trường này cho ta biết các thông tin liên quan đến các đối tượng
truyền và nhận trong hệ thống PKI. Trong hầu hết các thông điệp PKI, trường
header có định dạng giố
ng nhau. Trường này bắt buộc phải tồn tại trong mọi
thông điệp PKI và không được phép là rỗng.
2. Trường body: Trường này chứa nội dung mà thông điệp PKI cần truyền tải. Phần
này của thông điệp có cấu trúc không xác định. Định dạng của trường body trong
thông điệp sẽ tuỳ thuộc vào đối tượng tạo ra nó, vào thông tin nó truyền tải và nó
được tạo ra bởi chức năng nào của hệ th
ống. Trong những trường hợp đặc biệt,
trường body có thể là rỗng.
3. Trường protection: Trường này đóng vai trò bảo vệ cho thông tin được truyền đi.
Về nguyên tắc, các thông tin cần được bảo về thường được mã hoá và chứa
trong phần thân của thông điệp. Trường protection có vai trò bảo vệ ở lớp ngoài
cho cả thông điệp PKI. Thông thường, đây là những bit được tạo ra nhờ một số
thuật toán mã hoá bảo mật được hệ thống PKI hỗ trợ. Tuy nhiên, đây là một
Tổng quan về PKI HẠ TẦNG KHOÁ CÔNG KHAI
17
trường tùy chọn và trong thực tế ta ít sử dụng đến trường này. Trong phần mô tả
chi tiết, ta cũng sẽ không đề cập sâu hơn tới trường này.
4. Trường extraCerts: Đây là trường chứa mảng các thẻ xác nhận bổ sung. Các thẻ
xác nhận này thường có tác dụng giúp cho đối tượng nhận kiểm chứng thông tin
nhận được và xác thực đối tượng. Trường này cũng được đánh dấu là tuỳ chọn
và ta sẽ không mô tả chi tiết hơn nữa về nó trong các phần sau vì nó không
thường xuyên được sử dụng.
1.5.3. Trường PKIHeader
Tất cả các thông điệp PKI đều phải chứa phần thông tin header để xác định địa chỉ và
thực hiện các giao tác. Khi các thông điệp PKI được bảo vệ (sử dụng các phương thức
mã hoá) thì trường thông tin này cũng được mã hoá. Các trường thông tin có trong phần

được với thông điệp yêu cầu của mình trước đó.
7. senderNonce và recipNonce: Là những trường được sử dụng để bả
o vệ thông
điệp trước hình thức tấn công phát lại gói tin.
Tổng quan về PKI HẠ TẦNG KHOÁ CÔNG KHAI
18
8. messageTime: Là trường cho ta biết thời điểm người gửi tạo ra thông điệp. Điều
này giúp cho các đối tượng sử dụng có thể đồng bộ thời gian của mình với thời
gian của hệ thống quản lý.
9. freeText: Là trường được sử dụng để gửi một số thông điệp đến cho người nhận.
Có một điều cần phải đảm là ng
ười nhận phải đọc được thông tin trong trường
này. Điều đó có nghĩa là phía gửi và phía nhận phải thống nhất về phương thức
biểu diễn thông tin.
10. generalInfo: Là trường được sử dụng để lưu những dữ liệu bổ sung mà hệ thống
thiết bị của người nhận có thể xử lý được.
1.5.4. Trường PKIBody
Dưới đây là mô tả về phần thân của thông điệp quản lý PKI.
PKIBody ::= CHOICE {
ir [0] CertReqMessages,
ip [1] CertRepMessage,
cr [2] CertReqMessages,
cp [3] CertRepMessage,
p10cr [4] CertificationRequest,
popdecc [5] POPODecKeyChallContent,
popdecr [6] POPODecKeyRespContent,
kur [7] CertReqMessages,
kup [8] CertRepMessage,
krr [9] CertReqMessages,
krp [10] KeyRecRepContent,

certReqId INTEGER,
Các trường đã chọn của thẻ xác nhận được phát hành
certTemplate CertTemplate,
Các thông tin liên quan đến quá trình phát hành
controls Controls OPTIONAL}
CertTemplate ::= SEQUENCE {
version [0] Version OPTIONAL,
serialNumber [1] INTEGER OPTIONAL,
signingAlg [2] AlgorithmIdentifier OPTIONAL,
issuer [3] Name OPTIONAL,
validity [4] OptionalValidity OPTIONAL,
subject [5] Name OPTIONAL,
publicKey [6] SubjectPublicKeyInfo OPTIONAL,
issuerUID [7] UniqueIdentifier OPTIONAL,
subjectUID [8] UniqueIdentifier OPTIONAL,
extensions [9] Extensions OPTIONAL}
OptionalValidity ::= SEQUENCE {
Ít nhất một trong hai trường phải tồn tại
notBefore [0] Time OPTIONAL,
notAfter [1] Time OPTIONAL}
Controls ::= SEQUENCE SIZE(1 MAX) OF AttributeTypeAndValue
AttributeTypeAndValue ::= SEQUENCE {
type OBJECT IDENTIFIER,
value ANY DEFINED BY type }
ProofOfPossession ::= CHOICE {
Được sử dụng nếu CA biết đối tượng yêu cầu đã có một khoá riêng
raVerified [0] NULL,
signature [1] POPOSigningKey,
keyEncipherment [2] POPOPrivKey,
keyAgreement [3] POPOPrivKey }

Được sử dụng trong quá trình thoả thuận khoá
dhMAC [2] BIT STRING }
SubsequentMessage ::= INTEGER {
Báo xem các thẻ xác nhận được lưu trong thông điệp có được mã hoá không
encrCert (0),
Báo hiệu CA phải tham gia vào một phiên hỏi đáp với một EE để chứng minh
sự sở hữu đối với khoá riêng mà nó nắm giữ
challengeResp (1) }
1.5.4.1. Thông điệp yêu cầu khởi tạo
Như mô tả trong phần giả mã lập trình, thông điệp yêu cầu khởi tạo (Initialization Request
– IR) có cấu trúc dữ liệu kiểu CertReqMessages. Thông điệp này chỉ ra thẻ xác nhận
được yêu cầu. Thông điệp này được sử dụng khi một EE lần đầu tiên được khởi tạo trong
hệ thống PKI.
1.5.4.2. Thông điệp trả lời yêu cầu khởi tạo
Thông điệp trả lời yêu cầu khởi tạo (Initialization Response - IP) là thông điệp có khuôn
dạng dữ liệu kiểu CertRepMessage. Nó được dùng để trả lời các thông điệp yêu cầu
thông tin về trạng thái của hệ thống PKI (PKIStatusInfo), về các đối tượng sử dụng hoặc
có thể là một khoá riêng. Thông thường, các thông tin trả về được mã hoá với một khoá
phiên đã định. Chính khoá phiên này lại được mã hoá bởi khoá được sử d
ụng trong giao
thức quản lý PKI (protocolEncKey).
1.5.4.3. Thông điệp yêu cầu đăng ký/yêu cầu thẻ xác nhận
Thông điệp yêu cầu đăng ký (Registration Request - RR) và thông điệp yêu cầu thẻ xác
nhận (Certificate Request - CR) là các thông điệp có cấu trúc kiểu CerReqMessages. Các
thông điệp này định ra những thẻ xác nhận được yêu cầu và được sử dụng khi một đối
tượng sử dụng muốn có thêm các thẻ xác nhận.
Trong trường hợp này, định dạng dữ liệu có thể là kiểu CertificationRequest nếu như các
thông điệp yêu cầu thẻ
xác nhận đối với các cặp khoá tạo chữ ký số khi hợp tác với các
hệ thống khác là cần thiết.

Khi cần gửi một thông điệp yêu cầu huỷ bỏ thẻ xác nhận (Revocation Request - RR), ta
sử dụng cấu trúc thông điệp như trong phần mô tả dưới đây. Tên của đối tượng gửi thông
điệp yêu cầu nằm trong phần header của thông điệp.
RevReqContent ::= SEQUENCE OF RevDetails
RevDetails ::= SEQUENCE {
Cho phép đối tuong yeu cau mo ta chi tiet ve the xac nhan no muon huy bo
certDetails CertTemplate,
Lý do của yêu cầu huỷ bỏ
revocationReason ReasonFlags OPTIONAL,
badSinceDate GeneralizedTime OPTIONAL,
EntryDetails Extensions OPTIONAL}
1.5.4.10. Thông điệp trả lời yêu cầu huỷ bỏ
Khi chấp nhận một yêu cầu huỷ bỏ (Revocation Response - RP), thông điệp sau đây
được gửi về cho đối tượng yêu cầu huỷ bỏ:
RevRepContent ::= SEQUENCE {
Thông báo trạng thái xử lý của CA đối với yêu cầu gửi đến
status SEQUENCE SIZE (1 MAX) OF PKIStatusInfo,
Tổng quan về PKI HẠ TẦNG KHOÁ CÔNG KHAI
22
Số hiệu thẻ xác nhận bị yêu cầu huỷ bỏ
revCerts [0] SEQUENCE SIZE (1 MAX) OF CertId OPTIONAL,
Các CRL có liên quan
crls [1] SEQUENCE SIZE (1 MAX) OF CertificateList OPTIONAL}
1.5.4.11. Thông điệp yêu cầu thẻ xác nhận ngang hàng
Việc yêu cầu thẻ xác nhận ngang hàng giữa (Cross-Cert. Request - CCR) các CA cũng
sử dụng cùng một kiểu thông điệp như khi các đối tượng sử dụng yêu cầu thẻ xác nhận
từ CA. Tuy nhiên, có một điểm ràng buộc là cặp khoá sử dụng để mã hoá thông điệp
chứa thẻ xác nhận phải do phía CA yêu cầu thẻ xác nhận tạo ra từ trước. Đồng thời,
khoá riêng trong cặp khoá này bắt buộc phải không được g
ửi đến cho CA trả lời.

Thông tin chi tiết về các CRL
crlDetails Extensions OPTIONAL}
Tổng quan về PKI HẠ TẦNG KHOÁ CÔNG KHAI
23
CA có thể sử dụng thông báo kiểu này để báo với chủ thể sở hữu thẻ xác nhận biết rằng
thẻ xác nhận mà đối tượng ấy nắm giữ sẽ hoặc đã bị huỷ bỏ. Nó chủ yếu được sử dụng
trong trường hợp đối tượng nắm giữ thẻ xác nhận không gửi yêu cầu huỷ bỏ. Nghĩa là
CA chủ động huỷ bỏ
một thẻ xác nhận. Trường willBeRevokedAt được dùng để xác định
thời điểm mà một chỉ mục mới ứng với thẻ xác nhận này được bổ sung vào danh sách
những thẻ xác nhận bị huỷ bỏ.
1.5.4.16. Thông điệp thông báo CRL
Khi một CA phát hành một hoặc một tập các CRL mới (CRL Announcement - CRLANN),
nó sẽ gửi đi thông điệp sau đây để thông báo về sự kiện này:
CRLAnnContent ::= SEQUENCE OF CertificateList
1.5.4.17. Thông điệp xác nhận
Thông điệp xác nhận (Confirmation - CONF) được sử dụng trong các hoạt động của giao
thức quản lý PKI theo kiểu yêu cầu - trả lời - xác nhận. Nội dung của thông điệp này giống
nhau trong tất cả các trường hợp vì bản thân phần header của thông điệp đã mang tất cả
các thông tin cần thiết.
PKIConfirmContent ::= NULL
1.5.4.18. Thông điệp PKI đa mục đích
Thông điệp PKI đa mục đích (General Message - GENM) được sử dụng trong một số
trường hợp truyền thông tin cho các thiết bị hoặc các trình ứng dụng của các đối tượng
sử dụng trong hệ thống. Khuôn dạng dữ liệu của thông điệp này như sau:
InfoTypeAndValue ::= SEQUENCE {
infoType OBJECT IDENTIFIER,
infoValue ANY DEFINED BY infoType OPTIONAL}
GenMsgContent ::= SEQUENCE OF InfoTypeAndValue
1.5.4.19. Thông điệp trả lời tổng quát

CA 2
EE EE (A)
CA 5
EE
EE
EEEEEEEE (B)
CA 4

Hình 2-1 Kiến trúc PKI phân cấp
Trong mô hình này, tất cả các đối tượng trong hệ thống đều phải biết khoá công khai của
CA gốc. Tất cả các thẻ xác nhận đều có thể được kiểm chứng bằng cách kiểm tra đường
dẫn của thẻ xác nhận đó đến CA gốc. Ví dụ, khi A muốn kiểm chứng thẻ xác nhận của B,
thẻ này do CA
4
cấp, do vậy A kiểm tra thẻ xác nhận của CA
4
; thẻ xác nhận của CA
4
lại do
Những vấn đề cơ bản trong xây dựng hệ thống PKI HẠ TẦNG KHOÁ CÔNG KHAI
25
CA
2
cung cấp nên A lại kiểm tra thẻ xác nhận của CA
2
; thẻ xác nhận của CA
2
là do CA
gốc cung cấp. Vì A biết khoá công khai của CA gốc nên nó có thể kiểm chứng trực tiếp.
Như vậy, trong kiến trúc của hệ thống PKI này, tất cả các đối tượng đều dựa trên sự tin

gốc phải được truyền đến cho tất cả các đối tượng trong hệ thống. Điều này đòi
hỏi thời gian và một lưu lượng truyền thông rất lớn.
Trong các hệ thống ban đầu được triển khai, mô hình phân cấp đã được ưu tiên sử dụng.
Tuy nhiên, phiên bản 3.0 của các thẻ xác nhận đã có những phần mở rộng hỗ tr
ợ quá
trình xác nhận không theo mô hình phân cấp. Do vậy, mô hình phân cấp ngày càng ít
được sử dụng.

Trích đoạn Lựa chọn mô hình hệ thống PKI Lựa chọn cấu trúc dữ liệu Phương thức thực hiện Những đánh giá và giải pháp
Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status