Quy trình tạo và xác minh một chứng thư số
Trong các bài viết trước chúng ta đã tìm hiểu về khái niệm, thành phần và vòng đời của một chứng thư số. Vậy chứng thư số được tạo ra như thế nào? Cách thức xác minh một chứng thư số ra sao? Chúng ta sẽ tìm hiểu trong bài biết này.
Vậy những thành phần trên được tạo ra như nào, quy trình ra sao ta sẽ tìm hiểu rõ hơn qua hình dưới đây:
Quy trình tạo chứng thư sốQuy trình tạo chứng thư số:
Ở đây ta có thấy nhắc đến một khái niệm là CSR. CSR (Certificate Signing Request) là một tệp chứa thông tin về chủ thể yêu cầu cấp chứng thư số. Mục đích của CSR là có một phương pháp chuẩn hóa để cung cấp thông tin này cho các tổ chức cấp chứng thư số. Tập tin CSR theo nghĩa đen là một yêu cầu để có chứng thư số và chữ ký số của một tổ chức cấp chứng thư số. CSR sẽ chứa các thông tin của chủ thể đăng ký, khóa công khai và chữ ký của chủ thể đăng ký. Dưới đây là một CSR minh họa:
CSR được tạo ở định dạng base64. Để tìm hiểu xem trong CSR có chứa những gì ta sẽ sử dụng KeyStore Explorer để mở tệp:
Xem dưới định dạng ASN.1 để tìm hiểu chi tiết các thành phần trong CSR:
Thông tin về chủ thể đăng ký
Có thể thấy các thông tin của chủ thể đăng ký như tên, tên tổ chức của chủ thể đăng ký, tên tỉnh thành, tên quốc gia của chủ thể đăng ký.
Khóa công khai của chủ thể đăng ký
Khóa công khai có thể tạo bằng một số thuật toán như RSA, ECC, ...
Chữ ký số của chủ thể đăng ký
Khi tạo CSR gửi lên tổ chức có thẩm quyền cấp chứng thư số thì trong CSR sẽ bao gồm cả chữ ký số của chính chủ thể đăng ký. Điều này đảm bảo các thông tin cung cấp chính xác là từ chủ thể đăng ký. Lúc này tổ chức có thẩm quyền sẽ dùng khóa công khai mà chủ thể đăng ký gửi để xác minh chữ ký số của chủ thể đăng ký trên CSR. Nếu chính xác thì tổ chức sẽ cấp chứng thư số cho chủ thể đăng ký.
Khi tổ chức có thẩm quyền cấp ra một chứng thư số sẽ dùng khóa bí mật của mình ký lên chứng thư số đó. Để xác minh một chứng thư số có hợp lệ hay không thì sẽ sử dụng khóa công khai của tổ chức cấp chứng thư số để xác minh chữ ký trên chứng thư số đó có đúng là do tổ chức đó ký hay không. Trước tiên chúng ta sẽ tìm hiểu quy trình tạo chữ ký lên chứng thư số của tổ chức cấp:
Quy trình ký lên chứng thư số
Quy trình ký lên chứng thư số của tổ chức có thẩm quyền cấp:
+ Bước 1: Dữ liệu bao gồm các trường thông tin và khóa công khai của người dùng sẽ được băm bởi một hàm băm (ví dụ như SHA ) tạo ra bản mã.
+ Bước 2: Tổ chức có thẩm quyền cấp chứng thư số sẽ dùng khóa bí mật của mình cũng bản mã ở bước trên để tạo ra chữ ký số sau đó đính kèm chữ ký số vào chứng thư số của người dùng.
Quy trình xác minh chứng thư số
Quy trình xác minh chứng thư số
Trên đây là cách thức tạo và xác minh một chứng thư số. Ở bài viết tiếp theo chúng ta sẽ tìm hiểu về mô hình chứng nhận ủy quyền, mô tả về RootCA, SubCA.
Chứng thư số được tạo ra như thế nào?
Chứng thư số là một dạng chứng thư điện tử được cấp bởi tổ chức cung cấp dịch vụ chứng thực chữ ký số, như chúng ta đã tìm hiểu trong bài viết trước chứng thư số có ba thành phần chính:- Thông tin cá nhân của chủ thể được cấp
- Khoá công khai của chủ thể được cấp
- Chữ ký số của tổ chức cấp chứng thư
Quy trình tạo chứng thư số
+ Bước 1: Chủ thể đăng ký sẽ có một cặp khóa bao gồm khóa công khai và khóa bí mật. Khóa công khai sẽ gửi đến tổ chức cấp chứng thư số còn khóa bí mật chủ thể sẽ giữ.
+ Bước 2: Khi đăng ký thông tin chứng thư số, chủ thể đăng ký dùng thông tin định danh của mình kèm theo khóa công khai của bản thân để tạo ra CSR.
+ Bước 3: CSR được gửi đến tổ chức cung cấp chứng thư số. Ở đây tổ chức sẽ xác thực danh tính sau đó dùng khóa bí mật của mình để tạo chữ ký số và cùng với thông tin trên CSR tạo thành chứng thư số sau đó gửi cho chủ thể đăng ký.
Ở đây ta có thấy nhắc đến một khái niệm là CSR. CSR (Certificate Signing Request) là một tệp chứa thông tin về chủ thể yêu cầu cấp chứng thư số. Mục đích của CSR là có một phương pháp chuẩn hóa để cung cấp thông tin này cho các tổ chức cấp chứng thư số. Tập tin CSR theo nghĩa đen là một yêu cầu để có chứng thư số và chữ ký số của một tổ chức cấp chứng thư số. CSR sẽ chứa các thông tin của chủ thể đăng ký, khóa công khai và chữ ký của chủ thể đăng ký. Dưới đây là một CSR minh họa:
Thông tin về chủ thể đăng ký
Khóa công khai của chủ thể đăng ký
Chữ ký số của chủ thể đăng ký
Cách thức xác minh một chứng thư số
Hiện nay có xuất hiện việc giả mạo tổ chức có thẩm quyền để cấp chứng thư số giả phục vụ mục đích xấu. Vậy làm các nào để xác minh một chứng thư số đúng do tổ chức có thẩm quyền cấp ra?Khi tổ chức có thẩm quyền cấp ra một chứng thư số sẽ dùng khóa bí mật của mình ký lên chứng thư số đó. Để xác minh một chứng thư số có hợp lệ hay không thì sẽ sử dụng khóa công khai của tổ chức cấp chứng thư số để xác minh chữ ký trên chứng thư số đó có đúng là do tổ chức đó ký hay không. Trước tiên chúng ta sẽ tìm hiểu quy trình tạo chữ ký lên chứng thư số của tổ chức cấp:
Quy trình ký lên chứng thư số
Quy trình ký lên chứng thư số của tổ chức có thẩm quyền cấp:
+ Bước 1: Dữ liệu bao gồm các trường thông tin và khóa công khai của người dùng sẽ được băm bởi một hàm băm (ví dụ như SHA ) tạo ra bản mã.
+ Bước 2: Tổ chức có thẩm quyền cấp chứng thư số sẽ dùng khóa bí mật của mình cũng bản mã ở bước trên để tạo ra chữ ký số sau đó đính kèm chữ ký số vào chứng thư số của người dùng.
Quy trình xác minh chứng thư số
+ Bước 1: Lấy khóa công khai của tổ chức cấp chứng thư số để giải mã chữ ký số trên chứng thư số người dùng ta được bản mã thứ nhất.
+ Bước 2: Băm các trường thông tin và khóa công khai trong chứng thư số của người dùng ra bản mã thứ hai.
+ Bước 3: So sánh hai bản mã. Nếu trùng nhau thì xác nhận chứng thư số đó đúng là do tổ chức đó cấp và ngược lại.
Trên đây là cách thức tạo và xác minh một chứng thư số. Ở bài viết tiếp theo chúng ta sẽ tìm hiểu về mô hình chứng nhận ủy quyền, mô tả về RootCA, SubCA.
Chỉnh sửa lần cuối bởi người điều hành: