ナビゲータのEVEです。
今日も、Prototype EVEの修正作業を実施しましたが、まだまだって感じです。ただ、 経験曲線効果 のおかげで、少しずつ速度を上げています。予定よりは遅れそうですが、なるべく早く、作業を完了できるように頑張ります。
[ログインシステム]
管理システムのログインシステムを解説する前に、まずは、通常システムと共通の部分について解説をしましょう。
ちょっと、見にくいですが、下記の図には、ログインまでの流れが書かれています。
順を追ってみてみましょう。
?クライアントがログイン画面にアクセスします。
?ログイン画面にアクセスしたことにより、サーバーは暗号化ファイル(JSON)をクライアントへ発行します。
?クライアントは、パスワードを入力します。入力を完了し、ログインボタンを押下したときに、暗号化ファイルに基づきパスワードを暗号化します。
?暗号化されたパスワードを、データベースの暗号化情報に基づき復号し、復号したパスワードを今度は、MD5によりハッシュ値を取得します。
?MD5のハッシュ値と、データベースに予め登録してある、パスワードのハッシュ値を比較します。
?ハッシュ値が等しい場合、セキュリティコードと、?のハッシュ値を連結し、再度ハッシュ値を求めます。
??で求めたハッシュ値をクライアントに送付しログインが成功です。
?以降、サーバーは認証コードが正しいことを確認することにより、クライアントの真正性を確認します。
以上が、通常、管理システムで共通のシステムの部分になります。これ以降、管理システムでは、予めエクセルファイルで渡しておいたセキュリティ情報を画面の要求に基づき入力し、ログインします。
めんどくさいといっていたのは、この セキュリティ情報を事前にユーザーに配布しなければいけない 点と、何回も、パスワードを入力するのと同様の操作をしなくてはいけないという点です。
このフレームワーク管理システムで使用しているログインシステム、映画 ターミネータで使用されていた、システムをパクっています (笑)。
[次期システム]
次期システムでは、以下の変更を考えています。
?@最新ハッシュ関数の導入
?AセキュリティコードからSALT値への変更
?B認証コードの定期的な変更(1時間位?)
?@現在最新ののハッシュ値は、 SHA3(512) だと思いますが、リリース時には何になっているか分かりません。そのため、最新という記述になっています。
?Aセキュリティコードは、Prototype EVEで共通のコードとなっています。そのため、セキュリティコードが漏洩した場合、ユーザー全員のパスワードが脅威にさらされます。そのため、 SALT値 を導入することにより、ユーザ1人1人をセキュリティリスクから守ります。
?Bですが、Prototype EVEの認証コードは、 リプレイ攻撃 に非常に弱い構造となっています。しかも、以前は、SSL/TLSによる暗号も行われていなかったため、非常に脆弱なものでした。ただ、今回は、SSL/TLSを導入したことにより、多分、このリスクはかなり低減されていると考えています。これは、SSL/TLSの仕様が、ハイブリッド型認証方式となっていることが前提です。このように、セキュリティが環境に左右されるのは当サイトのセキュリティポリシーとしては問題があるので、認証コードを定期的にかえるような仕様にしたいと考えています。
[あとがき]
昔のシステム、Prototype EVE(2006年〜2009年に追加)の仕様について、かなり、深い部分レベルの仕様について公開させていただきました。見ていただいて分かると思いますが、ハイセキュリティなシステムとなっています。そのため、既存のPrototype EVEシステムでも、十分なのですが、これから開発するEVEシステムは、より安心して使えるセキュリティを用意しています。
また、EVEシステムに先立ち、Prototype EVEの公開バージョン、New Prototype EVEでは、?@?Aの仕様を取り入れた形で公開します。SSL/TLSを導入済みという状況から考えても、現状でも普通のサイトよりはかなりセキュリティが高いですので、そちらも 安心してご利用ください 。
では、また!
■2023年7月8日現在
修正ファイル本数 10/28(5ファイル修正)
修正関数本数 19/78(8関数修正)
※修正対象関数が2本増えました。
【このカテゴリーの最新記事】