説明

暗号化メッセージ送信装置、プログラム、暗号化メッセージ送信方法および認証システム

【課題】通信の安全性を確保する。情報の改竄を簡単に検知する。
【解決手段】ユーザに伝達すべきメッセージを決定するメッセージ決定部と、ユーザが所有するトークン画像または前記ユーザにより生成されるトークン画像と組み合わされることによって、メッセージをユーザに視認可能にするサーバ画像を生成するサーバ画像生成部と、サーバ画像をユーザに送信する送信部とを備える暗号化メッセージ送信装置を提供する。この場合、チャレンジキーをランダムに生成するチャレンジキー生成部をさらに備え、サーバ画像生成部は、ユーザとの間で予め共有されているトークン、およびチャレンジキーに基づいて、サーバ画像を生成し、送信部は、サーバ画像とともにチャレンジキーを送信してよい。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、暗号化メッセージ送信装置、プログラム、暗号化メッセージ送信方法および認証システムに関する。
【背景技術】
【0002】
黒または白(透過)のピクセルからなる画像を、2つのランダム化したピクセル情報に分割して、元画像を暗号化する画像暗号化の技術が知られている(非特許文献1)。当該画像暗号化技術において、2つの分割画像(シェア)の各ピクセルは、黒または白でランダム化され、一方のシェアだけでは元画像を見ることはできない。しかし、2つのシェアを重ねると元画像を見ることができる。なお、本明細書において、光を透過させないピクセルを「黒」表記し、光を透過させるピクセルを「白」と表記する。
【先行技術文献】
【非特許文献】
【0003】
【非特許文献1】Moni Naor、Adi Shamir著、「Visual Cryptography」、EUROCRYPT 1994、1〜12ページ、1994年
【発明の概要】
【発明が解決しようとする課題】
【0004】
画像暗号化の技術を利用してメッセージをセキュアに通信する場合、送受信する双方で一方のシェアを秘密に保持し、他方のシェアをセキュアでない伝送路を用いて送信する。そして受信側では、秘密に保持したシェアと受信したシェアとを重ねてメッセージを読み取ることができる。しかし、一度用いたシェアを、繰り返し使うことは好ましくない。すなわち、傍受された複数のシェアから、セキュアに保持したシェアの情報を暴くことができるようになり、通信の安全性を確保することが難しくなる。また、傍受されたシェアが改竄されたとしても、受信者は、情報の改竄を簡単に検知することはできない。
【課題を解決するための手段】
【0005】
上記課題を解決するために、本発明の第1の態様においては、ユーザに伝達すべきメッセージを決定するメッセージ決定部と、ユーザが所有するトークン画像または前記ユーザにより生成されるトークン画像と組み合わされることによって、メッセージをユーザに視認可能にするサーバ画像を生成するサーバ画像生成部と、サーバ画像をユーザに送信する送信部とを備える暗号化メッセージ送信装置を提供する。サーバ画像生成部は、トークン画像とビット単位に排他的論理和または論理和されることによってメッセージをユーザに視認可能にするサーバ画像を生成してよい。
【0006】
上記暗号化メッセージ送信装置において、ユーザ識別情報を受信する受信部と、ユーザ識別情報に対応づけて、トークン画像を生成するためのトークンを格納しているトークン格納部をさらに備え、サーバ画像生成部は、受信部が受信したユーザ識別情報に対応づけてトークン格納部に格納されているトークンから生成されたトークン画像に基づいて、サーバ画像を生成してよい。メッセージ決定部は、送信部が送信した複数のサーバ画像にそれぞれ含まれる複数の記号をオーバーラップさせた場合に当該オーバーラップした部分が同じ形状になる記号の組み合わせとしてメッセージを決定してよい。サーバ画像生成部は、複数のセルからなる画像としてサーバ画像を生成し、複数のセルのうち一部のセルの各々に記号の1つを配置し、記号が1つ配置された各セルにおいてオーバーラップした部分が同じ位置になるよう記号を配置してよい。記号が占めるピクセルおよび記号が占めるピクセル以外のピクセルを含む一のセルのすべてのピクセルの色は、いずれかの他のセルの対応するピクセルの色と同一であり、他のセルは、一のセルと同一の記号を含み、一のセルと他のセルとは、同一のトークン画像に基づいて生成された異なる複数のサーバ画像において同一の位置にあってよい。サーバ画像生成部は、複数のピクセルからなる画像として各セルにおける画像を生成し、複数のピクセルは、白色または黒色であり、各セルにおいて、記号が占めるピクセル以外の各ピクセルについて、ユーザとの間で予め共有されているトークン、セルの位置および記号をシードとする乱数発生により各ピクセルの色を決定してよい。複数のセルのうち、メッセージを構成する記号が配置された一部のセルを除く他のセルの何れかに、メッセージを構成しない偽記号を配置してよい。
【0007】
トークン画像およびサーバ画像は、複数のピクセルを有し、サーバ画像生成部は、トークン画像とサーバ画像とが組み合わされた場合にメッセージを形成する部分のピクセルが、トークン画像とサーバ画像とで異なる色となるサーバ画像を生成してよい。サーバ画像生成部は、略等しい数の黒色のピクセルと白色のピクセルとを有するサーバ画像を生成してよい。サーバ画像生成部は、トークン画像とサーバ画像とが組み合わされた場合に、メッセージを形成する部分以外のピクセルの略75%を黒色で略25%を白色にすべく、サーバ画像を生成してよい。
【0008】
あるいは、チャレンジキーをランダムに生成するチャレンジキー生成部をさらに備え、サーバ画像生成部は、ユーザとの間で予め共有されているトークン、およびチャレンジキーに基づいて、サーバ画像を生成し、送信部は、サーバ画像とともにチャレンジキーを送信してよい。送信部は、サーバ画像および前記チャレンジキーのメッセージ認証コード(MAC)をさらに送信してよい。暗号化メッセージ送信装置およびユーザの端末は、ユーザのリクエストごとにトークン画像を生成し、サーバ画像生成部は、ユーザからのリクエストごとに異なるサーバ画像を生成してよい。メッセージに基づいて、カラー画像または白黒画像であるターゲット画像を生成するターゲット画像生成部をさらに備え、サーバ画像生成部は、ターゲット画像とトークン画像とからサーバ画像を生成し、ユーザの端末は、トークン画像とサーバ画像とをビット単位に排他的論理和することによって、メッセージがユーザに視認可能な画像を生成してよい。
【0009】
なお、上記暗号化メッセージ送信装置は、上記暗号化メッセージ送信装置として機能させるためのプログラムとして把握することもでき、暗号化メッセージ送信方法として把握することもできる。あるいは、ユーザに伝達すべきメッセージを決定するメッセージ決定部と、ユーザが所有するトークン画像または前記ユーザにより生成されるトークン画像と組み合わされることによって、メッセージをユーザに視認可能にするサーバ画像を生成するサーバ画像生成部と、サーバ画像をユーザに送信する送信部とを備える暗号化メッセージ送信装置、およびサーバ画像を受け取り、当該サーバ画像とトークン画像と組み合わせることによってメッセージを解読する受信装置、を備えた認証システムとして把握することができ、この場合、ユーザが所有する2つのトークンまたはトークン画像(2つのトークン、2つのトークン画像、または1つのトークンおよび1つのトークン画像)のそれぞれに基づき、上記前記暗号化メッセージ送信装置によって生成された2つのサーバ画像のそれぞれから解読された第1情報および第2情報、並びにユーザによって選択されたパスワードに基づく第3情報から選択された2つの情報に基づいて、ユーザを認証する。上記の発明の概要は、本発明の必要な特徴の全てを列挙したものではない。また、これらの特徴群のサブコンビネーションもまた、発明となりうる。
【図面の簡単な説明】
【0010】
【図1】本実施形態の暗号化メッセージ送信装置が適用可能なネットワークシステム100の一例を示す。
【図2】本実施形態の暗号化メッセージ送信装置を用いた通信システム200を示す。
【図3】通信システム200における通信方法の一例を示す。
【図4】記号の一例を示す。
【図5】記号の一例を示す。
【図6】記号の一例を示す。
【図7】記号が重ねられた場合の一例を示す。
【図8】異なるサーバ画像Isを重ねた時の画像の一例を示す。
【図9】同一位置のセルに同一の記号が配置された場合の異なるサーバ画像Isを重ねた時の画像の一例を示す。
【図10】サーバ画像Isとスタティックトークン画像Itsとを組み合わせる様子を示す。
【図11】サーバ画像Isとスタティックトークン画像Itsとを組み合わせる途中の状態を示す。
【図12】サーバ画像Isとスタティックトークン画像Itsとの組み合わせが完了したオーバーラップ画像Ioを示す。
【図13】他の実施形態の暗号化メッセージ送信装置を用いた通信システム900を示す。
【図14】通信システム900における通信方法の一例を示す。
【図15】通信システム900における通信方法の一例を示す。
【図16】メッセージMを表示する態様の一例を示す。
【図17】メッセージMを表示する態様の一例を示す。
【発明を実施するための形態】
【0011】
以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は特許請求の範囲にかかる発明を限定するものではない。また、実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
【0012】
以下の実施形態において、「画像」と表現する場合、紙等に印刷した画像はもとより、コンピュータシステム等によって処理され、液晶表示パネル等によって表示されて画像と認識される画像データも「画像」の概念に含む。この場合、画像データは、所定ビット数の一群のデジタルデータとして一つの画像を表すものであっても、一群のデータが逐次処理されて一連の画像データと認識できる限りにおいて、全ての画像データが記憶のために格納される必要はない。すなわち、画像データとして処理するために一部のデータが生成され、逐次処理されて、その後記録されることなく破棄されるものであってもよい。
【0013】
図1は、本実施形態の暗号化メッセージ送信装置が適用可能なネットワークシステム100の一例を示す。ネットワークシステム100は、暗号化メッセージ送信装置の一例であるリモート認証サーバ110、サービスサーバ120、クライアント群130およびネットワーク140を含む。クライアント群130には、パーソナルコンピュータ132、情報携帯端末134、携帯電話136を含んでよい。リモート認証サーバ110、サービスサーバ120およびクライアント群130に含まれる各機器は、通信機能を備え、ネットワーク140を介して相互にメッセージを交換できる。
【0014】
リモート認証サーバ110は、クライアント群130からのパスワード要求に応じてワンタイムパスワードを生成し、当該ワンタイムパスワードを組み込んだ暗号化イメージを生成して、クライアント群130の要求元に返送する。要求元では、暗号化イメージとキー画像とを用いてワンタイムパスワードを読み取り、読み取ったワンタイムパスワードをサービスサーバ120のログイン画面に入力して認証を要求する。サービスサーバ120は、入力されたワンタイムパスワードとともにリモート認証要求をリモート認証サーバ110に送信し、要求元の認証をリモート認証サーバ110に委任する。リモート認証サーバ110は、送信されたワンタイムパスワードを認証し、認証が成功したか失敗したかをサービスサーバ120に通知する。他の例では、サービスサーバ120は、要求元からの認証要求を、リモート認証サーバ110へ向け直し(リダイレクト)してもよい。この場合には、リモート認証サーバ110は、入力されたワンタイムパスワードの認証が完了した後、要求元をサービスサーバ120にリダイレクトする。
【0015】
サービスサーバ120は、パスワード要求を発した要求元に認証が成功したか失敗したかを送信し、要求元からのサービス要求に応じてサービスを提供する。リモート認証サーバ110とサービスサーバ120とは一つのシステムであってよく、リモート認証に代えてサービスサーバ120が認証してもよい。サービスサーバ120のサービスは任意であり、認証を要求する限りサービスを提供するものでなくてもよい。
【0016】
図2は、本実施形態の暗号化メッセージ送信装置を用いた通信システム200を示す。通信システム200の例では、暗号および復号に用いる秘密のキー画像がスタティックな場合を説明する。
【0017】
通信システム200は、リモート認証サーバ110の一部機能として提供される暗号化メッセージ送信装置210およびクライアント群130の一部機能として提供される受信装置250を備える。暗号化メッセージ送信装置210は、受信部212、メッセージ決定部214、ターゲット画像生成部216、トークン格納部218、サーバ画像生成部220、送信部222および乱数発生部224を有する。受信装置250は、送信部252、受信部254、トークン画像格納部256、画像重ね合わせ部258およびメッセージ表示部260を有する。
【0018】
受信部212は、受信装置250からのチャレンジリクエストを受信する。チャレンジリクエストには受信装置250を使用するユーザの識別情報、たとえばユーザIDを含めることができる。すなわち、受信部212は、ユーザ識別情報を受信する。ここで、チャレンジリクエストは、たとえば認証のためのワンタイムパスワードの送信要求が例示できる。
【0019】
メッセージ決定部214は、ユーザからのチャレンジリクエストに応答して、ユーザに伝達すべきメッセージMを決定する。メッセージMは、セキュアに受信装置250に伝送することを意図する情報であり、たとえばユーザの認証に用いるワンタイムパスワードが例示できる。ターゲット画像生成部216は、決定されたメッセージMに基づくターゲット画像Itを生成する。
【0020】
トークン格納部218は、ユーザ識別情報の一例であるユーザIDに対応づけて、スタティックトークン画像Itsを格納する。トークン格納部218は、ユーザとの間で共有されている画像をスタティックトークン画像Itsとして格納してよい。他の例においては、スタティックトークン画像Itsの代わりに、ユーザとの間で予め共有されているトークン、たとえば乱数列を格納し、乱数発生のシードとしてトークンを使うことで、トークンからスタティックトークン画像Itsを生成してもよい。
【0021】
サーバ画像生成部220は、ユーザが所有するスタティックトークン画像Itsと重ね合わされて組み合わされることによって、メッセージMをユーザに視認可能にするサーバ画像Isを生成する。サーバ画像生成部220は、受信部212が受信したユーザIDに対応づけてトークン格納部218に格納されているスタティックトークン画像Itsに基づいて、サーバ画像Isを生成する。送信部222は、サーバ画像Isをユーザに送信する。
【0022】
送信部252は、ユーザIDとともにチャレンジリクエストを送信する。受信部254は、サーバ画像Isを受信する。トークン画像格納部256は、ユーザのスタティックトークン画像Itsを格納する。トークン画像格納部256が格納するスタティックトークン画像Itsは、暗号化メッセージ送信装置210のトークン格納部218が格納するスタティックトークン画像Itsと同じである。
【0023】
画像重ね合わせ部258は、受信部254が受信したサーバ画像Isとトークン画像格納部256が格納するスタティックトークン画像Itsとを重ね合わせる。メッセージ表示部260は、サーバ画像Isとスタティックトークン画像Itsとを重ね合わせたオーバーラップ画像Ioを表示する。
【0024】
図3は、通信システム200における通信方法の一例を示す。以下の説明において、暗号化メッセージ送信装置210による処理をサーバ処理として、受信装置250による処理をクライアント処理として説明する。
【0025】
クライアントとサーバは、ユーザごとの秘密のトークンとして、スタティックトークン画像Itsを共有している。スタティックトークン画像Itsに代えて、スタティックトークン画像Itsを生成するためのシードを保持してもよい。
【0026】
サーバは、記号を用いてメッセージMを生成してよい。記号は、複数の記号からなる記号セットから選択される。記号セットは、任意の2つの記号を選択した場合、選択された記号ペアのオーバーラップしたピクセル領域が常に同じになるよう構成される。たとえば、記号セットが、「o」、「8」、「g」、「p」、「q」、「b」および「d」である場合、オーバーラップした記号は「o」であり、常に等しい。図4、図5および図6は、オーバーラップしたピクセル領域が常に同じになる記号の例である「p」、「q」および「8」を示す。いずれの記号も「o」に相当するピクセル領域を有し、これを重ねると図7のようになる。つまりいずれの記号も共通のオーバーラップ領域である「o」を有する。このような記号セットを用いることにより、暗号を破ろうとする攻撃者に秘密のスタティックトークン画像Itsの一部を推定させることを防止できる。
【0027】
ターゲット画像It、スタティックトークン画像Itsおよびサーバ画像Isは同じサイズであり、i×jのセルに分割される。各セルはn×mのピクセルで構成される。各ピクセルは、黒または白の何れかであってよい。
【0028】
まず、クライアントは、サーバにチャレンジのリクエストを送信する(ステップ302)。リクエストには、ユーザIDを含める。サーバは、リクエストを受信し(ステップ304)、メッセージMを決定する(ステップ306)。
【0029】
サーバは、さらにメッセージMからターゲット画像Itを生成する(ステップ308)。ターゲット画像Itは、i×jの各セルにメッセージMを構成する各記号を配置して生成する。記号が配置されないセルはブランクのまま残してよい。
【0030】
サーバは、スタティックトークン画像Itsを取得する(ステップ310)。スタティックトークン画像Itsは、それがトークン格納部218に記録されている場合は読み出すことにより、スタティックトークン画像Itsを生成するに必要なシードが記録されている場合には、シードから擬似乱数を発生させることによりスタティックトークン画像Itsを生成できる。
【0031】
サーバは、ターゲット画像Itとスタティックトークン画像Itsとからサーバ画像Isを生成する(ステップ312)。サーバは、サーバ画像Isを、セルごとに生成する。ターゲット画像Itの着目するセルが記号を含まないとき、サーバ画像Isの当該セル内の各ピクセルには黒か白をランダムにセットする。ターゲット画像Itの着目するセルが記号を含むとき、各セルにおけるサーバ画像Isの生成は、ピクセルごとに以下の手順で行う。ターゲット画像Itの着目するピクセルが白のとき、乱数発生部224が発生する擬似乱数を用いて、当該ピクセルを黒か白の何れかにランダムにセットする。ターゲット画像Itの着目するピクセルが黒のとき、スタティックトークン画像Itsの該当ピクセルが白なら、サーバ画像Isの該当ピクセルを黒にセットし、スタティックトークン画像Itsの該当ピクセルが黒なら、サーバ画像Isの該当ピクセルを白にセットする。
【0032】
すなわち、スタティックトークン画像Itsおよびサーバ画像Isは、複数のピクセルを有し、複数のピクセルは、白色または黒色であり、サーバ画像生成部220では、サーバ画像Isが、スタティックトークン画像Itsとサーバ画像Isが重ね合わされた場合にメッセージMを形成する部分のピクセルが、スタティックトークン画像Itsとサーバ画像Isとで異なる色となるようサーバ画像Isを生成する。
【0033】
なお、各セルにおいて記号のオーバーラップした部分が常に同じ位置になるよう記号を配置する。これにより複数のサーバ画像Isが重ねられたとしても図8に示すような記号のオーバーラップした共通部分だけであり、その他の知識を攻撃者に与えることはない。また、乱数発生部224に、記号識別子、画像内のセルの位置およびスタティックトークン画像Itsのビットを組み合わせたシードをセットすることができる。これにより、対応するセルの同一の位置に同一の記号が配置された異なるサーバ画像Isが重ね合わされた場合、記号の一部になるピクセルと背景の一部になるピクセルとのいずれであっても、そのセルに生成されるピクセルパターンはまったく同じになる。この結果、複数のサーバ画像Isを重ねた画像は図9に示すように当該部分で50%の透過率を示すだけであり、攻撃者に有用な知識を与えることはない。
【0034】
なお、メッセージMの記号が配置されていないサーバ画像Isのセルに、偽メッセージの偽記号を組み込んでも良い。偽メッセージの偽記号は、記号セットから再度ランダムに記号を選択することで生成できる。偽メッセージを構成する偽記号は、ターゲット画像Itの空セルに配置できる。この場合、偽記号が配置されたセルに対する乱数の発生は、乱数発生部224に、記号識別子、画像内のセル位置およびスタティックトークン画像Itsに対応づけて格納されている偽メッセージ用のランダムキーを組み合わせたシードをセットすることで実現できる。このような偽メッセージにより、より強い暗号強度を提供できる。また、上記の暗号方法では、通信途中でサーバ画像Isに対し改竄が行われたとしても、多くの場合、記号の形成領域に連続した黒領域が生じるので、改竄の事実を視覚的に容易に検出することができる。
【0035】
サーバは、サーバ画像Isをクライアントに送信する(ステップ314)。クライアントは、受信したサーバ画像Isと保持するスタティックトークン画像Itsとを重ねる(ステップ316)。
【0036】
図10から図12は、サーバ画像Isとスタティックトークン画像Itsと重ね合わせる様子を示す。図10は、重ね合わせる前のサーバ画像Isおよびスタティックトークン画像Itsであり、各々略50%の開口率(全体のピクセル数に対する白のピクセル数の比率)であり、白または黒の各ピクセルはランダムに配置されている。よって、サーバ画像Isだけから情報を読み取ることはできない。
【0037】
図11は、サーバ画像Isとスタティックトークン画像Itsとを重ね合わせる途中の状態を示す。重ね合わされた領域のピクセルは、サーバ画像Isとスタティックトークン画像Itsの何れもが白である場合に白であり、何れかが黒であれば黒になる。よって重ねあわされた領域の開口率は、ほぼ25%になる。
【0038】
図12は、重ね合わせが完了したオーバーラップ画像Ioを示す。ターゲット画像ItのメッセージMの部分のピクセルは、100%が黒になるので、メッセージMである「qpg88g」の文字が容易に視認できる。すなわち、スタティックトークン画像Itsとサーバ画像Isとが重ね合わされた場合に、メッセージMを形成する部分以外のピクセルの略75%を黒色で略25%を白色にすべく、サーバ画像Isが生成される。
【0039】
クライアントは、重ね合わせにより生成されたオーバーラップ画像Ioを表示し(ステップ318)、ユーザにメッセージMを読み取らせる(ステップ320)。ユーザは読み取ったメッセージMをたとえばパスワードとして入力し、サービスサーバ等からサービスを受けることができる(ステップ322)。
【0040】
図13は、他の実施形態の暗号化メッセージ送信装置を用いた通信システム900を示す。通信システム900の例では、暗号および復号に用いる秘密のキー画像がダイナミックに変化する場合を説明する。通信システム900は、リモート認証サーバ110の一部機能として提供される暗号化メッセージ送信装置910およびクライアント群130の一部機能として提供される受信装置950を備える。
【0041】
暗号化メッセージ送信装置910は、受信部912、サーバチャレンジキー生成部914、トークン格納部916、シード生成部918、乱数発生部920、メッセージ決定・ターゲット画像生成部922、サーバ画像生成部924、MAC計算部926および送信部928を有する。受信装置950は、クライアントチャレンジキー生成部952、送信部954、受信部956、MAC計算部958、MAC照合部960、トークン格納部962、シード生成部964、乱数発生部966、画像組み合わせ部968およびメッセージ表示部970を有する。なお、ダイナミックトークンを格納する格納部を備えて、ダイナミックトークンを読み出してもよい。
【0042】
受信部912は、受信装置950からのチャレンジリクエストを受信する。チャレンジリクエストには、受信装置950のクライアントチャレンジキー生成部952が生成したクライアントチャレンジキーCKcを含める。またチャレンジリクエストには、ユーザの識別情報、たとえばユーザIDを含めることができる。
【0043】
サーバチャレンジキー生成部914は、サーバチャレンジキーCKsをランダムに生成する。サーバチャレンジキーCKsは、ユーザからのチャレンジ要求を処理する一連の動作の間、クライアントチャレンジキーCKcとともに利用される暗号化のためのパラメータである。サーバチャレンジキーCKsおよびクライアントチャレンジキーCKcは、一連の処理ごとにランダムに決定される。サーバチャレンジキーCKsは所定の寿命たとえば1分ごとに動的に変更されるものであってもよい。
【0044】
トークン格納部916は、ダイナミックトークンTdを格納する。ダイナミックトークンTdは、サーバである暗号化メッセージ送信装置910とクラインとである受信装置950との間で共有される。
【0045】
シード生成部918は、サーバチャレンジキーCKs、クライアントチャレンジキーCKcおよびダイナミックトークンTdを用いて擬似乱数発生用のシードSを生成する。
【0046】
乱数発生部920は、シード生成部918が生成したシードSを初期値として擬似乱数を発生する。乱数発生部920が出力するビットストリームは、ターゲット画像の幅のピクセル数と高さのピクセル数と各ピクセルが示すことができる色の深さの数とを乗算した長さを持ち、表示装置に所定の色の深さのピクセルに変換されれば1つの画像として視覚可能になり、ダイナミックトークン画像Itdとして利用される。
【0047】
メッセージ決定・ターゲット画像生成部922は、メッセージMを決定し、メッセージMに基づきターゲット画像Itを生成する。メッセージMは、通信システム200の場合とは異なり、記号セットから選択する必要はない。任意の文字、画像等をメッセージMとして選択できる。また、ターゲット画像Itとダイナミックトークン画像Itdとの色の深さの数が同一であれば、ターゲット画像It(メッセージM)は、必ずしも白および黒で構成される必要はない。ターゲット画像Itに何ら制限はなく、多数の色で構成されるカラー画像とすることもできる。
【0048】
サーバ画像生成部924は、ターゲット画像Itと、乱数発生部920が発生したビットストリームであるダイナミックトークン画像Itdとからサーバ画像Isを生成する。具体的には、サーバ画像生成部924は、ターゲット画像Itとダイナミックトークン画像Itdとをビット単位で排他的論理和(XOR)することにより、サーバ画像Isを生成する。ビットストリームはダイナミックトークンTdとサーバチャレンジキーCKsとクライアントチャレンジキーCKcとから生成されるシードSに基づき形成されるので、サーバ画像生成部924は、ユーザとの間で予め共有されているトークン(ダイナミックトークンTd)、およびチャレンジキー(サーバチャレンジキーCKsまたはクライアントチャレンジキーCKc)に基づいて、サーバ画像Isを生成する。
【0049】
MAC計算部926は、通信対象となるサーバ画像IsおよびサーバチャレンジキーCKsのメッセージ認証コード(MAC)を計算する。たとえばサーバ画像IsおよびサーバチャレンジキーCKsにクライアントチャレンジキーCKcを加えたメッセージに、ダイナミックトークンTdをキーとする鍵付きハッシュ関数を適用して計算できる。送信部928は、サーバ画像IsとともにサーバチャレンジキーCKsを送信する。また、MACを送信してもよい。MACはクライアントチャレンジキーCKcに対しても計算されてよい。MACは鍵付きハッシュ関数には限られない。
【0050】
クライアントチャレンジキー生成部952は、クライアントチャレンジキーCKcをランダムに生成する。クライアントチャレンジキーCKcは、ユーザからのチャレンジ要求を処理する一連の動作の間、サーバチャレンジキーCKsとともに利用される。
【0051】
送信部954は、ユーザIDおよびクライアントチャレンジキーCKcとともにチャレンジリクエストを送信する。受信部956は、サーバ画像Is、サーバチャレンジキーCKsおよびMACを受信する。
【0052】
MAC計算部958は、受信したサーバ画像IsおよびサーバチャレンジキーCKsと保持しているクライアントチャレンジキーCKcとからなるメッセージにダイナミックトークンTdをキーとする鍵付きハッシュ関数を適用して計算する。MAC照合部960は、MAC計算部958が計算したMACと受信部956が受信したMACとを比較し、異なる場合は処理を中断する。これにより通信途中でのメッセージの改竄を検出できる。
【0053】
トークン格納部962は、ダイナミックトークンTdを格納する。シード生成部964は、シードSを生成する。乱数発生部966は、シードSを初期値とする擬似乱数ビットストリームを、ダイナミックトークン画像Itdとして生成する。トークン格納部962、シード生成部964および乱数発生部966は、トークン格納部916、シード生成部918および乱数発生部920と同様である。
【0054】
画像組み合わせ部968は、受信部956が受信したサーバ画像Isと乱数発生部966が発生したダイナミックトークン画像Itdとから組み合わせ画像Icを生成する。具体的には、画像組み合わせ部968は、サーバ画像Isとダイナミックトークン画像Itdとをビット単位で排他的論理和(XOR)することにより、組み合わせ画像Icを生成する。メッセージ表示部970は、組み合わせ画像Icを表示する。この場合、組み合わせ画像Icは、ターゲット画像Itと同一である。なお、画像組み合わせ部968は、サーバ画像Isとダイナミックトークン画像Itdとをビット単位で論理和(OR)することで重ね合わせることにより、組み合わせ画像Icを生成してもよい。この場合、組み合わせ画像Icは、白または黒のピクセルだけで構成され、メッセージMを形成する部分のピクセルの100%が黒色になり、メッセージMを形成する部分以外のピクセルの略50%が黒色になる。
【0055】
図14および図15は、通信システム900における通信方法の一例を示す。以下の説明において、暗号化メッセージ送信装置910による処理をサーバ処理として、受信装置950による処理をクライアント処理として説明する。クライアントおよびサーバは、ユーザごとのランダム文字列であるダイナミックトークンTdを共有する。ダイナミックトークンTdは秘密に保持される。クライアントおよびサーバは、擬似乱数生成(PRNG)アルゴリズムとメッセージ認証コード(MAC)とを独立に利用する。クライアントおよびサーバは、同一のPRNGアルゴリズムおよび同一のMACアルゴリズム(たとえば、HMAC−SHA256)を利用することに同意している必要があり、PRNGは暗号的にセキュアであり決定論的である必要がある。
【0056】
クライアントは、ランダム文字列であるクライアントチャレンジキーCKcを生成する(ステップ1002)。クライアントは、サーバに、ユーザIDおよびクライアントチャレンジキーCKcとともにチャレンジをリクエストする(ステップ1004)。
【0057】
サーバは、リクエストを受信すると(ステップ1006)、サーバチャレンジキーCKsを生成する(ステップ1008)。サーバはさらに、ダイナミックトークンTdを呼び出し(ステップ1010)、クライアントチャレンジキーCKc、サーバチャレンジキーCKsおよびダイナミックトークンTdからシードSを生成する(ステップ1012)。シードSは、乱数発生部920の初期値にセットする(ステップ1014)。サーバは、乱数発生部920を動作させ、擬似乱数のビットストリームを発生させて、ダイナミックトークン画像Itdを生成する(ステップ1016)。
【0058】
サーバは、メッセージMを決定し(ステップ1018)、ターゲット画像Itを生成する(ステップ1020)。サーバはさらに、ターゲット画像Itとダイナミックトークン画像Itdとをビット単位で排他的論理和(XOR)することにより、サーバ画像Isを生成する(ステップ1022)。
【0059】
サーバは、ダイナミックトークンTdをキーとして用いて、サーバ画像Is、サーバチャレンジキーCKsおよびクライアントチャレンジキーCKcから、たとえばHMAC−SHA256によるMACを計算する(ステップ1024)。サーバは、サーバ画像Is、サーバチャレンジキーCKsおよびMACをクライアントに送信する(ステップ1026)。
【0060】
クライアントは、サーバ画像Is、サーバチャレンジキーCKsおよびMACをサーバから受け取り(ステップ1028)、ダイナミックトークンTdをキーとして用いて、受信したサーバ画像IsおよびサーバチャレンジキーCKsと保持しているクライアントチャレンジキーCKcとからMACを計算し、受信したMACと照合する(ステップ1030)。照合が合致しない場合は、処理を中断し、照合が合致する場合はステップ1032に進んで処理を継続する。
【0061】
クライアントは、クライアントチャレンジキーCKc、サーバチャレンジキーCKsおよびダイナミックトークンTdからシードSを生成し、シードSを乱数発生部966の初期値にセットし(ステップ1032)、擬似乱数のビットストリームを発生させて、ダイナミックトークン画像Itdを生成する(ステップ1034)。
【0062】
クライアントは、受信したサーバ画像Isとダイナミックトークン画像Itdとをビット単位で排他的論理和(XOR)し(ステップ1036)、生成された組み合わせ画像Icを表示し(ステップ1038)、ユーザにメッセージMを読み取らせる(ステップ1040)。ユーザは読み取ったメッセージMをたとえばパスワードとして入力し、サービスサーバ等からサービスを受けることができる(ステップ1042)。パスワードには読み取ったメッセージMに個人識別番号PINを追加することができる。
【0063】
通信システム900の例によれば、ダイナミックトークン画像Itdおよびサーバ画像Isの両方が、チャレンジリクエストのそれぞれに対してダイナミックに変化される。暗号的にセキュアな乱数発生部を用いることで、漏洩または傍受された過去のサーバ画像Isに基づいてダイナミックトークン画像Itdおよびサーバ画像Isが予測され得ないことを保証できる。また、サーバおよびクライアントが、各々ランダムなサーバチャレンジキーCKsおよびクライアントチャレンジキーCKcを発生させ、これを暗号化に用いるので、通信データを傍受して再現するリプレイアタックを防止できる。加えて、サーバ画像IsとともにMACを送るので、通信データが改竄され得ない。
【0064】
通信システム900で用いるダイナミックトークン画像Itdに通信システム200で説明したスタティックトークン画像Itsを組み合わせることができる。このような場合、ユーザによって選択されたパスワード、例えば個人識別番号PINを加えて3つの要素で個人識別をすることが可能であり、たとえば、通常は3つの要素のうち2つの要素で認証を行うよう運用できる。通常運用において、ダイナミックトークン画像ItdおよびPIN、またはスタティックトークン画像ItsおよびPINで認証を行っている場合、PINを紛失するとログインできなくなる。しかし3つの要素を組み合わせて認証できる場合には、ダイナミックトークン画像Itdおよびスタティックトークン画像Itsで認証してログインを許可し、新たなPINをログインユーザに発行することができる。また、ダイナミックトークンTdを再生成するために、3つの要素のうちの2つの要素が利用されてもよい。たとえば、新しいPCあるいはモバイルデバイスの場合、またはPCあるいはモバイルデバイスが紛失あるいは盗難された場合に、ダイナミックトークンTdの再生成が必要となる。これにより、好きなペットの名前は?あるいは母の旧姓は?のような予め定められた個人的な質問によってユーザを認証してダイナミックトークンTdを再発行するシステム、またはヘルプデスクに電話で問い合わせてダイナミックトークンTdを再発行してもらうシステムに比べて、より安全性の高いシステムが提供できる。
【0065】
図16および図17は、メッセージMを表示する態様の一例を示す。図16の例は、たとえばブラウザの表示例であり、ブラウザにパスワード入力フィールドとともにメッセージMが表示されている。ユーザは、メッセージMを読み取り、パスワード入力フィールドに読み取ったメッセージMをタイプして認証を要求できる。なお、認証に必要なパスワードには、メッセージMに加えて簡単な個人識別番号PINを要求してもよい。本実施形態の通信システム900を用いれば、安全なワンタイムパスワードをメッセージMとして提供することができるので、ユーザは複雑なパスワードを記憶する必要がない。
【0066】
図17は、携帯情報端末にメッセージMを表示する例を示す。たとえばパーソナルコンピュータを経由してサービスログインする場合に、ログイン認証用のワンタイムパスワードを、ログインおよびサービスに用いる通信経路とは異なる、携帯情報端末の通信経路を通じて提供できる。これによりセキュリティをさらに高めることができる。
【0067】
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更または改良を加えることが可能であることが当業者に明らかである。その様な変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
【0068】
特許請求の範囲、明細書、および図面中において示した装置、システム、プログラム、および方法における動作、手順、ステップ、および段階等の各処理の実行順序は、特段「より前に」、「先立って」等と明示しておらず、また、前の処理の出力を後の処理で用いるのでない限り、任意の順序で実現しうることに留意すべきである。特許請求の範囲、明細書、および図面中の動作フローに関して、便宜上「まず、」、「次に、」等を用いて説明したとしても、この順で実施することが必須であることを意味するものではない。
【符号の説明】
【0069】
100 ネットワークシステム
110 リモート認証サーバ
120 サービスサーバ
130 クライアント群
132 パーソナルコンピュータ
134 情報携帯端末
136 携帯電話
140 ネットワーク
200 通信システム
210 暗号化メッセージ送信装置
212 受信部
214 メッセージ決定部
216 ターゲット画像生成部
218 トークン格納部
220 サーバ画像生成部
222 送信部
224 乱数発生部
250 受信装置
252 送信部
254 受信部
256 トークン画像格納部
258 画像重ね合わせ部
260 メッセージ表示部
900 通信システム
910 暗号化メッセージ送信装置
912 受信部
914 サーバチャレンジキー生成部
916 トークン格納部
918 シード生成部
920 乱数発生部
922 メッセージ決定・ターゲット画像生成部
924 サーバ画像生成部
926 MAC計算部
928 送信部
950 受信装置
952 クライアントチャレンジキー生成部
954 送信部
956 受信部
958 MAC計算部
960 MAC照合部
962 トークン格納部
964 シード生成部
966 乱数発生部
968 画像組み合わせ部
970 メッセージ表示部
CKc クライアントチャレンジキー
CKs サーバチャレンジキー
Ic 組み合わせ画像
Io オーバーラップ画像
Is サーバ画像
It ターゲット画像
Itd ダイナミックトークン画像
Its スタティックトークン画像
M メッセージ
PIN 個人識別番号
S シード
Td ダイナミックトークン

【特許請求の範囲】
【請求項1】
ユーザに伝達すべきメッセージを決定するメッセージ決定部と、
前記ユーザが所有するトークン画像または前記ユーザにより生成されるトークン画像と組み合わされることによって前記メッセージを前記ユーザに視認可能にするサーバ画像を生成するサーバ画像生成部と、
前記サーバ画像を前記ユーザに送信する送信部と
を備える暗号化メッセージ送信装置。
【請求項2】
前記サーバ画像生成部は、前記トークン画像とビット単位に排他的論理和または論理和されることによって前記メッセージを前記ユーザに視認可能にする前記サーバ画像を生成する請求項1に記載の暗号化メッセージ送信装置。
【請求項3】
ユーザ識別情報を受信する受信部と、
前記ユーザ識別情報に対応づけて、前記トークン画像を生成するためのトークンを格納しているトークン格納部
をさらに備え、
前記サーバ画像生成部は、前記受信部が受信した前記ユーザ識別情報に対応づけて前記トークン格納部に格納されている前記トークンから生成された前記トークン画像に基づいて、前記サーバ画像を生成する請求項1または2に記載の暗号化メッセージ送信装置。
【請求項4】
前記メッセージ決定部は、前記送信部が送信した複数の前記サーバ画像にそれぞれ含まれる複数の記号をオーバーラップさせた場合に当該オーバーラップした部分が同じ形状になる記号の組み合わせとして前記メッセージを決定する請求項3に記載の暗号化メッセージ送信装置。
【請求項5】
前記サーバ画像生成部は、複数のセルからなる画像として前記サーバ画像を生成し、
前記複数のセルのうち一部のセルの各々に前記記号の1つを配置し、
前記記号が1つ配置された各セルにおいて前記オーバーラップした部分が同じ位置になるよう前記記号を配置する請求項4に記載の暗号化メッセージ送信装置。
【請求項6】
前記記号が占めるピクセルおよび前記記号が占めるピクセル以外のピクセルを含む一のセルのすべてのピクセルの色は、いずれかの他のセルの対応するピクセルの色と同一であり、
前記他のセルは、前記一のセルと同一の前記記号を含み、
前記一のセルと前記他のセルとは、同一の前記トークン画像に基づいて生成された異なる複数の前記サーバ画像において同一の位置にある請求項5に記載の暗号化メッセージ送信装置。
【請求項7】
前記サーバ画像生成部は、複数のピクセルからなる画像として前記各セルにおける画像を生成し、
前記複数のピクセルは、白色または黒色であり、
前記各セルにおいて、前記記号が占めるピクセル以外の各ピクセルについて、前記ユーザとの間で予め共有されている前記トークン、前記セルの位置および前記記号をシードとする乱数発生により前記各ピクセルの色を決定する請求項6に記載の暗号化メッセージ送信装置。
【請求項8】
前記複数のセルのうち、前記メッセージを構成する前記記号が配置された前記一部のセルを除く他のセルの何れかに、前記メッセージを構成しない偽記号を配置する請求項5または請求項6に記載の暗号化メッセージ送信装置。
【請求項9】
前記トークン画像および前記サーバ画像は、複数のピクセルを有し、
前記サーバ画像生成部は、前記トークン画像と前記サーバ画像とが組み合わされた場合に前記メッセージを形成する部分のピクセルが、前記トークン画像と前記サーバ画像とで異なる色となる前記サーバ画像を生成する請求項1から請求項8のいずれかに記載の暗号化メッセージ送信装置。
【請求項10】
前記サーバ画像生成部は、略等しい数の黒色のピクセルと白色のピクセルとを有する前記サーバ画像を生成する請求項9に記載の暗号化メッセージ送信装置。
【請求項11】
前記サーバ画像生成部は、前記トークン画像と前記サーバ画像とが組み合わされた場合に、前記メッセージを形成する部分以外のピクセルの略75%を黒色で略25%を白色にすべく、前記サーバ画像を生成する請求項10に記載の暗号化メッセージ送信装置。
【請求項12】
チャレンジキーをランダムに生成するチャレンジキー生成部
をさらに備え、
前記サーバ画像生成部は、前記ユーザとの間で予め共有されているトークン、および前記チャレンジキーに基づいて、前記サーバ画像を生成し、
前記送信部は、前記サーバ画像とともに前記チャレンジキーを送信する請求項3に記載の暗号化メッセージ送信装置。
【請求項13】
前記送信部は、前記サーバ画像および前記チャレンジキーのメッセージ認証コード(MAC)をさらに送信する請求項12に記載の暗号化メッセージ送信装置。
【請求項14】
前記暗号化メッセージ送信装置および前記ユーザの端末は、前記ユーザのリクエストごとに前記トークン画像を生成し、
前記サーバ画像生成部は、前記ユーザからのリクエストごとに異なる前記サーバ画像を生成する請求項13に記載の暗号化メッセージ送信装置。
【請求項15】
前記メッセージに基づいて、カラー画像または白黒画像であるターゲット画像を生成するターゲット画像生成部
をさらに備え、
前記サーバ画像生成部は、前記ターゲット画像と前記トークン画像とから前記サーバ画像を生成し、
前記ユーザの端末は、前記トークン画像と前記サーバ画像とをビット単位に排他的論理和することによって、前記メッセージが前記ユーザに視認可能な画像を生成する請求項14に記載の暗号化メッセージ送信装置。
【請求項16】
コンピュータを、請求項1から請求項15のいずれかに記載の暗号化メッセージ送信装置として機能させるためのプログラム。
【請求項17】
ユーザに伝達すべきメッセージを決定するメッセージ決定段階と、
前記ユーザが所有するトークン画像または前記ユーザにより生成されるトークン画像と組み合わされることによって、前記メッセージを前記ユーザに視認可能にするサーバ画像を生成するサーバ画像生成段階と、
前記サーバ画像を前記ユーザに送信する送信段階と
を備える暗号化メッセージ送信方法。
【請求項18】
ユーザが所有する2つのトークンまたはトークン画像のそれぞれに関連して、請求項1から請求項15のいずれかに記載の前記暗号化メッセージ送信装置によって生成された2つの前記サーバ画像のそれぞれから解読された第1情報および第2情報、並びに前記ユーザによって選択されたパスワードに基づく第3情報から選択された2つの情報に基づいて、前記ユーザを認証する認証システム。

【図2】
image rotate

【図3】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図1】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図16】
image rotate

【図17】
image rotate


【公開番号】特開2011−97192(P2011−97192A)
【公開日】平成23年5月12日(2011.5.12)
【国際特許分類】
【出願番号】特願2009−247103(P2009−247103)
【出願日】平成21年10月27日(2009.10.27)
【出願人】(509298218)HANAMARU株式会社 (1)
【Fターム(参考)】