Mã hóa hậu lượng tử của OpenSSH
(openssh.com)- OpenSSH hỗ trợ thuật toán mật mã hậu lượng tử để chống lại các cuộc tấn công của máy tính lượng tử
- Từ phiên bản 9.0, mặc định áp dụng thuật toán sntrup761x25519-sha512; từ phiên bản 10.0 chuyển sang áp dụng mlkem768x25519-sha256 làm cơ chế kết nối mặc định
- Từ phiên bản 10.1 có thay đổi là sẽ hiển thị thông báo cảnh báo khi không dùng trao đổi khóa hậu lượng tử
- Hầu như tất cả thuật toán chữ ký hiện có (như RSA, ECDSA) cũng sẽ sớm được bổ sung hỗ trợ
- Để bảo vệ lưu lượng truy cập hiện tại một cách an toàn, cả máy chủ và máy khách đều cần áp dụng thuật toán hậu lượng tử
Việc triển khai mã hóa hậu lượng tử trong OpenSSH
OpenSSH hỗ trợ nhiều thuật toán thỏa thuận khóa an toàn trước các tấn công từ máy tính lượng tử. OpenSSH khuyến nghị sử dụng các thuật toán này cho mọi kết nối SSH.
Từ OpenSSH 9.0 (2022), KexAlgorithms đã mặc định hỗ trợ thỏa thuận khóa hậu lượng tử thông qua sntrup761x25519-sha512, và từ phiên bản 9.9 đã bổ sung mlkem768x25519-sha256. OpenSSH 10.0 đánh dấu mlkem768x25519-sha256 là cơ chế mã hóa mặc định.
Để thúc đẩy việc áp dụng thuật toán hậu lượng tử, OpenSSH 10.1 trở đi sẽ hiển thị cảnh báo sau đây nếu không sử dụng thỏa thuận khóa kháng lượng tử:
** WARNING: connection is not using a post-quantum kex exchange algorithm. **
This session may be vulnerable to "store now, decrypt later" attacks.
The server may need to be upgraded. See https://openssh.com/pq.html
Cảnh báo này mặc định sẽ xuất hiện, nhưng có thể vô hiệu hóa bằng tuỳ chọn WarnWeakCrypto trong ssh_config(5).
Bối cảnh
Máy tính lượng tử là thiết bị tính toán bằng cách mã hóa thông tin trong trạng thái lượng tử, có thể giải một số bài toán toán học rất nhanh so với máy tính thông thường.
Nguyên lý toán học của nhiều thuật toán mật mã dựa trên các bài toán có thể bị máy tính lượng tử giải nhanh. Khi xuất hiện một máy tính lượng tử đủ mạnh (ở mức có ý nghĩa về mật mã), các hệ mật mã này có thể bị phá vỡ. Đặc biệt, các thuật toán dùng cho trao đổi khóa và chữ ký số sẽ chịu ảnh hưởng lớn nhất.
Mặc dù máy tính lượng tử như vậy vẫn chưa xuất hiện, giới chuyên môn dự báo có thể xuất hiện trong 5-20 năm tới, hoặc vào giữa thập kỷ 2030.
Bảo mật quyền riêng tư của kết nối SSH dựa trên mật mã trao đổi khóa. Nếu kẻ tấn công phá được thuật toán trao đổi khóa, toàn bộ nội dung phiên có thể bị giải mã. Ngoài ra, kể cả khi không có tấn công thời gian thực, kẻ tấn công có thể lưu lại phiên mã hóa rồi chờ đến khi máy tính lượng tử ra đời để giải mã theo kiểu tấn công 'store now, decrypt later' (lưu lại rồi giải mã sau).
OpenSSH đang tăng cường hỗ trợ mã hóa hậu lượng tử để đối phó với kiểu tấn công này.
FAQ
Q: Nhận cảnh báo trong SSH, nên làm gì?
- OpenSSH 10.1 trở lên cảnh báo cho người dùng khi dùng mật mã không an toàn trước lượng tử.
- Nếu gặp tình trạng này, có thể có nghĩa là máy chủ kết nối chưa cung cấp thuật toán trao đổi khóa hậu lượng tử (mlkem768x25519-sha256, sntrup761x25519-sha512).
- Cách tốt nhất là cập nhật máy chủ lên OpenSSH 9.0 trở lên (phiên bản thứ hai từ 9.9 trở lên), sau đó kiểm tra trong KexAlgorithms xem các thuật toán liên quan có đang bị vô hiệu hóa hay không.
- Nếu không thể nâng cấp máy chủ hoặc chấp nhận chấp nhận rủi ro, có thể chỉ cần ẩn cảnh báo bằng tuỳ chọn WarnWeakCrypto trong ssh_config(5).
- Nếu cần, nên áp dụng cho từng host cụ thể như sau
Match host unsafe.example.com WarnWeakCrypto no
Q: Vì sao cần chuẩn bị trước khi có máy tính lượng tử?
- Do tấn công kiểu 'store now, decrypt later' đã nêu ở trên.
- Kể cả lưu lượng hôm nay cũng có nguy cơ bị giải mã sau này, vì vậy nên ưu tiên kết nối an toàn hậu lượng tử ngay từ bây giờ.
Q: Bài viết nói chữ ký cũng nguy hiểm, tại sao vẫn không phải vấn đề cấp bách?
- Hầu như mọi thuật toán chữ ký hiện nay (RSA, ECDSA...) cũng có thể bị vô hiệu hóa bởi máy tính lượng tử.
- Tuy nhiên trong trường hợp này, lưu lượng đã trao đổi không có nguy cơ bị lưu và giải mã về sau.
- Việc cấp bách với thuật toán chữ ký là chuẩn bị thay thế khóa ký hiện có khi máy tính lượng tử tiến sát chúng ta.
- OpenSSH cũng dự kiến sẽ hỗ trợ thuật toán chữ ký hậu lượng tử trong tương lai.
Q: Tôi nghĩ máy tính lượng tử sẽ không bao giờ khả thi, tại sao lại quan trọng?
- Một số người tin rằng máy tính lượng tử không thể thực hiện được, nhưng rào cản hiện tại là vấn đề kỹ thuật chứ không phải vật lý cơ bản.
- Nếu máy tính lượng tử khả thi, các bước chuẩn bị hiện tại sẽ giúp bảo vệ một lượng lớn dữ liệu người dùng.
- Dù cuối cùng có thể không cần dùng đến, thì việc chuyển sang mật mã toán học mạnh hơn vẫn chỉ là một sự chuyển đổi cần thiết.
Q: Liệu thuật toán hậu lượng tử có thể vẫn bị tấn công được không?
- OpenSSH cũng tiếp cận rất thận trọng.
- Chỉ những thuật toán đã được đánh giá kỹ trong vài năm gần đây mới được chọn, nhưng vẫn có khả năng xuất hiện các phương pháp tấn công mới.
- Vì vậy, OpenSSH chọn các thuật toán có khoảng an toàn dư lớn, để ngay cả khi dự kiến rằng chúng yếu hơn mong đợi, xác suất đạt được mức an toàn thực chiến vẫn cao.
- Hơn nữa, tất cả thuật toán hậu lượng tử của OpenSSH đều theo cơ chế "hybrid".
- Ví dụ: mlkem768x25519-sha256 kết hợp giữa ML-KEM (hậu lượng tử) và thuật toán cổ điển ECDH/x25519.
- Nhờ đó, nếu thuật toán hậu lượng tử bị vô hiệu hóa trong tương lai, mức an toàn cơ bản của hệ thống vẫn được giữ ở mức tối thiểu như trước
Chưa có bình luận nào.