Powered by SmartDoc

コンピュータ概論(2009/10/09)
Ver. 1.1

2009年10月9日
栗野 俊一
kurino@math.cst.nihon-u.ac.jp
http://edu-gw2.math.cst.nihon-u.ac.jp/~kurino/comp/index.html
コンピュータ概論2009/10/09 の資料

目次

お知らせ

  1. くどいようですが、講義時間にwindows updateを行うのは止めてください。Networkが混む原因になりますから。

    講義終了後(演習の時間)などに、空いている教室などを利用して実行してください。

    僕は、必ず行っています。環境の統一という観点からも、受講者全員がwindows updateを行っていることが望ましいと思います。

演習

pgp のinstall

前回、pgpがinstallできなかった人は、「pc」でloginして、installしてください。「login IDが日本語だとだめ」なようです。

「pc」でloginしても、別のIDで正常に利用できるようです。

PGPKeys の利用法

PGP Key Pair の生成

PGPでは、公開鍵暗号方式を利用しています。公開鍵暗号方式では、利用者固有の鍵対( key pair,秘密鍵と公開鍵)をそれぞれ、利用者別にもち、それを他人から隠す(2)ことによって、暗号の安全性や個人認証の機能などを保証(3)します。

したがって、PGPをはじめるには、まず、自分専用の鍵を入手(4)

もちろん、このような鍵を生成するにも、プログラムが必要なわけで、そのプログラムがPGPKeysなわけです。

  1. 実際は、秘密鍵のみを秘匿し、公開鍵の方は、逆に広く他人に知らせなければ、あまり意味がない。
  2. つまり、利用者が、「秘密鍵を守る」という行為を厳守しないかぎり意味がないわけです。例えば、いかに、厳重な錠を取り付けても、鍵を掛けないければ意味がありませんし、また、とっても複雑なパスワードが必要なシステムでも、そのパスワードが書かれた紙がディスプレィの右上に張ってあるのではまったく意味をなさないのと同じです。
  3. 実際は、乱数を利用して、各自新規に新しく作る。もちろん、乱数なので、偶然、同じ鍵になる可能性がありますが、確率的にほとんど問題ありません。

PGPKeys の起動

PGPKeyの起動は、簡単です。

[スタート]→[全てのプログラム(P)]→[Programs]→[Pretty Good Privacy]→[PGPKeys]

でもかまいませんし、右下に「鍵付きの封筒(PGPTray)」のアイコンをクリックするとメニューが表示されますので、その中の[Launch PGPKeys]を選んでもOkeyです。

秘密鍵の生成

新しい鍵対の生成
新しい鍵対を成を作るには、PGPKeysの[Keys]→[New Key]を選びます。
鍵の持ち主

新しい鍵を生成しようとすると、その鍵の持ち主を識別する情報として、Full Nameとe-mail addressが尋ねられます。

重要なのは、後者で、鍵は、本来e-mail addressと結び付けられるのですが、e-mail addressは、無意味文字のこともありうる(5)ので、利用者の便利のために、本名もデータとしてもつわけです。

Full Nameはローマ字で、e-mail addressは、自分のe-mail addressを入れましょう。

keyの有効期間
Key Expirationは、そのkeyの有効期間ですが、まあ、1年(下の方を選びます)が妥当(6)でしょう。
PassPhrase (パスフレーズ)

公開鍵暗号方式では、「秘密鍵を本人だけが知っている」ということが、重要です。したがって、鍵を利用するときに、「本人自身が秘密鍵を入力する」という形が一番望ましいのですが、しかし、残念ながら、通常の秘密鍵は人間の覚えられるようなものではありません。

そこで、その秘密鍵を暗号化し、その暗号化のための鍵を別に用意します。その「秘密鍵の暗号化のための鍵」がパスフレースなわけです(7)

以下、PGPでは、秘密鍵が必要な場面では、その秘密鍵を利用するために、パスフレーズが必要になりますので、是非、覚えやすく、長いものに設定してください。

「パスフレーズ」として望ましい条件は、次の通りです。

他人に分かりにくい
長くします。
自分が忘れない
自分だけが知っている内容にします。

具体例(8)としては、次のようなものがあります。

  1. 小学校に入ってから自分が失恋した人の名前5人分
  2. 入試の時に、どうしても解けなかった問題
  3. 個人的に秘密にしている内容から機械的に生成できるもの

だめな例としては、以下のものがあります。

  1. e-mail address
  2. 自分の名前
  3. 自分の住所
  4. 机の前に張ってある紙に書いてある言葉
  5. その他、公開されている情報に基づくもの

パスフレーズを決めたら、入力しましょう。他人に覗き見されないように、echo backされないので注意してください。

また、パスフレーズは、上の欄と下の欄に同じもの一度ずつ、二度入れる必要があります。上に一度目のパスフレーズを入れたら[Tab]キーを押して、下に行きそこで、もう一度、同じパスフレーズを入れます。

これで、最後まで行けばOkeyです。なお、途中で、先に進まない場合は乱数生成のために、Mouseを動かすことを要求していますので、Mouseを適当に動かしてみましょう。

  1. みなさんのe-mail addressも、学外者には、意味がないでしょう。
  2. keyは、できれば、同じものが使い続けたいのですが、最悪、ばれてしまう(これは、利用者の不注意による.. )こともないわけではないので、安全のために、時間が経てば自動的に無効になるようにしておくということです。

    もちろん、漏洩がなければ、継続して利用できるので、期限を区切ることが望ましいということです。

    この演習としては、後、半年有効であれば十分なので、まあ、1年あればOkeyという意味です。

  3. なぜ、このような形でも良い(この形にせざるをえない.. )のかに関しては面白い内容なので、自分で調べてみましょう。

    ただし、十分に理解するには、暗号と計算量に関する、ちょっとした予備知識が必要になります。

  4. 一応、ジョーク込みってことで...

演習:自分の鍵対を作ってください

自分の鍵を作ってみてください。

公開鍵の取り出しと配布方法

鍵対を生成すると、秘密鍵が、パスフレーズによって守られディスクに保存されます。しかし、これだけでは、利用できません。公開鍵を通信相手に送る必要があります。

この公開鍵をどのように相手に渡すかというのは実は、重要な問題(9)なのですが、今回の演習では、単にe-mailに送付して、送るという形で、実現します。

  1. 公開鍵を渡すことそのものは、今日の実習で行うように、単にe-mailで送付すればよいのですが、問題は、どうやって、「その公開鍵が、私のものであるということを保証するか?」です。最悪の場合は、詐欺にひっかかる可能性があるので、注意してください。

    今日の演習で、そこまで気の回る人間がいるとは思えないのですが...。

公開鍵の取り出し方

公開鍵を相手に渡すには、まず、それを取り出す必要があります。これもPGPKeysで行います。

方法は、以下のような手順になります。

  1. 自分のkey (新しく作ったばかり)のところで右ボタンを押し、メニューを出します。
  2. exportを選びます。
  3. 「保存場所」を「ディスクトップ」にします。
  4. 必要なら、名前を変更してみてください。
  5. 「保存」クリックします。

これで、ディスクトップに、公開鍵の入ったファイルが作成されました。

演習:自分の公開鍵を取り出してください

自分の公開鍵を取り出してください。

公開鍵の配布

公開鍵を配布するのは、電子的な情報(10)であれば、どんな方法でも構いません。

フロッピーにコピーしてくばっても、ファイル共有を利用しても、e-mailに送付ファイルでおくっても、いずれでも、構いません。

ただし、注意して欲しいことは、その公開鍵が、本当にその鍵に送付されている識別情報( e-mail並びに、名前)に相当するかは、別問題であることに注意してください。

  1. 実は、、新聞広告に印刷して配っても構いません。

演習:自分の公開鍵を友人に配ってください

自分の公開鍵を友人と交換してください。一番、簡単な方法は、e-mailの送付ファイルを利用することです。

あるいはファイル共有でもOkeyです。

ちなみに栗野の公開鍵も、入手しておいてください。

公開鍵の組み込み

他人の公開鍵のファイルが入手できたら、それの組み込みです。

組み込み方法は、やはりPGPKeysで、[key]→[import]でもOkeyですが、単に、「公開鍵ファイルを開く」でもOkeyです。

al-mail における pgp の利用法

これに関しては、詳しくは、ALPGP55を参照してください。

電子署名の方法

al-mailで、電子署名をする場合は、まず、通常の通りe-mailの内容を作成します。そして、[メール]→[PGPクリア署名]を選びます。

すると、パスフレーズが要求されます。これを入力すると。

すると、内容に対して、電子署名をつけた結果が表示されますので、それをそのまま送ればOkeyです。

演習:電子署名を送りなさい

友人と電子署名したe-mailを交換しなさい。

電子署名の検査方法

電子署名が正しいかどうかを判定するには、署名者の公開鍵が必要であることに注意してください。

公開鍵が組み込み済みであれば、メールVIEW画面で、[メール]→[PGP復号化・クリア署名の検証]すると、テキストビューア画面に、PGPクリア署名を含まない本文の内容が表示されます(11)。これと同時にPGPログウィンドが開き、クリア署名の検証結果を表示されるので、これを確認してください。

  1. 文字化けしているように見えるのは、漢字コードが異なる(iso-2022-jpで表示)ためです。ですので、問題はありません。むしろ重要なのは、次の「検証結果」です。

演習:電子署名を検査しなさい

友人からもらった電子署名済みのe-mailを検証しなさい。

暗号 mail の作成方法

al-mailで、電子署名をする場合は、まず、通常の通りe-mailの内容を作成します。そして、[メール]→[PGP暗号化]を選びます。

すると、どの公開鍵で暗号化するかを尋ねられるので、それを選択します。

すると、内容に対して、暗号化された結果が表示されますので、それをそのまま送ればOkeyです。

演習:暗号 e-mail を送りなさい

友人と暗号e-mailを交換しなさい。

暗号 mail の読み方

暗号化されたe-mailを読むには、メールVIEW画面で[メール]→[PGP復号化・クリア署名の検証]とします。

暗号を解くには、秘密鍵が必要なので、パスフレーズが要求されます。

これを入れると、復号化された内容が表示されますが、これは、別の漢字コード(iso-2022-jp)なので、そのままでは読めません。

そこで、「クリップボードへコピー」を選択するとメールVIEW画面にS-JISに変換した本文の内容(今度は読める)を表示します。

演習:暗号 e-mail を読む

友人から届いた暗号e-mailを読みなさい。

課題提出

課題は、次の二つです。

pgp の公開鍵

自分の公開鍵ファイルを送ってください。

内容
公開鍵ファイル
形式
e-mailでの送付書類
形式
提出方法
提出は、e-mailで行いますが、次の点に注意してください。
宛先
math-comp-examine@media.cst.nihon-u.ac.jp
表題( Subject )
[R]から始まる、わかり易いSubject (例「[R]「○○の公開鍵」」など)
内容
空でよい(公開鍵は送付書類にするので..)

pgp での概念の説明

次のような内容のXML文章をreportとして、送ってください。

内容

次のkeywordの説明を、200字以上にまとめて提出する。内容としては、「言葉の意味」と「それがどのように利用されるか」の二点が記述されてること。

ただし、どのkeywordに関して説明するかは、自分の学籍番号を4で余った余りに1足した数を求め、その数に対応した番号に相当するkeywordを説明すること(12)

  1. 「公開鍵暗号方式」
  2. 「秘密鍵と公開鍵」
  3. 「パスフレーズ」
  4. 「電子署名」
形式

以前、紹介したsample.xmlを参考に、XML文章を書きます。

<author>の所
当然ながら、自分の名前、学生番号学科を書く
<id>の所
20021009001
<title>の所
上記の自分のkeyword
<date>の所
2002/10/09
<body>の< contents >の場所
200字以上の説明

なお、reportとして、提出するe-mailのSubjectには、必ず、[R]から始まる、わかり易いSubjectを付けてください。

提出方法
提出は、e-mailで行いますが、次の点に注意してください。
宛先
math-comp-examine@media.cst.nihon-u.ac.jp
表題( Subject )
[R]から始まる、わかり易いSubject (例「[R]「公開鍵暗号方式」」など)
内容
課題のXML文章そのもの(送付書類は不可)
  1. 例えば、学籍番号9876番の人は、9876 mod 4 = 0なので、1 ( = 0 + 1 )番のkeyword「公開鍵暗号方式」が課題となる。