校内における情報セキュリティとWebサーバ : 校内における情報セキュリティと Webサーバ 稚内北星学園大学 情報メディア学部 金山典世 [email protected] 学校内におけるセキュリティ (1): 学校内におけるセキュリティ (1) セキュリティ一般は中々難しい問題 話を情報の共有に絞る 機密性の階層 校内、教職員内、一部教職員 学校内で機密性が必要 成績など保存が必要 個人情報など流出を防止 生徒氏名, 連絡網 学校内におけるセキュリティ (2): 学校内におけるセキュリティ (2) 情報をどのように共有するか? ネットワーク上に置く 誰でも閲覧 ネットワークに侵入されると、 無線LANから侵入されると、 何らかのウィルスやスパイウェアからの流出 ある種の制限、制御が必要 WindowsXP 2種類: WindowsXP 2種類 Home Edition 簡易ファイル共有 (WinXP Proも可) 問題点 共有フォルダーには誰でもアクセス可能 Professional Edition ユーザーごとのアクセス制御 アクセスの可否,接続数の制限など細かな制御 利用するコンピュータには 適切なユーザアカウントが必要 WinXPにおける暗号化 (1): WinXPにおける暗号化 (1) ProとHome Editionの機能の差 EFS Encryption File System: 暗号化ファイルシステム Proのみ 全てProで統一すれば利用できるが、 アカウントの統一的運用 EFSの秘密鍵の保管などの問題 EFS+CIFSだとネットワークからは丸見え ファイルのあるサーバ上で復号化 WinXPにおける暗号化 (2): WinXPにおける暗号化 (2) WebDAV + EFS ファイル転送後、クライアントで復号 但し、EFSの問題は残る EFS ユーザプロセスからは透過的 ウィルスからも! 結論 Windowsの独自機能による暗号化は 運用の可用性で劣る 標準規格を使うべし GnuPG (OpenPGP) WinXPによる共有の方法: WinXPによる共有の方法 共有の方法は? CIFS + 標準暗号方式 ネットワーク上に暗号化ファイル 復号化 ネットワーク上に書き込む危険性 Read only がベター CIFSだと、面倒 (アップロードとの非対称性) WWWやその上のCMSなどが整理の上でも良い CMS(Contents Management System) 情報の共有方法のお奨め: 情報の共有方法のお奨め Web上で管理 視認性、管理に優れている 認証を使ってアクセス制御 出来れば、CMSを使うと更に良し 更に機密性が必要ならば、 暗号化 標準規格 OpenPGP 実装 GnuPG CMS (1): CMS (1) blog, Wiki などはCMSを装備 用途が問題 CMSとして開発 → blog, Wiki は良い 逆は駄目 管理に階層性がある 権限が委譲できる コンテンツ管理が閉じている 出来れば簡単 ⇔ Enterprise CMS CMS (2): CMS (2) 欲しいモジュールがあるか? Wiki, blogだけでは困る カレンダー,スケジュール ニュース お知らせ フォーラム 議論できる Zope http://zope.jp/ , http://www.zope.org/ 豊富なモジュール, groupware (Plone) 管理は万全 moodle CMSではないが… LMS (Learning Manamgement system) 暗号: 暗号 暗号システム K(平文) → 暗号文 K-1(暗号文) → 平文 暗号の解読 暗号鍵 K, 復号鍵 K-1 共に知られたときに、暗号は解読された状態になる 対称暗号方式: 対称暗号方式 対称暗号方式 (共通暗号鍵方式) K = K-1 一つの暗号鍵のみを使う 暗号鍵を秘密にする必要(秘密鍵暗号) 通信に使う際には困難 暗号化, 復号化が早い DES (Data Encryption Standard) AES (Adbanced Encryption Standard) 非対称暗号方式 I: 非対称暗号方式 I 非対称暗号方式 (公開鍵暗号方式) K ≠ K-1 通信に当たって両者が鍵(暗号鍵)を公開 相手の暗号鍵を使ってメッセージを送る A 公開鍵 BK 暗号化 B 秘密鍵 BP 文 文 文 非対称暗号方式 II: 非対称暗号方式 II RSA 非常に大きな数の素因数分解は困難 21024~22048 21000=(210)100~10300 Public になったので ElGamal暗号 Diffie-Hellman交換アルゴリズム 離散対数問題 難問! 最初からPublic GnuPGでは標準 (RSAも使えるが) 公開鍵暗号方式のネック: 公開鍵暗号方式のネック 公開鍵をどうやって管理するか? 特別な所が管理 認証局(CA) CAに間違った鍵が置かれたら… 経費の問題 信頼の輪 Web of Trust 公開は適当にやる PKS:Public Key Server 正当性を別の人が電子署名で行う 正当性の保証の連鎖 何を信頼するかは個々人に委ねる 一方向ハッシュ関数: 一方向ハッシュ関数 暗号システムではないが 電子メイルなどの用途で開発 ハッシュ関数 例 151 → 15で割った余り 1 十分結果の集合が多いと 与えられた文に対して作られた値と同じ値になるような別の文を作るのは不可能(?) MD5 Message Digest (FreeBSD, OpenBSD) SHA Secure Hash Algrism ファイルの検証: ファイルの検証 ハッシュ値 一方向ハッシュ関数を用いて正当性 ハッシュ値は完全ではないが、今のところは 方法 ファイルのハッシュ値を計算 予め手に入れたハッシュ値を比較 用途 配布ファイルの正当性のチェック 既存システムファイルのチェック 改ざんのチェック 問題 ハッシュ値を改ざんされたら… PGP: PGP PGP (Pretty Good Privacy) 電子署名 公開暗号鍵方式を逆に使う 内容証明 一方向ハッシュ関数 暗号化 共通鍵暗号方式 鍵の秘匿 公開鍵暗号方式 本文 署名 ハッシュ値 暗号文 共通鍵 共通鍵 秘密鍵 鍵サーバ 公開鍵を公開 GnuPG: GnuPG PGP 商品, 暗号IDEAに特許 OpenPGP 標準化規格 (RFC2440) GnuPG (Gnu Privacy Guard) OpenPGPの実装 データ暗号化 AES,3DES 鍵管理、デジタル署名 CAST5,RSA 一方向ハッシュ関数 SHA,MD5 メイルに良く使われるが、ファイル一般に使える仕組み!! GnuPGへのメイルクライアントの対応: GnuPGへのメイルクライアントの対応 Outlook Express Plugin Akira Bekky Eudora Mozilla,Thunderbird Enigmail(ext) 電信八号 Plugin 秀丸メール cf. http://www.cla-ri.net/pgp/pgp04.html GnuPG 用のツール: GnuPG 用のツール gpg4win GnuPG 本体 WinPT 鍵管理 GPA 鍵管理(WinPTと少し違う) GPGol Outlook2003用プラグイン GPGee Explorer 用プラグイン Sylpheed-Claws mailクライアント Slide22: 時間的に Webサーバ単体での アクセス制御は困難 技術レベルも高くなる 運用的にも面倒 結局、CMSが便利 moodle でやります… 今日の実習: 今日の実習 仮想化ソフト VMplayer 大学の実習マシンの環境 ゲストOS FreeBSD apache+moodle, pks WindowsXP クライアント, GnuPG IPアドレスの変更 Webmin Webでの管理 apache の起動 moodle GnuPG VMware, VMplayer: VMware, VMplayer host OS (Windows, Linux) VMware (Workstation, Player) FreeBSD Linux WindowsXP guest OS guestOSとネットワーク: guestOSとネットワーク FreeBSD host OS Network moodle実行環境: moodle実行環境 moodle PHP Apache MySQL or Postgres Database OS (Linux, FreeBSD, unix, Windows) 今日の実習: 今日の実習 仮想化ソフト VMplayer 大学の実習マシンの環境 ゲストOS FreeBSD apache+moodle, pks WindowsXP クライアント, GnuPG IPアドレスの変更 Webmin Webでの管理 apache の起動 moodle GnuPG