2010-11-24 2 views
2

SHA1로 해시되고 해시 된 암호를 저장하는 대신 AES 알고리즘을 사용하여 암호화 된 암호를 저장하는 것이 괜찮은 것인지 파악하려고합니다.검색 할 수있는 암호를 저장해도 괜찮습니까?

내가 궁금해하는 이유는 우리 회사가 독점 CMS에 포함 된 회원 시스템을 업데이트하는 중이기 때문입니다. 현재 Google은 비밀번호에 AES 암호화를 사용하고 있습니다. 이렇게하면 고객이 전화를 걸어 관리자 비밀번호를 쉽게 찾을 수 있습니다. 직원이 변경되면 모든 관리자 암호를 변경하는 정책입니다. 암호 검색 도구를 사용하면 새 암호를 쉽게 얻을 수 있으며 작업 흐름은 방해받지 않습니다.

대부분의 사람들은 암호 해시 암호가 암호를 처리하는보다 안전한 방법이라고 생각하지만 나는 해시 된 암호를 사용할 때 현재 회사 작업을 준수 할 방법을 찾을 수 없다는 인상을받습니다. 그리고 패스워드 조작을 변경하는 데 필요한 기업 문화적 변화는 패스워드를 해쉬 할만한 강력한 이유를 부여하지 않는 한 발생하지 않을 것입니다.

일반적으로 해시 된 암호는 암호화 된 암호와 비교하여 필수 암호로 허용됩니까? 왜?

답변

3

사용자 인증을 위해 암호를 저장하는 응용 프로그램 내부에있는 것입니다.

일반적으로 해싱을위한 동기 부여와 암호화 된 저장은 데이터베이스를 도난 당했거나 서버가 암호를 얻지 못하게하는 사람을 차단합니다.

AES로 암호화하는 경우 분명히 어딘가에 키를 보관해야하며 변경할 수는 없습니다 (물론 암호를 모두 해독하고 다시 암호화하지 않는 한).

누군가가 시스템을 손상 시키면 암호를 해독하기 위해 메모리에 적어도 유지되어야하므로 (적어도) 키를 얻을 수 있습니다.

그것은 그 중 하나입니다, 또는 멋진 PKI를 사용하십시오. AES는 대칭 암호입니다.

암호를 암호화해도 응용 프로그램이 공격자가 키를 얻을 수 있어야하므로 가장 일반적인 공격자를 제외하고 데이터베이스를 방어하는 데 도움이되지 않습니다. 패스워드가 강하면 패스워드를 해싱하면 일반 텍스트를 얻기가 어렵습니다.

+1

답변 해 주셔서 감사합니다. 당신의 대답과 theUnhandledException으로부터의 피드백을 바탕으로 우리는 보스에게 우리가 암호화 대신 해싱 알고리즘으로 전환해야한다는 것을 납득시킬 수있었습니다. – quakkels

4

암호 해독 가능한 암호화로 암호를 암호화하는 것은 모호한 값입니다.

분명히 조회 프로그램은 키에 액세스 할 수 있습니다. 즉, 프로그램에 액세스 할 수있는 사람도 누구나 키에 액세스 할 수 있다고 가정해야합니다. 당신이 편집증 환자 일 경우 배우자, 중요한 다른 사람, 방 전체 등이 모두 그 열쇠에 접근 할 수 있다고 가정해야합니다. 또한 과거에 네트워크에 침입 한 사람 (키가 사용 된 이후)도 키에 액세스 할 수 있습니다.

그런 시스템을 사용하면 문제가 발생한다는 것을 결코 알 수 없을 것입니다. 열쇠에 액세스 할 수 있습니까? 지금? 언제든지 암호를 조회 할 수 있습니까? 당신이 그것을 바꾼다대로, 나는 그것이 바뀐 것을 안다?

소금에 절인 해시 (reversible encyrption)를 사용하면 구현시 고유 한 문제가 있지만 강력한 알고리즘, 여러 라운드, 최소 암호 표준 및 무작위로 올바르게 구현되면 암호 목록을 도용하는 것이 중요하지 않을 수 있습니다 기록 당 소금). 귀하의 현재 시스템은 "좋은 암호화 느낌"입니다. 경영진이 안전하다고 느낄 수는 있지만 실제로 안전하지는 않습니다.암호를 평문이나 끈적 거리는 메모에 저장하는 것보다 조금 더 낫습니다. 가장 큰 문제는 당신이 "안전하다"는 것을 증명할 수 없으며 당신이 훼손되었을 때 경고를하지 않을 수 있다는 것입니다. 당신은 지금 타협 될 수 있고 그것을 모를 수 있습니다.

+0

정보를 제공해 주셔서 감사합니다. – quakkels

+0

AES는 대칭 암호이므로이 경우 개인 키는 "키"입니다. 하지만 그렇습니다. 그것은 기본적으로 내가 말했던 것이지만 아마도 당신은 그것을 더 잘 설명 할 것입니다. – MarkR

+0

@ 마크. 감사. 명확성을 위해 "비공개"가 삭제되었습니다. –

관련 문제