5.2 .Phân tích và thiết kế
5.2.2. Quá trình kiểm tra xác nhận chữ ký trên tài liệu
Kỹ thuật Digital Signature cho phép người nhận message có kèm chữ ký kiểm tra tính xác thực và tính tồn vẹn của nó. Q trình kiểm tra chữ ký số -
digital signature verification nhằm mục đích xác định một message gửi đi đã
được ký bằng khoá private key đúng với khóa public key gửi đi hay khơng.
Digital signature verification khơng thể xác nhận có hay khơng một message đã
được ký bởi người gửi. Nếu chúng ta muốn kiểm tra có hay khơng vài người đã ký trong một message gửi đi, chúng ta cần nhận được public key theo cách nào đó.
Điều này thực hiện hoặc bằng cách lấy public key trong cách an tồn (ví dụ như floppy disk hoặc CD) hoặc với sự trợ giúp của Public Key Intrasfication theo
thực sự từ người gửi, chúng ta khơng có khả năng kiểm tra message được gửi là có phải xác thực của người này hay không.
Như vậy, việc kiểm tra một Digital Signature được thực hiện trong 3 bước:
Bước một: Tính Current Hash-Value
Trong bước một, một hash-value của message đã ký được tính. Với việc tính này thì vẫn sử dụng thuật tốn băm như đã dùng trong suốt quá trình ký. Hash-value nhận được được gọi là current hash-value bởi vì nó được tính từ trạng thái hiện
thời của message.
Bước hai: Tính Original Hash-Value
Trong bước hai của q trình kiểm tra digital signature, digital signature được giải mã với cũng với thuật toán mã hoá đã được sử dụng trong suốt quá trình ký. Việc giải mã được thực hiện bằng khoá public key tương ứng với khoá private key được dùng trong suốt quá trình ký của message. Kết quả là, chúng ta nhận được
original hash-value mà đã đựơc tính từ message gốc trong suốt bước một của quá
trình ký (original message digest)
Bước ba: So sánh Current hash-value với Original hash-value
Trong bước ba, chúng ta đối chiếu current hash-value nhận được trong bước một với original hash-value nhận được trong bước hai. Nếu hai giá trị này giống hệt nhau thì việc kiểm tra sẽ thành cơng nếu chứng minh được message đã được ký với khoá private key đúng với khoá public key đã được dùng trong quá trình kiểm tra. Nếu hai giá trị này khác nhau thì nghĩa là digital signature là sai và việc kiểm tra là thất bại.
Hình 2: Quá trình kiểm tra xác nhận chữ ký trên tài liệu
Như vậy quá trình hoạt động của một digital signature được minh hoạ như hình sau:
Encrypt Public Key
Hình 3: Quá trình làm việc của một Digital Signature
Nguyên nhân của việc sai chữ ký: có 3 lý do của việc nhận một digital signature sai:
- Nếu digital signature là giả mạo và được giải mã với khoá public key, giá trị nguyên thuỷ nhận được sẽ không phải là original hash-value của message gốc tuy một vài giá trị khác có giống.
Decrypt Private Key
- Nếu message đã bị đổi sau khi ký, current hash-value được tính từ message giả mạo này sẽ khác với original hash-value bởi vì hai message khác nhau thì hash-value khác nhau.
- Nếu public key không tương ứng với private key được dùng trong khi ký, original hash-value nhận được bởi sự giải mã chữ ký với một khố khơng đúng sẽ khơng phải là giá trị đúng.