JP2006350560A - 電子メールシステム - Google Patents

電子メールシステム Download PDF

Info

Publication number
JP2006350560A
JP2006350560A JP2005174266A JP2005174266A JP2006350560A JP 2006350560 A JP2006350560 A JP 2006350560A JP 2005174266 A JP2005174266 A JP 2005174266A JP 2005174266 A JP2005174266 A JP 2005174266A JP 2006350560 A JP2006350560 A JP 2006350560A
Authority
JP
Japan
Prior art keywords
unit
storage unit
information
stored
encryption
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2005174266A
Other languages
English (en)
Inventor
Daisuke Sumizawa
大介 住澤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
SYNCLIENT KK
Original Assignee
SYNCLIENT KK
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by SYNCLIENT KK filed Critical SYNCLIENT KK
Priority to JP2005174266A priority Critical patent/JP2006350560A/ja
Publication of JP2006350560A publication Critical patent/JP2006350560A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Information Transfer Between Computers (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

【課題】迅速かつ正確に電子メールを選別できる電子メールシステムを提供する。
【解決手段】第1の記憶部2と接続可能である第1の暗号化部3aと,暗号文を格納する第2の記憶部4と,受信部5と接続可能とされ,電子メールから情報を抽出する情報抽出部6と,第2の暗号化部3bと,暗号文を記憶するための第3の記憶部7と,暗号文が関連するか判断する関連性判定部8とを具備する電子メールシステム1。
【選択図】図1

Description

本発明は,暗号化を行った用語を予め格納し,暗号文によるマッチング判定を行うことで,迅速かつ正確に電子メールを選別できる電子メールシステムなどに関する。
インターネットが普及するにつれて,迷惑メール(スパムメール)が送られるケースや,ウィルスメールなどが送られるケースがある。よって,これらのメールを受信者へ送らず,事前に廃棄するメールサーバなどが開発されている。
たとえば,特開平10−136012号公報(下記特許文献1)では,メールの送信元識別情報と,メール本文に所定のリンク情報が含まれるかどうかに応じて受信可否を判断する電子メールシステムが開示されている。
しかし,この電子メールシステムは,予め受信を拒否するメールの送信元識別情報や,リンク情報をデータベースなどに記憶しておく(たとえば同公報の図6参照)。そして,あるメールを受信した場合に,そのデータベースから送信元識別情報などを読み出し,受信したメールの送信元識別情報などとの照合を行う。このように,照合処理を行うたびに,データベースに格納した送信元識別情報などを読み出して処理するので,特に複数件の照合を同時に行う場合では,システムバスなどの情報伝達領域が圧迫されるという問題があった。また,照合を行うたびにデータベースから全ての情報を読み出すので,照合するために多くの時間がかかるという問題があった。
さらには,上記のような方法で受信拒否を判断する場合,その精度を上げるためには,複雑なアルゴリズムに従って処理をしなければならなくなり,処理がますます遅延するという問題があった。
特開平10−136012号公報
本発明は,迅速かつ正確に電子メールを選別できる電子メールシステムを提供することを目的とする。
本発明は,基本的には,照合を行う用語などを予めハッシュ関数などで暗号化して記憶しておき,その記憶された用語を用いて照合作業を行えば,照合作業の際にデータベースから用語などを一々読み出す必要がなくなり,予め記憶された機械語状態の暗号文を用いて照合できるので,きわめて迅速に照合作業を行うことができるという知見に基づくものである。すなわち,MD5などのハッシュ関数アルゴリズムは,ある電子メールなどが改ざんされていないかどうかチェックするために開発されたが,本発明では,改ざんをチェックするためではなく,ある用語のマッチングを,MD5などによる暗号文で行うというものである。
本発明は,具体的には,1又は複数の用語を記憶した第1の記憶部(2)と接続可能とされ,前記第1の記憶部に記憶された用語を暗号化するための第1の暗号化部(3a)と,前記暗号化部が暗号化した暗号文を格納する第2の記憶部(4)と;電子メールを受信するための受信部(5)と接続可能とされ,前記受信部が受信した電子メールに含まれる所定の情報を抽出する情報抽出部(6)と,前記情報抽出部が抽出した情報を暗号化するための第2の暗号化部(3b)と,前記第2の暗号化した暗号文を記憶するための第3の記憶部(7)と,前記第2の記憶部に記憶された暗号文と,前記第3の記憶部が記憶した暗号文とが関連するかどうか判断するための関連性判定部(8)とを具備する,電子メールシステムなどに関する。このような電子メールシステムは,例えば,コンピュータ又はサーバなどとして実装されうる。
後述するように,情報抽出部(6)は,例えば,電子メールのヘッダ部は,所定の情報が所定の関数や定義文などで定義されているので,それらの関数などを用いることで,所定の情報を指示し,抽出することができる。また,例えば,電子メールの本体(BODY)部については,先頭の15文字など所定の文字数だけを取得するようにされていても良い。電子メールの本体部についても,所定の関数や定義文で定義されているので,それらを用いることで容易にBODYを抽出することができる。
また,関連性判定部(8)は,例えば,第2の記憶部に格納されたハッシュ値(またはハッシュ値の最初のブロック)などに基づいて,第3の記憶部の所定の項目(ハッシュ値に関する項目)に,そのハッシュ値と同じハッシュ値などが存在するかどうかマッチングを行う。ハッシュ値などは,通常の用語に比べきわめて容量が小さいので,予め暗号化し登録した用語と一致する用語が電子メールに含まれるかどうかを,きわめて迅速にマッチングすることができる。また,あえて,チェックしたい用語を暗号化したので,マッチングの際に,いちいち用語DB(第1の記憶部)などにアクセスする必要がなくなる。
例えば,用語abc,bsdは,それぞれMD5などの暗号化処理により,ハッシュ値x,yに暗号化されるとすると。ハッシュ値xは,用語abcに対応し,ハッシュ値yは用語bcdに対応する。したがって,このハッシュ値について,マッチングを行えば用語をマッチングしたことになるのである。
従来の照合方法を採用した電子メールシステムであれば,データベースなどに用語を登録するだけで,照合のもととなる用語を簡単にアップデートできる。一方,本発明の電子メールシステムでは,データベースなどの記憶部に登録された用語を暗号化した後,記憶しなければならずアップデートが煩雑になる。しかし,本発明の電子メールシステムでは,用語を照合する際に,照合する用語が既に機械語(たとえば暗号化されたハッシュ値)などとして記憶されているので,マッチングしたい情報を暗号化することにより,迅速かつ正確に照合作業を行うことができることとなる。しかも,照合するものが機械語であるから,その精度を高めることができる。また,ハッシュ値などの特定の部分のみを用いて1次スクリーニングを行えば,きわめて迅速にマッチング判定を行うことができることとなる。
[基本システム構成]
図1は,本発明の電子メールシステムの基本構成を示すブロック図である。図1に示されるとおり,本発明のシステム(1)は,1又は複数の用語を記憶した第1の記憶部(2)と接続可能とされ,前記第1の記憶部に記憶された用語を暗号化するための第1の暗号化部(3a)と,前記暗号化部が暗号化した暗号文を格納する第2の記憶部(4)と;電子メールを受信するための受信部(5)と接続可能とされ,前記受信部が受信した電子メールに含まれる所定の情報を抽出する情報抽出部(6)と,前記情報抽出部が抽出した情報を暗号化するための第2の暗号化部(3b)と,前記第2の暗号化した暗号文を記憶するための第3の記憶部(7)と,前記第2の記憶部に記憶された暗号文と,前記第3の記憶部が記憶した暗号文とが関連するかどうか判断するための関連性判定部(8)と,を具備する。なお,第1の記憶部と接続可能であれば,第1の記憶部は必須の構成ではない。また,受信部,情報抽出部,及び第2の暗号化部も,任意の要素であり,第2の暗号化部が暗号化した暗号文を,第3の記憶部が入手し記憶できるものであれば良い。
任意要素は,含まれていても含まれていなくてもよく,例えば,本発明のシステム(1)の別の形態としては,1又は複数の用語を記憶した第1の記憶部(2)と;前記第1の記憶部に記憶された用語を暗号化するための第1の暗号化部(3a)と,前記暗号化部が暗号化した暗号文を格納する第2の記憶部(4)と;電子メールを受信するための受信部(5)と;前記受信部が受信した電子メールに含まれる所定の情報を抽出する情報抽出部(6)と,前記情報抽出部が抽出した情報を暗号化するための第2の暗号化部(3b)と,前記第2の暗号化した暗号文を記憶するための第3の記憶部(7)と,前記第2の記憶部に記憶された暗号文と,前記第3の記憶部が記憶した暗号文とが関連するかどうか判断するための関連性判定部(8)と,を具備するものであってもよい。さらに,
本発明のシステム(1)の別の形態としては,1又は複数の用語を記憶した第1の記憶部(2)と接続可能とされる前記第1の記憶部に記憶された用語を暗号化するための第1の暗号化部(3a)と接続可能とされ,前記暗号化部が暗号化した暗号文を格納する第2の記憶部(4)と;電子メールを受信するための受信部(5)と接続可能とされ,前記受信部が受信した電子メールに含まれる所定の情報を抽出する情報抽出部(6)と,前記情報抽出部が抽出した情報を暗号化するための第2の暗号化部(3b)と,前記第2の暗号化した暗号文を記憶するための第3の記憶部(7)と,前記第2の記憶部に記憶された暗号文と,前記第3の記憶部が記憶した暗号文とが関連するかどうか判断するための関連性判定部(8)とを具備するものであってもよい。
以下,本発明のシステムに含まれる各要素について説明する。
第1の記憶部(2)には,1又は複数のキーワードが記憶される。このキーワード(用語)として,マッチングしたい用語があげられる。そして,マッチングしたい用語として,所定のメールアドレス,タイトル,スパムと関連の高い用語,リンク情報,スパムメールなどのメッセージID(インターネットメールやインターネットニュースなどにおいて、特定のメッセージを識別するためにメッセージに付けられるユニークなID),FQDN(Fully Qualified Domain Name:インターネットやイントラネットなどのTCP/IPネットワーク上で,ドメイン名・サブドメイン名・ホスト名を省略せずにすべて指定した記述形式のこと)などがあげられる。
この第1の記憶部(2)は,たとえばデータベースとして構成されるものがあげられる。また,第1の記憶部は,本システム外のコンピュータやサーバなどの記憶部であってもよく,そのような記憶部の所定のファイルやテーブルなどであってもよく,文字列が記載されている暗号化された定義ファイルであってもよい。また,データベースとして構成される場合は,公知のデータベースマネージメントシステムにより制御されていてもよい。データベースとして,公知の記憶装置を用いることもできるし,公知の記録方式を用いることもできる。なお,ハードウェアやソフトウェアで実装する場合は,情報の授受をすることができるようにそれぞれの要素はバスなどで連結されており,動作に応じて情報が出力及び入力される。
なお,第1の記憶部(2)は,例えばインターフェイス部(9a)を介して,入力装置と接続され,様々な用語などが適宜入力され,第1の記憶部(2)の所定のファイルなどが更新されるものが好ましい。
第1の記憶部(2)がデータベースとして構成される場合,DBMS(データベース管理システム)として,公知のDBMSがあげられる。DBMSとして,DES(Data Encryption Standard)方式やRSA方式などにより所定の項目に対して暗号化を施すものでもよい。そして,この暗号化は,後述の第1の暗号化部(3a)における暗号化方式と同一であっても異なってもよい。ただし,本発明としては,第1の記憶部(2)における暗号化処理ではなく,第1の記憶部と接続されるサーバなどに暗号化プログラムなどが格納され,その暗号化プログラムにより暗号化が行われるものが好ましく,その暗号化プログラムを用いて電子メールなどから抽出された情報も暗号化されるものが好ましい。
第1の記憶部(2)は,本発明のシステムを構成するあるサーバ内に設けられてもよいし,サーバ外に設けられ,そのサーバと接続されるものであってもよい。本発明においては,好ましくは後者である。すなわち,本発明のシステムは,第1の記憶部と接続可能とされていれば,前記の用語を含む第1の記憶部は本発明のシステムに含まれていなくてもよい。そして,たとえば,第1の記憶部と本発明のシステムとが接続されれば,たとえばある定義ファイルに存在するフラグなどの識別子を用いてその定義ファイルにアクセスし,文字列が記載されている暗号化された定義ファイルなどから用語を読み出すようにすればよい。このように,暗号化された定義ファイルを読み出す場合は,第1の記憶部が後述する第1の暗号化部(3a)の機能をも具備するものである。なお,暗号化されていない定義ファイルにアクセスし,その定義ファイルに格納された用語を読み出すものは,本発明の好ましい実施態様である。
例えば,本発明の電子メールシステムが,スパムメール撃退用の電子メールシステムである場合,第1の記憶部(2)が記憶する用語としては,公序良俗に反するような用語があげられる。そのような1又は複数の用語は,後述のように暗号化されると,それらの用語に対応した暗号文(例えば,ハッシュ値)とされる。
第1の暗号化部(3a)は,たとえば,MD5,MD4,拡張MD4,RIPEMD,SHA,SHA−1,HAVAL,RIPEM−160などの暗号化プログラムに従って,第1の記憶部に入力される用語,又は第1の記憶部に格納される用語を自動的に暗号化(Encrypt)するための装置である。なお,好ましい暗号化方法として,暗号化前の平文に比べ暗号化後の暗号文の容量が小さくなるものがあげられる。暗号化する箇所を特定するためには,例えば,第1の記憶部内のフラグなどで識別された所定のファイル又はテーブルに格納された所定の項目に含まれる用語のみを読み出して,暗号化を行うようにすればよい。このように第1の記憶部に格納された所定の用語は,例えばCPUの指令などにより読み出され,第1の暗号化部(3a)へと送信される。また,第1の暗号化部(3a)により暗号化された情報は,第2の記憶部(4)へと送信される。
本発明の好ましい暗号化方式のひとつであるSHA−1(Secure Hash Algorithm 1)について説明する。この暗号化方式では,メッセージなどの平文(Plaintext)を512ビットごとのブロックに分割する。このために,最後のブロックを448ビットまでにパディングし,最後の64ビットにメッセージの長さが入るようにする。このようにして,平文を512ビットごとのブロックにパディングする。そして,パディングされた平文を,それぞれのブロックごとにW〜W79の計算を施す。すなわち,512ビットを32ビットごとに16分割し,最終的に32ビットの長さを持つ80個の値を計算する。具体的には,まずW〜W16を用意する。そして,XOR回路又はXOR装置に,Wt−16,Wt−14,Wt−8,及びWt−3を入力し,その出力に1ビット回転処理を行い,Wを求める。次に,ブロックの処理を行う。この処理では,32ビットごとのA,B,C,D,及びEの5つの値にW〜W79の値を混ぜながらA,B,C,D,及びEの値を計算して,最終的なA,B,C,D,及びEの値を求め,その値をあわせたものをハッシュ値とする。
本発明の好ましい暗号化方式のひとつであるMD5では,128ビットの「指紋」又は「メッセージダイジェスト」を出力する。本発明では,この指紋やメッセージダイジェストを暗号化結果として用いてもよく,それらを用いて後述の判定(マッチング)を行ってもよい。さらに暗号化結果をインデックスとして判定を行ってもよい。暗号化プログラムとして,ハッシュアルゴリズムによるものが好ましいが,GCCカオス暗号法を用いてもよい(例えば,特開平7−334081号公報参照)。このような暗号化プログラムは,たとえば記憶部のメインメモリに格納され,CPUの指令により読み出し可能とされればよい。このようにして暗号化されたキーワードは,例えばハッシュ関数で表現される。第1の暗号化部(3a)は,例えば,CPUなどが,メインメモリ中の暗号化プログラムの指令を受け,第1の記憶部から所定の用語を読み出し,第1の記憶部から読み出した用語を暗号化し,出力するようにすればよい。また,そのための作業空間や一時記憶空間として,例えば,記憶部に含まれるメモリを用いればよい。
MD5(Message Digest 5)について,更に詳細に説明する。MD5は,基本的には,パディング,M〜M15の生成処理,A,B,C及びD値の計算処理,ハッシュ値算出処理によりハッシュ値を求める方法である。パディングは,平文を512ビットの整数倍となるようにする処理であり,このパディング処理により入力ブロックを得る。パディングでは,平文の終了を意味するフラグとして「1」という1ビットの値を付加し,残りの領域に「0」というビットの値を詰める。そして,最後の64ビットには,メッセージの長さに関する情報を詰める。具体的には,平文をASCIIコードなどで表現した後,最後の512ビット部分の次に「1」をフラグとして付加し,残りの領域(最後の64ビットを除く)を全て「0」とする。その後,最後の64ビットに,平文の長さに関する情報を入れる。
次に,入力ブロックを32ビット単位の16個の具ロックに分割し,M〜M15の初期値とする。次に,32ビットのA,B,C及びD値を初期値として有するA,B,C及びDバッファを用いて,たとえば,4ラウンドの処理を行う。各ラウンドの処理は,回転,非線形関数による変形,加算,ORゲート(回路,装置を含む),NORゲート,ANDゲートなどによる処理であり,これにより,A,B,C及びDバッファのA,B,C及びD値を更新し,最終状態へと導く。そして,これらA,B,C及びD値を合計し,ハッシュ値を得る。
このように暗号化を行うので,登録した用語を平易に解読されないという効果を得ることができる。さらには,入れ子文字による文字数制限をコンピュータ演算限界値まで受けないという効果を得ることができる。
第1の暗号化部(3a)の好ましい態様は,第1の記憶部(2)に接続されれば,第1の記憶部(2)に含まれる所定のテーブルやファイルに含まれる所定の用語(キーワード)などの平文を,自動的に読み出して,暗号化するものがあげられる。この場合,例えば,CPUがメインメモリ中の暗号化プログラムの指令を受け,第1の記憶部の所定のテーブルなどに記憶されるキーワードなどを読み出し,読み出したキーワードなどをRAMなどに記憶させ,RAMなどに記憶されたキーワードを暗号化し,暗号化されたキーワードをRAMなどに記憶させ,RAMなどに記憶された暗号文を第2の記憶部(4)などへ出力する。また,第1の暗号化部(3a)で暗号化された用語(暗号文:Ciphertextともよぶ)として,平文とハッシュ値とを含むものであってもよいし,ハッシュ値のみからなるものであってもよいし,ハッシュ値のうち先頭ブロックのみであってもよい。ハッシュ値又はハッシュ値の先頭ブロックを用いて,後述の判定処理を行えば,判定を正確かつ迅速に行うことができる。
第2の記憶部(4)は,例えば,1又は複数の用語を記憶するための装置である。具体的には,第1の暗号化部(3a)で暗号化された用語を,並列記憶する。好ましくは,暗号化された用語を機械語により物理メモリに格納する。ハッシュ関数とされた用語は,所定のフィル分けや,テーブル分けがなされた状態で記憶されることが好ましい。なお,第2の記憶部(4)として,比較部を有し,既に格納された情報と,新たに入力される情報とを比較し,その差分情報だけを新たに記憶部に格納するものは,本発明の好ましい実施態様である。第2の記憶部(4)として,ハードディスク,メモリなど公知の記憶装置を用いることができる。また,所定の処理機能を有する記憶部を実装するためには,例えば,ハードディスクなどの記憶装置とCPUなどを含み,CPUがメインメモリ中の制御プログラムの指令を受け,所定の制御を行えるようにすればよい。そして,第2の記憶部(4)に記憶された情報は,CPUなどの指令を受けて適宜読み出し可能とされ,バスなどを解して,関連性判断部(8)に送信される。
第2の記憶部(4)は,例えば,用語(キーワード)を固有ハッシュ関数化したものをIDとして記憶するものがあげられる。このIDは,好ましくは,第1の記憶部におけるインデックス(索引)として用いられる。そして,キーワード,暗号化されたキーワードなどは,このインデックスにより,記憶部のどこに保存されたかという情報と関連して記憶される。このようにすることにより,データ発信者が意図する最新の用語を用いて確実で高速にデータを抽出できるという効果を得ることができる。なお,第2の記憶部(4)の記憶構造として,リレーショナルデータベースが構成されており,前記固有ハッシュ関数化(暗号化)されたIDと,もとのキーワードに関する情報とが関連付けて記憶されるものであってもよい。第2の記憶部(4)には,複数のファイルが設けられ,そのうち用途に応じて特定のファイルを選択できるようにされていてもよい。そして,そのようなファイルには,レコードとして,キーワードをハッシュ関数化したものをIDとして格納されるものがあげられる。
受信部(5)は,電子メールなどを受信するための装置である。受信部(5)は,たとえばインターフェイス部(9b)を介して通信ネットワークに接続され,通信ネットワークから配信される電子メールなどを受信する。このインターフェイス部は,LANを介してインターネットなどに接続されていてもよい。また,LANは,イーサネット(登録商標)で構築されていても,無線LANなどであってもよい。ネットワークは,多くの接続ノードを有しており,インターネットプロトコル(IP)を用いて通信が行われる。たとえば,HTTPやFTPなどの高レベルプロトコルは,アプリケーション階層の通信を担当し,TCP/IPのような低レベルプロトコルはトランスポート階層とネットワーク階層などの通信を担当する。イントラネットは,ファイヤーウォールを介してネットワークに接続され,ファイヤーウォールによりフィルタリングが行えるようなものであってもよい。また,本発明の電子メールシステムが,ファイヤーウォール又はファイヤーウォールの一部として機能してもよい。受信部(5)が受信した電子メール情報は,例えば後述する情報抽出部(6)へ送信される。
また,受信部(5)は,いわゆるメールサーバに含まれていてもよいし,メールサーバと接続された別のシステムであってもよい。そして,メールサーバは,本発明のシステムとは別のサーバとして構成されても良いし,同じサーバとして構成されても良い。なお,メールサーバは,インターネットやクライアント(PCなど)から受信した電子メールを格納する部と,所定のあて先にその電子メールを配送するための部,入出力部,中央演算装置(CPU)などの制御部,プログラムなどを格納する記憶部を含むものがあげられる。メールサーバにおける電子メールの送信処理は,たとえばSMTP(Simple Mail Transfer Protocol),IMAP(Internet Messaging Access Protocol),又はPOP(Post Office Protocol)などに従って行われるようにすればよい。
情報抽出部(6)は,例えば電子メールから,電子メールのタイトル,送信者のメールアドレス,本文,又は本文に含まれるリンク情報など所定の情報を抽出する。勿論,情報抽出部(6)は,電子メールに関する情報全て(電子メールのタイトル,送信者のメールアドレス,本文,又は本文に含まれるリンク情報を含む)を抽出しても良いし,電子メールのタイトル,送信者のメールアドレス,本文,又は本文に含まれるリンク情報のうちいずれか2つ以上を抽出しても良い。さらに,電子メールのメッセージIDとFQDNのいずれか又は両方を抽出してもよい。特定の情報のみを抽出するためには,所定の関数で定義されるパケットのペイロード部やデータ部から,所定の情報を抽出すればよい。情報抽出部(6)を実装するためには,例えば,CPUがメインメモリ中の制御プログラムの指令を受け,受信部(5)が受信し一時的に記憶しているメモリなどから所定の関数で定義される部位やフラグが立てられている部位などを抽出することにより目的とする情報(タイトル,送信者のメールアドレス,本文,又は本文に含まれるリンク情報など)を抽出するものがあげられる。情報抽出部(6)が抽出した情報は,例えば,第2の暗号化部(3b)へ送信される。
第2の暗号化部(3b)は,情報抽出部が抽出した情報(電子メールのタイトル,送信者のメールアドレス,本文,又は本文に含まれるリンク情報など)を暗号化するための部である。なお,第2の暗号化部(3b)と第1の暗号化部(3a)とは,同一の回路,バッファなどのハードウェアで構成されても良い。また,第2の暗号化部(3b)と第1の暗号化部(3a)とは,同一のアルゴリズムにより情報を暗号化するものであっても良い。具体的には,第2の暗号化部(3b)と第1の暗号化部(3a)とに共通する暗号化プログラムがメインメモリなどに記憶されてよく,CPUはメインメモリ中の暗号化プログラムの指令を受け,一時メモリなどに記憶される暗号化する対象となる情報を読み出して,所定のバッファなどを利用し,所定の暗号化処理を行えばよい。具体的には,電子メール情報から所定の関数により規定される情報や所定のフラグで識別される情報を抽出し,暗号化を施して,例えばハッシュ関数などで表現するものがあげられ,好ましい暗号化プログラムは,MD5である。なお,電子メールに含まれる情報全体に暗号化を施してもよい。そして,暗号化された情報は,第3の記憶部(7)へ出力される。出力された情報は,第3の記憶部(7)へと送信される。第3の記憶部(7)は,この抽出され,暗号化された情報を記憶する。第3の記憶部(7)として,DRAMなどのRAMなどの一時メモリがあげられる。
関連性判定部(8)は,第3の記憶部(7)に記憶された情報を受取り,第2の記憶部(4)に格納された暗号化された用語と関連するか判定するための装置である。具体的には,暗号化された電子メール由来の情報の中に,暗号化されたキーワードが含まれるか判定(マッチング判定)をする。このような判定は,暗号化されたキーワードのいずれかと,暗号化された電子メールから抽出した情報とが一致するものがあるかどうか判断するようにすればよい。例えば,関連性判定部(8)を実装するためには,CPUがメインメモリ中の制御プログラムの指令を受け,所定の情報を読み出し,マッチングを行えるようにすればよい。また,たとえば,第2の記憶部(4)には,ハッシュ値などの暗号化されたものがIDとして記憶されているので,そのIDと同じIDを有するものが電子メール由来の情報であって暗号化されたものの中に含まれるかどうか判断すればよい。また,このようにIDにより同一のものがないとされた場合はそのように指令をバスなどを介して所定の処理部へ出力し,同一のものがあるとされた場合はそのような指令を,バスなどを介して所定の処理部へ出力してもよい。そして,その処理部は,入力された判定部の判定結果を受け,たとえばCPUにより読み出されたメインメモリ中の制御プログラムの指令を受けて所定の処理を行うようにすればよい。このような所定の処理としては,受信した電子メールをスパムメールなどとして廃棄する処理や,受信した電子メールがスパムメールであったことを受信者あてに送信するような処理があげられる。
[基本システムの動作例]
以下,図2〜図4に従って,本システムの基本動作例を説明する。図2は,本発明の暗号文準備段階を説明するためのフローチャートである。第1の記憶部(2)と第1の暗号化部(3a)とが接続されるか,又は第1の記憶部(2)の所定のファイルなどに新たな用語が入力される(ステップ101)。すると,第1の暗号化部(3a)は,メインプログラムから読み出された制御プログラムに従って,第1の記憶部の所定の記憶部に記憶されるキーワードを自動的に読み出し,伝送バスなどを介してRAMなどへ伝え,RAMなどはその情報を記憶する。そして,第1の暗号化部(3a)は,RAMなどに記憶した用語を読み出して,MD5などの暗号化プログラムに従って,自動的にそのキーワードを暗号化し,暗号文を得る(ステップ102)。この暗号文として,ハッシュ関数によるIDと,そのキーワードとを有するものがあげられる。また,キーワード全体をハッシュ関数などで暗号化してもよい。そして,第1の暗号化部(3a)は,暗号文を,バスなどを介して第2の記憶部(4)へ出力する。第1の記憶部(4)は,暗号文を受け取り,機械語により物理メモリに格納する(ステップ103)。このようにして,本システムの準備ステップが終了する。具体的には,暗号文(ハッシュ関数など)をインデックスとし,そのインデックスと用語とを関連付けて記憶するものがあげられる。また,第2の記憶部(4)には,電子メールのタイトル,メールアドレスなどによりカテゴリー分けされる複数のファイル(テーブル)が設けられ,それぞれの情報がそれぞれのファイルに格納されても良い。
次に,受信した電子メールに含まれる情報を暗号化する工程例について説明する。図3は,受信した電子メールに含まれる情報を暗号化する工程例を説明したフローチャートである。図3に示されるように,受信部(5)は,電子メールを受信する(ステップ201)。そして,受信部は,受信した電子メールをRAMなどに記憶する。情報抽出部(6)は,RAMなどに記憶された電子メールに含まれる情報を読み出し,電子メールに含まれるパケットのペイロード部,又はデータ部などから,所定の関数により規定される必要情報を抽出する(ステップ202)。そして,情報抽出部(6)は,抽出した情報をバスなどを介して第2の暗号化部(3b)へ送信する。第2の暗号化部(3b)は,この情報を受信し,ハッシュ関数による暗号化を施す(ステップ203)。具体的には,CPUがメインメモリ中の制御プログラムの指令を受け,RAMなどに記憶された電子メール情報(電子メールの情報のうち所定の情報のみであっても良い)を読み出し,上記暗号化部(3a)と同一の暗号化プログラムをメインメモリなどから読み出して,暗号化を行う。そして,第2の暗号化部(3b)は,暗号化した情報を、バスなどを介して,第3の記憶部(7)へ出力する。第3の記憶部(7)は,暗号文を受信し,記憶する(ステップ204)。この暗号文として,ハッシュ関数によるIDと,その抽出された情報とを有するものがあげられる。また,抽出された情報全体をハッシュ関数などで暗号化してもよい。そして,暗号化文は,バスなどを介して,関連性判定部(8)へ送信される(ステップ205)。
次に,関連性判定処理について説明する。図4は,関連性判定処理の例を示すフローチャートである。図4に示されるように,関連性判定部(8)は,第3の記憶部(7)に記憶された暗号文を受取り,RAMなどに一時的に記憶する(ステップ301)。そして,CPUがメインメモリ中の制御プログラムの指令を受け,第2の記憶部(4)に格納された暗号文に,第3の記憶部(7)に記憶された暗号文と一致するものがあるかどうか検索する(ステップ302)。具体的には,ハッシュ関数で暗号化されたIDをインデックスとして用いて,第2の記憶部(4)に格納されたID(群)と一致するものが第3の記憶部(7)に記憶された暗号文(ID)にあるか判定する。そして,その判定情報を所定の処理部へ出力する(ステップ303)。このようにして,本発明のシステムを用いたマッチング処理(判定)が行われる。
判定結果を出力するには,具体的には,一致しないとされた場合はそのような情報をバスなどを介して所定の処理部へ出力し,同一のものがあるとされた場合はそのような情報をバスなどを介して所定の処理部へ出力すればよい。そして,その所定の処理部は,入力された判定部の判定結果(処理情報)を受け,たとえばCPUにより読み出されたメインメモリ中の制御プログラムの指令を受けて所定の処理を行う。また,一致するものがある場合,暗号文をインデックスとして平文を引き出し,それら平文が一致するかどうか判断した上で,平文も一致した場合に,一致したという情報を出力し,平文は一致しない場合はそのような情報を出力するようにしてもよい。この場合は,まずは暗号文を用いて一致する用語を迅速にスクリーニングできるので,いずれにせよ処理が迅速且つ正確となる。
このように,本発明によれば,マッチング判定を行う場合に,あらかじめ機械語で格納された用語を用いて判定を行えるので,判定するたびに第1の記憶部(2)に格納される用語を読み出して,用語を照合する必要がなくなる。これにより,頻繁にスパムチェックをしてもデータベースとCPUなどを連結するバスの帯域を圧迫することにならず,また,ネットワークの帯域も圧迫することにならないし,スパムチェックなどもきわめて迅速かつ正確に行うことができる。
さらには,例えば,サーバ内のキーワードなどが暗号化されて記憶されているので,第三者がサーバにアクセスしたとしても,そのキーワードが漏洩する怖れを軽減できる。さらには,キーワードをハッシュ関数などで暗号化し,そのIDを,例えばインデックス(索引)として用いて,電子メールの所定の部分にその用語が含まれるかどうか判定できるので,機械語のまま,かつ小さな情報の一致・不一致を判断すれば足りることとなる。これにより,スパムチェックをきわめて迅速に行うことができることとなる。
先に説明したとおり,本発明では,暗号文としてハッシュ値又はハッシュ関数を用いるものがあげられる。ハッシュ値は,本来通常受信者側にて計算され,インターネットなどを経由してその情報が受信者に送信される間に,データの改ざんなどが行われたかどうか判定するために用いられる。しかし,本発明では,このハッシュ値を,あえて同じサーバ又はシステム内でのマッチング処理のために用いており,これによりマッチング処理を迅速に行うことができる。
次に,マッチング方法の例について説明する。このマッチング方法では,ハッシュ関数などの暗号文全体が一致するものがあるかどうか判断するのではなく,ハッシュ関数などを複数のブロックに分けて,ブロックごとに一致するものがあるかどうか判断する方法に関する。図5は,暗号文をブロックに分けた例を示す概念図である。例えば,暗号文(11)としてのハッシュ値は,128ビットの情報量を有しているので,例えば12ビットごとのブロック(12,13,14など)に分ける。このようなブロック分けは,カウンタなどを用いるか,所定のプログラムを利用することで容易に行うことができる。なお,図5中,12は先頭ブロックを示し,13はセカンドブロックを示し,14はサードブロックを示す。
図6は,ブロック分けを利用したマッチング工程の例を示すフローチャートである。図6(A)は,1工程のみを示し,図6(B)は多段階スクリーニング(マッチング)工程のものを示す。
図6(A)に示されるマッチングでは,例えば,ハッシュ値(11)のうち先頭ブロック(12)のみによりマッチング(ステップ401)を行う。具体的には,第3の記憶部(7)に記憶されたハッシュ関数として,ハッシュ値(11)の先頭ブロック(12)のみのものとし,また,第2の記憶部(8)では,ハッシュ値(11)の先頭ブロック(12)のみ又はハッシュ値(11)の先頭ブロック(12)をインデックスとして平文が関連付けられて記憶される。そして,マッチングでは,第3の記憶部(7)に記憶されたハッシュ値(11)の先頭ブロック(12)を読み出して,それを一時的に記憶し,第2の記憶部(8)に格納されたハッシュ値(11)の先頭ブロック(12)に一致するものがあるかどうか判断すればよい。このような処理は,CPUが,メインメモリに格納された制御プログラムの指令を受けて,2つの記憶部に記憶された先頭ブロック(12)を読み出して,それらが一致するものがあるかどうか判断するようにすればよい。そして,一致した場合は,一致に相当する信号を出力し,一致しない場合は不一致に相当する信号を出力すればよい。そうすれば,例えば,スパムメール処理システムであれば,一致信号に応じてスパムであると判断し,電子メールを削除するなどの処理を行う。
勿論,このようなマッチングを行う場合でも,第3の記憶部(7)及び第2の記憶部(4)に記憶されたハッシュ関数として,ハッシュ値のブロック全体(11)を記憶しておいて,例えば先頭ブロック(12)のみを抽出し,一致するものがあるかどうか判断しても良い。
図6(B)に示されるマッチングでは,多段階のマッチングを行う。すなわち,1又は複数回のスクリーニングを経て,最終マッチングを行うものである。このマッチングでは,図6(A)に示されるものと同様の一部マッチング(ファーストマッチング:ステップ501)を行う。そして,その結果がNOであれば,その情報を出力し,マッチングが終わる。このファーストマッチングは,通常,ハッシュ値の先頭ブロック(12)のマッチングによるが,これに限定されるものではない。ファーストマッチングの結果がYESであった場合,ファーストマッチングで用いたブロック以外のブロックを用いてマッチングを行う。具体的には,セカンドブロック(13)を用いてマッチングを行う。そして,その結果がNOであった場合,不一致という信号を出力し,マッチングが終わる。その結果がYESであった場合は,一致という信号を出力し,マッチングを終えても良いし,更に他のブロックが一致するものがあるかどうかのマッチングを続けても良い。例えば,先頭ブロック,セカンドブロック,サードブロックのように順番に全てのブロックについてマッチングを行っても良いし,先頭ブロックマッチングを終えた後は,残りの全てのブロックについてマッチングを行っても良いし,改めて全てのブロック(11)のマッチングを行っても良い。
[ハードウェア実装]
図7は,本発明のシステムに関するサーバなどのハードウェア構成(20)を示す図である。図7に示されるようにこのシステムは,中央演算部(CPU)(21),インターフェイス(22),RAMなどのメモリ(23),ROM(24),表示部(25)を具備し,各要素は,バス(26)を介して連結されている。また,インターフェイスは,外部と接続可能とされているし,このシステムはバス(26)などを介して上記以外の要素と接続可能とされている。そして,例えば,バスを介して所定の情報が伝送されており,所定の情報が所定の情報送信手段から送信され,及び所定の受信手段により受信されるようにされる。
CPUは,各種プログラムを実行するなどして,本発明のシステムの各部を制御する。また,演算などの処理は,加算回路,乗算回路,除算回路,減算回路,ビットシフタ,汎用演算装置などのハードウェアを用いてもよい。また,処理を迅速に行うため並列処理を行うことができるようにされてもよい。通常本発明は,記憶部を有しているが,記憶部は,上記のとおりRAMなどのメモリ(23)と,ROM(24)などにより構成されてもよい。ハードディスクをメモリの一部として用いてもよい。そして,ROMなどの記憶部には,所定の制御プログラムや,所定のデータ(ファイル,テーブルなどの形であってもよい)が読み出し可能な状態で格納される。そして,CPUの指令により,格納された制御プログラムやデータを読み出し,所定の処理を行う。一方,メモリは,プログラムのデータ領域,作業領域,所定のデータを格納する領域などとして利用される。そして,メモリへの書き込み,読み出しは,CPUからの制御指令によって行われればよい。
インターフェイス(22)は,外部と接続されており,たとえば入出力部として機能する。すなわち,外部からの情報がインターフェイスを介して本システム内での処理に適した状態とされ入力される。たとえば,キーボードなどのポインティングデバイスからの操作情報がインターフェイスを介して本システムに入力されてもよい。一方,本システムにおいて処理された情報は,外部での伝送などに適した状態として出力される。
表示部(25)は,所定の情報を表示する任意の要素である。表示部は,表示部の態様に応じて,グラフィック処理部や,γ補正部,フレームバッファなどがあり,表示部に適した状態に情報を変換した後に,情報を表示させる。
バス(26)は,中央演算部(CPU)(21),インターフェイス(22),メモリ(23),ROM(24),表示部(25)などの各要素を連結し,バスを介してデータなどが伝送される。
[コンピュータ又はサーバ]
本発明は,1又は複数の用語を記憶した第1の記憶手段(2)と接続可能とされ,前記第1の記憶手段に記憶された用語を暗号化するための第1の暗号化手段(3a)と,前記暗号化手段が暗号化した暗号文を格納する第2の記憶手段(4)と;電子メールを受信するための受信手段(5)と接続可能とされ,前記受信手段が受信した電子メールに含まれる所定の情報を抽出する情報抽出手段(6)と,前記情報抽出手段が抽出した情報を暗号化するための第2の暗号化手段(3b)と,前記第2の暗号化した暗号文を記憶するための第3の記憶手段(7)と,前記第2の記憶手段に記憶された暗号文と,前記第3の記憶手段が記憶した暗号文とが関連するかどうか判断するための関連性判定手段(8)とを具備する,スパムメールなどを選別するか,所定の情報を有するメールなどを選別するためのコンピュータであってもよい。なお,各手段は,上述した各部に対応するものであり,各手段としてそれぞれ対応する各部と同様に機能するものがあげられる。
また,本発明は,1又は複数の用語を記憶した第1の記憶手段(2)と接続可能とされ,前記第1の記憶手段に記憶された用語を暗号化するための第1の暗号化手段(3a)と,前記暗号化手段が暗号化した暗号文を格納する第2の記憶手段(4)と;電子メールを受信するための受信手段(5)と接続可能とされ,前記受信手段が受信した電子メールに含まれる所定の情報を抽出する情報抽出手段(6)と,前記情報抽出手段が抽出した情報を暗号化するための第2の暗号化手段(3b)と,前記第2の暗号化した暗号文を記憶するための第3の記憶手段(7)と,前記第2の記憶手段に記憶された暗号文と,前記第3の記憶手段が記憶した暗号文とが関連するかどうか判断するための関連性判定手段(8)とを具備する,スパムメールなどを選別するか,所定の情報を有するメールなどを選別するためのサーバであっても良い。
また,本発明は,コンピュータを,1又は複数の用語を記憶した第1の記憶手段(2)と接続可能とされ,前記第1の記憶手段に記憶された用語を暗号化するための第1の暗号化手段(3a)と,前記暗号化手段が暗号化した暗号文を格納する第2の記憶手段(4)と;電子メールを受信するための受信手段(5)と接続可能とされ,前記受信手段が受信した電子メールに含まれる所定の情報を抽出する情報抽出手段(6)と,前記情報抽出手段が抽出した情報を暗号化するための第2の暗号化手段(3b)と,前記第2の暗号化した暗号文を記憶するための第3の記憶手段(7)と,前記第2の記憶手段に記憶された暗号文と,前記第3の記憶手段が記憶した暗号文とが関連するかどうか判断するための関連性判定手段(8)とを具備する,スパムメールなどを選別するか,所定の情報を有するメールなどを選別するためのコンピュータとして機能させるプログラムであっても良い。更には,そのようなプログラムをコンピュータが読み出し可能な状態で格納したCD−ROM,DVD−ROM,MO,ハードディスク,USBメモリデバイスなどの情報記録媒体であっても良い。
[第1の実施形態−タイトル判別−]
以下,本発明の第1の実施形態に係る「タイトルに含まれるキーワードを用いてスパムメールを判断する電子メールシステム」について説明する。その基本構成は,図1に示されたものと同様である。第1の記憶部(2)には,その用語が含まれる場合にスパムメールとする複数のキーワードが記憶される。第1の記憶部(2)がデータベースとして構成される場合,公知のデータベースマネージメントシステムにより制御されていてもよい。データベースとして,公知の記憶装置を用いることもできるし,公知の記録方式を用いることもできる。なお,ハードウェアやソフトウェアで実装する場合は,情報の授受をすることができるようにそれぞれの要素はバスなどで連結されており,動作に応じて情報が出力及び入力される。
なお,第1の記憶部(2)がデータベースとして構成される場合,データベースにおけるDBMS(データベース管理システム)として,公知のDBMSがあげられる。DBMSとして,DES方式やRSA方式などにより暗号化を施すものでもよい。そして,この暗号化は,後述の第1の暗号化部(3a)における暗号化方式と同一であっても異なってもよい。ただし,本発明としては,第1の記憶部(2)における暗号化処理ではなく,第1の記憶部と接続されるサーバなどに暗号化プログラムなどが格納され,その暗号化プログラムにより第1の暗号化部(3a)により所定のデータが暗号化され,また電子メールなどの所定の情報も暗号化されるものが好ましい。
第1の暗号化部(3a)は,MD5,MD4,拡張MD4,RIPEMD,SHA,SHA−1,HAVAL,RIPEM−160などの暗号化プログラムに従って,第1の記憶部に入力されるキーワードを自動的に暗号化(Encrypt)するための装置である。たとえば,MD5では,128ビットの「指紋」又は「メッセージダイジェスト」を出力する。本発明では,この指紋やメッセージダイジェストを暗号化結果として用いてもよく,それらを用いて後述の判定を行ってもよい。暗号化プログラムとして,ハッシュアルゴリズムによるものが好ましいが,GCCカオス暗号法を用いてもよい(例えば,特開平7−334081号公報)。このような暗号化プログラムは,たとえば記憶部のメインメモリに格納され,CPUの指令により読み出し可能とされればよい。このようにして暗号化されたキーワードは,例えばハッシュ関数で表現される。第1の暗号化部(3a)は,例えば,CPUなどが,メインメモリ中の暗号化プログラムの指令を受け,第1の記憶部から読み出した用語を暗号化し,出力するようにすればよい。また,そのための作業空間や一時記憶空間として,例えば,記憶部に含まれるメモリを用いればよい。
このように暗号化を行うので,登録した用語を平易に解読されないという効果を得ることができる。さらには,入れ子文字による文字数制限をコンピュータ演算限界値まで受けないという効果を得ることができる。
第1の暗号化部(3a)の好ましい態様は,第1の記憶部(2)に接続されれば,第1の記憶部(2)に含まれる所定のテーブルやファイルに含まれる所定の用語(キーワード)などの平文(Plaintext)を,自動的に読み出して,暗号化するものがあげられる。この場合,例えば,メインメモリ中の暗号化プログラムとして,第1の記憶部の所定のテーブルなどに記憶されるキーワードなどを読み出す指令と,読み出したキーワードなどをRAMなどに記憶させる指令と,RAMなどに記憶されたキーワードを暗号化するためのプログラムと,暗号化されたキーワードをRAMなどに記憶させる指令と,RAMなどに記憶された暗号化されたキーワードを第2の記憶部(4)などへ出力する指令とを含むものがあげられる。また,第1の暗号化部(3a)で暗号化された用語(暗号文)として,平文とハッシュ値とを含むものであってもよい。この場合,ハッシュ値のみを機械語として記憶し,後述の判定処理を行えば,判定を正確かつ迅速に行うことができる。
第2の記憶部(4)は,例えば,1又は複数の用語を記憶するための装置である。具体的には,第1の暗号化部(3a)で暗号化された用語を,並列記憶する。具体的には,暗号化された用語を機械語により物理メモリに格納する。ハッシュ関数とされた用語は,所定のテーブル分けがなされた状態で記憶されることが好ましい。なお,第2の記憶部(4)として,比較部を有し,既に格納された情報と,新たに入力される情報とを比較し,その差分情報だけを新たに記憶部に格納するものは,本発明の好ましい実施態様である。第2の記憶部(4)として,ハードディスク,メモリなど公知の記憶装置を用いることができる。また,所定の処理機能を有する記憶部を実装するためには,例えば,ハードディスクなどの記憶装置とCPUなどを含み,CPUがメインメモリ中の制御プログラムの指令を受け,所定の制御を行えるようにすればよい。
第2の記憶部(4)は,例えば,用語(キーワード)を固有ハッシュ関数化したIDとして記憶する。このIDは,好ましくは,第1の記憶部におけるインデックス(索引)として用いられる。そして,キーワード,暗号化されたキーワードなどは,このインデックスにより,記憶部のどこに保存されたかという情報と関連して記憶される。このようにすることにより,データ発信者が意図する最新の用語を用いて確実で高速にデータを抽出するという効果を得ることができる。なお,第2の記憶部(4)の記憶構造として,リレーショナルデータベースが構成されており,前記固有ハッシュ関数化(暗号化)されたIDと,もとのキーワードに関する情報とが関連付けて記憶されてもよい。第2の記憶部(4)には,複数のファイルが設けられ,そのうちタイトルでスパムを判定する場合は,その用途のためのファイルが選択される。そして,そのようなファイルには,レコードとして,キーワードがハッシュ関数化されたものがIDとして格納されている。
受信部(5)は,電子メールを受信するための装置である。情報抽出部(6)は,例えばこの電子メールから,電子メールのタイトルに関する情報を抽出する。具体的には,パケットのペイロード部から,所定の関数により規定されるタイトル部を抽出する。そして,第2の暗号化部(3b)は,抽出されたタイトル情報に,暗号化を施して,ハッシュ関数などで表現する。第2の暗号化部(3b)を実装するためには,例えば,CPUがメインメモリ中の制御プログラムの指令を受け,所定の制御を行えるようにすればよい。第2の暗号化部(3a)が行う暗号化のアルゴリズムは,第1の暗号化部(3a)におけるアルゴリズムと同様のものがあげられる。すなわち,情報抽出部は,タイトル情報を抽出した後,CPUは,メインメモリなどに記憶された暗号化処理プログラムの指令を受け,RAMなどのメモリを利用しつつ,抽出したタイトル情報を暗号化する。暗号化されたタイトル情報は,第3の記憶部(7)へ出力される。第3の記憶部(7)は,この抽出されたタイトル情報を記憶する。第3の記憶部(7)として,RAMなどがあげられる。
判定部(8)は,第3の記憶部(7)に記憶された電子メールのタイトル情報を受取り,第2の記憶部(4)に格納された用語と関連するか判定するための装置である。具体的には,暗号化されたタイトル情報の中に,暗号化されたキーワードが含まれるか判定する。このような判定は,暗号化されたキーワードのいずれかと,暗号化されたタイトルとが一致するものがあるかどうか判断するようにすればよい。例えば,判定部(8)を実装するためには,CPUがメインメモリ中の制御プログラムの指令を受け,所定の制御を行えるようにすればよい。
[第一の実施形態の動作] 以下,動作例を説明する。第1の記憶部(2)と第1の暗号化部(3a)とが接続されるか,又は第1の記憶部(2)の所定のファイルなどに新たな用語が入力される。すると,第1の暗号化部(3a)は,メインプログラムから読み出された制御プログラムに従って,第1の記憶部の所定の記憶部に記憶されるキーワードを自動的に読み出し,RAAMなどに記憶する。そして,RAMなどに記憶した用語を読み出して,暗号化プログラムに従って,自動的にそのキーワードを暗号化する。この暗号化後のものとして,ハッシュ関数によるIDと,そのキーワードとを有するものがあげられる。また,キーワード全体をハッシュ関数などで暗号化してもよい。そして,暗号化部は暗号化したキーワードを第2の記憶部(4)へ出力する。記憶部(4)は,暗号化されハッシュ関数とされたキーワードなどを,機械語により物理メモリに格納する。
受信部(5)は,電子メールを受信する。そして,受信部は,受信した電子メールをRAMなどに記憶する。情報抽出部(6)は,電子メールのパケットのペイロード部から,所定の関数により規定されるタイトル部を抽出し,第2の暗号化部(3b)へ送信する。第2の暗号化部(3b)は,受信した情報に例えばハッシュ関数による暗号化を施す。具体的には,CPUがメインメモリ中の制御プログラムの指令を受け,RAMなどに記憶された電子メール情報から,タイトル部を抽出し,抽出したタイトル部をRAMなどに記憶した上で,上記暗号化部(3a)と同一の暗号化プログラムを読み出して,暗号化を行う。そして,暗号化したタイトル部を第3の記憶部へ出力する。第3の記憶部(7)は,この抽出されたタイトル情報を記憶する。この暗号化後のものとして,ハッシュ関数によるIDと,そのキーワードとを有するものがあげられる。また,キーワード全体をハッシュ関数などで暗号化してもよい。
判定部(8)は,第3の記憶部(7)に記憶された電子メールのタイトル情報を受取り,RAMなどに一時的に記憶する。そして,CPUがメインメモリ中の制御プログラムの指令を受け,このタイトルに含まれる用語に第2の記憶部(4)に格納された用語のうち一致するものがあるかどうか検索する。具体的には,ハッシュ関数で暗号化されたIDを用いて,タイトルに含まれる用語の全てのIDについて,第2の記憶部(4)に格納されたIDと同一のものがあるか判定する。そして,第2の記憶部(4)に格納されたいずれかの用語と,送信メールのタイトルに含まれる用語とが一致するものがあると判断した場合,一致(迷惑メール)という情報を出力する。一方,第2の記憶部(4)に格納されたいずれかの用語と,送信メールのタイトルに含まれる用語とが一致しない場合,不一致(迷惑メールでない)という情報を出力する。この不一致という判断を受けた受信部(5)は,RAMなどに一時的に記憶された電子メールを,そのペイロードに含まれるIPアドレスなどの情報に従って,所定のクライアントへ送信する。一方,一致という判断を受けた受信部(5)は,RAMなどに一時的に記憶された電子メールのペイロードに含まれるIPアドレスなどの情報に従って,所定のクライアントへ,迷惑メールを受信した旨に関する情報を送信する。
このように,本発明によれば,判定を行う場合に,あらかじめ機械語で格納された用語を用いて判定を行えるので,第1の記憶部(2)に格納される用語を読み出して,用語を照合する必要がなくなる。これにより,頻繁にスパムチェックをしても第1の記憶部とCPUなどを連結するバスの帯域を圧迫することにならず、また,ネットワークの帯域も圧迫することにならないし、スパムチェックなどもきわめて迅速かつ正確に行うことができる。さらには,例えば,サーバ内のキーワードが暗号化されているので,第三者がサーバにアクセスしたとしても,そのキーワードが漏洩する怖れを軽減できる。さらには,キーワードをハッシュ関数などで暗号化し,そのIDを,例えばインデックス(索引)として,用いて,電子メールにそのキーワードが含まれるかどうか判定できるので,機械語のまま,かつ小さな情報の一致・不一致を判断すれば足りるので,スパムチェックをきわめて迅速に行うことができることとなる。
[第二の実施形態]
次に本発明の第二の実施形態に係るIPアドレスからスパムメールを判断する電子メールシステムについて説明する。その基本ブロック構成は,上述したと同様である。第1の記憶部(2)には,複数のIPアドレスが入力される。第1の暗号化部(3a)は,CPUが読み出した制御プログラムの指令に従って,第1の記憶部の所定の記憶領域に記憶される1又は複数のIPアドレスを読み出し,CPUが読み出したMD5,MD4などの暗号化プログラムに従って,読み出したIPアドレスを暗号化する。このようにして暗号化されたIPアドレスは,たとえば,ハッシュ関数で表される。
第2の記憶部(4)は,例えば,1又は複数の送信先のIPアドレスを暗号化して記憶する。具体的には,例えばIPアドレスをハッシュ関数によるIPブロックに分けて記憶する。それぞれのIPブロックは,例えば,複数のレコードで構成されるが,ひとつのIPアドレスに対しては,好ましくはひとつのレコードが形成される。
受信部(5)は,電子メールを受信する。情報抽出部は,この電子メールから,送信者のIPアドレスに関する情報を抽出し,第2の暗号化部へ送信する。第2の暗号化部は,抽出された情報を暗号化する。この暗号文として,ハッシュ関数があげられ,ブロックに分けて出力されてもよい。第3の記憶部(7)は,この暗号化された送信者のIPアドレスを記憶する。
波長分割多重通信などでは,まず電子メールなどを受信する際に,送信ノードと受信ノードとの間で用いる波長を設定する(光パス設定)。具体的には送信ノードが接続要請を行うので,その際にIPアドレス情報を含むパス設定情報を各ノードへ伝える。そして,受信ノードは,この光パス設定の際に含まれる送信者に関する情報を受取って,受信部に入力してもよい。そのようにすれば,光パス設定の際に情報を抽出して暗号化し,予めハッシュ関数化して格納した所定のIPアドレスを用いて,マッチング判定を行うことにより,スパムメールやウィルスメールの光パス設定自体を防止できるか,スパムメールなどを受信しないように設定することもできるので,たとえばウィルスメールについては,サーバやクライアントなどがウィルスに感染する事態を効果的に防止できる。
判定部(8)は,第3の記憶部(7)に記憶された暗号化された送信者のIPアドレスを受取り,第2の記憶部(4)に格納された暗号文から検索する。これらの暗号文は,同じアルゴリズムにより暗号化されたもので,たとえばハッシュ関数として表現されている。そして,第2の記憶部(4)に格納されたいずれかのIPアドレスと,送信者のIPアドレスとが一致するものがある場合,一致(迷惑メール)という情報を出力する。一方,第2の記憶部(4)に格納されたいずれかのIPアドレスと,送信者のIPアドレスとが一致しない場合,不一致(迷惑メールでない)という情報を出力する。
なお,暗号化されたIPアドレス(ハッシュ関数)が一致した場合に,そのハッシュ関数をインデックスとしてIPアドレスの平文を読み出して,読み出されたIPアドレスと,送信者のIPアドレスとが一致するものがあるかどうかさらに判断し,一致した場合に一致(迷惑メール)という情報を出力し,一致しない場合に不一致(迷惑メールでない)という情報を出力するようにしてもよい。このようにした場合,最終的な照合は,暗号化されていない文字列(平文)により行われることとなるが,平文による照合を行う量を大幅に削減できる。
また,特に図示しないが,判定部(8)の判定結果は,所定の処理部へ送られ,所定の処理部は判定結果をRAMなどに記憶し,CPUにより読み出された制御プログラムの指令を受けて,所定の指令を出力する。具体的には,たとえば,受信部に対して,電子メールを削除するDELETE指令などを出力する。これを受けた受信部は,電子メールを削除する処理を行う。また,制御プログラムの中にメール着信自体を拒否するREJECT指令を出力し,これを受けた受信部は,大量に送付された同一のメール自体を受信拒否する処理を行うようにしてもよい。
なお,上記のように電子メールを削除する処理を行った場合,DELETE指令やREJECT指令などを受けて,送信者へ電子メールを受信しなかったことを示す内容の電子メールを返送するものは本発明の好ましい別の実施態様である。このような電子メールシステムは,DELETE指令やREJECT指令など判定結果を受取る入力部と,送信者へ電子メールを受信しなかったことを示す内容の電子メールの本文を格納する記憶部と,送信者へ電子メールを受信しなかったことを示す内容の電子メールを送信する送信部とを具備するものがあげられる。そして,DELETE指令やREJECT指令など判定結果を受取った場合,CPUが,メインメモリなどから制御プログラムを読み出して,その制御プログラムの指令に基づいて,記憶部から格納された電子メール本文を読み出して,RAMなどに記憶し,前記送信部が送信者のIPアドレスなどを用いて,送信者に前記電子メール本文をデータ部に含む電子メールを送信するようにすればよい。
[第3の実施態様]
この態様は,上述した暗号化を用いたマッチングと通常のマッチングとを並行して用いることにより,お互いの利点を利用するシステムに関する。特に図示しないが,この態様のシステムは,第1のスパム判断部と,第2のスパム判断部とを具備する。まず,モデム等の受信部が,インターネット等の通信ネットワークを介して配信される電子メールを受信する。受信された電子メールは,コンピュータ又はサーバ内の一時記憶部に記憶しておく。そして,第1のスパム判断部は,その電子メールがスパムメールであるかどうか判断する。第1のスパム判断部によりスパムでないと判断された場合に,第2のスパム判断部によりスパムかどうか判断するようにしても良いし,第1のスパム判断部によりスパムであると判断された場合に,第2のスパム判断部によりスパムかどうか判断するようにしても良い。さらに,第1のスパム判断部による判断と並行して,第2のスパム判断部は,その電子メールがスパムメールであるかどうか判断してもよい。そして,いずれかのスパム判断部又は両方のスパム判断部により,スパムメールであると判断された場合は,受信した電子メールを削除し,受信者にスパムメールが届いた旨を通知する。また,送信者に向けて,受信者が受け取らなかった旨の連絡を送信しても良い。なお,好ましい態様としては,第2のスパム判断部をリアルタイム検索に用い,第1のスパム判断部をたとえばメッセージIDをハッシュ関数へ暗号化したものを用いるものがあげられる。
第1のスパム判断部として,例えば図1に示されるような本発明の電子メールシステムを用いればよい。そして,第2のスパム判断部として,フィッシャー直接確率,及びカイ2乗検定のいずれか又は両方を用いてスパムメールを判断するものがあげられる。第2のスパム判断部として,ネットワークを介して配信される電子メールを受信する受信部と,前記電子メールに対して,フィッシャー直接確率,及びカイ2乗検定のいずれか又は両方により,電子メールの評価値を求める評価部と,前記評価値と設定値との大小を比較する比較部とを具備し,前記比較部が評価値が設定値以上と判断した場合は,スパムメールとし,評価値が設定値以下と判断した場合はスパムペールではないと判断するものがあげられる。そして,評価部は,フィッシャー直接確率の値を求めるフィッシャー直接確率算出部,及びカイ2乗検定の値を求めるカイ2乗検定算出部のいずれか又は両方を具備するものがあげられる。
この態様に用いる第1のスパム判断部として,好ましくは電子メールのメッセージIDとFQDNのいずれか又は両方を抽出し,ハッシュ関数に暗号化してマッチングを行うものがあげられる。その中でも好ましいものは,電子メールのメッセージIDを抽出し,ハッシュ関数に暗号化してマッチングを行うものである。なお,メッセージIDが認識されない場合は,マッチングをするまでもなく,スパムメールであると判断してもよい。このような場合,電子メールに所定の関数で定義されるメッセージIDがあるかどうか判断するメッセージID判断部を用いれば,メッセージIDの有無を容易に判断できる。
フィッシャー直接確率,及びカイ2乗検定は,いずれもスパムメール判定アルゴリズムとして公知のアルゴリズムである。そして,これらのスパムメール判断プログラムは,例えばメインメモリに記憶されればよく,スパム判断時には,CPUはメインメモリに格納されたそのプログラムからの指令を受けて,電子メールの本文などの情報を読み出し,公知の演算を行うことで,評価値を算出すればよい。
フィッシャー直接確率の値を求めるフィッシャー直接確率算出部は,たとえば,電子メールなどのBODY(本文)から,所定の文字数(例えば18文字)を抽出するための文字抽出部と,文字抽出部が抽出した文字を例えば3文字ごとのブロックに分けるためのブロック分割部と,ブロック分割部が分割した文字ブロックに基づいてワードリストを作成するワードリスト作成部と,ワードリスト作成部が作成したワードリストの出現回数をカウントするための出現回数カウント部と,出現回数カウント部がカウントした出現回数を記憶するメモリなどの出現回数記憶部と,前記出現回数記憶部が記憶した出願回数をもとに,フィッシャー直接確率を求めるフィッシャー直接確率計算部と,を具備する。
以下,フィッシャー直接確率算出部を用いた,フィッシャー直接確率の算出方法の例を説明する。たとえば,文字抽出部が,電子メールなどのBODY(本文)から,所定の文字数(例えば18文字)を抽出する。電子メールのBODYは通常所定の関数により定義されるので,その関数を用いれば容易に所定の文字を抽出できる。このようにして抽出された文字列として,たとえば,「お忙しいところ,迅速にご修正頂きあり」があげられる。
ブロック分割部は,文字抽出部が抽出した文字を例えば3文字ごとのブロックに分ける。たとえば,「お忙し/いとこ/ろ,迅/速にご/修正頂/きあり」のように分ければよい。ワードリスト作成部は,ブロック分割部が分割した文字ブロックに基づいてワードリストを作成する。たとえば,「お忙し/いとこ/ろ,迅/速にご/修正頂/きあり」の6つのワードリストが作成される。ワードリスト作成作業は公知のプログラムを利用し公知のメーラー,例えばアウトルックエキスプレスやベッキーから記事のBODY(本文)を自動的に抜き出すプログラムなどにより,別途作業ファイルを作成しメール本文を保存すればよい,
出現回数カウント部は,ワードリスト作成部が作成したワードリストごとに,たとえば,これまでスパムとされたメールに,そのブロックが何回出現したかなどをカウントする。このカウント値は,出現回数記憶部に記憶され,適宜更新される。たとえば,「お忙し」が5回;「いとこ」が9回;「ろ,迅」が3回;「速にご」が9回;「修正頂」が20回「きあり」が40回があげられる。
フィッシャー直接確率計算部は,この出現回数カウント部がカウントした出現回数を読み出して,フィッシャー直接確率を求める。なお,カイ2乗検定算出部も基本的には,フィッシャー直接確率算出部と同様の構成によりカイ2乗検定値を求めるものがあげられる。
フィッシャー直接確率とカイ2乗を元に電子メール本文に出現する語句や単語を数値化し,0.5をスパムメールと通常のメールの中心基準値に設定し,たとえば,スパムメールと思われる電子メール本文に出現する語句や単語を1と換算し0.7以上の数値が出現したらスパムメールと判定する。また,通常メールを0と換算し0.4以下の数値が出現したら通常メールと判定するようにしてもよい。このような判定は,スパムメールに含まれる語句,単語,又はブロックを所定の値に設定するか,通常のメールに含まれる語句,単語,又はブロックを所定の値に設定する数値設定部と,スパムメールと判断する閾値を設定する閾値設定部と,求められたフィッシャー直接確率値又はカイ2乗値と閾値とを比較する比較部とにより達成できる。このような各部は,たとえば,そのような処理を行わせるプログラムをメインメモリに格納しておき,CPUがメインメモリに格納されたプログラムの指令を受けて,所定のデータを読み出し,演算回路やバッファやメモリなどを記憶部や作業空間などとして利用しつつ,所定の演算を行うようにすればよい。この数値化したデータは記憶部に反映させてもよいし,単独ファイルでサーバ内部に格納しても良い。
図1は,本発明のシステムの基本構成を示すブロック図である。 図2は,本発明の暗号文準備段階を説明するためのフローチャートである。 図3は,受信した電子メールに含まれる情報を暗号化する工程例を説明したフローチャートである。 図4は,関連性判定処理の例を示すフローチャートである。 図5は,暗号文をブロックに分けた例を示す概念図である。 図6は,ブロック分けを利用したマッチング工程の例を示すフローチャートである。図6(A)は,1工程のみを示し,図6(B)は多段階スクリーニング(マッチング)工程のものを示す。 図7は,本発明のシステムに関するサーバなどのハードウェア構成(20)を示す図である。
符号の説明
1 電子メールシステム
2 第1の記憶部
3a 第1の暗号化部
3b 第2の暗号化部
4 第2の記憶部
5 メール受信部
6 情報抽出部
7 第3の記憶部
8 関連性判定部

Claims (13)

  1. 1又は複数の用語を記憶した第1の記憶部(2)と接続可能とされ,前記第1の記憶部に記憶された用語を暗号化するための第1の暗号化部(3a)と,
    前記暗号化部が暗号化した暗号文を格納する第2の記憶部(4)と;
    電子メールを受信するための受信部(5)と接続可能とされ,
    前記受信部が受信した電子メールに含まれる所定の情報を抽出する情報抽出部(6)と,
    前記情報抽出部が抽出した情報を暗号化するための第2の暗号化部(3b)と,
    前記第2の暗号化した暗号文を記憶するための第3の記憶部(7)と,
    前記第2の記憶部に記憶された暗号文と,前記第3の記憶部が記憶した暗号文とが関連するかどうか判断するための関連性判定部(8)と,
    を具備する,電子メールシステム。
  2. 前記第1の暗号化部(3a)及び第2の暗号化部(3b)は,情報を暗号化してハッシュ関数とする,
    請求項1に記載の電子メールシステム。
  3. 前記第1の暗号化部(3a)及び第2の暗号化部(3b)は,MD5(Message Digest 5)により情報を暗号化する,
    請求項1に記載の電子メールシステム。
  4. 前記第2の記憶部(4)は,暗号化された用語をインデックスとして記憶する
    請求項1に記載の電子メールシステム。
  5. 前記第2の記憶部(4)は,タイトル,送信者のメールアドレス,本文,又は本文に含まれるリンク情報ごとにファイルを設けて,それぞれに関連する暗号化された用語を格納する,請求項1に記載の電子メールシステム。
  6. 前記情報抽出部(6)は,前記受信部が受信した電子メールに含まれる,タイトル,送信者のメールアドレス,本文,又は本文に含まれるリンク情報から,判定項目に応じた情報を抽出する請求項1に記載の電子メールシステム。
  7. 前記関連性判定部(8)は,
    前記第3の記憶部(7)が記憶する暗号化した情報が,前記第2の記憶部(4)に記憶された暗号文のうち一致するものが含まれるかどうか判断する,
    請求項1に記載の電子メールシステム。
  8. 前記関連性判定部(8)は,
    前記第3の記憶部(7)が記憶する暗号文としてのハッシュ値が,前記第2の記憶部(4)に記憶された暗号文としてのハッシュ値と一致するものがあるかどうか判断する,
    請求項1に記載の電子メールシステム。
  9. 前記関連性判定部(8)は,
    前記第3の記憶部(7)が記憶する暗号文としてのハッシュ値のうち先頭ブロックが,前記第2の記憶部(4)に記憶された暗号文としてのハッシュ値の先頭ブロックと一致するものがあるかどうか判断する,
    請求項1に記載の電子メールシステム。
  10. 前記関連性判定部(8)は,
    前記第3の記憶部(7)が記憶する暗号文としてのハッシュ値のうち先頭ブロックが,前記第2の記憶部(4)に記憶された暗号文としてのハッシュ値の先頭ブロックと一致するものがあるかどうか判断するファーストマッチング工程と,
    前記ファーストマッチング工程で一致という結果が得られた場合,更に前記第3の記憶部(7)が記憶する暗号文としてのハッシュ値のうちセカンドブロックが,前記第2の記憶部(4)に記憶された暗号文としてのハッシュ値のセカンドブロックと一致するものがあるかどうか判断するセカンドマッチグ工程とを行う,
    請求項1に記載の電子メールシステム。
  11. フィッシャー直接確率,及びカイ2乗検定のいずれか又は両方をも用いて迷惑メールを判断する請求項1に記載の電子メールシステム。
  12. 迷惑メールを判断するための請求項1に記載の電子メールシステム。
  13. コンピュータを,1又は複数の用語を記憶した第1の記憶手段(2)と接続可能とされ,前記第1の記憶手段に記憶された用語を暗号化するための第1の暗号化手段(3a)と,前記暗号化手段が暗号化した暗号文を格納する第2の記憶手段(4)と;電子メールを受信するための受信手段(5)と接続可能とされ,前記受信手段が受信した電子メールに含まれる所定の情報を抽出する情報抽出手段(6)と,前記情報抽出手段が抽出した情報を暗号化するための第2の暗号化手段(3b)と,前記第2の暗号化した暗号文を記憶するための第3の記憶手段(7)と,前記第2の記憶手段に記憶された暗号文と,前記第3の記憶手段が記憶した暗号文とが関連するかどうか判断するための関連性判定手段(8)とを具備する,所定の情報を有するメールを選別するためのコンピュータとして機能させるプログラム。
JP2005174266A 2005-06-14 2005-06-14 電子メールシステム Pending JP2006350560A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005174266A JP2006350560A (ja) 2005-06-14 2005-06-14 電子メールシステム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005174266A JP2006350560A (ja) 2005-06-14 2005-06-14 電子メールシステム

Publications (1)

Publication Number Publication Date
JP2006350560A true JP2006350560A (ja) 2006-12-28

Family

ID=37646350

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005174266A Pending JP2006350560A (ja) 2005-06-14 2005-06-14 電子メールシステム

Country Status (1)

Country Link
JP (1) JP2006350560A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101937466A (zh) * 2010-09-15 2011-01-05 深圳市任子行网络技术股份有限公司 网页邮箱识别分类方法及系统
JP2012227698A (ja) * 2011-04-19 2012-11-15 Saxa Inc 電話制御装置、電話システム、および電話制御方法
CN113688410A (zh) * 2021-08-20 2021-11-23 山东云海国创云计算装备产业创新中心有限公司 一种数据检索方法、装置、fpga及介质

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101937466A (zh) * 2010-09-15 2011-01-05 深圳市任子行网络技术股份有限公司 网页邮箱识别分类方法及系统
JP2012227698A (ja) * 2011-04-19 2012-11-15 Saxa Inc 電話制御装置、電話システム、および電話制御方法
CN113688410A (zh) * 2021-08-20 2021-11-23 山东云海国创云计算装备产业创新中心有限公司 一种数据检索方法、装置、fpga及介质

Similar Documents

Publication Publication Date Title
US9094338B2 (en) Attributes of captured objects in a capture system
US8010689B2 (en) Locational tagging in a capture system
JP4395848B2 (ja) 廃棄可能なeメールアドレスを生成し、処理するための方法、システム、及びコンピュータ・プログラム
US9003522B1 (en) Spam filtering using scroll detection as a signal
EP1738519B1 (en) Method and system for url-based screening of electronic communications
US11425106B2 (en) Method and system for processing data packages
US11539726B2 (en) System and method for generating heuristic rules for identifying spam emails based on fields in headers of emails
JP2000339236A (ja) 悪戯メール防止装置、その方法及び記録媒体
JP2008109381A (ja) 電子メール送受信システム
US20050283519A1 (en) Methods and systems for combating spam
JP2008109380A (ja) 電子メール送受信システム
US10834041B2 (en) Blockmail transfer protocol
WO2010020101A1 (zh) 用于通信系统的图片或多媒体视频图片的监控方法
US20110252043A1 (en) Electronic communication control
WO2012113288A1 (zh) 一种邮件地址的保密方法及装置
US8260861B1 (en) System and method for an electronic mail attachment proxy
JP2010198636A (ja) 不要メッセージおよび受信者側が送信を要求していないメッセージの低減
JP2006350560A (ja) 電子メールシステム
JP2008287609A (ja) メール管理システム
US8601077B2 (en) Server apparatus, mail server apparatus and fax server apparatus
US20110161433A1 (en) Apparatuses and methods for identifying email and email servers
GB2581189A (en) Method and system for processing data packages
JP5051664B2 (ja) メール誤送信防止装置およびメール誤送信防止方法
Marsono Packet‐level open‐digest fingerprinting for spam detection on middleboxes
JP2007129431A (ja) アクセスセキュリティシステム

Legal Events

Date Code Title Description
RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20070202