Giới thiệu về Thuật toán Chữ ký Số (DSA)
Chữ ký điện tử dựa trên kiến trúc mật mã khóa công khai để xác minh tính xác thực của tài liệu và nhận dạng người gửi. Hai cách tiêu chuẩn để lấy chữ ký điện tử là thuật toán RSA (Rivest – Shamir – Adleman) và DSA (Chữ ký số), nhưng cả hai đều khác nhau về việc thực hiện các chức năng mã hóa và giải mã.
Bài viết cung cấp tổng quan về một trong những thuật toán tiêu chuẩn ngành DSA, quy trình làm việc của nó với tổng quan ngắn gọn về tạo và xác minh khóa và chữ ký, các bước liên quan đến quy trình tổng thể, ưu / nhược điểm và ứng dụng của nó.
Mục Lục
Giới thiệu về các thuật toán chữ ký số
DSA (Thuật toán chữ ký số) kết hợp các đặc tính đại số của các bài toán logarit rời rạc và lũy thừa mô-đun để tạo ra chữ ký điện tử cho các ứng dụng khác nhau. Nó được đề xuất vào năm 1991 và được NIST (Viện Tiêu chuẩn và Công nghệ Quốc gia) thông qua làm Tiêu chuẩn xử lý thông tin liên bang vào năm 1994.
Hầu hết các thuật toán tạo chữ ký kỹ thuật số tuân theo kỹ thuật điển hình là ký thông báo tóm tắt (băm của thông điệp thực tế) với khóa cá nhân nguồn để tạo dấu vân tay kỹ thuật số.
Tuy nhiên, tình huống khác trong DSA vì nó tạo ra hai chữ ký bằng cách kết hợp hai chức năng ký và xác minh phức tạp và duy nhất. Do đó, thuật toán DSA không đơn giản chỉ sử dụng các khóa riêng tư và công khai khi bắt đầu và kết thúc giao tiếp.
Tầm quan trọng của thuật toán chữ ký số
Do các mối đe dọa mạng ngày càng gia tăng, bất cứ khi nào người dùng gửi dữ liệu qua internet, cần phải xác định và xác minh tính xác thực của chủ sở hữu. Chúng tôi phải đảm bảo rằng chủ sở hữu tài liệu là đáng tin cậy và không ai thực hiện bất kỳ thay đổi nào trong quá trình truyền.
Chữ ký điện tử là chữ ký điện tử giúp người nhận xác thực nguồn gốc của thông điệp. Bạn có thể tạo các chữ ký điện tử này thông qua các thuật toán khác nhau và DSA là một trong số đó. Trong DSA, người gửi tạo một chữ ký điện tử để bao gồm nó với thông điệp để bất kỳ ai cũng có thể xác thực nó ở đầu nhận.
Các lợi ích mà DSA cung cấp là:
- Không bác bỏ: sau khi xác minh chữ ký, người gửi không thể khẳng định là chưa gửi dữ liệu.
- Thanh Liêm: việc sửa đổi dữ liệu trong quá trình truyền sẽ ngăn cản quá trình xác minh cuối cùng hoặc giải mã tin nhắn.
- Xác thực tin nhắn: tổ hợp khóa riêng tư / công khai phù hợp giúp xác minh nguồn gốc người gửi.
Thuật toán xác thực người gửi như thế nào?
Thuật toán DSA hoạt động trên cơ chế tính toán có hệ thống tính giá trị băm và chữ ký số tạo thành hai số 160 bit từ bản tóm tắt thông báo và khóa riêng tư. Tính ngẫu nhiên làm cho chữ ký không có tính xác định. Nó sử dụng khóa công khai để xác thực chữ ký, phức tạp hơn RSA.
Chu trình DSA tuân theo ba bước chính sau để hoàn thành quy trình:
- Tạo khóa: Quá trình dựa trên khái niệm lũy thừa mô-đun để thu được các khóa riêng (x) và công khai (y) thỏa mãn các điều kiện toán học của 0
- Tạo chữ ký: Thuật toán băm tạo ra một bản tóm tắt thông báo, được chuyển như một đầu vào cho một hàm ký để tạo hai đầu ra biến, r và s, được đóng gói dưới dạng chữ ký {r, s} sao cho thông báo và các biến này được gửi dưới dạng một gói đến người nhận.
- Xác minh chữ ký: Quá trình sử dụng hàm băm để xuất thông báo và kết hợp biến s với các tham số khác từ bước tạo khóa để tạo thành phần xác minh v. Hàm xác minh so sánh biến được tính toán v với tham số r từ gói {M, s, r} .
Để tóm tắt quá trình trên phi toán học:
- Bạn tạo khóa với sự trợ giúp của thuật toán tạo khóa để ký tài liệu.
- Sau đó, sử dụng thuật toán chữ ký số để tạo chữ ký.
- Sử dụng hàm băm để tạo thông báo tóm tắt và kết hợp nó với DSA để tạo chữ ký điện tử.
- Gửi chữ ký kèm theo dữ liệu để người nhận xác thực.
- Người nhận xác thực chữ ký bằng cách sử dụng một thuật toán xác minh. Đó là hàm băm được sử dụng ở trên để tạo thông báo tóm tắt.
Ưu điểm của việc sử dụng Thuật toán Chữ ký Số
- Tính toán chữ ký nhanh chóng
- Yêu cầu ít không gian lưu trữ hơn cho toàn bộ quá trình
- Có sẵn miễn phí (Miễn bằng sáng chế) để sử dụng toàn cầu miễn phí.
- Độ dài chữ ký nhỏ
- Quan sát trong thời gian thực
- Không xâm lấn
- DSA được chấp nhận trên toàn cầu vì tuân thủ pháp luật.
- Hiệu quả về thời gian (tiêu thụ thời gian thấp so với quy trình ký vật lý, v.v.)
Nhược điểm của việc sử dụng Thuật toán Chữ ký Số
- Quá trình này không bao gồm các khả năng trao đổi chính.
- Mật mã cơ bản phải mới để đảm bảo sức mạnh của nó.
- Việc tiêu chuẩn hóa các nhà cung cấp phần cứng và phần mềm máy tính trên RSA có thể gây ra sự cố do tiêu chuẩn xác thực thứ hai của DSA.
- Các hoạt động phức tạp còn lại đòi hỏi nhiều thời gian để tính toán và do đó xác minh chữ ký.
- Nó chỉ đảm bảo xác thực chứ không phải bảo mật vì thuật toán không mã hóa dữ liệu.
- Các thuật toán DSA tính toán hàm băm SHA1 để tạo thông báo tóm tắt. Do đó, nó phản ánh tất cả các sai sót của hàm băm SHA1 trong thuật toán.
DSA VS RSA
Thuật toán chữ ký số là một thuật toán mã hóa khóa bất đối xứng được các cơ quan của Hoa Kỳ thông qua để liên lạc bí mật và không bí mật. Trong khi RSA là một thuật toán mật mã khóa công khai cũng sử dụng số học mô-đun, sức mạnh của nó dựa vào vấn đề phân tích số nguyên tố để bảo mật thông tin liên lạc và chữ ký số. Do đó, không giống như các thuật toán mã hóa thông thường như RSA, DSA là một tiêu chuẩn chỉ dành cho chữ ký điện tử.
Mặc dù cả hai đều kết hợp các thuật toán toán học khác nhau, nhưng độ mạnh của mật mã là tương đương nhau. Sự khác biệt chính giữa hai thuật toán thu hẹp về tốc độ, hiệu suất và hỗ trợ giao thức SSH.
- Ngược lại với DSA, RSA chậm trong việc giải mã, tạo khóa và xác minh nhưng lại nhanh trong mã hóa và ký. Tuy nhiên, xác thực yêu cầu cả hai và sự khác biệt về tốc độ là không đáng kể trong các ứng dụng trong thế giới thực.
- Một điểm khác biệt khác nằm ở việc hỗ trợ giao thức mạng Secure Shell. RSA hỗ trợ SSH gốc và SSH2 phiên bản thứ hai an toàn của nó, trong khi DSA chỉ hoạt động với SSH2.
Xác thực Nguồn dữ liệu với DSA
Chữ ký điện tử là một nhu cầu cho thế giới kết nối ngày nay để tạo ra một môi trường an toàn và bảo mật. Chúng là một cách tuyệt vời để xác thực bất kỳ hồ sơ nào qua internet. Bài viết giới thiệu các thuật toán Chữ ký số với tổng quan ngắn gọn về quy trình làm việc của nó, ưu điểm, nhược điểm, hạn chế bảo mật và so sánh với RSA.
Đọc tiếp
Thông tin về các Tác giả