認証
1560 ワード
認証
ユーザーID(ID&PW)を確認するプログラム.
ログイン時の検証プロセス
access token
をクライアントaccess token
が追加され、ユーザPW暗号化
ユーザPWがDBにそのまま保存されることは絶対にない.
PWパスワードは通常、一方向ハッシュ関数を使用します.
다이제스트(digest)
を生成する.Salting & Key Stretching
一方向ハシは元の暗号メッセージよりもセキュリティが高いが、同じINPUTでは常に同じOUTPUT暗号化値があるため、Rainbow Tableのハッカーリスクが高い.
そこで、さらに改善するためにSalting&Key Stretchingが誕生しました.
Salting
ハッシュ値を計算する方法は,実際のPWに加えてランダムデータを追加する.
Key Stretching
一方向ハッシュ値を計算し、ハッシュ値をハッシュし続けて長さを増やします.
bcrypt
Salting&Key Stretchingで実装されたハッシュ関数で最も広く使用されているライブラリ
bcryptはhash結果値にsalt値とhashed値と繰返し回数を同時に保持する.
パスワードハッシュを適用する場合は、複雑なデータベース設計は必要ありません.
bcryptハッシュ結果による構造
$2b$12$.XIJKgAepSrI5ghrJUaJa.ogLHJHLyY8ikIC.7gDoUMkaMfzNhGo6'
---/---/--------------------/-------------------------------/
1 2 3 4
1 - Algorithm2 - Algorithm options(eg cost)
3 - Salt
4 - Hashed password
終わりだ!
Reference
この問題について(認証), 我々は、より多くの情報をここで見つけました https://velog.io/@tngusl5/인증Authenticationテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol