Asymmetric Key cryptography (Mã hoá bất đối xứng) là một phương pháp mã hóa sử dụng hai khóa khác nhau nhưng liên quan mật thiết với nhau về mặt toán học để thực hiện việc mã hóa và giải mã dữ liệu.
Hai khóa này bao gồm:
- Khóa công khai (Public Key)
- Được công khai và có thể chia sẻ với bất kỳ ai.
- Được sử dụng để mã hóa dữ liệu hoặc xác minh chữ ký số.
- Khóa riêng tư (Private Key)
- Được giữ bí mật và chỉ người sở hữu mới có quyền truy cập.
- Được sử dụng để giải mã dữ liệu hoặc tạo chữ ký số.
Hai khóa này hoạt động theo nguyên tắc:
- Dữ liệu được mã hóa bằng khóa công khai chỉ có thể được giải mã bằng khóa riêng tư tương ứng.
- Tương tự, dữ liệu được ký bằng khóa riêng tư có thể được xác minh bằng khóa công khai.
Nguyên lý hoạt động
Hệ thống asymmetric key hoạt động dựa trên hàm toán học một chiều: dễ dàng tính toán theo một chiều nhưng rất khó tính ngược lại nếu không có thông tin cụ thể.
- Quá trình mã hóa và giải mã
- Bên gửi sử dụng khóa công khai của người nhận để mã hóa thông tin.
- Người nhận sử dụng khóa riêng tư tương ứng để giải mã thông tin.
- Quá trình ký số và xác thực
- Người gửi sử dụng khóa riêng tư để tạo chữ ký số.
- Người nhận sử dụng khóa công khai của người gửi để xác minh chữ ký số.
Ví dụ
Giả sử A muốn gửi một thông điệp bí mật cho B:
- B tạo một cặp khóa:
- Khóa công khai của B: chia sẻ công khai.
- Khóa riêng tư của B: giữ bí mật.
- A muốn gửi thông tin bảo mật:
- A sử dụng khóa công khai của B để mã hóa thông tin.
- Chỉ B, người sở hữu khóa riêng tư, mới có thể giải mã được thông tin đó.
- Đảm bảo tính xác thực (chữ ký số):
- Nếu A muốn B biết thông điệp thật sự do mình gửi, A sẽ ký vào thông điệp bằng khóa riêng tư của mình.
- B sử dụng khóa công khai của A để xác minh chữ ký và đảm bảo tính xác thực của thông điệp.
Ưu điểm của Asymmetric Key
- Bảo mật cao
- Không cần phải chia sẻ khóa riêng tư, giảm nguy cơ bị lộ khóa bí mật.
- Chữ ký số và xác thực
- Cho phép xác minh nguồn gốc và tính toàn vẹn của dữ liệu.
- Quản lý khóa dễ dàng hơn
- Chỉ cần bảo mật khóa riêng tư; khóa công khai có thể chia sẻ tự do.
Nhược điểm của Asymmetric Key
- Tốc độ
- Chậm hơn so với mã hóa đối xứng (symmetric key) do các phép toán phức tạp hơn.
- Khóa dài
- Để đạt được độ an toàn tương đương với mã hóa đối xứng, khóa bất đối xứng cần có độ dài lớn hơn.
- Chi phí tính toán cao
- Phù hợp cho các trường hợp xác thực và truyền khóa, nhưng ít được sử dụng cho mã hóa khối lượng lớn dữ liệu.
Ứng dụng thực tế của Asymmetric Key
- SSL/TLS:
- Bảo mật giao tiếp giữa trình duyệt và máy chủ web.
- Mã hóa bất đối xứng được sử dụng để truyền khóa phiên (mã hóa đối xứng) an toàn.
- Chữ ký số:
- Xác minh tính xác thực và toàn vẹn của tài liệu, ví dụ trong các chứng thư số.
- Hệ thống quản lý khóa công khai (PKI):
- Cơ sở hạ tầng khóa công khai để cấp và quản lý các cặp khóa trong các hệ thống lớn.
- Mã hóa email (PGP, S/MIME):
- Bảo mật email sử dụng mã hóa bất đối xứng để truyền tin.
- Tiền mã hóa (Blockchain):
- Các giao dịch tiền điện tử sử dụng cặp khóa công khai và riêng tư để xác thực và bảo mật giao dịch.
Thuật toán Asymmetric Key nổi bật
- RSA (Rivest-Shamir-Adleman)
- Dựa trên độ khó của bài toán phân tích số nguyên tố.
- Được sử dụng rộng rãi trong các hệ thống bảo mật.
- ECC (Elliptic Curve Cryptography)
- Sử dụng toán học trên đường cong elliptic.
- Cung cấp bảo mật tương đương với RSA nhưng với khóa ngắn hơn.
- DSA (Digital Signature Algorithm)
- Được sử dụng chủ yếu để tạo và xác minh chữ ký số.
So sánh Asymmetric Key và Symmetric Key
Kết luận