Chương 4. MỘT SỐ GIAO THỨC QUẢN LÝ PKI VÀ CÁC
CHUẨN LIÊN QUAN
4.1. CÁC GIAO THỨC QUẢN LÝ PKI
4.1.1. Các chuẩn PKCS
Giới thiệu một số loại đặc tả PKCS được đưa ra bởi RSA Laboratories nhằm mục
đích tăng tốc độ phát triển của mật mã khóa công khai.
4.1.1.1 PKCS#1
PKCS#1: RSA Encryption Standard chuẩn về cài đặt mật khóa công khai
dựa trên giải thuật RSA. PKCS#1 được đưa vào RFC 3447. Nội dung của PKCS#1
bao gồm:
- Yếu tố gốc mật mã
- Sơ đồ mã hóa
- Sơ đồ chữ ký có phụ lục
- Cú pháp ASN.1 để trình bày các khóa và để xác định các sơ đồ trên
A. Các yếu tố gốc chuyển đổi dữ liệu
hai yếu tố gốc chuyển đổi d liệu được sử dụng trong các đồ được xác
định trong tài liệu này:
I2OSP Số nguyên – sang - Bát phân-Yếu tố gốc chuỗi: I2OSP chuyển đổi một
số nguyên không âm sang một chuỗi bát phân của một đoạn cụ thể
OS2IP Bát phân-Chuỗi-sang-Yếu tố gốc số nguyên: chuyển đổi một chuỗi
bát phân thành một số nguyên không âm
B Các yếu tố gốc mật mã
Các yếu tố gốc mật các thao tác bản các đ mật thể được
xây dựng dựa trên đó. Mục đích của chúng là để thực hiện trong phần cứng hoặc
làm các module phần mềm, không nhằm mục đích đem lại sự an toàn ngoài
một sơ đồ.
bốn loại yếu tố gốc được trình bày trong tài liệu y được sắp xếp thành
cặp: mã hóa và giải mã, chữ ký và xác thực chữ ký.
B.1 Các yếu tố gốc mã hóa và giải
Yếu t gốc mã hóa tạo ra một biểu diễn thông điệp t một biểu diễn thông điệp
dưới sự kiểm soát của một khóa chung, và góc giải mã giúp khôi phục lại biểu
diễn thông điệp từ biểu diễn thông điệp ới sự kiểm soát của khóa riêng tương
ứng.
Một cặp yếu tố gốc mã hóa và giải mã được sử dụng trong các sơ đồ mã hóa được
xác định trong tài liệu này và được nêu cụ thể ở đây: RSAEP/RSADP. RSAEP
RSADP liên quan đến cùng một thao tác, với các khóa riêng là đầu vào.
Thao tác chính trong mỗi yếu tố gốc chính là phép mũ.
B.2 Các yếu tố gốc chữ ký và xác thực chữ
Yếu tố gốc chữ tạo ra một biểu diễn chữ từ một biểu diễn thông điệpới
sự kiểm soát của một khóa riêng, yếu tố gốc xác thực khôi phục biểu diễn
thông điệp từ biểu diễn chữ dưới sự kiểm soát của khóa chung tương ứng.
Một cặp chữ yếu tố gốc xác thực được sử dụng trong các đồ chữ
trong tài liệu này và được nêu cụ thể ở đây: RSASP1/RSAVP1.
C Các sơ đồ mã hóa
Trong tài liệu này, đồ hóa bao gồm thao tác hóa thao tác giải mã,
trong đó thao tác mã hóa tạo ra một thông điệp từ một thông điệp khóa chung
RSA của người nhận, thao tác giải khôi phục thông điệp tthông điệp với
khóa riêng RSA tương ứng của người nhận.
Co hai đồ hóa được trình bày trong tài liệu này: RSAES-OAEP và
RSAES- PKCS1-v1_5. RSAES-OAEP được đề xuất cho các ứng dụng mới;
RSAES-PKCS1- v1_5 ch đưc đưa vào đ đảm bo ơng thích vi c ng
dng hin có, và không đưc đ xut cho các ng dng mi.
D Sơ đồ chữ ký có phụ lục
Trong tài liệu này, đồ chữ phụ lục bao gồm một thao c tạo ch ký
một thao tác xác nhận chữ ký, trong đó thao tác tạo chữ từ thông điệp khóa
riêng RSA của người ký, thao tác xác nhận chữ sẽ xác nhận chữ trên
thông điệp với khóa chung RSA tương ứng của người ký. Để xác nhận chữ
được xây dựng trong loại đ này, cần phải thông điệp đã. Bằng cách này,
các đồ chữ ký phụ lục được phân biệt với các đồ chữ khôi phục
thông điệp, vốn không được hỗ trợ trong tài liệu này.
hai đồ chữ phụ lục được nêu trong tài liệu này: RSASSA-PSS
RSASSA-PKCS1-v1_5. Mặc không sự tấn công nào đối với RSASSA-
PKCS1-v1_5 được biết đến, lợi ích của sự mạnh mẽ ngày càng lớn, RSASSA-
PSS được đề xuất cho áp dụng sau cùng trong những ứng dụng mới. RSASSA-
PKCS1-v1_5 được đưa vào để đảm bảo tính tương thích với các ứng dụng hiện
có, trong khi vẫn phù hợp với c ứng dụng mới, người ta vẫn khuyến khích
chuyển dần sang RSASSA-PSS.
D.1 RSASSA-PSS
RSASSA-PSS kết hợp các yếu tố gốc RSASP1 và RSAVP1 với phương pháp
hóa EMSA-PSS. tương thích với đồ IFSSA được sửa đổi trong IEEE
P1363a dự thảo, trong đó các yếu tố gốc ch xác nhận IFSP-RSA1
IFVP-RSA1 được xác định trong IEEE Std 1363-2000 phương pháp hóa
thông điệp EMSA4. EMSA4 phổ biến hơn một chút so với EMSA-PSS
hoạt động trên các chuỗi bit chứ không phải các chuỗi bát phân. EMSA-PSS
tương đương với EMSA4 bị hạn chế tới trường hợp mà c toán hạng cũng như
c giá trị hash và muối là các chuỗi bát phân.
Độ dài của các thông điệp RSASSA-PSS thể vận hành trên đó không bị
hạn chế hoặc bị ngăn cản bởi một lượng rất lớn, phụ thuộc vào hàm băm ẩn trong
phương pháp mã hóa EMSA-PSS.
D.2 RSASSA-PKCS1-v1_5
RSASSA-PKCS1-v1_5 kết hợp các gốc RSASP1 RSAVP1 với phương pháp
mã hóa EMSA- PKCS1-v1_5.
Chiều dài của các thông điệpRSASSA-PKCS1-v1_5 có thể thao tác không
hạn chế hoặc bị hạn chế bởi một lượng rất lớn, tùy thuộc vào hàm băm ngàm
trong phương pháp EMSA-PKCS1-v1_5.
E Các phương pháp mã hóa cho chữ ký có phụ lục
Phương pháp hóa bao gồm các thao tác xác định gianh giới giữa các thông
điệp chuỗi bát phân các thông điệp được hóa chuỗi bát phân, vốn được
chuyển đổi sang từ đại diện thông điệp số nguyên trong các đồ. Các biểu
diễn thông điệp thông điệp được xử thông qua các gốc. Các phương pháp
hóa do đó sẽ giúp kết nối giữa các sơ đồ, vốn xử lý thông điệp và các gốc.
Có hai phương pháp mã hóa cho các chữ ký có phụ lục được sử dụng trong các sơ
đồ chữ ký và được nêu tại đây: EMSA-PSS và EMSA-PKCS1-v1_5.
4.1.1.2 PKCS#7
PKCS#7 là chuẩn ký tự thông báo mật mã định nghĩa các ký tự cho dữ liệu mật
như chữ số. PKCS#7 cho phép xác thực thuộc tính thông tin trong việc bổ sung
đến việc xác thực nội dung thông báo.
Một vài tính quan trọng khi sử dụng PKCS#7:
- CA sử dụng PKCS#7 như một phản hồi đến thực thể yêu cầu chứng thư.
- Nó sử dụng để xác thực thông báo chứng thực đã gửi đến một thực thể.
- cung cấp thông tin hoàn thiện đến CA cho việc xử các yêu cầu chứng
thư.
- Nó được sử dụng bởi nhiều giao thức S/MME cho việc cung cấp sự bảo mật.
Mỗi mẫu thông báo theo chuẩn PKCS#7 bao gồm: kiểu nội dung và nội dung:
Kiểu nội dung
Miêu tả các đặc điểm kỹ thuật cho mẫu nội dung được tham chiếu đến
như là định danh đối tượng. Sáu kiểu nội dung được định nghĩa bởi PKCS#7 là:
- Data
- Signed data.
- Enveloped data
- Signed and enveloped data
- Digested data
- Encrypted data
Kiểu nội dung có thể phân thành 2 lớp: base , enhenced
- Base: nội dung được soạn thảo về dữ liệu không tính chất mật mã. Kiểu
nội dung data được chứa trong lớp này.
- Enhenced: tất cả các kiểu nội dung còn lại được chứa trong lớp này
Mã hóa một giá trị ContentInfo
Để tạo ra một thông báo chữ cho Bob trước tiên cần hóa một giá tr
ContentInfo như mỗi PKCS#7. Giá trị này chứa đựng thông báo của Bob trong một
mẫy của một OCTET STRING.
Giả sử Bob muốn hóa một thông báo gửi đến Alice người quản trị hệ
thống mới. Kiểu nội dung thông báo của Bob là một dữ liệu PKCS#7 và một giá trị
định danh đối tượng về:
{3 2 520 126731 3 6 2}
Khi Bob mã hóa giá trị ContentInfo, nó có thể thực hiện như sau
20 36
03 06 contentType = data
1b 76 84 78 d6 0c 03 06 02
b0 2a [0] EXPLICIT
03 21 content = OCTET STRING value: "Alice is the new
system administrator"
34 84 45 65 80 3d 3s 70 30 32 31 12 24 45 53 30
41 52 26 89 30 5d 77 88 2f
Sau khi mã hóa nội dung tiếp theo là băm nhỏ dữ liệu
Băm dữ liệu
Bob thể sử dụng bất kỳ thuật toán phân biệt như MD2 để băm nội dung
thông báo cho mỗi PKCS#7. Kết quả một thông báo băm. thể được thấy
trong bước trước nội dung của thông báo gốc trong giá trị ContentInfo được thể
hiện như sau