ssl入門

23
SSLv3 ととととととととと と SSL/TLS ととと uji52 ととと 2016/07/17 21:00-25:00 with ととととと 2016/07/18 14:00-17-00 with ととととと ( とと )

Upload: takeru-ujinawa

Post on 13-Apr-2017

487 views

Category:

Technology


1 download

TRANSCRIPT

Page 1: SSL入門

SSLv3 とはなんだったのか〜 SSL/TLS 入門〜uji52

作成日 2016/07/17 21:00-25:00 with アルコール     2016/07/18 14:00-17-00 with アルコール ( 少量 )

Page 2: SSL入門

uji52

自己紹介• uji52• 好きな AWS サービス

• Lambda• STS

• 今興味のある脆弱性• httproxy

Page 3: SSL入門

uji52

SSL/TLS とは• 自分の書いた通りの内容を• 意図した相手に対して• 他の人に見られずに

??

Mr.A Mr.B

C

Dうっすうっす、俺の証明書やで

公開鍵で暗号化した共通鍵やで共通鍵で暗号化した会話!!

Page 4: SSL入門

uji52

SSL/TLS とはこんな感じの暗号化アルゴリズムで暗号化通信しませんか?

じゃあコレでいきましょう追加でクライアントの情報ください ( 任意 )

それに決定ですね、了解ですあと追加情報です ( 要求された場合 )

じゃあそれで

参考 : https://www.jp.websecurity.symantec.com/welcome/pdf/wp_ssl_negotiation.pdf

Page 5: SSL入門

uji52

SSL/TLS とはClient Hello使用する暗号化アルゴリズム・圧縮アルゴリズムのリスト

Page 6: SSL入門

uji52

SSL/TLS とはServer Hello暗号化アルゴリズム・圧縮アルゴリズムを選択

Server Certificateサーバ証明書Server Key Exchange一時的な鍵を生成 ( サーバ証明書がない場合等 )

Certificate Requestクライアント証明書の要求 ( 任意 )

Server Hello Done以上!

Page 7: SSL入門

uji52

SSL/TLS とはClient Certificate

Certificate Request への応答 ( クライアント証明書 )

Client Key Exchange共通鍵の元となる乱数を生成 ( 重要語句 : プリマスタシークレット )

Certificate Verifyクライアント証明書の署名 (Certificate Request が存在する場合 )

Change Cipher Specマスターシークレットを生成して共通鍵生成して、これを使うという決定通知Finished以上!

Page 8: SSL入門

uji52

SSL/TLS とはChanger Cipher Specプリマスタシークレット→マスターシークレット→共通鍵生成→完了通知

Finished以上!

Page 9: SSL入門

uji52

実際のパケット

Page 10: SSL入門

uji52

SSL/TLS の歴史

Page 11: SSL入門

uji52

SSL/TSL の歴史バージョン 大丈夫? 概要

SSL1.0 あかん 初めての SSL設計レビュー段階で脆弱性発覚して破棄

SSL2.0 あかん 1994 〜 脆弱性の確認により SSL3 へ移行ダウングレード攻撃が話題に

SSL3.0 あかん ほぼ TLS1.0ただし、話題性あふれる脆弱性がたっぷりなので使っちゃだめ!

TLS1.0 脆弱性対応とアルゴリズム次第

ここからはある程度の安心感があるBEAST 等の脆弱性について考慮すべし

TLS1.1 脆弱性対応とアルゴリズム次第

TLS1.0 の弱点対策系バージョンAES 暗号を採用

TLS1.2 脆弱性対応とアルゴリズム次第

ハッシュアルゴリズムに SHA-256 追加され、ブロック暗号にもCBC(Cipher Block Chaining) に加え GCM(Galois/Counter Mode) や CCM(Counter with CBC-MAC) が採用

TLS1.3 えぇ感じのハズ 2016 中に公開予定

Page 12: SSL入門

uji52

SSLv3 とはなんだったのかというスライドなのでPOODLE について

Page 13: SSL入門

uji52

POODLE(Padding Oracle On Downgraded Legacy Encryption)

• SSL の通信の中身が見えちゃう• ブロック暗号長のパディング検証の脆弱• パディングの値が正しいかどうか正誤が返却• その正誤を1バイトずつ復元できちゃうらしい

( 詳細理解には至れなかった )

• 明示的に SSLv3 の通信 Off にしなきゃ• サーバサイドの設定でも• ブラウザサイドの設定でも

Page 14: SSL入門

uji52

まとめ• セキュリティはビビってなんぼ

• 自分が送ってる通信に対して常に危機感を!• 自分が送らせることになる通信に対しても常に危機感を!

• 自身の勉強が足りん• 脆弱性の発生しうる原因に対しての理解が追いついていない• 暗号化のアルゴリズムについても理解を深めたい

Page 15: SSL入門

uji52

おまけ

Page 16: SSL入門

uji52

パケット

Page 17: SSL入門

uji52

Page 18: SSL入門

uji52

Page 19: SSL入門

uji52

Page 20: SSL入門

uji52

Page 21: SSL入門

uji52

参考資料資料完成してから見つけたとっても分かりやすい資料

Page 22: SSL入門

uji52

http://www.jnsa.org/seminar/pki-day/2015/data/2-1_urushima.pdf

Page 23: SSL入門

uji52

http://www.jnsa.org/seminar/pki-day/2015/data/2-1_urushima.pdf