どんまいこのネタ帳

花嫁修業だけでなくテックな修行のためアウトプットしていこうかと。ネットワーク/アプリ/サービスとりあえずなんでも

#qpstudy 2015.11 セキュリティに万全を求めるのは間違っているだろうか 〜絶対なんてない〜参加レポ

こんにちは、こんにちは。

qpstudyのセキュリティをテーマにした勉強会に参加してきました。
イベント内容はこちら
#qpstudy 2015.11 セキュリティに万全を求めるのは間違っているだろうか 〜絶対なんてない〜

qpstudyってなに?

qpstudyとは@iaraさんはじめ強靭なエンジニアの方々主催のITインフラ系勉強会です。
テーマはあらゆるITインフラ技術を扱っていますが、特に「インフラ系の初心者にもやさしい」をポリシーとし濃ゆーい基本の話をがっつりやるため、初心者にとってはわかりやすいし、ベテランでも忘れていた初心に立ち帰られるのではないでしょうか。
何度か参加した印象としては「わーい、盛り上がったねー」というより「自分ここ知らなかったからちゃんと勉強し直さなきゃ」となるカジュアルな予備校感。
ということで今回はセキュリティに関する勉強をしてきましたのでレポートします。

アジェンダ

  1. 暗号化の歴史 (しょっさん @sho7650)
  2. 20分でわかった気になるPKI のお話し (ねこるり @nekoruri)
  3. SSL/TLSのお話し (漆嶌さん @kjur)
  4. 懇親会LT

Togetterまとめはこちら
qpstudy 2015.11セキュリティに万全を求めるのは間違っているだろうか 〜絶対なんてない〜 #qpstudy - Togetterまとめ

1. 暗号化の歴史 (しょっさん @sho7650)

暗号化の歴史ということで紀元前からのお話。
公開資料はこちら

暗号化の歴史を学ぶ参考書として紹介されているのがこちら。

暗号技術入門 第3版 秘密の国のアリス

暗号技術入門 第3版 秘密の国のアリス

2番目のねこるりさんのときにも引用されていたのでかなりの良本とのこと。読まねば。

詳細は↑の資料を後談ください。口頭でお話していたところをざっと記載します。

暗号化の定義について

ほんとの基礎的だけど整理しておきたい用語。

暗号化の種類について
  • スキュタレー暗号
    • 同じ太さの木の棒を紙に巻くと解読できる方式
    • 木の棒と紙のセット
  • シーザー暗号
    • 文字をずら方式
    • 解読しやすかった
  • 単文字換字暗号
    • 変換するための表を使って解読
    • 文字の頻度分析でバレてしまった
  • 多表式暗号
    • 文字をブロックごとにわけ、ブロックごとにずらす文字数を変える
    • かなり解読は厳しかったけど、なんだかんだ解読されてしまう
  • エニグマ暗号
    • さらに強い暗号にするためとうとう機械化された
    • 日によって鍵が変わるので暗号化されたアウトプットが変わる
    • が、機械が手に入るとぱれる

暗号化の構造をクローズにしてセキュリティを担保する方法は構造がバレたら終わり
だったら構造をオープンにしても問題ない方式にすべき!
いよいよオープンアルゴリズム時代の到来

2. 20分でわかった気になるPKI のお話し (ねこるり @nekoruri)

ねこるりさんからはPKI(Public Key Infrastructure)の詳しいお話。
資料は今後公開いただいたら追記します。

鍵配送問題について
  • 共通鍵暗号
    • 別の手段で送る必要があったため、送る方法にリスクがある
  • 公開鍵暗号
    • 公開鍵とプライベート鍵をセットで作成
    • 作成した公開鍵をばらまいて暗号化するときにはばらまいた公開鍵で暗号化する
    • 送られた暗号文は手元にあるプライベート鍵で復号できるため、結構安全
  • デジタル署名
    • 公開鍵暗号を逆向きに利用
    • 送る側がプライベート鍵で暗号化し送ることで人を特定
  • 公開鍵暗号は絶対安全でもない
    • 公開鍵をばらまくときに第三者が差し替える可能性もある
    • 公開鍵の真正性が大事

何にも信頼出来ない状態から信頼を着く売り出す技術はまだ生み出されていません」by 結城先生 暗号技術入門 第3版 秘密の国のアリス

PKIとは→公開鍵暗号をうまく使うための仕組み

PKIを考える上で大事な3つのポイント
  • 公開鍵証明書
    • 公開鍵が本当に所有者のものか証明するもの
    • 公開鍵に信頼されている第三者がデジタル署名したもの
    • 第三者は正当性を保証できる認証局
  • 階層化された認証局CA
  • トラストアンカー
    • 信頼の起点
    • ブラウザに含まれる信用されたroot証明書
    • ブラウザの配布者が決められたポリシーに従ってビルトインしている
    • ここが侵されたら何をされてもおかしくない

ブラウザの鍵マークは何気なく見てたけど細かく証明されてるんですなぁ。
なんとなく公開鍵周りは理解している気になっていたけど改めて整理できました。

3. SSL/TLSのお話し (漆嶌さん @kjur)

SSL/TLSの詳細でコアなお話。
公開資料はこちら

スタートからあらゆる証明書をコレクションすることが趣味というセキュリティマニアな漆嶌さん。
多くは↑の資料に詳細がありますので、ご参考ください。
その中でも気になった点のみ書き起こします。

SSL証明書の違い
  • DV(ドメイン認証):個人、API利用、開発用
    • 証明書ビューアに組織名が表示されない
  • OV(組織認証)
    • 企業/一般利用、問合せ
  • EV(拡張認証)
    • お金が一番かかるし申請まで時間かかる
    • すべてに組織情報が記載されるためかなり信頼できる
イマドキSSL証明書のポイント
  • 更新であっても鍵ペアは再生成する
  • RSA 2048bit以上の鍵を使う
  • SHA256への移行を早めに
  • EV証明書を購入する際にCT(Certificate Transparency)に対応したものにする
    • CT非対応だとChoromeに緑バーが表示されない。
  • 最近のWebブラウザはOCSPなのでOCSPに対応しているとよい
なぜHTTPS(SSL/TLS)設定が必要か
  • 昔はミドルウェアのバージョンアップだけで解決できていた
  • ここ最近は暗号のプロトコル自体に問題がありサーバー側の設定で対応しないとだめな脆弱性が増えている
  • サーバーはデフォルト設定ではなく、きめ細かい設定で脆弱性に対応する必要がある
  • もちろんバージョンアップも併せて対応する必要がある
現在使われている主要な暗号、ダメな暗号
  • GCMをつけたほうがいい→CBCを使っていると脆弱な問題があったため
  • 128bitより256bitのほうが強固だが、128bitのほうがパフォーマンスが出るため128bitのほうが推奨
大切な設定
  • SSLHonorCipherOrder On設定
    • デフォルトだとクライアントから送る暗号スイート一覧を優先してしまう
    • Windows XP上のIEとかだと古い脆弱な暗号が優先されてしまう
    • SSLHonorCipherOrderをOnにするとサーバー側の強固な暗号スイートを優先する
さらにSSL/TLSの詳細を知るには

https://www.ipa.go.jp/files/000045645.pdf

非公式:俺の考えた最強のHTTPSサーバ設定生成ツール

HTTPS設定ファイル生成ツール0.5(ベータ版)

置いてけぼりにされた「楕円曲線暗号」はスライドをご覧ください。
楕円曲線暗号」というワードと数学者ってすごいなって感動が残りました。

4. 懇親会LT

ピザとビールでわいがやとした雰囲気の中だったので一つ一つをちゃんと聞けませんでした。。。
まずは公開されている資料を記載します。

ねこるりさん(@nekoruri)の戦い(JAWSのGamedayのような戦い)

私も勢いでセキュリティでも技術ネタでもなく、IT業界における結婚事情について

結婚できるといいね。

@hasegawさんがお話された、スプラトゥーンのアクションログの可視化から機械学習まで発展していたお話が楽しそうだったので資料公開されたら嬉しいなぁ。
JAWSでお馴染みのあゆみさんからはいつものくまモンエンタープライズの葛藤について。こちらも相変わらず熱かったです。

まとめ

セキュリティというか主に暗号に特化した内容が充実していて面白く勉強できましたし、また振り返らないとダメだなと感じました。
お話いただいたお三方のプレゼンも丁寧でわかりやすく、その辺りも参考にしたい一面です。
運営のみなさま、素晴らしいイベントありがとうございましたー。
次回は出張編!?ということでどこで開催するのか気になるところ。