Điểm:1

Hàm băm của chữ ký RSA PKCS1 v1.5 có thể được sử dụng làm hàm dẫn xuất khóa không?

lá cờ na

Tôi biết điều này nghe có vẻ điên rồ, nhưng hãy nghe tôi nói. Theo dõi để Có thể sử dụng thẻ xác thực AES-GCM làm chức năng dẫn xuất khóa không?, mình cũng đang cân nhắc thêm sáng tạo các giải pháp để lấy các khóa thiết bị (đối xứng) duy nhất từ ​​khóa gốc được lưu trữ an toàn.

(Cơ sở là chúng tôi có rất nhiều máy khách (=thiết bị) không thể sử dụng mật mã bất đối xứng (chủ yếu là do hạn chế về phần cứng). Để thiết lập kết nối TLS PSK, chúng tôi cần một bí mật chung giữa phụ trợ và máy khách. Thay vì lưu trữ an toàn khóa duy nhất cho mỗi ứng dụng khách trong phần phụ trợ, chúng tôi lấy khóa dành riêng cho ứng dụng khách từ bí mật gốc bằng cách sử dụng ID duy nhất của thiết bị.)

Động lực cho việc sử dụng các khóa RSA đến từ Chương trình định giá Azure Key Vault và sự sẵn có của HSM ở các khu vực khác nhau. Các thao tác phím đối xứng chỉ khả dụng dưới dạng "khóa nâng cao" trên HSM, nếu tôi đọc tài liệu chính xác và do đó đắt hơn 5 lần so với các thao tác RSA (ngoài tốc độ HSM theo bước). Hơn nữa, giới hạn đối với các khu vực được chọn (nơi có HSM được quản lý) cũng có thể là một yếu tố phá vỡ thỏa thuận.

Vì vậy, để thực hiện với ECC hoặc RSA, tôi có ý tưởng sau:

$\text{KDF}(key, data) = \text{SHA256}(\text{RSA-PKCS1v1.5-sign}(key, data))$

Nói cách khác: Lưu trữ khóa RSA không thể xuất được trong kho khóa và sử dụng sơ đồ chữ ký PKCS1 v1.5 xác định làm dẫn xuất khóa bằng cách sử dụng dữ liệu tùy ý làm giá trị dẫn xuất (ví dụ: muối được nối với id thiết bị). Để phá vỡ các thuộc tính đại số của RSA và tập trung vật liệu khóa xuống 256 bit, chữ ký được băm bằng SHA-256.

Theo trực giác, điều này là an toàn, vì chữ ký không thể giả mạo được và do đó không thể đoán được giá trị đầu ra cụ thể của thao tác ký (không có khóa). Vì vậy, ở đâu đó trong chữ ký này có đủ "entropy" (các bit không thể xác định được) để có khả năng phục hồi trước lực lượng vũ phu và "entropy" này sẽ được trải đều trong toàn bộ kết quả của hoạt động băm.

Một số người có thể đưa ra lý do chặt chẽ hơn (hoặc thậm chí là bằng chứng theo các giả định tiêu chuẩn) không?

Maarten Bodewes avatar
lá cờ in
Bạn có ý nghĩa gì với "ở đâu đó trong chữ ký có đủ entropy"? Tất cả entropy nằm trong khóa và muối, không có entropy bổ sung nào, vì việc ký PKCS#1 hoàn toàn mang tính quyết định (tất nhiên, nếu không thì lược đồ của bạn sẽ không hoạt động như KDF, tất nhiên). Mặt khác, tôi không thấy sai nhiều với sơ đồ này, trừ khi tất nhiên là muối và ID lặp lại. Thật không may, bạn không thể muốn sự độc đáo ngoài không khí mỏng.
Perseids avatar
lá cờ na
@MaartenBodewes Nói một cách chính thức, trực giác của tôi hoàn toàn không chính xác, vì bạn đã đúng khi chỉ ra. Thật tuyệt khi có được thông tin rằng điều này hoạt động, nhưng tôi chủ yếu đang tìm kiếm một lập luận có thể thuyết phục ai đó hoài nghi.

Đă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.