HMAC SHA256 là gì?

HMAC SHA256 là một loại thuật toán băm có khóa được xây dựng từ hàm băm SHA-256 và được sử dụng làm Mã xác thực tin nhắn dựa trên hàm băm. Quy trình HMAC trộn khóa bí mật với dữ liệu tin nhắn, băm kết quả bằng hàm băm, trộn giá trị băm đó với khóa bí mật một lần nữa, sau đó áp dụng hàm băm lần thứ hai. Băm đầu ra có độ dài 256 bit.

HMAC hoạt động như thế nào

Để hiểu cách HMAC hoạt động, trước tiên chúng ta hãy xem xét cách một hàm băm (tự nó) có thể thực hiện kiểm tra tính toàn vẹn dữ liệu khi truyền tệp. Giả sử một ứng dụng máy khách tải xuống một tệp từ máy chủ từ xa. Giả sử máy khách và máy chủ đã thống nhất về một hàm băm chung, ví dụ như SHA2.

Trước khi máy chủ gửi tệp, đầu tiên nó sẽ lấy một hàm băm của tệp đó bằng hàm băm SHA2. Sau đó, nó sẽ gửi hàm băm đó (ví dụ: bản tóm tắt tin nhắn) cùng với chính tệp đó. Khi nhận được hai mục (ví dụ: tệp đã tải xuống và hàm băm), máy khách sẽ lấy hàm băm SHA2 của tệp đã tải xuống rồi so sánh với hàm băm đã tải xuống. Nếu hai hàm băm khớp nhau, thì điều đó có nghĩa là tệp không bị giả mạo.

Ưu điểm 

  • Bảo mật cao: Kết hợp giữa SHA-256 (hàm băm mạnh) và một khóa bí mật. Hạn chế rủi ro từ các cuộc tấn công va chạm (collision) hoặc giả mạo.
  • Hiệu quả: Tính toán nhanh chóng và hiệu quả.
  • Chống tấn công: An toàn trước tấn công brute-force (thử mọi khả năng) nếu khóa bí mật đủ mạnh.

Nhược điểm

  • Phụ thuộc vào khóa bí mật: Nếu khóa bí mật bị lộ, tính bảo mật bị phá vỡ.
  • Không bảo vệ khỏi rò rỉ dữ liệu:Chỉ đảm bảo tính toàn vẹn và xác thực, không mã hóa nội dung dữ liệu.

About the Author

Ngọc Tri

View all author's posts

Leave a Comment

Your email address will not be published. Required fields are marked *

Bài viết khác

Authentication

Authentication là gì ? Authentication (xác thực) là quá trình xác nhận danh tính của người dùng hoặc hệ thống trước khi cho phép truy cập vào tài nguyên hoặc dịch vụ. Dưới đây là các phương pháp Authentication phổ biến: 1.Basic Authentication Basic Authentication là một phương pháp xác thực đơn giản, trong đó […]

Explicit ssl bumping with Squid

To perform explicit SSL bumping with Squid, you need to perform the following steps: Generate a SSL certificate and key: You can either generate a self-signed certificate or obtain one from a certificate authority. The certificate and key will be used by Squid to encrypt and decrypt the traffic. Install and configure Squid: Squid is […]

Explicit ssl bumping with HAProxy

Basic guide About Explicit SSL bumping Explicit SSL bumping also known as “SSL interception,” is a feature of some reverse proxies and security appliances that allows the proxy to decrypt, inspect, and re-encrypt SSL/TLS encrypted traffic. The proxy acts as a man-in-the-middle, decrypting incoming SSL/TLS traffic and re-encrypting it before forwarding it to the destination […]