「インターネット概論」の目次

5. セキュリティ・プライバシー・情報通信倫理

平成9年12月31日16時40分版

 今月は,「セキュリティ・プライバシー・情報通信倫理」のテーマで 話していきたいと思います.話の順序としては

と考えています.いつものように時々脱線すると思いますがよろしく!

 セキュリティ関連の話は一応私自身が暗号やセキュリティの専門家だと 言われているのでよく話をします. その時の箇条書きの原稿がありますので, それらを頭に使いながら説明する事にします. セキュリティなどを話すにあたって暗号理論のような基礎知識や, 反対に実際の業務などでのセキュリティの応用についてはあまり触れられません. 私のホームページにもコンピュータ犯罪シンポジウムで話した 「インターネットと暗号理論」や 関西大学で話した 「インターネットでのセキュリティ技術」の ホームページがあるので参考にして下さい. 特に後者の原稿と今回のものは前半部が同じだと思いますが, 実際に喋っている事は異なる所があると思います.


5.1 セキュリティ概論

 まず,セキュリティの始めに 「ハッカー(hacker)」と「クラッカー(cracker)」の違いについて 話して見たいと思います. セキュリティ,特にインターネットのセキュリティに関しては 「ハッカー」は善い人であり,「クラッカー」は犯罪者に近い人です. この点ははっきりとさせておいて下さい. ハッカーとは,「1つの事に一生懸命になって,本来の自分の仕事 (学生なら勉強する事,企業人なら儲けにつながる事,そして私なら論文を書く事) はほっておいて好きな事(ソフトウェア作り等)に打ち込む人」という定義や, 「コンピュータ等の仕組みをとことん調べる人 (マニュアルに書いてない事までやるひと)」というのがあります. それに対して「クラッカー」は名前の通り破壊する人ですね. 最近ではやっとマスコミでも,この違いを分けて書いてくれる所も出て来ました.

 よくセキュリティが強いとか弱いとかいいますが, この表現は0か1かという気持ちであって, まったくセキュリティに弱いシステムも, 完璧なシステムもないという意味で正確ではありません. 一般にセキュリティはそれを守る/破るのに必要な 資源(リソース)の量で測るのがいいようです. 資源とはかかる時間であったり,人件費であったり, コンピュータの価格であったりします. 例えば銀行カードの暗証番号を考えてみると4桁の数字を入力しますから, 1万回番号を入力すればいつかは当たります. キーを1万x4で4万回キーを押す事になりますね. この時間だと考えてもいいし,その時間分の人件費だと考えても構いません. いずれにせよ,セキュリティを強くしたければ 費用がかかるのは仕方がないことだと言えます. その費用をなるべく安くして 効率良くセキュリティを強くする事が大事な事になります.

 セキュリティをオープンに守るかクローズにして守るかも1つのポイントです. 従来まででしたらセキュリティはクローズにして守るものでした. 暗号の世界でも1970年代までは鍵を秘密にしたのでそうでしたが, 1970年代後半に「公開鍵暗号系」が提案されてからは, システム自体はある程度オープンにして, 数学的な難しさで守るようにもなりました. また,UNIXやインターネットで代表されるのはオープンな世界でしたから, セキュリティも「攻められながら守る」というスタンスも出て来ました. これについてはインターネットのセキュリティで話したいと思います.


セキュリティに対する脅威

 セキュリティに対する脅威としては,上に挙げたものがあります. 一般にセキュリティと言った場合には上記全般ですが, コンピュータ犯罪というように絞った場合には 最後の「犯罪や悪用」の所が対応します. しかし,最初の物理的な脅威も対策が必要です. 私もガス爆発や地震や落雷によるネットワークやコンピュータの故障や, 停電によるハードディスクの破損等の天災や事故の被害は実際に受けています. これらも予防方法や,やってはいけない事が分かっていれば未然に防げます. 人災での不適切な設計は,あとでセキュリティ・ホールとして話をします.

 このような脅威として受講生の方が気をつけるとしたら,

等があります.

 いずれも私の周辺であった事で,飲物は分かりますね. 煎餅事件は,煎餅の粉がキーボードの中に入って誤動作したものです. 電源のコンセントを誤って抜いたり,つまずいて抜いたりする事があります. OAコンセントでは捻る等してロックが掛かるものがあるので, 大事なものにはちょっとだけお金をかければいいのです. なまじ無停電電源を付けているとコンセントが抜けても10分程は持つので, 100Vの供給がなくなったのに気がつかない事があるので注意です.

 計算機室で仕事をしていたら,PCを操作した学生が電源が落ちたと騒ぎだしました. 私はUNIXのワークステーションで直接仕事していたので 誰かがPCの電源を切ったと思ったのですが(私の操作するマシンは動いている), 数分してひょっとしたら実際に元の電源が切れて, ワークステーション系は無停電電源で動いているのでは 疑って調べたらまさにそうでした. 原因は学生が歩いているうちに電源コードを抜いたようです. これもshutdown機能付きの無停電電源を買えば完璧ではありませんが 間違いは少なくなります. もっとも電源コードをこのように蛸足配線しているのが悪いのですが,

 犯罪とは行かなくともデマのメール等は困ったものです.「Hoax」という 言い方をするようです.これもまったく悪意がなくとも結果的に迷惑を かけている事があるので注意して下さい. メールの場合は,送ったメールを読む人(達)がどのような人(達)であるかを 送る前にじっくり考えて送信するのが重要です. デマ(hoax)に関しては, Symantec社jadeの ホームページを参考にして下さい.


5.2 ネットワークのセキュリティ

セキュリティの層

 セキュリティを3章で話したネットワーク階層で説明してみましょう. 1層の物理層や2層のデータリンク層では, 盗聴やより積極的な信号の挿入等の対する対策が必要になります. 通信も有線の場合や無線の場合で, それぞれの通信の形態に応じて盗聴手段があります. あまり泥棒の手口はここでは書く事はできませんが, 手口が分かれば比較的簡単に実行できるのが恐い所です. 何気なく使っている通信機器(コードレス電話等)も 案外セキュリティ的には強くありません. この講義の部分は受講生以外にも読まれているようなので, ここではこれ以上には書かない事にします. 受講生の方はメーリングリストの方で質問して下さい^_^.

 3層はコンピュータ間の通信の層だと以前に話しました. 専門的にはIP(Internet Protocol)層ですね. このIP層より上の階層でのセキュリティの掛け方は, 技術が進歩しているので細かく設定する事ができます. この講座でも受講生のページはパスワードで入れるようにしていますが, 大阪市大からだけしか入れないとかの制限は加えていません. この制限はWWWサーバのアクセス制御なので, 7層のアプリケーション毎のセキュリティとも考えられます. しかし,あるコンピュータだけのアクセスを許すとか, あるネットワークからのアクセスは許可しないというのは, この層でのセキュリティです.

 4層はプロセス(プログラム)に共通な処理の層だと話しました. TCP/IPで言う所のTCP(Transmision Control Protocol)です. TCPは信頼性の高い相互確認付きの通信方法ですが, もう1つの4層のプロトコルにUDP(User Datagram Protocol)があります. 投げっぱなしの通信です. UDPは通常はネットワーク内部で用いられ, インターネットには通さない事が多いのですが(特に企業では), 最近は画像系のサービスでインターネット的にも使われるようになってきました. そのため,そのUDP番号だけは通すような事をしている組織もあります. 「UDPの穴を開ける」といった表現をします. これはTCPが1パケットでも流れなかったら基本的には進めないのに比べて, 画像や音声では適当にパケットが欠けてもセッションが成り立つからです.

 この4層の部分の制御は組織(イントラネット)とインターネットの関係や セキュリティ対応として大事な所です. インターネットではIPを使うのと言うのは了解事項ですが, 通信規則にはIP以外にNetwareで用いられるIPXや, 最近,Windows系で用いられているNetBEUIと言われる 通信規則(プロトコル)があります. NetBEUIはWindows系のPCを簡単に相互接続するのに使われますが, インターネットでの利用はあまり考えられていません. 設定をなおざりにしておくと, 知らない間に知らないPCからファイル共有されたりするので気をつけてください. NetBEUIが外に流れなくとも,IPのパケットの中にNetBEUIを入れる事が可能なので, 大阪市大ではインターネットとの間で, このようなパケットを流れないようにしています.

 5層はセッションに関するセキュリティです. セッションと言うと難しそうですが, 受講生の多くの方は商用プロバイダにPPP接続をして, メールの取り込みにPOP(Post Office Protocol)を使っていると思います. このようなプロトコルは, 認証の仕組みを持っているのでパスワードが必要なはずです. このような1つのセッション

でのセキュリティとしてパスワードを使う事で認証をするわけです. PPP接続でもPAPと言われる認証と,CHAPと言われる認証があり, 特に後者ではパスワードが そのままネットワーク上を流れないという便利さがあります.

 6層は文字列や画像のセキュリティで,メールを暗号化するような事をさします. 最近では暗号化電子メールも徐々にではありますが使われ始めています. 今の所は,同じ環境どうし(UNIXとUNIXとか,EudoraとEudora等)でないと 難しいでしょうが,今までの他の技術の進歩の歴史を考えるともう2,3年で 容易に普通に暗号化メールはできると思います. この暗号化メールもアプリケーション層のセキュリティと考えられますが, 基本になるのは文字列や画像等の暗号化になります.

 最後はアプリケーション層でのセキュリティです. WWWサーバでのアクセス制御や,電子メールのセキュリティもこの層です. インターネットでは1千万台のコンピュータが接続されていると言われていますが, 基本的にはサーバと呼ばれるコンピュータには誰でもがアクセスできるはずです. しかし,サーバ側ではインターネット全体にサービスしているアプリケーションと, そうではなくイントラネットだけにサービスしているアプリケーションがあります. もっと細かく言うと, ある種の人達だけにしかアクセスして欲しくないサービスもあります. このような場合にはちょっと複雑なアクセス制御が必要ですが, これはTCPの層で一括して制御しておけば, 各アプリケーション毎に記述する必要はありません.

 WWWサーバマシンは誰からでもホームページを見てもらうように, WWWサーバマシンのWWWサーバ・プログラムにはアクセスは許しますが, WWWサーバマシンそのものにログインは限られた人しかできないように制限をします. 所がホームページの制作を外部の所に委託すると, うまくアクセス制御を掛けておかないと,思わぬ事が起こったりします (勝手にホームページが書き換えられた事件). アクセス制御の話しだけをしましたが, 実際の運用では記録(ログ)を取るなどの処置が必要になります.


5.3 インターネットのセキュリティ

 5.1や5.2ではネットワークのセキュリティという立場で話をしました. とは言ってもTCP/IP等とインターネット的な話し方も後半ではあったと思います. ここでは,もう少しインターネットに特化した事を説明しましょう.

 インターネットは1970年頃から研究者ネットワークとして始まりました. 同じ頃にUNIXというOSも誕生しています. インターネットもUNIXもオープン性が売りです. また研究者ネットワークという事で, いろいろと実験的にも試みが多くなされてきました. (同時に軍のネットワークとしても発達したようですが, これはあまり表には出てこない事ですね.) このオープン性はセキュリティの面から考えると危ない事だと考えられます. しかし,セキュリティそのものも, 「秘密にする」といったあまり数学的には評価できない事を 基準にしていた事も事実です. 5.1でクローズにして守るといった事はこの事を指します.

 しかし,インターネットやUNIXではオープン性が売りものなので, セキュリティに対しても完璧なものはありませんから, 攻められれば守ろうというスタンスで作られているのではないかと思います. もちろん,最初から破られるために設計するのではないのですが, どうしても設計者とユーザは考え方が違いますし, そのユーザもヘビーユーザといわれる人は設計の欠点が分かりますので, 興味の対象としてアタックをしたりして,セキュリティの穴を見つけてしまいます.

 ここの所がハッカーとクラッカーの線引きの難しい所になります. この講義の最初の箇条書きには書きましたが説明しなかった事に, 「警察と知能(愉快)犯」とあるのはこのあたりの事を指します.

 セキュリティには完璧はありません. またどんなにセキュリティに弱いシステムでも 誰もが破ろうとしなかったら問題はありません. セキュリティは強くすればする程, そのシステムが使い勝手が悪くなると言われています. 使い勝手を「利便性」と呼ぶと,セキュリティと利便性は反比例の関係にあります. では,セキュリティを強くすると本当に利便性が下がるかと言うと, 下がるのは下がるのですが,その低下の割合は技術力があると低くなります. また日々の運用をしっかりしても, セキュリティにも強く,利便性が高いシステムは構築できます. 上に挙げた「セキュリティx利便性=技術力x運用力」は私が言ったのではなく NECの佐野さんが言われた言葉ですが,いいえて妙だと思います.

 システムのセキュリティを調べるソフトウェアが複数あります. たとえばパスワードの調べるツールがその代表の1つです. UNIX系のパスワードは8文字で暗号化されてファイルに保存してあります. 暗号化されているので, そのファイルを入手してもパスワードは分からないはずなのですが, 実際には簡単にパスワードはすぐに分かってしまいます. このパスワードをチェックするソフトウェアは, もともと簡単な, すぐ分かるパスワードを作成しないようにと作られたソフトウェアなのですが 公開されているので, クラッカーが手に入れるとパスワード解読に悪用されてしました. 受講生の皆さんも辞書にあるような簡単なパスワードは使わないで下さい. パスワードについては, 私が別に書いた 文章 (学内のネットワークのホームページにある)もあるので参考にして下さい.

 セキュリティを守るための手段としては,「アクセス制御」と「認証」があります. アクセス制御については幾つかの例を今までに示しました. 認証については次節で取り上げるつもりです. 多くのシステムでは, この2つの方法を組み合わせてセキュリティを強くしています. しかしインターネットにもコンピュータのソフトウェア(たとえばUNIX)にも 限界があるので, 更に強いネットワークやソフトウェアを併用する事が大事だと思います.

 セキュリティの穴についてはすでに何回か直接または間接的に示しました. 歴史的には1988年に「Internet worm」と呼ばれる事件があり, それをきっかけにアメリカでは CERT(Computer Emergency Responce Team) が出来て, このようなsecurity holeに対する対策等について広報等の活動をしています. 日本でもこの CERTの日本版不正アクセスに対する委員会警察の コンピュータ犯罪に対するものがあります.


5.4 認証とパスワード

認証

 認証とパスワードについては時間の関係で簡単に説明します. 箇条書きでは,誰(何処)が誰(何処)に認証してもらうかのカテゴリーと, どのような要素で認証してもらうかを書きました.

 ユーザVSホストでは,パスワードやIDカード等が分かりやすい例だと思います. ホストVSホストでは,PPP接続でのパスワードがこれにあたります. ユーザVSユーザではソフトウェアが介在しますが, 暗号化電子メールがこれに対応するかと思います.

 まだあまり大げさには取り上げられていませんが, 偽のホスト(サーバ)の問題はこれから出て来ると思います. その意味では認証も片方向でなく,双方向性が大事になってくるでしょう. 少し視点はずれますが匿名の問題も, パソコン通信のハンドル名を考えると無視できない問題だと思います. パソ通出身者は気軽にハンドル名を使われますが, 古くからのインターネット人間である私は未だにハンドル名がしっくりきません. まあ,仲間内では問題はなく逆に親しみやすいでしょうね.

 認証のために使われる手段として3つの要素を書きました. 身体的特徴は指紋のようなものです. 知っている事の代表はパスワードや暗証番号でしょう. 持っているものはICカードのようなIDカードです. もちろん,これらの要素の組み合わされたものもあります. 手書きのサインは身体的特徴と知っている事も組み合せと考えられます. これからはパスワードとICカードのような 2通りの認証を使うようになるのではないかと思います. これに重要なシステムの場合は身体的特徴を加えるのでしょう.

 パスワードについてはすでに前節で触れました. UNIX系のパスワードは8文字なので,これに準じるパスワードは多いようです. 8文字のパスワードの脆弱性はすでに指摘されていて, パスワードからパスフレーズ(pass phrase)の考え方が出ています. 8文字ではなく最低でも20文字以上の文字列にします.

 前節の箇条書きの最後で 「SOHO時代のセキュリティ」のいうキーフレーズがでました. この場合のセキュリティの1つが One-Time-Password(OTP)と言われるものです. 毎回,パスワードが変わる仕組みです. 盗聴の可能性がある電話線やインターネット経由でサーバに入る時に使います. 当然,パスワードは覚えてやれないので, ICカードのようにものに毎回変わる仕掛けを埋めておく事になります. この仕組みもいろいろなものがあります. 参考書として「インターネット・セキュリティ」を挙げてあります. この3章が認証なので興味のあるかたは参考にして下さい.

 認証ではデジタル署名等の話しもしないといけないのですが, インターネットが主題の講義なので,この程度の話しにしておきます. 暗号理論もかじってみたいという方は, 参考書として「ネットワーク・セキュリティ」も加えておきました. 基礎からやるにはこちらがいいでしょう.


5.5 ネットワーク・アプリケーションのセキュリティ

 アプリケーションのセキュリティは, それぞれのアプリケーションに特有の問題 (いくつかのアプリケーションに共通のものはあります)を扱います. アクセス制御や認証をどのように具体化しているかとも考えられます. 順に見ていきましょう.

 メールの送信や配送に用いるSMTP(Simple Mail Transfer Protocol)の方の 電子メールは,歴史が古い分だけセキュリティには配慮がなされていません. そのため,アドレスの「なりすまし」や,電子メール爆弾や, SPAWNメール等の問題を起こしています. メールアドレスのなりすましは, WindowsやMACで簡単にインターネットが出来るようになったことの 見返りのようなものだと私は思っています. 一番大きな問題はSMTPのプロトコルに認証の機能が入っていない事でしょう.

 それに対してPPP接続やサーバ・クライアント接続で 急速に使われるようになった電子メールのPOP(Post Office Protocol)は ユーザ認証の仕掛けを持っています. これは特に商用プロバイダが企業責任として必要なために プロトコル自体も改善がされています. POPの弱点はパスワードがインターネット上を生で流れる事です. そのため外部から組織内へのPOPアクセスを禁止している所は多いはずです. これもPPP接続でのCHAPでのパスワード認証のように(Challenge and Responce形式) パスワードが生では流れないようになると思います.

 暗号化電子メールそのものも,PGP(Pretty Good Privacy)のような 世界標準になりそうなものが出てきています. 電子メールの暗号化については前半でも触れましたが, この暗号化は単の本文の秘匿性だけではなく, 署名をつける事によって発信人認証や,本文認証(改ざん防止)を行なう優れものです.

 ニュースシステムでも発信人のなりすましは問題になっています. 電子メールと同じように,アドレスをPC系では自分で設定出来るからです. ニュースで今年の始めに問題になったのは, ニュースサーバに対するパスワードファイル攻撃です. 多くのニュースサーバがこの攻撃を受けています. ニュースでは通常の記事の送受信だけでなく, 新規のニュースグループの作成のために制御メッセージが流れます. この制御メッセージがプログラム的に書ける盲点をつかれました. 大阪市大の5つぐらいのニュースサーバのうち2つで攻撃された形跡があったので, その2つのニュースサーバにアカウントのある人に連絡して パスワードが替えてもらいました.私も替えましたが^_^;

 WWWサーバのセキュリティでは, このサーバプログラムの動作するサーバマシンのセキュリティと, CGIのようなWWWサーバの周辺を含むWWWサーバプログラムのセキュリティ等に 分かれます. また,ホームページ作成のセキュリティもあります. この点については前半でも触れましたが, インターネット側からホームページを作成してもらう事もあるので, 運用も含めてしっかりとした形をとらないといけないでしょう. WWWサーバのマシンのユーザにはパスワードをしっかりつけ, ホームページ作成だけにアカウントにはFTPだけのアカウントを出し, 更にはアクセス制御して,記録も取っておくことが大事になります.

 CGIも基本的にはプログラムなので,自由にユーザに作成させると 思わぬトラブルを起こす事があります. 大阪市大の情報処理教育用システムでは学生にはホームページを自由に 情報処理教育の一貫として作成させていますが,CGIが原則禁止になっています. どうもCGIと言っても訪問者カウンタが主なようなので, このカウンタについてはユーザが簡単に設定できて, セキュリティ的にも大丈夫なようにしてあります.

 WWWブラウザでもNetscape NavigatorやInternet Explorerで セキュリティホールが見つかっています. WWWブラウザの古い版では,ある仕掛けをされたホームページを見にいくと PCのファイルが破壊されるような問題です. セキュリティホールと言っても,プライバシーホールのような所もあります. ホームページをアクセスに行くと,通常はそのマシンのIPアドレスが WWWサーバに記録として残るのですが, ついでに個人情報(WWWブラウザに書いてあればですが)も届いてしまう場合があります. WWWサーバではこのような個人情報は欲しい時もあるので, 個人情報そのものではなく, 中間的な情報(20歳台とか既婚とか)だけを送るような試みもしています. 私のホームページには実験的なものがありますので 興味があったら参加して下さい.

 電子メールと並んで古くからあるネットワーク・アプリケーションに 遠隔端末(Telnet)があります. 私がいま大晦日にも関わらずこの原稿を自宅で書いているのも, このTelent機能を用いて研究室のワークステーションに ログインして仕事が出来るからです. このtelnetもデータが生で流れるので,パスワードさえも流れます. 私の場合は,自宅と研究室をISDN電話で接続しているので ほぼ大丈夫ですが (「ほぼ」の意味は,同じLAN上にあるマシンでは盗聴可能ですが, このLAN上には仲間しかしないからといった意味です) 幾つかのネットワークを越える場合にはセキュリティが強いとは言えません. これに対応するにはセキュリティに強いtelnetを作るか, もう1つの答えはIPパケットそのものを暗号化してしまう事です.


5.6 プライバシー


5.7 情報通信倫理


5.8 おまけ:ウィルスとワクチン

 ちょっと待って下さい!
目次に戻る