Điểm:1

Mã giả mã hóa tệp hỗn hợp không đối xứng/đối xứng của tôi có vượt qua kiểm tra độ chính xác không?

lá cờ sk

Tôi nhận thấy điều này phụ thuộc vào việc triển khai của tôi và việc triển khai các thư viện mà tôi sử dụng. Tôi đang hỏi về quy trình của mình với giả định rằng các thư viện mã hóa và mã của tôi không bị lỗi/xâm phạm, mật khẩu của người dùng được bảo mật và máy không bị xâm phạm.

Mục tiêu ở đây là bảo vệ tính bảo mật của các tệp bằng mật khẩu và có thể mã hóa chúng mà không cần nhập mật khẩu.

Thiết lập ban đầu:
- Tạo cặp khóa RSA
- Nhắc người dùng nhập mật khẩu và cho rằng họ sử dụng mật khẩu đủ an toàn
- Mã hóa khóa riêng ở định dạng DER, pkcs=8, scheme=scryptAndAES256-CBC bằng mật khẩu người dùng

Đối với mỗi tệp:
- Tạo khóa phiên ngẫu nhiên 32 byte
- Mã hóa khóa phiên bằng khóa chung ban đầu
- Tạo một nonce ngẫu nhiên 12 byte
- Ghi ra file xuất:
  - Khóa phiên được mã hóa
  - nonce
  - Luồng tệp được mã hóa bằng AES GCM bằng cách sử dụng khóa phiên 32B ngẫu nhiên và 12B nonce

Khi giải mã một tập tin
- Nhắc người dùng nhập mật khẩu, giải mã khóa riêng ban đầu
- Đọc khóa phiên được mã hóa và nonce từ đầu tệp
- Giải mã khóa phiên bằng khóa riêng ban đầu
- Giải mã luồng tệp bằng khóa phiên và nonce

Điều duy nhất khác cần lưu ý là tôi đã chọn GCM vì tốc độ của nó, chẳng hạn như CBC. Tôi cũng biết vấn đề xung đột khi sử dụng một nonce ngẫu nhiên, tuy nhiên tôi hiểu rằng đây sẽ là vấn đề lớn hơn nếu tôi có hàng tỷ tệp sử dụng cùng một khóa phiên. Và với khóa ngẫu nhiên 32 byte, về cơ bản, tôi có 44 byte dung lượng để tránh va chạm. Tôi mong muốn không phải theo dõi một nonce.

Có bất kỳ vấn đề nào với kế hoạch này hay đây sẽ là một cách an toàn để bảo vệ quyền riêng tư của các tệp giả sử mã giả đã được triển khai đúng cách?

DannyNiu avatar
lá cờ vu
Sơ đồ này là điển hình và cho đến nay tôi không thể thấy lỗ hổng rõ ràng. Nhưng nếu là tôi, tôi sẽ không để nhiệm vụ chứng minh tính bảo mật cướp đi giấc ngủ và mái tóc của mình - tôi sẽ sử dụng sản phẩm mã hóa tệp đã được thiết lập hiện có như 7-zip (hoặc RAR nếu bạn có thể tiết kiệm một số tiền), mặc dù chúng không không có mã hóa khóa công khai.
DannyNiu avatar
lá cờ vu
PGP và GnuGPG cũng tốt, tôi tin rằng chúng có các dẫn xuất GUI.
fgrieu avatar
lá cờ ng
"Mã hóa khóa phiên bằng khóa chung ban đầu" và "giải mã khóa riêng ban đầu" không được chỉ định rõ ràng; rất nhiều lỗi có thể xảy ra ở đó, chẳng hạn như sử dụng $x\mapsto x^e\bmod n$ để mã hóa khóa phiên hoặc sử dụng [RSAES-PKCS1-v1_5](https://pkcs1.grieu.fr/#page =23). Ở một mức độ thấp hơn, "Tạo cặp khóa RSA" và tham số hóa của scrypt cũng được chỉ định dưới mức ngay cả khi chúng tôi chỉ xem xét bảo mật.
Maarten Bodewes avatar
lá cờ in
Ngoài ra, hãy lưu ý rằng việc lặp lại tổ hợp khóa + IV đã biết đối với dữ liệu có cấu trúc, chẳng hạn như khóa RSA là một hành động nguy hiểm và có thể làm rò rỉ thông tin về khóa được bao bọc (**PS Xin chào nhà cung cấp HSM, bạn có nghe thấy không?**)

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.