共通科目情報処理(講義)、体育専門学群対象、2002年02月28日 電子・情報工学系 新城 靖 <yas@is.tsukuba.ac.jp>
このページは、次の URL にあります。
http://www.hlla.is.tsukuba.ac.jp/~yas/ipe/taiiku-kougi-2001/2002-02-28
あるいは、次のページから手繰っていくこともできます。
http://www.hlla.is.tsukuba.ac.jp/~yas/ipe/
http://www.hlla.is.tsukuba.ac.jp/~yas/index-j.html
http://www.ipe.tsukuba.ac.jp/~yshinjo/
ファイルには、内容と属性がある。
ファイルの属性
インターネットの危険性
インターネットでの通信は、暗号化されていない。 (1つひとつのデータグラムは、はがきと同じ。) 流れるデータを見れば簡単に内容を知ることができる。
インターネットで通信する時には、通信相手に IP アドレスが渡されている。 (電子メールを送る時、WWWでページを見る時など)
電話でいうと、発信者番号(caller ID)が相手に伝わっている状態である。
IP アドレスから、コンピュータの名前(ドメイン名)を調べることができる (逆引)。
普通は、利用者の名前までは、わからない。しかし、ユーザ名とパスワードを 打った時にはログと付き合わせると、利用者が特定可能である場合が多い。
コンピュータの内部では、様々な操作のログ(log、航海日誌)が取られている。
協調して動作しているプログラムの間で、ある一連の作業を識別するための数 を意味する。
WWW(World Wide Web)では、1回のデータ転送ごとに通信路が切断される ので、通常はWWWのブラウザ(クライアント)とWWWサーバの間では、途 中経過を保持することができない。
途中経過を保存したい時:
WWWで途中経過を保存するためには、cookie が使われる。
普通のWWWサーバでは、要求を送ってきたコンピュータのIPアドレスを記 録しているので、コンピュータ単位でのアクセス状況を記録することはできる が、個人を特定することはできない。
クッキーを利用することにより、コンピュータではなくどの個人がアクセスし てきたかを記録することができる。
クッキーから電子メールのアドレスや氏名まで調べることはできない。 しかし、インターネットをサーフしている間にどこかでそれを打ち込んだが最 後、クッキーと電子メール・アドレスや氏名との対応が記録されてしまう危険 性がある。
参考
Netscape社によるWWWにおけるクッキー実現の案
http://www.netscape.com/newsref/std/cookie_spec.html
インターネットの仕組みの基本:どのコンピュータとコンピュータも通信できる。
防火壁では、そのような本来の仕組みに制限を設け、特定のコンピュータとし か通信できないようにしたり、特定のサービスしかつかえないようにする。
攻撃の対象となるコンピュータの数を減らし、集中的に侵入対策を施すことで、 セキュリティを高める。
防火壁構築は、様々な技術の集合:
2000年5月1日に、筑波大学の入り口でパケット・フィルタを行うようになった。
壁を越える時には、壁の上で WWW Proxy を動かすことがある。
ワーム(worm)は、他のプログラムに寄生しない。
ウイルスといっているものの中には、ワームやトロイの木馬も含まれる。
暗号が使われてきたグループ4つ
暗号とは、情報の意味が当事者以外にはわからないように情報を変
換することである。
図? 暗号の考え方
答え:
暗号化の方法が秘密になっていると、一見、より強そうにみえる。しかし、そ の暗号が、強いのか弱いのか調べる方法がない
鍵を長くするだけで、安全性が指数関数的に高くなる。
鍵を1ビット長くすると、解読時間が2倍になる。
(「鍵の長さを2倍にすると解読時間が2倍になる」は、誤り)。
図? 指数関数 図? 指数関数
パスワードは、コンピュータの中では、暗号化の鍵として使われる。 長いパスワードは、破られにくい。1文字(大文字小文字数字記号)増やすと、 総当たりで解読に要する時間が、50倍から100倍近くかかるようになる。
暗号の安全にとって、最近のコンピュータの高速化と低下価格下は、 1つの脅威となっている。
SETI (the Search for Extraterrestrial Intelligence)。
暗号の方法は、大きく2つに分類される
Caesar暗号は、知れている最後の暗号である。 平文アルファベットをN文字ずらした暗号文アルファベットに変える。
N=2 の時の対応表
abcdefghijklmnopqrstuvwxyz CDEFGHIJKLMNOPQRSTUVWXYZAB暗号の説明では、平文を小文字で、暗号文を大文字で書く習慣がある。 カルタゴ人以来騙された人はいない。
N=13 で、大文字小文字を保存する方法を、rot13 暗号という。rot13 は、電 子メールやネットワーク・ニュースで「ネタばらし」の部分を書く時に使われ る。
数の集合から、無作為抽出で抜き出された数。
真性乱数。ビット列にすると、0と1の発生確率がそれぞれ1/2で、各ビッ トは他の部分と独立(iid(independent and identically distributed)) である。
物理乱数。量子力学の効果を増幅してディジタル化したもの。 平滑化して0,1のバランスをとれば、真性乱数になる。
疑似乱数(pseudo random number)。種(seed)と呼ばれる入力ビットパタンを基 に計算された、種よりも長いランダムに見えるビット・パタン。種が決まれば 出力乱数は一意に決まる。
例:
乱数表: 0 18 19 22 22 7 9 4 14 3
平文: h e l l o w o r l d 8 5 12 12 15 23 15 18 12 4 暗号文: H W E H K D X V Z G : 8 23 5 8 11 4 24 22 26 7乱数表そのものや、大きな乱数表の中でどこから使い始めるかを鍵にすること ができる。
真性乱数を使うと、解読する方法は数学的に存在しないことが証明されている。
しかし、真性乱数を使うことはコストが大きい。 送信側と受信側で同じ真性乱数を作るのが大変である。
乱数表を記憶する変わりに、疑似乱数を使う方法がある。使う疑似乱数の性質 が悪いと簡単に解読される。
実際には、文字をずらすのではなく、足し算、引き算や、排他的論理和と呼ば れる計算が使われることが多い。
公開鍵暗号系(非対称暗号系)では2つの異なる鍵を用いる。 便宜上、この2つを公開鍵と秘密鍵と呼ぶ。
これらの鍵は、互いに相手の逆関数になっている。
図? 公開鍵暗号を使った暗号通信の手順
ここで、公開鍵から秘密鍵を計算することは難しい。ある平文を公開鍵で暗号 化してみたところで、秘密鍵を得ることは難しい。
公開鍵暗号の利点は、鍵を管理する手間が掛らないこと。
認証とは、情報の正当性や完全性を確保する技術である。
ディジタル署名では、通常の署名と同様に、次のような性質が必要である。
公開鍵暗号系を使ってディジタル署名を行うことができる。
図? 公開鍵暗号を使ったディジタル署名の手順
メッセージ全体を暗号化する代わりに、メッセージを平文で送り、それにメッ セージを一方向関数(ハッシュ関数)と呼ばれる方法で計算した結果だけを、 秘密鍵で暗号化したものを送る方法もある。一方向関数では、計算結果から元 の値(メッセージ)を計算することが難しい。
ディジタル署名や利用者認証は、公開鍵暗号系ではなく、共通鍵暗号系を用い ても可能である。ただし、この場合、鍵を管理する信用できる管理センターが 必要となる。
単なる暗証番号の場合、通信を傍受されたら終り。
よくつかわれるもの。
少し前まで、輸出用 WWW ブラウザは、鍵の長さが40ビットに制限されてい た。今は、128ビットまで使える。
証明書の内容
X.509 形式(バイナリ)を、テキストに変換したものの例:
Certificate: Data: Version: 1 (0x0) Serial Number: 0 (0x0) Signature Algorithm: md5WithRSAEncryption Issuer: C=JP, ST=Ibaraki, L=Tsukuba, O=University of Tsukuba, OU=COINS, CN=Distributed Systems/Email=yas@is.tsukuba.ac.jp Validity Not Before: Feb 18 14:42:56 2002 GMT Not After : Feb 18 14:42:56 2003 GMT Subject: C=JP, ST=Ibaraki, L=Tsukuba, O=University of Tsukuba, OU=COINS, CN=Distributed Systems/Email=yas@is.tsukuba.ac.jp Subject Public Key Info: Public Key Algorithm: rsaEncryption RSA Public Key: (1024 bit) Modulus (1024 bit): 00:d0:94:49:23:dd:29:10:f4:c5:d9:df:07:72:07: 91:14:5c:a7:2a:0c:96:51:b5:93:31:a9:09:c0:1d: f0:3f:5b:61:3f:bc:75:14:b8:54:49:f6:e7:db:a6: 9f:22:0c:af:23:a4:8a:70:fb:96:56:cc:26:fa:f8: ce:47:32:2a:ea:f6:12:64:96:4a:73:11:52:f7:fa: 15:2a:6f:8a:60:f4:77:f5:e9:dc:cc:2f:37:bc:a5: ef:7a:a5:13:48:73:ad:c3:a5:90:15:9b:c8:94:f0: 9b:33:39:2f:a4:6e:8d:61:c0:54:3f:5b:5f:4e:a9: 30:a6:a3:cd:a0:e8:2b:80:89 Exponent: 65537 (0x10001) Signature Algorithm: md5WithRSAEncryption a4:eb:18:03:f4:0a:93:cc:ad:fd:75:5b:60:b0:5c:ec:3f:2e: d5:fc:92:cc:41:d4:69:66:5b:5b:19:16:8f:e9:35:78:2d:1d: ad:c2:81:79:d8:7f:6d:68:8f:a5:5a:7c:f7:22:1f:69:a6:66: 28:c6:3a:59:26:c2:57:92:c6:8d:8c:94:75:5e:4c:33:af:17: e7:d2:28:9a:06:f8:c6:86:5c:67:8b:e2:f9:fc:c9:d6:b6:f7: b3:8b:3d:0f:cd:c3:b5:a9:f8:bd:41:88:27:2e:35:fb:93:fb: e9:93:f4:ae:b3:49:1e:b9:db:c5:16:a6:38:b0:7e:ef:ce:a9: 17:fdこの例は、自分の秘密鍵で自分を公開鍵を署名したものなので、何の証明にも なっていない。
証明書がついていたとして、それが本物であるかをどうやって確認するか。
認証局(CA, Certificate Authority)に、証明書を発行してもらう。(認証局の 秘密鍵でディジタル署名をしてもらう)
その認証局は、信頼できるか?
WWWブラウザには、ルート認証局の証明書が予め含まれている。
末端のWWWサイトは、ルート認証局、または、中間認証局から発行された証 明書を提示する。
接続時に、乱数(共通鍵暗号に基づく暗号化の鍵を生成するため)を交換する。 その乱数は、普通、サーバ側が提示した証明書に含まれている公開鍵で暗号化 される。
ハンドシェークで使われる公開鍵暗号系
データを暗号化するために使われる共通鍵暗号系
~/Mailbox
があることを確認する。
次に、ls -ld というコマンドを使い、一番左の表示が -rw-------
になっていることを確認する。
% ls -ld ~/Mailbox-rw------- 1 yshinjo teacher 5438 Feb 20 16:53 /home1/yshinjo/Mailbox %
![]()
同様の手順で、次のようなファイルやディレクトリの状態を調べなさい。
~
~/www/
~/www/index.html
Windows 2000 で、z:\Mailbox というファイルのアクセス許可を調べる。
Z:
ドライブを開く
Mailbox
を右クリックして「プロパティ」を開く
z:\
z:\www
z:\www\index.html
Tera Term (Windows 2000 用のTelnetプログラム)で接続する方法として、次 の2種類があることを確認しなさい(他にもある)。
Netscape
https://wmail.cc.tsukuba.ac.jp/,学術情報処理センターの Web Mail
を開く。