it-swarm-korea.com

MS-SQL 암호 저장소

MS-SQL 데이터베이스 내에서 암호 저장소에 대한 MD5 해시 접근 방식을 대체하기위한 권장 사항은 무엇입니까?

12
David Stubley

저는 SHA256, SHA512가 현재 더 안전하다고 생각합니다.

2009 년 현재 가장 일반적으로 사용되는 두 가지 암호화 해시 함수는 MD5 및 SHA-1입니다. 그러나 MD5는 손상되었습니다. 이에 대한 공격은 2008 년 SSL을 깨는 데 사용되었습니다. SHA-0 및 SHA-1 해시 기능은 NSA에서 개발했습니다.
2005 년 2 월, SHA-1에 대한 성공적인 공격이보고되어 160 비트 해시 함수에 대해 예상되는 2 ^ 80이 아니라 약 2 ^ 69 해싱 작업에서 충돌을 발견했습니다.
2005 년 8 월, SHA-1에 대한 또 다른 성공적인 공격이보고되어 2 ^ 63 작업에서 충돌을 발견했습니다. SHA-1의 이론적 약점도 존재하므로 수년 내에 깨지는 것이 실용적 일 수 있음을 시사합니다.
새 애플리케이션은 SHA-2와 같은 SHA 계열의 고급 구성원을 사용하거나 충돌 저항이 필요하지 않은 무작위 해싱과 같은 기술을 사용하여 이러한 문제를 피할 수 있습니다.

자세한 내용은 Wikipedia 를 참조하십시오.

2
garik

1978 년에 Robert Morris와 Ken Thompson은 암호 해싱에 중요한 두 가지 혁신, 즉 솔트 및 반복 횟수와 함께 nix "crypt"암호 체계 를 발표했습니다. 솔트가 없으면 해시는 해시 테이블 및 레인보우 테이블 에 매우 취약합니다. 솔트를 사용하더라도, 사전 단어의 단순한 변형은 말할 것도없이 8 자 이하의 대부분의 모든 암호에 대해 매우 빠른 무차별 대입을 방지하기 위해 반복이 필요합니다. 실제로 Rainbow 테이블을 생성하는 데 얼마나 걸리나요?

따라서 암호 용으로 설계된 실제 해시 (즉, 느리고 솔트 처리 된 해시)를 사용하십시오. 좋은 후보는 다음과 같습니다.

서버 시간을 너무 많이 차지하지 않도록 조정할 수 있지만 사람들은 인증을 자주하지 않으므로 인색하지 마십시오.

참조 : 암호 해싱-IT 보안

9
nealmcb

가장 중요한 조언은 암호 해싱 용으로 설계된 알고리즘 (bcrypt, PBKDF2 또는 scrypt)으로 마이그레이션하는 것입니다. 이러한 알고리즘은 해싱 암호 요구를 충족하도록 설계되었습니다. 예를 들어 사전 공격을 방지하기 위해 반복을 사용하여 해싱이 느린 지 확인하고 상각 공격을 방지하기 위해 해시에 솔트를 포함합니다.

MD5에서 SHA로 마이그레이션 할 필요가 없습니다. MD5가 고장 났다고 들었을 것입니다. 이것은 사실이지만 암호 해싱으로 인해 MD5를 위험에 빠뜨리는 방식은 아닙니다. MD5에 대한 공격은 충돌 저항에 있습니다. 그러나 MD5의 단방향 성은 여전히 ​​강합니다. 암호 해싱의 경우 필요한 것은 단방향입니다. 따라서 MD5에서 SHA256 또는 SHA512와 같은 다른 해시로 마이그레이션 할 필요가 없습니다 ( "모양"제외).

따라서 할 수있는 가장 중요한 것은 사전 검색을 더 어렵게 만들기 위해 bcrypt/PBKDF2/scrypt로 전환하는 것입니다.

암호를 해시하는 방법에 대한 훌륭한 조언이있는 다음 게시물도 참조하십시오.

3
D.W.

소금이있는 SHA-2는 잘 작동합니다. 그러나 암호를 마이그레이션하는 방법에 대해 생각해야합니다.

2
Steve