솔트: Difference between revisions
From IT Wiki
No edit summary |
No edit summary |
||
(2 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
[[분류:보안]] | |||
[[분류:정보보안기사]] | |||
;Salt; 소금 | ;Salt; 소금 | ||
== 활용 예 == | 비밀번호 등 암호화된 원문의 안전성(기밀성)을 높이기 위해 첨가되는 작은 길이의 문자열 | ||
* AS-IS | |||
*# apple을 [[해시]]하면 ''' | ==활용 예== | ||
*# 공격자는 ''' | |||
*# apple이란 단어는 금방 검색 된다. 공격자는 '''apple'''이란 단어를 해시하면 ''' | *AS-IS | ||
* TO-BE | *#apple을 [[해시]]하면 '''1f3870be274f6c49b3e31a0c6728957f'''가 된다고 가정한다. | ||
*# 사용자의 비밀번호는 '''apple'''이지만, 서버는 '''apple'''을 그대로 해시하지 하지 않고 | *#공격자는 '''1f3870be274f6c49b3e31a0c6728957f'''라는 해시값을 가지고, [[사전 공격|비밀번호 사전]]에 있는 수많은 단어를 해싱해서 [[충돌값]]을 찾는다. | ||
*# '''apple'''을 해시하면 ''' | *#apple이란 단어는 금방 검색 된다. 공격자는 '''apple'''이란 단어를 해시하면 '''1f3870be274f6c49b3e31a0c6728957f'''가 나오는 것을 알고 사용자의 비밀번호를 취득한다. | ||
*# 공격자는 ''' | *TO-BE | ||
*#사용자의 비밀번호는 '''apple'''이지만, 서버는 '''apple'''을 그대로 해시하지 하지 않고 ''salt_'''''apple'''_''salt'' 와 같이 앞뒤로 문자열<ref>예시는 이해를 돕기 위해 salt로 했지만 실제로는 안전한 난수발생기를 이용한 32비트 이상의 난수값을 사용해야 한다.</ref>을 덧붙여서 해시 한다. | |||
*#'''apple'''을 해시하면 '''1f3870be274f6c49b3e31a0c6728957f'''이지만, 앞뒤로 덧붙여진 문자열 때문에 '''2798e7f3af224f42d69612a77592d570''' 이라는 해시값이 저장된다. | |||
*#공격자는 '''2798e7f3af224f42d69612a77592d570''' 를 취득했지만, 이는 비밀번호 사전에 존재하지 않아 아무리 많은 단어를 해싱해도 찾을 수 없다. | |||
== 사용 방법 == | |||
== 각주 == |
Latest revision as of 10:46, 3 September 2021
- Salt; 소금
비밀번호 등 암호화된 원문의 안전성(기밀성)을 높이기 위해 첨가되는 작은 길이의 문자열
활용 예[edit | edit source]
- AS-IS
- TO-BE
- 사용자의 비밀번호는 apple이지만, 서버는 apple을 그대로 해시하지 하지 않고 salt_apple_salt 와 같이 앞뒤로 문자열[1]을 덧붙여서 해시 한다.
- apple을 해시하면 1f3870be274f6c49b3e31a0c6728957f이지만, 앞뒤로 덧붙여진 문자열 때문에 2798e7f3af224f42d69612a77592d570 이라는 해시값이 저장된다.
- 공격자는 2798e7f3af224f42d69612a77592d570 를 취득했지만, 이는 비밀번호 사전에 존재하지 않아 아무리 많은 단어를 해싱해도 찾을 수 없다.
사용 방법[edit | edit source]
각주[edit | edit source]
- ↑ 예시는 이해를 돕기 위해 salt로 했지만 실제로는 안전한 난수발생기를 이용한 32비트 이상의 난수값을 사용해야 한다.