Chữ ký số là cơ chế mã hóa được sử dụng để xác minh tính xác thực và tính toàn vẹn của số và dữ liệu. Chúng ta có thể coi nó như một phiên bản kỹ thuật số của phương pháp chữ ký viết tay truyền thống, phức tạp và an toàn hơn chữ ký.
Tóm lại, chúng ta có thể hiểu chữ ký số là một đoạn mã được đính kèm vào tin nhắn hoặc tài liệu. Khi chữ ký số được tạo ra, nó đóng vai trò là bằng chứng cho thấy tin nhắn không bị giả mạo trong suốt hành trình từ người gửi đến người nhận.
Mặc dù khái niệm sử dụng mật mã để bảo vệ tính bí mật của thông tin liên lạc đã có từ xa xưa, nhưng sơ đồ chữ ký số chỉ trở nên phổ biến vào những năm 1970 với sự phát triển của mật mã khóa công khai (PKC). Thực tế. Vì vậy, để hiểu cách chữ ký số hoạt động, trước tiên chúng ta cần hiểu những kiến thức cơ bản về hàm băm và mật mã khóa công khai.
Băm là một trong những thành phần cốt lõi trong chữ ký số. Quá trình hoạt động của giá trị băm đề cập đến việc chuyển đổi dữ liệu có độ dài bất kỳ thành độ dài cố định. Điều này đạt được thông qua một hoạt động đặc biệt gọi là hàm băm. Giá trị do hàm băm tạo ra được gọi là giá trị băm hoặc thông báo tóm tắt.
Khi một giá trị băm được kết hợp với thuật toán mã hóa, nghĩa là sử dụng hàm băm mật mã để tạo ra giá trị băm (thông báo), giá trị đó có thể đóng vai trò là dấu vân tay kỹ thuật số duy nhất. Điều này có nghĩa là bất kỳ thay đổi nào đối với dữ liệu đầu vào (thông báo) sẽ dẫn đến giá trị đầu ra hoàn toàn khác (giá trị băm). Đây là lý do tại sao hàm băm mật mã được sử dụng rộng rãi để xác minh tính xác thực của số và dữ liệu.
Mật mã khóa công khai hay PKC đề cập đến sử dụng Hệ thống mật mã có một cặp khóa: khóa chung và khóa riêng. Hai khóa này có liên quan về mặt toán học và có thể được sử dụng để mã hóa dữ liệu và chữ ký số.
Là một công cụ mã hóa, PKC có tính bảo mật cao hơn mã hóa đối xứng. Các hệ thống mã hóa đối xứng dựa vào cùng một khóa để mã hóa và giải mã thông tin, nhưng PKC sử dụng khóa chung để mã hóa dữ liệu và khóa riêng tương ứng để giải mã dữ liệu.
Ngoài ra, PKC cũng có thể được áp dụng để tạo chữ ký số. Về cơ bản, quy trình này bao gồm việc người gửi mã hóa hàm băm của tin nhắn (dữ liệu) bằng khóa riêng của mình. Tiếp theo, người nhận tin nhắn có thể kiểm tra xem chữ ký số có hợp lệ hay không bằng cách sử dụng khóa chung do người ký cung cấp.
Trong một số trường hợp, bản thân chữ ký số có thể bao gồm quy trình mã hóa, nhưng không phải lúc nào cũng như vậy. Ví dụ: chuỗi khối Bitcoin sử dụng PKC và chữ ký số, và không giống như hầu hết mọi người tin rằng, không có mã hóa trong quy trình. Về mặt kỹ thuật, Bitcoin lần lượt triển khai cái gọi là Thuật toán chữ ký số đường cong Elliptic (ECDSA) để xác minh các giao dịch.
Trong bối cảnh tiền điện tử, hệ thống chữ ký số thường bao gồm ba chữ A quy trình cơ bản: băm, ký và xác minh.
Bước đầu tiên là băm thông điệp hoặc dữ liệu. Điều này được thực hiện bằng cách thao tác trên dữ liệu bằng thuật toán băm để tạo ra giá trị băm (tức là thông báo tóm tắt). Như đã đề cập ở trên, các tin nhắn có thể có độ dài khác nhau rất nhiều, nhưng khi các tin nhắn được băm, các giá trị băm của chúng đều có cùng độ dài. Đây là thuộc tính cơ bản nhất của hàm băm.
Tuy nhiên, chỉ băm tin nhắn không phải là yêu cầu bắt buộc để tạo chữ ký điện tử, vì các tin nhắn chưa được băm cũng có thể được mã hóa bằng khóa riêng. Nhưng đối với tiền điện tử, các tin nhắn cần được xử lý bằng hàm băm, vì việc xử lý các giá trị băm có độ dài cố định sẽ giúp các chương trình tiền điện tử chạy được.
Sau khi tin nhắn được băm, người gửi tin nhắn cần ký vào tin nhắn của họ. Mật mã khóa công khai được sử dụng ở đây. Có một số loại thuật toán chữ ký số, mỗi loại có cơ chế hoạt động riêng. Về cơ bản, một tin nhắn băm (giá trị băm) được ký bằng khóa riêng và người nhận tin nhắn sau đó có thể kiểm tra tính hợp lệ của nó bằng khóa chung tương ứng (do người ký cung cấp).
Nói cách khác, nếu khóa riêng không được sử dụng khi tạo chữ ký, người nhận tin nhắn sẽ không thể sử dụng khóa chung tương ứng để xác minh tính hợp lệ của nó. Cả khóa chung và khóa riêng đều do người gửi tin nhắn tạo ra nhưng chỉ có khóa chung được chia sẻ với người nhận.
Điều quan trọng cần lưu ý là chữ ký điện tử được liên kết với nội dung của mỗi tin nhắn. Vì vậy, không giống như chữ ký viết tay, chữ ký số đối với mỗi tin nhắn là khác nhau.
Hãy đưa ra một ví dụ để minh họa toàn bộ quá trình, bao gồm cả việc xác minh từ đầu đến bước cuối cùng. Giả sử Alice gửi tin nhắn cho Bob, băm tin nhắn thành giá trị băm và sau đó kết hợp giá trị băm với khóa riêng của cô ấy để tạo chữ ký số. Chữ ký số sẽ đóng vai trò là dấu vân tay kỹ thuật số duy nhất của tin nhắn.
Khi Bob nhận được tin nhắn, anh ấy có thể sử dụng khóa chung do Alice cung cấp để kiểm tra tính hợp lệ của chữ ký số. Bằng cách này, Bob có thể chắc chắn rằng chữ ký được tạo bởi Alice, vì chỉ có cô ấy mới có khóa riêng tương ứng với khóa chung (ít nhất đó là những gì chúng tôi giả định).
Vì vậy, điều quan trọng đối với Alice là giữ an toàn cho khóa riêng của mình. Nếu người khác lấy được khóa riêng của Alice, họ cũng có thể tạo chữ ký điện tử và giả làm Alice. Trong bối cảnh Bitcoin, điều này có nghĩa là ai đó có quyền truy cập vào khóa riêng của Alice và có thể chuyển hoặc sử dụng Bitcoin của cô ấy mà cô ấy không biết.
Chữ ký số thường được sử dụng để đạt được ba mục tiêu sau: tính toàn vẹn dữ liệu, xác thực và chống chối bỏ.
Chữ ký số có thể được áp dụng cho nhiều tài liệu kỹ thuật số khác nhau và các chứng chỉ. Vì vậy, họ có một số ứng dụng. Một số ví dụ phổ biến nhất bao gồm:
Những thách thức chính mà sơ đồ chữ ký số phải đối mặt là chủ yếu Giới hạn ở ba yếu tố sau:
Tóm lại, Chữ ký số có thể được hiểu là một loại chữ ký điện tử cụ thể, trong đó đề cập đến việc sử dụng các phương tiện điện tử để ký các tài liệu và tin nhắn. Vì vậy, tất cả các chữ ký số đều có thể coi là chữ ký điện tử chứ không phải ngược lại.
Sự khác biệt chính giữa chúng là phương thức xác thực. Chữ ký số yêu cầu triển khai các hệ thống mật mã như hàm băm, mật mã khóa công khai và kỹ thuật mã hóa.
Hàm băm và mã hóa khóa công khai là cốt lõi của hệ thống chữ ký số , hiện được sử dụng trong nhiều trường hợp khác nhau. Khi được triển khai đúng cách, chữ ký số có thể cải thiện tính bảo mật, đảm bảo tính toàn vẹn và tạo điều kiện xác thực tất cả các loại dữ liệu.
Trong thế giới blockchain, chữ ký số được sử dụng để ký và ủy quyền các giao dịch tiền điện tử. Chúng đặc biệt quan trọng đối với Bitcoin vì chữ ký số đảm bảo rằng mã thông báo chỉ có thể được sử dụng bởi người có khóa riêng tương ứng.
Mặc dù chúng tôi đã sử dụng chữ ký điện tử và chữ ký số trong nhiều năm nhưng vẫn còn rất nhiều cơ hội để phát triển. Ngày nay, hầu hết các tài liệu chính thức vẫn dựa trên tài liệu giấy, nhưng khi ngày càng nhiều hệ thống chuyển sang kỹ thuật số, chúng ta sẽ thấy nhiều giải pháp chữ ký số hơn.