Chữ ký kỹ thuật số trong blockchain là một mảnh ghép vô cùng quan trọng trong việc xác minh các tài liệu kỹ thuật số nói riêng và thế giới blockchain nói chung. Vậy chữ ký kỹ thuật số trong blockchain là gì? Nó có thật sự quan trọng đến vậy không? Hãy cùng tìm hiểu qua bài viết dưới đây!
Chữ ký kỹ thuật số (digital signature) trong blockchain là gì?
Digital signature (chữ ký kỹ thuật số trong blockchain) là thành phần của một tài liệu kỹ thuật số được sử dụng để xác định người truyền dữ liệu. Chữ ký kỹ thuật số giúp xác định tình trạng không bị bóp méo của thông tin trong tài liệu sau khi được ký và kiểm tra xem chữ ký đó có thuộc về người nắm giữ chứng chỉ chính hay không. Giá trị cụ thể là kết quả của việc chuyển đổi mật mã của thông tin thông qua việc sử dụng khóa riêng tư và khóa công khai.
Digital signature được coi như một sự thay thế cho chữ ký viết tay trong phạm vi pháp luật cho phép. Các ứng dụng của nó bao gồm:
- Cho phép kiểm soát giá trị liên quan đến tài liệu đang được truyền. Bất cứ khi nào một tài liệu bị tiếp xúc với một sửa đổi độc hại, chữ ký sẽ bị vô hiệu vì nó chỉ phù hợp với trạng thái tài liệu ban đầu.
- Bảo vệ dữ liệu khỏi sự giả mạo. Các thuật toán chữ ký hiện tại khiến cho việc giả mạo không thể thực hiện được trong hầu hết các trường hợp.
- Đảm bảo từ chối các tài liệu có chữ ký không rõ nguồn gốc – bất kỳ chữ ký nào được tạo bằng khóa riêng tư mà chỉ chủ sở hữu của nó mới biết, do đó, người này không thể từ chối chữ ký của mình được thêm vào tài liệu.
Cách thức hoạt động của chữ ký kỹ thuật số
Cũng giống như chữ ký bằng văn bản ràng buộc một người bằng một tài liệu cụ thể, chữ ký kỹ thuật số liên kết mật mã danh tính với một tin nhắn. Chữ ký kỹ thuật số trong blockchain hầu như không thể giả mạo vì chúng dựa trên lý thuyết số. Trong cái được gọi là mật mã khóa công khai, người dùng sở hữu khóa công khai và khóa riêng tư, tạo thành một cặp. Mật mã khóa công khai sử dụng mã hóa để đảm bảo an ninh và bảo vệ thông tin khóa nhạy cảm.
Khóa công khai đại diện cho danh tính của chủ sở hữu và khóa riêng là bí mật, cho phép họ chứng minh mình sở hữu khóa công khai. Giả sử A muốn gửi một tin nhắn được mã hóa cho B. Bất kỳ ai cũng có thể nhìn thấy khóa công khai của B, vì vậy A có thể sử dụng nó trong thuật toán mã hóa tin nhắn của cô ấy.
Những người quan sát có thể nhìn thấy hoặc chặn tin nhắn được mã hóa nhưng họ không thể giải mã nó mà không có khóa riêng của B, điều mà chỉ anh ta biết. Vì vậy, A có thể đảm bảo không ai ngoài B có thể xem tin nhắn trừ khi họ có khóa riêng của anh ấy.
Đối với chữ ký kỹ thuật số trong blockchain, thao tác được thực hiện ngược lại. Thay vì thực hiện tính toán ban đầu với khóa công khai, A sử dụng khóa riêng của mình trong thuật toán ký để liên kết chữ ký với thông điệp và khóa công khai của cô ấy. Không ai có thể lấy được khóa riêng của A hoặc giả mạo chữ ký hợp lệ cho cô ấy, chỉ sử dụng chữ ký và khóa công khai của cô ấy. Tuy nhiên, bất kỳ ai biết khóa công khai của A đều có thể dễ dàng xác minh rằng thư đã được ký bằng khóa riêng của cô ấy.
Vai trò của chữ ký kỹ thuật số trong blockchain
Chữ ký kỹ thuật số là một khối xây dựng cơ bản trong blockchain, được sử dụng chủ yếu để xác thực các giao dịch. Khi người dùng gửi giao dịch, họ phải chứng minh với mọi nút trong hệ thống rằng họ được phép chi tiêu những khoản tiền đó, đồng thời ngăn người dùng khác chi tiêu chúng. Mọi nút trong mạng sẽ xác minh giao dịch đã gửi và kiểm tra hoạt động của tất cả các nút khác để đồng ý về trạng thái chính xác.
Nếu A muốn gửi cho B 1 bitcoin, cô ấy phải ký một giao dịch sử dụng 1 bitcoin đầu vào bằng khóa cá nhân của mình và gửi nó đến các nút trên mạng. Các thợ đào, những người biết khóa công khai của cô ấy sẽ kiểm tra các điều kiện của giao dịch và xác thực chữ ký. Sau khi tính hợp lệ được xác nhận, khối chứa giao dịch đó đã sẵn sàng để hoàn thiện bởi trình xác thực/người khai thác.
5 thuật toán chữ ký kỹ thuật số trong blockchain phổ biến
RSA
Đây là thuật toán mã hóa khóa công khai. Tính năng bảo mật của thuật toán này xuất phát từ độ khó của bài toán thừa số hóa. Thuật toán sử dụng hai khóa – công khai và riêng tư, tạo thành cặp có liên quan. Khóa công khai được sử dụng cho mục đích mã hóa dữ liệu. Nếu một tin nhắn được mã hóa bằng khóa công khai, thì nó chỉ có thể được giải mã bằng khóa riêng được liên kết.
Thuận lợi:
- Phân phối khóa công khai thuận tiện, không cần bí mật
- Các mạng lớn hơn có số lượng khóa nhỏ hơn nhiều so với hệ thống mật mã đối xứng
Nhược điểm:
- Tốc độ hoạt động thấp
- Chi phí tính toán cao liên quan đến việc đảm bảo độ mạnh mã hóa so với các nỗ lực làm giả
- Tính nhạy cảm với một cuộc tấn công nhiều lần. Nói cách khác, nó cho phép người dùng độc hại, người không biết khóa bí mật, tạo chữ ký cho các tài liệu. Kết quả có thể được tính như sản phẩm của kết quả băm từ các tài liệu đã được ký.
- Hệ thống RSA được sử dụng trong các hệ thống mật mã lai kết hợp với các thuật toán đối xứng. RSA được sử dụng bởi các hệ điều hành, chẳng hạn như Microsoft, Apple, Sun và Novell. Các ứng dụng phần cứng của thuật toán RSA bao gồm điện thoại thoại an toàn, thẻ mạng Ethernet, thẻ thông minh, các ứng dụng quy mô lớn trong thiết bị mật mã. Hơn nữa, thuật toán này vốn có trong tất cả các giao thức truyền thông Internet an toàn chính, bao gồm S/MIME, SSL và S/WAN và được các cơ quan chính phủ, hầu hết các tập đoàn, phòng thí nghiệm chính phủ và trường đại học tận dụng.
Hệ thống mã hóa ElGamal
Đây là một thuật toán mã hóa khóa công khai khác. Các tính năng bảo mật của thuật toán này xuất phát từ khó khăn trong việc tính toán các logarit rời rạc trong trường hữu hạn. Hệ thống mã hóa ElGamal bao gồm cả thuật toán mã hóa và chữ ký số.
Thuận lợi:
- Bản chất xác suất của mã hóa, cung cấp mức độ bền cao
- Khả năng tạo chữ ký điện tử cho một số lượng lớn thư chỉ bằng một khóa bí mật.
Nhược điểm:
- Tăng gấp đôi độ dài văn bản được mã hóa so với văn bản ban đầu, gây ra thời gian tính toán lâu hơn và yêu cầu khắt khe hơn đối với bảo mật kênh liên lạc.
- Giải pháp này được sử dụng trong các chứng chỉ khóa công khai nhằm mục đích bảo vệ các kết nối trong TLS (SSL, HTTPS, WEB), thư trong Chữ ký XML (Mã hóa XML) và tính toàn vẹn của địa chỉ IP và tên miền (DNSSEC).
DSA
Thuật toán mã hóa khóa công khai này được chỉ định để tạo chữ ký điện tử. Chữ ký được tạo ở chế độ riêng tư, nhưng nó có thể được xác minh ở chế độ công khai. Nói cách khác, chỉ có một chủ thể có thể tạo chữ ký thêm vào thư, nhưng bất kỳ ai cũng có quyền kiểm tra xem chữ ký đó có đúng hay không. Các tính năng bảo mật của thuật toán này bắt nguồn từ độ phức tạp tính toán của việc lấy logarit trong các trường hữu hạn.
Thuật toán DSA là một sửa đổi của thuật toán mã hóa ElGamal và cung cấp một số lợi ích:
- Độ dài chữ ký ngắn hơn mặc dù các mức độ mạnh giống nhau
- Tốc độ tính toán chữ ký thấp hơn
- Giảm không gian lưu trữ cần thiết
Nhược điểm:
- Xác minh chữ ký phải đòi hỏi các toán tử còn lại phức tạp, trong đó hành động nhanh nhất có thể bị cản trở
- Thuật toán DSA đã được chấp nhận như là tiêu chuẩn quốc gia của Hoa Kỳ với các ứng dụng trong cả thông tin liên lạc bí mật và không bí mật.
ECDSA
Đây là một thuật toán mã hóa khóa công khai được chỉ định để tạo chữ ký điện tử và là một sửa đổi của thuật toán DSA. Được xác định trong nhóm các điểm đường cong elliptic chứ không phải trên vòng các số nguyên là điều làm cho nó nổi bật. Các mức độ mạnh của thuật toán bắt nguồn từ bài toán giải logarit rời rạc trong nhóm các điểm đường cong elliptic. Thuật toán ECDSA có khả năng chống lại cuộc tấn công dựa trên một văn bản mở phù hợp với sự giả mạo hiện có.
Ưu điểm của ECDSA:
- Khả năng hoạt động trong các lĩnh vực thấp hơn nhiều so với các trường hợp sử dụng thuật toán DSA
- Không có vấn đề về hiệu suất ứng dụng
- Quy trình ký và xác minh nhanh chóng
- Tuân thủ các yêu cầu bảo vệ ngày càng tăng
- Hỗ trợ các tiêu chuẩn bảo vệ thông tin quốc gia
Bất lợi:
Một cơ hội xảy ra lỗi có thể làm cho nó có thể chọn một giá trị khóa cá nhân để có thể nhận được các chữ ký giống hệt nhau cho các tài liệu khác nhau. Tuy nhiên, cần có hiệu suất tính toán khổng lồ để cơ hội này thành hiện thực.
Các thuật toán đường cong elliptic được sử dụng trong TLS, PGP, SSH. Loại mã hóa này được sử dụng nhiều hơn trên Bitcoin và các nền tảng blockchain khác.
GOST R 34.10–2012
Đây là tiêu chuẩn của Nga mô tả các thuật toán xác minh và tạo DS. Thuật toán dựa trên đường cong elliptic, được xem như là một bản sao của ECDSA.
Ưu điểm:
- GOST 34.10–2012 không có khuyến nghị nào cho việc sử dụng đường cong, chỉ đưa ra một tập hợp các yêu cầu cho các đường cong đó và cho phép giữ nguyên tiêu chuẩn bất cứ khi nào có kết quả mới về các lớp “yếu” của đường cong elliptic.
Bất lợi:
- Việc thiếu các thông số khuyến nghị đòi hỏi phải nỗ lực hơn nữa để lựa chọn và xác minh các thông số đó, đã được các cơ quan quản lý đồng ý và xây dựng các hướng dẫn.
- Có thể các ứng dụng bao gồm chứng chỉ khóa công khai, S/MIME (PKCS # 7, cú pháp thông điệp mật mã), bảo mật kết nối trong TLS (SSL, HTTPS, WEB), bảo mật kết nối và bảo mật thư trong chữ ký XML (Mã hóa XML) và TLS ( SSL, HTTPS, WEB), bảo vệ tính toàn vẹn của địa chỉ IP và tên miền (DNSSEC).
Tóm lại, các hệ thống blockchain ngày nay, đại diện cho tương lai của công nghệ, cũng dựa trên các kỹ thuật chữ ký số. Mọi giao dịch được thực hiện trên blockchain đều được ký bằng chữ ký kỹ thuật số của người gửi bằng cách sử dụng khóa riêng của họ. Blockchain không thể tồn tại nếu không có hàm băm hoặc chữ ký kỹ thuật số.
PCB Tổng hợp