(57)【要約】【課題】既存のメールアドレスを利用しつつ、簡易的にセキュリティを向上させることができるメールサーバ及びメール送受信方法を提供すること。【解決手段】メールサーバ１は、送信対象の電子メールの送信元のメールアドレスのローカル部の文字列の暗号化を行う暗号化部５２と、送信対象の電子メールのローカル部を、暗号化部５２により暗号化された文字列に置換する第１置換部５３と、受信された電子メールの宛先のメールアドレスのうち、所定ドメインに対応するメールアドレスのローカル部の文字列の復号化を行う復号化部５５と、受信された電子メールのローカル部を、復号化部５５により復号化された文字列に置換する第２置換部５６と、を備える。【選択図】図２
2014056392.tif 000002
【特許請求の範囲】
【請求項１】
電子メールと当該電子メールの送信要求とを受け付ける受付部と、
前記受付部により受け付けた電子メールの送信元のメールアドレスのローカル部の文字列の暗号化を行う暗号化部と、
前記受付部により受け付けた電子メールの前記ローカル部を、前記暗号化部により暗号化された文字列に置換する第１置換部と、
前記第１置換部により前記ローカル部が置換された電子メールを前記電子メールの送信先に送信する送信部と、
所定ドメインの電子メールを受信する受信部と、
前記受信部により受信された電子メールの宛先のメールアドレスのうち、前記所定ドメインに対応するメールアドレスのローカル部の文字列の復号化を行う復号化部と、
前記受信部により受信された電子メールの前記ローカル部を、前記復号化部により復号化された文字列に置換する第２置換部と、
前記第２置換部により前記ローカル部が置換された電子メールを記憶部に記憶させる記憶制御部と、
を備えるメールサーバ。
【請求項２】
前記暗号化部は、前記受付部により受け付けた電子メールの送信元のメールアドレスのローカル部の文字列に所定の文字列を連結し、連結された文字列の暗号化を行い、
前記第２置換部は、前記復号化部により復号化された文字列から前記所定の文字列を除去し、前記受信部により受信された電子メールの前記ローカル部を、前記所定の文字列が除去された文字列に置換する、
請求項１に記載のメールサーバ。
【請求項３】
前記受付部は、受け付けた電子メールの宛先に前記所定ドメインのメールアドレスが含まれている場合、当該電子メールを前記記憶部に直接記憶させる、
請求項１又は２に記載のメールサーバ。
【請求項４】
電子メールの送受信を行うメール送受信方法であって、
電子メールと当該電子メールの送信要求とを受け付ける受付ステップと、
前記受付ステップにおいて受け付けた電子メールの送信元のメールアドレスのローカル部の文字列の暗号化を行う暗号化ステップと、
前記受付ステップにおいて受け付けた電子メールの前記ローカル部を、前記暗号化ステップにより暗号化された文字列に置換する第１置換ステップと、
前記第１置換ステップにおいて前記ローカル部が置換された電子メールを前記電子メールの送信先に送信する送信ステップと、
所定ドメインの電子メールを受信する受信ステップと、
前記受信ステップにおいて受信された電子メールの宛先のメールアドレスのうち、前記所定ドメインに対応するメールアドレスのローカル部の文字列の復号化を行う復号化ステップと、
前記受信ステップにおいて受信された電子メールの前記ローカル部を、前記復号化ステップにおいて復号化された文字列に置換する第２置換ステップと、
前記第２置換ステップにおいて前記ローカル部が置換された電子メールを記憶部に記憶させる記憶制御ステップと、
を含むメール送受信方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、メールサーバ及びメール送受信方法に関する。
【背景技術】
【０００２】
近年、電子メールによってコミュニケーションをとることが広く定着している。その一方で、個人又は企業に対して悪意のある電子メールを送りつける等の攻撃が増加している。
【０００３】
例えば、企業において、メールアドレスのローカル部を社員コードや社員名称等として、社員に電子メールアドレス（以下、単にメールアドレスという）を割り当てる場合がある。この場合、攻撃者によってブルートフォースアタックが行われると、いくつかのメールアドレスには攻撃者からのメールが届くおそれがある。更に、攻撃者から受信したメールに対してユーザがアクションを取ることにより、被害を受けるおそれがある。
【０００４】
このような問題に対して、例えば、特許文献１では、本来のメールアドレスとは異なる他のメールアドレスを用いて電子メールの送信を行うことが提案されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１１−０４１２６０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、企業において多くのメールアドレスを扱っている場合、全社員に対して異なるメールアドレスを新たに割り当てるのは管理者にとって負担が大きい。また、全社員に対して、異なるメールアドレスを用いた運用を周知徹底させることも難しい。そこで、既存のメールアドレスを利用しつつ、簡易的にセキュリティを向上させることが望まれている。
【０００７】
本発明は、既存のメールアドレスを利用しつつ、簡易的にセキュリティを向上させることができるメールサーバ及びメール送受信方法を提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明のメールサーバは、電子メールと当該電子メールの送信要求とを受け付ける受付部と、前記受付部により受け付けた電子メールの送信元のメールアドレスのローカル部の文字列の暗号化を行う暗号化部と、前記受付部により受け付けた電子メールの前記ローカル部を、前記暗号化部により暗号化された文字列に置換する第１置換部と、前記第１置換部により前記ローカル部が置換された電子メールを前記電子メールの送信先に送信する送信部と、所定ドメインの電子メールを受信する受信部と、前記受信部により受信された電子メールの宛先のメールアドレスのうち、前記所定ドメインに対応するメールアドレスのローカル部の文字列の復号化を行う復号化部と、前記受信部により受信された電子メールの前記ローカル部を、前記復号化部により復号化された文字列に置換する第２置換部と、前記第２置換部により前記ローカル部が置換された電子メールを記憶部に記憶させる記憶制御部と、を備えることを特徴とする。
【０００９】
また、本発明のメールサーバでは、前記暗号化部は、前記受付部により受け付けた電子メールの送信元のメールアドレスのローカル部の文字列に所定の文字列を連結し、連結された文字列の暗号化を行い、前記第２置換部は、前記復号化部により復号化された文字列から前記所定の文字列を除去し、前記受信部により受信された電子メールの前記ローカル部を、前記所定の文字列が除去された文字列に置換することが好ましい。
【００１０】
また、本発明のメールサーバでは、前記受付部は、受け付けた電子メールの宛先に前記所定ドメインのメールアドレスが含まれている場合、当該電子メールを前記記憶部に直接記憶させることが好ましい。
【００１１】
本発明のメール送受信方法は、電子メールの送受信を行うメール送受信方法であって、電子メールと当該電子メールの送信要求とを受け付ける受付ステップと、前記受付ステップにおいて受け付けた電子メールの送信元のメールアドレスのローカル部の文字列の暗号化を行う暗号化ステップと、前記受付ステップにおいて受け付けた電子メールの前記ローカル部を、前記暗号化ステップにより暗号化された文字列に置換する第１置換ステップと、前記第１置換ステップにおいて前記ローカル部が置換された電子メールを前記電子メールの送信先に送信する送信ステップと、所定ドメインの電子メールを受信する受信ステップと、前記受信ステップにおいて受信された電子メールの宛先のメールアドレスのうち、前記所定ドメインに対応するメールアドレスのローカル部の文字列の復号化を行う復号化ステップと、前記受信ステップにおいて受信された電子メールの前記ローカル部を、前記復号化ステップにおいて復号化された文字列に置換する第２置換ステップと、前記第２置換ステップにおいて前記ローカル部が置換された電子メールを記憶部に記憶させる記憶制御ステップと、を含むことを特徴とする。
【発明の効果】
【００１２】
本発明によれば、既存のメールアドレスを利用しつつ、簡易的にセキュリティを向上させることができる。
【図面の簡単な説明】
【００１３】
【図１】本実施形態に係るメールサーバと周辺装置との関係を示す図である。
【図２】本実施形態に係るメールサーバの機能構成を示す図である。
【図３】本実施形態に係る暗号化部の構成を示す図である。
【図４】本実施形態に係る復号化部の構成を示す図である。
【図５】本実施形態に係るメールサーバにおいて、電子メールの送信に係る処理の流れを示すフローチャートである。
【図６】図５の暗号化処理の詳細な流れを示すフローチャートである。
【図７】本実施形態に係るメールサーバにおいて、電子メールの受信に係る処理の流れを示すフローチャートである。
【図８】図７の復号化処理の詳細な流れを示すフローチャートである。
【発明を実施するための形態】
【００１４】
以下、本発明の実施形態について図を参照しながら説明する。
図１は、本実施形態に係るメールサーバ１と周辺装置との関係を示す図である。メールサーバ１は、第１ネットワークＮ１上の１又は複数の端末２と、第２ネットワークＮ２を介して接続される複数の外部装置３とに接続されており、電子メールの送受信を行う。メールサーバ１は、ＤＭＺ（Ｄｅ−Ｍｉｌｉｔａｒｉｚｅｄ  Ｚｏｎｅ）に配置されており、ゲートウェイ等を介して外部装置３との通信を行う。第１ネットワークＮ１は、例えば、ローカルエリアネットワーク（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）であり、第２ネットワークは、例えば、インターネットである。
【００１５】
図２は、本実施形態に係るメールサーバ１の機能構成を示す図である。
メールサーバ１は、表示部１０と、入力部２０と、記憶部３０と、通信部４０と、制御部５０とを備える。
【００１６】
表示部１０は、ブラウン管表示装置（ＣＲＴ：Ｃａｔｈｏｄｅ  Ｒａｙ  Ｔｕｂｅ）又は液晶表示装置（ＬＣＤ：Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ）等のディスプレイ装置により構成される。表示部１０は、制御部５０の制御に応じて、メールサーバ１の機能に係る表示を行う。
【００１７】
入力部２０は、キーボード及びマウス等により構成される。入力部２０は、メールサーバ１のユーザから入力操作を受け付ける。
【００１８】
記憶部３０は、メモリ（ＲＡＭ、ＲＯＭ等）、ハードディスクドライブ（ＨＤＤ）及び光ディスク（ＣＤ、ＤＶＤ等）ドライブ等により構成される。記憶部３０は、メールサーバ１を機能させるための各種プログラム（図示省略）を記憶する。各種プログラムは、制御部５０により適宜実行、参照されることにより、制御部５０と協働して本発明に係る各機能を実現する。各種プログラムは、必要に応じて通信回線を介して配布されたり、コンピュータ可読媒体に記録されて配布される。
【００１９】
また、記憶部３０は、所定ドメインを宛先に含むメールを記憶するメールボックス３１を備える。また、記憶部３０は、所定ドメインのメールアドレスに対応するアカウント情報を記憶する。アカウント情報は、ユーザＩＤと、パスワードとを含む。このユーザＩＤは、例えば、所定ドメインのメールアドレスのローカル部と一致する。すなわち、アカウント情報は、所定ドメインのメールアドレスと関連付けられている。なお、ローカル部とは、メールアドレスを構成する文字列のうち、＠より前の文字列をいう。
【００２０】
通信部４０は、例えば、各種有線及び無線インターフェース装置等により構成される。通信部４０は、制御部５０の制御に応じて、端末２及び外部装置３とデータの送受信を行う。
【００２１】
制御部５０は、ＣＰＵ等により構成されており、メールサーバ１の全体を制御する。制御部５０は、受付部としての送信要求受付部５１と、暗号化部５２と、第１置換部５３と、送信部及び受信部としての通信制御部５４と、復号化部５５と、第２置換部５６と、記憶制御部５７と、受信要求受付部５８とを備える。
【００２２】
送信要求受付部５１は、第１ネットワークＮ１上の端末２から、電子メールと当該電子メールの送信要求とを受け付ける。ここで、当該電子メールの送信元のメールアドレスのドメインは、全て所定ドメインであるものとする。
【００２３】
また、送信要求受付部５１は、電子メールのヘッダ情報を参照し、宛先に所定ドメインのメールアドレスが含まれているか否かを判定する。送信要求受付部５１は、宛先に所定ドメインのメールアドレスが含まれていると判定した場合、記憶部３０のメールボックス３１に当該電子メールを直接記憶させる。つまり、送信要求受付部５１は、送信要求を受け付けた電子メールの宛先に所定ドメインのメールアドレスが含まれている場合、当該電子メールを記憶部３０に直接記憶させる。これにより当該電子メールは、暗号化部５２による暗号化を行われていない状態で記憶部３０に記憶される。
【００２４】
また、送信要求受付部５１は、宛先に所定ドメインのメールアドレスしか含まれていない場合、当該電子メールを暗号化部５２と第１置換部５３に出力しないように制御する。
【００２５】
暗号化部５２は、送信要求受付部５１により受け付けた電子メールのヘッダ情報を参照し、電子メールの送信元のメールアドレスを特定する。暗号化部５２は、特定した送信元のメールアドレスのローカル部を構成する文字列の暗号化を行うことで、当該文字列の変換を行う。
【００２６】
また、暗号化部５２は、送信要求受付部５１により受け付けた電子メールのヘッダ情報を参照し、電子メールの宛先のメールアドレスに所定ドメインのメールアドレスが含まれている場合に、当該メールアドレスのローカル部を構成する文字列の暗号化を行い、当該文字列の変換を行う。
【００２７】
また、暗号化部５２は、送信要求受付部５１により受け付けた電子メールのメッセージ本文に含まれている、所定ドメインのメールアドレスのローカル部を構成する文字列の暗号化を行い、当該文字列の変換を行う。ここでは、暗号化されるメールアドレスのローカル部が、２０桁以下（例えば６桁の整数であってもよい）の整数Ｘｉであるものとして説明を進める。
【００２８】
以下、暗号化部５２の暗号化について説明する。
暗号化部５２は、図３に示すように、鍵生成部５２１と、第１暗号化部５２２と、第２暗号化部５２３とから構成されている。
【００２９】
鍵生成部５２１は、文字列を暗号化するための暗号鍵Ｅを予め生成しておき、この暗号鍵Ｅを記憶部３０に記憶させる。また、鍵生成部５２１は、暗号鍵Ｅにより暗号化された文字列を復号化するための復号鍵Ｆを予め生成しておき、この復号鍵Ｆを記憶部３０に記憶させる。
【００３０】
暗号鍵Ｅ及び復号鍵Ｆは、以下のように生成される。
まず、第１の素数Ａと、第２の素数Ｂとを予め用意する。第１の素数Ａ及び第２の素数Ｂは、これらの積Ｎが所定数Ｘを超えるような素数の組合せである。ここで、所定数Ｘとは、例えば、２０桁の整数であり、乗算結果がレジスタで一度に表現できる範囲を超える整数である。また、所定数Ｘは、暗号化され得る全ての文字列よりも長い文字列であることとする。例えば、所定数Ｘは、一度に暗号化したい情報が整数で表現できる場合、この整数よりも大きい値である。なお、これらの素数は、鍵生成部５２１により算出させてもよいし、入力部２０を介して受け付けるようにしてもよい。
【００３１】
鍵生成部５２１は、第１の素数Ａより１少ない整数を整数Ａ’とし、素数Ｂより１少ない整数を整数Ｂ’とする。そして、鍵生成部５２１は、整数Ａ’と整数Ｂ’との最小公倍数Ｋと素である整数Ｅであって、所定数Ｘを底とし整数Ｅを指数として算出される数（べき乗）が、レジスタの表現できる桁数よりも大きい桁数としての所定桁数を超える（桁あふれが発生する）整数Ｅを生成する。鍵生成部５２１は、第１の素数Ａ及び第２の素数Ｂの積Ｎを予め記憶部３０に記憶させるとともに、整数Ｅを暗号鍵Ｅとして予め記憶部３０に記憶させる。
【００３２】
また、鍵生成部５２１は、任意の整数をｍとした場合に、上述した整数Ｅ、最小公倍数Ｋを用いて、以下の（１）式を満たすように整数Ｆを生成する。鍵生成部５２１は、この整数Ｆを、暗号化鍵Ｅに対応する復号鍵Ｆとし、記憶部３０に記憶させる。整数Ｆは、（１）式を満たすものであれば、任意の数でよい。
【００３３】
【数１】
2014056392.tif 000003
【００３４】
また、鍵生成部５２１は、換字式暗号化に用いられる整数Ｒｉを生成し、予め記憶部３０に記憶させる。整数Ｒｉは、所定数Ｘより小さい正の整数をランダムに選択したものである。
【００３５】
第１暗号化部５２２は、所定数Ｘより小さい任意の正の整数、すなわち、暗号化される整数Ｘｉを底とし整数Ｅを指数としたべき乗を、第１の素数Ａと第２の素数Ｂとの積Ｎで除算した場合の剰余を算出することにより、整数Ｘｉの暗号化数Ｙｉを算出する。すなわち、第１暗号化部５２２は、以下の（２）式で表される、整数Ｘｉの暗号化数Ｙｉを算出する。（２）式に示される「ｍｏｄ」は、剰余を算出する関数である。
【００３６】
【数２】
2014056392.tif 000004
【００３７】
具体的には、第１暗号化部５２２は、繰り返し二乗法（高速冪乗法）を用いて整数Ｘｉの暗号化数Ｙｉを算出する。以下に、処理手順について以下に説明する。
【００３８】
まず、第１暗号化部５２２は、整数Ｅの２進数展開を行い、整数ＸｉのＥ乗を、整数Ｘｉの２ｋのべき乗の積に展開する。ここで、ｋは、０からｎまでの整数をとるものとし、ｎは、２のべき乗が整数Ｅを超えないべき数のうち、もっとも大きいべき数に対応するものとする。例えば、整数Ｅが２８７である場合、整数ＸｉのＥ乗は、以下の（３）式で表される。ここで、２の８乗が整数Ｅを超えない最も大きい数となるので、べき数「８」がｎとなる。
【００３９】
【数３】
2014056392.tif 000005
【００４０】
続いて、第１暗号化部５２２は、以下の（４）式に示すように、整数Ｘｉの２０乗を積Ｎで除算した場合の剰余から順に、整数Ｘｉの２ｋ乗を積Ｎで除算した場合の剰余を算出する。例えば、整数Ｘｉの２２乗は、（４）式に示されるように、整数Ｘｉの２１乗を積Ｎで除算した場合の剰余を用いて簡易的に算出することができる。
【００４１】
【数４】
2014056392.tif 000006
【００４２】
ここで、整数Ｅは、所定数ＸのＥ乗の演算結果がレジスタの表現できる桁数よりも大きい桁数となるように生成されているので、整数Ｘｉの２ｋ乗を算出する場合に、桁あふれが生じる場合がある。そこで、第１暗号化部５２２は、整数Ｘｉについて、以下の（５）式を用いて、上位の桁Ｘｕ及び下位の桁Ｘｄに分割された整数に展開し、上位の桁Ｘｕ及び下位の桁Ｘｄに基づいて、整数Ｘｉの２ｎ乗まで算出する。
【００４３】
【数５】
2014056392.tif 000007
【００４４】
式中、Ｍは底であり、Ｃｄは整数Ｘｉにおける下位の桁の数である。また、Ｃｄは、１以上の整数である。
【００４５】
例えば、底であるＭを２とし、整数Ｘｉの桁数を１６桁、下位の桁数Ｃｄを８桁とする場合、（５）式は、以下の（６）式のように表される。
【００４６】
【数６】
2014056392.tif 000008
【００４７】
例えば、本実施形態に係るメールサーバ１が１６ビット幅のレジスタのＣＰＵを備える場合に、整数Ｘｉの値が１０進数の６５５３２であるとすると、この整数Ｘｉに対するべき乗の計算において、指数として、２を用いた時点で、１６ビット幅のレジスタを用いて表現できる整数の上限値６５５３５を超えてしまう。すなわち、単に整数Ｘｉをべき乗する通常の計算方法に従って（２）式の右辺に含まれる整数ＸｉのＥ乗の計算を実施すると、正確なべき乗の値が得られない場合がある。
【００４８】
これに対して、式（６）により表される桁の分割を用いて上位の桁と下位の桁をそれぞれ整数部分として分割すると、例えば、整数Ｘｉが１０進数の６５５３２、すなわち、２進数の１１１１１１１１１１１１１１００は、上位８桁に含まれる整数１１１１１１１１（１０進数の２５５）と、下位８桁に含まれる整数１１１１１１００（１０進数の２５２）とに分割される。この場合、分割された２つの数は、２５５の２乗よりも小さい値となるので、１６ビット幅のレジスタが表現できる整数の範囲内となる。よって、桁あふれによる誤りを避けることが可能である。
【００４９】
また、本実施形態では、（５）式のように、２つの整数に分割することとしたが、例えば、整数Ｘｉを２０桁とした場合には、以下の（７）式に示されるように、４つの整数に分割することとしてもよい。
【００５０】
【数７】
2014056392.tif 000009
【００５１】
式中、Ｘ１５は整数Ｘｉの１６桁目から２０桁目、Ｘ１０は整数Ｘｉの１１桁目から１５桁目、Ｘ５は整数Ｘｉの６桁目から１０桁目、Ｘ０は整数Ｘｉの１桁目から５桁目である。また、整数Ｘｉが２０桁（所定桁数）に満たない場合（例えば、６桁の場合）に、上位の桁に対して所定の文字列を連結（例えば、所定桁数となるまで１又は複数の「０」を連結するゼロ詰め）して整数Ｘｉの桁数を増加させるようにしてもよい。このようにすることで、メールサーバ１は、桁あふれを発生する条件で整数Ｅを生成した後に、（３）〜（５）式を用いて整数Ｘｉを展開して暗号化数Ｙｉを算出することにより、桁あふれを避けて、暗号化数Ｙｉを正確に算出することができる。
なお、整数Ｘｉは、（６）式や（７）式のように、分割後の整数の桁数が等しくなるように分割されることが好ましい。
【００５２】
また、整数Ｘｉが所定桁数（例えば、２０桁）に満たない場合に、上位の桁に対してゼロ詰めを行い所定桁数の文字列としたうえで暗号化を行うこととしたが、これに限らない。例えば、記憶部３０に、メールアドレスと、当該メールアドレスのユーザ名（例えばユーザの氏名）とを関連付けて記憶させるようにしてもよい。そして、暗号化部５２（第１暗号化部５２２）は、暗号化を行う前に、所定ドメインのメールアドレスのローカル部に、所定の文字列として、当該メールアドレスのユーザ名を連結することで、当該ユーザ名が連結された状態でローカル部の文字列の暗号化を行うこととしてもよい。この場合、暗号化部５２は、連結された文字列に、数以外の文字列が含まれることから、数以外の文字列を数字に変換したうえで暗号化を行うようにする。なお、数字に変換した後の文字列長は、所定桁数以下となるようにする。
【００５３】
続いて、第１暗号化部５２２は、２のべき乗の積に展開された整数ＸｉのＥ乗の剰余を算出する。例えば、整数Ｅが２８７である場合、整数ＸｉのＥ乗の剰余は、以下の（８）式で示されるので、（４）式に示すように予め求められている整数Ｘｉの２ｋ乗を積Ｎで除算した場合の剰余から容易に算出することが可能となる。なお、この計算において、桁あふれを回避するように、被乗数を、（５）式と同様に上位の桁と下位の桁に分割して、剰余を算出するようにしてもよい。
【００５４】
【数８】
2014056392.tif 000010
【００５５】
第２暗号化部５２３は、記憶部に記憶されている鍵Ｒｉを使用して、以下の（９）式を基づいて、暗号化数Ｙの換字式暗号を行い、整数Ｙｉ’を算出する。
【００５６】
【数９】
2014056392.tif 000011
【００５７】
（９）式中、Ｒｏｔ（Ｙｉ，Ｒｉ）は、鍵Ｒｉを秘密鍵として用いて、暗号化数Ｙｉを換字式暗号する関数である。具体的には、Ｒｏｔ（Ｙｉ，Ｒｉ）は、暗号化数Ｙｉを、所定数Ｘの範囲で鍵Ｒｉの値だけ加算する。また、暗号化数Ｙｉに鍵Ｒｉを加算した結果が所定数Ｘを超える場合、Ｒｏｔ（Ｙｉ，Ｒｉ）は、整数Ｙｉ’として、ＹｉにＲｉを加算したことにより所定数Ｘを超えた分、すなわち、Ｙｉ＋Ｒｉ−Ｘを返す。
【００５８】
また、Ｒｏｔ（Ｙｉ，Ｒｉ）は、暗号化数Ｙｉに鍵Ｒｉを加算する場合に、暗号化数Ｙｉについて、以下の（１０）式を用いて、上位の桁Ｙｕ及び下位の桁Ｙｄに分割された整数部分を生成し、この上位の桁Ｙｕ及び下位の桁Ｙｄを用いて、整数Ｙｉ’を算出する。
【００５９】
【数１０】
2014056392.tif 000012
【００６０】
（５）式と同様に、（１０）式中、Ｍは底であり、Ｃｄは暗号化数Ｙｉにおける下位の桁の数である。また、Ｃｄは、少なくとも１である。
【００６１】
なお、第１暗号化部５２２及び第２暗号化部５２３は、複数回実行されてもよい。この場合、後述の第１復号化部５５１及び第２復号化部５５２は、第１暗号化部５２２及び第２暗号化部５２３が実行された回数だけ実行される。
【００６２】
第１置換部５３は、送信要求受付部５１により受け付けた電子メールの送信元、宛先及びメッセージ本文に含まれているメールアドレスのうち、所定ドメインのメールアドレスについて、当該メールアドレスのローカル部を構成する文字列を、暗号化部５２により暗号化された文字列に置換する。
【００６３】
通信制御部５４は、第１置換部５３によってローカル部が置換された電子メールについて、当該電子メールのヘッダ情報を参照し、宛先のメールアドレスのドメインを特定する。そして、通信制御部５４は、通信部４０を介して、当該電子メールを、送信先のドメインに対応するメールサーバに送信する。電子メールは、送信先のドメインに対応するメールサーバに直接送信されるか、１又は複数の外部装置を介して送信される。
【００６４】
また、通信制御部５４は、通信部４０を介して、外部装置３から所定ドメインのメールアドレスを宛先に含む電子メールを受信する。
【００６５】
復号化部５５は、通信制御部５４により受信された電子メールのヘッダ情報を参照し、電子メールの宛先のメールアドレスを特定する。復号化部５５は、特定されたメールアドレスのうち、所定ドメインに対応するメールアドレスのローカル部を構成する文字列の復号化を行い、当該文字列の変換を行う。
【００６６】
また、復号化部５５は、通信制御部５４により受信された電子メールのメッセージ本文に含まれている、所定ドメインのメールアドレスのローカル部を構成する文字列の復号化を行い、当該文字列の変換を行う。
【００６７】
以下、受信された電子メールに含まれている所定ドメインのメールアドレスのローカル部を構成する文字列が、暗号化部５２により暗号化されている整数Ｙｉ’であるものとして、説明を進める。
【００６８】
復号化部５５は、図４に示すように、第１復号化部５５１と、第２復号化部５５２とから構成されている。
第１復号化部５５１は、第１暗号化部５２２に対応し、第２復号化部５５２は、第２暗号化部５２３に対応している。すなわち、第２復号化部５５２による復号の後に第１復号化部５５１による復号化が行われるため、ここでは、第２復号化部５５２の説明から行う。
【００６９】
第２復号化部５５２は、第２暗号化部５２３により換字式暗号された整数Ｙｉ’から、換字式復号により暗号化数Ｙｉを算出する。具体的には、第２復号化部５５２は、以下の（１１）式を用いた換字式復号を行い、暗号化数Ｙｉを算出する。
【００７０】
【数１１】
2014056392.tif 000013
【００７１】
式中に示される鍵Ｒｉは、換字式暗号化の秘密鍵として用いられる整数であり、上述したように記憶部３０に記憶されている。
【００７２】
Ｒｏｔ−１（）は、整数Ｙｉ’を、所定数Ｘの範囲で鍵Ｒｉの値だけ減算した値を関数の戻り値として返す。整数Ｙｉ’に鍵Ｒｉを減算した結果が０未満となる場合、Ｒｏｔ−１（）は、暗号化数Ｙｉとして、整数Ｙｉ’にＲｉを減算したことにより０より小さい分を所定数Ｘから減算した値、すなわち、Ｙｉ−Ｒｉ＋Ｘを関数の戻り値として返す。
【００７３】
また、Ｒｏｔ−１（）は、整数Ｙｉ’にＲｉを減算する場合に、整数Ｙｉ’について、（１０）式と同様に、上位の桁及び下位の桁に分割された整数部分を生成し、この上位の桁及び下位の桁を用いて、暗号化数Ｙｉを算出する。
【００７４】
第１復号化部５５１は、記憶部３０に記憶されている復号鍵Ｆを用いて、暗号化数Ｙｉを底とし復号鍵Ｆを指数としたべき乗を、積Ｎで除算した場合の剰余を算出することにより、暗号化数Ｙｉの元の数、すなわち整数Ｘｉを算出する。すなわち、第１復号化部５５１は、以下の（１２）式に基づいて、暗号化数Ｙｉの元の整数Ｘｉを算出する。第１復号化部５５１は、第１暗号化部５２２と同様に、繰り返し二乗法（高速冪乗法）を用いることにより、暗号化数Ｙｉの元の整数Ｘｉを算出する。第１復号化部５５１の詳細な処理は、第１暗号化部５２２の処理と同様であるので、説明を省略する。
【００７５】
【数１２】
2014056392.tif 000014
【００７６】
なお、復号化部５５（第１復号化部５５１）は、復号化することによって得られた文字列から、所定文字列を除去する。すなわち、復号化部５５は、復号化することによって得られた文字列について、所定の文字列としての、ゼロ詰めにより付加された文字列、又は、メールアドレスに対応したユーザ名に対応する文字列を除去することにより、これらが連結される前の文字列に変換する。これにより、所定の文字列が除去された文字列、すなわち、暗号化される前の文字列Ｘｉが得られる。
【００７７】
第２置換部５６は、通信制御部５４により受信された電子メールの宛先及びメッセージ本文に含まれているメールアドレスのうち、所定ドメインのメールアドレスについて、当該メールアドレスのローカル部を構成する文字列を、復号化部５５により復号化された文字列Ｘｉに置換する。
【００７８】
記憶制御部５７は、第２置換部５６によりローカル部が置換された電子メールをメールボックス３１に記憶させる。
【００７９】
受信要求受付部５８は、端末２から、電子メールの受信要求を受け付ける。受信要求は、アカウント情報を含んでいる。受信要求受付部５８は、受信要求に含まれるアカウント情報と、記憶部３０に記憶されているアカウント情報との照合を行う。続いて、受信要求受付部５８は、一致するアカウント情報がある場合、当該アカウント情報に関連付けられている所定ドメインのメールアドレスを特定する。続いて、受信要求受付部５８は、特定されたメールアドレスを宛先とする電子メールをメールボックス３１から抽出し、受信要求を行った端末２に当該電子メールを送信する。
【００８０】
続いて、図５から図８を参照して、メールサーバ１における処理の流れを説明する。
図５は、本実施形態に係るメールサーバ１において、電子メールの送信に係る処理の流れを示すフローチャートである。
【００８１】
ステップＳ１において、制御部５０（送信要求受付部５１）は、端末２から電子メールの送信要求を受け付ける。
ステップＳ２において、制御部５０（送信要求受付部５１）は、宛先に所定ドメインのメールアドレスが含まれているか否かを判定する。制御部５０（送信要求受付部５１）は、この判定がＹＥＳの場合、ステップＳ３に処理を移す。また、制御部５０は、この判定がＮＯの場合、ステップＳ４に処理を移す。
【００８２】
ステップＳ３において、制御部５０（送信要求受付部５１）は、送信要求が行われている電子メールをメールボックス３１に記憶させる。
ステップＳ４において、制御部５０（送信要求受付部５１）は、宛先に含まれているメールアドレスが所定ドメインのメールアドレスのみか否かを判定する。制御部５０（送信要求受付部５１）は、この判定がＹＥＳの場合、本フローチャートに係る処理を終了する。制御部５０（送信要求受付部５１）は、この判定がＮＯの場合、ステップＳ５に処理を移す。
【００８３】
ステップＳ５において、制御部５０（暗号化部５２）は、送信対象の電子メールに含まれている所定ドメインのメールアドレスのローカル部を構成する文字列の暗号化を行うことで、当該文字列の変換を行う。
【００８４】
具体的には、制御部５０（暗号化部５２）は、送信対象の電子メールの送信元のメールアドレスのローカル部を構成する文字列の暗号化を行う。また、制御部５０（暗号化部５２）は、送信対象の電子メールの宛先に所定ドメインのメールアドレスが含まれている場合、当該メールアドレスのローカル部を構成する文字列の暗号化を行う。また、制御部５０（暗号化部５２）は、送信対象の電子メールのメッセージ本文に所定ドメインのメールアドレスが含まれている場合、当該メールアドレスのローカル部を構成する文字列の暗号化を行う。ステップＳ５における暗号化の処理は、図６で詳述する。
【００８５】
ステップＳ６において、制御部５０（第１置換部５３）は、送信対象の電子メールに含まれている所定ドメインのメールアドレスのローカル部を構成する文字列を、ステップＳ５によって変換された文字列に置換する。
【００８６】
具体的には、制御部５０（第１置換部５３）は、送信対象の電子メールの送信元のメールアドレスのローカル部の文字列を、ステップＳ５によって変換された文字列に置換する。また、制御部５０（第１置換部５３）は、送信対象の電子メールの宛先に含まれている所定ドメインのメールアドレスのローカル部を構成する文字列を、ステップＳ５によって変換された文字列に置換する。また、制御部５０（第１置換部５３）は、送信対象の電子メールのメッセージ本文に含まれている所定ドメインのメールアドレスを、ステップＳ５によって変換された文字列に置換する。
【００８７】
ステップＳ７において、制御部５０（通信制御部５４）は、ステップＳ６においてローカル部の文字列が置換された電子メールを、送信先のメールアドレスのドメインに基づいて送信する。
【００８８】
図６は、図５のステップＳ５に示される暗号化処理の詳細な流れを示すフローチャートである。
【００８９】
ステップＳ５１において、制御部５０（第１暗号化部５２２）は、整数Ｅの２進数展開を行い、この展開式に基づいて、整数ＸｉのＥ乗を、この整数Ｘｉの２ｋのべき乗の積に展開する。
【００９０】
ステップＳ５２において、制御部５０（第１暗号化部５２２）は、ｋを０に設定する。
ステップＳ５３において、制御部５０（第１暗号化部５２２）は、整数Ｘｉの２ｋ乗を、積Ｎで除算した場合の剰余を算出する。具体的には、制御部５０（第１暗号化部５２２）は、直前に算出した整数Ｘｉの２ｋ−１乗を積Ｎで除算した場合の剰余を２乗し、更にこの値を積Ｎで除算した場合の剰余を算出する。また、制御部５０（第１暗号化部５２２）は、整数Ｘｉを、桁あふれが生じないように上述の（５）式に基づいて、複数の整数の和に変換し、変換された整数に基づいて、整数Ｘｉの２ｋ乗を積Ｎで除算した場合の剰余を算出する。
【００９１】
ステップＳ５４において、制御部５０（第１暗号化部５２２）は、ｋに１を加算する。
ステップＳ５５において、制御部５０（第１暗号化部５２２）は、ｋがｎより大きいか否かを判定する。制御部５０（第１暗号化部５２２）は、この判定がＹＥＳの場合、処理をステップＳ５６に移し、この判定がＮＯの場合、処理をステップＳ５３に移す。
【００９２】
ステップＳ５６において、制御部５０（第１暗号化部５２２）は、ステップＳ５３で算出した剰余に基づいて、整数ＸｉのＥ乗を、積Ｎで除算した場合の剰余を暗号化数Ｙｉとして算出する。
【００９３】
ステップＳ５７において、制御部５０（第２暗号化部５２３）は、記憶部３０に記憶されている鍵Ｒｉを用いて、（９）式に基づいて、暗号化数Ｙｉの換字式暗号を行い、整数Ｙｉ’を算出する。
【００９４】
図７は、本実施形態に係るメールサーバ１において、電子メールの受信に係る処理の流れを示すフローチャートである。
【００９５】
ステップＳ１１において、制御部５０（通信制御部５４）は、外部装置から所定ドメインのメールアドレスを宛先に含む電子メールを受信する。
【００９６】
ステップＳ１２において、制御部５０（復号化部５５）は、ステップＳ１１において受信された電子メールに含まれている所定ドメインのメールアドレスのローカル部を構成する文字列の復号化を行う。
【００９７】
具体的には、制御部５０（復号化部５５）は、通信制御部５４により受信された電子メールの宛先に含まれている所定ドメインのメールアドレスのローカル部を構成する文字列の復号化を行い、当該文字列の変換を行う。また、復号化部５５は、通信制御部５４により受信された電子メールのメッセージ本文に含まれている、所定ドメインのメールアドレスのローカル部を構成する文字列の復号化を行い、当該文字列の変換を行う。
【００９８】
ステップＳ１３において、制御部５０（第２置換部５６）は、ステップＳ１１において受信した電子メールの宛先及びメッセージ本文に含まれている所定ドメインのメールアドレスのローカル部を構成する文字列を、ステップＳ１２において復号化された文字列に置換する。
【００９９】
ステップＳ１４において、制御部５０（記憶制御部５７）は、ステップＳ１３においてローカル部が置換された電子メールをメールボックス３１に記憶させる。メールボックス３１に記憶された電子メールは、受信要求受付部５８により端末２から受信要求を受け付け、当該受信要求に含まれるアカウント情報が正当なものである場合に、当該端末２に対して送信される。
【０１００】
図８は、図７のステップＳ１２に示される復号化処理の詳細な流れを示すフローチャートである。
【０１０１】
ステップＳ１２１において、制御部５０（第２復号化部５５２）は、記憶部３０に記憶されている鍵Ｒｉを用いて、上述の（１１）式に基づいて、第２暗号化部５２３により換字式暗号された整数Ｙｉ’から、暗号化数Ｙｉを算出する。
【０１０２】
ステップＳ１２２において、制御部５０（第１復号化部５５１）は、暗号化数Ｙｉの２進数展開を行い、この展開式に基づいて、暗号化数ＹｉのＦ乗を、この暗号化数Ｙｉの２ｋのべき乗の積に展開する。
【０１０３】
ステップＳ１２３において、制御部５０（第１復号化部５５１）は、ｋを０に設定する。
ステップＳ１２４において、制御部５０（第１復号化部５５１）は、暗号化数Ｙｉの２ｋ乗を、積Ｎで除算した場合の剰余を算出する。具体的には、制御部５０（第１復号化部５５１）は、直前に算出した暗号化数Ｙｉの２ｋ−１乗を積Ｎで除算した場合の剰余を２乗し、更にこの値を積Ｎで除算した場合の剰余を算出する。また、制御部５０（第１復号化部５５１）は、暗号化数Ｙｉを、桁あふれが生じないように上述の（１０）式に基づいて複数の整数の和に変換し、変換された整数に基づいて、暗号化数Ｙｉの２ｋ乗を積Ｎで除算した場合の剰余を算出する。
【０１０４】
ステップＳ１２５において、制御部５０（第１復号化部５５１）は、ｋに１を加算する。
ステップＳ１２６において、制御部５０（第１復号化部５５１）は、ｋがｎより大きいか否かを判定する。制御部５０（第１復号化部５５１）は、この判定がＹＥＳの場合、処理をステップＳ１２７に移し、この判定がＮＯの場合、処理をステップＳ１２４に移す。
【０１０５】
ステップＳ１２７において、制御部５０（第１復号化部５５１）は、ステップＳ１２４で算出した剰余に基づいて、暗号化数ＹｉのＦ乗を、積Ｎで除算した場合の剰余を整数Ｘｉとして算出（復号）する。
【０１０６】
以上、本実施形態によれば、メールサーバ１は、暗号化部５２により送信対象の電子メールの送信元のメールアドレスのローカル部の文字列の暗号化を行い、第１置換部５３により、送信対象の電子メールのローカル部を暗号化された文字列に置換し、復号化部５５により、受信された電子メールの宛先のメールアドレスのうち、所定ドメインに対応するメールアドレスのローカル部の文字列の復号化を行い、第２置換部５６により、受信された電子メールのローカル部を復号化された文字列に置換する。
【０１０７】
このようにすることで、メールサーバ１は、既存のメールアドレスを含む電子メールについて、インターネットを介して外部装置に送信する場合に、ローカル部の暗号化を行ったうえで送信することができる。これにより、例えば、既存のメールアドレスのローカル部が短い桁数（例えば６桁）であっても、暗号化によって、ローカル部の文字列を、長い桁数の文字列に変換することができる。よって、メールサーバ１は、既存のメールアドレスを利用しつつ、簡易的にセキュリティを向上させることができる。
【０１０８】
また、メールサーバ１は、暗号化部５２により、送信要求受付部５１により受け付けた電子メールの送信元のメールアドレスのローカル部の文字列に所定の文字列を連結し、連結された文字列の暗号化を行い、第２置換部５６により、復号化部５５により復号化された文字列から所定の文字列を除去し、通信制御部５４により受信された電子メールのローカル部を、所定の文字列が除去された文字列に置換する。
【０１０９】
このようにすることで、メールサーバ１は、所定桁数の文字列をそのまま暗号化する場合に比べて、文字列を連結するという工程を付加することによって、より複雑な暗号化を行い、メールアドレスのセキュリティを高めることができる。
【０１１０】
また、メールサーバ１は、送信要求受付部５１により、受け付けた電子メールの宛先に所定ドメインのメールアドレスが含まれている場合、当該電子メールを記憶部３０に直接記憶させる。
【０１１１】
所定ドメインのメールアドレスが宛先として含まれている場合、社内メールである。この場合においては、従来通り、メールアドレスを変換せずに記憶部３０に電子メールを記憶させるので、メールサーバ１は、当該宛先とされたユーザ、すなわち、社内ユーザに、従来通りメールを利用させることができる。
【０１１２】
以上、本発明の実施形態について説明したが、本発明は本実施形態に限定されるものではなく、本発明の目的を達成できる範囲での変形、改良等は本発明に含まれるものである。
【０１１３】
上述した実施形態では、メールサーバ１がメールアドレスのローカル部の暗号化及び復号化を行うこととしたが、これに限らない。例えば、ゲートウェイサーバにおいてメールアドレスのローカル部の暗号化及び復号化を行うこととしてもよい。
【符号の説明】
【０１１４】
１  メールサーバ
１０  表示部
２０  入力部
３０  記憶部
４０  通信部
５０  制御部
５１  送信要求受付部
５２  暗号化部
５２１  鍵生成部
５２２  第１暗号化部
５２３  第２暗号化部
５３  第１置換部
５４  通信制御部
５５  復号化部
５５１  第１復号化部
５５２  第２復号化部
５６  第２置換部
５７  記憶制御部
５８  受信要求受付部
【図１】
2014056392.tif 000015
【図２】
2014056392.tif 000016
【図３】
2014056392.tif 000017
【図４】
2014056392.tif 000018
【図５】
2014056392.tif 000019
【図６】
2014056392.tif 000020
【図７】
2014056392.tif 000021
【図８】
2014056392.tif 000022