Chữ ký số là một 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 dữ liệu số. Chúng ta có thể coi nó như một phiên bản kỹ thuật số của chữ ký viết tay thông thường nhưng có mức độ phức tạp và bảo mật cao hơn.

Tóm lại, chúng ta có thể mô tả chữ ký số như một mã được đính kèm vào tin nhắn hoặc tài liệu. Sau khi được tạo, mã này đóng vai trò là bằng chứng cho thấy tin nhắn không bị giả mạo trong quá trình truyền từ người gửi đến người nhận.

Mặc dù khái niệm bảo mật thông tin liên lạc bằng mật mã đã có từ xa xưa nhưng hệ thống chữ ký số đã trở thành hiện thực vào những năm 1970 – nhờ vào sự phát triển của mật mã khóa công khai (PKC). Vì vậy, để tìm hiểu cách hoạt động của chữ ký số, 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.


Hàm băm

Hàm băm là một trong những thành phần chính của hệ thống chữ ký số. Quá trình băm bao gồm việc chuyển đổi dữ liệu có kích thước bất kỳ thành dữ liệu có kích thước cố định. Điều này được thực hiện bằng một loại thuật toán đặc biệt được gọi là hàm băm. Dữ liệu đầu ra do hàm băm tạo ra được gọi là giá trị băm.

Khi kết hợp với mật mã, cái gọi là hàm băm mật mã có thể được sử dụng để tạo ra giá trị băm đóng vai trò là dấu vân tay 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 (tin nhắn) sẽ dẫn đến một hàm băm hoàn toàn khác. Đâ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 dữ liệu số.


Mật mã khóa công khai (PKC)

Mật mã khóa công khai, hay PKC, đề cập đến một hệ thống mật mã sử dụng 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 cho cả mã hóa dữ liệu và chữ ký số.

Là một công cụ mã hóa, hệ thống PKC an toàn hơn các phương pháp mã hóa đối xứng thô sơ hơn. Trong khi các hệ thống cũ dựa vào cùng một khóa để mã hóa và giải mã thông tin thì PKC cho phép dữ liệu được mã hóa bằng khóa chung và được giải mã bằng khóa riêng tư tương ứng.

Hơn nữa, sơ đồ PKC cũng có thể được áp dụng để tạo chữ ký số. Quá trình này bao gồm việc gửi một tin nhắn (hoặc dữ liệu số), cùng với khóa riêng của người gửi, thông qua hàm băm. Sau đó, người nhận tin nhắn có thể xác minh rằng chữ ký hợp lệ bằng khóa chung do người gửi cung cấp.

Trong một số trường hợp, chữ ký số có thể liên quan đến 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 chữ ký số và PKC, nhưng trái với suy nghĩ của nhiều người, quy trình này không có mã hóa. Về mặt kỹ thuật, Bitcoin triển khai cái gọi là Thuật toán chữ ký số đường cong Elliptic (ECDSA) để xác thực các giao dịch.


Cách chữ ký số hoạt động

Trong bối cảnh tiền điện tử, hệ thống chữ ký số thường bao gồm ba bước cơ bản: băm, ký và xác minh.

Băm

Bước đầu tiên là băm thông điệp hoặc dữ liệu số. Việc này được thực hiện bằng thuật toán băm, biến đổi dữ liệu thành giá trị băm. Như đã đề cập, các tin nhắn có thể có kích thước khác nhau đáng kể, nhưng khi chúng trải qua quá trình băm, tất cả các giá trị băm đều có cùng kích thước. Đây là thuộc tính chính của hàm băm.

Tuy nhiên, việc băm dữ liệu không bắt buộc phải tạo ra chữ ký số vì có thể sử dụng khóa riêng để ký một tin nhắn chưa có hàm băm. Tuy nhiên, trong trường hợp tiền điện tử, các tin nhắn luôn được chuyển thành giá trị băm vì kích thước cố định của giá trị băm tạo điều kiện thuận lợi cho toàn bộ quá trình.

Chữ ký

Sau khi thông tin được chuyển thành giá trị băm, người gửi tin nhắn cần ký vào đó. Đây là thời điểm Mật mã khóa công khai xuất hiện. Có một số loại thuật toán chữ ký số, mỗi loại có cơ chế riêng. Nhưng nhìn chung, tin nhắn sẽ được ký bằng khóa riêng và người nhận tin nhắn sẽ có thể xác minh tính hợp lệ của nó bằng khóa chung tương ứng (do người gửi cung cấp).

Nói cách khác, nếu không có khóa riêng khi tạo chữ ký thì người nhận tin nhắn không thể sử dụng khóa chung tương ứng để xác minh tính hợp lệ của chữ ký và tin nhắn. Khóa chung và khóa riêng được tạo bởi người gửi tin nhắn nhưng chỉ có khóa chung được chia sẻ với người nhận.

Điều đáng chú ý là chữ ký số có liên quan trực tiếp đến nội dung của từng tin nhắn. Do đó, không giống như chữ ký viết tay có xu hướng giống nhau bất kể tin nhắn nào, mỗi tin nhắn được ký điện tử sẽ có một chữ ký số khác nhau.

xác minh

Hãy sử dụng một ví dụ để minh họa toàn bộ quá trình cho đến bước xác minh cuối cùng. Hãy tưởng tượng rằng Alice đã viết một tin nhắn cho Bob, tạo ra giá trị băm của tin nhắn và kết hợp nó với khóa riêng của cô ấy để tạo ra chữ ký số. Chữ ký sẽ hoạt động như một dấu vân tay duy nhất, dành riêng cho tin nhắn đó.

Khi Bob nhận được tin nhắn, anh ta có thể xác minh tính hợp lệ của chữ ký số bằng khóa chung do Alice cung cấp. 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 này (ít nhất đó là điều chúng tôi hy vọng).

Vì vậy, điều quan trọng là Alice phải giữ bí mật khóa riêng của mình. Nếu người khác nắm giữ khóa riêng của Alice, họ có thể tạo chữ ký điện tử giả mang tên Alice. Trong bối cảnh Bitcoin, điều này có nghĩa là ai đó có thể sử dụng khóa riêng của Alice để di chuyển hoặc tiêu Bitcoin của cô ấy mà không cần sự cho phép của cô ấy.


Tại sao chữ ký số lại quan trọng?

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

  • Toàn vẹn dữ liệu. Bob có thể xác minh rằng tin nhắn của Alice không thay đổi trong quá trình gửi. Bất kỳ sửa đổi nào đối với tin nhắn sẽ tạo ra một chữ ký hoàn toàn khác.

  • 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 chung của mình để xác nhận rằng chữ ký số được tạo bởi Alice chứ không phải ai khác.

  • Không bác bỏ. Khi chữ ký được tạo, Alice sẽ không thể phủ nhận rằng cô ấy đã ký nó trong tương lai trừ khi khóa riêng của cô ấy bị xâm phạm theo cách nào đó.


Trường hợp sử dụng

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

  • Công nghệ thông tin. Để cải thiện tính bảo mật của hệ thống truyền thông Internet.

  • Tài chính. Chữ ký số có thể được triển khai trong kiểm toán, báo cáo chi phí, hợp đồng cho vay và hơn thế nữa.

  • Sử dụng nó mát mẻ. Chữ ký số cho tất cả các loại hợp đồng kinh doanh và thỏa thuận pháp lý, bao gồm cả tài liệu của chính phủ.

  • Hệ thống y tế. Chữ ký số có thể ngăn ngừa gian lận đơn thuốc và hồ sơ y tế.

  • Chuỗi khối. Các chương trình 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ý giao dịch để chuyển tiền (miễn là khóa riêng của họ không bị xâm phạm).


Hạn chế

Những thách thức chính mà các sơ đồ chữ ký số phải đối mặt có liên quan đến ít nhất ba yếu tố:

  • Thuật toán. Chất lượng của các thuật toán được sử dụng trong sơ đồ chữ ký số là rất quan trọng. Điều này bao gồm việc chọn các hàm băm đáng tin cậy và hệ thống mã hóa mạnh.

  • Thực hiện. Ngay cả khi các thuật toán tốt, việc triển khai kém có thể sẽ gây ra lỗi trong hệ thống chữ ký số.

  • Khóa riêng. Nếu khóa riêng bị xâm phạm theo bất kỳ cách nào, các thuộc tính xác thực và chống chối bỏ sẽ bị vô hiệu. Đối với người dùng tiền điện tử, việc 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ý điện tử chữ ký số

Tóm lại, chữ ký số liên quan đến một loại chữ ký điện tử cụ thể - dùng để chỉ bất kỳ phương thức điện tử nào để ký tài liệu và tin nhắn. Vì vậy, mọi chữ ký số đều 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 hai hệ thống là phương thức xác thực. Chữ ký số sử dụng 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.


Cân nhắc cuối cùng

Hàm băm và hệ thống PKC là những thành phần quan trọng trong sơ đồ chữ ký số, hiện được áp dụng trong nhiều tình huống khác nhau. Nếu được triển khai đúng cách, chữ ký số có thể tăng cường 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 số.

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ý đảm bảo rằng tiền chỉ có thể được sử dụng bởi những cá nhân nắm giữ 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. Phần lớn bộ máy quan liêu ngày nay vẫn dựa trên giấy tờ, nhưng chúng ta có thể sẽ thấy việc áp dụng nhiều sơ đồ chữ ký số hơn khi chúng ta chuyển sang một hệ thống số hóa hơn.