오늘은 MD5와 SHA1에 대해서 간단히 알아보기로 하자. MD5(Message-Digest algorithm 5)는 말그대로 메시지 축약 알고리즘으로서 128비트의 해쉬를 제공한다. RFC-1321에 정의되어 있으며, 현재는 파일 무결성 검사용으로 많이 쓰이고 있다. 보안 관련 용도로 사용하기도 했지만, 현재 암호화 결함이 별견되어서 SHA1같은 다른 알고리즘을 사용하는것을 권장하고 있다. (MD5의 결함을 이용해서 SSL 인증서를 변조가능하다는것이, 2008년 12월에 발표되기도 했다. http://www.win.tue.nl/hashclash/rogue-ca/) SHA(Secure Hash Standard)는 암호학적 해쉬 함수들을 모아놓은것으로서 SHA-0, SHA-1, SHA-2(SHA-224, ..
0. Intro HMAC은 "The Keyed-Hash Message Authentication Code(Checksum)"을 의미하는 약어입니다. 즉, 해시를 통한 MAC인데 Key를 사용한다는 거죠. MAC은 Message Authentication Code의 약자로 정보의 무결성을 검증하는 방법입니다. 정보가 변조되었는지 알아보기 위한 것이죠. 앞으로 말씀드리겠지만, 표준이 되는 문서인 FIPS-PUB 198에 나오는 문구를 그대로 사용하자면 "the method to check the integrity of information"입니다. HMAC은 "MAC that uses a cryptographic hash function in conjunction with a secret key."입니다. ..
"보안 시스템은 가장 약한 연결 고리만큼만 강하다."보안 시스템은 여러 부분으로 이뤄집니다. 공격자(attacker)는 이 중에서 가장 취약한 부분을 공격할 것이라고 가정해야 합니다. 보안 시스템이라는 사슬에서 가장 약한 고리가 끊어지면 다른 고리가 얼마나 강한지는 문제가 되지 않습니다. 즉, 보안 시스템의 안정성은 '강한 부분이 얼마나 강한가'보다는 '약한 부분이 얼마나 약한가'에 따라서 좌우됩니다.지난해 6월 세계 최대 비즈니스 전문 소셜 네트워크 서비스(SNS) LinkedIn은 사용자 데이터 해킹 사고로 650만 명의 수수아이디와 패스워드 정보가 유출된 후 집단 소송을 당했습니다. 취약한 암호화 알고리즘인 SHA-1을 사용했다는 것이 그 이유였습니다. 이제 보안 시스템의 한 부분인 암호화 알고리즘..