Chương 2 : Các phương pháp mã hoá và bảo mật thông tin
3.2 Hàm một chiều và chữ ký điện tử
3.2.4 Chữ ký điện tử (Digital Signatures)
Như trong ví dụ trước, nếu Kevin muốn đảm bảo rằng thông tin anh ta gửi cho Maureen không bị sửa đổi và anh ta muốn Maureen biết chắc rằng thông tin là do anh gửi đến, Kevin có thể gán chữ ký điện tử vào thông điệp. Điều này có nghĩa rằng Kevin tiến hành tính toán giá trị hash cho thông điệp rồi mã hoá giá trị ấy bằng
Khi Maureen nhận được thông điệp, cô ta tiến hành tính toán giá trị hash trên thông điệp nhận được. Sau đó cô ta giải mã giá trị hash của Kevin gửi bằng khoá mã công khai của Kevin. Nếu hai giá trị hash giống nhau, Maureen có thể khẳng định rằng thông tin không bị sửa đổi trong quá trình truyền. Maureen đồng thời biết rằng thông điệp đó đến từ Kevin bởi giá trị hash của nó được mã hoá bằng khoá mã cá nhân của Kevin [6].
Như vậy hàm hash đảm bảo tính toàn vẹn dữ liệu và việc ký lên giá trị hash mang lại khả năng xác thực và chống phủ nhận thông tin. Các bước thực hiện chữ ký điện tử được minh hoạ trong hình 3.6.
Hình 3.6: Các bước thực hiện chữ ký điện tử
Ta có thể thấy:
- Một thông điệp có thể được mã hoá, điều đó cung cấp tính bảo mật (riêng tư)
- Một thông điệp có thể được hash, điều đó cung cấp tính toàn vẹn
- Một thông điệp có thể được gán chữ ký điện tử, điều đó cung cấp tính xác thực và toàn vẹn
- Một thông điệp có thể được mã hoá, gán chữ ký điện tử, điều đó cung cấp tính bảo mật, xác thực và toàn vẹn
Cần phải nói rằng không một thuật toán nào cung cấp đầy đủ các dịch vụ bảo mật. Phần lớn các thuật toán này phải kết hợp với nhau để đáp ứng các yêu cầu bảo mật. Bảng dưới đây mô tả các chức năng của từng thuật toán [6]:
Thuật toán Mã hoá Chữ ký điện
tử Hàm hash Phân phát khoá
Mã hoá bất đối xứng RSA ECC Diffie-Hellman El Gamal Mã hoá đối xứng DES 3DES Blowfish IDEA RC4 Safer
Thuật toán Hash
RSA
MD2, MD4, MD5
SHA dùng với DSA
HAVAL
Chữ ký điện tử là một giá trị hash được mã hoá. Hành động ký có nghĩa là sử dụng khóa mã cá nhân để mã hoá giá trị hash của thông tin. Quá trình này được minh hoạ trong hình vẽ 3.7.
Hình 3.7: Tạo chữ ký điện tử cho một file