후추(크립토그래피)

Pepper (cryptography)

암호학에서 후추암호해시함수해싱하는 동안 암호와 같은 입력에 추가된 비밀이다. 이 값은 암호 해시와 함께 저장되지 않고 하드웨어 보안 모듈과 같은 일부 다른 매체에서 후추를 따로 보관한다는 점에서 소금과 다르다.[1] 국립표준기술원은 결코 이 값을 후추로 지칭하지 않고 오히려 은밀한 소금으로 지칭한다는 점에 유의한다. 후추는 소금이나 암호키와 개념이 비슷하다. 암호 해시에 무작위화된 값이라는 점에서 소금과 같고, 비밀로 해야 한다는 점에서 암호화 키와 유사하다.

후추는 소금이나 암호키와 비슷한 역할을 하지만, 소금은 비밀이 아니며(미리 독특함) 해시 출력물 옆에 보관할 수 있는 반면, 후추는 비밀이므로 출력과 함께 보관해서는 안 된다. 해시와 소금은 보통 데이터베이스에 저장되지만 후추는 데이터베이스 침입 시 공격자가 입수하지 못하도록 별도로 보관해야 한다.[2] 소금이 사용자당 고유할 정도로 길기만 하면 되는 경우, 후추는 그것을 발견하려는 짐승 같은 힘으로부터 비밀로 유지될 수 있을 정도로 길어야 한다(NIST는 최소 112비트를 권장한다).

역사

사이트별 또는 서비스별 소금(사용자당 소금에 더하여)의 아이디어는 오랜 역사를 가지고 있으며, 1995년 스티븐 M. 벨로빈뷰트라크 포스트에 지역적 변수를 제안하였다.[3] 1996년 우디 맨버는 또한 그러한 계획의 장점을 설명하면서 그것을 비밀 소금이라고 불렀다.[4] 후추라는 용어는 소금과 유사하게 사용되었지만 다양한 의미를 가지고 있다. 예를 들어, 챌린지 대응 방식을 논의할 때, 후추는 비밀번호 저장에는 사용되지 않지만 소금과 같은 양으로 사용되었고,[5] 후추를 추측해야 하는 데이터 전송 기법에 사용되었으며,[6] 심지어 농담의 일부로서도 사용되었다.[7]

후추라는 용어는 무지개 테이블 공격으로부터 패스워드를 보호하기 위한 논의에서 패스워드와 별도로 저장된 비밀 또는 국소 매개변수에 대해 제안되었다.[8] 예를 들어 프레드 웬젤은 이 용어를 사용하지 않고 BCryptHMAC를 별도로 저장한 비시스의 조합을 기반으로 스토리지에 대한 장고 암호 해싱 지원을 추가했다.[9] 그 후 사용법이 보편화되었다.[10][11][12]

종류들

후추에는 여러 가지 종류가 있다.

  • 각 사용자에게 고유한 암호.[citation needed]
  • 모든 사용자에게 공통적인 공유 암호.[2]
  • 모든 암호 입력에서 다시 검색해야 하는 임의로 선택한 번호.[13]

공유 시크릿 페퍼

공유 비밀 후추의 경우, 사용자의 소금과 함께 (비밀번호 재사용 또는 기타 공격을 통해) 하나의 손상된 비밀번호가 후추를 발견하기 위한 공격으로 이어질 수 있어 실효성이 없다. 공격자가 암호를 해시하는 데 사용되는 알고리즘뿐만 아니라 일반 텍스트 암호와 사용자의 염분을 알고 있다면 후추를 발견하는 것은 후추 값을 강요하는 짐승의 문제가 될 수 있다. 이것이 NIST가 비밀 값을 최소 112비트로 권고하는 이유다. 그래서 철저한 검색으로 그것을 발견하는 것은 난해한 것이다. 후추는 배치되는 모든 애플리케이션에 대해 새로 생성되어야 하며, 그렇지 않으면 한 애플리케이션의 위반으로 인해 다른 애플리케이션의 보안성이 저하로 이어질 수 있다. 후추를 알지 못하면 공격자는 후추뿐만 아니라 암호를 추측해야 하기 때문에 데이터베이스의 다른 암호는 해시 값에서 추출하기가 훨씬 더 어려울 것이다.

후추는 공격자가 후추를 얻을 수 없는 한 원래 암호가 아무리 약해도 단 한 개의 해시라도 균열은 난치하기 때문에 소금과 해시의 데이터베이스에 보안을 더한다. 공격자는 (소금, 해시) 쌍의 리스트를 가지고 있어도 해시를 생성하는 암호를 찾기 위해서는 비밀 후추도 추측해야 한다. 비밀 염분에 대한 NIST 규격은 HMAC와 같은 승인된 유사 함수를 갖는 PBKDF(암호 기반 키 유도 함수)를 HMAC의 해시 함수로 사용할 것을 제안한다. NIST 권고안은 또한 최소 1000회의 PBKDF 반복을 수행하고, 비비밀 소금 대신 비밀 소금을 사용하여 추가로 1000회의 반복을 수행하는 것이다.

사용자당 고유 페퍼

각 사용자에게 고유한 후추의 경우, 더 많은 정보를 안전하게 저장하는 비용으로 트레이드오프가 추가적인 보안을 얻고 있다. 한 개의 암호 해시를 절충하고 그 비밀 후추를 공개하는 것은 다른 암호 해시와 그 비밀 후추에는 영향을 미치지 않기 때문에 각각의 후추는 개별적으로 발견되어야 하므로 암호 해시를 공격하는 데 걸리는 시간이 크게 증가한다.

무작위로 선택한 후추

전혀 저장되지 않고 무작위로 고른 후추의 경우 필요할 때마다 재발견해야 한다. 이것은 비밀번호를 검증하기 위한 알고리즘이 매번 후추를 효과적으로 강제할 필요가 있다는 것을 의미한다. 이러한 이유로, 검증을 실시하는 알고리즘은 검증이 합리적으로 빨라야 하기 때문에 후추에 큰 값을 사용하지 않을 것이다.[citation needed]

참고 항목

참조

  1. ^ "NIST Special Publication 800-63B". June 2017. Section 5.1.1.2. Retrieved 2018-10-13. ... verifiers SHOULD perform an additional iteration of a key derivation function using a salt value that is secret and known only to the verifier ...
  2. ^ a b Akhawe, Devdatta. "How Dropbox securely stores your passwords". dropbox.tech. Retrieved 2020-11-04.
  3. ^ Bellovin, Steve (1995-04-16). "passwd hashing algorithm". seclists. Retrieved 2020-11-11.
  4. ^ Manber, Udi (1996). "A simple scheme to make passwords based on one-way functions much harder to crack". Computers & Security. 15 (2): 171–176. doi:10.1016/0167-4048(96)00003-x. Retrieved 2020-11-11.
  5. ^ Blake, Ross; Jackson, Collin; Miyake, Nick; Boneh, Dan; Mitchell, John (2005). "Stronger Password Authentication Using Browser Extensions". USENIX Security Symposium: 17–32. Retrieved 2020-11-11.
  6. ^ Lars Schoening (January 25, 2006). "Hash only (Pepper) data transmission". Newsgroup: sci.crypt.
  7. ^ cyrusthevirus (June 7, 2007). "Bruce Schneier Facts". Newsgroup: it.test. Most people salt their hash. Bruce salt and peppers his.
  8. ^ Webster, Craig (2009-08-03). "Securing Passwords with Salt, Pepper and Rainbows". Barking Iguana. Retrieved 2020-11-11.
  9. ^ Wenzel, Fred (2011-03-12). "History for django-sha2/django_sha2/bcrypt_auth.py". Github. Retrieved 2020-11-11.
  10. ^ patrickmn@patrickmn.com (May 30, 2012). "Generating Salt for encryption using golang". golang-nuts (Mailing list).
  11. ^ Duong, Thai (2020-09-05). "Why you want to encrypt password hashes". vnhacker blogspot. Retrieved 2020-11-11.
  12. ^ @Sc00bzT (2020-09-18). "Pepper use to mean "a non-cryptographic salt"" (Tweet) – via Twitter.
  13. ^ "Brute Force Attack on UNIX Passwords with SIMD Computer" (PDF). August 1999.