danishnetのブログ

「デキるネットワークエンジニアになるために。」

IPsecまとめ

 

IPsec・・・暗号化や認証などを利用しデータ送受信時のセキュリティを実現するための仕組み・フレームワークそういう名前の単体のプロトコルがある訳ではない。


誰でもアクセスできるインターネットやキャリア公衆網などの中でも、パケットを「安全に」送受信するための技術。安全にとは送受信するデータを盗み見たり、データの内容を変える(改ざん)したりできない様にする、という事でその仕組みを実装している。

技術的に思うこととしては「プロトコルアルゴリズムなどが複数組み合わさっていてその全て正しく実装をしようとするとそれ相応の理解が必要でかなりややこしい。」

IPsecはデータ送受信路を確立するために、2つのPhaseがある。

 

 ■IKE-phase1

 ■IKE-phase2


その2つに分けてcisco configとの紐付けしあくまで自分のメモのために、
ほんの一例をまとめてみる。(まだ理解が深くないため改修予定)


■IKE-phase1(for ISAKMP-SA)
 ※ISAKMP・・・鍵交換/セキュリティポリシのネゴシエートプロトコル

【各種パラメータ】
1.Encryption;暗号化アルゴリズム
【目的:データの暗号化】
  DES (default)
  3DES
  AES 128,192,256

2.HMAC;ハッシュアルゴリズム
【データ改ざんを検出】
  MD5       - 128 ビットのハッシュを生成する単方向のハッシュ アルゴリズム
  SHA-1     - NIST によって提起された単方向ハッシュ。160 ビットのダイジェストを生成します。

3.Authentication;ピア認証
【目的:IPsecを張る対向(ピア)の認証】
  rsa-encr - RSA 暗号化ナンス(乱数)
  rsa-sig  - RSA シグニチャ
  pre-share - 事前共有鍵

4.DHグループ:公開鍵の暗号化メソッド
  group1  -  768 bit
  group2  - 1024 bit
  group5  - 1536 bit

5.ISAKMP-SAの保持時間
 lifetime {sec} 86400 sec(default)

※IKE ネゴシエーションUDP 500

======モード======
main or aggresive
  main      - ISAKMP 6つメッセージ
  aggresive - ISAKMP 3つメッセージ
==================


----(例)Cisco892 Config----
crypto isakmp policy 10
 encr 3des              …1.Encryption;暗号化アルゴリズム
 hash md5                …2.HMAC;ハッシュアルゴリズム
 authentication rsa-encr …3.Authentication;認証
 group 2                 …4.DHグループ
 lifetime 600            …5.ISAKMP-SAの保持時間

 ↓authentication(peerの認証)にrsa-encrを選んだため、
 ↓マニュアルで公開鍵を設定

hostname [host-name]
ip domain name [domain-name]
 でホスト名とドメイン名を指定、key-nameはこれが元となる。

crypto key generate rsaコマンドで暗号化鍵を作成
 ※この後、鍵長の指定を求められる。1024以上がおすすめ。

この手順で鍵を作成した上で、PeerとRSA公開鍵(Public key)をマニュアル設定

Router(config)# crypto key pubkey-chain rsa
Router(config-pubkey-chain)# addressed-key [peer address]
Router(config-pubkey-key)# key-string
Router(config-pubkey)# 00302017 4A7D385B 12345678 335F73
Router(config-pubkey)# 12345678 C4F4B0FD 9DE748 429618D5
Router(config-pubkey)# 18242BA3 2EBDD3 12345678 DDF7D3D8
Router(config-pubkey)# 12345678 2F2190A0 0BF1BD 9A8A26DB
Router(config-pubkey)# 12345678 791FCDE9 A98420 6A82045B
Router(config-pubkey)# 12345678 DBC64468 7789F7 EE21
Router(config-pubkey)# quit
---------------------------


■IKE-phase2(for IPsec-SA(Data Tunnel))

【各種パラメータ】
1.セキュリティプロトコル
【目的:認証・データの暗号化プロトコルの指定】
  AH  …データ改ざんの認証のみ
  ESP …データ改ざんの認証及びデータ暗号化
  ※昔はESPはデータ改ざんの認証ができなかった。後に機能追加されてこうなった。

2.暗号化アルゴリズム
【目的:使用暗号化アルゴリズムによる暗号化強度の選択】
  DES or 3DES or AES

3.HMAC:ハッシュアルゴリズム
【目的:パケットの改ざんを検出】
  HMAC-MD5 or HMAC-SHA

4.lifetime
【目的:IPsec-SAの保持時間】
   ※オプション。ciscoデフォルト値 - 3600seconds、4608000kilobyte

5.カプセル化モード
【目的:IPsecの接続形態の選択。SiteToSite or PCtoPCかによる】
  tunnel     …SiteToSite
  transport  …PCtoPC
 ※IPヘッダを暗号化するかしないかの違い

----(例)Cisco892 Config----
>>ciscoでは「transform set」という設定で一連のパラメータを設定する。

crypto ipsec transform-set myset esp-aes esp-md5-sha  …1.2.3 の設定
 mode tunnel  …5.カプセル化モード

crypto map [map-name] [seq-num] ipsec-isakmp
 set peer [IP Address]                   ※暗号化、復号化をするピアの指定
 set transform-set [transform-set name]  ※適用するトランスフォームセットを指定
 set security-association lifetime [sec/kilo]         …4.lifetime
 match address [ACL num]                 ※IPsecの対象パケットをACLで指定

interface [If-id]
 crypto map [name]                       ※crypto mapをIFに適用
---------------------------

======モード======
Quick
==================


付録)各暗号化方式の鍵の呼び方リスト

           |     暗号化      |     復号化      |    
------------------------------------------------
共通鍵暗号 | 共通鍵or秘密鍵  | 共通鍵or秘密鍵  |
公開鍵暗号 |     公開鍵      |     秘密鍵      |

・・復号化する鍵が両方とも秘密鍵でかぶってるやん。。。
    ローカルから外に出ない鍵は、秘密鍵と呼ぶって事なのかな。