Computer >> 컴퓨터 >  >> 프로그램 작성 >> 프로그램 작성

정보 보안에서 HMAC란 무엇입니까?

<시간/>

HMAC는 메시지 인증을 위한 Keyed-Hashing의 약자입니다. 인증 대상 정보와 공유 비밀 키에 대해 암호화 해시 함수(MD5, SHA1, SHA256 등)를 실행하여 획득한 메시지 인증 코드입니다. HMAC는 RFC 2104에 정의되어 있습니다.

HMAC는 디지털 서명과 동일합니다. 둘 다 무결성과 신뢰성을 제공합니다. 둘 다 암호화 키가 필요하고 해시 기능을 적용합니다. 주요 차이점은 디지털 서명에는 비대칭 키가 필요한 반면 HMAC에는 대칭 키(공개 키 없음)가 필요하다는 것입니다.

HMAC는 일부 반복 암호화 해시 함수와 함께 순서대로 사용할 수 있습니다. MD5 및 SHA-1은 해시 함수의 인스턴스입니다. HMAC는 또한 메시지 인증 값의 계산 및 검증을 위한 개인 키가 필요합니다.

해시된 메시지 인증 코드는 메시지의 인증과 이와 관련된 데이터 무결성을 동시에 확인할 수 있습니다. 사용된 비밀 키의 크기에 따라 해시된 메시지 인증 코드의 암호화 내구성이 결정됩니다.

해시된 메시지 인증 코드는 비밀 키와 함께 SHA-1 및 MD-5를 포함한 반복적인 암호화 해시 기능을 사용할 수 있습니다. 해시된 메시지 인증 코드는 서버와 클라이언트 모두에 대한 공개 및 개인 키를 지원합니다. 공개키는 알고 있지만 개인키는 한정된 클라이언트와 서버만 알고 있다.

전체 프로세스는 클라이언트가 요청된 정보를 기반으로 고유한 해시된 메시지 인증 코드를 만들고 개인 키와 함께 요청된 데이터를 해시하는 것으로 시작됩니다.

이것은 서버에 대한 요청의 요소로 전송되며, 이는 차례로 두 개의 해시된 메시지 인증 코드를 상호 연관시키고 동일하게 발견되면 클라이언트를 신뢰할 수 있고 요청을 구현할 수 있습니다. 전체 프로세스를 비밀 핸드셰이크라고도 합니다.

HMAC의 주요 목표는 다음과 같습니다 -

  • 변경 없이 사용 가능한 해시 함수를 사용할 수 있습니다. 특히, 소프트웨어에서 잘 구현되고 코드가 자유롭고 광범위하게 사용 가능한 해시 함수입니다.

  • 큰 저하 없이 해시 함수의 원래 성능을 유지할 수 있습니다.

  • 간단한 방법으로 키를 사용하고 관리할 수 있습니다.

  • 기본 해시 함수에 대한 합리적인 가정을 기반으로 하는 인증 구조의 내구성에 대한 잘 이해된 암호화 분석을 가질 수 있습니다.

  • 보다 빠르고 안전한 해시 함수를 찾거나 필요로 하는 경우 기본 해시 함수를 쉽게 교체할 수 있습니다.

  • 해시된 메시지 인증 코드의 주요 목적은 충돌의 영향을 덜 받고 비밀 암호 키를 획득하기 위한 무차별 공격으로 간주된다는 것입니다.

  • 해시된 메시지 인증 코드는 정보의 변조 여부와 사용자의 진위 여부를 확인하는 편리한 접근 방식을 지원합니다.