Chữ ký số (Digital signature) là một cơ chế toán học ứng dụng mật mã hóa khóa bất đối xứng nhằm xác thực tính toàn vẹn của thông điệp dữ liệu số, định danh nguồn gốc người ký và bảo đảm tính không thể chối bỏ trong các giao dịch điện tử.
Khi thông tin được ký bằng chữ ký số, nó được gắn kết với khóa bí mật để tạo ra một mã kỹ thuật số đặc biệt. Chữ ký số này đi kèm với thông tin và sử dụng công nghệ mã hóa để đảm bảo tính toàn vẹn và xác thực của thông tin. Nếu thông tin bị thay đổi sau khi được ký, chữ ký số sẽ không hợp lệ nữa, cho biết thông tin đã bị sửa đổi.
Chữ ký số được sử dụng rộng rãi trong các giao dịch điện tử, chẳng hạn như gửi và nhận email, điện tử, hoặc trong các giao dịch trực tuyến, đảm bảo tính toàn vẹn và xác thực của thông tin và nguồn gốc của nó.
Chữ ký số sử dụng phương thức mã hóa không đối xứng để đảm bảo tính toàn vẹn, xác thực và không chối bỏ của thông tin điện tử. Quy trình chữ ký số bao gồm các bước sau:
1. Tạo cặp khóa: Người dùng tạo một cặp khóa, bao gồm một khóa công khai và một khóa bí mật. Khóa công khai có thể được chia sẻ công khai, trong khi khóa bí mật phải được bảo mật.
2. Ký thông tin: Người dùng sử dụng khóa bí mật của mình để tạo ra một mã kỹ thuật số gọi là chữ ký số. Chữ ký số này được tạo ra bằng cách áp dụng một hàm băm (hash function) trên thông tin và sau đó mã hóa kết quả bằng khóa bí mật. Hàm băm đảm bảo tính duy nhất của chữ ký số và ngăn chặn việc tái tạo chữ ký từ thông tin đã ký.
3. Gắn kết chữ ký: Chữ ký số được gắn kết và đính kèm vào thông tin điện tử, chẳng hạn như văn bản, tệp tin hoặc email.
4. Xác thực thông tin: Khi thông tin được nhận, người nhận sẽ sử dụng khóa công khai của người ký để giải mã chữ ký số. Sau đó, họ áp dụng hàm băm cùng với thông tin đã ký và so sánh với giá trị đã giải mã. Nếu giá trị khớp, thông tin vẫn nguyên vẹn và chữ ký số hợp lệ, người nhận có thể tin tưởng nguồn gốc và tính toàn vẹn của thông tin.
5. Xác minh người ký: Nếu người nhận cần xác minh người ký, họ có thể kiểm tra chứng chỉ số (digital certificate) liên quan đến khóa công khai của người ký. Chứng chỉ số được phát hành bởi một cơ quan đáng tin cậy và chứa thông tin xác thực về người dùng và khóa công khai của họ.
Chữ ký số đảm bảo rằng thông tin không bị sửa đổi sau khi được ký, nguồn gốc của thông tin được xác thực và người ký không thể phủ nhận việc ký kết. Nó là một giải pháp an toàn và phổ biến trong việc ứng dụng công nghệ thông tin vào các giao dịch điện tử.
Nguyên lý mật mã hóa khóa công khai và hàm băm
Quy trình tạo lập và xác minh chữ ký số bao gồm hai giai đoạn cốt lõi:
- Giai đoạn ký số (Signing): Thông điệp gốc được đưa qua một hàm băm mật mã an toàn (như SHA-256, SHA-3) để tạo ra giá trị băm (hash value / message digest) duy nhất có độ dài cố định. Sau đó, giá trị băm này được mã hóa bằng khóa riêng (private key) của người ký bằng các thuật toán như RSA, DSA hoặc ECDSA (Elliptic Curve Digital Signature Algorithm) để tạo thành chữ ký số đính kèm thông điệp.
- Giai đoạn kiểm tra (Verification): Người nhận sử dụng cùng hàm băm để tính giá trị băm của thông điệp nhận được, đồng thời sử dụng khóa công khai (public key) của người ký để giải mã chữ ký số. Nếu hai giá trị băm này trùng khớp hoàn toàn, văn bản được chứng minh là nguyên vẹn và xuất phát từ đúng chủ thể sở hữu khóa riêng.
Hạ tầng khóa công khai (PKI) và giá trị pháp lý
Để ngăn chặn tấn công giả mạo danh tính, chữ ký số được bảo đảm bởi Hạ tầng khóa công khai (Public Key Infrastructure - PKI). Tổ chức chứng thực chữ ký số (Certificate Authority - CA) có thẩm quyền sẽ cấp chứng thư số (Digital Certificate) theo chuẩn ITU-T X.509 để liên kết danh tính pháp lý của người ký với cặp khóa công khai. Về mặt pháp lý, chữ ký số hợp chuẩn có giá trị pháp lý tương đương với chữ ký tay và con dấu của tổ chức trong các giao dịch thương mại và hành chính công điện tử.