2018-10-05 楕円曲線DSA通称ECDSAを紹介 ネットワーク プログラミング 技術 趣味 スポンサーリンク 1.~暗号化通信とは~ 2.~ようやく本題!!~ECDSAについてと導入をしてみたった~ 1.~暗号化通信とは~ 魔理沙っち HTTPとか何も証明書を用いらず 通信をすることを平文通信というのぜ 霊夢 暗号化にはアルゴリズム(規則性または算法)と鍵を用いて行うわ 霊夢 インターネットでは共通鍵暗号と公開鍵暗号ていうのがあるわ 霊夢 共通鍵暗号は暗号化と複合化が同一のキーで行われるわ 魔理沙っち 共通鍵暗号で使用するアルゴリズムは 「RC4、DES、3DES、AES」だぜ 霊夢 RC4については脆弱性(セキュリティホール) が見つかって今じゃほとんど使われてないわ 霊夢 AESは無線LANルータのWPA2キーにも使われるアルゴリズムだわ 魔理沙っち 次は公開鍵暗号方式これは暗号化用のキー(パブリックキー) 公開鍵と受信者が持つ秘密鍵(プライベートキー)で通信を行うのぜ 霊夢 アルゴリズムにはRSAとElGamal,ECC (Elliptic Curve Cipher),dh-parm (Diffie-Hellman)などがあるわ 霊夢 RSA暗号とは 桁数が大きい合成数の因数分解の問題が 困難であることを安全の根拠とした アルゴリズムよ 魔理沙っち ECC(楕円曲線)暗号は楕円曲線上の離散対数問題の困難性が 安全の根拠であると提唱したアルゴリズムだぜ 霊夢 dh交換キーていうのは事前に秘密の交換なしに、 盗聴の可能性のある通信路を使って暗号鍵の共有 を可能にする暗号プロトコルであるこの鍵は、 共通鍵暗号方式の鍵として使用可能だわ 魔理沙っち ElGamalについてはカットさせてもらうぜ 霊夢 ECDHE_ECDSA with P-256 to AES_128_GCMていうのはDSA を楕円曲線上に再定義しdh交換キーを楕円曲線上に定義した 証明書を使って楕円曲線パラメーターP256 (secp256r1) で暗号された暗号をAESアルゴリズムの128ビット Galois/Counter Mode (GCM)を用いて暗号化内容 を認証しましたていうことになるわね 魔理沙っち 暗号学を学んでるわけじゃないので 一部解釈に誤りがあったらごめんなのぜ 2.~ようやく本題!!~ECDSAについてと導入をしてみたった~ 魔理沙っち p>1で説明したように ECDSAは DSAを 楕円曲線上に 再定義したものでこの証明書で使われる公開鍵の 必要サイズはセキュリティレベルのおおよそ2倍 であると考えられている 霊夢 例えば80ビットのセキュリティレベルを得ようとするなら (攻撃者が秘密鍵を取得するために 回の計算を必要とする) を得るためにDSA(RSA)では1024ビットの公開鍵が必要だが ECDSAでは160ビットの公開鍵で十分であるわ つまり860ビット短い公開鍵でもTLS接続の標準値を マークすることができるわ 方、署名のサイズはDSAでもECDSAでも同じであり、必要とするセキュリティレベルの4倍のビット長を要する(80ビットのセキュリティレベルのためには320ビットの長さの署名が必要)。 霊夢 これにより受信者のコンピュータ負荷を軽減できるの Let's Encryptもこの証明書を発行してるのでサイトを サーバを借りたり立てたりして持ってる人はぜひ使って みてほしいわ