More Related Content
PPTX
PDF
PDF
Nem.dev.tokyo #1 LT #2 Short ver. PDF
PDF
PDF
PDF
PDF
Viewers also liked
PPTX
PDF
PPTX
クラウドネイティブが行なういまどきWebサービス開発 PPTX
PPTX
Awsで構築したのだよ 03 ec2インスタンスに設定したタグをサーバから取得 PDF
PPTX
Awsで構築したのだよ 02 ec2インスタンスから自分のインスタンスidを取得 PPTX
Awsで構築したのだよ 04 ec2インスタンス起動時にホスト名を変更 PDF
PDF
PDF
マルウェアに学ぶ Apache+phpセキュリティ(ネット公開版) PPTX
PPT
PDF
技術ドキュメント改善作戦 TDI-#1 Apache 設定ファイル(1) KEY
PDF
PDF
Awsを学ぶ上で必要となる前提知識(DNS/LB) PDF
AWS入門編 EC2/ELBを使った、ブログシステム構築ハンズオントレーニング PPTX
Awsで構築したのだよ 06 ec2インスタンス起動時にCloudWatchのアラームを追加する PPTX
Awsで構築したのだよ 05 プロセス監視、メモリ使用率、ディスク使用率をCloudWatchのカスタムメトリクスに追加したい Similar to AWSを学ぶ上で必要となる前提知識(SSL)
PDF
#mailerstudy 02 メールと暗号 - SSL/TLS - PPTX
PDF
Wp sslandroot certificate PDF
PDF
PDF
AWSだけで出来る(たぶん)一番早く構築するセキュアな環境 PDF
PPTX
PDF
PDF
PPTX
エンジニアが知っておくべきSSL/TLSの知識(仮) PPTX
Professional SSL/TLS Reading Chapter 14 PPTX
PDF
脆弱性事例に学ぶセキュアコーディング「SSL/TLS証明書検証」編 (JavaDayTokyo2015) PPTX
PPTX
PDF
RFC7589(NETCONF Protocol over TLS)の勉強資料 PDF
qpstudy 2015.11.14 一歩先を行くインフラエンジニアに知ってほしいSSL/TLS PDF
Fluentd message forwarding with authentication and encryption PPT
More from 聡 大久保
PPTX
Oculus Interaction SDK で物をつかむ編 PPTX
Oculus Interaction SDK でグラブまわりの設定方法 PPTX
PPTX
PPTX
Hololens2 MRTK2.7(OpenXR) でのビルド環境構築(環境設定からビルドまで) PPTX
PPTX
HoloLens2とPCで、WebRTCで映像をやりとり PPTX
UnityでVRアプリ(Android Cardboard)を作る -準備編- PPTX
PPTX
ハードサーフェイスモデリング勉強会(Blender2.79b編) PPTX
PPTX
仮想マシンを仮想空間で見る Cloud roadshow PPT
AWSのEC2の複数インスタンスからファイルを共有する方法 PPTX
Awsで構築したのだよ 01 ユーザのコンソール操作をログに残す PDF
PDF
iOSハンズオントレーニング通信(NSURLConnection/NSURLSession)編 PDF
iOSハンズオントレーニング データの永続化編(SQLite3, NSUserDefaults) PDF
PDF
iOSハンズオントレーニング observer編 (delegate,notification,KVO) AWSを学ぶ上で必要となる前提知識(SSL)
- 1.
- 2.
- 3.
公開鍵暗号方式
秘密鍵と公開鍵をペアで作成
公開鍵の方は相手に渡し、秘密鍵は自分で保管
一方の鍵で暗号化したものは、もう一方の鍵でし
か復号できない
こんにち
は
こんにち
は
(2$GFgkxd
暗号化復号化
sdf&fd45%
元気? 元気?
復号化暗号化
- 4.
- 5.
- 6.
HTTPSとは
HTTPS(HypertextTransfer Protocol Secure) は、メッ
セージを平文のままで送受信する標準のHTTPと異
なり、SSLプロトコルの上でHTTP通信を行う。
サーバの認証・通信内容の暗号化・改竄検出など
によりなりすましや盗聴などの攻撃を防ぐことが
できる。
HTTPSでは、標準のポート番号として443が使われ
る。
- 7.
鍵と証明書の作成
①opensslでサーバー秘密鍵を作成
┌───────┐
│サーバー秘密鍵│
└───────┘
↓②opensslで公開鍵を作成
┌───────┐
│サーバー公開鍵│
└───────┘
↓③公開鍵をCA(認証局)に渡す
┌─┬───────┐
│証│サーバー公開鍵│──┐④認証局で、認証局のCA秘密鍵で暗号化
│明├───────┤ │ された署名を追加。これが証明書
│書│ 署名│←─┘
└─┴───────┘
↓
⑤証明書がCA(認証局)から返される。
⑥サーバに証明書を設定
- 8.
証明書とは
証明書作成時②CA秘密鍵で暗号化
┌─┬───────┐
│証│サーバー公開鍵│──→①ハッシュ値算出1001 → %3fg44g#
│明├───────┤ │
│書│ 署名│←────────────────┘③署名として埋め込み
└─┴───────┘
証明書検証時
┌─┬───────┐
│証│サーバー公開鍵│──→①ハッシュ値算出1001 ──────┐
│明├───────┤ │
│書│ 署名│──→②署名%3fg44g# ─→ 1001 ────┴→④比較
└─┴───────┘
③CA公開鍵で復号化
- 9.
通信の流れ
サーバー秘密鍵発行済み証明書の一覧
サーバー証明書CA公開鍵、CA秘密鍵
┌───────┐ ┌───────┐ ┌───────┐
│クライアント│ │ サーバー│ │ CA(認証局) │
└───┬───┘ └───┬───┘ └───┬───┘
│ ①https request │ │
├──────────→│ │
│←──────────│ │
│ ②証明書送信│ │
│ │ ③CA公開鍵要求│
│───────────┼──────────→│
│←──────────┼───────────┤
│ │ ④認証局のCA公開鍵│
⑤証明書の署名を│ │
認証局のCA公開鍵で│ │
復号し署名の妥当性│ │
を確認│ │
│ │ │
⑥乱数を生成│ │
乱数より共通鍵生成│ │
│ │ │
⑦乱数をサーバーの│ │
公開鍵で暗号化│ │
│ │ │
│⑧暗号化された共通鍵│ │
│ を送信│ │
├──────────→│ │
│ │ │
│ ⑨乱数を│ │
│ サーバの秘密鍵で復号│
│ │ │
│ ⑩乱数より共通鍵作成│
│ │ │
│ ⑪共通鍵を使って│ │
│ 暗号化通信│ │
│←─────────→│ │
- 10.
- 11.
- 12.
鍵と証明書の作成
①opensslでCL(クライアント)秘密鍵を作成
┌────┐
│CL秘密鍵│
└────┘
↓②opensslで公開鍵を作成
┌────┐
│CL公開鍵│
└────┘
↓③公開鍵をCA(認証局)に渡す
┌─┬────┐
│証│CL公開鍵│──┐④認証局で、認証局のCA秘密鍵で暗号化された
│明├────┤ │ 署名を追加。これが証明書
│書│署名│←─┘
└─┴────┘
↓
⑤証明書がCA(認証局)から返される。
⑥クライアントに証明書と、CL秘密鍵を設定
- 13.
通信の流れ
CL秘密鍵発行済み証明書の一覧
クライアント証明書CA公開鍵、CA秘密鍵
┌───────┐ ┌───────┐ ┌───────┐
│クライアント│ │ サーバー│ │ CA(認証局) │
└───┬───┘ └───┬───┘ └───┬───┘
│ ①request │ │
├──────────→│ │
│←──────────┤ │
│ ②証明書要求│ │
├──────────→│ ④CA公開鍵要求│
│ ③証明書送信├──────────→│
│ │←──────────┤
│ │ ⑤認証局のCA公開鍵│
│ │ │
│ ⑥証明書の署名を│
│ 認証局のCA公開鍵で│
│ 復号し署名の妥当性│
│ を確認│
│ │ │
│ ⑦乱数を生成│
│ 乱数より共通鍵生成│
│ │ │
│ ⑧乱数をクライアントの│
│ CL公開鍵で暗号化│
│ │ │
│⑨暗号化された乱数│ │
│ を送信│ │
│←──────────┤ │
│ │ │
⑩乱数をクライアントの│ │
CL秘密鍵で復号│ │
│ │ │
⑪乱数より共通鍵作成│ │
│ ⑫共通鍵を使って│ │
│ 暗号化通信│ │
│←─────────→│ │