Điểm:0

Lưu trữ tiền tố 4 ký tự cho mã thông báo hex 32 bit sau khi lưu trữ thông báo HMAC

lá cờ us

Hiện tại tôi đang làm việc trên một api công khai sử dụng xác thực mã thông báo. Mã thông báo là một mã lục giác ngẫu nhiên 32 bit được chia sẻ với người dùng và sau đó được lưu trữ trong cơ sở dữ liệu của chúng tôi dưới dạng thông báo HMAC bằng khóa bí mật. Mã thông báo không được lưu trữ ngoại trừ 4 ký tự đầu tiên.

Câu hỏi của tôi là, lưu trữ tiền tố như thế này có an toàn không?

Trực giác của tôi cho tôi biết rằng nó không an toàn vì nó cung cấp cho bất kỳ kẻ tấn công nào phần đầu của câu trả lời đúng, do đó rút ngắn quá trình cố gắng đánh cắp khóa bí mật của chúng tôi. Tôi tự hỏi những người có chuyên môn hơn tôi nghĩ gì về điều này.

nhập mô tả hình ảnh ở đây

Cảm ơn bạn trước.

Maarten Bodewes avatar
lá cờ in
32 bit ngẫu nhiên *hex*? Hệ thập lục phân là sơ đồ đánh số cơ sở 16, thường được sử dụng để biểu thị byte. Bit là *chữ số nhị phân*, tức là cơ số 2.
Điểm:0
lá cờ in

Trong mật mã, chúng tôi luôn thực hiện tất cả các phép tính theo bit. Một HMAC có cùng kích thước với hàm băm được sử dụng. Giả sử một hàm băm an toàn, chẳng hạn như SHA-256, bạn sẽ có đầu ra là 256 bit, như được phản ánh theo tên.

Trong số 32 bit này được lưu trữ trong lược đồ của bạn. Bây giờ đối với hàm băm và HMAC, tất cả các bit đều phụ thuộc vào đầu vào, nhưng về nguyên tắc, bạn không thể nói bất cứ điều gì về các bit chưa biết từ các bit đầu ra. Điều đó có nghĩa là 224 bit còn lại. Kẻ tấn công trung bình sẽ mất $2^{223}$ đoán để có được giá trị HMAC đầy đủ.

Vì vậy, bạn không thực sự phải lo lắng về việc ép buộc vũ phu khi cho rằng bạn đang sử dụng hàm băm an toàn.

Maarten Bodewes avatar
lá cờ in
Xin lưu ý rằng câu trả lời này không đưa ra bất kỳ dấu hiệu nào về tính bảo mật của giải pháp của bạn; nó không phải là một phân tích chuyên sâu và phân tích như vậy được coi là lạc đề đối với trang hỏi đáp này.

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