fc2ブログ

真正性をつつく1 - 真正性の対象を見極めよう

 この記事は、真正性をつつく0の続きです。前回は、真正性を保証することのむずかしさを書きました。今回は、真正性が保証するオブジェクトとは何かについて解説します。
 前回、真正性とは「情報を要求するオブジェクトが本当に主張通りのオブジェクトなのかを保証する特性」だと書きました。オブジェクトだと書いてある点に注目して下さい。オブジェクトと考える事が重要です。何故ならば、真正性と言うと多くの人は人間を思い浮かべますが、保証するべき対象は人だけに限らないからです。人が発する言葉の内容も対象となります。その他にも、プロセスなどといったプログラム的なものも対象となります。
 前回提示した、営業部長の山田太郎(仮名)が緊急の用件で来ているケースを元に考えてみましょう。真正性の対象となるオブジェクトを大別すると、営業部長の山田太郎と、要求している内容である緊急の用件です。この人は本当に営業部長の山田太郎なのでしょうか?緊急の用件とは何なのでしょうか?順を追って考えていきましょう。
 先ず問題となるのは、山田太郎という人物が存在するか否かです。犯行をもくろむ人物が、適当な偽名を使っている可能性があります。山田太郎氏が存在するのか否かをどうやって知るのでしょうか?オブジェクトの存在を確認する方法を考えなくてはなりません。
 次に考えるべき事は、営業部長としての山田太郎氏が存在するか否かです。情報部長の山田太郎氏が存在するものの、営業部では存在しないかもしれません。また、営業部に山田太郎氏が存在しても、部長でないかもしれません。他にも、同姓同名の人物が存在する場合もあります。こうした色々な可能性を視野に入れなければなりません。
 最後の「緊急の要件」と言うオブジェクトについては、より慎重に考える必要があります。何故ならば、これは複合オブジェクトだからです。要件そのものと、緊急の用件に対する行動を伴っています。緊急の要件というオブジェクトと、それに伴い求めている行動というオブジェクトを見極める必要があるのです。さらに要件の内容によっては、さらなるオブジェクトがそこに含まれています。
 以上のように、真正性は対象を見極める事が大切です。対象をはっきりさせないと、保障されていないオブジェクトを許可してしまうかもしれません。クラッキングもしくは詐欺の手口は、その多くが対象そのものを誤魔化す事から始まっています。おれおれ詐欺が格好の例でしょう。息子が存在するにしても、電話越しに存在する彼が本当に息子なのかという事をはっきりさせずに、彼の言う言葉を信じてしまうと大変な目に遭います。
 今回は、真正性の第1段階である「対象の識別」について解説しました。次回は次の段階を解説します。
スポンサーサイト



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

コメントの投稿

非公開コメント

プロフィール

インドリ

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カウンター