ネットワーク( 第 9 回 ) アプリケーション 層 北 村 泰 彦 関 西 学 院 大 学 理 工 学 部 情 報 科 学 科 1 ユーザ 認 証 WWWは 不 特 定 多 数 の 利 用 者 に 画 一 的 な 情 報 を 提 供 するメディアから, 特 定 の 利 用 者 に 個 別 的 な 情 報 を 提 供 するものへと 変 化 してい 利 用 者 に 特 化 した 個 別 的 な 情 報 はプライバシ ーの 観 点 から 保 護 する 必 要 があ ユーザ 認 証 は 利 用 者 が 本 人 であるかどうか を 識 別 する 手 法 で,ユーザ 名 とパスワードを 利 用 するベーシック 認 証 が 一 般 的 であ 2 ユーザ 認 証 の 手 順.htaccess 手 順 1. クライアントは 通 常 の 要 求 メッセージを 送 2. サーバは401 Authorization Requiredというステータス コードを 付 けた 応 答 メッセージを 返 す. 3. クライアントはこの 応 答 メッセージを 受 け 取 り,ユーザに 対 してユーザ 名 とパスワードの 入 力 を 促 す. 入 力 された ユーザ 名 とパスワードをAuthorization:ヘッダ 行 に 書 き 込 み, 再 度 要 求 メッセージを 送 4. 認 証 が 受 理 されるとクライアントはそれ 以 降 に 送 る 要 求 メッセージにユーザ 名 とパスワードを 付 け kitamura@pub-d16[12]% more.htaccess AuthType Basic AuthName "Protected Page" AuthUserFile /export/home/kitamura/wwwadmin/.htpasswd require user network kitamura@pub-d16[18]% more.htpasswd network:nevnmd5yllg0a パスワードの 暗 号 化 にはhtpasswdコマンドを 用 い (ユーザ 名 とパスワードはBase64によりエンコードされているの で, 簡 単 に 復 号 でき) 3 4
クッキー Webサイトがユーザの が ザ 利 用 履 歴 を 記 録 する 一 つの 方 法. 4つの 構 成 要 素 からな HTTP 要 求 メッセージ 内 のcookieヘッダ 行. HTTP 応 答 メッセージ 内 のcookieヘッダ 行. ユーザのブラウザが 管 理 するクッキーファイル. Webサイト 側 がサーバの 裏 で 保 持 するデータ ベース クッキーの 手 順 1. 初 めての 要 求 メッセージに 対 して,サーバは 認 証 番 号 を 新 規 に 発 行 し,データベース 内 に 認 証 番 号 に 対 応 した 項 目 を 作 成 す 2. サーバはSet-cookie:ヘッダ 付 き 応 答 メッセージを 用 いて 返 送 し,ヘッダ 行 にサーバが 発 行 した 認 証 番 号 を 付 与 す 3. ブラウザはサーバからの 応 答 メッセージを 受 け 取 り,Set-cookie:ヘッダと 認 証 番 号 を 得 ブラウザ が 管 理 するクッキーファイルにサーバ 名 と 認 証 番 号 を 記 述 したデータを 加 えブラウザはこのサー バにアクセスするたびにHTTP 要 求 メッセージに 認 証 番 号 のついたCookie:ヘッダをつけ 5 6 クッキー クッキーはユーザ 認 証 に 用 いることができ ユーザに 応 じたWebページのカスタマイズが 可 能 にな ユーザ 情 報 とクッキー 情 報 を 組 み 合 わせると Webサイトはユーザに 関 する 様 々な 情 報 を 得 ることができ,ユーザのプライバシ 侵 害 が 生 じる 恐 れがあ クッキー 情 報 はブラウザ 上 で 消 去 可 能 であ 電 子 メール WWWとともに,インターネット 上 で 最 もよく 利 用 されているアプリケーションプログラムであ 郵 便 と 同 様, 非 同 期 の 通 信 メディアであ 電 子 メールは, 速 く, 配 布 しやすく, 安 価 であ 様 々なファイルの 添 付 も 可 能 であ 7 8
電 子 メールの 構 成 要 素 メーラ 電 子 メールを 読 み 書 きするためのクライアントソ フトウェア. Microsoft Outlook, Eudora, Thunderbird, W.mailerなど 多 数 あ メールサーバ 電 子 メールの 蓄 積,インターネット 上 での 交 換 を するためのサーバソフトウェア. ユーザ 毎 にメールボックスを 提 供 す SMTP(Simple Mail Transfer Protocol) 電 子 メールをインターネット 上 で 交 換 するための アプリケーション 層 プロトコル. 9 10 電 子 メールの 手 順 ユーザAがユーザBにメールを ザ 送 る 場 合 1. ユーザAはメーラ(ユーザエージェント)により ザ メールを 作 成 す 2. メーラはユーザAのメールサーバにメールを ルを 送 3. ユーザAのメールサーバはメッセージ 待 ち 行 列 を 介 して,ユーザBのメールサーバにメールを 送 メールはユーザBのメールボックスに ルボックスに 入 れ られ 4. ユーザBはメーラにより,メールサーバ メ 内 のメー ルボックスからメールを 取 り 出 し,それを 読 む. 11 電 子 メールの 手 順 ユーザAのサーバが,ユーザBのサーバに ザ バ メールを 正 常 に 送 信 できない 場 合,メールは メッセージ 待 ち 行 列 に 留 まり,( 一 般 には30 分 間 隔 で) 再 送 が 行 われ 数 日 たっても 転 送 に 成 功 しない 場 合 は,メールを 削 除 し,ユー ザAにエラーメッセージを 送 付 す SMTPは 下 位 プロトコルとしてTCPを 利 用 す SMTPはメールを 送 信 するクライアント 機 能 と 12 メールを 受 信 するサーバ 機 能 の 両 方 を 持 つ.
SMTP SMTPは 電 子 メールをサーバ 間 で 転 送 するた めのプロトコル. 伝 送 できるデータは7ビットASCIIコードに 限 ら れバイナリコードはASCIIコードに ドに 変 換 す る 必 要 があ 受 信 サーバではASCIIコード からバイナリコードに 変 換 する 必 要 があり, 効 率 が 悪 い. 13 SMTP メールサーバAがメールサーバBにメールを バ 送 る 場 合 1. メールサーバAのSMTP (クライアント)はメッ セージ 待 ち 行 列 にあるメッセージのヘッダ 情 報 を 調 べ,メールサーバBのSMTP (サーバ)に 対 してポート25 番 を 用 いてTCPコネクションを 設 立 す 2. 二 つのSMTPでコネクションが 設 立 されると, メールサーバAはメールをメールサーバBに 送 3. メールサーバAはコネクションを 切 断 す 14 %telnet hamburger.edu 25 メールヘッダ 以 下 がSMTPプロトコルのデータとして 送 られ From: Emanuele Nanetti <emanuele.nanetti@studio.unibo.it> nanetti@studio unibo it> To: "Yasuhiko Kitamura" <ykitamura@ksc.kwansei.ac.jp> Subject: possibilities... Date: Tue, 25 May 2004 14:30:20 +0200 X-Mailer: Microsoft Outlook Express 5.00.2919.6700 X-Virus-Scanned: Cineca AppOs 0.8 at as2.cineca.it 差 出 人 宛 先 用 件 日 付 オプション (メーラ) Dear professor Kitamura, ( 以 下 本 文 ) オプション(ウィ ルスチェッカ) 15 16
SMTPにより 付 加 されるヘッダ (メールの 経 由 情 報 ) Received: from kscmail.ksc.kwansei.ac.jp (localhost [127.0.0.1])by zeus.ksc.kwansei.ac.jp (8.12.10/8.12.10) with ESMTP id i4j776w2027834for <ykitamura@ksc.kwansei.ac.jp>; k i Wed, 19 May 2004 16:07:07 +0900 (JST) Received: from drake.ksc.kwansei.ac.jp (jabberwock.ksc.kwansei.ac.jp ksc kwansei ac jp [172.29.241.11])by 29 241 11])by kscmail.ksc.kwansei.ac.jp (8.12.10/8.12.10) with ESMTP id i4j776dd027831for <ykitamura@ksc.kwansei.ac.jp>; Wed, 19 May 2004 16:07:06 +0900 (JST) Received: from corinna.its.utas.edu.au (corinna.its.utas.edu.au [131.217.10.51])by drake.ksc.kwansei.ac.jp with ESMTP id i4j76vny018342for <ykitamura@ksc.kwansei.ac.jp>; Wed, 19 May 2004 16:06:31 +0900 (JST) Received: from moggle.comp.utas.edu.au (moggle.comp.utas.edu.au [131.217.34.113])by corinna.its.utas.edu.au its au (8.12.9+Sun/8.12.10) 10) with ESMTP id i4j76tbs000902for <ykitamura@ksc.kwansei.ac.jp>; Wed, 19 May 2004 17:06:29 +1000 (EST) Subject: PKAW04 Papers for review From: Pauline Mak <Pauline.Mak@utas.edu.au> 17 To: ykitamura@ksc.kwansei.ac.jp HTTPとの 比 較 HTTP WebサーバからWebブラウザへファイル (オブジェクト)を 転 送 す プル 型 プロトコル:ユーザが 都 合 の 良 いと きにサーバからファイル 転 送 す 転 送 するコードに 制 約 はない. Webドキュメントを 構 成 するオブジェクトは 別 個 に 扱 う. 18 SMTP HTTPとの 比 較 メールサーバからメールサーバへファイル (メール)を 転 送 す プッシュ 型 プロトコル:ユーザが 都 合 の 良 い ときにサーバに 対 してファイル 転 送 す 転 送 するコードは7ビットASCIIコード. メールを 構 成 するオブジェクトは 一 つのメッ セージとして 扱 う. 19 MIME SMTPはもともと7ビットASCIIコードしか ビ ド 転 送 することを 考 慮 していない. 非 ASCIIコード( 英 語 以 外 の 文 字 コード, 画 像, 音 声 など)を 転 送 するにはMIME (Multipurpose Internet Mail Extensions) ヘッダを 付 加 す 20
MIME MIME 例 : MIME-Version: 1.0 Content-Type: t text/html;charset= ISO-2022-JP t/ht h t (メールの 内 容 を 示 す. 内 容 はhtml 文 書. 文 字 コードはISO- 2022-JP JP. 要 するに7ビットJISコード ド.) Content-Transfer-Encoding: 7bit (ASCIIコードへの 変 換 方 式.もともと7ビットコードなので 無 変 換.) メーラはメールを 受 け 取 ると, Content-Transfer-Encoding に 従 い, 非 ASCIIデータに デ タ 復 元 し, Content-Typeに 従 い, メッセージに 対 して 取 るべき 動 作 を 決 定 す 21 22 MIME Content-Typeの t の 一 般 形 Content-Type: type/subtype; parameters 主 なContent-Type text: 本 文 がテキスト 情 報 を 含 むことを 示 す.text/plainは 単 純 テキストを 表 す.text/htmlはHTML 文 書 を 表 す.パラ メータCharsetは 文 字 コードを 表 す. image: 本 文 が 静 止 画 であることを 示 す.image/gifや image/jpegなどがあ application: 何 れのカテゴリにも 該 当 しないデータを 示 す. application/msword (Wordの 添 付 ファイル) multipart: t 本 文 が 複 数 のオブジェクトから 構 成 されること を 示 す.multipart/mixed.パラメータBoundaryは 境 界 を 示 す. 23 24
電 子 メールの 読 み 方 1990 年 代 初 期 までは,ユーザはメールサー バに 直 接 ログインしてメールを 読 んだ. 現 在 では,ユーザのPC 上 で 動 くメーラ(ユー ザエージェント)によりメールを 読 む. メールサーバをユーザのPC 上 で 動 作 させる ことも 可 能 であるが,インターネットに 常 時 接 続 しておく 必 要 があるので 非 現 実 的 であ メールサーバは 一 般 的 にISPにより 運 営 され, 多 数 のユーザに 共 有 され メール アクセス プロトコル ユーザエージェントがメールサーバからメー ルを 取 り 出 すためのプロトコル. プル 型 の 通 信 プロトコル. 主 なメール アクセス プロトコル ル POP3 (Post Office Protocol version 3) IMAP (Internet Mail Access Protocol) HTTP 25 26 電 子 メールのプロトコル POP3 極 めてシンプルなメール アクセス プロトコル プ ポート 番 号 110が 割 り 当 てられてい 処 理 はユーザ 認 証,トランザクション 処 理, 更 新 からな トランザクション 用 のコマンドとしては,list (メール 一 覧 ), retr(メール 読 み 出 し), dele (メール 削 除 ), quit( 終 了 )があ セキュリティ 的 に 脆 弱. 27 28
POP3の 手 順 1. メーラがメールサーバに 対 して,ポート 番 号 110で TCPコネクションを 開 く. 2. コネクションが 設 定 されると,ユーザ 名 とパスワー ドを 送 り,ユーザ 認 証 を 行 う. 3. メーラはメールサーバ 内 のメールボックスに 保 管 さ れたメールを 検 索 し,そのリストをユーザに 表 示 す 4. ユーザはメールを 読 み 出 したり,メールに 削 除 マークを 付 けたり, 消 したりす 5. メーラは 終 了 コマンドを 出 すことで,セッションを 終 え, 削 除 マークのついたメールを 削 除 す 29 POP3における 認 証 実 はパスワードが 暗 号 化 されない!! 30 POP3のトランザクション IMAP POP3よりも 高 度 なメール アクセス プロトコ ル. サーバ 上 でフォルダ 操 作 が 可 能. メールの 一 部 (ヘッダ,multipart t 型 MIMEメッ セージの 一 部 )だけユーザエージェントに 転 送 することが 可 能. 31 32
Web 型 電 子 メール Webブラウザ(ユーザエージェント)を ブ ザ ザ ジ 用 いて 処 理 する 電 子 メール. HTTPプロトコルを 用 い インターネットに 接 続 されたブラウザさえあれ ばどこででもメールが 読 め HTTPSプロトコルを 利 用 している 場 合 は 通 信 が 暗 号 化 されるのでセキュリティ 上 安 全 であ 電 子 メールの 問 題 点 盗 聴 可 能 基 本 的 に 電 子 メールは 平 文 でインターネット 上 を 流 れ 秘 密 の 情 報 をメールで 送 るのは 問 題 であ SPAM 宣 伝 目 的 で 何 十 万 という 電 子 メールを 無 差 別 に 送 りつけ る 行 為 またメール 自 体 のこと.ネットワークリソースの 浪 費 であ コンピュータウイルス ソフトウェアに 感 染 して 増 殖 するソフトウェア. 初 期 はフ ロッピーディスクを 介 して 増 殖 したが, 最 近 はメールを 介 し て 増 殖 す 33 34 対 策 ユーザとして コンピュータウイルスを 作 らない.SPAMを 送 らない. 大 事 な 情 報 はメールでは 送 らない. 自 分 のメールアカウントのパスワードを 知 らせない. サーバ 管 理 者 として SMTPやPOPを や を 使 用 しない.ESMTPやAPOPなどを な 利 用 す 第 3 者 中 継 を 禁 止 すドメイン 外 から 来 るメールをドメイ ン 外 に 送 らない. 35