솔트(Salt)란?
비밀번호의 해시값을 계산할 때 이용자마다 더하는 무작위 값. 같은 비밀번호라도 해시값이 달라지게 하여, 미리 계산한 해시값 표를 이용한 해독을 어렵게 한다. 해시값과 함께 저장하며 비밀로 할 필요는 없다.
일본어 명칭: ソルト
솔트(Salt)은(는) 정보 보안 기초 등 1개 분야의 연습 문제 2개에 나와요.
분야: 정보 보안 기초
비밀번호의 해시값을 계산할 때 이용자마다 더하는 무작위 값. 같은 비밀번호라도 해시값이 달라지게 하여, 미리 계산한 해시값 표를 이용한 해독을 어렵게 한다. 해시값과 함께 저장하며 비밀로 할 필요는 없다.
일본어 명칭: ソルト
솔트(Salt)은(는) 정보 보안 기초 등 1개 분야의 연습 문제 2개에 나와요.
분야: 정보 보안 기초
정답: B. 같은 비밀번호를 쓰는 이용자가 있어도 저장되는 해시값이 다르게 하여, 미리 계산한 해시값 표를 이용한 해독을 어렵게 한다
비밀번호는 그대로 저장하지 않고 해시 함수로 계산한 해시값을 저장하는 것이 기본입니다. 로그인할 때는 입력된 비밀번호의 해시값을 계산하여 저장된 값과 비교합니다. 그러나 해시값만 저장하면 같은 비밀번호의 이용자는 같은 해시값이 되어, 자주 쓰이는 비밀번호의 해시값을 미리 계산한 표(레인보 테이블 등)와 대조하기만 해도 많은 비밀번호가 드러나 버립니다. 솔트는 이용자마다 무작위로 만들어 비밀번호에 더하는 값으로, 해시값과 함께 저장합니다. 솔트는 비밀로 할 필요는 없지만 이용자마다 값이 다르므로, 같은 비밀번호라도 해시값이 달라져 사전에 계산한 표를 사용할 수 없게 됩니다. 공격자는 이용자마다 다시 계산해야 하므로 수고가 크게 늘어납니다.
솔트는 이용자마다 무작위로 만들어 비밀번호에 더하는 값으로, 해시값과 함께 저장합니다.
웹 서비스에서 이용자의 비밀번호를 저장할 때, 비밀번호에 이용자마다 다른 무작위 값(솔트)을 더한 뒤 해시…어느 방식이든 이용자별 솔트와 조합하여 사용합니다.
비밀번호 저장에 SHA-256 같은 고속 해시 함수를 그대로 사용하지 않고, bcrypt나 Argon2처럼…해시 함수(Hash Function) GPU 공개 키 암호(Public-key Cryptography) 다요소 인증(Multi-factor Authentication) 대칭 키 암호(Symmetric-key Cryptography) 디지털 서명(Digital Signature) 랜섬웨어(Ransomware) 메시지 인증 코드(Message Authentication Code) 사회공학 기법(Social Engineering) 제로데이 공격(Zero-day Attack)