ノート
スライド ショー
アウトライン
1
デジタル情報学概論
  • 2005年10月20日 第5回資料
  • 担当 重定 如彦


2
安全な通信とは?(再掲)
  •   安全な通信を行うには以下の4つの条件が必要
    これらの条件を満たすために暗号技術が使われている
  • 機密性
    通信内容が盗聴されないこと
  • 完全性
    通信内容が改ざんされないこと
  • 認証
    通信相手が本人かどうか確認できること
  • 否認防止
    通信が行われたことを証明できること
3
認証
  •   認証には、以下の2種類がある
  • 相手の認証
    通信相手が正しいことを確認すること
    なりすましの防止
  • データの認証
    通信されてきたデータが改ざんされていないことを確認すること
    すべてのデータを暗号化して送ればデータの改ざんの心配はない
    しかし、他人に見られてもかまわないような情報はわざわざ暗号化して送る必要はない(暗号、復号化するには時間やコストが必要)ため、
    平文による通信もよく使われている。しかし、そのような場合でもデータが改ざんされていないことは確かめる必要がある
4
チャレンジアンドレスポンス方式
  •  共通鍵暗号を使って通信相手を認証する方式
  • 送信者は通信を行う前に乱数(ランダムな数)を相手に送る
  • 受信者は送られてきた数字をあらかじめお互いが受け渡しした   暗号の鍵を使って暗号化し、送り返す
  • 送信者は送られてきた暗号を復号化し、もとの数字に戻すことができれば相手が正しいことを確認できる





  • 毎回送る数が変わるので盗聴されていてもなりすますことは困難
  • 暗号の鍵の交換の方法が問題。携帯電話のように出荷時にあらかじめ機械の中に鍵を埋め込んでおけるような場合に使われる
5
電子署名
  •   公開鍵暗号を使って送信者を認証する方式
  • 送信者が、自分が送ったことを証明する為に、電子署名と呼ばれるデータを通信文に付け加えて送信する
  • 電子署名には、実際に使われる署名(サインや印鑑)と同様に、本人しか作成することができないデータを使う
  • 電子署名は、暗号の技術などを使って偽造されないような方法で作成するコンピュータのデジタルデータは簡単にコピーすることができてしまう
    従って、電子署名を何の工夫もせずに作成してしまうと、誰でもコピーすることが出来るので、電子署名としての役には立たない




6
電子署名の送り方
  •     電子署名はそのまま送ったのでは、誰でもその電子署名を真似することが出来るので、電子署名を以下の方法で暗号化して送る
    • 通常の公開鍵暗号とは逆に、復号鍵を公開し、暗号鍵を秘密にする
    • 秘密の暗号鍵を使って電子署名を暗号化し、本文に付加して送る
    • 受信者は、公開された復号鍵を使って電子署名を復号化し、認証を行う






    • 暗号化された電子署名を作成することができるのは、秘密の暗号鍵を知っている送信者本人のみなので、送信者を認証することが可能
    • 公開鍵暗号は実は、復号鍵を使って暗号化し、それを暗号鍵を使って復号化することができるので、公開鍵を2セット用意する必要はない


7
電子署名の作り方
  • 電子署名の種類
    電子署名で使う公開鍵暗号の鍵は毎回同じものを使うので、電子署名が一種類しかなければなければ暗号化した電子署名も一種類しかない
     ⇒コピーされれば終わりなので電子書名として使えない
  • ハッシュ関数
    そこで電子署名には、ハッシュ関数と呼ばれる方法を使って送信する
    本文から計算によってつくられた数字(ハッシュ値)を用いる
    ハッシュ関数の例:
    • 元の文章をすべて文字コード(数字)に変換する
    • 全ての数字の合計を計算する
    • そのままだと数字の上限が決められないので、合計した数字を特定の数字(例えば100)で割った余りを求める(この場合0〜99になる)
    •         HELLO ⇒ 72 69 76 76 79 ⇒ 372 ⇒ 72



8
ハッシュ関数の性質
  • 任意の文章から特定の範囲のデータを計算できる
    どんな文章からでも計算が可能である。先ほどのハッシュ関数の例の場合、どんな文章からでも0〜99の範囲の数字を得ることができる
  • ハッシュ値がわかっても元の文章を復元することはできない
    ハッシュ値だけでは元の文章がわからない
  • 元の文章が変化するとハッシュ値が大きく変化する
    先ほど例で挙げたハッシュ関数は元の文章が変化してもハッシュ値は大きくは変化しないが、実際に使われるハッシュ関数はこの性質を満たすように作られる
    ⇒データが改ざんされてもすぐに検出が可能
  • 違う文章から同じハッシュ値が得られる確率が低い
    ハッシュ値の数字の範囲分の一の確率
    ⇒ハッシュ値の範囲を大きくすれば偶然ハッシュ値が一致する可能性を減らせる
9
電子署名の通信の手順
  • 本文を暗号化しない場合、以下のように認証を行う
  • (暗号化する場合は、本文の暗号化と復号化の手順が加わる)
10
電子署名の安全性
  • 電子署名の偽造に対する安全性(本人の認証)
    電子署名では、通信された文章が本人であるかどうかの認証は、「電子署名」と  電子署名を復号化する為に一般公開した「公開鍵暗号の復号鍵」で行う
    通信された文章がAさんから送られてきたかどうかは、Aさんが公開した復号鍵で 電子署名を復号化した結果、手順6でハッシュ値が一致することを確認すれば良い
    ハッシュ値の幅を大きくとれば、電子署名を偽造することが非常に困難になる
  • 本文が改ざんされた場合の検出(データの認証)
    本文が改ざんされると、手順4で改ざんされた本文から計算されるハッシュ値の値が元の値と変わってしまう
    ⇒手順6で、ハッシュ値が一致しないため改ざんを検出可能
  • 本文を暗号化した場合
     第三者がハッシュ値を計算することも不可能になるので、さらに安全になる
11
認証局
  •   公開された復号鍵が本当に本人のものであるかどうかはわからない

     例:BさんがAさんであると偽って復号鍵を公開し、Cさんがそれを信じてしまうと、 電子署名を使ってもBさんがAさんに成りすますことが可能

    電子署名のシステムだけではこの方法によるなりすましを防ぐことは不可能 ⇒復号鍵が本人のものであること保障するための第三者の機関が必要

    この第三者の機関のことを認証局(CA: Certificate Authority)と呼ぶ
    認証局は、いわゆる市役所のような役割を果たす機関で、住民票や印鑑証明書のように、電子署名に使われる公開鍵暗号の復号鍵が正当なもので あることを証明する、公開鍵証明書を発行する
12
認証局の役割
  • 公開鍵暗号の復号鍵の登録
    電子署名に使う公開鍵暗号の復号鍵とその使用者を登録する
    登録の際には、登録者が本人であることを確認する為に、身分証明書や戸籍謄本など、実世界で使われる本人証明方法を使う
    (注:登録時に復号鍵を証明書と一緒に認証局が発行する場合もある)
  • 証明書の発行
    登録された復号鍵に対して、それが正当なものであることを証明する証明書を  発行する。電子署名を転送する際にはこの証明書を一緒に送る
  • 証明書の管理
    • 発行した証明書の有効期限の管理
    • 証明書が有効であるかどうかの問い合わせに関する応対など
  •    認証局が攻撃されるとシステム自体の信頼性が損なわれる為、証明書の管理に  関しては厳重なセキュリティが必要
13
証明書を使ったデータ通信
  • データを転送する際に、本文、電子署名と一緒に証明書も一緒に通信する
  • データを受け取った側は証明書が正しいかどうかを確認する
14
認証局の信頼性とPKI
  •   電子署名のシステムは、認証局を無条件で信頼するという方式であるため、不正な認証局が存在すると成り立たなくなってしまう

    不正な認証局を無くすため、認証局を認証する上位の認証局のようなシステムが考案されている。この場合、最も上位の認証局は、国家や政府のような絶対に信頼できる機関が担当することになる ⇒ PKIやGPKIの必要性

    電子署名を様々な通信で使用した場合、認証局が一つでは足りない
    そこで、複数の認証局がお互いに連携し安全な認証通信を行うという社会基盤が 必要となる。これをPKI(Public Key Infrastructure :公開鍵暗号基盤)と呼ぶ

    また、このPKIを国家レベルに広げたGPKI(Government PKI:政府認証基盤)と 呼ばれるものもあり、認証システムは国家、世界規模で管理される時代になっている
15
通信以外の認証技術
  •   認証技術は、データの通信以外にも様々な場面で必要となる
     例: クレジットカードの使用、学校や会社などのコンピュータの使用、
       関係者以外立ち入り禁止地域に関係者が入場する場合など
  • 鍵方式
    鍵や錠前や、ICカードを使った電子ロックなど、物理的な鍵を使う方式
    原理は簡単だが、鍵の管理が大変、鍵の偽造などの問題がある
  • パスワード方式
    暗証番号やパスワードなど、使用者本人しか知らない情報を使って認証する
    物理的な鍵が存在しないので、直接盗まれる心配はないが、パスワードを紙に 書き留めてしまったり、容易に類推されるようなパスワード(誕生日、血液型、趣味などの個人情報、特定の英単語など)を使ってしまうと破られる可能性がある
    また、パスワードが多くなると覚えるのが非常に大変である
16
バイオメトリックスによる認証技術
  •  人体の特徴を使った認証技術
    指紋、網膜、音声、筆跡、顔、DNA などを使う(教科書21Pの表を参照)
    バイオメトリックス(biometrics)個人認証技術と呼ばれ、以下の利点がある
  • 生体的な特徴を鍵にしているので、基本的には盗むことはできない
  • 鍵やパスワードと異なり、何かを携帯したり覚える必要がない
  •   しかし、この技術は以下のような欠点も存在する
  • 特殊な入力装置が必要
    大型で高価な装置が必要な場合もある。また場所によっては使えない場合もある
  • 認証に失敗する可能性がある
    多くのバイオメトリックス個人認証技術は100%の信頼性を持たない
  • 指紋による認証など社会的に認証方法に問題がある場合がある


  • この技術は上記のような欠点も存在するが、他の認証技術にはない利点がある為、
  • 有望視されている技術である。今後の研究開発に期待が寄せられている
  • 最近では赤外線を使った非接触型の手のひら静脈認証が注目されている(東京三菱銀行など)
17
否認防止の為のシステム
  •   現実の世界では、重要な文書のやりとりの際には公証人(公証人の資格をもった公務員)と呼ばれる第三者が、その文書を「誰と誰が」、「いつ」やりとりしたかを保障する
     電子通信の世界では公証人の役割を果たす公証局と呼ばれる機関が存在する
    公証局の主な役割は以下の通りである
    • 確定日付の付与
      依頼された電子文書がいつ作成されたかを証明する
    • 私署証書の認証
      電子文書の内容(虚偽や違法性)を確認し、その内容を法的に証明する
    • 公正証書の作成
      日付や認証が行われたことを証明するデジタル署名を電子文書に付加し、
      公正証書を作成する。また、作成した公正証書を保管する
18
公証局を使った通信
  •  公証局を使ったデジタル通信は以下の手順で行われる
  • 文書を公証局に送信する
    送信の際には通常の場合と同様にデジタル署名や暗号技術が使われる
  • 公証局は受け取った文書に日付と証明書を付加した公正証書を保存する
  • 受信者は公証局に文書の閲覧を依頼する


19
電子公証システムの特徴
  • 改ざんの防止
    通信する文書は、相手に直接送られるのではなく、公証局に渡され管理されるので、長時間にわたり改ざんを防止することが可能
  • なりすましの防止
    公証局は、認証局と連携することで、送信者が確実に本人であることを保障するため、なりすましを防止することができる
  • 否認の防止
    受信者は、公証局に対して文書の閲覧を申し出るという方法で文書を受け取るため、文書をいつ、誰が受け取ったかを間違いなく保障できる
  • 内容の正当性の保障
    公証局は文書の内容を審査し、虚偽や違法性がないことを保障する
    なお、文書の内容の正当性を保障する必要のない一般の電子メールのような文書に対して、内容の確認を行わない公証システムも存在する



20
その他の秘密通信 その1
  •  通信内容を秘密にするには直接的な暗号以外の方法も存在する
  • 文章の中に隠す
    一見関係ない内容の文章の中に本当に伝えたい文章を隠す
    通信を盗聴されても、一見すると意味が通っているので中に別の意図が隠されているとは気づかない ⇒ 気づかれなければ盗聴されても問題ない
    例:文章の各行の何文字目かに送りたい文章を隠す(4文字目を読む例)

    ごぶさたしております
    きょうすみだがわでは
    なびをけんぶつしまし
    た。とてもきれいで、
    きみもくればよかった
    と、かれとはなしまし
21
その他の秘密通信 その2
  • 画像データに隠す
    画像を、赤、緑、青の3つの色の明るさで表現する方式で表した場合、色の明るさを表す数字の下の桁を使ってデータを隠す
    例:色の明るさを0〜100で表す場合、下一桁を通信用のデータとして使う
    人間の目には細かい色の違いを区別できないことを利用した方法

    赤緑青の順で以下のような画像データがあった場合、これを以下のように変更
    (注:実際には2進数で行うが、わかりやすくするためにここでは10進数で説明する)

    12 25 30 35 29 95 38 92 56 20 61 17
                               ↓ 下一桁に文字データを埋め込む
    17 22 36 39 27 96 37 96 57 29 ・・・・・
                ↓ 文字データを読むには下一桁の数字を取り出す
          72 69 76 76 79
                ↓ 文字コードを文字に直す
  •              HELLO
22
その他の秘密通信 その3
  • その他の方法  
    その他、音や動画データなどに埋め込む方法など様々な方法が考えられる
  • 安全性
    これらの方法は一見伝えたい内容とは全く異なった情報を通信するため、ばれないうちはあからさまに何らかの秘密の情報が隠されているように見える暗号通信と比べて安全に秘密の通信を行うことができる
  • 危険性
    いずれの方法も、うまく隠さなければ不自然なデータになってしまう点に注意が必要である。また、隠していることがばれてしまうと暗号通信と比べて容易に伝えたい内容が読み取られてしまう点も注意が必要である


23
技術の応用と組み合わせ
  •   これまでに紹介した通信に関する様々な技術はそれぞれ特定の用途に使われるのではなく、応用することでさらに幅広い用途で使われることが多い
    また、これらの技術を単独ではなく、他の技術と組み合わせて用いられることが多い
    • 暗号技術を認証技術に応用
      公開鍵暗号技術を認証の為の技術に応用
    • 認証技術と否認防止技術の組み合わせ
      公証局は認証局と連携することで、否認防止と認証を同時に行うことができる
    • パスワード方式とバイオメトリックス方式の組み合わせ
      2つの方式を同時に採用することでより確実に認証を行う
    • データの中に文章を隠す技術と、暗号技術の組み合わせ
      隠した文章を暗号化することによってさらにばれにくくする
  •    このような技術の利用は通信技術に限ったことではない。様々な技術を応用し、 組み合わせて利用するという広い視野を持って考えることが重要である