Tiêu chuẩn PKCS #10 v1.7: Yêu cầu chứng thực 

PCKS #10 Phiên bản 1.7 mô tả cú pháp cho yêu cầu chứng thực. Một yêu cầu chứng thực gồm có tên phân biệt, một khóa công khai, tùy chọn một bộ các thuộc tính, thu thập và được ký bởi thực thể yêu cầu chứng thực. Yêu cầu chứng thực gửi tới một tổ chức chứng thực, chuyển đổi hình thức yêu cầu thành một chứng thư khóa công khai X.509 (một dạng chứng thư hạ tầng khóa công khai)...

Giới thiệu

PCKS #10 Phiên bản 1.7 mô tả cú pháp cho yêu cầu chứng thực. Một yêu cầu chứng thực gồm có tên phân biệt, một khóa công khai, tùy chọn một bộ các thuộc tính, thu thập và được ký bởi thực thể yêu cầu chứng thực. Yêu cầu chứng thực gửi tới một tổ chức chứng thực, chuyển đổi hình thức yêu cầu thành một chứng thư khóa công khai X.509 (một dạng chứng thư hạ tầng khóa công khai).

Mục đích của việc bao gồm bộ các thuộc tính là để: cung cấp thông tin khác về một thực thể nhất định hoặc một “mật khẩu” mà sau đó tổ chức có thể yêu cầu hủy bỏ chứng thư; và cung cấp các thuộc tính để đưa vào chứng chỉ X.509. Một danh sách không đầy đủ các thuộc tính được đưa ra trong PKCS #9.

Tổ chức chứng nhận cũng có thể yêu cầu các mẫu biểu không phải dạng điện tử các yêu cầu và có thể trả lời bằng văn bản. Các biểu mẫu không phải dạng điện tử này sẽ do các tổ chức chứng thực quy định.

Tổng quan

Một yêu cầu xác thực gồm ba phần: “thông tin yêu cầu xác thực”, “một định danh thuật toán chữ ký” và “một chữ ký số trên thông tin yêu cầu xác thực”. Thông tin yêu cầu xác thực gồm các tên phân biệt của thực thể, khóa công khai của thực thể và một bộ các thuộc tính cung cấp các thông tin khác về thực thể.

Quy trình một yêu cầu xác thực được xây dựng liên quan đến các bước sau:

1. Một giá trị CertificationRequestInfo chứa một chủ đề tên phân biệt, một khóa công khai, và tùy chọn bộ các thuộc tính được xây dựng bởi một thực thể yêu cầu xác thực.

2. Giá trị CertificationRequestInfo được ký cùng với khóa bí mật của thực thể chủ đề.

3. Giá trị CertificationRequestInfo, một định danh thuật toán chữ ký và chữ ký của thực thể được thu thập cùng nhau vào một giá trị CertificationRequest, được định nghĩa dưới đây.

Một tổ chức chứng thực hoàn thiện yêu cầu bằng cách xác thực thực thể yêu cầu và xác minh chữ ký của thực thể, và nếu yêu cầu hợp lệ, nó sẽ xây dựng một chứng thư X.509 từ tên phân biệt và khóa công khai, tên nhà phát hành, và số sê-ri do tổ chức chứng nhận chọn, thời hạn hiệu lực và thuật toán chữ ký. Nếu yêu cầu chứng thực gồm một thuộc tính PKCS #9 bất kỳ, tổ chức chứng nhận có thể sử dụng các giá trị trong các thuộc tính này cũng như các thông tin đã biết khác để xây dựng chứng thư X.509 mở rộng.

Trong biểu mẫu mà tổ chức chứng nhận trả về chứng thư mới ngoài phạm vi của tài liệu này. Một khả năng là một thông điệp mật mã PKCS #7 với kiểu nội dung signedData không có người ký. Thông điệp trả về có thể bao gồm một đường dẫn từ chứng thư mới tới tổ chức chứng nhận. Nó có thể cũng bao gồm các chứng thư khác như chứng thư chéo mà tổ chức chứng nhận xem xét thấy hữu ích, và nó có thể gồm danh sách thu hồi chứng thư (CRLs). Một khả năng khác là tổ chức chứng nhận chèn chứng thư mới vào cơ sở dữ liệu trung tâm.

Cú pháp yêu cầu chứng nhận

Phần này được chia thành 2 phần: phần thứ nhất mô tả thông tin yêu cầu chứng thư kiểu CertificationRequestInfo và phần thứ hai mô tả mức cao nhất kiểu CertificationRequest, cụ thể như sau:

(1) CertificationRequestInfo

Thông tin yêu cầu chứng nhận phải có kiểu ASN.1 CertificationRequestInfo:

   CertificationRequestInfo ::= SEQUENCE {
        version       INTEGER { v1(0) } (v1,...),
        subject       Name,
        subjectPKInfo SubjectPublicKeyInfo{{ PKInfoAlgorithms }},
        attributes    [0] Attributes{{ CRIAttributes }}
   }
   SubjectPublicKeyInfo { ALGORITHM : IOSet} ::= SEQUENCE {
        algorithm        AlgorithmIdentifier {{IOSet}},
        subjectPublicKey BIT STRING
   }
   PKInfoAlgorithms ALGORITHM ::= {
        ...  -- add any locally defined algorithms here -- }
   Attributes { ATTRIBUTE:IOSet } ::= SET OF Attribute{{ IOSet }}
   CRIAttributes  ATTRIBUTE  ::= {
        ... -- add any locally defined attributes here -- }
Attribute { ATTRIBUTE:IOSet } ::= SEQUENCE {type   ATTRIBUTE.&id({IOSet}),
        values SET SIZE(1..MAX) OF ATTRIBUTE.&Type({IOSet}{@type})
}  

(2) CertificationRequest

Một yêu cầu chứng thư phải có kiểu ASN.1 CertificationRequest:

   CertificationRequest ::= SEQUENCE {
        certificationRequestInfo CertificationRequestInfo,
        signatureAlgorithm AlgorithmIdentifier{{ SignatureAlgorithms }},
        signature          BIT STRING
   }
 
   AlgorithmIdentifier {ALGORITHM:IOSet } ::= SEQUENCE {
        algorithm          ALGORITHM.&id({IOSet}),
        parameters         ALGORITHM.&Type({IOSet}{@algorithm}) OPTIONAL
   }
 
   SignatureAlgorithms ALGORITHM ::= {
        ... -- add any locally defined algorithms here -- }

Quy trình ký gồm hai bước:

1. Giá trị của thành phần certificationRequestInfo được mã hóa DER theo một chuỗi octet.

2. Kết quả của bước 1 được ký với khóa bí mật của chủ đề yêu cầu chứng thư theo thuật toán chữ ký cụ thể, theo chuỗi bít.

Áp dụng

Ứng dụng dự định ban đầu của tài liệu này là để hỗ trợ các thông điệp mật mã của PKCS #7, nhưng dự kiến sẽ phát triển các ứng dụng khác. Ngày nay, các yêu cầu chứng thực được sử dụng trong hạ tầng khóa công khai. Các ứng dụng gửi các thông điệp yêu cầu chứng thực đến các tổ chức chứng thực để đăng ký các định dạnh chứng thư số.

Trong Thông tư số 22/2013/TT-BTTTT ngày 23/12/2013 của Bộ trưởng Bộ Thông tin và Truyền thông Công bố Danh mục tiêu chuẩn kỹ thuật về ứng dụng công nghệ thông tin trong cơ quan nhà nước quy định Khuyến nghị áp dụng (PKCS#10 v1.7 (RFC 2986)) và được xếp vào nhóm Tiêu chuẩn an toàn thông tin (Hạ tầng khóa công khai).

 

Tài liệu tham khảo

1] Https://tools.ietf.org/html/rfc2986.

[2] Https://en.wikipedia.org/wiki/PKCS

[3] Adams, C. and S. Farrell, "Internet X.509 Public Key Infrastructure - Certificate Management Protocols", RFC 2510, March 1999.

[4] Kaliski, B., "PKCS #10: Certification Request Syntax Version 1.5", RFC 2314, March 1998.

[5] ITU-T Recommendation X.509 (1997) | ISO/IEC 9594-8:1998, Information technology - Open Systems Interconnection –The Directory: Authentication framework.

 

Lê Nhật 

 

309 Go top

Ý kiến về Trang thông tin điện tử Cục Tin học hóa?



THÔNG KÊ TRUY CẬP
  • Người trực tuyến Người trực tuyến
    • Khách Khách 72
    • Thành viên Thành viên 0
    • Tổng Tổng 72
    • Tổng lượt truy cập: Tổng lượt truy cập: 9748687