none
PWDENCRYPT 대신 HASHBYTES 암호화 함수를 사용해도 될까요? RRS feed

  • 질문

  •  

    2014년 강화된 정부의 개인정보 보호 정책에 따라

    SQL SERVER DB에 저장된 사용자 비밀번호를 암호화하여 저장, 관리하고자 합니다

    SQL SERVER 2000 에서부터 최신 릴리즈 버전 까지 여러 버전의 DB에서 같은 방식의 암호화함수를 사용하여 바꾸고자 하는데요,

    그래서 PWDENCRYPT 함수를 사용하려고 했으나

    MSDN에서 PWDENCRYPT 함수에 대한 도움말을 검색해보면 다음과 같은 설명이 나옵니다.

     

    PWDENCRYPT는 오래된 함수로 SQL Server의 이후 릴리스에서는 지원되지 않을 수 있습니다. 대신 HASHBYTES 를
    사용하십시오. HASHBYTES는 더 많은 해시 알고리즘을 제공합니다.

    이에 대하여 질문 드립니다.

    1. PWDENCRYPT 정말 쓰면 안되는 것인지? 이후 릴리스에서 지원되지 않을 수 있다면 언제부터 지원되지 않는다는 것인지요?

    2. HASHBYTES 함수는 과연 PWDENCRYPT함수 대신 사용할 수 있는것인지? (암호화 방식이 다른데도 불구하고)

    그리고 HASHBYTES 함수는 SQL Server의 이후 릴리스에서는 지원된다는 보장이 있는 것인지요?

    3. PWDENCRYPT 나 HASHBYTES 대신 SQL Server 2000 부터 최신 릴리즈 버전(ex:SQL Server2012)까지 사용할 수 있는 다른 암호화 함수는 없는지요?

     

    2014년 1월 10일 금요일 오전 8:37

답변

  • 1. 언제 부터 지원되지 않는다는 공지는 아직 나오지 않았습니다. 제 생각에는 정확히 언제인지는 아무도 모를겁니다.

    2. HASHBYTES 는 단방향 해쉬 알고리즘을 지원하는 구문이며 PWDENCRYPT 와 기능적으로 동일하게 단방향 결과값을 제공합니다.

    지속적인 지원은 될 것으로 생각되며 천년만년 지원된다는 보장은 누구도 못할것 같습니다.

    3. SQL 2005 부터 해쉬 함수는 HASHBYTES를 지원하고 암호화 함수는 대칭키, 비대칭키 등 다양한 암호화 함수를 제공하고 있습니다.

    http://technet.microsoft.com/ko-kr/library/ms173744(v=sql.90).aspx

    개인정보보호법 때문이라면 비밀번호를 해쉬하는데 SHA-256 이상 알고리즘을 사용해야 하고 향후 지원되지 않을 것이므로

    PWDENCRYPT 는 사용 할 이유가 없습니다.


    Hong-ju

    2014년 1월 13일 월요일 오전 10:33