Giới thiệu về chữ ký điện tử

Một phần của tài liệu Nghiên cứu hệ mật đường cong Elliptic và ứng dụng vào chữ ký điện tử trong bảo mật giao dịch thanh toán của Ngân hàng (Trang 49 - 52)

1.1. Giới thiệu

Có thể nói ứng dụng quan trọng nhất của hệ mã hóa công khai là chữ kí điện tử. Nó cung cấp khả năng bảo mật mà các hình thức khác khó có thể có được. Chữ kí điện tử có vai trò tương tự chữ kí tay trong giao dịch điện tử, giúp xác thực bản tin đến từ người gửi hợp pháp trong giao dịch. Ngoài ra nó cũn đảm bảo tính toàn vẹn dữ liệu (integerity) và chống lại khả năng chối bỏ nguồn gốc (nonrepudiation) của người gửi. Chữ kí điện mang một số đặc điểm sau:

• Phải xác minh được người kí và thời gian kí cụ thể.

• Phải xác thực được nội dung tại thời điểm kí.

• Phải được xác minh bởi bên thứ ba để tránh những tranh chấp xảy ra. Cơ sở hạ tầng chủ yếu để xây dựng hệ thống chữ kí điện tử là các thuật toán mã hóa công khai và hàm băm đã được trình bày trong chương 1.

1.2. Khái niệm về chữ kí điện tử

Chữ kí điện tử là một tập cỏc kớ tự số hoặc chữ cái được dùng để xác thực các bản tin mã hóa bằng cách đảm bảo rằng người gửi không thể chối bỏ rằng mình đã gửi bản tin và người nhận không thể giả mạo bản tin hoặc chữ kí. Đồng thời, người nhận có thể chứng minh với người khác nội dung bản tin là chính xác và do người gửi ban đầu gửi đến.

Hệ thống chữ kí điện tử hoạt động dựa trên sự phối hợp giữa bên gửi và bên nhận thông điệp, nhằm thực hiện đồng bộ hai quá trình tạo và xác minh chữ kí.

1.3. Mô hình hoạt động của chữ ký điện tử1.3.1. Mô hình chung 1.3.1. Mô hình chung

Hình 4-9: Hoạt động của hệ thống chữ ký điện tử

Hoạt động của hệ thống chữ kí điện tử gồm hai quá trình:

• Tạo chữ kí điện tử (Digital signature creation): Đầu vào của quá trình này chính là bản tin cần gửi, bằng cách sử dụng hàm hash một chiều và mã hóa bằng khóa bí mật của người gửi, ta có thể tạo ra chữ kí cho bản tin hiện thời. Bản tin gửi đi bao gồm bản tin ban đầu được kí bằng chữ kí vừa tạo ra.

• Xác minh chữ kí điện tử (Digital signature verification): Đây là quá trình sử dụng khóa công khai của người nhận giải mã chữ kí và hàm hash một chiều với bản tin được tách ra nhằm xác thực tính toàn vẹn dữ liệu và người gửi bản tin.

1.3.2. Quá trình tạo chữ kí

Quá trình tạo chữ kí thực hiện tại bên gửi, gồm hai bước sau đây:

Tính toán giá trị băm

Bước đầu tiên của quá trình tạo chữ kí là tạo giá trị băm của bản tin cần gửi. Các hàm băm có thể sử dụng là MD2, MD4, MD5, SHA-1, SHA-256…Kết quả thu được là một message digest có chiều dài cố định, nhỏ hơn rất nhiều lần bản tin ban đầu. Theo tính chất của hàm băm thì hai bản tin xác suất để hai bản tin khác nhau có cùng một giá trị băm là rất nhỏ và có thể bỏ qua. Vì vậy nếu giá trị băm của hai bản tin trùng nhau thì bản tin ban đầu cũng trùng nhau (Xem hình 4.1 ).

Tính toán chữ kí điện tử

Kết quả băm thu được (message digest) được mã hóa bằng khóa bí mật (private key) của bên nhận. Kết quả thu được này chính là chữ kí điện tử. Các thuật toán tạo khóa có thể sử dụng là RSA (dựa trên bài toán số nguyên tố), Elgamal (dựa trên lí thuyết logic rời rạc), ECDSA (dựa trên bài toán logarit trên EC). Chữ kí này được gắn vào bản tin ban đầu (ký) và truyền đến người gửi trên môi trường mạng.

Trong đồ án của mỡnh, tụi chọn ECDSA làm thuật toán để tạo cặp khóa cho cả bên gửi và bên nhận bản tin.

1.3.3. Quá trình xác thực

Quá trình xác thực gồm các bước sau đây:

Hình 4-11: Quá trình xác thực chữ ký

Tính toán giá trị băm hiện thời

Sau khi nhận được bản tin bao gồm bản tin ban đầu (nói chính xác là bản tin mà bên nhận cho là bản tin ban đầu) và chữ kí gửi kốm, bờn nhận tiến hành tách riêng hai phần của bản tin ra. Phần bản tin ban đầu trở thành đầu vào của thuật toán băm

giống với thuật toán băm khi tạo chữ kí điện tử. Giá trị băm nhận được gọi là giá trị băm hiện thời vỡ nó được tính từ bản tin hiện thời.

Tính toán giá trị băm ban đầu

Trong bước thứ hai của quá trình giải mã, chữ kí điện tử đính kèm được giải mã bằng khóa công khai (public key) tương ứng với khóa bí mật (private key) dùng để tạo chữ kí ở bên gửi. Kết quả thu được giá trị băm ban đầu.

So sánh giá trị băm hiện thời với giá trị băm ban đầu

Trong bước này ta tiến hành so sánh giá trị băm thu được từ bước 1 và bước 2 của quá trình xác thực.

• Nếu hai giá trị băm này trùng nhau: quá trình xác thực thành công, bản tin đã được kí bằng khóa bí mật tương ứng với khóa công khai khi xác minh, đồng thời bản tin cũng không bị thay đổi trong quá trình truyền đi. (adsbygoogle = window.adsbygoogle || []).push({});

• Nếu hai giá trị băm không trùng nhau: quá trình xác thực thất bại, có hai trường hợp mất an toàn đã xảy ra:

 Khóa bí mật của người gửi không được sử dụng khi tạo chữ kí.  Bản tin đã bị thay đổi trong quá trình truyền đi.

Một phần của tài liệu Nghiên cứu hệ mật đường cong Elliptic và ứng dụng vào chữ ký điện tử trong bảo mật giao dịch thanh toán của Ngân hàng (Trang 49 - 52)