• 検索結果がありません。

Information Security

N/A
N/A
Protected

Academic year: 2021

シェア "Information Security"

Copied!
80
0
0

読み込み中.... (全文を見る)

全文

(1)
(2)

© Hisato Shima (shima@kic.ac.jp) 2016/6/29

(3)

インターネットの構造

全てはルータがつなぐセグメント (ネットワーク)

ルータ経由で全ホスト間が通信可能

host

host

host

host

router

host

router

router

host

router

host

host

host

(ネットワーク)セグメント

(ネットワーク)

セグメント

(ネットワーク)

セグメント

(ネットワーク)

セグメント

(4)

© Hisato Shima (shima@kic.ac.jp)

宅配便のネットワーク

営業所、コンビニ=

ルーター (Router):

Route(経路)を決める人

最終目的地をもとに、次の目的地を決め、荷物の積み替えをする

トラック、飛行機=

リンク

次の目的に荷物を届ける

2016/6/29 セキュリティのキャリアを目指すーネットワーク基礎 2016#2

host

host

host

host

router

host

router

router

host

router

host

host

host

(ネットワーク)セグメント

(ネットワーク)

セグメント

(ネットワーク)

セグメント

(ネットワーク)

セグメント

コンビニ

営業所

空港

ネットワークセグメント

1つのリンクがカバーする範囲

4

(5)
(6)

© Hisato Shima (shima@kic.ac.jp)

インターネットプロトコル

リンク層:ネットワークセグメント内の通信

MACアドレスを使う

ネットワーク層:グローバルな通信

グローバルなアドレス(IPアドレス)を使う

ルーターが複数のネットワークセグメントをつなげ、目的地まで届ける

2016/6/29 セキュリティのキャリアを目指すーネットワーク基礎 2016#2

host

host

host

host

router

host

router

router

host

router

host

host

host

(ネットワーク)セグメント

(ネットワーク)

セグメント

(ネットワーク)

セグメント

(ネットワーク)

セグメント

router

やってくれること

指定したホストにIP

パケット(Max 1500

byte)を届ける

6

(7)

インターネットの中のリンク層

ネットワークセグメント内の通信

host

host

host

host

router

host

router

router

host

router

host

host

host

(ネットワーク)セグメント

(ネットワーク)

セグメント

(ネットワーク)

セグメント

(ネットワーク)

セグメント

(8)

© Hisato Shima (shima@kic.ac.jp)

リンク層=つなげる手段

LAN(Local Area Network)

オフィスの中、家の中のリンク

有線

Ethernet

IEEE802.3

無線

WirelessLAN(WLAN)

IEEE802.11

Wifi

2016/6/29 セキュリティのキャリアを目指すーネットワーク基礎 2016#2 ハブ アクセスポイント

8

(9)

リンク層フレーム

リンク層におけるデータ表現

リンク層のパケットを「フレーム」と呼ぶ

フレームの構成

フレームはヘッダとペイロードから構成

ヘッダに制御情報、ペイロードに上位層データ

制御情報としてレイヤ2アドレスなど

All 1ならブロー

ペイロードにIPパケットが格納される

ペイロード

(46~1500バイト)

タイプ

宛先

アドレス

送信元

アドレス

エラー

検出

イーサネットフレーム

(DIX規格)

ヘッダ

(10)

© Hisato Shima (shima@kic.ac.jp)

リンク層アドレス

MACアドレス

リンク層にて機器(インターフェイス)を区別するアドレス

16進数12桁

例: 00-22-FA-AB-30-90

EUI-48

EthernetのMACアドレス体系、IEEEが規定、48ビット長

世界中で一意なアドレス (224 = 約1677万)

IEEE OUI and Company_id Assignments

http://standards.ieee.org/regauth/oui/index.shtml

2016/6/29 セキュリティのキャリアを目指すーネットワーク基礎 2016#2

OUI

(Organizationally Unique Identifier)

24bit

IEEEがネットワーク機器のメーカーに 割り当てる部分

機器毎のID

(各メーカーが割り付け)

24bit

各メーカーがネットワーク機器に割り当てる部分

10

(11)

インターネットプロトコル(ネットワーク層)

グローバルな通信

グローバルなアドレス(IPアドレス)を使う

ルーターを介して複数のネットワークセグメントをつなげる

host

host

host

host

router

host

router

router

host

router

host

host

host

(ネットワーク)セグメント

(ネットワーク)

セグメント

(ネットワーク)

セグメント

(ネットワーク)

セグメント

(12)

© Hisato Shima (shima@kic.ac.jp)

IPアドレスとは

IPネットワークでのホスト(ネットワークインターフェース)識別

インターネット全体で一意なもの (=グローバルアドレス)

アドレスの構造: IPv4は32ビット長

8ビット毎に区切って表記 (0.0.0.0 ~ 255.255.255.255)

数字ひとつが8ビット x 4個

2016/6/29 セキュリティのキャリアを目指すーネットワーク基礎 2016#2

172 . 16 . 254 . 3

10101100.00010000.11111110.00000011

1バイト = 8ビット

32ビット (4バイト)

12

(13)

ネットワーク部とホスト部

IPアドレスを前後に分割して利用

前半がネットワーク部

ネットワーク毎に割り当てられるアドレス (組織毎など)

後半がホスト部

ネットワーク内のホストに割り当てられるアドレス

ネットマスク表現

ネットワーク部とホスト部の境目を表現

先頭からのビット長

172 . 16

.

254

. 3 /24

10101100.00010000

.

11111110

.00000011

ネットワーク部

ホスト部

172.16.254.0というネットワーク内で

使える172.16.254.1~172.16.254.255

というアドレス

ネットマスクとして24ビットを指定

先頭から24ビットがネットワーク部

(14)

© Hisato Shima (shima@kic.ac.jp)

同一ネット内の機器への通信

172.16.254.3/24から172.16.254.131/24にIPパケットを送る

自分のネットワーク部のアドレス(172.16.254.*)が相手先のIPアドレスと一

致 ⇒ 同じネットワークセグメントの中にある

相手の機器(172.16.254.131)に直接送る

2016/6/29 セキュリティのキャリアを目指すーネットワーク基礎 2016#2

ルーター

172.16.254

.1

172.16.254

.3

172.16.254

.131

172.16.255

.3

172.16.255

.5

ルーター

172.16.252

.5

172.16.252

.3

宛先

差出人

14

(15)

異なるネットワークの機器への通信2

172.16.254.3から172.16.252.3にIPパケットを送る

自分のネットワーク部のアドレス(172.16.252.*)が相手先のIP

アドレスと異なる

デフォールトゲートウェイ(172.16.254.1)にパケットを送る

ルーター

172.16.254

.1

172.16.254

.3

172.16.254

.131

172.16.255

.3

ルーター

172.16.252

.5

172.16.252

.3

宛先

差出人

ルーター

172.16.252

.2

ルーター

172.16.255

.1

(16)

© Hisato Shima (shima@kic.ac.jp)

経路表(ルーティングテーブル)

宛先: 172.16.254.11 宛先ネットワーク 次ホップルータアドレス 0.0.0.0/0 172.16.252.1 172.16.254.0/24 172.16.252.5 172.16.255.0/24 172.16.252.1

ルータ: 172.16.252.5

宛先: 172.16.255.3

ルータ: 172.16.252.1

宛先: 7.7.7.7

ルータ: 172.16.252.1

172.16.254.0/24に一致 172.16.255.0/24に一致 デフォルトルート

パケット送信元

172.16.254.0/24

172.16.255.0/24

172.16.252.5 172.16.252.1

R

R

デフォルトルート 宛先ネットワークに該当が無い場 合に選択される経路 (外部ネットワークへの接続経路) デフォルトルートとなるルータをデ フォルトゲートウェイと呼ぶ 2016/6/29 セキュリティのキャリアを目指すーネットワーク基礎 2016#2

インターネット

R

172.16.252.3

16

(17)

ARP

ARP(Address Resolution Protocol) とは

「アドレス解決プロトコル」

IPアドレスに対応するMACアドレスを調査する

ノードA

ノードB

①Ethernetに広報

ノードC

送信元 MACアドレス(A) IPアドレス(A) 送信先 MACアドレス(空) IPアドレス(B) ② 自IPアドレスでないので無視 ② 自IPアドレス宛を 検知して返信 送信元 MACアドレス(B) IPアドレス(B) 送信先 MACアドレス(A) IPアドレス(A)

(18)

© Hisato Shima (shima@kic.ac.jp)

インターネットプロトコル

リンク層:ネットワークセグメント内の通信

MACアドレスを使う

ネットワーク層:グローバルな通信

グローバルなアドレス(IPアドレス)を使う

ルーターが複数のネットワークセグメントをつなげ、目的地まで届ける

2016/6/29 セキュリティのキャリアを目指すーネットワーク基礎 2016#2

host

host

host

host

router

host

router

router

host

router

host

host

host

(ネットワーク)セグメント

(ネットワーク)

セグメント

(ネットワーク)

セグメント

(ネットワーク)

セグメント

router

やってくれること

指定したホストにIP

パケット(Max 1500

byte)を届ける

18

(19)
(20)

© Hisato Shima (shima@kic.ac.jp)

インターネット層がやってくれないこと

2016/6/29 セキュリティのキャリアを目指すーネットワーク基礎 2016#2

本棚の中の本を全部

室蘭支店の資料室に

送りたい

ネットワーク層(宅配業者)

箱を指定の住所に届ける

室蘭

支店

神戸

支店

20

(21)

インターネット層がやってくれないこと

本棚の中の本を全部

室蘭支店の資料室に

送りたい

トランスポート層(秘書)

確認

確認

トランスポート層(秘書)

室蘭

支店

神戸

支店

ネットワーク層(宅配業者)

箱を指定の住所に届ける

本を箱に詰める

うまくつかなかった場合は再送

正しい順に戻して箱から出す

受け取りの確認を送る

(22)

© Hisato Shima (shima@kic.ac.jp)

インターネット層がやってくれないこと

インターネット層がやってくれること

エンドホスト間でのIPパケット(Max 1500 byte)の伝送

インターネット層がやってくれないこと

宛先アプリケーション間の識別

IPパケットの伝達エラー(不達)の検出と再送

大きなデータの分割、復元

IPパケットの到着順入れ替わりの検出と復元

2016/6/29 セキュリティのキャリアを目指すーネットワーク基礎 2016#2

必要に応じて

トランスポート

層で行う

22

(23)

本を室蘭支店に送りたい

本棚の中から1つ

の箱に入る分を

取り出す

IPパケット

宛先:室蘭市本町1-2

差出人:神戸市加納町2-3

宛先:資料室

番号:10~13

TCPパケット

(24)

© Hisato Shima (shima@kic.ac.jp)

主要トランスポート層プロトコル

高い制御性を持つTCP

信頼性のある通信セッションを提供

セッション間で混雑を回避するように自動調整

何もしないUDP

シンプルなUDP

制御を必要としない軽量な通信を提供

2016/6/29 セキュリティのキャリアを目指すーネットワーク基礎 2016#2

24

(25)

UDPとTCPの再送制御

TCPとUDPのパケット喪失への対応

送信側

受信側

データ

データ

データ

エラー

データ

データ

送信側

受信側

データ

データ

データ

エラー

データ

TCP

UDP

データが

届かない

ことがある

データの

遅れが

大きい

(26)

© Hisato Shima (shima@kic.ac.jp) 2016/6/29

(27)

host Y

host X

ポートA

ポートB

ポートC

トランスポート層のアドレス(宛先)

通信ホスト内のアドレス

TCP/UDPポート番号

ポート番号が通信回線を意味

16ビット、0~65535の番号

有名なアプリケーションはあらかじめ割り当て

例: HTTP通信はTCP80番

IANAが設定:

http://www.iana.org/assignments/port-numbers

アプリ

アプリ

アプリ

ポートX

ポートY

ポートZ

アプリ

アプリ

アプリ

IPアドレス X

(28)

© Hisato Shima (shima@kic.ac.jp)

ポート番号の例

WWWシステム

TCPポート80番を用いる

サーバがTCP80番で通信を受付け

2016/6/29 セキュリティのキャリアを目指すーネットワーク基礎 2016#2

ブラウザ

Webクライアント)

Webサーバ

TCP

80

Webサーバ

プログラム

Webクライアント

プログラム

TCP

XX

TCP接続

このTCP回線を用いて、

要求送信や

データ受信を処理

http://www.example.com:

11111

/

ポート番号を明示的に指 定する例: TCP11111を利用

28

(29)

ポート番号

TCP/UDPのポート番号

0~1023はwell knownポートとして設定

1024~49151は予約済み、ユーザー用

49152~65535はプライベート

用途推奨されているのがwell knownポート

TCP 80はHTTPに利用することが推奨

UDP53, TCP53はDNSに利用することが推奨

一般的に広く利用されているポート番号

(30)

© Hisato Shima (shima@kic.ac.jp)

well knownポート番号の例

ポート番号

説明

0/TCP,UDP

予約済

20/TCP

FTP - データ転送ポート

21/TCP

FTP - コントロールポート

22/TCP,UDP

Secure Shell (SSH)

23/TCP

Telnet

25/TCP,UDP

Simple Mail Transfer Protocol (SMTP)

53/TCP,UDP

Domain Name System (DNS)

67/UDP

Dynamic Host Configuration Protocol (DHCP)

68/UDP

Dynamic Host Configuration Protocol (DHCP)

80/TCP,UDP

Hypertext Transfer Protocol (HTTP)

110/TCP

Post Office Protocol 3 (POP3)

123/UDP

Network Time Protocol (NTP)

143/TCP,UDP

Internet Message Access Protocol (IMAP)

443/TCP,UDP

Hypertext Transfer Protocol over TLS/SSL (HTTPS)

2016/6/29

(31)
(32)

© Hisato Shima (shima@kic.ac.jp)

クライアントとサーバー

クライアント:接続要求を送る

サーバー:接続要求を待っている側

通信の流れ

コネクションの確立

Clientからサーバーに

データの通信

双方向でデータのやり取り

コネクションの切断

2016/6/29 セキュリティのキャリアを目指すーネットワーク基礎 2016#2

client

server

接続したい

接続要求

通信

切断要求

32

(33)

本を室蘭支店に送りたい

本棚の中から1つ

の箱に入る分を

取り出す

IPパケット

宛先:室蘭市本町1-2

差出人:神戸市加納町2-3

宛先:資料室

番号:10~13

TCPパケット

(34)

© Hisato Shima (shima@kic.ac.jp) … … …

TCPデータの送り方

IP

ヘッダ

IPペイロード

ペイロードにIPパケットが格納される

ペイロード

(46~1500バイト)

タイプ

宛先

アドレス

送信元

アドレス

エラー

検出

イーサネットフレーム(DIX規格)

ヘッダ

IPパケット

2016/6/29 セキュリティのキャリアを目指すーネットワーク基礎 2016#2

TCP

ヘッダ

TCPデータ

TCPパケット

35

(35)

TCPヘッダ

Source Port: 送信ポート番号

Destination Port: 受信ポート番号

SEQ: シーケンス番号

ACK: 応答確認番号

FLAG: フラグコード

 URG(1ビット)– 緊急ポインタ・フィールドが有効  ACK(1ビット)– 確認応答番号フィールドが有効  PSH(1ビット)– プッシュ機能  RST(1ビット)– コネクションを強制終了する  SYN(1ビット)– 通信開始  FIN(1ビット)– 送信終了

HLEN: ヘッダ長

Reserved: 将来のための拡張用

WINDOW: 同時送信セグメント数

CHECKSUM: エラーチェック用

Urgent Pointer: 緊急処理データの場所

Option: 拡張情報のため

HLEN Reserved

FLAG

TCP Destination Port

SEQ

CHECKSUM

Urgent Pointer

ACK

WINDOW

TCP Source Port

Option

1

5

13

17

32

TCPデータ

ヘッダ

(36)

© Hisato Shima (shima@kic.ac.jp)

TCPデータ送信

TCPのデータ送信

データを送信する

TCPデータ受信ホストがACK (Acknowledge):

確認応答

メッセージを送る

TCPデータ送信ホストACKを受信する

しばらく待って受信しなければデータが届かなかったとみなし、データ再送

ACK受信までの時間をRTT (Round Trip Time)と呼ぶ

DATA

ACK

(DATA)

RTT

2016/6/29 セキュリティのキャリアを目指すーネットワーク基礎 2016#2

受信側からも送りたいデー

タがあるときはACKとまと

めてデータを送ってもよい。

TCPデータ送信

ACKの返信

アプリケーション アプリケーション

データ送信側

データ受信側

データ送信側

データ受信側

37

(37)
(38)

© Hisato Shima (shima@kic.ac.jp)

TCPのセッション確立(接続)

3-Way Handshake

SYN: 接続要求の送信

SYN/ACK: 確認と要求の送信

ACK: 確認の送信

2016/6/29 セキュリティのキャリアを目指すーネットワーク基礎 2016#2

SYN

SYN/ACK

ACK

client

server

接続したい

接続OK 接続

39

(39)

TCPのセッション切断

「FIN」の送信

「Finish」の意味

FINで切断要求、

ACK受信で切断

双方向で切断

FIN

ACK

FIN

ACK

切断したい

切断

切断したい 切断

Client/Server

Client/Server

(40)

© Hisato Shima (shima@kic.ac.jp)

SYN FLOOD攻撃(DoS攻撃の1つ)

サーバーはSYNを受け取ると、

SYN/ACKを返すとともに、そのク

ライアントの通信のためのメモリな

どを確保し、クライアントからの

ACKを待ち続ける。

ACKが来ずにSYNばかり受信する

と、サーバーはメモリを使い果たし

動かなくなってしまう。

2016/6/29 セキュリティのキャリアを目指すーネットワーク基礎 2016#2

攻撃Client

被害server

SYN

(差出IPアドレス偽装)

SYN/ACK

ACK待ち

SYN

(差出IPアドレス偽装)

SYN/ACK

ACK待ち

SYN

(差出IPアドレス偽装)

SYN/ACK

ACK待ち

SYN

(差出IPアドレス偽装)

SYN/ACK

ACK待ち

41

(41)
(42)

© Hisato Shima (shima@kic.ac.jp)

TCPデータ送受信

ACK返信

ACK (Acknowledge):

確認応答

メッセージ

TCP受信ホストがパケット受信を報告

ひとつのパケット受信につきひとつのACK返信

TCP制御のための手段として用いられる

TCPデータ送信

ACKの返信

アプリケーション アプリケーション 2016/6/29 セキュリティのキャリアを目指すーネットワーク基礎 2016#2

43

(43)

TCP再送制御

TCPの再送制御

ACKを利用する

ACKを受信できないと再送

RTT: Round Trip Time,

往復時間の意味

DATA

ACK

RTT

(44)

© Hisato Shima (shima@kic.ac.jp)

TCPのデータ送信と再送制御(1)

TCPのデータ送信

送りたいデータを分割して

IPパケットに入れて送信

一つのIPパケットには約

1500バイトしか入らない

ACKで受信を確認

2016/6/29 セキュリティのキャリアを目指すーネットワーク基礎 2016#2

A

B

C

D

DATA

ACK

データ送信側

データ受信側

DATA

ACK

DATA

ACK

A

B

C

送りたいデータ

45

(45)

TCPのデータ送信と再送制御(2)

TCPの再送制御

しばらく待って、ACKを

受信できないと再送

ACKの通信エラーの時

は同じデータが2つ届く

ことがある

A

B

C

D

送りたいデータ

DATA

ACK

データ送信側

データ受信側

DATA

A

B

DATA

B

ACK

DATA

B

DATA

B

ACK

ACK

(46)

© Hisato Shima (shima@kic.ac.jp) 2016/6/29

(47)

TCPデータ送信量の自動調整

TCPにおけるデータ送信量の自動調整

ウィンドウサイズ(=ACKを確認せず送れるパケット数)の調整

相手のバッファに余裕があり、途中のネットワークが空いている場合はウィンド

ウサイズを上げる

相手のバッファに余裕がなかったり、通信が輻輳している場合はウィンドウサイ

ズを下げる

輻輳: 通信リンクが混雑していること

DATA

ACK

DATA

ACK

DATA

ACK

DATA

ACK

ウィンドウサイズ 小

ウィンドウサイズ 中

ウィンドウサイズ 大

(48)

© Hisato Shima (shima@kic.ac.jp)

流量制御

受信側の機器が処理しきれない多量のデータを送ると、受

信側の機器がデータを取りこぼす。

ACKを待たずにどのくらいのデータを送ってよいかを受信側

から送信側に知らせる⇒HeaderのなかのWINDOWフィー

ルド

2016/6/29 セキュリティのキャリアを目指すーネットワーク基礎 2016#2

HLEN Reserved

FLAG

TCP Destination Port

SEQ

CHECKSUM

Urgent Pointer

ACK

WINDOW

TCP Source Port

Option

1

5

13

17

32

TCPデータ

ヘッダ

49

(49)

輻輳制御とは

受信側の機器が処理できるからと言ってどんどんデータを送

ると、途中のネットワークが混雑(輻輳)してエラーが起きる

送信側の機器が送信を減らさないと混雑で通信できない

host

host

host

host

router

host

router

host

host

混雑

(50)

© Hisato Shima (shima@kic.ac.jp)

送信時のウィンドウサイズの調整

ACKが返ってくる⇒送信パケットは送信先に届いている

ホスト間の経路上の帯域には余裕がある

そこで、ウィンドウサイズを増加(受信側から指定された上限まで)

ACKが返ってこない⇒送信パケットは送信先に届いていない(輻輳発生)

経路上の帯域には余裕がない(だろうと推測)

ウィンドウサイズを減少させる

ウィンドウサイズは結果的に途中の回線利用可能帯域に合わせて調節される

2016/6/29 セキュリティのキャリアを目指すーネットワーク基礎 2016#2

DATA

ACK

スループットTの計算:

T [bps] = RWIN [bytes] /RTT [ms] * 8 * 1000

RWIN: ウィンドウサイズ

RTT: ラウンドトリップタイム

RTT

RWIN

51

(51)
(52)

© Hisato Shima (shima@kic.ac.jp)

IPv4アドレスの枯渇とプライベートアドレス

IPv4アドレスの枯渇

全ての機器に割り当てるだけのアドレスはない

グローバルアドレス

インターネット内で一意のアドレス=ICANNから割り当て

Webサーバなど外部からアクセスが必要な場合に使用

プライベートアドレス

隔離ネットワーク内のみで利用可能なアドレス

=ICANNから割り当ててもらわなくても使ってもよいアドレス

10.0.0.0/8 クラスA

10.0.0.0-10.255.255.255, 16,777,216個のアドレス

172.16.0.0/16~ 172.31.0.0/16 クラスB*16個

172.16.0.0-172.31.255.255, 1,048,576個

192.168.0.0/24~192.168.255.0/24 クラスC*255個

192.168.0.0-192.168.255.255, 65,536個

2016/6/29 セキュリティのキャリアを目指すーネットワーク基礎 2016#2

53

(53)

NAT(Network Address Translation)

NATとは

Network Address Translation

ネットワークアドレス変換装置

という意味

例: 家庭用ホームルータなど

NATの機能

プライベートアドレスをグロー

バルアドレスに変換

企業内LANや家庭内LANとイ

ンターネットをつなげる

プライベート

ネットワーク

インターネット

プライベートアドレ

スは使えない

ホスト

192.168.0.11:X

ホスト

163.221.52.80:80

NAT

ルータ

114.48.7.249

プライベート

アドレスの

ネットワーク

192.168.0.1

(54)

© Hisato Shima (shima@kic.ac.jp)

NAT:IPアドレスとポート番号の変換

2016/6/29 セキュリティのキャリアを目指すーネットワーク基礎 2016#2 プライベート

ネットワーク

インターネット

送信元 192.168.0.11:X 送信先 163.221.52.80:80

ホスト

192.168.0.11:X

ホスト

163.221.52.80:80

NAT

ルータ

送信元 114.48.7.249:Y 送信先 163.221.52.80:80 114.48.7.249 送信元 163.221.52.80:80 送信先 192.168.0.11:X 送信元 163.221.52.80:80 送信先 114.48.7.249:Y 192.168.0.11:X <-> 114.48.7.249:Y

① 通信送信

② 返信受信

55

(55)
(56)

© Hisato Shima (shima@kic.ac.jp)

World Wide Web

WWW

HyperText共有基盤

文書間のリンク構造

ホームページ

自由に作成・安価

世界中に公開

多彩な表現力

双方向性

2016/6/29 セキュリティのキャリアを目指すーネットワーク基礎 2016#2 神戸情報大学院大学 WWWページ http://www.kic.ac.jp/

57

(57)

WWWイメージ

WWW構成要素

URI(URL): Webページの場所を記す記法

HTTP: Webページを転送する通信手順

HTML: Webページを記述する言語

インターネット

③ index.htmlファイルの送信

ブラウザ (Webクライアント)

Webサーバ

shima.kic.ac.jp

GET /index.html HTTP/1.1

http://shima.kic.ac.jp/index.html

<HTML> <TITLE>Shima-lab</TITLE> <BODY> <H1> Name </H1> <P>Hisato Shima</P> <H2> Introduction </H2> <P> Hello! I am a professor at <A HREF="http://www.kic.ac.jp/"> KIC</A>. </P> </BODY> </HTML>

① HTTPリクエスト: index.htmlファイルを送れ

② index.htmlファイルの取出

④ index.htmlファイルの表示

⓪ shima.kic.ac.jpのIPアドレスを調べる

URL

(58)

© Hisato Shima (shima@kic.ac.jp)

Web Pageへのアクセス

2016/6/29 セキュリティのキャリアを目指すーネットワーク基礎 2016#2

キーワード

検索サービス

URL

ショートカット

お気に入り

他のページか

らのリンク

IPアドレス

DNS

59

(59)

URI (Uniform Resource Identifier)

HTML文書などの場所を表す表記法

URL(Uniform Resource Locator)とも呼ばれる

Uniform(一定の形の) Resource (資源、供給源) Locator(場所を示すもの)

Webページを表現する場合はURL

その他一般的な表現がURI (Uniform Resource Identifier)

アクセス手段 + 資源場所

RFC 3986: Uniform Resource Identifier (URI): Generic Syntax

http://study.kic.ac.jp/moodle/jp/log

アクセス手段 スキーム部

資源場所

リソース部 ホスト名 パス名

(60)

© Hisato Shima (shima@kic.ac.jp)

ホスト名とIPアドレス

ホスト名はIPアドレスに変換しないと通信できない

2つ以上のホスト名が同じIPアドレスを持つこともある。

(1つサーバーが2つのホスト名を持っている)

2016/6/29 セキュリティのキャリアを目指すーネットワーク基礎 2016#2

study.kic.ac.jp

210.146.64.133

www.kic.ac.jp

153.127.229.226

kic.ac.jp

shima.kic.ac.jp

61

(61)
(62)

© Hisato Shima (shima@kic.ac.jp)

名前の問い合わせ機構(DNS)

DNSへ「名前」を問い合わせする

DNSは名前管理データベース

ホスト名やドメイン名が「名前」

DNSの機能

ホスト名とそのIPアドレスを登録、管理する

世界中の多くのコンピューターからの問い合わせに答える

2016/6/29 セキュリティのキャリアを目指すーネットワーク基礎 2016#2

DNS

ホスト名

ホスト名と

IPアドレスの組

DNSへ問い合わせ

DNSへ登録

IPアドレス

63

(63)

DNS問い合わせ

「名前解決」には他のDNSと協調動作

クライアントは指定のネームサーバへ問い合わせ(ローカルネーム

サーバ、キャッシュネームサーバ)

キャッシュネームサーバは他のDNSへ問い合わせ

DNSキャッシュ

サーバー

DNSコンテンツ

サーバー

ホスト名

IPアドレス

DNSへの

問い合わせ

DNSクライアント

ホスト名と

IPアドレスの組

ホスト名と

IPアドレスの組

ホスト名と

IPアドレスの組

DNSへの

登録

(64)

© Hisato Shima (shima@kic.ac.jp) 2016/6/29

(65)

WWWイメージ

WWW構成要素

URI(URL): Webページの場所を記す記法

HTTP: Webページを転送する通信手順

HTML: Webページを記述する言語

インターネット

③ index.htmlファイルの送信

ブラウザ (Webクライアント)

Webサーバ

shima.kic.ac.jp

GET /index.html HTTP/1.1

http://shima.kic.ac.jp/index.html

<HTML> <TITLE>Shima-lab</TITLE> <BODY> <H1> Name </H1> <P>Hisato Shima</P> <H2> Introduction </H2> <P> Hello! I am a professor at <A HREF="http://www.kic.ac.jp/"> KIC</A>. </P> </BODY> </HTML>

① HTTPリクエスト: index.htmlファイルを送れ

② index.htmlファイルの取出

④ index.htmlファイルの表示

⓪ shima.kic.ac.jpのIPアドレスを調べる

URL

(66)

© Hisato Shima (shima@kic.ac.jp)

HTTP

Webサーバとブラウザ間での通信プロトコル

HyperText Transfer Protocol

HTML文書やその他のファイル伝送に利用

ファイル名を指定して取り出す

TCPを用いた通信 (80番ポートがよく利用される)

通信形態

クライアントサーバ型

リクエストレスポンス型

RFC 2616: Hypertext Transfer Protocol -- HTTP/1.1

2016/6/29

(67)

HTTPリクエスト

リクエストメッセージ

クライアントからサーバへデータを要求

「GET」命令とアクセスヘッダ(任意の補助情報)

GET /index.html HTTP/1.1⏎

Host: shima.kic.ac.jp⏎

http://shima.kic.ac.jp/index.html へアクセスした場合(一番簡単な場合)

リクエストメッセージ

リクエストヘッダ

(68)

© Hisato Shima (shima@kic.ac.jp)

HTTPレスポンス

サーバからクライアントへデータを返信

レスポンスヘッダとデータそのもの

レスポンスコード: 200番台成功、400番台失敗

2016/6/29 セキュリティのキャリアを目指すーネットワーク基礎 2016#2

HTTP/1.1 200 OK ⏎

Date: Sun, 07 Sep 2014 08:09:16 GMT ⏎

Server: Apache/2.2.22 (Ubuntu) ⏎

Last-Modified: Sun, 10 Nov 2013 12:48:27 GMT ⏎

Content-Length: 1928 ⏎

Content-Type: text/html ⏎

<!DOCTYPE html > ⏎

<head> ⏎

<title>嶋 研究室 / Hisato Shima Laboratory</title> ⏎

</head> ⏎

(中略)

</ html > ⏎

レスポンスメッセージ (レスポンスコード)

レスポンスヘッダ

(一部省略)

レスポンスデータ

(一部省略)

69

(69)

HTML

HyperText Markup Language

WWWの文書記述記法

タグと呼ばれる命令文

「<」「>」で囲まれた命令文

「<(開始タグ)>」「</(終了タグ)>」

<!DOCTYPE html > <head>

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <meta http-equiv="Content-style-Type" content="text/css">

<link rel="stylesheet" href="base.css" type="text/css">

<title>嶋 研究室 / Hisato Shima Laboratory</title> </head>

<body> : (中略)

</body>

(70)

© Hisato Shima (shima@kic.ac.jp)

今までのものがどう組み合わさって動くのか

2016/6/29

(71)

ブラウザでホームページにアクセス

http://shima.kic.ac.jp/index.html

ブラウザ (Webクライアント)

(72)

© Hisato Shima (shima@kic.ac.jp)

ホスト名をIPアドレスに変換(DNS)

2016/6/29 セキュリティのキャリアを目指すーネットワーク基礎 2016#2

http://shima.kic.ac.jp/index.html

ブラウザ (Webクライアント)

DNS

サーバ

ホスト名: shima.kic.ac.jp

IPアドレス:210.146.64.133

ホスト名

73

(73)

Webサーバにアクセス:TCP接続

host

host

host

router

host

router

router

host

router

host

host

host

ブラウザ(ポートX) (Webクライアント) …

SYN: ポート80

SYN/ACK: ポートX

ACK: ポート80

80番ポート

Webサーバ

210.146.64.133

(74)

© Hisato Shima (shima@kic.ac.jp)

Webサーバにアクセス:HTTP

2016/6/29 セキュリティのキャリアを目指すーネットワーク基礎 2016#2

host

host

host

router

host

router

router

host

router

host

host

host

ブラウザ(ポートX) (Webクライアント) …

GET /index.html HTTP/1.1

HTTP/1.1 200 OK …….

80番ポート

Webサーバ

210.146.64.133

……….

データが大き

い時は分割

75

(75)

ブラウザが受け取ったデータを表示

ブラウザ (Webクライアント)

(76)

© Hisato Shima (shima@kic.ac.jp) 2016/6/29

(77)

IPv6アドレスの構造

(Global Unicast Address)

ネットワーク識別部分は64ビット

固定長の構造(サブネットマスクはない)

ホスト(インターフェース)識別部分は64ビット

インターフェイスIDと呼ばれている

001

(3bit)

グローバルルーティング

プレフィックス

インターフェイスID (64bit)

サブネットID

ネットワーク識別

ホスト(インターフェース)識別

(ISPが割り当てる部分) (組織内での割当)

IPv6

128bit

(合計61bit)

IPv4

32bit

ネットワーク部

(多くの場合24bit)

(多くの場合8bit)

ホスト部

(78)

© Hisato Shima (shima@kic.ac.jp) 2016/6/29

(79)

来週の授業について

ハンズオンで行うため、遠隔講義は行わずに、兵庫県立大

学の教室のみで行うことを検討中です。

その場合、全員来週は兵庫県立大学の教室に来ていただく

(80)

© Hisato Shima (shima@kic.ac.jp)

Wireshark

来週の授業でパケットをキャプチャするソフトウェア

WireSharkを利用します

最新版(v2.0.4, 64bit版 または 32bit版)をインストールしてお

いてください。(本家サイトにはMac OS用もあります。)

窓の杜

http://forest.watch.impress.co.jp/library/software/wireshark/

本家サイト

https://www.wireshark.org/#download

2016/6/29 セキュリティのキャリアを目指すーネットワーク基礎 2016#2

81

参照

関連したドキュメント

これはつまり十進法ではなく、一進法を用いて自然数を表記するということである。とは いえ数が大きくなると見にくくなるので、.. 0, 1,

(採択) 」と「先生が励ましの声をかけてくれなかった(削除) 」 )と判断した項目を削除すること で計 83

定可能性は大前提とした上で、どの程度の時間で、どの程度のメモリを用いれば計

次に、第 2 部は、スキーマ療法による認知の修正を目指したプログラムとな

この分厚い貝層は、ハマグリとマガキの純貝層によって形成されることや、周辺に居住域が未確

C. 

「社会人基礎力」とは、 「職場や地域社会で多様な人々と仕事をしていくために必要な基礎的な 力」として、経済産業省が 2006

親子で美容院にい くことが念願の夢 だった母。スタッフ とのふれあいや、心 遣いが嬉しくて、涙 が溢れて止まらな