行ってきました。
http://www.zusaar.com/event/14207003
Web アプリケーションエンジニアなので分からない点も多々ありましたが、
登壇者のお話がわかりやすく非常に勉強になりました。
初参加だったんですが、全体的にゆる〜い雰囲気で良いですね。
以下メモ書き。
暗号化の歴史 (しょっさん @sho7650)
前フリ
- BABYMETAL と Perfume は覚えて帰ってください
- シェルスクリプトマガジン でrubyの連載中
本題
- 暗号が必要な理由
- 軍事・外交
- 参考書
- 言葉の定義
- スキュタレー暗号:物理的な鍵の先駆者
- 鍵は木の棒
- 紙を木の棒に巻く
- 同じ直径だと同じ言葉が出てくる
(http://www.mitsubishielectric.co.jp/security/learn/info/misty/stage1.html より引用)
- シーザー暗号
- 文字を一定数ずらす
- ずらす数 = 鍵
- 欠点: 単純。アルファベットなら26回の試行でいける
(https://ja.wikipedia.org/wiki/%E3%82%B7%E3%83%BC%E3%82%B6%E3%83%BC%E6%9A%97%E5%8F%B7 より引用)
- 単文字(単一)換字暗号
- 変換前と変換後のアルファベット対応をランダムに
- アルファベットだけでも 26! 通りの組み合わせ
- それでもばれた
- なぜか? → 文字の頻度分析 (母音の方が登場回数が多い)
(http://labs.opentone.co.jp/?p=3599 より引用)
- 多表式暗号
- シーザー改良
- 平文をブロックに分け、ブロック毎にずらす文字数を変えた
- エニグマ暗号機
- まとめ
20分でわかった気になる PKI のお話し (ねこるり @nekoruri)
- 公開鍵暗号
- 2つの鍵を分離
- 暗号化用の鍵 -> 公開鍵を公開
- 復号用の鍵 -> プライベート鍵
- 2つの鍵を分離
- 鍵配送問題
- 鍵を安全に配送する方法が問題
- 共通鍵暗号だと鍵を何らかの別の手段で秘匿しないといけない
- デジタル署名
- 公開鍵暗号を「逆向き」に利用
- プライベート鍵で暗号化、みんなに配った公開鍵で復号
- 鍵配送問題その2
- 公開鍵を配送するときに、第三者が自分の公開鍵と差し替えてしまったら
- いわゆる Man-in-the-middle 攻撃(MITM・中間者攻撃)
- 公開鍵の「真正性」がだいじ
- 何も信頼できない状態から信頼を作り出す技術はまだ生み出されていません
- 結城浩さんの書籍 暗号技術入門 第3版 より引用
- PKI: Public Key Infrastructure 公開鍵基盤
- 公開鍵証明書
- 階層化された認証局 (CA)
- トラストアンカー
- 「信頼の起点」
- いわゆる「信頼されたルート証明書」
- ここが侵されたら何をされてもおかしくない
- 「信頼の起点」
※ PKI についてはこちらの記事も参考にしました。
一歩先を行くインフラエンジニアに知ってほしいSSL/TLS設定 (漆嶌さん @kjur)
- ブログ: 自堕落な技術者の日記 - livedoor Blog(ブログ)
- 趣味で証明書集めしてる(!!)
- 例: amazon での買い物
- SSL/TLS の3つの機能
- SSL/TLS はOSI参照モデルでいうセッション層とプレゼンテーション層に入れるもの?
- イマドキの証明書を購入する際の注意点
- Let's Encrypt
- 簡単、安全、早い、無料、オープン
- 誰でも証明書をゲットできる
- 証明書の種類
DV(ドメイン認証) | OV(組織認証) | EV(拡張認証) | |
---|---|---|---|
アドレスバー | OVと同じ | DVと同じ | 緑アドレスバーに組織名が表示される |
ページ情報 | 組織名が表示されない | 組織名が表示されない | 組織名が表示 される |
証明書ビューア | 組織名が表示されない | 組織名が表示 される | 組織名が表示 される |
- SHA1からSHA2証明書への移行
- MSはSHA1の停止を2017/01 → 2016/06 に早めた
- 参考: https://www.trustworthyinternet.org/ssl-pulse/
- なぜHTTPS(SSL/TLS) のサーバー側の設定が大切か
- 暗号スイート (CipherSuite) の設定
- 使って良い(おすすめの)暗号
- 残りの3つの大切なSSL/TLS設定
- POODLE対策として使用プロトコルバージョン
- CRIME対策としての圧縮設定の解除
- 参考: SSL/TLS 暗号設定ガイドライン
( ゚д゚)ポカーン
楕円曲線暗号について
(スライドから引用)
さて、肝心の楕円曲線暗号アルゴリズムについては、、、
正直理解するところまでいかなかった。
ただ、こちらのスライドも参考にすると理解が深まるかも。
たぶん、剰余の考え方を用いることで楕円曲線上の点の加算・乗算を定義して、
ある点 G(x, y) を n 回掛けあわせた移動後の点 nG を公開鍵として用いる、みたいな話だった気がする。
n 回掛け合わせるとは、楕円曲線上の離散的な点の間を n 回移動するようなイメージらしい。
(http://www.slideshare.net/tyk97/ss-35444178 より引用)
このとき、
となる。
nG から n を求めるのはひじょーに難しい。らしい。
また、
- 曲線パラメータは何でも良いわけではない
- パラメータの取り方によっては計算が発散する...?
- 標準化団体、業界団体が良いパラメータを選んだ
- 代表的なもの: NIST P-256, P-384, P-521, secp256r1, ...
参考書籍・リンク
セッション中にたびたび取り上げられてた結城さんの本、時間のあるときに読んでみたい。
あと、SSL/TLS だと少し前にソフトウェア・デザインで特集組まれてたはず。
リンク(上にも書いたものをまとめ)
- PKI
- SSL/TLS
- うるしまさんのブログ: 自堕落な技術者の日記 - livedoor Blog(ブログ)
- SSL Pulse https://www.trustworthyinternet.org/ssl-pulse/
- 主要なwebサイトのSSL統計情報 ?
- SSL/TLS 暗号設定ガイドライン