Download free for 30 days
Sign in
Upload
Language (EN)
Support
Business
Mobile
Social Media
Marketing
Technology
Art & Photos
Career
Design
Education
Presentations & Public Speaking
Government & Nonprofit
Healthcare
Internet
Law
Leadership & Management
Automotive
Engineering
Software
Recruiting & HR
Retail
Sales
Services
Science
Small Business & Entrepreneurship
Food
Environment
Economy & Finance
Data & Analytics
Investor Relations
Sports
Spiritual
News & Politics
Travel
Self Improvement
Real Estate
Entertainment & Humor
Health & Medicine
Devices & Hardware
Lifestyle
Change Language
Language
English
Español
Português
Français
Deutsche
Cancel
Save
Submit search
EN
Uploaded by
Takashi Takizawa
7,786 views
#mailerstudy 02 メールと暗号 - SSL/TLS -
#mailerstudy 02 メールと暗号 - SSL/TLS -
Technology
◦
Read more
27
Save
Share
Embed
Embed presentation
Download
Downloaded 74 times
1
/ 47
2
/ 47
3
/ 47
4
/ 47
5
/ 47
6
/ 47
7
/ 47
8
/ 47
9
/ 47
10
/ 47
11
/ 47
12
/ 47
13
/ 47
14
/ 47
15
/ 47
16
/ 47
17
/ 47
18
/ 47
19
/ 47
20
/ 47
21
/ 47
22
/ 47
23
/ 47
24
/ 47
25
/ 47
26
/ 47
27
/ 47
28
/ 47
29
/ 47
30
/ 47
31
/ 47
32
/ 47
33
/ 47
34
/ 47
35
/ 47
36
/ 47
37
/ 47
38
/ 47
39
/ 47
40
/ 47
41
/ 47
42
/ 47
43
/ 47
44
/ 47
45
/ 47
46
/ 47
47
/ 47
More Related Content
PDF
TLS, HTTP/2演習
by
shigeki_ohtsu
PPTX
Apache Spark on Kubernetes入門(Open Source Conference 2021 Online Hiroshima 発表資料)
by
NTT DATA Technology & Innovation
PDF
AWSではじめるDNSSEC
by
Tomohiro Nakashima
PPTX
KubernetesのRBACを掘り下げてみる(Kubernetes Novice Tokyo #17 発表資料)
by
NTT DATA Technology & Innovation
PPTX
PostgreSQLのロール管理とその注意点(Open Source Conference 2022 Online/Osaka 発表資料)
by
NTT DATA Technology & Innovation
PPTX
SSRF対策としてAmazonから発表されたIMDSv2の効果と破り方
by
Hiroshi Tokumaru
PDF
とある診断員とSQLインジェクション
by
zaki4649
PDF
大規模DCのネットワークデザイン
by
Masayuki Kobayashi
TLS, HTTP/2演習
by
shigeki_ohtsu
Apache Spark on Kubernetes入門(Open Source Conference 2021 Online Hiroshima 発表資料)
by
NTT DATA Technology & Innovation
AWSではじめるDNSSEC
by
Tomohiro Nakashima
KubernetesのRBACを掘り下げてみる(Kubernetes Novice Tokyo #17 発表資料)
by
NTT DATA Technology & Innovation
PostgreSQLのロール管理とその注意点(Open Source Conference 2022 Online/Osaka 発表資料)
by
NTT DATA Technology & Innovation
SSRF対策としてAmazonから発表されたIMDSv2の効果と破り方
by
Hiroshi Tokumaru
とある診断員とSQLインジェクション
by
zaki4649
大規模DCのネットワークデザイン
by
Masayuki Kobayashi
What's hot
PDF
なぜ自社で脆弱性診断を行うべきなのか
by
Sen Ueno
PDF
機密データとSaaSは共存しうるのか!?セキュリティー重視のユーザー層を取り込む為のネットワーク通信のアプローチ
by
Amazon Web Services Japan
PDF
20200721 AWS Black Belt Online Seminar AWS App Mesh
by
Amazon Web Services Japan
PDF
乗っ取れコンテナ!!開発者から見たコンテナセキュリティの考え方(CloudNative Days Tokyo 2021 発表資料)
by
NTT DATA Technology & Innovation
PDF
SMTPのSTARTTLSにおけるTLSバージョンについて
by
Sparx Systems Japan
PPTX
やってはいけない空振りDelete
by
Yu Yamada
PDF
At least onceってぶっちゃけ問題の先送りだったよね #kafkajp
by
Yahoo!デベロッパーネットワーク
PPTX
Cisco Modeling Labs (CML)を使ってネットワークを学ぼう!(基礎編)配布用
by
シスコシステムズ合同会社
PDF
ネットワークスイッチ構築実践 1.VLAN・LinkAggregation編
by
株式会社 NTTテクノクロス
PDF
人生がときめくAPIテスト自動化 with Karate
by
Takanori Suzuki
PPTX
スマホゲームのチート手法とその対策 [DeNA TechCon 2019]
by
DeNA
PPTX
あなたのところに専用線が届くまで
by
Tomohiro Sakamoto(Onodera)
PDF
大規模ソーシャルゲームを支える技術~PHP+MySQLを使った高負荷対策~
by
infinite_loop
PDF
インフラエンジニアの綺麗で優しい手順書の書き方
by
Shohei Koyama
PPTX
最近のやられアプリを試してみた
by
zaki4649
PDF
CVE、JVN番号の取得経験者になろう!
by
kazkiti
PDF
20200422 AWS Black Belt Online Seminar Amazon Elastic Container Service (Amaz...
by
Amazon Web Services Japan
PDF
DDD&Scalaで作られたプロダクトはその後どうなったか?(Current state of products made with DDD & Scala)
by
MicroAd, Inc.(Engineer)
PDF
Awsの質問に何でも答えます
by
Yasuhiro Araki, Ph.D
PDF
SlideShareをやめて SpeakerDeckに移行します
by
Mamoru Ohashi
なぜ自社で脆弱性診断を行うべきなのか
by
Sen Ueno
機密データとSaaSは共存しうるのか!?セキュリティー重視のユーザー層を取り込む為のネットワーク通信のアプローチ
by
Amazon Web Services Japan
20200721 AWS Black Belt Online Seminar AWS App Mesh
by
Amazon Web Services Japan
乗っ取れコンテナ!!開発者から見たコンテナセキュリティの考え方(CloudNative Days Tokyo 2021 発表資料)
by
NTT DATA Technology & Innovation
SMTPのSTARTTLSにおけるTLSバージョンについて
by
Sparx Systems Japan
やってはいけない空振りDelete
by
Yu Yamada
At least onceってぶっちゃけ問題の先送りだったよね #kafkajp
by
Yahoo!デベロッパーネットワーク
Cisco Modeling Labs (CML)を使ってネットワークを学ぼう!(基礎編)配布用
by
シスコシステムズ合同会社
ネットワークスイッチ構築実践 1.VLAN・LinkAggregation編
by
株式会社 NTTテクノクロス
人生がときめくAPIテスト自動化 with Karate
by
Takanori Suzuki
スマホゲームのチート手法とその対策 [DeNA TechCon 2019]
by
DeNA
あなたのところに専用線が届くまで
by
Tomohiro Sakamoto(Onodera)
大規模ソーシャルゲームを支える技術~PHP+MySQLを使った高負荷対策~
by
infinite_loop
インフラエンジニアの綺麗で優しい手順書の書き方
by
Shohei Koyama
最近のやられアプリを試してみた
by
zaki4649
CVE、JVN番号の取得経験者になろう!
by
kazkiti
20200422 AWS Black Belt Online Seminar Amazon Elastic Container Service (Amaz...
by
Amazon Web Services Japan
DDD&Scalaで作られたプロダクトはその後どうなったか?(Current state of products made with DDD & Scala)
by
MicroAd, Inc.(Engineer)
Awsの質問に何でも答えます
by
Yasuhiro Araki, Ph.D
SlideShareをやめて SpeakerDeckに移行します
by
Mamoru Ohashi
Viewers also liked
PDF
#mailerstudy 02 暗号入門 (2012-02-22更新)
by
Takashi Takizawa
PDF
#logstudy 01 rsyslog入門
by
Takashi Takizawa
PDF
Fluentdのお勧めシステム構成パターン
by
Kentaro Yoshida
PDF
【19-C-L】Web開発者ならおさえておきたい「常時SSL/TLS化の実装ポイント」
by
Developers Summit
PDF
いろいろなSSL/TLS設定ガイドライン (JNSA電子署名WG 実世界の暗号・認証技術勉強会資料)
by
Kenji Urushima
PDF
Amazon CloudFront TLS/SSL Seminar 20160804
by
Hayato Kiriyama
PDF
脆弱性事例に学ぶセキュアコーディング「SSL/TLS証明書検証」編 (JavaDayTokyo2015)
by
JPCERT Coordination Center
PPTX
SHA-256を学ぼうとする
by
Takeru Ujinawa
PPTX
あんしんなWebサーバーのためのSSL設定
by
Takayuki Ino
#mailerstudy 02 暗号入門 (2012-02-22更新)
by
Takashi Takizawa
#logstudy 01 rsyslog入門
by
Takashi Takizawa
Fluentdのお勧めシステム構成パターン
by
Kentaro Yoshida
【19-C-L】Web開発者ならおさえておきたい「常時SSL/TLS化の実装ポイント」
by
Developers Summit
いろいろなSSL/TLS設定ガイドライン (JNSA電子署名WG 実世界の暗号・認証技術勉強会資料)
by
Kenji Urushima
Amazon CloudFront TLS/SSL Seminar 20160804
by
Hayato Kiriyama
脆弱性事例に学ぶセキュアコーディング「SSL/TLS証明書検証」編 (JavaDayTokyo2015)
by
JPCERT Coordination Center
SHA-256を学ぼうとする
by
Takeru Ujinawa
あんしんなWebサーバーのためのSSL設定
by
Takayuki Ino
Similar to #mailerstudy 02 メールと暗号 - SSL/TLS -
PDF
SSL/TLSの基礎と最新動向
by
shigeki_ohtsu
PDF
プロフェッショナルSSL/TLS 1.2章
by
MITSUNARI Shigeo
PDF
超簡単!TELNETの話
by
ogatay
PDF
ただしくHTTPSを設定しよう!
by
IIJ
KEY
IPsecについて
by
Nomura Yusuke
PPTX
AWSを学ぶ上で必要となる前提知識(SSL)
by
聡 大久保
PDF
Hokkaido.cap#2 一般的なプロトコルのパケットを覗いてみよう
by
Panda Yamaki
PDF
RFC7589(NETCONF Protocol over TLS)の勉強資料
by
Tetsuya Hasegawa
PDF
Javascript で暗号化
by
suno88
PPTX
SSL で守られる生活
by
京大 マイコンクラブ
PPTX
Apache 2.4 新機能 “SSL編”
by
Ryosuke Yamazaki
PPTX
Let's Encryptについて話す【勉強会資料】
by
株式会社キャッチアップ
PDF
Wp sslandroot certificate
by
Yoshida Yuri
PPTX
SSLの技術的な仕組みとサイトのSSL化について
by
ssuserb5e2a0
PPT
Professional SSL/TLS Reading Chapter 6
by
Shogo Hayashi
PDF
『プロフェッショナルSSL/TLS』読書会3章
by
MITSUNARI Shigeo
PPT
平成21年度 秋期 cs 午前ⅱ
by
Yuki Hirano
PPTX
TLS & LURK @ IETF 95
by
Kazuho Oku
PPT
コンバージョンに効く!?SSLサーバ処方箋
by
Masashi Kawamura
PDF
Fluentd message forwarding with authentication and encryption
by
SATOSHI TAGOMORI
SSL/TLSの基礎と最新動向
by
shigeki_ohtsu
プロフェッショナルSSL/TLS 1.2章
by
MITSUNARI Shigeo
超簡単!TELNETの話
by
ogatay
ただしくHTTPSを設定しよう!
by
IIJ
IPsecについて
by
Nomura Yusuke
AWSを学ぶ上で必要となる前提知識(SSL)
by
聡 大久保
Hokkaido.cap#2 一般的なプロトコルのパケットを覗いてみよう
by
Panda Yamaki
RFC7589(NETCONF Protocol over TLS)の勉強資料
by
Tetsuya Hasegawa
Javascript で暗号化
by
suno88
SSL で守られる生活
by
京大 マイコンクラブ
Apache 2.4 新機能 “SSL編”
by
Ryosuke Yamazaki
Let's Encryptについて話す【勉強会資料】
by
株式会社キャッチアップ
Wp sslandroot certificate
by
Yoshida Yuri
SSLの技術的な仕組みとサイトのSSL化について
by
ssuserb5e2a0
Professional SSL/TLS Reading Chapter 6
by
Shogo Hayashi
『プロフェッショナルSSL/TLS』読書会3章
by
MITSUNARI Shigeo
平成21年度 秋期 cs 午前ⅱ
by
Yuki Hirano
TLS & LURK @ IETF 95
by
Kazuho Oku
コンバージョンに効く!?SSLサーバ処方箋
by
Masashi Kawamura
Fluentd message forwarding with authentication and encryption
by
SATOSHI TAGOMORI
More from Takashi Takizawa
PDF
UnboundとDNSSEC(OSC2011 Tokyo/Spring)
by
Takashi Takizawa
PPTX
initとプロセス再起動
by
Takashi Takizawa
PDF
DNS再入門
by
Takashi Takizawa
PDF
nginx入門
by
Takashi Takizawa
PDF
DNSのRFCの歩き方
by
Takashi Takizawa
PDF
#dnstudy 01 Unboundの紹介
by
Takashi Takizawa
PDF
nginxの紹介
by
Takashi Takizawa
PPTX
hbstudy20100821 SpamAssassin
by
Takashi Takizawa
PDF
Unboundの最適化(OSC2011 Tokyo/Spring)
by
Takashi Takizawa
PDF
Unbound/NSD最新情報(OSC 2014 Tokyo/Spring)
by
Takashi Takizawa
PPTX
DNS RFCの歩き方(短縮版)
by
Takashi Takizawa
PDF
Unbound/NSD最新情報(OSC 2013 Tokyo/Spring)
by
Takashi Takizawa
PDF
DNS RFC系統図
by
Takashi Takizawa
PDF
RFCについての復習
by
Takashi Takizawa
PDF
qpstudy08 lsyncdによる共有ファイルシステムっぽい何かの検証
by
Takashi Takizawa
PDF
#mailerstudy 01 LT POP/IMAP入門
by
Takashi Takizawa
PDF
サバフェス! 2015 Spring LT資料
by
Takashi Takizawa
PDF
#dnstudy 01 ドメイン名の歴史
by
Takashi Takizawa
PPTX
BIND of Summer (2017-04-13)
by
Takashi Takizawa
UnboundとDNSSEC(OSC2011 Tokyo/Spring)
by
Takashi Takizawa
initとプロセス再起動
by
Takashi Takizawa
DNS再入門
by
Takashi Takizawa
nginx入門
by
Takashi Takizawa
DNSのRFCの歩き方
by
Takashi Takizawa
#dnstudy 01 Unboundの紹介
by
Takashi Takizawa
nginxの紹介
by
Takashi Takizawa
hbstudy20100821 SpamAssassin
by
Takashi Takizawa
Unboundの最適化(OSC2011 Tokyo/Spring)
by
Takashi Takizawa
Unbound/NSD最新情報(OSC 2014 Tokyo/Spring)
by
Takashi Takizawa
DNS RFCの歩き方(短縮版)
by
Takashi Takizawa
Unbound/NSD最新情報(OSC 2013 Tokyo/Spring)
by
Takashi Takizawa
DNS RFC系統図
by
Takashi Takizawa
RFCについての復習
by
Takashi Takizawa
qpstudy08 lsyncdによる共有ファイルシステムっぽい何かの検証
by
Takashi Takizawa
#mailerstudy 01 LT POP/IMAP入門
by
Takashi Takizawa
サバフェス! 2015 Spring LT資料
by
Takashi Takizawa
#dnstudy 01 ドメイン名の歴史
by
Takashi Takizawa
BIND of Summer (2017-04-13)
by
Takashi Takizawa
#mailerstudy 02 メールと暗号 - SSL/TLS -
1.
メールサーバ勉強会 #mailerstudy 02 メールと暗号 -
SSL/TLS - 株式会社ハートビーツ 滝澤 隆史
2.
2 私は誰 • 氏名: 滝澤
隆史 @ttkzw • 所属: 株式会社ハートビーツ • 何やっている人 ▫ メーラMuttの国際化や日本語対応パッチ作者 ▫ SpamAssassinの日本語対応パッチ作者 • メールシステムとの関わり ▫ システム管理者として1997年から2006年までメールサー バの管理 ▫ 昔、qmail関連で色々やっていた。2006年にqmail捨て捨 て。Postfix/Dovecot遣いにクラスチェンジ ▫ 現在は個人サーバでメールサーバを運用 Postfix + Dovecot + Sieve(dovecot-pigeonhole) + ClamAV + SpamAssassin + spamass-milter + Roundcube
3.
アジェンダ • SSL/TLS
4.
参考図書 • マスタリングTCP/IP SSL/TLS編
▫ 著者: Eric Rescorla ▫ 出版社: オーム社 • 新版 暗号技術入門 秘密の国のアリス ▫ 著者: 結城 浩 ▫ 出版社:ソフトバンククリエイティブ • RFC • WikiPedia
6.
SSL/TLSとは • インターネット上の安全な通信を提供するプロ
トコル ▫ 機密性(暗号化) 通信内容が漏洩しないこと ▫ 完全性 通信内容が改ざんされないこと ▫ 認証 通信相手が本人であること
7.
SSL/TLSとは • 透過性 ▫
TCPの通信を囲うトンネルのような役割 ▫ HTTP以外にも利用できる SMTP, POP3, IMAP, LDAP, .....
8.
SSL/TLSとは • SSL ▫
Secure Socket Layerの略 • TLS ▫ Transport Layer Securityの略
9.
SSL/TLSの歴史 • SSL 1.0
▫ ネットスケープコミュニケーションズ社により開発 ▫ 設計中に問題が見つかりリリースされなかった。 • SSL 2.0 ▫ 1994年発表 ▫ 最初に実装されたバージョン Netscape Navigator 1.1 ▫ 様々なセキュリティ上の問題が見つかっている。 • SSL 3.0 ▫ 1995年発表 Netscape Navigator 2.0 ▫ 今でも使われている。
10.
SSL/TLSの歴史 • TLS 1.0
▫ SSL 3.0のベースにして、 IETFによりインター ネット標準として開発された。 ▫ 1999年、RFC 2246 "The TLS Protocol Version 1.0"が公開 ▫ よく使われている。 ▫ CBC攻撃のリスク
11.
SSL/TLSの歴史 • TLS 1.1
▫ 2006年、RFC 4346 "The Transport Layer Security (TLS) Protocol Version 1.1"が公開 ▫ CBC攻撃に対する耐性の強化 ▫ 実装があまり進んでいない。 • TLS 1.2 ▫ 2008年、RFC 5246 " The Transport Layer Security (TLS) Protocol Version 1.2"が公開 ▫ SHA-256のサポート ▫ 実装があまり進んでいない。
12.
SSL/TLSのバージョンのまとめ • SSL 2.0
▫ ダウングレード攻撃の影響を受けるため、無効にしな いといけない。 • SSL 3.0, TLS 1.0 ▫ よく使われている。 ▫ CBC攻撃のリスク有り • TLS 1.1, TLS 1.2 ▫ TLS 1.1以降の利用が望ましい ▫ 実装が進んでいない OpenSSL 1.0.1以降で対応 IE 8, IE 9(Windows 7, Windows 2008 R2)は対応 Opera 10は対応 Firefox, Chrome, Safariは非対応
14.
TLSプロトコル
暗号パラメータ アプリケーション 暗号スペックの データをTLSレコー アラートの通知 や乱数や公開鍵 変更の通知 ドプロトコルに渡す の交換 ChangeCipherSpec Alert Handshake プロトコル プロトコル プロトコル アプリケーション データ プロトコル TLSハンドシェイク プロトコル TLSレコード プロトコル ・上位プロトコルから受け取ったデータを暗号化してTLSレコードにする。 ・受け取ったTLSレコードを復号したデータを上位プロトコルに渡す。
15.
TLSレコード • TLSにおいて実際に暗号化されたデータとその
ヘッダ ヘッダ 暗号文 コンテント プロトコル データ長 タイプ バージョン 上位のプロトコルタイプ SSL 3.0→3.0 ・change_cipher_spec TLS 1.0→3.1 ・alert TLS 1.1→3.2 ・handshake TLS 1.2→3.3 ・application_data 歴史的経緯↑
16.
TLSレコード
上位層から渡されたデータ ブロックデータを214 ブロックデータ(平文) (16384)バイト以下に分 割する。 フラグメント フラグメント フラグメントを圧縮する。 MACシークレットを共 圧縮 ヘッダ フラグメント MAC値 通鍵として、シーケン 圧縮フラグメント ス番号とヘッダと圧縮 とMAC値を共通鍵 フラグメントからMAC で暗号化する。 値を計算する。 ヘッダ 暗号文 暗号化により MAC値により完全性 機密性が保たれる。 の検証とメッセージ TLSレコード 認証を行う。
17.
TLSレコードが実現するもの • 暗号化 ▫
機密性 • メッセージ認証コード(MAC) ▫ 完全性(改ざんされていないことの確認) ▫ メッセージ認証
18.
TLSレコードだけでは 実現できないもの •
共通鍵の交換(鍵配送問題) • 公開鍵証明書の検証 • 利用する暗号スイートの合意 • →ハンドシェイクで行う
19.
TLS通信の流れ • 次の段階に分けられる ▫ ハンドシェイク ▫
アプリケーション データ ▫ コネクションの終了 • 通信の流れを見てみよう ▫ ただし、 サーバ認証 RSA認証 ▫ の場合についてのみ説明
20.
通信の流れ クライアント
サーバ ClientHello 利用する暗号スイートを ServerHello 決めたり、鍵を生成する Certificate ための乱数や証明書のや ServerHelloDone りとりを行う。 ClientKeyExchange ハンドシェイク ChangeCipherSpec Finished ChangeCipherSpec 暗号化したデータのやり Finished とりを行う。 アプリケーション データ アプリケーション データ close_notify 終了
21.
Helloメッセージ クライアント
サーバ ClientHello ・プロトコル バージョン ・クライアントが生成した乱数 ・セッションID ・利用できる暗号スイートのリスト クライアントとサーバ間 ・圧縮方法 で互いに利用可能なセ キュリティ情報の交換を ServerHello 行う。 ・プロトコル バージョン ・サーバが生成した乱数 ・セッションID ・利用する暗号スイート ・圧縮方法
22.
Helloメッセージ クライアント
サーバ Certificate ・公開鍵証明書のチェイン ・サーバの証明書 ・中間CAの証明書 ・ルートCAの証明書 クライアントがすでに持って いることを前提に省略可 クライアントは ServerHelloDone ServerHelloDoneを受 け取った後に、サーバの ServerHelloの終了を知らせる。 証明書の検証を行う。
23.
復習)公開鍵基盤(PKI)
ルート認証局 OSやソフトウェアに バンドルして配布 ルート証明書 アリス ルート証明書 公開鍵 中間認証局 署名の 検証 中間証明書 署名 証明書パス 中間証明書 の検証 公開鍵 ボブ 署名の 中間証明書 検証 署名 ボブの ボブの証明書 公開鍵 ボブの証明書 公開鍵 一緒に配布 ボブが配布
24.
プレ マスター シークレットの送信 クライアント
サーバ ClientKeyExchange クライアントは公開鍵で 暗号化して送り、サーバ ・公開鍵で暗号化された はプライベート鍵で復号 プレ マスター シークレット する。 安全にプレ マスター シー クレットを送信できる。 マスター シークレット を生成するのに利用する クライアントで生成した 乱数
25.
マスター シークレット
クライアント プレ マスター サーバの の乱数 シークレット 乱数 マスター 鍵を生成するための シークレット エントロピーソース クライアント クライアント クライアント 書き込み 書き込み 書き込み MAC鍵 共通鍵 初期化ベクタIV サーバ サーバ サーバ 書き込み 書き込み 書き込み MAC鍵 共通鍵 初期化ベクタIV
26.
暗号通信の開始と ハンドシェイクの終了 クライアント
サーバ ChangeCipherSpec 暗号スペックの変更を通知する。 これ以降の通信は暗号化される。 暗号化 Finishedを受け取ったら されている Finished 検証データを検証し、鍵 ハンドシェイクの終了 交換と認証処理が成功し ・検証データ たことを確認する。 ChangeCipherSpec 暗号スペックの変更を通知する。 これ以降の通信は暗号化される。 暗号化 されている Finished ハンドシェイクの終了 ・検証データ
27.
アプリケーション データ クライアント
サーバ アプリケーション データ 上位のアプリケーション ・暗号化されたアプリケーション (HTTP, IMAP, POP3など) データ を暗号化した通信はここで 行われる。 アプリケーション データ アプリケーション データ アプリケーション データ
28.
コネクションの終了 クライアント
サーバ close_notify ・コネクションの終了を通知する終 了アラート
29.
ハンドシェイクが実現するもの • 公開鍵証明書の検証 ▫ 公開鍵証明書によるサーバやクライアントの認証 •
クライアント乱数、サーバ乱数、プレ マスター シークレットの生成 ▫ TLSレコードでの暗号化やMACで利用する共通鍵 を生成するためのマスター シークレットを生成す るための乱数の提供
31.
復習)公開鍵基盤(PKI)
ルート認証局 OSやソフトウェアに バンドルして配布 ルート証明書 アリス ルート証明書 公開鍵 中間認証局 署名の 検証 中間証明書 署名 証明書パス 中間証明書 の検証 公開鍵 ボブ 署名の 中間証明書 検証 署名 ボブの ボブの証明書 公開鍵 ボブの証明書 公開鍵 一緒に配布 ボブが配布
32.
サーバの管理者が設定すること • 公開鍵証明書 ▫
プライベート鍵 ▫ サーバ公開鍵証明書(証明書チェーン) ▫ 中間CAの証明書 • 利用するSSL/TLSのバージョン ▫ 例)SSLv3 TLSv1 • 利用する暗号スイート ▫ OpenSSLを利用しているソフトウェアの場合 HIGH, MEDIUM, LOW, EXPORT, aNULL 例)ALL:!LOW:!SSLv2:!EXP:!aNULL
34.
SMTPS • SMTPをSSL/TLSで暗号化するプロトコル • TCP
465番ポート ▫ IANAに正式に登録された番号ではない! ▫ 一瞬登録されたけど失効された。 ▫ 現在では慣習的に使っている。
35.
SMTPS • メーラーからSMTPサーバへのメールの送信時
のみ利用されている。 • SMTPサーバ間の通信では利用されていない。 ▫ 25番ポート以外は利用しない。 ▫ 相手がSSL/TLSに対応しているかわからないから 違うポート番号465なんて使えない。 ▫ 25番ポートで通信できるSTARTTLSを使え ということで465番ポートは削除されたのではない かと推測
36.
STARTTLS • SMTPセッション中にTLS通信に切り替えるコマ
ンド • RFC 3207 SMTP Service Extension for Secure SMTP over Transport Layer Security
37.
S:
220 mail.example.jp C: Client Key Exchange C: EHLO client.example.jp C: Change Server Spec S: 250-mail.example.jp C: Finish 暗号化さ S: 250-PIPELINING S: Change Server Spec れている S: 250-SIZE 102400000 S: Finish S: 250-VRFY C: EHLO client.example.jp S: 250-ETRN S: 250-mail.example.jp S: 250-STARTTLS S: 250-PIPELINING S: 250-ENHANCEDSTATUSCODES S: 250-SIZE 102400000 S: 250-8BITMIME S: 250-VRFY S: 250 DSN S: 250-ETRN C: STARTTLS S: 250-AUTH PLAIN LOGIN S: 220 2.0.0 Ready to start TLS S: 250-AUTH=PLAIN LOGIN C: Client Hello S: 250-ENHANCEDSTATUSCODES S: Server Hello S: 250-8BITMIME S: Certificate S: 250 DSN S: Server Key Exchange S: Server Hello Done
38.
SMTPサーバとの接続確認 • SMTPSの場合 ▫
openssl s_client -connect localhost:465 • STARTTLSの場合 ▫ openssl s_client -connect localhost:587 -starttls smtp
40.
POP3SとIMAPS • POP3S ▫
POP3をSSL/TLSで暗号化するプロトコル ▫ TCP 995番ポート • IMAPS ▫ IMAPをSSL/TLSで暗号化するプロトコル ▫ TCP 993番ポート
41.
Using TLS with
IMAP, POP3 and ACAP STARTTLS • POP3/IMAPセッション中にTLS通信に切り替え るコマンド ▫ POP3のコマンド名は短縮されて"STLS"である • RFC 2595 Using TLS with IMAP, POP3 and ACAP ▫ 平文認証(PLAIN, LOGIN)を保護する。 ▫ STARTTLSを実装しているクライアントとサーバ は十分に強い暗号レイヤーがなければ、平文認証 を拒否しなれればならない(MUST)
42.
Using TLS with
IMAP, POP3 and ACAP STARTTLS • 平文認証(PLAIN, LOGIN)の保護の背景 ▫ APOPはプロトコル的に脆弱性がある ▫ APOPとCRAM-MD5はMD5の強度の問題がある。 ▫ 実質的にクライアントとサーバの両方が実装して いる認証メカニズムはPLAINとLOGINくらいしか ない ▫ PLAINとLOGINは平文であるため、盗聴に弱い。 ▫ では、TLSで暗号化しよう!
43.
POP3のSTARTTLS S:
+OK Dovecot ready S: Server Hello Done C: CAPA C: Client Key Exchange S: +OK C: Change Server Spec S: CAPA C: Finish 暗号化さ S: TOP S: Change Server Spec れている S: UIDL S: Finish S: RESP-CODES C: CAPA S: PIPELINING S: +OK S: STLS S: CAPA S: SASL S: TOP C: STLS S: UIDL S: +OK Begin TLS negotiation now S: RESP-CODES C: Client Hello S: PIPELINING S: Server Hello S: USER S: Certificate S: SASL PLAIN LOGIN S: Server Key Exchange C: USER foo
44.
IMAPとSTARTTLS S: OK [CAPABILITY
IMAP4rev1 LITERAL+ SASL-IR LOGIN-REFERRALS ID ENABLE IDLE STARTTLS LOGINDISABLED] Dovecot ready.¥r¥n C: 1 STARTTLS S: 1 OK Begin TLS negotiation now C: Client Hello S: Server Hello S: Certificate S: Server Key Exchange S: Server Hello Done C: Client Key Exchange C: Change Server Spec C: Finish 暗号化さ S: Change Server Spec れている S: Finish C: 2 CAPABILITY S: * CAPABILITY IMAP4rev1 LITERAL+ SASL-IR LOGIN-REFERRALS ID ENABLE IDLE AUTH=PLAIN AUTH=LOGIN S: 2 OK Pre-login capabilities listed, post-login capabilities have more.
45.
IMAPサーバとの接続確認 • IMAPSの場合 ▫
openssl s_client -connect ホスト名:993 • STARTTLSの場合 ▫ openssl s_client -connect ホスト名:143 -starttls imap
46.
POP3サーバとの接続確認 • POP3Sの場合 ▫
openssl s_client -connect localhost:995 • STARTTLSを使う場合 ▫ openssl s_client -connect localhost:110 -starttls pop3
47.
まとめ • SSL/TLSにより以下のことが実現できる ▫
機密性(暗号化) 通信内容が漏洩しないこと ▫ 完全性 通信内容が改ざんされないこと ▫ 認証 通信相手が本人であること • SMTPS, POP3S, IMAPSはTLSにより透過的に暗号 化できる。 • SMTP, POP3, IMAPのコネクション中にSTARTTLS コマンドを発行することにより、TLS通信に切り替 えできる。
Download