fc2ブログ

真正性をつつく2 - 識別子と認証方法の決定

 この記事は、真正性をつつく1の続きです。前回は、真正性が保証するオブジェクトとは何かについて解説しました。今回は、識別子と認証方法について解説します。
 真正性を考慮したシステムを作るためには、対象の決定後に識別子と認証方法を考える必要があります。人や情報が本当に正しいのかを判断するには、名乗っているオブジェクトの等価性を判定します。ですが、無闇にその人の等価性を判断する事は出来ません。何らかの識別子が必要となります。毎度おなじみの例を元にその事について考えてみましょう。
 目の前にいる営業部長山田太郎と名乗る人物は、本当に営業部長の山田太郎氏なのでしょうか?言動だけでそれを判定する事は出来ません。それだと余りもいい加減であり、確認する人が口車に乗ってしまえばお終いです。営業部長の山田太郎氏だと確認を持てる動かぬ証拠が必要です。そうした認証に関する問題に対処するため、人類はいくつかの認証方法を考え出しました。
 認証技術は常に進化しているので、その全てを知っているわけではありません。私が知る限り認証方法は、記憶認証所持認証属性認証があります。情報システムは、それらの認証方法を用いて真正性を確保します。これから個々の認証方法を解説します。
 最も一般的なのが記憶認証です。そのオブジェクトしか知りえない情報を記憶していたら、そのオブジェクトだとみなします。これを読んでいる人は、殆どの人がOSを立ち上げる時に、パスワードを入力しています。これをパスワード認証と呼びます。パスワード認証は実施に殆どコストがかからないので、多くの場面で採用されていますが、認証方法としては弱い部類に入ります。何故ならば、その人の生年月日や有名な単語などの単純なパスワードならば他人でも容易に推測できますし、パスワードを書いた紙を読めばお終いです。この様に記憶認証は色々な弱点がありますが、何時でも変えられるという長所を持っています。重要なので、記憶認証の長所と短所をぜひ覚えておきましょう。
 所持認証とは、特定の持ち物を所持しているオブジェクトを、そのオブジェクトだとみなす認証方法です。例えば、キャッシュカード、ICカード、スマートカードなどがあげられます。所持認証は色々な工夫が出来るものの、識別子となる物が他人に奪われると破られますし、偽装などの方法で突破する事もありえます。所有物の紛失についてよく注意しましょう。
 属性認証とは、本人の生体情報を照合して認証する方法です。生体情報は虹彩(アイリス)、指紋、DNA、静脈、声紋・・・など色々あります。生体情報は極めて信頼できるデータですが、風邪をひいて声が変わり、本人でも認証されないなどといった本人拒否の問題があります。それに加えて、人工的に指を作って指紋認証を突破するなどの手口も考えだされており、必ずしも完璧だとは言えない状態です。なお、生体情報は漏れてはならないプライベートなデータです。生体情報は厳重に管理しましょう。
 以上のように、全ての認証方法には弱点が存在します。従って、どれか一つだけを採用するのではなく、複数の認証方法を組み合わせる多要素認証が一般的です。実務的なシステムは必ず複数の認証方法を採用しましょう。
スポンサーサイト



テーマ : ソフトウェア開発
ジャンル : コンピュータ

コメントの投稿

非公開コメント

プロフィール

インドリ

Author:インドリ
みなさん、はじめまして、
コンニチハ。

ボクは、無限の夢(infinity dream)を持つネタ好きな虹色の鳥インドリ(in dre)です。
色々な情報処理技術を啄ばむから楽しみにしてね。

http://twitter.com/indori
は別人による嫌がらせ行為です。
私とは関係ないので注意して下さい。
次はなりすましブログなどをするかもしれませんが、ここ以外でブログをするつもりがないので、ここ以外にインドリのブログがあったとしても無視してください。


何度言っても分からない人がいるので、ここにコメント欄へ書き込むときの注意事項を書きます。


一、社会人としてのマナーをわきまえましょう。
一、妄想に基づく書き込みを止めてください。
一、暴言の類は書かないで下さい。
一、某誹謗中傷サイトの書き込みは彼らの妄想に基づく書き込みですから無視して、ここへ書き込まないで下さい。
一、コメント書く前に他のコメントよく読んでから行って下さい。
一、言いがかかり等の行為を禁止します。
一、その他常識的に考えて迷惑なコメントはしないで下さい。


以上のルールを守れない人のコメントは削除します。



利用上の注意
ここに紹介してある文章およびプログラムコードは正確であるように心がけておりますが、内容を保証するものではありません。当サイトの内容によって生じた損害については、一切の責任を負いませんので御了承ください。


執筆したCodeZineの記事


【VB.NETで仮想CPUを作ろう】

  1. VB.NETで仮想CPUを作ろう
  2. レジスタの実装
  3. 仮想CPUのGUI化
  4. テストドライバの改良
  5. CPUの基礎動作の実装
  6. MOV命令の実装
  7. ADD命令実装
  8. SUB命令実装
  9. INC命令&DEC命令の実装と命令長
  10. MLU命令の実装とModR/Mについて
  11. DIV命令の実装とイベント設計について
  12. 機械語駆動式 関数電卓を作ろう!
  13. 機械語駆動式 関数電卓を作ろう! 解答編(前半)
  14. 機械語駆動式 関数電卓を作ろう! 解答編(後半)


【仮想ネットワーク実装でTCP/IPを学ぼう】
  1. TCP/IPの基礎と勘所
  2. ネットワークアクセス層の勘所
  3. インターネット層の勘所
  4. トランスポート層の勘所
  5. アプリケーション層の勘所
  6. セキュリティの基礎と仮想ネットワークの仕様
  7. GDI+と独自プロトコルの定義



【並列化】
インテル Parallel Studioを使って並列化プログラミングを試してみた
並列プログラミングの効率的なデバッグを実現する「Parallel Inspector」


【TBBシリーズ】
  1. インテル スレッディング・ビルディング・ブロックの概要
  2. インテルTBBから学ぶループの並列化
  3. スレッドセーフとインテルTBBのコンテナ
  4. インテルTBBのスレッドクラス


【OpenMPシリーズ】
  1. OpenMPの基礎構文
  2. OpenMPの実行時ライブラリと並列ループ
  3. OpenMPのメモリモデルとfork- joinモデル

最近の記事
最近のコメント
月別アーカイブ
カテゴリ
Ada (9)
COBOL (5)
C (9)
C++ (11)
C# (370)
D (25)
Java (8)
Perl (1)
Ruby (14)
PHP (2)
Boo (2)
Cobra (2)
LISP (6)
F# (33)
HTML (0)
XHTML (0)
CSS (0)
XML (0)
XSLT (0)
Scala (4)
WPF (0)
WF (2)
WCF (0)
LINQ (4)
MONO (5)
Linux (0)
MySQL (0)
ブログ内検索
リンク
最近のトラックバック
RSSフィード
ブロとも申請フォーム

この人とブロともになる

QRコード
FC2カウンター