(57)【要約】【課題】本発明は、迅速かつ正確に文字列を選別、正当又は不正なウェブアクセス要求を判定し、その要求を受信するための受信部を具備するアクセスセキュリティシステムを提供することを目的とする。【解決手段】上記課題は、第１の記憶部(2)に記憶された文字列を暗号化するための第１の暗号化部(3a)と、暗号化した暗号文を格納する第２の記憶部(4)と；受信部(5)が受信した通信情報に含まれる所定の情報を抽出する情報抽出部(6)と、前記情報抽出部が抽出した情報を暗号化するための第２の暗号化部(3b)と、暗号文を記憶するための第３の記憶部(7)と、前記第２の記憶部に記憶された暗号文と、前記第３の記憶部が記憶した暗号文とが関連するかどうか判断するための関連性判定部(8)とを具備するアクセスセキュリティシステムなどにより解決される。【選択図】図１
2007129431.tif 000002
【特許請求の範囲】
【請求項１】
１又は複数の文字列を記憶した第１の記憶部(2)と接続可能とされ、前記第１の記憶部に記憶された文字列を暗号化するための第１の暗号化部(3a)と、
前記第1の暗号化部が暗号化した暗号文を格納する第２の記憶部(4)と、
通信情報を受信するための受信部(5)と接続可能とされ、
前記受信部が受信した通信情報に含まれる所定の情報を抽出する情報抽出部(6)と、
前記情報抽出部が抽出した情報を暗号化するための第２の暗号化部(3b)と、
前記第２の暗号化部が暗号化した暗号文を記憶するための第３の記憶部(7)と、
前記第２の記憶部に記憶された暗号文と、前記第３の記憶部が記憶した暗号文とが関連するかどうか判断するための関連性判定部(8)と、
を具備する、アクセスセキュリティシステム。
【請求項２】
前記第１の暗号化部(3a)及び第２の暗号化部(3b)は、情報を暗号化してハッシュ関数とする、
請求項１に記載のアクセスセキュリティシステム。
【請求項３】
前記第１の暗号化部(3a)及び第２の暗号化部(3b)は、暗号化アルゴリズムにより情報を暗号化する、
請求項１に記載のアクセスセキュリティシステム。
【請求項４】
前記第２の記憶部(4)は、暗号化された文字列をインデックスとして記憶する、
請求項１に記載のアクセスセキュリティシステム。
【請求項５】
前記第２の記憶部(4)は、ドメインネーム、ＩＰアドレス、又は外部ＤＮＳサーバへの名前解決処理委譲を示す文字列から抽出された文字列であって暗号化されたものをインデックスとして格納する、
請求項１に記載のアクセスセキュリティシステム。
【請求項６】
前記情報抽出部(6)は、前記受信部が受信した通信情報としてのウェブサイトアクセス要求に含まれる、ドメインネーム又はＩＰアドレスを抽出する、
請求項１に記載のアクセスセキュリティシステム。
【請求項７】
前記関連性判定部(8)は、
前記第３の記憶部(7)が記憶する暗号化した情報が、前記第２の記憶部(4)に記憶された暗号文のうち一致するものが含まれるかどうか判断する、
請求項１に記載のアクセスセキュリティシステム。
【請求項８】
前記関連性判定部(8)は、
前記第３の記憶部(7)が記憶する暗号文としてのハッシュ値が、前記第２の記憶部(4)に記憶された暗号文としてのハッシュ値と一致するものがあるかどうか判断する、
請求項１に記載のアクセスセキュリティシステム。
【請求項９】
前記関連性判定部(8)は、
前記第３の記憶部(7)が記憶する暗号文としてのハッシュ値のうち先頭ブロックが、前記第２の記憶部(4)に記憶された暗号文としてのハッシュ値の先頭ブロックと一致するものがあるかどうか判断する、
請求項１に記載のアクセスセキュリティシステム。
【請求項１０】
複数のドメインネームシステムが所有し補完し合うドメインネームに関する情報を暗号化して一箇所に集約し、正当又は不正なウェブアクセス要求を判定する、
請求項１に記載のアクセスセキュリティシステム。
【請求項１１】
ウェブアクセス要求を受信するための受信部(5)を具備する、請求項１０に記載のアクセスセキュリティシステム。
【請求項１２】
コンピュータを、ドメインネーム、ＩＰアドレス、外部ＤＮＳサーバへの名前解決処理委譲を示す文字列などを記憶した第１の記憶手段(2)と接続可能とされ、前記第１の記憶手段に記憶された文字列を暗号化するための第１の暗号化手段(3a)と、前記第1の暗号化手段が暗号化した暗号文を格納する第２の記憶手段(4)と；ウェブアクセスを受信するための受信手段(5)と接続可能とされ、前記受信手段が受信したウェブアクセスに含まれるドメインネーム又はＩＰアドレスを抽出する情報抽出手段(6)と、前記情報抽出手段が抽出した情報を暗号化するための第２の暗号化手段(3b)と、前記第２の暗号化手段が暗号化した暗号文を記憶するための第３の記憶手段(7)と、前記第２の記憶手段に記憶された暗号文と、前記第３の記憶手段が記憶した暗号文とが関連するかどうか判断するための関連性判定手段(8)とを具備する、所定の情報を有するウェブアクセスを選別するためのコンピュータとして機能させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、暗号化を行った文字列を予め格納し、暗号文によるマッチング判定を行うことで、迅速かつ正確に文字列を選別できるアクセスセキュリティシステムなどに関する。
【背景技術】
【０００２】
インターネットが普及するにつれて、既存のドメインネームシステムが書き換えられて意図しないウェブサイトへアクセスしてしまうケースや、コンピュータがウィルスに感染してドメインネームシステムで名前解決することなく偽のウェブサイトへアクセスしてしまうケースがある。よって、意図しないウェブサイトや偽のウェブサイトへアクセスしないよう、コンピュータで事前にアクセス先を確認できるプログラムなどが開発されている。
【０００３】
たとえば、アクセス先のウェブサイトが日本国内にあるウェブサーバで運用されている場合、アクセス先のウェブサイトが日本国内又は他の任意の国のウェブサーバで運用されていることを判断し、意図しない、偽のウェブサイトへのアクセスを利用者へ示唆するプログラムが開発されている。
【０００４】
しかし、このプログラムは、日本国内又は同国内に、意図しない、偽のウェブサーバがある場合には、意図しない、偽のウェブサイトへアクセスしてしまうという問題がある。また、情報が書き換えられてしまう可能性のある既存のドメインネームシステムへ逐次照合するため、偽のウェブサイトへアクセスしてしまうという問題が残る。
【０００５】
さらには、ウェブサイトへアクセスした瞬間にコンピュータに害をなす、意図しない、偽のウェブサイトへのアクセスを防ぐことができないという問題がある。
【発明の開示】
【発明が解決しようとする課題】
【０００６】
本発明は、迅速かつ正確に文字列を選別できるアクセスセキュリティシステムを提供することを目的とする。
【０００７】
さらには、正当又は不正なウェブアクセス要求を判定し、その要求を受信するための受信部を具備するアクセスセキュリティシステムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明は、基本的には、照合を行う文字列などを予めハッシュ関数などで暗号化して記憶しておき、その記憶された文字列を用いて照合作業を行えば、照合作業の際にデータベースから文字列などを一々読み出す必要がなくなり、予め記憶された機械語状態の暗号文を用いて照合できるので、きわめて正確かつ迅速に照合作業を行うことができるという知見に基づくものである。すなわち、任意の文字列のマッチングを、ＳＨＡ−１などによる暗号文で行うというものである。
【０００９】
本発明は、具体的には、１又は複数の文字列を記憶した第１の記憶部(2)と接続可能とされ、前記第１の記憶部に記憶された文字列を暗号化するための第１の暗号化部(3a)と、前記第1の暗号化部が暗号化した暗号文を格納する第２の記憶部(4)と；通信情報を受信するための受信部(5)と接続可能とされ、前記受信部が受信した通信情報に含まれる所定の情報を抽出する情報抽出部(6)と、前記情報抽出部が抽出した情報を暗号化するための第２の暗号化部(3b)と、前記第２の暗号化部が暗号化した暗号文を記憶するための第３の記憶部(7)と、前記第２の記憶部に記憶された暗号文と、前記第３の記憶部が記憶した暗号文とが関連するかどうか判断するための関連性判定部(8)と、を具備する、アクセスセキュリティシステムに関する。本発明はまた、ドメインネーム、ＩＰアドレス、外部ＤＮＳサーバへの名前解決処理委譲を示す文字列などを記憶した第１の記憶部(2)と接続可能とされ、前記第１の記憶部に記憶された文字列を暗号化するための第１の暗号化部(3a)と、前記暗号化部が暗号化した暗号文を格納する第２の記憶部(4)と；ウェブアクセス要求を受信するための受信部(5)と接続可能とされ、前記受信部が受信したウェブアクセス要求に含まれる所定の情報を抽出する情報抽出部(6)と、前記情報抽出部が抽出した情報を暗号化するための第２の暗号化部(3b)と、前記第２の暗号化した暗号文を記憶するための第３の記憶部(7)と、前記第２の記憶部に記憶された暗号文と、前記第３の記憶部が記憶した暗号文とが関連するかどうか判断するための関連性判定部(8)とを具備する、アクセスセキュリティシステムなどに関する。このようなシステムは、例えば、コンピュータ又はサーバなどとして実装されうる。アクセスセキュリティシステムとは、たとえば、不当なウェブサイトへのアクセス要求などを排除するためのシステムなどを意味する。
【００１０】
後述するように、情報抽出部(6)は、例えば、ドメインネームやＩＰアドレスは、これら情報を含むウェブアクセス要求通信の所定の場所に所定の関数や定義文などで定義されているので、それらの関数などを用いることで、所定の情報を指定し、抽出することができる。
【００１１】
また、関連性判定部(8)は、例えば、第2の記憶部に格納されたハッシュ値（またはハッシュ値の最初のブロック）などに基づいて、第3の記憶部の所定の項目（ハッシュ値に関する項目）に、そのハッシュ値と同じハッシュ値などが存在するかどうかマッチングを行う。ハッシュ値などは、通常の文字列に比べてきわめて容量が小さいので、予め暗号化し登録した文字列と一致する文字列がウェブアクセス要求に含まれるかどうかを、きわめて迅速にマッチングすることができる。また、あえて、チェックしたい用語を暗号化したので、マッチングの際に、いちいち文字列ＤＢ（第１の記憶部）などにアクセスする必要がなくなる。
【００１２】
例えば、文字列abc、defは、それぞれＳＨＡ−１などの暗号化処理により、ハッシュ値x、yに暗号化されるとすると、ハッシュ値xは、文字列abcに対応し、ハッシュ値yは文字列defに対応する。したがって、このハッシュ値について、マッチングを行えば文字列をマッチングしたことになるのである。
【００１３】
さらには、複数のドメインネームシステムが所有し補完し合うドメインネーム、ＩＰアドレス、外部ＤＮＳサーバへの名前解決処理委譲を示す文字列などを第１の記憶部(2)に格納し、前記第１の記憶部に記憶された文字列を第１の暗号化部(3a)にて暗号化し、前記暗号化部が暗号化した暗号文を第２の記憶部(4)に格納し；ウェブアクセス要求を受信するための受信部(5)から所定の情報を情報抽出部(6)にて抽出し、前記情報抽出部が抽出した情報を第２の暗号化部(3b)にて暗号化し、前記第２の暗号化した暗号文を記憶するための第３の記憶部(7)と、前記第２の記憶部に記憶された暗号文と、前記第３の記憶部が記憶した暗号文とが関連するかどうか関連性判定部(8)にて判断し、それぞれの暗号文が一致した場合に一致（正当なウェブアクセス）という情報を出力し、一致しない場合に不一致（不正なウェブアクセス）という情報を出力し、不正なウェブサイトへのアクセス要求を効果的に排除する。
【００１４】
また、不正なウェブサイトへのアクセス要求などに関する通信情報を確実に抽出するため、受信部、特にウェブアクセス要求を受信するための受信部(5)を具備することによって、従来のドメインネームシステム（ＤＮＳ）では抽出できない通信情報を抽出できるようになる。
【発明の効果】
【００１５】
従来の照合方法を採用したアクセスセキュリティシステムであれば、データベースなどに文字列を登録するだけで、照合のもととなる文字列を簡単にアップデートできる。一方、本発明のアクセスセキュリティシステムでは、データベースなどの記憶部に登録された文字列を暗号化した後、記憶しなければならずアップデートが煩雑になる。しかし、本発明のアクセスセキュリティシステムでは、文字列を照合する際に、照合する文字列が既に機械語（たとえば暗号化されたハッシュ値）などとして記憶されているので、マッチングしたい情報を暗号化することにより、迅速かつ正確に照合作業を行うことができることとなる。しかも、照合するものが機械語であるから、その精度を高めることができる。また、ハッシュ値などの特定の部分のみを用いて１次スクリーニングを行えば、きわめて迅速にマッチング判定を行うことができることとなる。そのような判定によって、偽のウェブサイトや、ウェブサイトへアクセスした瞬間にコンピュータに害をなすようなサイトかどうか、迅速かつ正確に判定できるので、意図しない、偽のウェブサイトへアクセスしてしまうという問題や、ウェブサイトへアクセスした瞬間にコンピュータに害をなす、意図しない、偽のウェブサイトへアクセスしてしまう事態を効果的に防止することができることとなる。
【００１６】
さらには、複数のドメインネームシステムが所有し補完しあうドメインネーム、ＩＰアドレス、外部ＤＮＳサーバへの名前解決処理委譲を示す文字列などを一箇所に集約することで、既存のドメインネームシステムが書き換えられて意図しないウェブサイトへアクセスしてしまうケースや、コンピュータがウィルスに感染してドメインネームシステムで名前解決することなく偽のウェブサイトへアクセスしてしまうような、不正なウェブアクセス要求を効果的に排除することができることとなる。
【００１７】
また、不正なウェブサイトへのアクセス要求などに関する通信情報を確実に抽出するための受信部（５）を具備することによって、ＤＮＳサーバへドメインネームとＩＰアドレスに関する情報を確認しない不正なウェブアクセス要求に対して、従来のＤＮＳでは抽出する手段がなかったが、本発明では受信部（５）を具備することによって抽出できるようになる。
【発明を実施するための最良の形態】
【００１８】
[基本システム構成]
図１は、本発明のアクセスセキュリティシステムの基本構成を示すブロック図である。図１に示されるとおり、本発明のシステム（１）は、１又は複数の文字列を記憶した第１の記憶部(2)と接続可能とされ、前記第１の記憶部に記憶された文字列を暗号化するための第１の暗号化部(3a)と、前記第1の暗号化部が暗号化した暗号文を格納する第２の記憶部(4)と；通信情報を受信するための受信部(5)と接続可能とされ、前記受信部が受信した通信情報の文字列に含まれる所定の情報を抽出する情報抽出部(6)と、前記情報抽出部が抽出した情報を暗号化するための第２の暗号化部(3b)と、前記第２の暗号化部が暗号化した暗号文を記憶するための第３の記憶部(7)と、前記第２の記憶部に記憶された暗号文と、前記第３の記憶部が記憶した暗号文とが関連するかどうか判断するための関連性判定部(8)と、を具備する。なお、第1の記憶部と接続可能であれば、第1の記憶部は必須の構成ではない。また、受信部、情報抽出部、及び第2の暗号化部も、任意の要素であり、第2の暗号化部が暗号化した暗号文を、第3の記憶部が入手し記憶できるものであれば良い。
【００１９】
任意要素は、含まれていても含まれていなくてもよく、例えば、本発明のシステム（１）の別の形態としては、１又は複数の文字列を記憶した第１の記憶部(2)と；前記第１の記憶部に記憶された文字列を暗号化するための第１の暗号化部(3a)と、前記暗号化部が暗号化した暗号文を格納する第２の記憶部(4)と；ウェブアクセス要求などの通信を受信するための受信部(5)と；前記受信部が受信したウェブアクセス要求などの文字列に含まれる所定の情報を抽出する情報抽出部(6)と、前記情報抽出部が抽出した情報を暗号化するための第２の暗号化部(3b)と、前記第２の暗号化した暗号文を記憶するための第３の記憶部(7)と、前記第２の記憶部に記憶された暗号文と、前記第３の記憶部が記憶した暗号文とが関連するかどうか判断するための関連性判定部(8)と、を具備するものであってもよい。
【００２０】
本発明のシステム（１）の別の形態としては、１又は複数の文字列を記憶した第１の記憶部(2)と接続可能とされる前記第１の記憶部に記憶された文字列を暗号化するための第１の暗号化部(3a)と接続可能とされ、前記暗号化部が暗号化した暗号文を格納する第２の記憶部(4)と；ウェブアクセス要求などの通信を受信するための受信部(5)と接続可能とされ、前記受信部が受信したウェブアクセス要求などの文字列に含まれる所定の情報を抽出する情報抽出部(6)と、前記情報抽出部が抽出した情報を暗号化するための第２の暗号化部(3b)と、前記第２の暗号化した暗号文を記憶するための第３の記憶部(7)と、前記第２の記憶部に記憶された暗号文と、前記第３の記憶部が記憶した暗号文とが関連するかどうか判断するための関連性判定部(8)とを具備するものであってもよい。
【００２１】
以下、本発明のシステムに含まれる各要素について説明する。
第１の記憶部（２）には、１又は複数の文字列が記憶される。第1の記憶部に記憶されるマッチングしたい文字列として、例えば任意のドメイン名、さらに厳密に言えばＦＱＤＮ（Fully Qualified Domain Name：インターネットやイントラネットなどのTCP/IPネットワーク上で、ドメイン名・サブドメイン名・ホスト名を省略せずにすべて指定した記述形式のこと）、外部ＤＮＳサーバへの名前解決処理委譲を示す文字列、などがあげられる。第1の記憶部に記憶される文字列として、ユーザのアクセスを防ぐことが意図されるウェブサイトへリンクされる可能性があるドメインネーム、ＩＰアドレス、及び外部ＤＮＳサーバへの名前解決処理委譲を示す文字列があげられる。
【００２２】
この第１の記憶部（２）は、例えばデータベースとして構成されるものがあげられる。また、第１の記憶部は、本システム外のコンピュータやサーバなどの記憶部であっても、そのような記憶部の所定のファイルやテーブルなどであっても、文字列が記載されている暗号化された定義ファイルであってもよい。また、データベースとして構成される場合は、公知のデータベースマネージメントシステムにより制御されていてもよい。データベースとして、公知の記憶装置を用いることもできるし、公知の記録方式を用いることもできる。なお、ハードウェアやソフトウェアで実装する場合は、情報の授受をすることができるようにそれぞれの要素はバスなどで連結されており、動作に応じて情報が出力及び入力される。
【００２３】
なお、第１の記憶部（２）は、例えばインターフェイス部（９ａ）を介して、入力装置と接続され、様々な用語などが適宜入力され、第１の記憶部（２）の所定のファイルなどが更新されるものが好ましい。
【００２４】
第１の記憶部（２）がデータベースとして構成される場合、ＤＢＭＳ（データベース管理システム）として、公知のＤＢＭＳがあげられる。ＤＢＭＳとして、ＤＥＳ（Data Encryption Standard）方式やＲＳＡ方式などにより所定の項目に対して暗号化を施すものでもよい。そして、この暗号化は、後述の第１の暗号化部（３ａ）における暗号化方式と同一であっても異なってもよい。ただし、本発明としては、第１の記憶部（２）における暗号化処理ではなく、第１の記憶部と接続されるサーバなどに暗号化プログラムなどが格納され、その暗号化プログラムにより暗号化が行われるものが好ましく、その暗号化プログラムを用いてウェブアクセス要求などの通信から抽出された情報も暗号化されるものが好ましい。
【００２５】
第１の記憶部（２）は、本発明のシステムを構成する任意のサーバ内に設ける。暗号化された定義ファイルを読み出す場合は、第１の記憶部が後述する第１の暗号化部（３ａ）の機能をも具備するものである。
【００２６】
例えば、本発明のアクセスセキュリティシステムが、ウェブアクセス要求確認のシステムである場合、第１の記憶部（２）が記憶する文字列としては、ドメインネーム又はＩＰアドレスがあげられる。そのような１又は複数の文字列は、後述のように暗号化されると、それらの用語に対応した暗号文（例えば、ハッシュ値）とされる。
【００２７】
第１の暗号化部（３ａ）は、たとえば、ＭＤ５（Message Digest 5）、ＭＤ４、拡張ＭＤ４、ＲＩＰＥＭＤ、ＳＨＡ、ＳＨＡ−１（Secure Hash Algorithm 1）、ＨＡＶＡＬ、ＲＩＰＥＭ−１６０などの暗号化プログラムに従って、第１の記憶部に入力される文字列、又は第１の記憶部に格納される文字列を自動的に暗号化（Encrypt）するための装置である。なお、好ましい暗号化方法として、暗号化前の平文に比べ暗号化後の暗号文の容量が小さくなるものがあげられる。暗号化する箇所を特定するためには、例えば、第１の記憶部内のフラグなどで識別された所定のファイル又はテーブルに格納された所定の項目に含まれる文字列のみを読み出して、暗号化を行うようにすればよい。このように第１の記憶部に格納された所定の文字列は、例えばＣＰＵの指令などにより読み出され、第１の暗号化部（３ａ）へと送信される。また、第１の暗号化部（３ａ）により暗号化された情報は、第２の記憶部（４）へと送信される。
【００２８】
本発明の好ましい暗号化方式のひとつであるＳＨＡ−１について説明する。この暗号化方式では、メッセージなどの平文（Plaintext）を５１２ビットごとのブロックに分割する。このために、最後のブロックを４４８ビットまでにパディングし、最後の６４ビットにメッセージの長さが入るようにする。このようにして、平文を５１２ビットごとのブロックにパディングする。そして、パディングされた平文を、それぞれのブロックごとにＷ０〜Ｗ７９の計算を施す。すなわち、５１２ビットを３２ビットごとに１６分割し、最終的に３２ビットの長さを持つ８０個の値を計算する。具体的には、まずＷ０〜Ｗ１６を用意する。そして、ＸＯＲ回路又はＸＯＲ装置に、Ｗｔ−１６、Ｗｔ−１４、Ｗｔ−８、及びＷｔ−３を入力し、その出力に１ビット回転処理を行い、Ｗｔを求める。次に、ブロックの処理を行う。この処理では、３２ビットごとのＡ、Ｂ、Ｃ、Ｄ、及びＥの５つの値にＷ０〜Ｗ７９の値を混ぜながらＡ、Ｂ、Ｃ、Ｄ、及びＥの値を計算して、最終的なＡ、Ｂ、Ｃ、Ｄ、及びＥの値を求め、その値をあわせたものをハッシュ値とする。
【００２９】
このように暗号化を行うので、登録した用語を平易に解読されないという効果を得ることができる。さらには、入れ子文字による文字数制限をコンピュータ演算限界値まで受けないという効果を得ることができる。
【００３０】
第１の暗号化部（３ａ）の好ましい態様は、第１の記憶部（２）に接続されれば、第１の記憶部（２）に含まれる所定のテーブルやファイルに含まれる所定の文字列などの平文を、自動的に読み出して、暗号化するものがあげられる。この場合、例えば、ＣＰＵがメインメモリ中の暗号化プログラムの指令を受け、第１の記憶部の所定のテーブルなどに記憶される文字列などを読み出し、読み出した文字列などをＲＡＭなどに記憶させ、ＲＡＭなどに記憶された文字列を暗号化し、暗号化された文字列をＲＡＭなどに記憶させ、ＲＡＭなどに記憶された暗号文を第２の記憶部（４）などへ出力する。また、第１の暗号化部（３ａ）で暗号化された文字列（暗号文：Cipher textとも呼ぶ）として、平文とハッシュ値とを含むものであってもよいし、ハッシュ値のみからなるものであってもよいし、ハッシュ値のうち先頭ブロックのみであってもよい。ハッシュ値又はハッシュ値の先頭ブロックを用いて、後述の判定処理を行えば、判定を正確かつ迅速に行うことができる。なお、第１の暗号化部の好ましい態様は、ＳＨＡ―１、ＭＤ５などの暗号化アルゴリズムに従って暗号化を行うものである。
【００３１】
第２の記憶部（４）は、例えば、１又は複数の文字列を記憶するための装置である。具体的には、第１の暗号化部（３ａ）で暗号化された文字列を、並列記憶する。好ましくは、暗号化された文字列を機械語により物理メモリに格納する。ハッシュ関数とされた文字列は、所定のファイル分けや、テーブル分けがなされた状態で記憶されることが好ましい。なお、第２の記憶部（４）として、比較部を有し、既に格納された情報と、新たに入力される情報とを比較し、その差分情報だけを新たに記憶部に格納するものは、本発明の好ましい実施態様である。第２の記憶部（４）として、ハードディスク、メモリなど公知の記憶装置を用いることができる。また、所定の処理機能を有する記憶部を実装するためには、例えば、ハードディスクなどの記憶装置とＣＰＵなどを含み、ＣＰＵがメインメモリ中の制御プログラムの指令を受け、所定の制御を行えるようにすればよい。そして、第２の記憶部（４）に記憶された情報は、ＣＰＵなどの指令を受けて適宜読み出し可能とされ、バスなどを解して、関連性判断部（８）に送信される。
【００３２】
第２の記憶部（４）は、例えば、文字列を固有ハッシュ関数化したものをＩＤとして記憶するものがあげられる。このＩＤは、好ましくは、第１の記憶部におけるインデックス（索引）として用いられる。そして、文字列、暗号化された文字列などは、このインデックスにより、記憶部のどこに保存されたかという情報と関連して記憶される。このようにすることにより、データ発信者が意図する最新の文字列を用いて確実で高速にデータを抽出できるという効果を得ることができる。なお、第２の記憶部（４）の記憶構造として、リレーショナルデータベースが構成されており、前記固有ハッシュ関数化（暗号化）されたＩＤと、もとの文字列に関する情報とが関連付けて記憶されるものであってもよい。第２の記憶部（４）には、複数のファイルが設けられ、そのうち用途に応じて特定のファイルを選択できるようにされていてもよい。そして、そのようなファイルには、レコードとして、文字列をハッシュ関数化したものをＩＤとして格納されるものがあげられる。
【００３３】
前記第２の記憶部(4)の好ましい態様として、ドメインネーム、ＩＰアドレス、又は外部ＤＮＳサーバへの名前解決処理委譲を示す文字列から抽出された文字列であって暗号化されたものをインデックスとして格納するものがあげられる。このようなインデックスは、上記の情報抽出部と暗号化部とにより得ることができ、そのようにして得られたインデックスがバスなどを介して第２の記憶部に転送され、第２の記憶部に記憶される。
【００３４】
受信部（５）は、ウェブアクセス要求などの通信情報を受信するための装置である。通信情報として、ウェブアクセス要求以外にネットワークアクセス要求などであってもよい。ネットワークアクセス要求の場合もウェブアクセスと同様に処理が行われればよい。受信部（５）は、たとえばインターフェイス部（９ｂ）を介して通信ネットワークに接続され、通信ネットワークを介してウェブアクセス要求などを受信する。このインターフェイス部は、ＬＡＮを介してインターネットなどに接続されていてもよい。また、ＬＡＮは、イーサネット（登録商標）で構築されていても、無線ＬＡＮなどであってもよい。ネットワークは、多くの接続ノードを有しており、インターネットプロトコル（IP）を用いて通信が行われる。たとえば、ＨＴＴＰやＦＴＰなどの高レベルプロトコルは、アプリケーション階層の通信を担当し、ＴＣＰ／ＩＰのような低レベルプロトコルはトランスポート階層とネットワーク階層などの通信を担当する。イントラネットは、ファイアウォールを介してネットワークに接続され、ファイアウォールによりフィルタリングが行えるようなものであってもよい。また、本発明のシステムが、ファイアウォール又はファイアウォールの一部として機能してもよい。受信部（５）が受信したウェブアクセス要求情報は、例えば後述する情報抽出部（６）へ送信される。
【００３５】
情報抽出部（６）は、例えばウェブアクセス要求などから、ドメインネーム、ＩＰアドレス、外部ＤＮＳサーバへの名前解決処理委譲を示す文字列など所定の情報を抽出する。勿論、情報抽出部（６）は、ウェブアクセス要求などに関する情報全て（ドメインネーム、ＩＰアドレス、外部ＤＮＳサーバへの名前解決処理委譲を示す文字列などを含む）を抽出しても良いし、ドメインネーム、ＩＰアドレス、外部ＤＮＳサーバへの名前解決処理委譲を示す文字列などのうちいずれか2つ以上を抽出しても良い。特定の情報のみを抽出するためには、所定の関数で定義されるパケットのデータ部から、所定の情報を抽出すればよい。情報抽出部（６）の好ましい態様として、受信部が受信した通信情報としてのウェブサイトアクセス要求に含まれる、ドメインネーム又はＩＰアドレスを抽出するものがあげられる。情報抽出部（６）を実装するためには、例えば、ＣＰＵがメインメモリ中の制御プログラムの指令を受け、受信部（５）が受信し一時的に記憶しているメモリなどから所定の関数で定義される部位やフラグが立てられている部位などを抽出することにより目的とする情報（ドメインネーム、ＩＰアドレス、外部ＤＮＳサーバへの名前解決処理委譲を示す文字列など）を抽出するものがあげられる。情報抽出部（６）が抽出した情報は、例えば、第２の暗号化部(３ｂ)へ送信される。
【００３６】
第２の暗号化部（３ｂ）は、情報抽出部が抽出した情報（ドメインネーム、ＩＰアドレス、外部ＤＮＳサーバへの名前解決処理委譲を示す文字列など）を暗号化するための部である。なお、第２の暗号化部（３ｂ）と第１の暗号化部（３ａ）とは、同一の回路、バッファなどのハードウェアで構成されても良い。また、第２の暗号化部（３ｂ）と第１の暗号化部（３ａ）とは、同一のアルゴリズムにより情報を暗号化するものであっても良い。具体的には、第２の暗号化部（３ｂ）と第１の暗号化部（３ａ）とに共通する暗号化プログラムがメインメモリなどに記憶されてよく、ＣＰＵはメインメモリ中の暗号化プログラムの指令を受け、一時メモリなどに記憶される暗号化する対象となる情報を読み出して、所定のバッファなどを利用し、所定の暗号化処理を行えばよい。具体的には、ウェブアクセス要求などから所定の関数により規定される情報や所定のフラグで識別される情報を抽出し、暗号化を施して、例えばハッシュ関数などで表現するものがあげられ、好ましい暗号化プログラムは、ＳＨＡ−１である。なお、ウェブアクセス要求などに含まれる情報全体に暗号化を施してもよい。そして、暗号化された情報は、第３の記憶部（７）へ出力される。出力された情報は、第３の記憶部（７）へと送信される。第３の記憶部（７）は、この抽出され、暗号化された情報を記憶する。第３の記憶部（７）として、ＤＲＡＭなどのＲＡＭなどの一時メモリがあげられる。なお、第２の暗号化部の好ましい態様は、ＳＨＡ―１：Secure Hash Algorithm 1、ＭＤ５：Message Digest 5などの暗号化アルゴリズムにより暗号化を行うものである。より具体的に説明すると、暗号化アルゴリズムに基づいたプログラムをＣＤ−ＲＯＭなどの記憶媒体に格納しておき、格納されたプログラムを読み出して、適宜演算処理を行うことにより暗号化を行うものがあげられる。
【００３７】
関連性判定部（８）は、第３の記憶部（７）に記憶された情報を受取り、第２の記憶部（４）に格納された暗号化された文字列と関連するか判定するための装置である。具体的には、暗号化されたウェブアクセス要求などの情報の中に、暗号化された文字列が含まれるか判定（マッチング判定）をする。このような判定は、暗号化された文字列のいずれかと、暗号化されたウェブアクセス要求などから抽出した情報とが一致するものがあるかどうか判断するようにすればよい。例えば、関連性判定部（８）を実装するためには、ＣＰＵがメインメモリ中の制御プログラムの指令を受け、所定の情報を読み出し、マッチングを行えるようにすればよい。また、たとえば、第２の記憶部（４）には、ハッシュ値などの暗号化されたものがＩＤとして記憶されているので、そのＩＤと同じＩＤを有するものがウェブアクセス要求などの情報であって暗号化されたものの中に含まれるかどうか判断すればよい。また、このようにＩＤにより同一のものがないとされた場合はそのような指令を、同一のものがあるとされた場合はそのような指令を、バスなどを介して所定の処理部へ出力してもよい。そして、その処理部は、入力された判定部の判定結果を受け、例えばＣＰＵにより読み出されたメインメモリ中の制御プログラムの指令を受けて所定の処理を行うようにすればよい。このような所定の処理としては、受信したウェブアクセス要求などを不正なアクセスとして廃棄する処理があげられる。なお、関連性判定部(8)として、前記第３の記憶部(7)が記憶する暗号文としてのハッシュ値のうち先頭ブロックが、前記第２の記憶部(4)に記憶された暗号文としてのハッシュ値の先頭ブロックと一致するものがあるかどうか判断するものを用いてもよい。この場合、関連性判断を迅速に行うことができることとなる。
【００３８】
[基本システムの動作例]
以下、図２〜図４に従って、本システムの基本動作例を説明する。図２は、本発明の暗号文準備段階を説明するためのフローチャートである。第１の記憶部（２）と第１の暗号化部（３ａ）とが接続されるか、又は第１の記憶部（２）の所定のファイルなどに新たな用語が入力される（ステップ101）。すると、第１の暗号化部（３ａ）は、メインプログラムから読み出された制御プログラムに従って、第１の記憶部の所定の記憶部に記憶される文字列を自動的に読み出し、伝送バスなどを介してＲＡＭなどへ伝え、ＲＡＭなどはその情報を記憶する。そして、第１の暗号化部（３ａ）は、ＲＡＭなどに記憶した用語を読み出して、ＳＨＡ−１などの暗号化プログラムに従って、自動的にその文字列を暗号化し、暗号文を得る（ステップ102）。この暗号文として、ハッシュ関数によるＩＤと、その文字列とを有するものがあげられる。また、文字列全体をハッシュ関数などで暗号化してもよい。そして、第１の暗号化部（３ａ）は、暗号文を、バスなどを介して第２の記憶部（４）へ出力する。第１の記憶部（４）は、暗号文を受け取り、機械語により物理メモリに格納する（ステップ103）。このようにして、本システムの準備ステップが終了する。具体的には、暗号文（ハッシュ関数など）をインデックスとし、そのインデックスと文字列とを関連付けて記憶するものがあげられる。また、第２の記憶部（４）には、ウェブアクセス要求などに含まれるドメインネーム、ＩＰアドレスなどによりカテゴリー分けされる複数のファイル（テーブル）が設けられ、それぞれの情報がそれぞれのファイルに格納されても良い。
【００３９】
次に、受信したウェブアクセス要求などに含まれる情報を暗号化する工程例について説明する。図３は、受信したウェブアクセス要求などに含まれる情報を暗号化する工程例を説明したフローチャートである。図３に示されるように、受信部（５）は、ウェブアクセス要求などを受信する（ステップ201）。そして、受信部は、受信したウェブアクセス要求などをＲＡＭなどに記憶する。情報抽出部（６）は、ＲＡＭなどに記憶されたウェブアクセス要求などに含まれる情報を読み出し、 ウェブアクセス要求などに含まれる所定のデータ部などから、所定の関数により規定される必要情報を抽出する（ステップ202）。そして、情報抽出部（６）は、バスなどを介して抽出した情報を第２の暗号化部(3b)へ送信する。第２の暗号化部（３ｂ）は、この情報を受信し、ハッシュ関数による暗号化を施す（ステップ203）。具体的には、ＣＰＵがメインメモリ中の制御プログラムの指令を受け、ＲＡＭなどに記憶されたウェブアクセス要求などの情報（ウェブアクセス要求などの情報のうち所定の情報のみであっても良い）を読み出し、上記暗号化部（３ａ）と同一の暗号化プログラムをメインメモリなどから読み出して、暗号化を行う。そして、第２の暗号化部（３ｂ）は、暗号化した情報を、バスなどを介して、第３の記憶部（７）へ出力する。第３の記憶部（７）は、暗号文を受信し、記憶する（ステップ204）。この暗号文として、ハッシュ関数によるＩＤと、その抽出された情報とを有するものがあげられる。また、抽出された情報全体をハッシュ関数などで暗号化してもよい。そして、暗号化文は、バスなどを介して、関連性判定部（８）へ送信される（ステップ205）。
【００４０】
次に、関連性判定処理について説明する。図４は、関連性判定処理の例を示すフローチャートである。図４に示されるように、関連性判定部（８）は、第３の記憶部（７）に記憶された暗号文を受取り、ＲＡＭなどに一時的に記憶する（ステップ301）。そして、ＣＰＵがメインメモリ中の制御プログラムの指令を受け、第２の記憶部（４）に格納された暗号文に、第３の記憶部（７）に記憶された暗号文と一致するものがあるかどうか検索する（ステップ302）。具体的には、ハッシュ関数で暗号化されたＩＤをインデックスとして用いて、第２の記憶部（４）に格納されたＩＤ（群）と一致するものが第３の記憶部（７）に記憶された暗号文（ID）にあるか判定する。そして、その判定情報を所定の処理部へ出力する（ステップ303）。このようにして、本発明のシステムを用いたマッチング処理（判定）が行われる。
【００４１】
判定結果を出力するには、具体的には、一致しないとされた場合はバスなどを介してそのような情報を所定の処理部へ出力し、同一のものがあるとされた場合はバスなどを介してそのような情報を所定の処理部へ出力すればよい。そして、その所定の処理部は、入力された判定部の判定結果（処理情報）を受け、たとえばＣＰＵにより読み出されたメインメモリ中の制御プログラムの指令を受けて所定の処理を行う。また、一致するものがある場合、暗号文をインデックスとして平文を引き出し、それら平文が一致するかどうか判断した上で、平文も一致した場合に、一致したという情報を出力し、平文は一致しない場合はそのような情報を出力するようにしてもよい。この場合は、まずは暗号文を用いて一致する文字列を迅速にスクリーニングできるので、いずれにせよ処理が迅速且つ正確となる。
【００４２】
このように、本発明によれば、マッチング判定を行う場合に、あらかじめ機械語で格納された用語を用いて判定を行えるので、判定するたびに第１の記憶部（２）に格納される用語を読み出して、用語を照合する必要がなくなる。これにより、頻繁に任意の文字列（例えばウェブアクセス要求に含まれるドメインネームなどの情報）をチェックしてもデータベースとＣＰＵなどを連結するバスの帯域を圧迫することにならず、また、ネットワークの帯域も圧迫することにならないし、任意の文字列のチェックなどもきわめて迅速かつ正確に行うことができる。
【００４３】
また、複数のドメインネームシステムが所有し補完しあうドメインネーム、ＩＰアドレス、外部ＤＮＳサーバへの名前解決処理委譲を示す文字列などを一箇所に集約（一つの記憶部に格納）することにより、任意のウェブアクセス要求に含まれるドメインネームやＩＰアドレスとのマッチング判定が可能となり、不正なウェブサイトへのアクセス要求を効果的に排除できるようになる。
【００４４】
本発明の好ましい態様では、任意のウェブアクセス要求に含まれるドメインネーム又はＩＰアドレスをマッチングするための受信部（５）を具備するものがあげられる。不正なウェブサイトへのアクセス要求などに関する通信情報を確実に抽出するため、任意のウェブアクセス要求に含まれるドメインネームなどの情報とＩＰアドレスをマッチングする従来のＤＮＳサーバにはない受信部（５）を具備することによって、従来のドメインネームシステム（ＤＮＳ）では抽出できない通信情報を抽出できるようになり、正当又は不正なウェブアクセス要求を抽出、判定できるようになり、不正なウェブアクセス要求を効果的に排除することが可能となる。
【００４５】
さらには、例えば、サーバ内の文字列などが暗号化されて記憶されているので、第三者がサーバにアクセスしたとしても、その文字列が漏洩する怖れを軽減できる。さらには、文字列をハッシュ関数などで暗号化し、そのＩＤを、例えばインデックス（索引）として用いて、ウェブアクセス要求などの所定の部分にその文字列が含まれるかどうか判定できるので、機械語のまま、かつ小さな情報の一致・不一致を判断すれば足りることとなる。これにより、任意の文字列のチェックをきわめて迅速に行うことができることとなる。
【００４６】
先に説明したとおり、本発明では、暗号文としてハッシュ値又はハッシュ関数を用いるものがあげられる。ハッシュ値は、本来通常受信者側にて計算され、インターネットなどを経由してその情報が受信者に送信される間に、データの改ざんなどが行われたかどうか判定するために用いられる。しかし、本発明では、このハッシュ値を、あえて同じサーバ又はシステム内でのマッチング処理のために用いており、これによりマッチング処理を迅速に行うことができる。
【００４７】
次に、マッチング方法の例について説明する。このマッチング方法では、ハッシュ関数などの暗号文全体が一致するものがあるかどうか判断するのではなく、ハッシュ関数などを複数のブロックに分けて、ブロックごとに一致するものがあるかどうか判断する方法に関する。図５は、暗号文をブロックに分けた例を示す概念図である。例えば、暗号文(11)としてのハッシュ値は、128ビットの情報量を有しているので、例えば12ビットごとのブロック（12、13、14など）に分ける。このようなブロック分けは、カウンタなどを用いるか、所定のプログラムを利用することで容易に行うことができる。なお、図５中、12は先頭ブロックを示し、13はセカンドブロックを示し、14はサードブロックを示す。
【００４８】
図６は、ブロック分けを利用したマッチング工程の例を示すフローチャートである。図６（Ａ）は、1工程のみを示し、図６（Ｂ）は多段階スクリーニング（マッチング）工程のものを示す。
【００４９】
図６（Ａ）に示されるマッチングでは、例えば、ハッシュ値(11)のうち先頭ブロック(12)のみによりマッチング（ステップ401）を行う。具体的には、第3の記憶部(7)に記憶されたハッシュ関数として、ハッシュ値(11)の先頭ブロック(12)のみのものとし、また、第2の記憶部(8)では、ハッシュ値(11)の先頭ブロック(12)のみ又はハッシュ値(11)の先頭ブロック(12)をインデックスとして平文が関連付けられて記憶される。そして、マッチングでは、第3の記憶部(7)に記憶されたハッシュ値(11)の先頭ブロック(12)を読み出して、それを一時的に記憶し、第2の記憶部(8)に格納されたハッシュ値(11)の先頭ブロック(12)に一致するものがあるかどうか判断すればよい。このような処理は、ＣＰＵが、メインメモリに格納された制御プログラムの指令を受けて、2つの記憶部に記憶された先頭ブロック(12)を読み出して、それらが一致するものがあるかどうか判断するようにすればよい。そして、一致した場合は、一致に相当する信号を出力し、一致しない場合は不一致に相当する信号を出力すればよい。そうすれば、例えば、ウェブアクセス要求処理システムであれば、一致信号に応じて任意のウェブアクセス要求であると判断し、不正なウェブアクセス要求を排除するなどの処理を行う。
【００５０】
勿論、このようなマッチングを行う場合でも、第3の記憶部(7)及び第2の記憶部(4)に記憶されたハッシュ関数として、ハッシュ値のブロック全体(11)を記憶しておいて、例えば先頭ブロック(12)のみを抽出し、一致するものがあるかどうか判断しても良い。
【００５１】
図６（Ｂ）に示されるマッチングでは、多段階のマッチングを行う。すなわち、１又は複数回のスクリーニングを経て、最終マッチングを行うものである。このマッチングでは、図６（Ａ）に示されるものと同様の一部マッチング（ファーストマッチング：ステップ501）を行う。そして、その結果がＮＯであれば、その情報を出力し、マッチングが終わる。このファーストマッチングは、通常、ハッシュ値の先頭ブロック(12)のマッチングによるが、これに限定されるものではない。ファーストマッチングの結果がＹＥＳであった場合、ファーストマッチングで用いたブロック以外のブロックを用いてマッチングを行う。具体的には、セカンドブロック(13)を用いてマッチングを行う。そして、その結果がＮＯであった場合、不一致という信号を出力し、マッチングが終わる。その結果がＹＥＳであった場合は、一致という信号を出力し、マッチングを終えても良いし、更に他のブロックが一致するものがあるかどうかのマッチングを続けても良い。例えば、先頭ブロック、セカンドブロック、サードブロックのように順番に全てのブロックについてマッチングを行っても良いし、先頭ブロックマッチングを終えた後は、残りの全てのブロックについてマッチングを行っても良いし、改めて全てのブロック(11)のマッチングを行っても良い。
【００５２】
[ハードウェア実装]
図７は、本発明のシステムに関するサーバなどのハードウェア構成（２０）を示す図である。図７に示されるようにこのシステムは、中央演算部（ＣＰＵ）（２１）、インターフェイス（２２）、ＲＡＭなどのメモリ（２３）、ＲＯＭ（２４）、表示部（２５）を具備し、各要素は、バス（２６）を介して連結されている。また、インターフェイスは、外部と接続可能とされているし、このシステムはバス（２６）などを介して上記以外の要素と接続可能とされている。そして、例えば、バスを介して所定の情報が伝送されており、所定の情報が所定の情報送信手段から送信され、及び所定の受信手段により受信されるようにされる。
【００５３】
ＣＰＵは、各種プログラムを実行するなどして、本発明のシステムの各部を制御する。また、演算などの処理は、加算回路、乗算回路、除算回路、減算回路、ビットシフタ、汎用演算装置などのハードウェアを用いてもよい。また、処理を迅速に行うため並列処理を行うことができるようにされてもよい。通常本発明は、記憶部を有しているが、記憶部は、上記のとおりＲＡＭなどのメモリ（２３）と、ＲＯＭ（２４）などにより構成されてもよい。ハードディスクをメモリの一部として用いてもよい。そして、ＲＯＭなどの記憶部には、所定の制御プログラムや、所定のデータ（ファイル、テーブルなどの形であってもよい）が読み出し可能な状態で格納される。そして、ＣＰＵの指令により、格納された制御プログラムやデータを読み出し、所定の処理を行う。一方、メモリは、プログラムのデータ領域、作業領域、所定のデータを格納する領域などとして利用される。そして、メモリへの書き込み、読み出しは、ＣＰＵからの制御指令によって行われればよい。
【００５４】
インターフェイス（２２）は、外部と接続されており、たとえば入出力部として機能する。すなわち、外部からの情報がインターフェイスを介して本システム内での処理に適した状態とされ入力される。たとえば、キーボードなどのポインティングデバイスからの操作情報がインターフェイスを介して本システムに入力されてもよい。一方、本システムにおいて処理された情報は、外部での伝送などに適した状態として出力される。
【００５５】
表示部（２５）は、所定の情報を表示する任意の要素である。表示部は、表示部の態様に応じて、グラフィック処理部や、γ補正部、フレームバッファなどがあり、表示部に適した状態に情報を変換した後に、情報を表示させる。
【００５６】
バス（２６）は、中央演算部（ＣＰＵ）（２１）、インターフェイス（２２）、メモリ（２３）、ＲＯＭ（２４）、表示部（２５）などの各要素を連結し、バスを介してデータなどが伝送される。
【００５７】
[コンピュータ又はサーバ]
本発明は、１又は複数の文字列を記憶した第１の記憶手段(2)と接続可能とされ、前記第１の記憶手段に記憶された文字列を暗号化するための第１の暗号化手段(3a)と、前記暗号化手段が暗号化した暗号文を格納する第２の記憶手段(4)と；ウェブアクセス要求などを受信するための受信手段(5)と接続可能とされ、前記受信手段が受信したウェブアクセス要求などに含まれる所定の情報を抽出する情報抽出手段(6)と、前記情報抽出手段が抽出した情報を暗号化するための第２の暗号化手段(3b)と、前記第２の暗号化した暗号文を記憶するための第３の記憶手段(7)と、前記第２の記憶手段に記憶された暗号文と、前記第３の記憶手段が記憶した暗号文とが関連するかどうか判断するための関連性判定手段(8)とを具備する、不正なウェブアクセス要求などを選別するか、所定の情報を有するウェブアクセス要求を選別するためのコンピュータであってもよい。なお、各手段は、上述した各部に対応するものであり、各手段としてそれぞれ対応する各部と同様に機能するものがあげられる。
【００５８】
また、本発明は、１又は複数の文字列を記憶した第１の記憶手段(2)と接続可能とされ、前記第１の記憶手段に記憶された文字列を暗号化するための第１の暗号化手段(3a)と、前記暗号化手段が暗号化した暗号文を格納する第２の記憶手段(4)と；ウェブアクセス要求などを受信するための受信手段(5)と接続可能とされ、前記受信手段が受信したウェブアクセス要求などに含まれる所定の情報を抽出する情報抽出手段(6)と、前記情報抽出手段が抽出した情報を暗号化するための第２の暗号化手段(3b)と、前記第２の暗号化した暗号文を記憶するための第３の記憶手段(7)と、前記第２の記憶手段に記憶された暗号文と、前記第３の記憶手段が記憶した暗号文とが関連するかどうか判断するための関連性判定手段(8)とを具備する、不正なウェブアクセス要求などを選別するか、所定の情報を有するウェブアクセス要求などを選別するためのサーバであっても良い。
【００５９】
また、本発明は、コンピュータを、ドメインネーム、ＩＰアドレス、外部ＤＮＳサーバへの名前解決処理委譲を示す文字列などを記憶した第１の記憶手段(2)と接続可能とされ、前記第１の記憶手段に記憶された文字列を暗号化するための第１の暗号化手段(3a)と、前記第1の暗号化手段が暗号化した暗号文を格納する第２の記憶手段(4)と；ウェブアクセスを受信するための受信手段(5)と接続可能とされ、前記受信手段が受信したウェブアクセスに含まれるドメインネーム又はＩＰアドレスを抽出する情報抽出手段(6)と、前記情報抽出手段が抽出した情報を暗号化するための第２の暗号化手段(3b)と、前記第２の暗号化手段が暗号化した暗号文を記憶するための第３の記憶手段(7)と、前記第２の記憶手段に記憶された暗号文と、前記第３の記憶手段が記憶した暗号文とが関連するかどうか判断するための関連性判定手段(8)とを具備する、所定の情報を有するウェブアクセスを選別するためのコンピュータとして機能させるプログラムであってもよい。また、コンピュータを、１又は複数の文字列を記憶した第１の記憶手段(2)と接続可能とされ、前記第１の記憶手段に記憶された文字列を暗号化するための第１の暗号化手段(3a)と、前記第1の暗号化手段が暗号化した暗号文を格納する第２の記憶手段(4)と；ウェブアクセス要求などを受信するための受信手段(5)と接続可能とされ、前記受信手段が受信したウェブアクセス要求などに含まれる所定の情報を抽出する情報抽出手段(6)と、前記情報抽出手段が抽出した情報を暗号化するための第２の暗号化手段(3b)と、前記第２の暗号化手段が暗号化した暗号文を記憶するための第３の記憶手段(7)と、前記第２の記憶手段に記憶された暗号文と、前記第３の記憶手段が記憶した暗号文とが関連するかどうか判断するための関連性判定手段(8)とを具備する、不正なウェブアクセス要求などを選別するか、所定の情報を有するウェブアクセス要求などを選別するためのコンピュータとして機能させるプログラムであっても良い。更には、そのようなプログラムをコンピュータが読み出し可能な状態で格納したＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、ＭＯ、ハードディスク、ＵＳＢメモリデバイスなどの情報記録媒体であっても良い。
【００６０】
[第１の実施形態−ドメインネーム判別−]
以下、本発明の第１の実施形態に係る「ウェブアクセス要求に含まれるドメインネームなどの情報から不正なウェブアクセスを判断するウェブアクセスフィルタリングシステム」について説明する。その基本構成は、図１に示されたものと同様である。第１の記憶部（２）がデータベースとして構成される場合、公知のデータベースマネージメントシステムにより制御されていてもよい。データベースとして、公知の記憶装置を用いることもできるし、公知の記録方式を用いることもできる。なお、ハードウェアやソフトウェアで実装する場合は、情報の授受をすることができるようにそれぞれの要素はバスなどで連結されており、動作に応じて情報が出力及び入力される。
【００６１】
なお、第１の記憶部（２）に複数のドメインネームシステムが所有し補完しあうドメインネーム、ＩＰアドレス、外部ＤＮＳサーバへの名前解決処理委譲を示す文字列などを集約して格納することによって、任意のウェブアクセス要求に含まれる該当する情報（ドメインネームやＩＰアドレスなど）とのマッチング判定が可能となる。なお、「複数のドメインネームシステムが所有し補完しあうドメインネーム、ＩＰアドレス、外部ＤＮＳサーバへの名前解決処理委譲を示す文字列」は、既存のドメインネームシステムが複数台で所有しており、補完しあっている文字列である。
【００６２】
また、第１の記憶部（２）がデータベースとして構成される場合、データベースにおけるＤＢＭＳ（データベース管理システム）として、公知のＤＢＭＳがあげられる。ＤＢＭＳとして、ＤＥＳ方式やＲＳＡ方式などにより暗号化を施すものでもよい。そして、この暗号化は、後述の第１の暗号化部（３ａ）における暗号化方式と同一であっても異なってもよい。ただし、本発明としては、第１の記憶部（２）における暗号化処理ではなく、第１の記憶部と接続されるサーバなどに暗号化プログラムなどが格納され、その暗号化プログラムにより第１の暗号化部（３ａ）により所定のデータが暗号化され、またウェブアクセス要求などの所定の情報も暗号化されるものが好ましい。
【００６３】
第１の暗号化部（３ａ）は、ＳＨＡ、ＳＨＡ−１、ＳＨＡ―２５６、ＳＨＡ―３８４、ＳＨＡ―５１２、ＭＤ５、ＭＤ４、拡張ＭＤ４、ＲＩＰＥＭＤ、ＨＡＶＡＬ、ＲＩＰＥＭ−１６０などの暗号化プログラムに従って、第１の記憶部に入力される文字列を自動的に暗号化（Encrypt）するための装置である。たとえば、ＳＨＡ−１では、２５６ビットの「指紋」又は「メッセージダイジェスト」を出力する。本発明では、この指紋やメッセージダイジェストを暗号化結果として用いてもよく、それらを用いて後述の判定を行ってもよい。暗号化プログラムとして、ハッシュアルゴリズムによるものが好ましいが、ＧＣＣカオス暗号法を用いてもよい（例えば、特開平７−３３４０８１号公報）。このような暗号化プログラムは、たとえば記憶部のメインメモリに格納され、ＣＰＵの指令により読み出し可能とされればよい。このようにして暗号化された文字列は、例えばハッシュ関数で表現される。第１の暗号化部（３ａ）は、例えば、ＣＰＵなどが、メインメモリ中の暗号化プログラムの指令を受け、第１の記憶部から読み出した文字列を暗号化し、出力するようにすればよい。また、そのための作業空間や一時記憶空間として、例えば、記憶部に含まれるメモリを用いればよい。
【００６４】
このように暗号化を行うので、登録した文字列を平易に解読されないという効果を得ることができる。さらには、入れ子文字による文字数制限をコンピュータ演算限界値まで受けないという効果を得ることができる。
【００６５】
第１の暗号化部（３ａ）の好ましい態様は、第１の記憶部（２）に接続されれば、第１の記憶部（２）に含まれる所定のテーブルやファイルに含まれる所定の文字列などの平文（Plaintext）を、自動的に読み出して、暗号化するものがあげられる。この場合、例えば、メインメモリ中の暗号化プログラムとして、第１の記憶部の所定のテーブルなどに記憶される文字列などを読み出す指令と、読み出した文字列などをＲＡＭなどに記憶させる指令と、ＲＡＭなどに記憶された文字列を暗号化するためのプログラムと、暗号化された文字列をＲＡＭなどに記憶させる指令と、ＲＡＭなどに記憶された暗号化された文字列を第２の記憶部（４）などへ出力する指令とを含むものがあげられる。また、第１の暗号化部（３ａ）で暗号化された文字列（暗号文）として、平文とハッシュ値とを含むものであってもよい。この場合、ハッシュ値のみを機械語として記憶し、後述の判定処理を行えば、判定を正確かつ迅速に行うことができる。
【００６６】
第２の記憶部（４）は、例えば、１又は複数の文字列を記憶するための装置である。具体的には、第１の暗号化部（３ａ）で暗号化された文字列を、並列記憶する。具体的には、暗号化された文字列を機械語により物理メモリに格納する。ハッシュ関数とされた文字列は、所定のテーブル分けがなされた状態で記憶されることが好ましい。なお、第２の記憶部（４）として、比較部を有し、既に格納された情報と、新たに入力される情報とを比較し、その差分情報だけを新たに記憶部に格納するものは、本発明の好ましい実施態様である。第２の記憶部（４）として、ハードディスク、メモリなど公知の記憶装置を用いることができる。また、所定の処理機能を有する記憶部を実装するためには、例えば、ハードディスクなどの記憶装置とＣＰＵなどを含み、ＣＰＵがメインメモリ中の制御プログラムの指令を受け、所定の制御を行えるようにすればよい。
【００６７】
第２の記憶部（４）は、例えば、文字列を固有ハッシュ関数化したＩＤとして記憶する。このＩＤは、好ましくは、第１の記憶部におけるインデックス（索引）として用いられる。そして、文字列、暗号化された文字列などは、このインデックスにより、記憶部のどこに保存されたかという情報と関連して記憶される。このようにすることにより、データ発信者が意図する最新の用語を用いて確実で高速にデータを抽出するという効果を得ることができる。なお、第２の記憶部（４）の記憶構造として、リレーショナルデータベースが構成されており、前記固有ハッシュ関数化（暗号化）されたＩＤと、もとの文字列に関する情報とが関連付けて記憶されてもよい。
【００６８】
受信部（５）は、ウェブアクセス要求などを受信するための装置である。情報抽出部（６）は、例えばこのウェブアクセス要求などから、ウェブアクセス要求などのドメインネームなどに関する情報を抽出する。具体的には、ウェブアクセス要求などの所定のデータ部から、所定の関数により規定されるドメインネームなどの情報を抽出する。そして、第２の暗号化部（３ｂ）は、抽出されたドメインネームなどの情報に、暗号化を施して、ハッシュ関数などで表現する。第２の暗号化部（３ｂ）を実装するためには、例えば、ＣＰＵがメインメモリ中の制御プログラムの指令を受け、所定の制御を行えるようにすればよい。第２の暗号化部（３ａ）が行う暗号化のアルゴリズムは、第１の暗号化部（３ａ）におけるアルゴリズムと同様のものがあげられる。すなわち、情報抽出部は、ドメインネームなどの情報を抽出した後、ＣＰＵは、メインメモリなどに記憶された暗号化処理プログラムの指令を受け、ＲＡＭなどのメモリを利用しつつ、抽出したドメインネームなどの情報を暗号化する。暗号化されたドメインネームなどの情報は、第３の記憶部（７）へ出力される。第３の記憶部（７）は、この抽出されたドメインネームなどの情報を記憶する。第３の記憶部（７）として、ＲＡＭなどがあげられる。
【００６９】
受信部（５）の好ましい態様は、任意のウェブアクセス要求に含まれるドメインネーム又はＩＰアドレスをマッチングするものがあげられる。このような受信部（５）を具備し、任意のウェブアクセス要求などの通信情報を受信することで、従来のＤＮＳサーバへドメインネームやＩＰアドレスを確認しない不正なウェブサイトへのアクセス要求などに関する通信情報を確実に抽出できるようになる。
【００７０】
判定部（８）は、第３の記憶部（７）に記憶されたウェブアクセス要求のドメインネームなどの情報を受取り、第２の記憶部（４）に格納された文字列と関連するか判定するための装置である。具体的には、暗号化されたドメインネームなどの情報の中に、暗号化された文字列（ドメインネームなど）が含まれるか判定する。このような判定は、暗号化された文字列のいずれかと、暗号化されたドメインネームなどの情報とが一致するものがあるかどうか判断するようにすればよい。例えば、判定部（８）を実装するためには、ＣＰＵがメインメモリ中の制御プログラムの指令を受け、所定の制御を行えるようにすればよい。
【００７１】
[第一の実施形態の動作]
以下、動作例を説明する。第１の記憶部（２）と第１の暗号化部（３ａ）とが接続されるか、又は第１の記憶部（２）の所定のファイルなどに新たな文字列（ドメインネーム）が入力される。すると、第１の暗号化部（３ａ）は、メインプログラムから読み出された制御プログラムに従って、第１の記憶部の所定の記憶部に記憶される文字列を自動的に読み出し、ＲＡＭなどに記憶する。そして、ＲＡＭなどに記憶した文字列を読み出して、暗号化プログラムに従って、自動的にその文字列を暗号化する。この暗号化後のものとして、ハッシュ関数によるＩＤと、その文字列とを有するものがあげられる。また、文字列全体をハッシュ関数などで暗号化してもよい。そして、暗号化部は暗号化した文字列を第２の記憶部（４）へ出力する。記憶部（４）は、暗号化されハッシュ関数とされた文字列などを、機械語により物理メモリに格納する。
【００７２】
受信部（５）は、ウェブアクセス要求などを受信する。そして、受信部は、受信したウェブアクセス要求などをＲＡＭなどに記憶する。情報抽出部（６）は、ウェブアクセス要求などの所定の情報から、所定の関数により規定されるドメインネームなどの情報を抽出し、第２の暗号化部(３ｂ)へ送信する。第２の暗号化部（３ｂ）は、受信した情報に例えばハッシュ関数による暗号化を施す。具体的には、ＣＰＵがメインメモリ中の制御プログラムの指令を受け、ＲＡＭなどに記憶されたウェブアクセス要求から、ドメインネームなどの情報を抽出し、抽出したドメインネームなどの情報をＲＡＭなどに記憶した上で、上記暗号化部（３ａ）と同一の暗号化プログラムを読み出して、暗号化を行う。そして、暗号化したドメインネームなどの情報を第３の記憶部へ出力する。第３の記憶部（７）は、この抽出されたドメインネームなどの情報を記憶する。この暗号化後のものとして、ハッシュ関数によるＩＤと、その文字列とを有するものがあげられる。また、文字列全体をハッシュ関数などで暗号化してもよい。
【００７３】
判定部（８）は、第３の記憶部（７）に記憶されたウェブアクセス要求のドメインネームなどの情報を受取り、ＲＡＭなどに一時的に記憶する。そして、ＣＰＵがメインメモリ中の制御プログラムの指令を受け、このドメインネームなどの情報に含まれる文字列に第２の記憶部（４）に格納された文字列のうち一致するものがあるかどうか検索する。具体的には、ハッシュ関数で暗号化されたＩＤを用いて、ドメインネームなどの情報に含まれる文字列の全てのＩＤについて、第２の記憶部（４）に格納されたＩＤと同一のものがあるか判定する。そして、第２の記憶部（４）に格納されたいずれかの文字列と、ウェブアクセス要求のドメインネームなどの情報に含まれる文字列とが一致するものがあると判断した場合、一致（正当なウェブアクセス要求）という情報を出力する。一方、第２の記憶部（４）に格納されたいずれかの文字列と、ウェブアクセス要求のドメインネームなどの情報に含まれる文字列とが一致しない場合、不一致（不正なウェブアクセス要求）という情報を出力する。一致という判断を受けた受信部（５）は、ＲＡＭなどに一時的に記憶されたウェブアクセス要求に含まれるＩＰアドレスなどの情報に従って、所定のウェブサイトへの通信を許可する。一方、この不一致という判断を受けた受信部（５）は、ＲＡＭなどに一時的に記憶されたウェブアクセス要求を、そのウェブアクセス要求に含まれるＩＰアドレスなどの情報に従って、不正なウェブアクセス要求に該当する通信を受信した旨に関する情報を所定のクライアントへ通知する。
【００７４】
このように、本発明によれば、判定を行う場合に、あらかじめ機械語で格納された文字列を用いて判定を行えるので、第１の記憶部（２）に格納される文字列を読み出して、文字列を照合する必要がなくなる。これにより、頻繁に正当な又は不正なウェブアクセス要求などのチェックをしても第１の記憶部とＣＰＵなどを連結するバスの帯域を圧迫することにならず、また、ネットワークの帯域も圧迫することにもならず、正当な又は不正なウェブアクセス要求などのチェックもきわめて迅速かつ正確に行うことができる。さらには、例えば、サーバ内の文字列が暗号化されているので、第三者がサーバにアクセスしたとしても、その文字列が漏洩する怖れを軽減できる。さらには、文字列をハッシュ関数などで暗号化し、そのＩＤを、例えばインデックス（索引）として、用いて、ウェブアクセス要求にその文字列が含まれるかどうか判定できるので、機械語のまま、かつ小さな情報の一致・不一致を判断すれば足りるので、正当な又は不正なウェブアクセス要求などのチェックをきわめて迅速に行うことができることとなる。
【００７５】
さらには、複数のドメインネームシステムが所有し補完しあうドメインネーム、ＩＰアドレス、外部ＤＮＳサーバへの名前解決処理委譲を示す文字列などを一箇所、たとえば、第１の記憶部（２）に集約、格納することにより、任意のウェブアクセス要求に含まれるドメインネームやＩＰアドレスとのマッチング判定が可能となり、不正なウェブサイトへのアクセス要求を効果的に排除できるようになる。
【００７６】
また、不正なウェブサイトへのアクセス要求などに関する通信情報を確実に抽出するため、任意のウェブアクセス要求に含まれるドメインネームなどの情報とＩＰアドレスをマッチングする従来のＤＮＳサーバにはない受信部（５）を具備することによって、従来のドメインネームシステム（ＤＮＳ）では抽出できない通信情報を抽出できるようになり、正当又は不正なウェブアクセス要求を抽出、判定できるようになり、不正なウェブアクセス要求を効果的に排除することが可能となる。
【００７７】
[第二の実施形態]
次に本発明の第二の実施形態に係るＩＰアドレスから不正なウェブアクセス要求などの通信を判断するアクセスセキュリティシステムについて説明する。その基本ブロック構成は、上述したと同様である。第１の記憶部（２）には、複数のＩＰアドレスが入力される。第１の暗号化部（３ａ）は、ＣＰＵが読み出した制御プログラムの指令に従って、第１の記憶部の所定の記憶領域に記憶される１又は複数のＩＰアドレスを読み出し、ＣＰＵが読み出したＭＤ５、ＭＤ４などの暗号化プログラムに従って、読み出したＩＰアドレスを暗号化する。このようにして暗号化されたＩＰアドレスは、たとえば、ハッシュ関数で表される。
【００７８】
また、第１の記憶部（２）は、好ましくは、複数のドメインネームシステムが所有し補完しあうＩＰアドレスを集約、格納する。具体的には、ＩＰアドレスだけでアクセスが可能な正当なウェブサイトのＩＰアドレスを、正当なウェブサイトのＩＰアドレスとして格納し、不正なウェブサイトのＩＰアドレスとして公知のＩＰアドレスは、不正なウェブサイトのＩＰアドレスとして格納することが好ましい。
【００７９】
第２の記憶部（４）は、例えば、１又は複数のアクセス先ウェブサイトなどのＩＰアドレスを暗号化して記憶する。具体的には、例えばＩＰアドレスをハッシュ関数によるＩＰブロックに分けて記憶する。それぞれのＩＰブロックは、例えば、複数のレコードで構成されるが、ひとつのＩＰアドレスに対しては、好ましくはひとつのレコードが形成される。
【００８０】
受信部（５）は、ウェブアクセス要求などを受信する。情報抽出部は、このウェブアクセス要求などから、アクセス先ウェブサイトなどのＩＰアドレスに関する情報を抽出し、第2の暗号化部へ送信する。第2の暗号化部は、抽出された情報を暗号化する。この暗号文として、ハッシュ関数があげられ、ブロックに分けて出力されてもよい。第３の記憶部（７）は、この暗号化されたアクセス先ウェブサイトなどのＩＰアドレスを記憶する。
【００８１】
なお、受信部（５）を具備することによって、不正なウェブサイトへのアクセス要求などに関する通信情報を確実に抽出する。具体的には、通常、従来のＤＮＳサーバへドメインネームやＩＰアドレスが確認されて任意のウェブアクセス要求が成立するが、従来のＤＮＳサーバへ該当する情報を確認せずに不正なウェブサイトへ誘導される場合があり、このような場合に、従来のＤＮＳサーバでは抽出できない該当する不正なウェブアクセス要求を抽出できるようになり、正当又は不正なウェブアクセス要求を判定し、不正なウェブアクセス要求を効果的に排除することが可能となる。
【００８２】
判定部（８）は、第３の記憶部（７）に記憶された暗号化されたアクセス先ウェブサイトなどのＩＰアドレスを受取り、第２の記憶部（４）に格納された暗号文から検索する。これらの暗号文は、同じアルゴリズムにより暗号化されたもので、たとえばハッシュ関数として表現されている。そして、第２の記憶部（４）に格納された任意のＩＰアドレスと、アクセス先ウェブサイトなどのＩＰアドレスとが一致するものがある場合、一致（正当なウェブアクセス）という情報を出力する。一方、第２の記憶部（４）に格納されたいずれかのＩＰアドレスと、アクセス先ウェブサイトなどのＩＰアドレスとが一致しない場合、不一致（不正なウェブアクセス）という情報を出力する。
【００８３】
なお、暗号化されたＩＰアドレス（ハッシュ関数）が一致した場合に、そのハッシュ関数をインデックスとしてＩＰアドレスの平文を読み出して、読み出されたＩＰアドレスと、送信者のＩＰアドレスとが一致するものがあるかどうかさらに判断し、一致した場合に一致（正当なウェブアクセス）という情報を出力し、一致しない場合に不一致（不正なウェブアクセス）という情報を出力するようにしてもよい。このようにした場合、最終的な照合は、暗号化されていない文字列（平文）により行われることとなるが、平文による照合を行う量を大幅に削減できる。
【００８４】
また、特に図示しないが、判定部（８）の判定結果は、所定の処理部へ送られ、所定の処理部は判定結果をＲＡＭなどに記憶し、ＣＰＵにより読み出された制御プログラムの指令を受けて、所定の指令を出力する。具体的には、たとえば、受信部に対して、ウェブアクセス要求などを破棄する所定の指令などを出力する。これを受けた受信部は、ウェブアクセス要求を破棄する処理を行う。また、制御プログラムの中にウェブアクセス要求の受信自体を拒否する指令を出力し、これを受けた受信部は、大量に送付された同一のウェブアクセス要求自体を受信拒否する処理を行うようにしてもよい。
【００８５】
なお、上記のようにウェブアクセス要求を破棄する処理を行った場合、任意の指令などを受けて、利用者へウェブアクセス要求を受信しなかったことを示す内容のウェブアクセス処理を返信するものは本発明の好ましい別の実施態様である。このようなウェブアクセス要求システムは、任意のウェブアクセス要求の破棄に関する指令など判定結果を受取る入力部と、利用者へウェブアクセス要求を受信しなかったことを示す内容のウェブアクセス処理を格納する記憶部と、利用者へウェブアクセス要求を受信しなかったことを示す内容のウェブアクセス処理を返信する送信部とを具備するものがあげられる。そして、任意のウェブアクセス要求の破棄に関する指令など判定結果を受取った場合、ＣＰＵが、メインメモリなどから制御プログラムを読み出して、その制御プログラムの指令に基づいて、記憶部に格納されたウェブアクセス処理を読み出して、ＲＡＭなどに記憶し、前記送信部が利用者のＩＰアドレスなどを用いて、利用者に前記ウェブアクセス処理を返信するようにすればよい。
【図面の簡単な説明】
【００８６】
【図１】図１は、本発明のシステムの基本構成を示すブロック図である。
【図２】図２は、本発明の暗号文準備段階を説明するためのフローチャートである。
【図３】図３は、受信したウェブアクセス要求などに含まれる情報を暗号化する工程例を説明したフローチャートである。
【図４】図４は、関連性判定処理の例を示すフローチャートである。
【図５】図５は、暗号文をブロックに分けた例を示す概念図である。
【図６】図６は、ブロック分けを利用したマッチング工程の例を示すフローチャートである。図６（Ａ）は、1工程のみを示し、図６（Ｂ）は多段階スクリーニング（マッチング）工程のものを示す。
【図７】図７は、本発明のシステムに関するサーバなどのハードウェア構成を示す図である。
【符号の説明】
【００８７】
１  ウェブアクセス要求処理システム
２  第１の記憶部
３ａ  第１の暗号化部
３ｂ  第２の暗号化部
４  第２の記憶部
５  メール受信部
６  情報抽出部
７  第３の記憶部
８  関連性判定部
【図１】
2007129431.tif 000003
【図２】
2007129431.tif 000004
【図３】
2007129431.tif 000005
【図４】
2007129431.tif 000006
【図５】
2007129431.tif 000007
【図６】
2007129431.tif 000008
【図７】
2007129431.tif 000009