Giải pháp chữ ký số

Một phần của tài liệu Ký số từ xa và ứng dụng (Trang 25 - 30)

Giả sử những người tham gia vào hệ thống trao đổi thông tin với nhau có sử

dụng một hệ mật mã khoá công khai (ví dụECC đã giới thiệu ở phần trước). Khi

ấy, mỗi cá thểđược sở hữu một cặp chìa khoá (bí mật, công khai) riêng biệt (không ai giống ai) và người ta có thểđưa ra mô hình ký văn bản điện tử dựa trên ý tưởng của hai nhà khoa học Diffie và Hellman.

Mô hình cho việc ký văn bản điện t

Nguyên tắc ký văn bản điện tửđược tóm gọn như sau:

• Ông A ký văn bản bằng cách dùng chìa khoá bí mật của mình để mã hoá nó.

• Ông B kiểm tra chữ ký bằng cách dùng chìa khoá công khai của ông A

để giải mã văn bản. Nếu giải mã thành công thì đúng là văn bản được ký bởi ông A.

Hình 1.4 Ký số văn bản điện tử [19]

Ta chứng minh giao thức này mang đầy đủ thuộc tính cơ bản của thủ tục ký tay trên giấy, thật vậy:

• Văn bản được ký (văn bản mã) là sản phẩm của người chủđộng tạo ra nó, tức là người đã dùng chìa khoá bí mật của mình đểmã hoá văn bản.

25

• Văn bản được ký cho biết người ký là ai (chính là chủ sở hữu chìa khoá

công khai đãđược dùng để kiểm tra chữ ký).

• Chữ ký không thể tái sử dụng cho văn bản khác, vì 2 văn bản khác nhau có bản mã khác nhau.

• Văn bản đã ký không thểthay đổi được nội dung. Vì nếu mở ra (tức là giải mã) để thay đổi nội dung thì không thể ký lại (mã hoá) được nữa, do không có chìa khoá bí mật của người đã ký trước đó.

• Không ai làm giảđược chữ ký, vì rằng không có ai có được chìa khoá bí mật của người đã ký (mã hoá) văn bản đó. Người ký văn bản không thể

thoái thác việc mình đã ký, vì không còn ai khác có khoá đã được dùng

đểmã hoá đó (kiểm tra bằng khóa công khai).

Quy trình ký nêu trên là phù hợp về mặt logic nhưng cũng có những điều bất cập sau:

• Văn bản sau khi ký luôn ở trong dạng mã hoá, kể cả văn bản cần công khai rộng rãi (điều này là không tự nhiên).

• Tốc độ ký rất chậm, sẽ không phù hợp khi ký các văn bản dài như hợp

đồng, văn kiện,... (do thuật toán mã hoá chậm).

• Chữ ký là cảvăn bản ký cho nên dài như một văn bản (không phù hợp với đặc tính tự nhiên vốn có của chữ ký là ngắn gọn, súc tích).

Cho nên quy trình nêu trên chỉ mang tính nguyên tắc, mà không khả thi trong thực tiễn. Để khắc phục những bất cập và có được một quy trình khảthi, người ta cần đến sựgiúp đỡ của một công cụ nữa đến từ mật mã là hàm băm mật mã.

Hàm băm mật mã

Hàm băm mật mã nhận giá trị đầu vào là văn bản điện tửcó độ dài tuỳ ý và

cho đầu ra là một xâu chữ sốcó độdài xác định (tương đối ngắn, khoảng vài trăm

ký tự) với các thuộc tính quan trọng sau:

• Có tính tất định, văn bản giống nhau luôn thu được mã băm giống nhau.

• Tốc độbăm rất nhanh (Thời gian tính cho mọi văn bản là không đáng kể).

• Có tính một chiều (Không thể tạo ra văn bản đầu vào khi có đầu ra cho

26

• Rất nhạy đối với các thay đổi của văn bản (hai văn bản đầu vào dù khác nhau rất nhỏthì cũng có đầu ra khác biệt rõ rệt).

• Không thểtìm ra hai văn bản khác nhau có cùng mã băm.

Hình 1.5 Hàm băm mật mã [19]

Việc thiết lập hàm băm có các thuộc tính trên là không đơn giản và là một ngành quan trọng của mật mã học.

MD5 của Ron Rivest là một trong những hàm băm mật mã được sử dụng phổ

biến ngày nay. Kết quả của phép băm là mã băm 128 bit được tính thông qua 4

bước. Một bước chèn thêm bộ đệm (thêm bit 1 theo sau bởi các số 0 để độ dài

thông điệp ít hơn một bội của 512 là 64). Sau đó, chèn 1 số nguyên 64 bit (độ dài của thông điệp gốc) vào sau đểthu được đoạn bit có chiều dài là bội của 512. Khởi tạo 4 khối, mỗi khối có độ dài 32 bit. Tiến hành thay đổi giá trị mỗi khối bằng các khối 512 bit của thông điệp. Kết quả cuối cùng sẽ là mã băm 128 bit của thông

điệp ban đầu.

Thuật toán SHA (Secure Hash Algorithm) là thuật toán băm được sử dụng phổ biến chỉ sau MD5. Nguyên lý thiết kế SHA tương tự MD4 (tiền thân của MD5). SHA-1 là chuẩn bắt buộc của bất kỳ một hàm băm mật mã nào được sử

dụng trong ứng dụng của liên bang. Mã băm của SHA-1 có độdài 160 bit nên được

cho là an toàn hơn MD5.

Đầu ra của hàm băm thường được gọi là mã băm. Từ các thuộc tính của hàm

27

mã băm phải thay đổi. Do vậy, mã băm còn được gọi là đại diện của văn bản, tương

tựnhư dấu vân tay của mỗi người có thểxem là đại diện của người đó.

Từ tính chất của hàm băm mật mã, chúng ta có thể xây dựng lược đồ kiểm tra tính toàn vẹn của thông tin như sau mà không cần đến một hệ mã nào:

Hình 1.6 Kiểm tra tính toàn vẹn thông tin bằng hàm băm mật mã [19]

Tuy nhiên vấn đềđặt ra là làm thếnào để phân bổ khóa bí mật S ởtrong sơ đồ trên mà không bị lộ. Rất may mắn, kết hợp lược đồtrên và lược đồ chữ ký số

cổđiển sẽcho ta lược đồcó đủ tính chất mà ta cần để kiểm tra tính toàn vẹn thông tin.

Quy trình ký và kim chứng văn bản điện t trong thc tế

Rõ ràng đểđảm bảo nội dung văn bản không bịthay đổi, ta chỉ cần quan tâm

đại diện của nó không bịthay đổi. Do vậy, ta có một quy trình ký mới, tương đương

với quy trình nguyên tắc đã nêu ở trên.

Một cá thể A muốn ký văn bản P thì chỉ cần thực hiện các bước sau:

• Tính đại diện của văn bản P (bằng hàm băm mật mã có sẵn trên hệ thống).

• Dùng chìa khoá bí mật của mình để mã hoá dãy sốđại diện văn bản thu

28

Hình 1.7 Ký số sử dụng hàm băm mật mã [19]

Để kiểm tra chữ ký số của ông A trên văn bản P thì cần tiến hành các bước sau:

• Tính đại diện của văn bản P bằng hàm băm mật mã có sẵn trên hệ thống.

• Giải mã chữ ký số bằng chìa khoá công khai của ông A rồi so sánh nó với

đại diện văn bản tính được ởbước trên. Nếu chúng khớp nhau thì văn bản

đã được ký bởi ông A và nội dung của nó không bịthay đổi sau khi ký.

29 Dễ thấy rằng quy trình này khắc phục được các nhược điểm đã nêu trên, cụ

thể là:

• Văn bản sau khi ký không bị mã hoá (mà chỉ bịđính thêm một xâu số, là chữ ký số).

• Thời gian tạo chữký là không đáng kể (vì việc lấy mã băm rất nhanh, vì nó rất nhỏ so với văn bản ký).

• Chữ ký chỉ là một xâu số ngắn đi kèm theo văn bản mà không phải là cả văn bản.

Một phần của tài liệu Ký số từ xa và ứng dụng (Trang 25 - 30)

Tải bản đầy đủ (PDF)

(115 trang)