암호화 알고리즘

패스워드 암호화 알고리즘

패스워드 암호화를 위해 crypto.pbkdf2, bcrypt blowfish 암호화 알고리즘이 사용되었다.


1. crypto.pbkdf2

pbkdf2(Password-Based Key Derivation Funcion Version 2)는 미국 NIST에서 승인받은 사용자 패스워드를 기반으로 키(key) 유도를 하기 위한 함수이다. 사용자 패스워드에 해시함수, 솔트(Salt), 반복 횟수 등을 지정하여 패스워드에 대한 다이제스트(Digest)를 생성하는 방식이다.

  • Salt : 비밀번호를 암호화하기 위한 키 값
  • Digest : 비밀번호를 Salt로 암호화한 결과 값

※ 상세 설명 참조 문서 : crypto, crypto.pbkdf2 (NPM) (Github)


2. bcrypt blowfish

1999년에 publish된 password-hashing function으로 Blowfish 암호를 기반으로 설계된 암호화 함수이며 현재까지 사용중인 가장 강력한 해시 매커니즘 중 하나이다. 보안에 집착하기로 유명한 OpenBSD에서 사용하고 있으며, .NET 및 Java를 포함한 많은 플랫폼, 언어에서 사용가능하다. 반복횟수를 늘려 연산속도를 늦출 수 있으므로 연산 능력이 증가하더라도 brute-forece 공격에 대비할 수 있다.

※ 상세 설명 참조 문서 : bcrypt, blowfish (NPM) (Github)





토큰 발급 암호화 알고리즘

토큰 발급 암호화를 위해 AES-256-CBC 암호화 알고리즘이 사용되었다.


AES-256-CBC

AES(Advanced Encryption Standard)는 고급 암호화 표준이다. 암호화 및 복호화에 동일한 키를 사용하는 대칭키 알고리즘으로 AES-128, AES-192, AES-256이 있는데 각 뒤에 붙은 숫자가 키의 길이를 의미한다. AES-256은 키가 256bit(=32byte)이다.

※ 상세 설명 참조 문서 : 고급 암호화 표준



※ 본 문서에 안내 된 알림을 제외한 문제가 발생할 경우, 구매처로 문의하시기 바랍니다.