Sơ đồ nguyên lý kí số và xác thực chữ kí số

Một phần của tài liệu Nghiên cứu triển khai thử nghiệm và ứng dụng giải pháp tích hợp sinh trắc vào PKI (Trang 73 - 76)

Điều kiện tiền đề là bên gửi có cặp khóa công khai/khóa cá nhân của riêng mình và và bên nhận biết khóa công khai của phía kia. Chữ kí số được tạo ra bằng cách mã hóa mã băm của thông điệp cần gửi (hoặc cả thông điệp) với khóa cá nhân của người gửi. Quá trình tạo và xác thực chữ kí số diễn ra như sau [9]:

Giai đoạn kí tại nơi gửi

Với các yêu cầu nói trên, người ta tạo ra chữ kí số qua các bước:

Bước 1 : áp dụng một hàm băm (ví dụ SHA-1 hoặc MD5) lên văn bản điện tử cần kí M để tạo ra một mã băm HMđặc trưng cho văn bản đó.

Bước 2 : sử dụng khóa cá nhân của người gửi để mã hóa mã băm của văn bản. Chữ kí số SMđặc trưng cho văn bản và người gửi văn bản đó đã được tạo ra. − Bước 3 : Gắn chữ kí số SM lên văn bản M và gửi đi.

74

Hình 3.1 Quá trình to và xác thc ch kí s

Giá trị băm của thông điệp là một chuỗi bit được tạo ra bằng cách cho thông điệp qua một hàm băm một chiều – một thuật toán cho phép dễ dàng tính ra giá trị băm nhưng rất khó để tính ngược từ giá trị băm ra thông điệp đầu vào, đồng thời đảm bảo rất khó để tạo ra 2 giá trị băm giống nhau với 2 thông điệp khác nhau. Sử dụng giá trị băm, ta đã có được đặc trưng của thông điệp cần gửi và đảm bảo tính khó bị giả mạo của chữ kí.

Mã hóa giá trị băm bằng khóa cá nhân của người gửi: đây chính là bước áp dụng thuật toán mã hóa bất đối xứng. Cần nhắc lại rằng với mã hóa bất đối xứng, dữ liệu được mã hóa bằng khóa cá nhân của một người sẽ chỉ có thểđược giải mã băng

75

khóa công khai của người đó, tức là chỉ cần sử dụng khóa công khai là có thể giải mã được chữ kí. Sử dụng khóa cá nhân để mã hóa chính là phương pháp làm cho chữ kí số chứa đặc trưng của người kí, vì hệ PKI chỉ cấp mỗi cặp khóa công khai/khóa cá nhân cho duy nhất một người dùng.

Giai đoạn xác thực chữ kí tại nơi nhận

Tại phía người nhận, sau khi nhận được văn bản, chữ kí số được tách ra khỏi văn bản và quy trình xác thực như sau:

Bước 1 : Giải mã chữ kí số S’M với khóa công khai của người gửi được giá trị H’M.

Bước 2 : Áp dụng hàm băm lên văn bản M, thu được mã băm HM. Trước đó, phía gửi và phía nhận cần thống nhất cùng sử dụng một hàm băm nào đó.

Bước 3 : So sánh HM và H’M. Nếu hai giá trị này bằng nhau, chữ kí số được xác thực thành công, vản bản điện tửđược bên nhận chấp nhận vì đã xác định chính xác người gửi văn bản và nội dung văn bản không bị thay đổi. Ngược lại, nếu HM không khớp với H’M nghĩa là nguồn gốc và/hoặc nội dung của văn bản là không xác thực.

Với sơđồ trên, tác giả nhận thấy có 2 vấn đề khi xác thực chữ kí số :

Th nht: Làm thế nào người nhận chắc chắn nhận ra người gửi thông qua khóa công khai đang có ? Làm thế nào để người gửi không thể từ chối khóa công khai anh ta đã cung cấp trước đó ? Hay nói cách khác, người nhận cần phải có một nguồn khóa công khai tin cậy.

Th hai: Trong giai đoạn kí số, cần phải khẳng định được người dùng khóa cá nhân là chủ nhân của nó. Nếu không đảm bảo được điều này, việc xác thực chỉ đảm bảo thông điệp được gửi bởi người có khóa cá nhân đúng, chứ không đảm bảo người đó đúng là người chủ của khóa cá nhân. Mặt khác, nếu muốn, người gửi có thể từ chối thông điệp đã phát ra là của mình với lí do mất khóa cá nhân; và hơn nữa trên thực tế nguy cơ mất khóa cá nhân là rất lớn khi cơ chế lưu trữ và bảo vệ khóa cá nhân bằng mật khẩu là không đủ mạnh.

Hai vấn đề trên sẽđược giải quyết khi ứng dụng chữ kí sốđược xây dựng dựa trên trên nền tảng hệ thống BioPKI.

76

Một phần của tài liệu Nghiên cứu triển khai thử nghiệm và ứng dụng giải pháp tích hợp sinh trắc vào PKI (Trang 73 - 76)