EDSベースの認証

すでにいくつかのトピックで、安全でない接続で安全な認証メカニズムを構築する問題が検討されました。 以下に、非対称暗号を使用したスキームを説明するために提案します。 このアプローチにより、サーバーでの認証が可能になり、登録中または認証中にパスワードがサーバーに渡されることはありません。 いつものように、デモとソースコードがあります。 このトピックが興味深いのは、猫です。



前に、すでにいくつかのオプションを検討しました。 提案された認証メカニズムは、Rootokenベースのソリューションと同じプロトコルを使用します。 主な違いは、すべての暗号化操作がプログラムによって実行され、秘密鍵がパスワードに基づいて生成されることです。 両方のソリューションは、 楕円曲線暗号化(ECC)を使用します。 ECCはRSAよりも暗号強度が高いため、短いキーを使用できるため、パフォーマンス要件が軽減されます。 など:



登録

認証

添付はデモです。 例を準備する際に、スタンフォード大学の学生によって書かれたライブラリが使用されました。 添付の例のGOST R 34.10-2001アルゴリズムに従ってキーペアを生成し、EDSを形成するソフトウェア実装については、残念ながらHabrに招待されていない善人Alexander Martynenkoに感謝します。



もちろん、すべての例は単なる例です。 「戦闘」で使用するには、まず慎重に考え、さまざまな「ささいなこと」にもっと注意を払う必要があります。 ただし、さまざまな安全な認証プロトコルの存在自体が疑問を提起します。 パスワードがまだクリアテキストで送信されるのはなぜですか? パスワードがデータベースにクリアで、またはソルトなしのハッシュ形式で保存されるのはなぜですか? アカウントのセキュリティについて主要なオンラインサービスの一部の代表者と通信するとき、よくある質問をよく聞きます。 それでは、ユーザーのセキュリティに何か利点はありますか?



All Articles