図1には、本発明の実施形態に係るメール配信システムの一例が示されている。情報処理システムとしてのメール配信システムは、情報処理装置としてのゲートウェイ装置10と端末装置12,14とを含む。ゲートウェイ装置10は通信経路N1,N2に接続されている。通信経路N1は例えばインターネットであり、通信経路N2はLAN(ローカルエリアネットワーク)等のネットワークである。通信経路N1には1又は複数の端末装置12(例えば3つの端末装置12)が接続されており、通信経路N2には1又は複数の端末装置14(例えば3つの端末装置14)が接続されている。
ゲートウェイ装置10は、インターネットである通信経路N1とLAN等の通信経路N2とを接続する装置である。ゲートウェイ装置10は、端末装置12から端末装置14宛てに送信された電子メールを受信し、その電子メールの信頼度を演算し、その信頼度に応じた処理を当該電子メールに適用する機能を備えている。ゲートウェイ装置10は、例えば、信頼度に応じて、端末装置14への当該電子メールの送信を許可又は禁止する。
端末装置12,14は、PC(パーソナルコンピュータ)、タブレットPC、スマートフォン又は携帯電話等の装置であり、電子メールを作成する機能と、他の装置との間でデータを送受信する機能を備えている。
本実施形態では、ゲートウェイ装置10を介して、通信経路N1に接続されている端末装置12と通信経路N2に接続されている端末装置14との間で電子メールの送受信が行われる。また、ゲートウェイ装置10を介して、通信経路N2に接続されている複数の端末装置14の間で電子メールの送受信が行われる。
以下、ゲートウェイ装置10の構成について詳しく説明する。図2には、ゲートウェイ装置10の構成が示されている。
通信部16は通信インターフェースであり、他のデータにデータを送信する機能、及び、他の装置からデータを受信する機能を備えている。例えば、通信部16は、通信経路N1経由で端末装置12から送信されてきた電子メールを受信し、通信経路N2経由で当該電子メールを端末装置14に送信する。また、通信部16は、通信経路N2経由で端末装置14から送信されてきた電子メールを受信し、通信経路N1経由で当該電子メールを端末装置12に送信する。また、通信部16は、通信経路N2経由で端末装置14から送信されてきた電子メールを受信し、通信経路N2経由で当該電子メールを他の端末装置14に送信する。
メール管理部18は、端末装置12と端末装置14との間において送受信された電子メールに関する情報、及び、複数の端末装置14の間において送受信された電子メールに関する情報を管理する機能を備えている。例えば、メール管理部18は、端末装置12と端末装置14との間における電子メールの送受信の履歴を管理し、その履歴を示す送受信履歴情報を作成する。また、メール管理部18は、複数の端末装置14の間における電子メールの送受信の履歴を管理し、その履歴を示す送受信履歴情報を作成する。メール管理部18によって作成された送受信履歴情報は、メール情報記憶部20に記憶される。
メール情報記憶部20はハードディスク等の記憶装置であり、メール管理部18によって作成された送受信履歴情報が記憶される。また、電子メールのデータ自体がメール情報記憶部20に記憶されてもよい。また、メール情報記憶部20には、後述する信頼度演算部22による信頼度演算処理に用いられる情報が記憶されている。この情報については、図2以降の図面を参照して詳しく説明する。
信頼度演算部22は、通信経路N1経由で端末装置12から端末装置14宛てに対象電子メールが送信された場合に、その対象電子メールの送信者と受信者との間の信頼関係に関する情報に基づいて、その対象電子メールの信頼度を演算する機能を備えている。また、信頼度演算部22は、送信者と受信者との間の信頼関係に関する情報と、送信者とその受信者以外の第三者との信頼関係に関する情報と、に基づいて、当該対象電子メールの信頼度を演算してもよい。第三者は、受信者から見て信頼のある者であり、例えば、受信者との間の信頼度が閾値以上となる者である。送信者と受信者との間の信頼関係に関する情報は、例えば、送信者と受信者との間の過去の電子メールの送受信履歴を示す情報であり、送信者と第三者との間の信頼関係に関する情報は、例えば、送信者と第三者との間の過去の電子メールの送受信履歴を示す情報である。また、信頼度演算部22は、例えば、対象電子メールの宛先、対象電子メールについての返信回数、対象電子メールに添付されているデータ、等の情報を用いることにより、対象電子メールの信頼度を演算してもよい。なお、対象電子メールについての返信回数と対象電子メールに添付されているデータは、送信者と受信者との間の送受信の履歴であると評価し得る情報である。信頼度演算部22による処理については後で詳しく説明する。
メール処理部24は、対象電子メールの信頼度に応じた処理を当該対象電子メールに適用する。メール処理部24は、例えば、信頼度に応じて、受信者(当該受信者の端末装置14)への当該対象電子メールの送信を許可又は禁止する。もちろん、その他の処理が実行されてもよい。
制御部26は、ゲートウェイ装置10の各部の動作を制御する。
以下、ゲートウェイ装置10について詳しく説明する。図3から図8を参照して、対象電子メールの信頼度を演算するための情報について説明する。この情報は、メール情報記憶部20に記憶されている情報である。
図3には、ユーザ信頼度テーブルの一例が示されている。ユーザ信頼度テーブルにおいては、通信経路N2(例えばLAN)を利用している個々のユーザ毎に、当該ユーザ以外の他のユーザの電子メールアドレスと、当該ユーザと他のユーザとの間の信頼関係を示す情報と、が対応付けられている。他のユーザも通信経路N2を利用しているユーザである。もちろん、他のユーザは通信経路N2を利用していないユーザであってもよい。信頼関係を示す情報は信頼の程度を示す情報である。図3には、「ユーザA」についてのユーザ信頼度テーブルが示されている。そのテーブルには、「ユーザB」と「ユーザC」の電子メールアドレスと、「ユーザA」と「ユーザB,C」との間の信頼関係を示す情報と、が対応付けられている。例えば、「ユーザB」は「ユーザA」にとって信頼度が高いユーザであり、「ユーザC」は「ユーザA」にとって信頼度が中程度のユーザである。他のユーザについてのユーザ信頼度テーブルも作成されてメール情報記憶部20に記憶される。ユーザ信頼度テーブルは予め作成され、そのデータはメール情報記憶部20に記憶されている。ユーザ信頼度テーブルは自動的に作成されてもよいし、ユーザによるマニュアル操作によって作成されてもよい。
ここで、ユーザ信頼度テーブルを自動的に作成する処理について説明する。この場合、ユーザ信頼度テーブルはメール管理部18によって作成される。メール管理部18は、例えば、電子メールの送受信履歴に基づいてユーザ信頼度テーブルを作成する。
以下、ユーザ信頼度テーブルの作成処理について説明する。図4には、電子メールの送受信履歴の一例が示されている。図4の(A)には送信履歴テーブルの一例が示されており、図4の(B)には受信履歴テーブルの一例が示されており、図4の(C)にはスコアテーブルの一例が示されている。
送信履歴テーブルは、通信経路N2(例えばLAN)を利用している個々のユーザ毎の電子メールの送信履歴を示す情報である。送信履歴テーブルにおいては、送信者を示す情報と、受信者を示す情報と、送信回数を示す情報と、信頼関係スコアと、が対応付けられている。信頼関係スコアは、送信者と受信者との間の信頼の程度を示す値であり、送信回数に基づいて演算される値である。例えば、信頼関係スコアが大きいほど、その信頼の程度が大きくなる。図4の(A)に示す例では、信頼関係スコアは送信回数と同じ値である。図4の(A)に示されている送信履歴テーブルは、「ユーザA」についての送信履歴テーブルである。そのため、信頼関係スコアは、「ユーザA」と「ユーザB,D」との間の信頼の程度を示している。例えば、「ユーザA」から「ユーザB」への送信回数は100回であり、信頼関係スコアは「100」である。また、「ユーザA」から「ユーザD」への送信回数は20回であり、信頼関係スコアは「20」である。電子メールが送信される度に、送信履歴テーブルがメール管理部18によって更新され、そのデータはメール情報記憶部20に記憶される。「ユーザA」以外のユーザについても送信履歴テーブルが作成され、そのデータはメール情報記憶部20に記憶される。
受信履歴テーブルは、通信経路N2(例えばLAN)を利用している個々のユーザ毎の電子メールの受信履歴を示す情報である。受信履歴テーブルにおいては、送信者を示す情報と、受信者を示す情報と、送信回数を示す情報と、信頼関係スコアと、が対応付けられている。信頼関係スコアは、各ユーザ間の信頼の程度を示す値であり、送信回数に基づいて演算される値である。例えば、信頼関係スコアが大きいほど、その信頼の程度が大きくなる。図4の(B)に示す例では、信頼関係スコアは送信回数と同じ値である。図4の(B)に示されている受信履歴テーブルは、「ユーザA」についての受信履歴テーブルである。例えば、「ユーザB」から「ユーザA」への送信回数は100回である。つまり、「ユーザA」が「ユーザB」から電子メールを受信した回数は100回である。信頼関係スコアは「100」である。また、「ユーザD」から「ユーザA」への送信回数は20回であり、信頼関係スコアは「20」である。電子メールが受信される度に、受信履歴テーブルがメール管理部18によって更新され、そのデータはメール情報記憶部20に記憶される。「ユーザA」以外のユーザについても受信履歴テーブルが作成され、そのデータはメール情報記憶部20に記憶される。
スコアテーブルは、信頼関係を示す情報を求めるためのテーブルである。スコアテーブルは予め作成され、そのデータはメール情報記憶部20に記憶されている。スコアテーブルにおいては、信頼関係スコアと信頼関係を示す情報とが対応付けられている。このスコアテーブルを参照することにより、信頼関係スコアに基づいて信頼関係を示す情報が求められる。
「ユーザA」にとっての「ユーザB,D」の信頼関係を示す情報は、以下のようにして求められる。メール管理部18は、例えば、「ユーザA」から「ユーザB,D」への送信回数(信頼関係スコア)と、「ユーザB,D」から「ユーザA」への送信回数(信頼関係スコア)と、を合算する。「ユーザA」から「ユーザB」への送信回数は「100回」であり、「ユーザB」から「ユーザA」への送信回数は「100回」であるため、信頼関係スコアの合計は「200」となる。スコアテーブルを参照すると、その信頼関係スコアに対応する信頼関係は「高」である。よって、「ユーザA」にとっての「ユーザB」の信頼関係は「高」である。また、「ユーザA」から「ユーザD」への送信回数は「20回」であり、「ユーザD」から「ユーザA」への送信回数は「30回」であるため、信頼関係スコアの合計は「50」となる。スコアテーブルを参照すると、その信頼関係スコアに対応する信頼関係は「中」である。よって、「ユーザA」にとっての「ユーザD」の信頼関係は「中」である。
以上のようにして、「ユーザA」以外の他のユーザに対する「ユーザA」の信頼関係を示す情報が求められ、図3に示されているユーザ信頼度テーブルが作成される。「ユーザA」以外のユーザについても同様にユーザ信頼度テーブルが作成される。
図5には、電子メールの送受信履歴の一例が示されている。図5の(A)には送信履歴テーブルの一例が示されており、図5の(B)には受信履歴テーブルの一例が示されている。
送信履歴テーブルは、通信経路N2(例えばLAN)を利用している個々のユーザ毎の電子メールの送信履歴を示す情報である。送信履歴テーブルにおいては、送信者を示す情報と、受信者を示す情報と、送信回数を示す情報と、ウェイト(重み係数)を示す情報と、信頼度スコアと、が対応付けられている。送信者は通信経路N2を利用しているユーザ(例えば、ユーザA,B,C,D)である。受信者は、通信経路N2以外の通信経路を利用しているユーザであり、例えば、通信経路N1(例えばインターネット)を利用しているユーザである。信頼度スコアは、送信者と受信者との間の信頼の程度を示す値であり、送信回数とウェイトとに基づいて演算される値である。例えば、信頼度スコアが大きいほど、その信頼の程度が大きくなる。図4の(A)に示す例では、信頼度スコアは、送信回数とウェイトとの積(=送信回数×ウェイト)である。ウェイトは、通信経路N2を利用しているユーザと、通信経路N2を利用している他のユーザと、の間の信頼関係に基づいて決定される値である。図4の(A)に示されている送信履歴テーブルは「ユーザA」についての送信履歴テーブルである。そのため、そのテーブルに含まれる各ウェイトは、ユーザAと他のユーザB,C,Dとの間の信頼関係に基づいて決定される。例えば、図3に示されているユーザ信頼度テーブルに基づいて、「ユーザA」についてのウェイトが決定される。
ウェイトの一例を以下に示す。
自分自身:0.1
信頼関係「高」:0.1
信頼関係「中」:0.05
信頼関係「低」:0.02
信頼関係「無」:0
つまり、信頼の程度が高くなるほど値が大きくなるようにウェイトが設定されている。自分自身は、ここでは「ユーザA」である。信頼関係に基づくウェイトを送信回数に乗算し、これにより、信頼度スコアが得られる。これにより、LAN内の送信者「ユーザA」とLAN外の受信者との間の信頼度が得られるとともに、送信者「ユーザA」を基準にして、LAN内の他の送信者「ユーザB,C,D」とLAN外の受信者との間の信頼度が得られる。
送信履歴テーブルについて図5の(A)に示す具体例を挙げて説明する。例えば、LAN内の送信者「ユーザA」からLAN外の受信者(sample@sample.com)への送信回数は100回であり、ウェイトは0.1であり、信頼度スコアは10(=100×0.1)である。この信頼度スコアは、自分自身にとっての受信者の信頼度を示している。また、「ユーザB」から受信者への送信回数は100回であり、ウェイトは0.1であり、信頼度スコアは10(=100×0.1)である。この信頼度スコアは、「ユーザA」にとって信頼度の高い「ユーザB」から見た場合の受信者の信頼度を示している。また、「ユーザC」から同じ受信者への送信回数は100回であり、ウェイトは0であり、信頼度スコアは0(=100×0)である。この信頼度スコアは、「ユーザA」にとって信頼度の無い「ユーザC」から見た場合の受信者の信頼度を示している。このように、「ユーザA」と「ユーザB,C,D」との間の信頼関係に基づいて、各送信者と受信者との間の信頼度が得られる。電子メールが送信される度に、送信履歴テーブルがメール管理部18によって更新され、そのデータはメール情報記憶部20に記憶される。「ユーザA」以外のユーザについても送信履歴テーブルが作成され、そのデータはメール情報記憶部20に記憶される。
受信履歴テーブルは、通信経路N2(例えばLAN)を利用している個々のユーザ毎の電子メールの受信履歴を示す情報である。受信履歴テーブルにおいては、送信者を示す応報と、受信者を示す情報と、送信回数を示す情報と、ウェイト(重み係数)を示す情報と、信頼度スコアと、が対応付けられている。送信者は、通信経路N2以外の通信経路を利用しているユーザであり、例えば、通信経路N1(例えばインターネット)を利用しているユーザである。受信者は通信経路N2を利用しているユーザ(例えばユーザA)である。送信回数は、通信経路N2を利用しているユーザにとっての受信回数である。信頼度スコアは、送信者と受信者との間の信頼度の程度を示す値であり、送信回数とウェイトとに基づいて演算される値である。例えば、信頼度スコアが大きいほど、その信頼の程度が大きくなる。図4の(B)に示す例では、信頼度スコアは、送信回数とウェイトとの積(=送信回数×ウェイト)である。ウェイトは、送信履歴テーブルにおけるウェイトと同様に、受信者自身のウェイト(例えば0.1)が用いられる。別の例として、送信履歴(LANから外部への送信)と受信履歴(外部からLAN内への送信)とで、ウェイトを変えてもよい。スパムメール等はLANの外部から一方的に大量に送信される場合がある。それ故、送信回数(受信回数)が単純に信頼度に対応することにならないからである。例えば、送信履歴のウェイトの1/10の値を、受信履歴のウェイトとして用いてもよい。図5の(B)に示す例では、「0.01」(=0.1/10)がウェイトとして用いられている。ウェイトを送信回数に乗算し、これにより、信頼度スコアが得られる。これにより、LAN外の送信者とLAN内の受信者との間の信頼度が得られる。
受信履歴テーブルについて具体例を挙げて説明する。図5の(B)に示されている受信履歴テーブルは、「ユーザA」についての受信履歴テーブルである。例えば、LAN外の送信者(sample@sample.com)からLAN内の受信者「ユーザA」への送信回数は100回であり、ウェイトは0.01であり、信頼度スコアは1(=100×0.01)である。電子メールが受信される度に、受信履歴テーブルがメール管理部18によって更新され、そのデータはメール情報記憶部20に記憶される。「ユーザA」以外のユーザについても受信履歴テーブルが作成され、そのデータはメール情報記憶部20に記憶される。
図6には、宛先テーブルの一例が示されている。宛先テーブルは、対象電子メールの宛先と信頼度スコアとを示す情報であり、通信経路N2(例えばLAN)を利用している個々のユーザ毎に作成される情報である。
宛先テーブルにおいては、電子メールの宛先を示す情報と、信頼関係を示す情報と、信頼度スコアと、が対応付けられている。宛先を示す情報は、例えば電子メールアドレスである。この宛先は、対象電子メールの受信者にとって信頼のあるユーザの宛先である。例えば、通信経路N2を利用しているユーザ群の中で、ある受信者にとって信頼関係が「中」以上のユーザの宛先が、宛先テーブルに登録される。なお、宛先には、狭義の宛先(TO)の他、カーボンコピー(CC)等が含まれてもよい。信頼関係を示す情報は信頼の程度を示す情報である。信頼度スコアは、対象電子メールの信頼度を演算するための値であり、信頼関係を示す情報に基づいて決定される値である。例えば、信頼関係が高いほど値が高くなるように信頼度スコアが設定される。
図6に示されている宛先テーブルは、「ユーザA」についての宛先テーブルである。「ユーザA」にとって「ユーザB」の信頼関係は「高」であり、「ユーザC」の信頼関係は「中」である。そのため、そのテーブルには、「ユーザB」と「ユーザC」の電子メールアドレスが登録されている。信頼関係が高いほど高い信頼度スコアが設定される。例えば、「ユーザB」の信頼関係は「高」であるため、信頼度スコアとして「10」が設定され、「ユーザD」の信頼関係は「中」であるため、信頼度スコアとして「5」が設定される。信頼度スコアの値は一例であり、他の値が採用されてもよい。この宛先テーブルはメール管理部18によって作成され、そのデータはメール情報記憶部20に記憶される。「ユーザA」以外のユーザについても宛先テーブルが作成され、そのデータはメール情報記憶部20に記憶される。
図7には、返信回数テーブルの一例が示されている。返信回数テーブルは、対象電子メールのタイトルに含まれる返信回数を示す情報と信頼度スコアとを示す情報である。電子メールが返信された場合、その電子メールのタイトルには、一般的に、返信を意味する情報が自動的に含まれる。例えば、文字列「Re」がタイトルに含まれる。一般的に、電子メールが返信される度に文字列「Re」がタイトルに追加され、返信回数に応じて文字列「Re」の数が増大していく。それ故、その文字列「Re」の数をカウントすることにより、返信回数が特定される。返信回数テーブルには、文字列「Re」の数と信頼度スコアとが対応付けられている。返信回数が多いほど対象電子メールの信頼度が高いと想定されるため、文字列「Re」の数が多くなるほど値が大きくなるように信頼度スコアが設定されている。返信回数テーブルは予め作成され、そのデータはメール情報記憶部20に記憶されている。
図8には、添付ファイルテーブルの一例が示されている。添付ファイルテーブルは、電子メールに添付されたファイルと信頼度スコアとを示す情報であり、通信経路N2(例えばLAN)を利用している個々のユーザ毎に作成される情報である。
添付ファイルテーブルには、添付ファイルに関する情報と信頼度スコアとが対応付けら得ている。添付ファイルは、ユーザが過去に送信又は受信したファイルである。添付ファイルテーブルには、例えば、その添付ファイルのハッシュ値(例えばMD5)が登録されている。図8に示されている添付ファイルテーブルは、例えば「ユーザA」についての添付ファイルテーブルである。このテーブルには、「ユーザA」が過去に送信又は受信したファイルのハッシュ値が登録されている。ファイルが添付された電子メールが送信又は受信される度に、添付ファイルテーブルがメール管理部18によって更新され、そのデータはメール情報記憶部20に記憶される。なお、添付ファイルのハッシュ値は、例えば信頼度演算部22によって演算される。「ユーザA」以外のユーザについても添付ファイルテーブルが作成され、そのデータはメール情報記憶部20に記憶される。
以下、メール処理部24によって実行される処理の内容について説明する。図9には、処理内容テーブルの一例が示されている。処理内容テーブルにおいては、信頼度スコアと処理内容を示す情報とが対応付けられている。信頼度スコアは、例えば、上記の送信履歴テーブル、受信履歴テーブル、宛先テーブル、返信回数テーブル、及び、添付ファイルテーブル、の中の少なくとも1つを用いて演算された値である。処理内容は、対象電子メールに対して適用される処理の内容であり、対象電子メールの信頼度に応じた処理の内容である。信頼度スコアが大きいほど、対象電子メールの信頼度は高いと想定される。この場合、受信者への対象電子メールの送信が許可される。一方、信頼度スコアが低い場合には、そのスコアに応じた処理が対象電子メールに適用される。例えば、信頼度スコアが50以上の場合、対象電子メールの信頼度は高いと想定されるため、受信者への対象電子メールの送信が許可される。また、信頼度スコアが5以上で50未満の場合、対象電子メールの信頼度は中程度であると想定される。この場合、受信者への対象電子メールの送信が許可されるとともに、管理者に対象電子メールが転送される。また、信頼度スコアが1以上で5未満の場合、対象電子メールの信頼度は低いと想定される。この場合、受信者への対象電子メールの送信が許可される一方で、対象電子メールに添付されているファイルの削除や、対象電子メールに記述されているウェブサイトのURL等のアドレス情報の削除、等が実行される。また、信頼度スコアが0の場合、対象電子メールの信頼度は無いと想定されるため、受信者への対象電子メールの送信が禁止(拒否)されるとともに、当該処理が適用されたことを示す電子メールが管理者に送信される。なお、信頼度スコアの値やその区分は一例であり、他の値や他の区分が採用されてもよい。処理も一例であり、他の処理が適用されてもよい。例えば、ログが記録されてもよい。
以下、ゲートウェイ装置10による処理の一例について説明する。まず、図10に示されているフローチャートを参照して、対象電子メールの受信時における処理について説明する。
通信経路N1(例えばインターネット)に接続されている端末装置12から、通信経路N2(例えばLAN)に接続されている端末装置14宛てに電子メール(対象電子メール)が送信されると、ゲートウェイ装置10は、端末装置12からその対象電子メールを受信する(S01)。
ゲートウェイ装置10においては、対象電子メールが、明らかな迷惑メール又はなりすましメールに該当するか否かが判定される(S02)。この判定処理は公知技術を適用することにより実行される。例えば、公知技術としてのシグネチャ型のフィルタを対象電子メールに適用することにより、その判定が行われてもよいし、IPアドレスや経由してきたサーバを示す情報に基づいて、その判定が行われてもよい。この判定処理は、例えば制御部26によって行われる。対象電子メールが、明らかな迷惑メール又はなりすましメールに該当する場合(S02,Yes)、処理はステップS07に移行する。この場合、受信者の端末装置14への対象電子メールの送信が禁止される(S07)。対象電子メールが、明らかな迷惑メール又はなりすましメールに該当しない場合(S02,No)、処理はステップS03に移行する。
ステップS03においては、対象電子メールが信頼のあるメールに該当するか否かが判定される(S03)。この判定処理は従来技術を適用することにより実行される。例えば、電子メールアドレスのホワイトアドレスに基づいて、その判定が行われる。この判定処理は、例えば制御部26によって行われる。対象電子メールが信頼のあるメールに該当する場合(S03,Yes)、処理はステップS06に移行する。この場合、対象電子メールは、通信経路N2経由で宛先の端末装置14に送信される(S06)。対象電子メールが、信頼のあるメールに該当しない場合(S03,No)、処理はステップS04に移行する。
なお、ステップS02,S03の処理は実行されなくてもよい。ステップS02,S03の処理が適用された場合においては、対象電子メールが信頼のあるメールに該当するか否かが不明な場合に、ステップS04の処理が適用される。
ステップS04においては、信頼度演算部22が、対象電子メールの信頼度スコアを演算する(S04)。信頼度演算部22は、例えば、上記の送信履歴テーブル、受信履歴テーブル、宛先テーブル、返信回数テーブル、及び、添付ファイルテーブル、の中の少なくとも1つを用いて信頼度スコアを演算する。
その信頼度スコアに基づいて、対象電子メールが疑わしいメールであると判定された場合(S05,Yes)、処理はステップS07に移行し、その信頼度スコアに応じた処理が対象電子メールに適用される(S07)。
その信頼度スコアに基づいて、対象電子メールが疑わしいメールではないと判定された場合(S05,No)、処理はステップS06に移行し、対象電子メールが通信経路N2経由で宛先の端末装置14に送信される(S06)。次に、信頼関係を示す情報がメール管理部18によって更新される(S08)。また、対象電子メールのデータがメール情報記憶部20に記憶される(S09)。
次に、図11に示されているフローチャートを参照して、対象電子メールの送信時における処理について説明する。
通信経路N2(例えばLAN)に接続されている端末装置14から、通信経路N1(例えばインターネット)に接続されている端末装置12宛てに電子メール(対象電子メール)が送信されると、ゲートウェイ装置10は、端末装置14からその対象電子メールを受信する(S10)。ゲートウェイ装置10は、その対象電子メールを通信経路N1経由で宛先の端末装置14に送信する(S11)。次に、信頼関係を示す情報がメール管理部18によって更新される(S12)。また、対象電子メールのデータがメール情報記憶部20に記憶される(S13)。
以下、図12に示されているフローチャートを参照して、信頼度スコア演算処理(図10中のステップS04の処理)について詳しく説明する。
まず、信頼度演算部22は、過去の電子メールのデータをメール情報記憶部20から読み込む(S20)。
次に、信頼度演算部22は、対象電子メールの受信者(例えば「ユーザA」)についての送信履歴を調査し(S21)、対象電子メールについての信頼度スコアを演算する(S22)。具体的には、信頼度演算部22は、ユーザAについての送信履歴テーブルを参照し、受信者「ユーザA」と対象電子メールの送信者との間の信頼度を示す信頼度スコア(第1信頼度スコア)を、送信履歴テーブルから取得する。
次に、信頼度演算部22は、対象電子メールの受信者についての受信履歴を調査し(S23)、対象電子メールについての信頼度スコアを演算してスコアを合算する(S24)。具体的には、信頼度演算部22は、ユーザAについての受信履歴テーブルを参照し、受信者「ユーザA」と対象電子メールの送信者との間の信頼度を示す信頼度スコア(第2信頼度スコア)を、受信履歴テーブルから取得する。信頼度演算部22は、第1信頼度スコアと第2信頼度スコアを合算する。
次に、信頼度演算部22は、対象電子メールの宛先を調査し(S25)、対象電子メールについての信頼度スコアを演算してスコアを合算する(S26)。具体的には、信頼度演算部22は、ユーザAについての宛先テーブルを参照し、対象電子メールの宛先に対応する信頼度スコア(第3信頼度スコア)を取得する。信頼度演算部22は、第1信頼度スコアと第2信頼度スコアとの合算値に、第2信頼度スコアを合算する。
次に、信頼度演算部22は、対象電子メールのタイトルを調査し(S27)、対象電子メールについての信頼度スコアを演算してスコアを合算する(S28)。具体的には、信頼度演算部22は、返信回数テーブルを参照し、対象電子メールのタイトルに含まれる文字列「Re」の数に対応する信頼度スコア(第4信頼度スコア)を取得する。信頼度演算部22は、第1、第2及び第3信頼度スコアの合算値に、第4信頼度スコアを合算する。
次に、信頼度演算部22は、対象電子メールの添付ファイルを調査し(S29)、対象電子メールについての信頼度スコアを演算してスコアを合算する(S30)。具体的には、信頼度演算部22は、添付ファイルテーブルを参照し、対象電子メールの添付ファイルに対応する信頼度スコア(第5信頼度スコア)を取得する。信頼度演算部22は、第1、第2、第3及び第4信頼度スコアの合算値に、第5信頼度スコアを合算する。これにより、信頼度スコア合算値が得られる。この信頼度スコア合算値は、第1から第5信頼度スコアの合算値である。
以上のようにして、ステップS04にて信頼度スコアが演算される。ステップS05においては、最終的に得られた信頼度スコア合算値に基づいて、対象電子メールが疑わしいメールであるか否かが判定される。なお、図12に示す例では、送信履歴、受信履歴、宛先、タイトル(返信回数)及び添付ファイルに基づいて信頼度スコア合算値が演算されているが、信頼度スコア合算値はこの例に限らない。つまり、対象電子メールについての他のパラメータを用いて信頼度スコアが演算され、その信頼度スコアが信頼度スコア合算値に合算されてもよい。また、送信履歴、受信履歴、宛先、タイトル及び添付ファイルの中の少なくとも1つのパラメータを用いて、信頼度スコア又は信頼度スコア合算値が演算されてもよい。つまり、それらの中から1つの項目に基づいて信頼度スコアが演算されてもよいし、2つ以上の項目に基づいて信頼度スコア合算値が演算されてもよい。その信頼度スコア又は信頼度スコア合算値に基づいて、対象電子メールが疑わしいメールであるか否かが判定されてもよい。
以下、図13に示されているフローチャートを参照して、信頼関係の更新処理(図10中のステップS08の処理)について詳しく説明する。
まず、メール管理部18は、過去の電子メールのデータをメール情報記憶部20から読み込む(S40)。次に、メール管理部18は、対象電子メールの受信者(例えば「ユーザA」)についての送信履歴を調査し(S41)、送信回数と信頼関係を更新する(S42)。次に、メール管理部18は、受信者についての受信履歴を調査し(S43)、送信回数と信頼関係を更新する(S44)。このようにして、受信者についての信頼関係が更新される。なお、他の項目についても更新されてもよい。
以下、ゲートウェイ装置10による処理について具体例を挙げて説明する。
(具体例1)
図14を参照して具体例1について説明する。具体例1では、受信者の送信履歴テーブルのみが用いられて信頼度スコアが演算され、その信頼度スコアに応じた処理が対象電子メールに適用される。
図14の(A)には、具体例1に係る対象電子メールの一例が示されている。送信者の電子メールアドレスは「spam@example.com」であり、宛先(受信者)は「ユーザA」である。この対象電子メールにはファイルは添付されていない。この対象電子メールは、通信経路N1(例えばインターネット)経由で、通信経路N2(例えばLAN)に接続されている「ユーザA」の端末装置14宛てに送信されてきた電子メールである。通信経路N1経由で送信されてきた対象電子メールは、ゲートウェイ装置10によって受信される。
図14の(B)には、「ユーザA」についての送信履歴テーブルの一例が示されている。「ユーザA」がアドレス「spam@example.com」に対して過去に電子メールを送信した回数は、0回(ゼロ回)である。
信頼度演算部22は、送信回数に基づいて信頼度スコアを演算する。上記の例では、送信回数は0回であるため、信頼度スコアは0(ゼロ)となる。例えば、信頼度スコアが10未満の場合、対象電子メールの送信が禁止されるものとする。具体例1では、信頼度スコアが0(ゼロ)であるため、「ユーザA」への対象電子メールの送信は、ゲートウェイ装置10によって禁止される。対象電子メールの送信者は、「ユーザA」が過去に電子メールを送信したことのないユーザであるため、「ユーザA」にとってその送信者の信頼度は低い又は無いと想定される。従って、「ユーザA」への対象電子メールの送信が拒否される。これにより、信頼性の低い又は無いと想定される疑わしい電子メールが、「ユーザA」に送信されることが防止される。
(具体例2)
図15を参照して具体例2について説明する。具体例2では、受信者と第三者の送信履歴テーブルが用いられて信頼度スコアが演算され、信頼度スコア合算値に応じた処理が対象電子メールに適用される。
図15の(A)には、具体例2に係る対象電子メールの一例が示されている。送信者の電子メールアドレスは「not_spam@example.com」であり、宛先(受信者)は「ユーザA」である。この対象電子メールにはファイルは添付されていない。この対象電子メールは、通信経路N1(例えばインターネット)経由で、通信経路N2(例えばLAN)に接続されている「ユーザA」の端末装置14宛てに送信されてきた電子メールである。通信経路N1経由で送信されてきた対象電子メールは、ゲートウェイ装置10によって受信される。
図15の(B)には、送信履歴テーブルの一例が示されている。この送信履歴テーブルには、「ユーザA」についての送信履歴と、「ユーザA」にとって信頼のある「ユーザB」についての送信履歴と、が示されている。「ユーザA」にとって信頼のあるユーザか否かは、例えば、図3に示されているユーザ信頼度テーブルに基づいて特定される。このユーザ信頼度テーブルを参照すると、「ユーザB」の信頼関係は「高」であるため、「ユーザA」にとって「ユーザB」は信頼のあるユーザに該当する。具体例2では、この「ユーザB」についての送信履歴も利用されて信頼度スコアが演算される。
信頼度演算部22は、送信回数に基づいて信頼度スコアを演算する。具体例2では、「ユーザA」がアドレス「not_spam@example.com」に対して過去に電子メールを送信した回数は10回である。この場合、信頼度スコアは10である。また、「ユーザB」がアドレス「not_spam@example.com」に対して過去に電子メールを送信した回数は100回である。この場合、信頼度スコアは100である。信頼度演算部22は、「ユーザA」についての信頼度スコアと「ユーザB」についての信頼度スコアを合算する。これにより、信頼度スコア合算値が得られる。上記の例では、信頼度スコア合算値は110(=10+100)である。例えば、信頼度スコア合算値が10以上の場合、対象電子メールの送信が許可されるものとする。信頼度スコア合算値が110であるため、「ユーザA」への対象電子メールの送信が許可される。これにより、信頼度の高いと想定される電子メールが、「ユーザA」に送信される。このように、具体例2によると、受信者自身と送信者との間の信頼関係のみならず、受信者にとって信頼のある第三者と送信者との間の信頼関係も用いて、対象電子メールの信頼度が演算される。
(具体例3)
以下、具体例3について説明する。具体例3では、送信履歴テーブル、受信履歴テーブル、宛先テーブル、返信回数テーブル、及び、添付ファイルテーブルが用いられて信頼度スコア合算値が演算され、その信頼度スコア合算値に応じた処理が対象電子メールに適用される。
図16には、具体例3に係る対象電子メールの一例が示されている。送信者の電子メールアドレスは「attacaker@example.com」であり、宛先(受信者)は「ユーザA」である。対象電子メールのタイトルは「Re:Re:先日のデータについて」であり、ファイルが添付されている。その添付ファイルのハッシュ値(MD5)は「87394g9hbhl4ihl」である。この対象電子メールは、通信経路N1(例えばインターネット)経由で、通信経路N2(例えばLAN)に接続されている「ユーザA」の端末装置14宛てに送信されてきた電子メールである。通信経路N1経由で送信されてきた対象電子メールは、ゲートウェイ装置10によって受信される。
対象電子メールがゲートウェイ装置10によって受信されると、ゲートウェイ装置10において、図10中のステップS02の処理が実行される。これにより、対象電子メールが、明らかな迷惑メール又はなりすましメールに該当するか否かが判定される。対象電子メールが、明らかな迷惑メール又はなりすましメールに該当すると判定された場合、「ユーザA」への対象電子メールの送信は禁止される。対象電子メールが、明らかな迷惑メール又はなりすましメールに該当しないと判定された場合、図10中のステップS03の処理が実行される。これにより、対象電子メールのアドレスが、例えば電子メールアドレスのホワイトリストに含まれているか否かが判定される。対象電子メールのアドレスが、そのホワイトリストに含まれている場合、対象電子メールは「ユーザA」の端末装置14に送信される。対象電子メールのアドレスが、そのホワイトリストに含まれてない場合、以下に説明するように、対象電子メールの信頼度スコアが演算され、その信頼度スコアに応じた処理が対象電子メールに適用される。なお、図10中のステップS02,S03の処理は実行されなくてもよい。
まず、信頼度演算部22は、メール情報記憶部20に記憶されているユーザ信頼度テーブルを参照し、「ユーザA」にとって信頼のあるユーザを特定する。信頼のあるユーザは、例えば、受信者「ユーザA」との間の信頼度が閾値以上となるユーザである。図3には、ユーザ信頼度テーブルの一例が示されている。このユーザ信頼度テーブルによると、「ユーザB」の信頼関係は「高」であり、「ユーザC」の信頼関係は「中」である。例えば、信頼関係が閾値「中」以上に設定されているユーザが、信頼のあるユーザとして特定される。図3に示す例では、「ユーザB」と「ユーザD」が、「ユーザA」にとって信頼のあるユーザとして特定される。信頼度スコアの演算においては、ユーザA,B,Dの送受信履歴が用いられる。
以下、信頼度スコア演算処理の具体例について説明する。
まず、信頼度演算部22は、電子メールの送受信履歴に基づいて信頼度スコアを演算する。図17には、アドレス「attacaker@example.com」に対する「ユーザA,B,D」の送受信履歴の一例が示されている。図17の(A)には送信履歴テーブルの一例が示されており、図17の(B)には受信履歴テーブルの一例が示されている。
送信履歴テーブルは、通信経路N2(例えばLAN)を利用している個々のユーザ毎の電子メールの送信履歴を示す情報である。送信履歴テーブルにおいては、送信者を示す情報と、受信者を示す情報と、送信回数を示す情報と、ウェイト(重み係数)を示す情報と、信頼度スコアと、が対応付けられている。送信者は「ユーザA,B,D」である。受信者のアドレスは「attacaker@example.com」である。ウェイトと信頼度スコアは、図5の(A)を参照して説明した方法によって決定される。
信頼度演算部22は、この送信履歴テーブルから、受信者「attacaker@example.com」に対する「ユーザA,B、D」の信頼度スコアを取得し、それら複数の信頼度スコアを合算する。受信者に対する「ユーザA」の信頼度スコアは「1」であり、「ユーザB,D」の信頼度スコアは「0(ゼロ)」である。よって、信頼度スコアの合算値は「1」(=1+0+0)である。この合算値は第1信頼度スコアに相当する。
受信履歴テーブルは、通信経路N2(例えばLAN)を利用している個々のユーザ毎の電子メールの受信履歴を示す情報である。受信履歴テーブルにおいては、送信者を示す応報と、受信者を示す情報と、送信回数を示す情報と、ウェイト(重み係数)を示す情報と、信頼度スコアと、が対応付けられている。送信者のアドレスは「attacaker@example.com」である。受信者は「ユーザA,B,D」である。ウェイトと信頼度スコアは、図5の(B)を参照して説明した方法によって決定される。
信頼度演算部22は、この受信履歴テーブルから、送信者「attacaker@example.com」に対する「ユーザA,B,D」の信頼度スコアを取得し、それら複数の信頼度スコアを合算する。送信者に対する「ユーザA」の信頼度スコアは「0.1」であり、「ユーザB,D」の信頼度スコアは「0」である。よって、信頼度スコアの合算値は「0.1」(=0.1+0+0)である。この合算値は第2信頼度スコアに相当する。信頼度演算部22は、第1信頼度スコア「1」と第2信頼度スコア「0.1」を合算する。この合算値は「1.1」である。
次に、信頼度演算部22は、対象電子メールの宛先に基づいて信頼度スコアを演算する。信頼度演算部22は、例えば、図6に示されている宛先テーブルを参照し、その宛先テーブルから、対象電子メールの宛先に対応する信頼度スコアを取得する。具体例3に係る対象電子メールの宛先は「ユーザA」のみであるため、他のユーザについての信頼度スコアは取得されない。従って、宛先に基づく信頼度スコアは「0(ゼロ)」である。この信頼度スコアは第3信頼度スコアに相当する。信頼度演算部22は、上記の合算値「1.1」に第3信頼度スコア「0」を合算する。この合算値は「1.1」である。
次に、信頼度演算部22は、対象電子メールのタイトルに基づいて信頼度スコアを演算する。信頼度演算部22は、例えば、図7に示されている返信回数テーブルを参照し、その返信回数テーブルから、対象電子メールのタイトルに含まれている文字列「Re」の数に対応する信頼度スコアを取得する。具体例3に係る対象電子メールのタイトルには、2つの文字列「Re」が含まれているため、信頼度スコアは「2」である。この信頼度スコアは第4信頼度スコアに相当する。信頼度演算部22は、上記の合算値「1.1」に第3信頼度スコア「2」を合算する。この合算値は「3.1」である。
次に、信頼度演算部22は、対象電子メールに添付されているファイルに基づいて信頼度スコアを演算する。信頼度演算部22は、例えば、図8に示されている添付ファイルテーブルを参照し、対象電子メールに添付されているファイルに対応する信頼度スコアを取得する。具体例3に係る添付ファイルのハッシュ値(MD5)は、「87394g9hbhl4ihl」である。添付ファイルテーブルには、これと同じ値が登録されている。つまり、対象電子メールに添付されているファイルと同一のファイルが、過去において、「ユーザA」によって送信又は受信されたことになる。この場合、信頼度スコア「5」が取得される。この信頼度スコアは第5信頼度スコアに相当する。信頼度演算部22は、上記の合算値「3.1」に第5信頼度スコア「5」を合算する。この合算値は「8.1」である。この合算値が、信頼度スコア合算値に相当する。
なお、ハッシュ値等の値が用いられずに、両ファイル同士が比較されてもよい。例えば、メール管理部18は、過去に送受信された電子メールに添付されたファイルをメール情報記憶部20に記憶させておく。信頼度演算部22は、対象電子メールに添付されているファイルとメール情報記憶部20に記憶されているファイルとを比較し、両ファイルの一致度又は類似度を演算し、その一致度又は類似度に応じた信頼度スコアを演算する。例えば、一致度又は類似度が閾値以上となる場合の信頼度スコアが「5」であり、一致度又は類似度が閾値未満となる場合の信頼度スコアが「0」である。
別の例として、対象電子メールにファイルが添付されている場合には、信頼度スコアとしてマイナスの値が用いられてもよい。
メール処理部24は、例えば、図9に示されている処理内容テーブルを参照し、信頼度スコア合算値「8.1」に対応する処理を対象電子メールに適用する。その合算値に対応する処理は、「メールの許可、管理者にもメールを転送する」である。この場合、対象電子メールは、ゲートウェイ装置10から通信経路N2経由で「ユーザA」の端末装置14に送信され、更に、管理者にも送信される。
次に、メール管理部18によって、送信履歴テーブルと受信履歴テーブルが更新される。具体的には、図17の(A)、(B)に示されているテーブルにおいて、対応する送信回数と信頼度スコアが更新される。なお、対象電子メールが通信経路N2経由で送信されてきた場合、図4の(A)、(B)に示されているテーブルにおいて、対応する送信回数と信頼関係スコアが更新される。また、メール管理部18によって、対象電子メールのデータや添付ファイルがメール情報記憶部20に記憶される。
以上のように、本実施形態によると、対象電子メールの送信者と受信者との間の送受信履歴に基づいて、対象電子メールの信頼度スコアが演算され、その信頼度スコアに応じた処理が対象電子メールに適用される。送信回数又は受信回数が多いほど、信頼度の高い送信者であると想定される。それ故、送受信履歴に基づいて信頼度スコアを演算し、その信頼度スコアに応じた処理を対象電子メールに適用することにより、受信者にとって信頼度の高い対象電子メールが受信者に送信され、信頼度の低い対象電子メールの送信が禁止される。このように、個々のユーザ毎の信頼度に応じて対象電子メールの送信を許可又は禁止することにより、対象電子メールの送信を一律に許可又は禁止する場合と比べて、対象電子メールのフィルタリングがより適切に行われる。
また、本実施形態では、送信者と受信者との間の送受信履歴と、受信者以外の第三者と送信者との間の送受信履歴と、に基づいて、信頼度スコアが演算される。その第三者は、受信者にとって信頼のあるユーザである。その第三者の送受信履歴をも利用することにより、対象電子メールの信頼度がより適切に評価される。仮に、送信者と受信者自身との間で過去に電子メールの送受信が行われていない場合であっても、信頼のある第三者の送受信履歴を用いることにより、対象電子メールの信頼度が評価される。これにより、信頼性の高い対象電子メールが受信者に送信され、対象電子メールのフィルタリングがより適切に行われる。
また、本実施形態では、対象電子メールの宛先に基づいて信頼度スコアが演算される。受信者にとって信頼性のある第三者が宛先に含まれている場合には、その対象電子メールの信頼性は相対的に高いと想定される。それ故、宛先を用いることにより、対象電子メールの信頼度が適切に評価される。
また、本実施形態では、返信回数に基づいて信頼度スコアが演算される。返信回数が多いほど、対象電子メールの送信者に対する信頼性が相対的に高いと想定される。それ故、返信回数を用いることにより、対象電子メールの信頼性が適切に評価される。
また、本実施形態では、添付ファイルに基づいて信頼度スコアが演算される。過去に送受信された添付ファイルと同一又は類似のファイルが対象電子メールに添付されている場合、その対象電子メールの信頼度が相対的に高いと想定される。それ故、添付ファイルに基づいて信頼度スコアを演算することにより、対象電子メールの信頼度が適切に評価される。
なお、具体例3において、送信履歴テーブル、受信履歴テーブル、宛先テーブル、返信回数テーブル、及び、添付ファイルテーブルの中の少なくとも1つの情報に基づいて信頼度スコアが演算され、その信頼度スコアに応じた処理が対象電子メールに適用されてもよい。
具体例3において、ゲートウェイ装置10において、シグネチャ型のフィルタやルール一致型のフィルタが適用されてもよい。この場合、より強力なフィルタリングが実現される。
(変形例1)
以下、変形例1に係るメール配信システムについて説明する。図18には、変形例1に係るメール配信システムが示されている。
変形例1に係るメール配信システムは、複数のゲートウェイ装置10を含む。第1のゲートウェイ装置10は通信経路N1,N2に接続されており、第2のゲートウェイ装置10は通信経路N2,N3に接続されている。通信経路N1は例えばインターネットであり、通信経路N2,N3はLAN等のネットワークである。通信経路N2,N3には1又は複数の端末装置14が接続されている。個々のゲートウェイ装置10は、上記実施形態に係るゲートウェイ装置10と同じ機能を備えている。
変形例1においては、複数のゲートウェイ装置10の間で、信頼度演算処理に用いられる情報が共有される。例えば、第1のゲートウェイ装置10にて取得された情報が、通信経路N1経由で第2のゲートウェイ装置10に送信され、第2のゲートウェイ装置10にて取得された情報が、通信経路N1経由で第1のゲートウェイ装置10に送信される。共有される情報は、例えば、送信履歴テーブル、受信履歴テーブル、宛先テーブル、返信回数テーブル、添付ファイルテーブル、等の情報である。複数のゲートウェイ装置10は、例えばVPN(バーチャルプライベートネットワーク)等の通信技術によって接続される。これにより、情報のセキュリティが確保された状態で、情報が共有される。
変形例1によると、通信経路N2,N3において信頼度演算処理に用いられる情報が統合され、統合された情報が利用される。これにより、より多くの情報が活用されて対象電子メールの信頼度スコアが演算され、その信頼度スコア自体の正確性が向上し得る。
(変形例2)
以下、変形例2に係るメール配信システムについて説明する。図19には、変形例2に係るメール配信システムが示されている。
変形例2に係るメール配信システムは、変形例1に係るメール配信システムと同様に、複数のゲートウェイ装置10を含む。通信経路N2,・・・Nxは、LAN等のネットワークである。これらの通信経路には、1又は複数の端末装置14が接続されている。個々のゲートウェイ装置10は、上記実施形態に係るゲートウェイ装置10と同じ機能を備えている。通信経路N1(例えばインターネット)にはサーバ装置28が接続されている。サーバ装置28と各ゲートウェイ装置10とは、例えばVPNによって接続されている。
変形例2においては、信頼度演算処理に用いられる情報が、個々のゲートウェイ装置10からサーバ装置28に送信される。これにより、サーバ装置28に、信頼度演算処理に用いられる情報が集約される。この情報は、変形例1における情報と同じ情報である。個々のゲートウェイ装置10は、サーバ装置28から、他の通信経路において信頼度演算処理に用いられる情報を取得する。これにより、個々のゲートウェイ装置10において、他の通信経路における情報が利用されるとともに、各ゲートウェイ装置10間の通信負荷が低減される。
上記実施形態及び変形例に係るゲートウェイ装置10は、一例としてハードウェア資源とソフトウェアとの協働により実現される。具体的には、ゲートウェイ装置10は、図示しないCPU等のプロセッサを備えている。当該プロセッサが、図示しない記憶装置に記憶されたプログラムを読み出して実行することにより、ゲートウェイ装置10の各部の機能が実現される。上記プログラムは、CDやDVD等の記録媒体を経由して、又は、ネットワーク等の通信経路を経由して、記憶装置に記憶される。または、ゲートウェイ装置10の各部は、例えばプロセッサや電子回路等のハードウェア資源により実現されてもよい。その実現においてメモリ等のデバイスが利用されてもよい。別の例として、ゲートウェイ装置10の各部は、DSP(Digital Signal Processor)やFPGA(Field Programmable Gate Array)等によって実現されてもよい。
実施形態において、ゲートウェイ装置によって実行されるプログラムは、磁気記録媒体(磁気テープ、磁気ディスク(HDD、FD(Flexible Disk))など)、光記録媒体(光ディスク(CD(Compact Disk)、DVD(Digital Versatile Disk))など)、光磁気記録媒体、半導体メモリ(フラッシュROMなど)などのコンピュータが読み取り可能な記録媒体に記憶した状態で提供されてもよい。また、これらのプログラムは、インターネットなどのネットワーク経由でダウンロードされてもよい。