Upload
Download free for 30 days
Login
Submit search
プロフェッショナルSSL/TLS 1.2章
5 likes
2,875 views
MITSUNARI Shigeo
社内読書会
Technology
Read more
1 of 27
Download now
Downloaded 12 times
1
2
3
4
Most read
5
6
Most read
7
8
Most read
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
More Related Content
PPTX
冬のLock free祭り safe
Kumazaki Hiroki
PDF
SSL/TLSの基礎と最新動向
shigeki_ohtsu
PDF
暗号技術入門
MITSUNARI Shigeo
PDF
TLS, HTTP/2演習
shigeki_ohtsu
PDF
RSA暗号運用でやってはいけない n のこと #ssmjp
sonickun
PDF
トランザクションの並行実行制御 rev.2
Takashi Hoshino
PDF
TIME_WAITに関する話
Takanori Sejima
PDF
GoogleのSHA-1のはなし
MITSUNARI Shigeo
冬のLock free祭り safe
Kumazaki Hiroki
SSL/TLSの基礎と最新動向
shigeki_ohtsu
暗号技術入門
MITSUNARI Shigeo
TLS, HTTP/2演習
shigeki_ohtsu
RSA暗号運用でやってはいけない n のこと #ssmjp
sonickun
トランザクションの並行実行制御 rev.2
Takashi Hoshino
TIME_WAITに関する話
Takanori Sejima
GoogleのSHA-1のはなし
MITSUNARI Shigeo
What's hot
(20)
PPTX
分散システムについて語らせてくれ
Kumazaki Hiroki
PDF
範囲証明つき準同型暗号とその対話的プロトコル
MITSUNARI Shigeo
PDF
katagaitai workshop #7 crypto ナップサック暗号と低密度攻撃
trmr
PDF
暗認本読書会10
MITSUNARI Shigeo
PDF
SAT/SMTソルバの仕組み
Masahiro Sakai
PDF
分散システムの限界について知ろう
Shingo Omura
PDF
暗認本読書会4
MITSUNARI Shigeo
PPTX
Slurmのジョブスケジューリングと実装
Ryuichi Sakamoto
PDF
わかる!metadata.managedFields / Kubernetes Meetup Tokyo 48
Preferred Networks
PDF
暗号文のままで計算しよう - 準同型暗号入門 -
MITSUNARI Shigeo
PPTX
機械学習の定番プラットフォームSparkの紹介
Cloudera Japan
PDF
暗号化したまま計算できる暗号技術とOSS開発による広がり
MITSUNARI Shigeo
PDF
Concurrent Mark-Sweep Garbage Collection #jjug_ccc
Yuji Kubota
PDF
Grafana LokiではじめるKubernetesロギングハンズオン(NTT Tech Conference #4 ハンズオン資料)
NTT DATA Technology & Innovation
PPTX
本当は恐ろしい分散システムの話
Kumazaki Hiroki
PPTX
最近のやられアプリを試してみた
zaki4649
PDF
暗認本読書会9
MITSUNARI Shigeo
PDF
TiDBのトランザクション
Akio Mitobe
PDF
SQLアンチパターン読書会 第10章 サーティワンフレーバー
tkfuji
PPTX
レガシーコード改善のススメ
Akira Hirasawa
分散システムについて語らせてくれ
Kumazaki Hiroki
範囲証明つき準同型暗号とその対話的プロトコル
MITSUNARI Shigeo
katagaitai workshop #7 crypto ナップサック暗号と低密度攻撃
trmr
暗認本読書会10
MITSUNARI Shigeo
SAT/SMTソルバの仕組み
Masahiro Sakai
分散システムの限界について知ろう
Shingo Omura
暗認本読書会4
MITSUNARI Shigeo
Slurmのジョブスケジューリングと実装
Ryuichi Sakamoto
わかる!metadata.managedFields / Kubernetes Meetup Tokyo 48
Preferred Networks
暗号文のままで計算しよう - 準同型暗号入門 -
MITSUNARI Shigeo
機械学習の定番プラットフォームSparkの紹介
Cloudera Japan
暗号化したまま計算できる暗号技術とOSS開発による広がり
MITSUNARI Shigeo
Concurrent Mark-Sweep Garbage Collection #jjug_ccc
Yuji Kubota
Grafana LokiではじめるKubernetesロギングハンズオン(NTT Tech Conference #4 ハンズオン資料)
NTT DATA Technology & Innovation
本当は恐ろしい分散システムの話
Kumazaki Hiroki
最近のやられアプリを試してみた
zaki4649
暗認本読書会9
MITSUNARI Shigeo
TiDBのトランザクション
Akio Mitobe
SQLアンチパターン読書会 第10章 サーティワンフレーバー
tkfuji
レガシーコード改善のススメ
Akira Hirasawa
Ad
Similar to プロフェッショナルSSL/TLS 1.2章
(20)
PDF
#mailerstudy 02 メールと暗号 - SSL/TLS -
Takashi Takizawa
PPTX
TLS & LURK @ IETF 95
Kazuho Oku
PDF
SSLの最新トレンド
J-Stream Inc.
PPTX
AWSを学ぶ上で必要となる前提知識(SSL)
聡 大久保
PDF
『プロフェッショナルSSL/TLS』読書会3章
MITSUNARI Shigeo
PDF
RFC7589(NETCONF Protocol over TLS)の勉強資料
Tetsuya Hasegawa
PPTX
Apache 2.4 新機能 “SSL編”
Ryosuke Yamazaki
PDF
Wp sslandroot certificate
Yoshida Yuri
PPTX
あんしんなWebサーバーのためのSSL設定
Takayuki Ino
PDF
Node-v0.12のTLSを256倍使いこなす方法
shigeki_ohtsu
PDF
ただしくHTTPSを設定しよう!
IIJ
PPTX
勉強会 Vol2【SSL証明書とは】
chimoto
PDF
Fluentd message forwarding with authentication and encryption
SATOSHI TAGOMORI
PPT
Professional SSL/TLS Reading Chapter 6
Shogo Hayashi
PDF
Wb倉敷 ssl説明資料
真琴 平賀
PDF
プロフェッショナルSSL/TLS 7章
MITSUNARI Shigeo
PDF
qpstudy 2015.11.14 一歩先を行くインフラエンジニアに知ってほしいSSL/TLS
Kenji Urushima
PDF
TLS 1.3におけるハイブリッド耐量子鍵交換 - Hybrid Post Quantum Key Exchange for TLS 1.3
Jun Kurihara
PDF
最新プロトコル HTT/2 とは
Yukimitsu Izawa
PPTX
三大WebサーバーのSSL設定ベストプラクティス
Hidetoshi Musha
#mailerstudy 02 メールと暗号 - SSL/TLS -
Takashi Takizawa
TLS & LURK @ IETF 95
Kazuho Oku
SSLの最新トレンド
J-Stream Inc.
AWSを学ぶ上で必要となる前提知識(SSL)
聡 大久保
『プロフェッショナルSSL/TLS』読書会3章
MITSUNARI Shigeo
RFC7589(NETCONF Protocol over TLS)の勉強資料
Tetsuya Hasegawa
Apache 2.4 新機能 “SSL編”
Ryosuke Yamazaki
Wp sslandroot certificate
Yoshida Yuri
あんしんなWebサーバーのためのSSL設定
Takayuki Ino
Node-v0.12のTLSを256倍使いこなす方法
shigeki_ohtsu
ただしくHTTPSを設定しよう!
IIJ
勉強会 Vol2【SSL証明書とは】
chimoto
Fluentd message forwarding with authentication and encryption
SATOSHI TAGOMORI
Professional SSL/TLS Reading Chapter 6
Shogo Hayashi
Wb倉敷 ssl説明資料
真琴 平賀
プロフェッショナルSSL/TLS 7章
MITSUNARI Shigeo
qpstudy 2015.11.14 一歩先を行くインフラエンジニアに知ってほしいSSL/TLS
Kenji Urushima
TLS 1.3におけるハイブリッド耐量子鍵交換 - Hybrid Post Quantum Key Exchange for TLS 1.3
Jun Kurihara
最新プロトコル HTT/2 とは
Yukimitsu Izawa
三大WebサーバーのSSL設定ベストプラクティス
Hidetoshi Musha
Ad
More from MITSUNARI Shigeo
(20)
PDF
暗号技術の実装と数学
MITSUNARI Shigeo
PDF
暗認本読書会13 advanced
MITSUNARI Shigeo
PDF
暗認本読書会12
MITSUNARI Shigeo
PDF
暗認本読書会11
MITSUNARI Shigeo
PDF
Intel AVX-512/富岳SVE用SIMDコード生成ライブラリsimdgen
MITSUNARI Shigeo
PDF
暗認本読書会8
MITSUNARI Shigeo
PDF
暗認本読書会7
MITSUNARI Shigeo
PDF
暗認本読書会6
MITSUNARI Shigeo
PDF
暗認本読書会5
MITSUNARI Shigeo
PDF
深層学習フレームワークにおけるIntel CPU/富岳向け最適化法
MITSUNARI Shigeo
PDF
私とOSSの25年
MITSUNARI Shigeo
PDF
WebAssembly向け多倍長演算の実装
MITSUNARI Shigeo
PDF
Lifted-ElGamal暗号を用いた任意関数演算の二者間秘密計算プロトコルのmaliciousモデルにおける効率化
MITSUNARI Shigeo
PDF
楕円曲線と暗号
MITSUNARI Shigeo
PDF
HPC Phys-20201203
MITSUNARI Shigeo
PDF
BLS署名の実装とその応用
MITSUNARI Shigeo
PDF
LazyFP vulnerabilityの紹介
MITSUNARI Shigeo
PDF
Intro to SVE 富岳のA64FXを触ってみた
MITSUNARI Shigeo
PDF
ゆるバグ
MITSUNARI Shigeo
PDF
ElGamal型暗号文に対する任意関数演算・再暗号化の二者間秘密計算プロトコルとその応用
MITSUNARI Shigeo
暗号技術の実装と数学
MITSUNARI Shigeo
暗認本読書会13 advanced
MITSUNARI Shigeo
暗認本読書会12
MITSUNARI Shigeo
暗認本読書会11
MITSUNARI Shigeo
Intel AVX-512/富岳SVE用SIMDコード生成ライブラリsimdgen
MITSUNARI Shigeo
暗認本読書会8
MITSUNARI Shigeo
暗認本読書会7
MITSUNARI Shigeo
暗認本読書会6
MITSUNARI Shigeo
暗認本読書会5
MITSUNARI Shigeo
深層学習フレームワークにおけるIntel CPU/富岳向け最適化法
MITSUNARI Shigeo
私とOSSの25年
MITSUNARI Shigeo
WebAssembly向け多倍長演算の実装
MITSUNARI Shigeo
Lifted-ElGamal暗号を用いた任意関数演算の二者間秘密計算プロトコルのmaliciousモデルにおける効率化
MITSUNARI Shigeo
楕円曲線と暗号
MITSUNARI Shigeo
HPC Phys-20201203
MITSUNARI Shigeo
BLS署名の実装とその応用
MITSUNARI Shigeo
LazyFP vulnerabilityの紹介
MITSUNARI Shigeo
Intro to SVE 富岳のA64FXを触ってみた
MITSUNARI Shigeo
ゆるバグ
MITSUNARI Shigeo
ElGamal型暗号文に対する任意関数演算・再暗号化の二者間秘密計算プロトコルとその応用
MITSUNARI Shigeo
Recently uploaded
(8)
PDF
Yamaha DT200WR Real Enduro ENGINE CYLINDER TRANSMISSION
Kannabi1
PDF
Geminiの出力崩壊 本レポートは、Googleの大規模言語モデル「Gemini 2.5」が、特定の画像と短文入力に対して、誤った地名を推定し、最終的に...
池田 直哉
PDF
20250826_Devinで切り拓く沖縄ITの未来_AI駆動開発勉強会 沖縄支部 第2回
Masaki Yamakawa
PDF
R-SCoRe: Revisiting Scene Coordinate Regression for Robust Large-Scale Visual...
Takuya Minagawa
PPTX
Vibe Codingを触って感じた現実について.pptx .
iPride Co., Ltd.
PPTX
生成AIとモデルベース開発:実はとても相性が良いことを説明します。まあそうだろうなと思われる方はご覧ください。
Akira Tanaka
PPTX
Cosense - 整えずして完全勝利!Cosenseが他のwikiツールと違う理由
Ko Jikawa
PDF
20250823_IoTLT_vol126_kitazaki_v1___.pdf
Ayachika Kitazaki
Yamaha DT200WR Real Enduro ENGINE CYLINDER TRANSMISSION
Kannabi1
Geminiの出力崩壊 本レポートは、Googleの大規模言語モデル「Gemini 2.5」が、特定の画像と短文入力に対して、誤った地名を推定し、最終的に...
池田 直哉
20250826_Devinで切り拓く沖縄ITの未来_AI駆動開発勉強会 沖縄支部 第2回
Masaki Yamakawa
R-SCoRe: Revisiting Scene Coordinate Regression for Robust Large-Scale Visual...
Takuya Minagawa
Vibe Codingを触って感じた現実について.pptx .
iPride Co., Ltd.
生成AIとモデルベース開発:実はとても相性が良いことを説明します。まあそうだろうなと思われる方はご覧ください。
Akira Tanaka
Cosense - 整えずして完全勝利!Cosenseが他のwikiツールと違う理由
Ko Jikawa
20250823_IoTLT_vol126_kitazaki_v1___.pdf
Ayachika Kitazaki
プロフェッショナルSSL/TLS 1.2章
1.
プロフェッショナルSSL/TLS 1, 2章 2017/4/10 光成滋生
2.
• 『Bulletproof SSL
and TLS』(Ivan Ristic/齋藤孝道訳) • 1~2 TLSの復習 • 3~4 PKI • 5~7 各種攻撃 • 8~ 安全なサーバの設定 • 9 パフォーマンス • 10 TSTS, CSP, 公開鍵pinning • 11, 12 OpenSSL • 13 Apache • 14 Java, Tomcat • 15 IIS • 16 Nginx 概要 2 / 27
3.
• TLSの目標 • 暗号学的なセキュリティ •
安全な通信が最優先 • 相互運用性 • 異なるプログラムやライブラリが同じパラメータで通信可能 • 拡張性 • プロトコルを作り直さなくても新しい技術に対応できる • 効率性 • コストの高い暗号処理を最小限にする 1章 SSL/TLSと暗号技術 3 / 27
4.
• OSIモデル • SSL/TLSはアプリケーション層(HTTP,
SMTPなど)とトラン スポート層(TCP, UDP)の間にある • TLSを取り除いてもTCPの上でHTTPが動く • 暗号技術 • confidentiality ; 機密性 ; 秘密が守られること • authenticity ; 真正性 ; 本人であることを検証できること • integrity ; 完全性 ; 改竄されることなく転送されること OSIモデル、暗号技術 4 / 27
5.
• 暗号システムは鍵以外の全てが攻撃者に掌握されても 安全でなければならない • 暗号アルゴリズムは複数人で共有する •
共有する相手が増えると敵対する相手にアルゴリズムが漏れ る可能性が高くなる • 鍵がないと人数が増えたときに多数の人が復号できてしまう • 優れた暗号アルゴリズムを作るのは難しい • たくさんの人が精査して初めて安全と思われる Kerckhoffsの原則 5 / 27
6.
• 事前に秘密鍵を共有しておきデータを暗号化する • 他人は途中経路で眺めても分からない •
全数探索 • 鍵の種類だけ試すこと • p.6では全数探索しか暗号を破る方法が無いとき計算量的安全 と読めなくもないが必ずしもそういうわけではない • 全数探索しなくて破る方法があったとしても、その方法の計 算量が十分大きければ安全 共通鍵暗号 6 / 27
7.
• ストリーム暗号 • 鍵ストリーム
; ランダムなデータの無限列(バイト列) • 暗号化はこれと排他的論理和を求める • 同じ鍵を使い回さないことが重要 • ブロック暗号 • データの固まりごとに暗号化 • 16バイト単位のものが多い • 任意の長さのデータを扱うには暗号化モードと併用 • パディングなど • 暗号モード • ECB, CBC, CFB, OFB, CTR, GCM • 最近はGCMを推奨 ストリーム暗号とブロック暗号 7 / 27
8.
• データの完全性の検証 • 原像計算困難性(preimage
resistance) • 第2原像計算困難性(second preimage resistance) • 衝突耐性(collision resistatnce) • MAC(メッセージ認証コード) • ハッシュ関数でハッシュ値はデータと一緒に送信できない • 秘密鍵(MAC鍵ともいう)とデータからハッシュ関数を組み 合わせてハッシュ値(MAC値ともいう)を作る • MAC鍵は別途秘密に共有しておく ハッシュ関数とMAC 8 / 27
9.
• 公開鍵暗号 • 暗号化する鍵と復号する鍵を別々にした •
共通鍵暗号はn人のうち二人が秘密に通信し合おうとすると n(n-1)/2個の秘密鍵が必要 • 同じ鍵を使い回すと第三者に漏れやすい • 共通鍵暗号より計算時間がかかることが多い • デジタル署名 • 真正性を検証可能にする技術 • MACはMAC鍵の共有が面倒 • 秘密鍵で署名をつけて公開鍵(検証鍵)で真正性を確認 公開鍵暗号とデジタル署名 9 / 27
10.
• 暗号で使う擬似乱数生成器は予測不可能性が大事 乱数生成器 10 /
27
11.
• AliceとBobが安全に通信できるにはどうするか • 機密性のために共通鍵暗号を使う •
途中で改竄されないためにMACを使う • リプレイ攻撃を防ぐために番号をつける • 共通鍵暗号とMAC鍵を交換するために公開鍵暗号を使う • 本人であることを確認するためにデジタル署名を使う • このあたりの一連の流れをハンドシェイクという プロトコル 11 / 27
12.
• 現在安全かだけでなく、その情報をどれぐらいの期間 守りたいのかについても考えるべき 暗号強度 12 /
27
13.
• 中間者攻撃(man in
the middle attack) • 通信会社と結託して通信機器を乗っ取る • ARP spoofing • 任意のIPアドレスをMACアドレスに結びつける • WPAD hijacking • HTTPプロキシの設定を取得するプロトコルに対する攻撃 • DNS hijacking • ドメイン名を乗っ取る • DNSの設定を変更する • DNS cache poisoning • DNSサーバのキャッシュの脆弱性にたいする攻撃 • BGP route hijacking • ルータが利用する経路制御プロトコルにたいする攻撃 MITM 13 / 27
14.
• 受動的攻撃 • 大規模期間による継続的なモニタリング •
FS • (日和見暗号) • 能動的な攻撃 • 不正な証明書を利用 受動的攻撃と能動的な攻撃 14 / 27
15.
• TLS1.2についての解説 RFC5246参照 •
TLS record = ヘッダ | メッセージデータ • ヘッダ = contenttype | version | レコード長 • シーケンス番号 • 64ビット • 送受信データには含まれない • 通信の双方で保持 • リプレイ攻撃に対する防除 2章プロトコル struct { uint8 major; uint8 minor; } ProtocolVersion; enum { change_cipher_spec (20), alert (21), handshake (22), application_data (23) } ContentType; struct { ContentType type; ProtocolVersion version; uint16 length; / * 最長 2^14 ( 16,384 ) バイト * / opaque fragment[TLSPlaintext.length]; } TLSPlaintext; 15 / 27
16.
• ハンドシェイクの種類 • サーバ認証を行うフルハンドシェイク •
セッション再開のためのハンドシェイク • クライアントとサーバの認証を伴うハンドシェイク • フルハンドシェイク • 接続で使いたいパラメータを双方が提示して合意する • 鍵確立 • 提示された証明書の認証 • マスターシークレットの共有 • ハンドシェイクが書き換えられていないことの検証 handshakeプロトコル 16 / 27
17.
• クライアントの認証はしない一般的なケース p.27図2.2 サーバ認証を伴うフルハンドェイク client server ClientHello ServerHello Certificate ServerHelloDone ServerKeyExchange ClientKeyExchange [ChangeCipherSpec] Finished [ChangeCipherSpec] Finished 17
/ 27
18.
• Certificate • サーバの証明書を送信する •
ServerKeyExchange/ClientKeyExchange • マスターシークレットの生成に必要な情報を送る • ChangeCipherSpec • 接続に必要な情報を全て手に入れて暗号鍵を生成したことを 相手に伝えるメッセージ • 完全性検証の対象外 • 実装が難しいためOpenSSLでCCS injectio攻撃を受けた • Finished • ハンドシェイクのMACを送る(verify_data) 18 / 27
19.
• p.32 図2.3 クライアント認証時のフルハンドシェイク client
server ClientHello ServerHello Certificate ServerHelloDone ServerKeyExchange ClientKeyExchange [ChangeCipherSpec] Finished [ChangeCipherSpec] Finished CertificateRequest Certificate CertificateVerify 19 / 27
20.
• CertificateRequest • クライアントに対する認証の要求と許容できる証明書の種類 •
CertificateVerify • クライアント証明書に含まれる公開鍵に対応する署名 追加部分 20 / 27
21.
• フルハンドシェイクは重たい処理 • 認証などを省略したい •
session resumption • session IDを用いてセッションを再開する仕組み • プロトコル • クライアントがClientHelloにsession IDを含めて送信 • サーバは同じsession IDをServerHelloに含めて送信 • 以前共有したマスターシークレットを使って新しい鍵を生成 • ECDHE_ECDSA • FSの実現のために利用 • 詳細は今まで解説したので省略 セッションリザンプション 21 / 27
22.
• 以前Lucky13攻撃で紹介した図 • MAC(Seq|Header|data)計算してpaddingをつける •
IVを作ってEnc • MAC-then-encrypt(MACしてから暗号化) • pading oracleの攻撃(勉強会1, 2回目) • Encrypt-then-MACという拡張(2014) • AEAD(認証つき暗号) • 64ビットのnonceを付与して暗号化(GCM/ChaCha20) ブロック暗号を使った場合 Seq data MAC(Seq|Header|data) padding Enc(data|MAC|padding) Header ヘッダ IV 22 / 27
23.
• 新しい接続のセキュリティパラメータの合意をえる • クライアント証明書 •
サイトの全接続に対してクライアント証明書を要求すると • 証明書を持っていないと何も見えない • エラーも分からない • サイトのトップページはクライアント証明書なしを許可 • そこからクライアント証明書での接続に誘導 • このときに再ネゴシエーションを使う • 情報の隠蔽 • 2回目のハンドシェイクが暗号化されるのでクライアント証明 書が覗かれない • 暗号の強度変更 再ネゴシエーション 23 / 27
24.
• 片方が通信を閉じたらclose_notifyを送信 • 相手は書き込み中の内容を破棄してclose_notifyを送信 •
強制切断攻撃(truncation attack)を防ぐ • 攻撃者がやりとりを途中で横取りしてブロック • 正しく実装する必要あり Finished 24 / 27
25.
• PRF(pseudorandom function) •
secret, seed, labelを入力としてHMACを使って構成する • PRF(secret, label, seed) = P_hash(secret, label + seed) • P_hash(secret, seed) = H(secret, A(1) + seed) + H(secret, A(2) + seed) + ... where A(1) = H(secret, seed), A(i) = H(secret, A(i – 1)) • マスターシークレット(Ms : master secret) • Ms = PRF(pre_Ms, “master secret”, client_rand + server_rand) • key_block = PRF(Ms, “key expansion”, server_rand + client_rand) • 鍵ブロックkey_blockを分割してMAC鍵や暗号鍵にする • セッション再開時はMsは同じでclient_rand, server_randは新 しく取得する 擬似乱数生成器と鍵生成 25 / 27
26.
• 暗号処理の方法を決めるパラメータの集まり • TLS_鍵交換_認証_アルゴリズム_長さ_モード_MAC/PRF •
例)TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 • 2章残りの節 • ALPN ; application-layer protocol negotiation • CT ; certificate transparency • Heartbeat • NPN ; nextprotocol negotiation • 標準化にはならずALPNに移行 • OCSPステープル • サーバからクライアントに証明書の失効情報を送る 暗号スイート 26 / 27
27.
• TCPデータは暗号化されるがメタデータや下位のレイ ヤは平文のまま • 送信元と宛て先のIPアドレスは分かる •
最初のハンドシェイクは平文 • ブラウザの各種情報を袖手する • ホストの証明書を調査する • クライアント証明書を使う場合のユーザ識別情報を収集 • メッセージの長さ プロトコルの限界 27 / 27
Download