(追記 2017/08/30): 「復号化」から「復号」に訂正しました。
以下の条件のシステムで使うパスワードについて検討
- 再起動後もシステムが動き続ける
- 再起動後にパスワードの再入力はできない場合がある
- 適宜、パスワードを使う
- ある外部サービスに接続する
パスワードは暗号化され、外部に漏れないようにしないといけない。
一方で、復号できないと外部サービスに接続できない。
再起動も考慮するため、メモリ上にのみ存在させる、という手は使えない。
SHA-256などの暗号化を使うとした場合も「ハッシュパスワード」をどう管理するか?という問題になっていきそう。
- ハッシュパスワードの管理
- ソフトで固定 : ソースプログラムが漏洩しない限り、ハッシュパスワードも漏えいしない?
- ユーザ入力 : 元のパスワードと同じく、ハッシュパスワードの管理機構が必要になる
以下も有効だろうか?
- ハッシュ暗号化に加えて、独自の変換をかぶせる
- 独自変換部分はプログラムの解析をしない限りわからない。
- その場合、ハッシュ暗号化は必要なのか?? 独自変換だけでもいいのだろうか?
- 独自変換をするのと、ソフト固定のハッシュパスワードを使ったハッシュ変換をするのと、それぞれの長所短所が未消化