狠狠撸

狠狠撸Share a Scribd company logo
長谷川
1
? 前勉強会でネットワークの話をしたら意外と伝わらな
かったので、ネットワークの紹介をします。
2
1. 簡単な仕事紹介
2. ネットワークの基礎知識
? 共通鍵暗号
? ハッシュ
? 公開鍵暗号
? IPsec
3. ネットワーク苦労話
私が仕事でネットワークにどの
ように関わっているか。
最近あったネットワークトラブル。
ネットワーク苦労話を説明するための予備知識。
みんなわかるやつは説明スキップ。
3
? 様々なネットワーク知識が必要な仕事をやっています。
? IPsec、PPPoE、DHCP、IPv4、IPv6、TLS、SOAP、http、https、SCTP、NTP、
snmpなどなど
ルーター
PPPoE
サーバー
DHCP
サーバー
コア
装置
NTP
サーバー
インター
ネット
IPsecで装置間の通信の
セキュリティを保証
IPsec
暗号パケット
IP
ヘッダー
IPパケット
復号
IPsec
サーバー
4
? 日経NETWORK
? 読者が遭遇したネットワークトラブルの解決話が面白い。
解決ノウハウ、他社のネットワーク構築ノウハウ、、
ネットワークスペシャリストの問題に似ている。
? たまに面白い特集がある。
5
【用途】通信データの暗号化。処理負荷低い。定期的に
キーの更新が必要になる場合がある。
【種類】RC4、DES、3DES、AES
【イメージ】
装置 装置
ネットワーク
A B C
共通鍵 共通鍵
①入れ替えAB C
②ラウンド操作×16
換字、XOR、入れ替え
Y’X’ Z’
相手と逆の操作で復号
①で使用する入れ替え変換表、②
で使用するサブキーは共通鍵から
生成する。
X’ Y’ Z’
A B C
6
【用途】改ざん検知。受信データの同一性チェック。
【種類】MD5、SHA-1
【イメージ】
MD5
ラウンド操作
みたいな感
じ
aa
a
×特徴①
ハッシュ値から入力値
を推測できない。
特徴②
ハッシュ値の長さが一定。
特徴③
同じハッシュ値になる入力を
探すのが難しい。
7
ネットワーク
? 改ざん検知
装置 装置
共通鍵
共通鍵
メッセージ
ハッシュ値
MD5
ハッシュ値
MD5
メッセージ
ハッシュ値
メッセージ
ハッシュ値
自分でもハッシュ値を計算。
比較して検証
8
【用途】共通鍵の交換。処理負荷高い。
【種類】RSA、ECC
【イメージ】
装置 装置
ネットワーク
秘密鍵 公開鍵
装置
公開鍵
メッセージ#1
メッセージ#2
メッセージ#1
メッセージ#2
公開鍵で暗号化したメッセージは秘密鍵でしか復号できない。
?メッセージやりとり用
秘密鍵で暗号化したメッセージは公開鍵でしか復号できない。
?秘密鍵の持ち主を認証する用
9
? 1対1の通信をIPレベルで暗号化するプロトコル
装置 装置ネットワーク
①IKE_SA_INIT
?認証方式、暗号方式
の決定
?IKE_AUTH用の
暗号化キーの交換
IKE_AUTH用の通信路暗号化開始
②IKE_AUTH
?認証
?データ通信用の暗号化
キーの交換
?IPアドレスの割り当てなど
データ通信用の通信路暗号化開始
10
? 通信路の暗号化前に安全に鍵交換するための方法。
装置 装置ネットワーク
DH秘密鍵 X
X’、Y、パラメータから
秘密鍵Zを計算
X、Y’、パラメータから
秘密鍵Zを計算
DH秘密鍵 Y
DH公開鍵 X‘ X‘ パラメータ DH公開鍵 Y‘
Y’
X’、Y’、パラメータが盗聴されてもZを計算することは困難。
11
一例)
? DH秘密鍵:xi、xr
? パラメータ:整数g、素数p
? DH公開鍵:yi=g^xi mod p、yr=g^xr mod p
? 秘密鍵:yr^xi mod p = yi^xr mod p
= g^xixr mod p
12
? 1000回に1回くらいIPsecの認証が失敗する事象が
発生。
ルーター
IPsec
サーバー
RADIUS
サーバー
IKE_SA_INITはOK
IKE_AUTHでRADIUS側でNG出力
IPsec
EAP
TLS
IPsec
エラーメッセージ
認証NG
EAP
TLS
RADIUS
EAP
TLS
RADIUS
IP IPsec暗号化 RADIUS EAP TLS
13
? やったこと
? OSSにprintf追加でダメなときの暗号パラメータ確認
? RFCの内容と一致していることを確認
? キーの計算が間違えていないかチェック
ルーター
IPsec
サーバー
RADIUS
サーバー
特定の暗号キーの場合にのみ認証NG
031290929012390120 認証NG
312039130219310213 OK
493897912785981741 OK
039012893180293810 認証NG
14
? 秘密鍵:yr^xi mod p = yi^xr mod p
= g^xixr mod p
RFC2631
Diffie-Hellman鍵交換
ではpと秘密鍵のバイト数を合わせ
る(0 padding)という記載がある。
TLS1.0のRFCにはpaddingの記述はない。
秘密鍵をハッシュに入力して暗号鍵を
生成するので秘密鍵の不一致で
暗号化/復号が失敗していた。
IPsecはOK
TLSがNG
15
IPsec
EAP
TLS
IPsec
EAP
TLS
RADIUS
EAP
TLS
RADIUS
? 修正
? Diffie-HellmanではなくRSAをネゴシエーションすることにし
た。
装置 装置ネットワーク
秘密鍵 X
AをYで暗号化して送信Aを復号
秘密鍵 A
公開鍵 Y Y
A’
16

More Related Content

ネットワークの绍介+苦労话