바다토리 웨어하우스

MSSQL 일방향 암호화 방법 본문

IT/mssql

MSSQL 일방향 암호화 방법

바다토리 2022. 6. 1. 23:13
반응형

개인정보 취급에 대해 사회적 이슈가 높아지면서, 전산관리자로써 관리할 것도 

많아진 것도 사실일 것입니다.

관리적 보안부터 기술적 보안까지 여러 가지 신경을 써야 할 부분이 많아졌는데, 

그중에서도 보안점검 시 기본 항목 중의 하나인 고유 식별정보 및 비밀번호 일방향 암호화하는 

방법에 대해 살펴보고자 합니다.

 

그나마 편리하게 MSSQL에서는 일방향 암호화 함수를 기본 제공하고 있어, 

편리하게 일방향 암호화를 할 수가 있습니다. 

하지만 SQL 버젼에 따라서 지원하는 암호화 형식이 다르므로 확인을 해야 합니다. 

 

지원하는 암호화 알고리즘은 크게 7가지가 있는데,

MD2, MD4, MD5, SHA, SHA1, SHA2_256, SHA2_512 이렇게 7가지를 지원하게 됩니다.

 

MSSQL의 일방향 암호화는 HashBytes함수를 이용해서 처리할 수가 있는데,

HASHBYTES('알고리즘', '패스워드 or 고유식별정보') 형식으로 사용할 수 있습니다.

 

가령 MEMBER회원정보 테이블에 password 테이블 칼럼이 있다고 가정하면, 

password 컬럼의 모든 데이터들을 SHA256 알고리즘을 이용하여 일방향 암호화를 시켜줍니다. 

먼저 암호화 처리를 하기 전에 password 칼럼의 데이터 타입을 nvarchar(max)로 변경해 줍니다.

 

 

이렇게 하면 password 칼럼의 모든 항목들을 SHA2_256 알고리즘으로 일방향 암호화를 시킬 수 있습니다.

참고로 SHA2_256 알고리즘은 MSSQL 2016 버전 이상부터 사용할 수 있으니, 이하의 버전은 아쉽지만.

SHA256 알고리즘은 지원하지 않습니다.

 

 

반응형
Comments