Chữ ký số (Digital signature) là gì? Thành phần, cách hoạt động và ứng dụng

Mời bạn đọc cùng Exchange Script tìm hiểu Chữ ký số – Chữ ký điện tử (Digital signature) là gì? Thành phần, cách hoạt động và ứng dụng của Digital signature.

thiết kế sàn giao dịch tiền ảo

Chữ ký số (Digital signature) là gì?

Digital Signature (hay còn gọi là chữ ký điện tử) là một kĩ thuật xác thực cho phép người chủ nội dung của một thông điệp được quyền đính kèm một đoạn dữ liệu số như là chữ kí đánh dấu của người chủ đối với nội dung đã tạo ra. Về cơ bản, chữ kí số sẽ được tạo ra bằng cách hash nội dung thông điệp sau đấy mã hoá chuỗi hash bằng khoá bí mật (private key) của người chủ nội dung.

Digital signature là công cụ mật mã hóa (crytographic primitive) được sử dụng rất nhiều trong nền tảng công nghệ blockchain, chữ ký điện tử và hàm hash là nền tảng cơ bản mà công nghệ blockchain sử dụng.

Mục đích của Chữ ký số (Digital signature)

  • Non-repudiation: giúp cho người nhận khi kiểm tra nội dung đã được ký chữ ký số kèm theo sẽ biết chắc người ký không thể chối cãi về những gì đã tạo ra ở thời điểm bắt đầu tạo chữ kí số.
  • Integrity: chữ ký số giúp kiểm tra tính toàn vẹn dữ liệu của nội dung được gửi đi là không bị thay đổi hay chỉnh sửa kể từ lúc khởi tạo chữ ký số và ký vào văn bản gửi đi.
  • Authenticity: chữ ký số cũng dùng để chứng thực nguồn gửi nội dung thông điệp đi. Thường thì thông tin về người chủ của chữ ký sẽ được thêm vào kèm với nội dung chữ ký số để giúp người nhận chứng thực được ai đã gửi thông điệp đi.

chu-ky-so-digital-signature-la-gi-thanh-phan-cach-hoat-dong-va-ung-dung-1

Thành phần của Chữ ký số (Digital signature)

Chữ ký số dựa trên công nghệ mã hoá khóa công khai (RSA): mỗi người dùng phải có 1 cặp khóa (key pair) bao gồm khóa công khai (public key) và khóa bí mật (private key).
Cụ thể:

  • Private key: là một khóa trong cặp khóa thuộc hệ thống mật mã không đối xứng, được dùng để tạo chữ ký số.
  • Public key: là một khóa trong cặp khóa thuộc hệ thống mật mã không đối xứng, được sử dụng để giả mã kiểm tra chữ ký số được tạo bởi khóa bí mật tương ứng trong cặp khóa.
    Digital Sign (ký số): là việc đưa khóa bí mật vào một chương trình phần mềm để tự động tạo và gắn chữ ký số vào thông điệp dữ liệu. Khi đọc các tài liệu chuyên ngành, bạn sẽ gặp nhiều cụm từ sign hoặc signed<object>, bạn hãy hiểu những nội dung đó có liên quan đến hoạt động của chữ kí số.
  • Signer (người ký): là đối tượng dùng đúng khóa bí mật của mình để tạo chữ ký số và ký vào một thông điệp dữ liệu dưới tên của mình.
  • Recipient (người nhận): là tổ chức, cá nhân nhận được thông điệp dữ liệu được ký số bởi người ký, sử dụng chứng thư số (digital certificate) của người ký đó để kiểm tra chữ ký số trong thông điệp dữ liệu nhận được và tiến hành các hoạt động, giao dịch có liên quan.

== Những thuật ngữ cơ bản của công nghệ Blockchain

Chữ ký số (Digital signature) hoạt động như thế nào?

Hoạt động tạo ra chữ ký số Digital Signature (chữ ký số) yêu cầu phải có 1 cặp key public & private. Người kí sẽ giữ private key và dùng để mã hoá thông tin tạo ra chữ kí số, người nhận phải có public key của người kí tương ứng cặp với private key để giải mã chữ kí số nhằm đối chiếu thông tin.

Bạn có thể hình dung một cách dễ hiểu hơn như sau: bạn có 1 văn bản word hợp đồng và cần gửi cho luật sư. Điều quan trọng là làm thế nào để luật sư biết chắc chắn văn bản word hợp đồng này là chính chủ, được soạn thảo bởi chính bạn hay đã được xét duyệt bởi bạn.

Quá trình kí (Signing)

Quá trình kí (Signing) sẽ diễn ra như sau:

1. Bạn có văn bản word hợp đồng .word (data).

2. Bạn sử dụng chương trình thuật toán băm (MD5 hoặc SHA), băm văn bản word ra sẽ được 1 chuỗi kí tự duy nhất với độ dài cố định. Ta gọi là chuỗi H: (software) -> hash word file -> string H .

– Thuật toán băm phải được thống nhất giữa 2 bên để có được kết quả chính xác giống nhau khi kiểm tra.

3. Sau đấy bạn sử dụng private key của bạn để mã hoá chuỗi băm từ văn bản word. Ta sẽ được 1 chuỗi ký tự hash đã được mã hoá gọi là cipher hash. Ta có thể gọi là chuỗi C: string H private key người kí -> cipher hash A.

4. Lúc này cipher hash A chính là chữ kí số của người kí tạo ra là bạn (cipher hash A = digital signature). Nhiệm vụ lúc này của ta là thêm nó vào nội dung file word vào cuối văn bản, để bên kia nhận được nội dung văn bản và các chữ kí số.

chu-ky-so-Digital-Signature-hoat-dong-nhu-the-nao

Quá trình kiểm tra thông tin chữ kí số (Verification)

Quá trình kiểm tra thông tin chữ ký số (Verification) sẽ diễn ra như sau:

1. Người nhận sẽ nhận được văn bản hợp đồng bao gồm nội dung chính chữ kí số cipher hash A. Lúc này người nhận sẽ tách riêng nội dung văn bản hợp đồng và chữ kí số ra xử lý độc lập.

2. Ở phần nội dung văn bản hợp đồng, người nhận làm công việc giống người kí đó là ta sử dụng chương trình thuật toán băm (MD5 hoặc SHA) giống bên kí, băm văn bản word ra sẽ được 1 chuỗi kí tự duy nhất với độ dài cố định. Ta gọi là chuỗi H2 chẳng hạn, chuỗi H2 sẽ đại diện cho chuỗi string hash của người nhận đã hash ra: (software) -> hash word file -> string H2.

3. Người nhận sử dụng public key của người kí (signer’s public key) để giải mã chuỗi cipher hash A đính kèm trong văn bản hợp đồng ra được chuỗi string H: cipher hash A public key người kí -> string H.

4. Đối chiếu thông tin trùng khớp giữa string H và string H2. Nếu khớp nhau tức nội dung chính xác, không bị thay đổi nội dung, chính xác của người đã tạo ra văn bản và hoàn tất quá trình kiểm tra thông tin chữ ký số (verification).

Lưu ý

  •  Bất cứ thay đổi dù là nhỏ nhất vào nội dung thông điệp gửi đi (data) hay nôm na là văn bản hợp đồng sau khi đã khởi tạo chữ kí số cũng sẽ tạo ra kết quả hoàn toàn khác ở phía người nhận khi họ hash băm văn bản ra và đối chiếu với thông tin hash ở chữ kí số của bạn.
  • Chữ ký số cũng tồn tại một số vấn đề về bảo mật nhưng trong phạm vi bài viết này sẽ không đề cập đến. Bạn có thể tìm hiểu thêm nội dung liên quan về việc sử dụng Chữ ký số nhiều nhất là Digital Signature Certificate và Digital Certificate.

Mật mã hóa Khóa công khai (Public-key Cryptography)

Digital Signature (chữ ký số) là chữ ký điện tử dùng trong blockchain được xây dựng trên hệ mật mã hóa khóa công khai hay còn được gọi là mật mã hóa khóa bất đối xứng (asymmetrical crytography).

Hệ thống này sử dụng một cặp khóa mật mã: khóa công khai như tên gọi của nó, được đưa ra cho mọi người biết, không yêu cầu bảo mật, và khóa cá nhân chỉ có chủ nhân mới biết, yêu cầu giữ bí mật. Để một người sử dụng hệ mật mã này, việc đầu tiên người đó sẽ dùng một thuật toán tạo khóa G để tạo ra một cặp khóa mật mã ký hiệu là (sk,pk).

Như ví dụ minh họa trên, thì sk sẽ là khóa bí mật của Alice, còn pk sẽ là khóa công khai của Alice.

Bây giờ Bob có thể gửi một thông điệp m đến cho Alice bằng cách dùng khóa công khai của Alice pk để mã hóa c←E(m,pk), sao đó Bob gửi thông điệp đã được mã hóa c cho Alice. Alice muốn đọc được nội dung cả văn bản đã được mã hóa c thì sẽ dùng khóa bí mật (private key) của mình để giải mã m=D(c,sk). Người ta gọi đây là hệ mật mã hóa khóa bất đối xứng vì việc mã hóa E và giải mã D dùng hai khóa khác nhau.

Một hệ thống mã hóa dùng khóa công khai thì bao gồm 3 thuật toán chính (G,E,D): thuật toán sinh khóa G, thuật toán mã hóa E, và thuật toán giải mã D. Với hệ thống mã hóa này thì với mọi thông điệp m và mọi cặp khóa (sk,pk) được sinh ra bởi thuật toán G thì nếu ta dùng khóa bí mật sk để giải mã một nội dung được mã hóa bằng khóa công khai pk thì chúng ta sẽ phải có được nội dung gốc Dsk(Epk(m))=m.

Tìm hiểu tiền điện tử Bitcoin là gì | Ethereum là gì?

mat-ma-khoa-cong-khai-public-key-cryptography

Tầm quan trọng của Chữ ký số (Digital signature)

Chữ ký số thường được sử dụng để đạt được tính toàn vẹn dữ liệu, xác thực và chống hoái thác.

  • Tính toàn vẹn dữ liệu. Bob có thể xác minh rằng thông điệp của Alice đã không bị thay đổi trên đường được gửi đi. Bất kỳ sửa đổi trong thông điệp sẽ tạo ra một chữ ký hoàn toàn khác nhau.
  • Tính xác thực. Miễn là khóa riêng của Alice được giữ bí mật, Bob có thể sử dụng khóa công khai của mình để xác nhận rằng chữ ký điện tử được tạo bởi Alice chứ không phải một ai khác.
  • Chống thoái thác. Khi chữ ký đã được tạo, Alice sẽ không thể phủ nhận việc mình đã ký nó, trừ khi khóa riêng của cô ấy bị xâm phạm.

Ứng dụng của Chữ ký số (Digital signature)

Chữ ký số có thể được áp dụng cho nhiều loại tài liệu và chứng chỉ số khác nhau. Do đó, chúng có một số ứng dụng. Một số trường hợp sử dụng phổ biến nhất bao gồm:

  • Công nghệ thông tin. Để tăng cường bảo mật của các hệ thống truyền thông Internet.
  • Tài chính. Chữ ký số có thể được triển khai cho các hoạt động kiểm toán, báo cáo chi phí, thỏa thuận cho vay và nhiều hơn nữa.
  • Pháp lý. Việc sử dụng chữ ký số trên tất cả các loại hợp đồng kinh doanh và thỏa thuận pháp lý, bao gồm cả các tài liệu của chính phủ.
  • Chăm sóc sức khỏe. Chữ ký số có thể ngăn chặn sự gian lận trong kê đơn thuốc và hồ sơ y tế.
  • Blockchain. Các hệ thống chữ ký số đảm bảo rằng chỉ những chủ sở hữu hợp pháp của tiền điện tử mới có thể ký một giao dịch để chuyển tiền (miễn là các khóa riêng của họ không bị xâm phạm).

Hạn chế

Những thách thức lớn mà hệ thống chữ ký số phải đối mặt dựa trên ít nhất ba yêu cầu:

  • Thuật toán: Chất lượng của các thuật toán được sử dụng trong hệ thống chữ ký số là rất quan trọng. Điều này bao gồm sự lựa chọn các hàm băm đáng tin cậy và các hệ thống mật mã.
  • Triển khai: Nếu các thuật toán tốt, nhưng việc triển khai không tốt, hệ thống chữ ký số sẽ có khả năng xuất hiện sai sót.
  • Khóa riêng: Nếu các khóa riêng bị rò rỉ hoặc bằng cách nào đó bị xâm phạm, các thuộc tính xác thực và chống thoái thác sẽ bị vô hiệu. Đối với người dùng tiền điện tử, mất khóa riêng có thể dẫn đến tổn thất tài chính đáng kể.

Chữ ký điện tử và chữ ký số

Nói một cách đơn giản, chữ ký điện tử liên quan đến một loại chữ ký điện tử cụ thể – đề cập đến bất kỳ phương thức điện tử nào để ký các tài liệu và tin nhắn. Do đó, tất cả chữ ký số là chữ ký điện tử, nhưng điều ngược lại không phải lúc nào cũng đúng.

Sự khác biệt chính giữa chúng là phương thức xác thực. Chữ ký số triển khai các hệ thống mật mã, chẳng hạn như hàm băm, mật mã khóa công khai và kỹ thuật mã hóa.

Kết luận

Hy vọng những thông tin trong bài viết “Chữ ký số (Digital signature) là gì? Cách hoạt động và ứng dụng” đã giải đáp những thắc mắc cho các bạn về chữ ký số. Theo dõi Exchange script để cập nhật nhiều kiến thức bổ ích về thị trường tiền điện tử nhé.

Chúc các bạn thành công!

thiết kế sàn giao dịch tiền ảo

Share Social