I. GIỚI THIỆU CHUNG VỀ MÃ XÁC THỰC.
Xỏc thực số cú một số đặc điểm sau:
I.1.3.1. Những trường xỏc thực cơ bản X
(X.509 Basic Certificate Fields)
Trong phần này chỳng ta đề cập đến những thành phần cơ bản của định dạng xỏc thực X.509 v3. Những thành phần này cũng giống như định dạng xỏc thực X.509 v2.
1-Phiờn bản (Version): Trường phiờn bản chứa số xỏc thực đú mú hoỏ phiờn bản. Những giỏ trị cục bộ hiện tại là 1, 2 và 3.
2-Một vài số xỏc thực: Trường này là một số nguyờn được gỏn bởi sự xỏc
minh xỏc thực. Mỗi xỏc thực được đưa ra bởi một CA (Certificate Authority) phải cú một vài số duy nhất.
3-Người nhận dạng thuật toỏn chữ ký: Trường này nhận dạng thuật toỏn như RSA hoặc DSA, được sử dụng bởi CA để ký số xỏc thực.
4-Tờn người giới thiệu: Trường này nhận dạng sự xỏc minh xỏc thực, người mà đó ký và đưa ra xỏc thực.
5-Phương thức kiểm tra hiệu lực: Trường này là liờn quan thời gian trong khi xỏc thực cũn lại giỏ trị, và CA chứa thụng tin về trạng thỏi của xỏc thực. Trường này
bao gồm dữ liệu bắt đầu mà xỏc thực trở thành giỏ trị, và dữ liệu cuối mà xỏc thực phải là giỏ trị. Lưu ý rằng một CA cú thể quyết định lưu giữ trạng thỏi thụng tin cho phương thức dài hơn. Vớ dụ, lưu giữ thụng tin huỷ bỏ về một xỏc thực sau đú phương thức kiểm tra hiệu quả của xỏc thực kết thỳc.
6-Tờn đối tượng: Trường này nhận dạng đối tượng, người mà khoỏ cụng khai được xỏc thực trong trường thụng tin khoỏ cụng khai của đối tượng. Tờn đối tượng phải là duy nhất với mỗi chủ thể được xỏc thực bởi một sự xỏc minh xỏc thực đó đưa ra. Tuy nhiờn một CA cú thể đưa ra nhiều hơn một xỏc thực với cựng tờn đối tượng cho cựng một chủ thể.
7-Thụng tin khoỏ cụng khai đối tượng: Trường này chứa khoỏ tham số cụng khai và người nhận dạng thuật toỏn với khoỏ được sử dụng.
8-Người nhận dạng duy nhất người giớ thiệu: Đõy là trường tuỳ ý cho phộp sử dụng lại tờn người giới thiệu trong mọi lỳc.
9-Người nhận dạng duy nhất đối tượng: Đõy là trường tuỳ chọn cho phộp sử dụng lại tờn đối tượng trong mọi lỳc.
10-Sự mở rộng: Chỳng ta sẽ đề cập sau. I.1.3.2. Những trường mở rộng X.509 (X.509 Extension Fields )
Sự mở rộng X.509 v3 cung cấp một cỏch để kết hợp thụng tin phụ cho những đối tượng, những khoỏ cụng khai, sự quản lý thứ bậc xỏc thực và việc quản lý sự phõn bố danh sỏch huỷ bỏ xỏc thực. Sự mở rộng X.509 v3 cũng cú thể giao tiếp và tổ chức để định nghĩa những trường mở rộng của chỳng và mú hoỏ thụng tin đặc biệt tới những yờu cầu của chỳng trong một xỏc thực.
Một trường mở rộng cú 3 phần: Loại mở rộng, bộ chỉ dẫn giới hạn và giỏ trị mở rộng. Loại mở rộng là một người nhận dạng đối tượng mà cung cấp ngữ nghĩa và kiểu thụng tin (như một xõu văn bản, ngày hoặc cấu trỳc dữ liệu phức tạp) cho một giỏ trị mở rộng. Trường con giỏ trị mở rộng chứa giỏ trị thực của một trường mở rộng mà đựơc miờu tả bởi loại mở rộng. Chỉ một cơ sở của một trường mở rộng cụ thể cú thể xuất hiện trong xỏc thực đó đưa ra.
Bộ chỉ dẫn giới hạn là một cờ mà thiết kế một ứng dụng sử dụng xỏc thực, do đú nú là an toàn để bỏ qua một trường mở rộng nếu nú khụng nhận ra loại mở rộng. Khi xử lý một xỏc thực, một ứng dụng cú thể bỏ qua an toàn một trường mở rộng. Bằng cỏch khỏc, nỳ nờn loại bỏ một xỏc thực mà chứa một sự mở rộng cú giới hạn nú khụng nhận ra. Bộ chỉ dẫn giới hạn cung cấp một cỏch để thực thi ứng dụng sử dụng xỏc thực mà hoạt động an toàn với những xỏc thực và xủ lý như những sự mở rộng mới đó được giới thiệu.
ITU và ISO/IEC đó phỏt triển và đưa ra một tập những mở rộng chuẩn trong một bổ xung vào chuẩn X.509 v3. Một vài thành phần mở rộng:
1-Những bắt buộc cơ bản: Trường bắt buộc cơ bản chỉ ra đối tượng của xỏc thực là một CA và trỡnh độ lớn nhất cú thể cho phộp của một xỏc thực qua CA đú.
2-Quy định xỏc thực: Trường này chứa bảng quy định mà CA đó đưa ra xỏc thực và mục đớch đó mong đợi của xỏc thực.
3-Cỏch sử dụng khoỏ: Trường cỏch sử dụng khoỏ giới hạn khoỏ cụng khai đó sử dụng trong xỏc thực. Một vài cỏch sử dụng khỏc nhau của khoỏ cụng khai là chữ ký số, khụng dựng lại, sự mú hoỏ khoỏ, sự mú hoỏ dữ liệu, sự chấp nhận khoỏ, việc ký xỏc thực, việc ký CRL, sự mó hoỏ và sự giải mó. Trường này là hữu ích,khi nú cú thể giới hạn cỏch sử dụng của một khoỏ cụng khai mà cú thể được sử dụng cho nhiều hơn một thao tỏc. Vớ dụ, nú cú thể là một khoỏ cụng khai RSA và việc ký số những thao tỏc và khụng thể sử dụng nú cho tất cả những mục đớch. Trường này được đỏnh dấu chung như giới hạn. Lưu ý rằng việc đưa ra CA giới hạn xỏc thực và khoỏ đú xỏc thực để chỉ ra mục đớch. Cỏch sử dụng khoỏ cụng khai cho bất kỳ mục đớch nào sẽ giới hạn quy định của CA và ứng dụng sử dụng xỏc thực hoặc một người sử dụng khụng thể tin trờn xỏc thực cho cỏch sử dụng khụng đựoc xỏc minh.
I.2. HÀM HASH.
Ở phần trờn ta đó nghiờn cứu vấn đề xỏc thực số và chữ ký số. Điều đặc biệt phải quan tõm là:
- Cỏc thuật toỏn xỏc thực và chữ ký số thường nhận đầu vào là một dũng bớt cỳ độ dài rất ngắn (64, 128, 160 bit) và tốc độ thực hiện chậm..
- Cỏc thụng bỏo cần ký thường cú độ dài khỏc nhau và trong nhiều trường hợp, chỳng cỳ độ dài lớn.
Như vậy phải cắt thụng bỏo ra nhiều đoạn cú độ dài cố định rồi tiến hành ký. Phương phỏp: cắt một tài liệu dài thành cỏc đoạn cú độ dài hữu hạn và cố định, rồi ký từng đoạn một cỏch độc lập. Sau đú gửi từng đoạn đú đi. Sẽ xuất hiện nhiều vấn đề:
1/ Tốc độ thực hiện sẽ rất chậm. vỡ phải ký trờn nhiều đoạn.
2/ Khi sắp xếp lại rất dễ xảy ra trường hợp khụng trật tự so với trật tự ban đầu. 3/ Cũng cú thể mất những đoạn riờng biệt trong quỏ trỡnh truyền tin.
Giải phỏp thứ hai là dựng hàm Hash: hàm Hash chấp nhận một tài liệu cú độ dài bất kỳ làm đầu vào của nú. Hàm hash sẽ biến đổi tài liệu này thành một thụng bỏo rỳt gọn và sau đú ta sẽ dựng lược đồ chữ ký để ký thụng bỏo rỳt gọn. Mụ hỡnh chung như sau:
Ta sẽ gửi cập (x,y) cho người nhận nếu khụng cần giữ bớ mật x. Nếu cần giữ bớ mật x ta sẽ mú hoỏ thụng bỏo x thành x’ và gửi cặp (x’,y) đi.