Loading
데이터가 없습니다
BCRYPT 해쉬 암호화
  • bcrypt의 값은 4부분으로 나눠진다 test : $2y$10$fW1wpXOHhb44YCs4CSd4hemmIHM7/Y2wg5XXlu7HttJQ4ydyQFhBi
  • 같은 값이 매 실행 마다 달라진다. 같은 비밀번호라도 해시값이 달라지게 된다. 이 때문에 공격자는 해시값 데이터베이스를 만들 수 없다
  • 비밀번호 와 같은 암호를 저장시 현재까지 사용중인 가장 강력한 해시 메커니즘 중 하나이다.
  • C, C++, C#, Elixir, Go, Java, 자바스크립트, 펄, PHP, 파이썬, Ruby 등의 언어용으로 bcrypt 구현체가 존재한다.
  • 시간이 지남에 따라 속도 저하를 위해 반복 횟수가 증가가 수반될 수 있으므로 연산 파워의 증가에도 브루트 포스 검색 공격에 대한 저항을 유지하게 된다.
  • 레인보 테이블 공격 방지를 위해 솔트를 통합한 bcrypt는 적응형 함수의 하나이다.
  • bcypt는 블로피시 암호에 기반을 둔 암호화 해시 함수로서 Niels Provos와 David Mazières가 설계하였으며 1999년 USENIX에서 발표되었다.
  • (1) Algorithm : 알고리즘 식별자. '$2a$'는bcrypt를 뜻한다. (2) Cost factor : 키 스트레칭한 횟수. 2^n으로 위의 경우 2^10=1024이다. (3) Salt : 128비트 솔트, 22자 base64로 인코딩. (4) Hash : salting과 키 스트레칭 후 해시 값
  • 해쉬 암호화, bcrypt, 비밀번호
댓글