HMAC 구조가 기본 해시의 충돌 문제를 줄일 수 있다는 효과를 읽었습니다.
그렇다면 HMAC-MD5와 같은 것이 암호화 된 데이터를 인증하는 데 여전히 안전한 것으로 간주 될 수 있다는 의미인가요?
댓글
- 다소 관련이 있습니다 (HMAC 강제 적용). crypto.stackexchange.com/a/6753/5231
- 에 대한 답변을 찾을 수 있습니다. 일반적으로이 링크를 따라 HMAC-MD5의 보안을 유지합니다 .
답변
예, 현재 HMAC-MD5에 대한 알려진 공격은 없습니다.
특히 MD5에 대한 첫 번째 충돌 공격 이후, Mihir Bellare (HMAC 발명자 중 한 명)가 충돌 저항이 필요하지 않은 HMAC의 새로운 보안 증명 :
“ 개요 : HMAC는 Bellare, Canetti 및 Krawczyk (1996)에 의해 (1) 기본 압축 함수가 PRF이고 (2) 반복 된 해시 함수가 약한 충돌 내성이라고 가정 한 PRF임을 증명했습니다. 그러나 최근 공격에 따르면 MD5 및 SHA-1에 대한 가정 (2)이 거짓임을 보여 주므로 이러한 경우 HMAC에 대한 증명 기반 지원이 제거됩니다. 이 논문은 압축 함수가 PRF라는 전제하에 HMAC가 PRF임을 증명합니다. 이는 알려진 공격이 압축 함수의 의사 난 수성을 손상시키지 않기 때문에 증명 기반 보증을 복구하고, (약한) 충돌 저항이 손상된 해시 함수로 구현 된 경우에도 HMAC가 보여준 공격에 대한 저항성을 설명하는 데 도움이됩니다. 또한 압축 기능에 대한 PRF보다 약한 조건, 즉 개인 정보를 보호하는 MAC 인 경우 HMAC를 설정하는 데 충분하며 해시 기능이 계산적으로 거의 존재하는 매우 약한 요구 사항을 충족하는 한 보안 MAC이된다는 것을 보여줍니다. 알려진 공격이 가정을 무효화하지 않는다는 사실에 가치가 있습니다. “
그러나 이것은 그렇지 않습니다 . em>은 새로운 암호화 시스템 설계에서 HMAC-MD5를 사용해야 함을 의미합니다. Bruce Schneier를 의역하면 “ 공격은 더 좋아질뿐 더 나빠지는 것은 아닙니다. “이미 MD5에 대한 실질적인 충돌 공격이있어 원래의 보안 목표를 충족하지 못함을 보여줍니다. 이제 누군가가이를 새로운 공격으로 확장하는 방법을 알아낼 수도 있습니다. HMAC-MD5의 보안을 손상시킬 수 있습니다. 더 나은 선택은 SHA-2 또는 SHA-3과 같이 알려진 공격이없는 해시 함수와 함께 HMAC를 사용하는 것입니다.
댓글
- SHA-2에는 알려진 공격이 있습니다. en.wikipedia.org/wiki/SHA-2
- @baptx 모두 암호화 기본 요소에는 " 알려진 공격 "이 있습니다. 문제는 그들이 라운드의 전체 양을 크게 깨뜨리는 것입니다. SHA-2의 경우 현재 ' 없습니다. SHA-2가 중요하게 손상되었다는 사실을 입증 할 수없는 경우 답변에서 이러한 주석을 제거하고 싶습니다.
- " 최근 공격은 이러한 가정을 보여줍니다. (2) MD5 "에 대해 거짓입니다. 최근 공격은 무엇입니까? 선택된 접두사 공격? 그 이유는 무엇입니까?
답변
Ilmari Karonen의 대답은 HMAC가 의도 된 목적이지만 “HMAC가 MD5″충돌의 영향을 완전히받지 않는다는 의미는 아닙니다.
특정 키가 주어지면 K xor opad
및 K xor ipad
는 메시지와 무관합니다. m
. 즉, H((K xor ipad) || m)
에서 충돌이 발생하면 충돌 HMAC
이 발생합니다. 두 개의 다른 메시지가 있습니다.
HmacMd5의 경우 K xor ipad
의 길이는 64 바이트입니다. 따라서 두 개의 메시지를 찾으면 m1
및 m2
64 바이트 이상의 공통 접두사 pre
가 있으면 키를 계산할 수 있습니다. K = pre xor ipad
H((K xor ipad) || m1)
와 H((K xor ipad) || m2)
사이에 충돌을 생성하는 div>, leadi 전체 HMAC에서 완전한 충돌이 발생합니다.
이는 두 가지 방법으로 악용 될 수 있습니다.
- 키를 생성 한 사람을 신뢰하지 않고 HMAC가 일종의 체크섬으로 오용됩니다.
- 공격자는 키에 대한 액세스 권한을 얻고 MD5에서 선택한 접두사 공격을 사용하여 충돌을 일으킬 수 있습니다.
하지만 허용되는대로 대답에 따르면 키가 비밀이고 사용자 또는 신뢰할 수있는 당사자가 제어하는 경우 HmacMd5는 여전히 안전합니다.
댓글
- 예, 삭제 될 때까지 이미 이런 종류의 답변이있었습니다. 질문에는 암호화 된 데이터를 인증하기 위해 " "가 명시 적으로 명시되어 있습니다. 체크섬 계산을위한 사용과 키의 가용성은 질문의 해당 부분에 수직입니다. 어쨌든 크립토에 오신 것을 환영합니다. 이러한 종류의 잘 작성된 답변은 여기에서 매우 환영합니다!
- 동의합니다. 그러나이 정보는이 페이지에 도착하는 많은 사람들에게 유용 할 것이며 존중과 관련하여 잘못된 정보를 제공하지 않습니다. 초기 질문에. 올바르게 사용하면 hmacmd5가 여전히 안전하다고 명시되어 있습니다.