(57)【要約】  データを安全化する方法であって、秘密鍵を複数の秘密鍵共有に分割すること；複数の秘密鍵共有のそれぞれを複数のサーバのうちの異なるサーバに記録することにより、いずれのサーバも、秘密鍵及び別のサーバに記録された秘密鍵共有にアクセスしないようにすること；複数のサーバに属するサーバを使用して安全計算プロトコルを実行することにより、複数のサーバをいずれも、秘密鍵及び別のサーバに記録された秘密鍵共有にアクセスさせずに、全ての複数の秘密鍵共有に応じた関数の値を判定すること；及び関数の計算値を使用してデータを安全化すること、を含む方法。【選択図】図１
2016502377.tif 000002
【特許請求の範囲】
【請求項１】
データを安全化する方法であって、
秘密鍵を複数の秘密鍵共有に分割すること、
前記複数の秘密鍵共有のそれぞれを複数のサーバのうちの異なるサーバに記録することにより、いずれの前記サーバも、前記秘密鍵及び別の前記サーバに記録された前記秘密鍵共有にアクセスしないようにすること、
前記複数のサーバに属するサーバを使用して安全計算プロトコルを実行することにより、前記複数のサーバをいずれも、前記秘密鍵及び別の前記サーバに記録された前記秘密鍵共有にアクセスさせずに、全ての前記複数の秘密鍵共有に応じた関数の値を判定すること、
及び前記関数の前記計算値を使用して前記データを安全化すること、を含む方法。
【請求項２】
前記計算値には前記データの暗号化が含まれる、請求項１に記載のデータを安全化する方法。
【請求項３】
前記計算値を使用して前記データを安全化することには、前記計算値を使用して、少なくとも１台の前記サーバが送信者から受信したパスワードが、前記秘密鍵を使用して生成されたか否かを判定した後、前記パスワードが前記秘密鍵を使用して生成されていると判定した場合かつその場合に限り、前記送信者による前記データへのアクセスを有効にすることが含まれる、請求項１に記載のデータを安全化する方法。
【請求項４】
前記パスワードには、前記秘密鍵を使用して生成されたワンタイム・パスワード（ＯＴＰ）が含まれる、請求項３に記載のデータを安全化する方法。
【請求項５】
前記秘密鍵には、前記秘密鍵を使用して生成された固定パスワードが含まれる、請求項３に記載のデータを安全化する方法。
【請求項６】
前記秘密鍵には、ケルベロス・プロトコルに使用される鍵が含まれ、前記計算値には、前記プロトコルが使用するチケット保証チケット（ＴＧＴ）の暗号化が含まれる、請求項１に記載のデータを安全化する方法。
【請求項７】
前記秘密鍵には、ケルベロス・プロトコルに使用される鍵が含まれ、前記計算値には、前記プロトコルが使用するサービスチケット（ＳＴ）の暗号化が含まれる、請求項１に記載のデータを安全化する方法。
【請求項８】
前記秘密鍵には生体特徴を表す特徴ベクトルが含まれる、請求項１に記載のデータを安全化する方法。
【請求項９】
前記データには生体特徴を表す特徴ベクトルが含まれる、請求項１に記載のデータを安全化する方法。
【請求項１０】
活動に参加する当事者を認証する方法であって、
第１秘密鍵を複数の秘密鍵共有に分割すること、
前記複数の秘密鍵共有のそれぞれを異なるサーバに記録することにより、いずれの前記サーバも、別の前記サーバに記録された前記秘密鍵共有にアクセスしないようにすること、
チャレンジを前記当事者に送信し、前記当事者が第２の鍵を使用して前記チャレンジを暗号化することを要求すること、
前記暗号化を受信すること、
前記複数のサーバに属するサーバを使用して安全計算プロトコルを実行することにより、前記複数のサーバをいずれも、前記第１秘密鍵及び別の前記サーバに記録された前記秘密鍵共有にアクセスさせずに、全ての前記複数の秘密鍵共有に応じた関数の値を判定すること、
前記計算値及び前記暗号化を使用して前記第２の鍵が前記第１秘密鍵と等しいかどうかを判定すること、
及び前記第１秘密鍵と前記第２の鍵が等しいと判定された場合かつその場合に限り、前記当事者を前記活動に参加させること、を含む方法。
【請求項１１】
前記活動には、仮想プライベートネットワーク通信チャネルの確立が含まれる、請求項１０に記載の方法。
【請求項１２】
前記当事者には通信機器が含まれる、請求項１０に記載の方法。
【請求項１３】
データへのアクセスを認証するための装置であって、
それぞれが同じ秘密鍵の異なる共有を有する複数のサーバと、
前記秘密鍵に応じて生成されたパスワードであって、前記複数のサーバに属するサーバに提示されたかどうかにより、前記データへのアクセスが許可されるパスワードと、
前記複数のサーバに属するサーバによって実行可能な命令セットであって、安全計算プロトコルを実行し、全ての前記共有に応じて、サーバの受信したパスワードが前記秘密鍵に応じて生成されたかどうかを判定する命令セットと、を備える装置。
【請求項１４】
前記パスワードにはワンタイム・パスワードが含まれる、請求項１３に記載の装置。
【請求項１５】
前記パスワードには固定パスワードが含まれる、請求項１３に記載の装置。
【発明の詳細な説明】
【技術分野】
【０００１】
関連案件の相互参照
本出願は、米国特許法第１１９条（ｅ）の下で、２０１３年１月８日に出願された米国特許仮出願第６１／７４９，９４３号の利点を主張するものであり、ここに本明細書の一部を構成するものとして当該米国特許仮出願の開示を援用する。
【０００２】
本発明の実施形態は、情報の安全化に関する。
【背景技術】
【０００３】
最新の通信ネットワークでは、ユーザーが様々なビジネス・サービスやエンターテイメント・サービスを、実際に腕を伸ばせば届く距離で直接に、すなわち「電子的に」利用することできる。これらのサービスにより、いずれのサービスでも特定の場所に実際にいる必要がなく、銀行口座を確認したり、投資を行ったり、商品を購入したり、ビデオ会議やゲームをしたり、仮想世界に参加したりといった、日々の営みをなすことが可能となる。
【０００４】
商業的に許容でき、かつ実行できるものとするため、多くのサービスでは、ユーザー認証を必須のものとして、ユーザー及び／またはサービスに損害を与え得る不正利用からユーザー及び／またはサービスを保護するようにしている。例えば、オンライン・バンキングでは、厳重な認証手順なくしては商業的に機能しないであろうし、クラウド・データストレージやクラウド・コンピューティングなどのクラウド系サービスでは、データの完全性と機密性を保護するための認証手順なくしては使用できないであろう。実際にいることは、通常は要求されないし、サービスにアクセスするのに普通は有効でも得策でもないので、従来の対面でのユーザー認証は、種々の当事者間の、コンピュータを媒介した手順に置き換えられてユーザーの同一性を認証するようになった。
【０００５】
ところで通常、認証手順にはパスワードの提示が必須である。そして、ほとんど誰もが、割り当てられ、あるいは本人自らが生成した概して多くのパスワードのうちの１つを思い出しては使用して、かかる日常のサービスや、自動現金預払機（ａｕｔｏｍａｔｉｃ  ｔｅｌｌｅｒ  ｍａｃｈｉｎｅ：ＡＴＭ）、あるいはそればかりではなく自身のラップトップ型コンピュータやタブレットなどの機器を利用すべく、自身を認証させるのが厄介であることをよく知っている。こうしたパスワードは、固定パスワードと呼ばれ、管理して思い出すのが難しいだけでなく、比較的容易に盗まれたり漏洩したりする。
【０００６】
近年、多くの認証手順にワンタイム・パスワード（ｏｎｅ−ｔｉｍｅ  ｐａｓｓｗｏｒｄ：ＯＴＰ）が採用され、ユーザーを自身の申し込んだサービスに認証させるようにしている。ＯＴＰは、ユーザーがサービスにアクセスするのを一度だけ認証するのに使用されることを意図する、一時的なパスワードであり、一度使用されると別のＯＴＰに置き換わる。ユーザーがサービスに繰り返してアクセスできるようにするため、ユーザーは、従来「トークン」または「ＯＴＰトークン」と呼ばれる機器の支給を受けることができる。この機器は、ユーザーに対して一連のＯＴＰを生成して表示するものであり、ユーザーは、各ＯＴＰをサービスに提示することにより、サービスに対して一度の認証及びアクセスができるようになる。このトークンは、一意の秘密デジタル鍵（以下、暗号鍵または秘密鍵ともいう）を含み、暗号化アルゴリズムを使用して一連の各ＯＴＰを秘密鍵の関数として計算すると共に、通常は、ＯＴＰを計算する時刻も計算し、あるいはユーザーがサービスにアクセスした回数もカウントして計算する。なお、トークンに含まれる時計によって時刻を提示してもよいし、トークン内のカウンタに回数を記録させてもよい。
【０００７】
秘密鍵の関数としてＯＴＰを計算すると共に時刻または回数を計算するトークンの場合、トークン内の時計またはカウンタは、サービスへのアクセスを求める要求を認証するように動作する認証サーバ内の時計またはカウンタにそれぞれ同期している。認証サーバは、サービスに申し込んだ各ユーザーのリスト、及び各ユーザー自身のトークンに関連した各秘密鍵を有する認証データベースを含み、あるいはこれにアクセスする。以後、ユーザーのＯＴＰトークンに関連した秘密鍵は、ユーザーの秘密鍵または秘密ＯＴＰ鍵といってもよい。ユーザーがサービスへのアクセスを所望するとき、ユーザーは、任意の好適な通信機器、例えば、コンピュータ、ラップトップ型コンピュータ、タブレット、スマートフォンなどを使用し、サービスへのアクセスを求める要求を送出してサービスと接触する。そして、認証を受けて当該要求を認めてもらうため、ユーザーは、通信機器を使用して、自身のＯＴＰトークンによって提供されたＯＴＰと共に、通常はユーザーＩＤまたはＰＩＮをサービスに送出する。ユーザーＩＤ及びＯＴＰを受信すると、認証サーバは、認証データベースから当該ユーザーの秘密鍵を検索し、検索した秘密鍵、ＯＴＰを生成するためにユーザーのトークンで使用された暗号化アルゴリズム、及び送出されたＯＴＰをユーザーのトークンが生成した推定上の時刻または回数を使用して、テスト用ＯＴＰを生成する。送出されたＯＴＰとテスト用ＯＴＰが同一の場合、そのユーザーは認証され、サービスへのアクセスが許可される。
【０００８】
ところで、ＯＴＰを使用する認証システムは、固定パスワードに基づく認証システムに比べて便利で、かつ安全性が向上しているが、認証データベースがハックされ、ユーザーリスト及び関連する秘密鍵が盗まれた場合には、システムが侵害され、システムの提供する安全性が損なわれる恐れがある。
【発明の概要】
【０００９】
本発明の実施形態の態様は、サービスへのユーザーアクセスを認証するための複数の認証サーバを備えるＯＴＰ認証システム（以下、ＯＴＰ認証部ともいう）の提供に関する。サービスに申し込んだユーザーに発行されたトークンの秘密ＯＴＰ鍵は、複数の秘密共有に分割され、各認証サーバは、ユーザーの秘密ＯＴＰ鍵の異なる秘密部、すなわち以下の秘密共有にアクセスする。各認証サーバは、安全計算プロトコルを使用して連携することで、各秘密共有に応じて、サービスへのアクセスを求める要求と共にユーザーの送出したＯＴＰが、当該ユーザーの秘密鍵を使用して計算されたものであるかどうかを判定するように構成されている。各コンピュータの連携は、いずれのサーバも、別のサーバの秘密共有及び／または秘密鍵のコピーを取得せずに行われる。任意ではあるが、認証サーバは、秘密共有に応じたテスト用ＯＴＰを生成し、テスト用ＯＴＰと送出されたＯＴＰを比較して、送出されたＯＴＰがユーザーの秘密鍵を使用して計算されたものであるかどうかを判定するプロトコルを実行する。
【００１０】
秘密鍵のある共有には、当該秘密鍵を判定するのに使用可能であるものの、当該秘密鍵の別の共有に含まれるデータなくして、その秘密鍵を判定するのに使用することができないデータが含まれる。安全計算プロトコルは、複数からなり、それぞれがデータｘｎ（１≦ｎ≦Ｎ）を有する複数のＮ個の構成要素のいずれが連携して、どの構成要素も別の構成要素に属する値ｘｎを取得せずに、関数ｆ（ｘ１，ｘ２・・・ｘＮ）の値を判定し、少なくとも１つの構成要素にその値を与えることが可能であるかに従ったプロトコルである。
【００１１】
本発明の実施形態では、ユーザーのトークンは、トークンの秘密鍵及び時刻または回数を入力とする暗号化アルゴリズム、任意には暗号学的ハッシュ（ｃｒｙｐｔｏｇｒａｐｈｉｃ  ｈａｓｈ）を使用してＯＴＰを計算する。安全計算プロトコルは、同じ秘密鍵及び時刻または回数の同一入力に対して、安全計算プロトコル及び暗号化アルゴリズムが同一のＯＴＰを計算するように作られている。
【００１２】
本発明の実施形態において、秘密鍵にはユーザーの生体特徴を表す特徴ベクトルが含まれ、秘密共有はその特徴ベクトルの共有である。
【００１３】
本発明の実施形態において、ＯＴＰは、取引の署名に使用され、回数、秘密鍵、及び取引情報の機能に応じた暗号化アルゴリズムを実行するトークン、及び／または取引情報を含む認証サーバによって生成されるチャレンジで生成される。
【００１４】
上記の議論では、秘密鍵の共有、及びＯＴＰを認証する安全計算プロトコルを使用して説明したが、本発明の実施形態は、ＯＴＰの認証に限定されるものではない。秘密鍵の共有及び安全計算プロトコルは、固定パスワードの認証またはデータの暗号化にも使用することができる。本発明の実施形態において、秘密鍵の共有及び安全計算プロトコルは、活動に参加する当事者を認証するチャレンジ−レスポンス・プロトコルに使用される。任意ではあるが、活動には、仮想プライベートネットワーク（ｖｉｒｔｕａｌ  ｐｒｉｖａｔｅ  ｎｅｔｗｏｒｋ：ＶＰＮ）通信チャネルの確率が含まれ、当事者には、アクセスポイント（ｐｏｉｎｔ  ｏｆ  ｐｒｅｓｅｎｃｅ：ＰＯＰ）通信機器が含まれる。
【００１５】
また、本明細書で使用する場合、サーバは、意図された適用を果たす際に、本発明の実施形態によって行われ得る計算を実行するのに適した、ソフトウェア及び／またはハードウェアの任意の組み合わせであってよいことに注意すべきである。
【００１６】
従って、本発明の実施形態によれば、データを安全化する方法であって、秘密鍵を複数の秘密鍵共有に分割すること；複数の秘密鍵共有のそれぞれを複数のサーバのうちの異なるサーバに記録することにより、いずれのサーバも、秘密鍵及び別のサーバに記録された秘密鍵共有にアクセスしないようにすること；複数のサーバに属するサーバを使用して安全計算プロトコルを実行することにより、複数のサーバをいずれも、秘密鍵及び別のサーバに記録された秘密鍵共有にアクセスさせずに、全ての複数の秘密鍵共有に応じた関数の値を判定すること；及び関数の計算値を使用してデータを安全化すること、を含む方法が提供される。任意ではあるが、計算値にはデータの暗号化が含まれる。
【００１７】
本発明の実施形態において、計算値を使用してデータを安全化することには、計算値を使用して、少なくとも１台のサーバが送信者から受信したパスワードが、秘密鍵を使用して生成されたか否かを判定した後、パスワードが秘密鍵を使用して生成されていた場合かつその場合に限り、送信者によるデータへのアクセスを有効にすることが含まれる。任意ではあるが、パスワードには秘密鍵を使用して生成されたワンタイム・パスワード（ＯＴＰ）が含まれる。追加的または代替的に、秘密鍵には、秘密鍵を使用して生成された固定パスワードを含めてよい。
【００１８】
本発明の実施形態において、秘密鍵には、ケルベロス・プロトコルに使用される鍵が含まれ、計算値には、このプロトコルが使用するチケット保証チケット（ＴＧＴ）の暗号化が含まれる。秘密鍵には、ケルベロス・プロトコルに使用される鍵を含めてよく、計算値には、プロトコルが使用するサービスチケット（ＳＴ）の暗号化を含めてよい。
【００１９】
本発明の実施形態において、秘密鍵には、生体特徴を表す特徴ベクトルが含まれる。本発明の実施形態において、データには、生体特徴を表す特徴ベクトルが含まれる。
【００２０】
さらに、本発明の実施形態によれば、活動に参加する当事者を認証する方法であって、第１秘密鍵を複数の秘密鍵共有に分割すること；複数の秘密鍵共有のそれぞれを異なるサーバに記録することにより、いずれのサーバも、別のサーバに記録された秘密鍵共有にアクセスしないようにすること；チャレンジを当事者に送信し、当事者が第２の鍵を使用してチャレンジを暗号化することを要求すること；暗号化を受信すること；複数のサーバに属するサーバを使用して安全計算プロトコルを実行することにより、複数のサーバをいずれも、第１秘密鍵及び別のサーバに記録された秘密鍵共有にアクセスさせずに、全ての複数の秘密鍵共有に応じた関数の値を判定すること；計算値及び暗号化を使用して第２の鍵が第１秘密鍵と等しいかどうかを判定すること；及び第１秘密鍵と第２の鍵が等しいと判定された場合かつその場合に限り、当事者を活動に参加させること、を含む方法が提供される。任意ではあるが、活動には仮想プライベートネットワーク通信チャネルの確立が含まれる。追加的または代替的に、当事者には通信機器が含まれる。
【００２１】
さらに、本発明の実施形態によれば、データへのアクセスを認証するための装置であって、それぞれが同じ秘密鍵の異なる共有を有する複数のサーバと；秘密鍵に応じて生成されたパスワードであって、複数のサーバに属するサーバに提示されたかどうかにより、データへのアクセスが許可されるパスワードと；複数のサーバに属するサーバによって実行可能な命令セットであって、安全計算プロトコルを実行し、全ての共有に応じて、サーバの受信したパスワードが秘密鍵に応じて生成されたかどうかを判定する命令セットと、を備える装置が提供される。任意ではあるが、パスワードにはワンタイム・パスワードが含まれる。追加的または代替的に、パスワードには固定パスワードが含まれる。
【００２２】
本議論では、別段の記載がない限り、本発明の実施形態の１つまたは複数の特徴の条件または相互的な特性に修正を加える、「実質的に」や「およそ」などの副詞は、当該条件または特性が、意図された適用における実施形態の運用に対して容認できる許容範囲内で定義される、ということを意味するものと理解される。特に指示がない限り、本明細書及び特許請求の範囲の文言「または」は、排他的「または」ではなく包含的「または」であるとみなされ、それが結合する項目のうちの少なくとも１つ、あるいは任意の組み合わせを示す。
【００２３】
この「発明の概要」は、以下の「発明を実施するための形態」でさらに説明される概念の抜粋を簡素化された形式で紹介するために提供される。この「発明の概要」は、特許請求する主題の重要な特徴または本質的な特徴を識別するためのものでも、特許請求する主題の範囲を制限するのに用いられることを意図するものでもない。
【００２４】
以下、本発明の実施形態の非制限例について、本明細書に添付され、後続する段落に列挙される図を参照して説明する。２つ以上の図面に現れる同一の特徴には、それらが現れる全ての図において、通常は同一符号を付ける。本発明の実施形態の所与の特徴を表す図像に付けた符号は、その所与の特徴を参照するのに用いることができる。図に示した特徴の寸法は、説明を便宜上分かりやすくするために選ばれたものであり、必ずしも縮尺を示すものではない。
【図面の簡単な説明】
【００２５】
【図１】本発明の実施形態に係る、安全計算プロトコルを使用してサービスへのユーザーアクセスを認証するＯＴＰ認証部を模式的に示す図である。
【図２】本発明の実施形態に係る、安全計算プロトコルを使用して、ユーザーの同一性を認証するために固定パスワードを認証する安全認証部を模式的に示す図である。
【図３】本発明の実施形態に係る２つのネットワークであって、これらのネットワークのうちの少なくとも１つを認証するために安全計算プロトコルを使用してＶＰＮ通信ネットワークを確立する２つのネットワークを模式的に示す図である。
【発明を実施するための形態】
【００２６】
図１は、本発明の実施形態に係る、サービス３０へのアクセスを求める要求を認証するＯＴＰ認証部２０を模式的に示す図である。例として、あるユーザー（図示せず）によって当該要求がサービス３０に送出されている様子を示しており、このユーザーは、任意ではあるがラップトップ型コンピュータ４０を使用してインターネット経由で、このサービスに接続している。サービス３０は、サービスへのアクセスに対する認証を要求し得る各種サービスのうち、どれであってもよい。このようなサービスの例としては、オンライン・バンキング・サービス、クラウド・コンピューティング・サービスもしくはクラウド・ストレージ・サービス、または安全通信チャネルを提供するサービスなどがある。そして、図１は、ラップトップ型コンピュータを使用してインターネット経由でサービス３０にアクセスしている様子を示しているが、本発明の実施は、ラップトップ型コンピュータの使用またはインターネット経由、あるいはその両方による通信に限定されるものではない。また、任意の通信機器を、サービスへのアクセスを認証するのに使用することができる。このような通信機器としては、スマートフォン、タブレット及びデスクトップ型コンピュータ、並びに各種の電磁信号及び電気通信信号のいずれかに対応し得る任意の有線及び無線通信チャネルなどがある。
【００２７】
ＯＴＰ認証部２０は、サービス３０に申し込んだ各ユーザーについて、サービス３０に送出され、ユーザーがサービスへのアクセスを求める要求を認証する際に使用されるＯＴＰを生成するＯＴＰトークン５０を備えると共に、サービス３０にアクセスするためにユーザーが送出したＯＴＰを認証できるように、複数からなり、任意ではあるが３台の認証サーバ６１，６２，６３も含む。認証サーバ６１，６２，６３は、両端に矢があるブロック矢印９０で模式的に表された各通信チャネルを経て、互いに通信するように構成されている。通信チャネルは、ＲＦもしくは光信号などの電磁信号、または電気信号に対応する無線チャネルまたは有線チャネルであってよい。また、認証サーバは、ハードウェア及び／またはソフトウェアで実装してよく、同一施設内に実質的に配置しても、あるいは分散システムとして構成してもよい。
【００２８】
また、ＯＴＰ認証部２０が３台の認証サーバを有する場合を示しているものの、上記で示した台数は説明の便宜上のためのものであり、本発明の実施は、３台の認証サーバに限定されるものではない。本発明の実施形態に係る認証部は、２台以上の任意の台数の認証サーバを有してもよい。以下、認証サーバ６１，６２，６３の動作について以下に説明する。
【００２９】
ＯＴＰトークン５０は、例として、時刻に応じてＯＴＰを生成するものとする。また、ＯＴＰトークン５０は、時刻を与える時計５２、鍵「Ｋ」で模式的に表された一意の秘密鍵、及びＯＴＰエンジン５６を備える。ＯＴＰエンジン５６は、暗号化アルゴリズムを使用して一連のＯＴＰを生成する。ここで、一連の各ＯＴＰは、秘密鍵Ｋ、及び時計５２によって与えられ、ＯＴＰが生成される時刻の関数である。そして、ＯＴＰトークン５０が、それ自体の生成する各ＯＴＰを表示画面５８上に提示することにより、ユーザーは、サービス３０にアクセスするための認証を求める要求を自身が送出する時刻において、ディスプレイ上に表示されているＯＴＰのコピーを送信できるようになる。
【００３０】
ＯＴＰトークン５０は、各種の暗号化アルゴリズムのいずれかを使用してＯＴＰを生成するように構成してよい。このような暗号化アルゴリズムの例としては、トリプルデータ暗号化標準（ｔｒｉｐｌｅ  ｄａｔａ  ｅｎｃｒｙｐｔｉｏｎ  ｓｔａｎｄａｒｄ：３ＤＥＳ）アルゴリズム、高度暗号化標準（ａｄｖａｎｃｅ  ｅｎｃｒｙｐｔｉｏｎ  ｓｔａｎｄａｒｄ  ａｌｇｏｒｉｔｈｍ：ＡＥＳ）アルゴリズム、もしくはハッシュ式メッセージ認証コード（ｈａｓｈ  ｂａｓｅｄ  ｍｅｓｓａｇｅ  ａｕｔｈｅｎｔｉｃａｔｉｏｎ  ｃｏｄｅ：ＨＭＡＣ）、または２つ以上の暗号化アルゴリズムの任意の組み合わせなどがある。説明の便宜上、ＯＴＰエンジン５６は、ＨＭＡＣアルゴリズムを使用してＯＴＰを生成するものとする。そして、時刻ｔに生成されるＯＴＰは、ＯＴＰ（Ｋ，ｔ）で表すことができ、ＯＴＰエンジン５６によるＨＭＡＣを使用した生成自体は、式ＯＴＰ（Ｋ，ｔ）＝ＨＭＡＣ（Ｋ，ｔ）で表すことができる。表示画面５８には、ユーザーがラップトップ型コンピュータ４０を使用してサービス３０にアクセスする時刻ｔにおいて、ＯＴＰエンジン５６で生成されるＯＴＰ（Ｋ，ｔ）としてあり得る例が表示されている。
【００３１】
各認証サーバ６１，６２，６３は、時計７０を備えると共に、それぞれデータベース７１，７２，７３を含むか、あるいはデータベース７１，７２，７３にアクセスする。各認証サーバ６１，６２，６３内の時計７０は、各ユーザーのＯＴＰトークン５０内の時計５２に同期しており、ＯＴＰトークンに含まれる秘密鍵Ｋは、任意ではあるが３つの秘密共有ＫＳ１，ＫＳ２，ＫＳ３に分割されており、これらはデータベース７１，７２，７３にそれぞれ記録されている。後述するように、各認証サーバ６１，６２，６３には、サービス３０に送出されたＯＴＰを認証するため、他の認証サーバと連携して安全計算プロトコル８０を実行するコンピュータ実行可能な命令セットを含めてもよい。
【００３２】
サービス３０へのアクセスを要求する際、ラップトップ型コンピュータ４０及びＯＴＰトークン５０のユーザーは、ＯＴＰトークンの表示画面５８上に表示されたＯＴＰ（Ｋ，ｔ）をラップトップ型コンピュータに任意に入力し、ＯＴＰ（Ｋ，ｔ）を、任意ではあるがユーザーＩＤと共にインターネット経由でサービス３０に送信する。ラップトップ型コンピュータ４０へのＯＴＰ（Ｋ，ｔ）の入力は、実線矢印１０１で模式的に示しており、インターネット経由のサービス３０へのＯＴＰ（Ｋ，ｔ）及びユーザーＩＤの送信は、実線矢印１０２，１０３で模式的に表している。
【００３３】
ＯＴＰ（Ｋ，ｔ）及びユーザーＩＤを受信すると、サービス３０は、そのＯＴＰ（Ｋ，ｔ）及びユーザーＩＤをＯＴＰ認証部２０に任意に転送する。これにより、そのユーザーのＩＤが、任意に各認証サーバ６１，６２，６３に分配される。ユーザーＩＤを受信すると、認証サーバ６１，６２，６３は、各サーバ自体のデータベース７１，７２，７３からユーザーの秘密鍵Ｋに関連した秘密共有ＫＳ１，ＫＳ２，ＫＳ３を検索する。認証サーバ６１，６２，６３は、通信チャネル９０を介して互いに通信して、秘密共有ＫＳ１，ＫＳ２，ＫＳ３及び時刻ｔを使用した安全計算プロトコル８０の実行時に連携して情報をやり取りすることにより、ＯＴＰ（Ｋ，ｔ）が真正であるか否かを判定する。安全計算プロトコル８０を使用すると、いずれの認証サーバ６１，６２，６３も、秘密鍵Ｋも別の認証サーバに属する秘密共有ＫＳ１，ＫＳ２，ＫＳ３も取得せずに認証が行われる。
【００３４】
本発明の実施形態において、安全計算プロトコル８０には、ＯＴＰエンジン５６がＯＴＰを生成するのに使用するアルゴリズムＨＭＡＣ（Ｋ，ｔ）のブール回路表現を暗号化したものを含めてもよい。本発明の実施形態では、安全計算プロトコル８０により、いずれの認証サーバも、秘密鍵Ｋも、別の認証サーバに属する秘密共有ＫＳ１，ＫＳ２，ＫＳ３も取得せずに、秘密共有ＫＳ１，ＫＳ２，ＫＳ３及び時刻ｔに応じた各ＯＴＰを認証サーバ６１，６２，６３で計算することが可能となるが、これらのＯＴＰは、同一時刻ｔにおいてＯＴＰエンジンで計算された各ＯＴＰと同一である。任意ではあるが、安全計算プロトコル８０には、難読化回路（ｇａｒｂｌｅｄ  ｃｉｒｃｕｉｔ）を使用したブール回路を暗号化したものを実装する。本発明の実施形態において、安全計算プロトコル８０には、ゲートごとの忘却計算（ｏｂｌｉｖｉｏｕｓ  ｃｏｍｐｕｔａｔｉｏｎ）を使用したブール回路の安全計算を実装する。
【００３５】
ここで、ＯＴＰ（ＫＳ１，ＫＳ２，ＫＳ３，ｔ）で表される安全計算プロトコル８０を使用して、所与の時刻ｔに対し、ＯＴＰ認証部２０によってＯＴＰが計算されたものとする。例えばラップトップ型コンピュータ４０のユーザーから、ＯＴＰ認証部２０が受信した所与のＯＴＰ（Ｋ，ｔ）について、ＯＴＰ認証部２０は、安全計算プロトコル８０を使用して、対応するＯＴＰ（ＫＳ１，ＫＳ２，ＫＳ３，ｔ）を計算する。ＯＴＰ（Ｋ，ｔ）がＯＴＰ（ＫＳ１，ＫＳ２，ＫＳ３，ｔ）に等しい場合、ＯＴＰ認証部２０は、ＯＴＰ（Ｋ，ｔ）が真正であると判定し、一方、ＯＴＰ（Ｋ，ｔ）とＯＴＰ（ＫＳ１，ＫＳ２，ＫＳ３，ｔ）が等しくない場合、ＯＴＰ認証部２０は、ＯＴＰ（Ｋ，ｔ）が真正でないと判定する。
【００３６】
上記のＯＴＰ（Ｋ，ｔ）が真正であるか否かの判定に続いて、ＯＴＰ認証部２０は、その判定をサービス３０に送信する。そして、サービス３０は、ラップトップ型コンピュータ４０にメッセージを順に送信する。このメッセージは、ＯＴＰ（Ｋ，ｔ）が真正であるか否かが場合に応じて判定され、ユーザーがそれぞれサービスへのアクセスを許可されるかそれとも拒否されるかということをラップトップ型コンピュータのユーザーに通知するためのものである。ＯＴＰ認証部２０での判定をサービス３０に送信することは、破線矢印１０５で模式的に示されている。また、サービス３０からラップトップ型コンピュータ４０に送信される、アクセス許可またはアクセス拒否のメッセージは、破線矢印１０６，１０７で模式的に示されている。なお、サービス３０及びＯＴＰ認証部２０は、有線通信ネットワークまたは無線通信ネットワーク、あるいはその両方のいずれかにより設けられた通信チャネルを使用して、互いに通信できることに注意すべきである。
【００３７】
ところで、上記の議論では、本発明の実施形態に係る認証部がＯＴＰを認証するように動作する様子について説明したが、本発明の実施形態の実施は、ＯＴＰの認証に限定されるものではない。例えば、図２は、本発明の実施形態に係る認証部１６０を模式的に示す図である。認証部１６０は、固定パスワードを認証するように動作するが、この固定パスワードは、ユーザーが、サービスサーバ１４０によって提供される所望のサービスへのアクセスを得るのに使用される。サービスサーバ１４０は、例として、銀行の顧客であるユーザーに銀行サービスを提供する銀行サーバ、または、企業の従業員であるユーザーに諸々のサービスを提供する企業サーバであってよい。サービスサーバ１４０を介して提供されるサービスに申し込んだＮ人のユーザーのうちの第ｎユーザーは、識別情報ＩＤｎによって識別され、ＩＤｎに関連したパスワードＰＷＤｎをサービスサーバ１４０に送信して、サービスサーバによって提供可能な所望のサービスへのアクセスを得る。
【００３８】
認証部１６０は、任意ではあるが、データベースサーバ１６１及び複数からなるＭ台の認証サーバ１６４を含む。データサーバ１６１は、利用者のＩＤｎごとに利用者のパスワードＰＷＤｎを暗号化したＥＰＷＤｎを記録したデータベース１６２を収容する。暗号化ＥＰＷＤｎは、暗号鍵Ｋｎ及び所与の暗号化アルゴリズムを使用して生成される。所与の暗号化アルゴリズムは、各種の適切な暗号化アルゴリズムのいずれでもよく、例として、トリプルデータ暗号化標準（ｔｒｉｐｌｅ  ｄａｔａ  ｅｎｃｒｙｐｔｉｏｎ  ｓｔａｎｄａｒｄ：３ＤＥＳ）アルゴリズム、高度暗号化標準（ａｄｖａｎｃｅ  ｅｎｃｒｙｐｔｉｏｎ  ｓｔａｎｄａｒｄ  ａｌｇｏｒｉｔｈｍ：ＡＥＳ）アルゴリズム、及びハッシュ式メッセージ認証コード（ｈａｓｈ  ｂａｓｅｄ  ｍｅｓｓａｇｅ  ａｕｔｈｅｎｔｉｃａｔｉｏｎ  ｃｏｄｅ：ＨＭＡＣ）のうちの１つ、またはこれらのうちの２つ以上の任意の組み合わせであってよい。任意ではあるが、異なる下付き文字「ｎ」が付けられた暗号鍵Ｋｎ同士は異なる。本発明の実施形態によれば、各暗号鍵Ｋｎは、Ｍ個の共有ＫＳｎ，ｍ、（１＜ｍ＜Ｍ）に分割され、第Ｍ共有は、第Ｍ認証サーバ１６４に記録されている。
【００３９】
図２は、第ｎユーザー１２０が、サービスサーバ１４０によって提供されるサービスへのアクセスを得ようと試み、本発明の実施形態に係る認証手順を使用して認証部１６０によって認証される様子を模式的に示す図である。認証手順は、任意ではあるが、図中のフローチャート２００に示した認証手順と同様である。数字２００は、認証手順を示すフローチャートのみならず、認証手順を参照するのに使用することができる。
【００４０】
ブロック２０１でユーザー１２０は、自身の識別情報ＩＤｎ及びパスワードＰＷＤ＊ｎをサービスサーバ１４０に送信する。ブロック２０２でサービスサーバ１４０は、ＩＤｎをデータサーバ１６１に送信する。データサーバは、データベース１６２からＩＤｎに関連した暗号化パスワードＥＰＷＤｎを検索し、ブロック２０３では、暗号化パスワードＥＰＷＤｎをサービスサーバ１４０に任意に送信する。任意ではあるが、ブロック２０４でサービスサーバ１４０は、ユーザーが送出したパスワードＰＷＤ＊ｎと共に暗号化パスワードＥＰＷＤｎを安全認証部１６３に送信する。
【００４１】
ブロック２０５で各認証サーバ１６４は、Ｎ者用の安全計算を行うように連携して、秘密共有ＫＳｎ，１，ＫＳｎ，２，・・・ＫＳｎ，Ｍ、パスワードＰＷＤ＊ｎ及び暗号化パスワードＥＰＷＤｎの関数である「判定関数」Ｆ（ＫＳｎ，１，ＫＳｎ，２，・・・ＫＳｎ，ｍ，ＰＷＤ＊ｎ，ＥＰＷＤｎ）を評価する。Ｍ者用の安全計算から得たＦ（ＫＳｎ，１，ＫＳｎ，２，・・・ＫＳｎ，Ｍ，ＰＷＤ＊ｎ，ＥＰＷＤｎ）の値は、所与の暗号化アルゴリズム及び暗号鍵Ｋｎによって生成されたＰＷＤ＊ｎの暗号化ＥＰＷＤ＊ｎが、データベース１６２から検索したＥＰＷＤｎと同一であるか否かを示す。
【００４２】
判定ブロック２０６で認証部１６０は、Ｆ（ＫＳｎ，１，ＫＳｎ，２，・・・ＫＳｎ，Ｎ，ＰＷＤ＊ｎ，ＥＰＷＤｎ）の値により、ＥＰＷＤｎが暗号化ＰＷＤ＊ｎであるか否かを示しているがどうかを判定する。当該値により、ＥＰＷＤｎがＰＷＤ＊ｎの暗号化であると示された場合、任意ではあるが、ブロック２０７で認証部１６０は、サービスサーバ１４０に認証が成功したことを送信し、ブロック２０９でサービスサーバ１４０は、ユーザー１２０にサービスサーバによって提供される所望のサービスへのアクセスを与える。一方、判定関数Ｆ（ＫＳｎ，１，ＫＳｎ，２，・・・ＫＳｎ，Ｎ，ＰＷＤ＊ｎ，ＥＰＷＤｎ）の値により、ＥＰＷＤｎがＰＷＤ＊ｎの暗号化ではないと示された場合、ブロック２０８で認証部１６０は、サービスサーバ１４０に認証が失敗したことを送信し、ブロック２１０でサービスサーバは、サービスへのユーザー１２０のアクセスを拒否する。
【００４３】
図３は、本発明の実施形態の別の例を模式的に示す図である。図中、第１及び第２通信ネットワーク３１０，３２０が、それぞれハンドシェイクでやり取りし、これらのネットワークにおいて各ネットワークのうちの少なくとも１つを他から認証して、安全な仮想プライベートネットワーク（ｖｉｒｔｕａｌ  ｐｒｉｖａｔｅ  ｎｅｔｗｏｒｋ：ＶＰＮ）チャネル３０２を確立することにより、これを介して両方のネットワークが通信できるようにしている。認証は、暗号鍵の秘密共有を使用し、図３のフローチャート３００に示したものと同様の認証手順に従って行われる。
【００４４】
通信ネットワーク３１０は、他のネットワークと通信するためのアクセスポイント（ｐｏｉｎｔ  ｏｆ  ｐｒｅｓｅｎｃｅ：ＰＯＰ）として機能するサーバ３１１、及び暗号鍵Ｋの秘密共有ＫＳｍ（１≦ｍ≦Ｍ）がそれぞれ記録されたＭ台の認証サーバ３１３を含む安全認証部３１２を備える。通信ネットワーク３２０は、通信用ＰＯＰとして機能するサーバ３２１、及び暗号鍵Ｋ＊の秘密共有ＫＳ＊ｍがそれぞれ記録されたＭ台の認証サーバ３２３を含む安全認証部３２２を備える。本発明の実施形態によれば、通信ネットワーク３１０，３２０は、暗号鍵Ｋと暗号鍵Ｋ＊が等しくなければ、ＶＰＮチャネル３０２を有効としないように構成されている。
【００４５】
ブロック３３１でサーバ３１１は、通信ネットワーク３２０を認証するため、チャレンジＸ１ｃとなるランダム文字列を生成する。そして、任意ではあるがブロック３３２で、当該チャレンジを、ＶＰＮチャネル３０２の確立を要求する「ＨＥＬＬＯ」メッセージでサーバ３２１に送信する。ＨＥＬＬＯメッセージは、チャレンジＸ１ｃを暗号化できるように暗号化アルゴリズム「Ａ」を任意に指定する。サーバ３２１は、当該チャレンジを受信し、それを安全認証部３２２に転送する。各認証サーバ３２３は、連携して情報をやり取りして、指定されたアルゴリズムＡの安全計算を実行することにより、Ｘ１ｃを暗号化したＥＸ１＊ｃを秘密共有ＫＳ＊１，ＫＳ＊２，・・・ＫＳ＊Ｍを使用して生成する。ブロック３３４で安全認証部３２２は、暗号化ＥＸ１＊ｃをサーバ３２１に送信する。次いで、サーバ３２１は、サーバ３１１からのＨＥＬＬＯメッセージに応答して、返信のＨＥＬＬＯメッセージで暗号化ＥＸ１＊ｃをサーバ３１１に転送する。サーバ３１１は、受信した暗号化ＥＸ１＊ｃを安全認証部３１２に転送する。
【００４６】
任意ではあるが、ブロック３３５で各認証サーバ３１３は、連携して情報をやり取りして、指定されたアルゴリズムＡの安全計算を任意に実行することにより、Ｘ１ｃの暗号化ＥＸ１ｃを秘密共有ＫＳ１，ＫＳ２，・・・ＫＳＭを使用して生成する。判定ブロック３３６で、安全認証部３１２は、ＥＸ１ｃがＥＸ１＊ｃと等しいかどうかを判定する。ＥＸ１ｃがＥＸ１＊ｃと等しい場合、ブロック３３８で安全認証部３１２は、認証が成功したことをサーバ３１１に任意に送信し、ブロック３３８でサーバは、ＶＰＮチャネル３０２を有効にする。一方、ＥＸ１ｃがＥＸ１＊ｃと等しくないと判定された場合、ブロック３３９で安全認証部３１２は、認証が失敗したことをサーバ３１１に任意に送信し、ブロック３４０でサーバは、ＶＰＮチャネル３０２の確立を破棄する。
【００４７】
本発明の実施形態において、サーバ３１１とサーバ３２１のハンドシェイクには、相互認証を必要としてもよい。サーバ３１１がサーバ３２１をチャレンジするのに加えて、サーバ３２１は、サーバ３２１からサーバ３１１を認証する認証手順において、サーバ３１１とやり取りすることができる。任意ではあるが、サーバ３２１は、サーバ３１１がサーバ３２１をチャレンジする認証手順と同様の認証手順で、サーバ３１１をチャレンジする。そして、ブロック３５０でサーバ３２１は、チャレンジＸ２ｃを生成し、ブロック３５１でサーバ３２１は、チャレンジＸ２ｃをサーバ３１１に送信する。その後のチャレンジの各ステップは、ブロック３３３〜３４０に記載された各ステップと同様であり、図３には示していない。
【００４８】
なお、上記のＶＰＮチャネル３０２の確立では、ネットワーク３１０内の安全認証部３１２及びネットワーク３２０内の安全認証部３２２が、それぞれ秘密鍵共有Ｋ、Ｋ＊を有するものとしたことに注意すべきである。２台のコンピュータ間でＶＰＮチャネルを確立する多くのハンドシェイク手順には、各コンピュータがメッセージ暗号化プロトコルに応じると共に、各コンピュータが共に同一の秘密鍵を持ってその暗号化プロトコルを使用できるように、秘密鍵を「交換する」ことが要求される。典型的な鍵交換プロトコルは、ＩＰＳＥＣ（Ｉｎｔｅｒｎｅｔ  ｐｒｏｔｏｃｏｌ  ｓｅｃｕｒｉｔｙ）プロトコル及びＳＳＬ（Ｓｅｃｕｒｅ  Ｓｏｃｋｅｔｓ  Ｌａｙｅｒ）プロトコルである。
【００４９】
同じ暗号鍵のＭ個の秘密共有がＭ台の認証サーバにそれぞれ与えられる本発明の実施形態において、Ｍ台の各サーバについての秘密鍵の供与は、例えば、非対称暗号化またはＤｉｆｆｉｅ−Ｈｅｌｌｍａｎ鍵交換アルゴリズムを使用して実現することができる。
【００５０】
本発明の実施形態において、安全計算は、ケルベロス・プロトコル（Ｋｅｒｂｅｒｏｓ  ｐｒｏｔｏｃｏｌ）を実装するのに使用することができる。このプロトコルでは、鍵配布センター（Ｋｅｙ  Ｄｉｓｔｒｉｂｕｔｉｏｎ  Ｃｅｎｔｅｒ：ＫＤＣ）が、チケット保証チケット（Ｔｉｃｋｅｔ  Ｇｒａｎｔｉｎｇ  Ｔｉｃｋｅｔ：ＴＧＴ）をユーザーに発行する。そして、このＴＧＴにより、ユーザーは、サービスチケット（Ｓｅｒｖｉｃｅ  Ｔｉｃｋｅｔ：ＳＴ）を取得でき、サービスサーバが提供するサービスにアクセスできるようになる。ＴＧＴは、長期秘密鍵（パスワードが多い）を使用して暗号化された後、ＫＤＣに記録され、ユーザー及びサービスと関連付けられる。ＫＤＣ及びサービスサーバが、秘密鍵を使用してユーザーの識別情報を認証し、認証されたユーザーにＴＧＴを発行することにより、ユーザーは、サービスサーバが提供するサービスにアクセスできるようになる。
【００５１】
本発明の実施形態では、ＫＤＣ、すなわち以後の安全ＫＤＣは、複数の認証サーバを有する安全認証部を含めて構成されている。安全ＫＤＣで使用される長期鍵は、複数の秘密共有に分割され、同じ長期鍵の各秘密共有は、異なる認証サーバに記録されている。各認証サーバは、安全計算プロトコルを使用して連携することにより、ユーザーを認証し、及び／またはＴＧＴを暗号化し、及び／またはユーザーに関連した秘密鍵の各秘密共有に応じたユーザーがサービスを利用するのを認証する。安全計算プロトコルを実行する際、いずれの認証サーバも、別のサーバの秘密共有及び／または秘密鍵のコピーを取得することはない。
【００５２】
本発明の実施形態において、複数の認証サーバは、仮想ハードウェア・セキュリティ・モジュール（ｖｉｒｔｕａｌ  ｈａｒｄｗａｒｅ  ｓｅｃｕｒｉｔｙ  ｍｏｄｕｌｅ：ＶＨＳＭ）として動作するように構成されている。このＶＨＳＭは、暗号鍵を各秘密共有に分割し、所与の暗号鍵の異なる共有を、当該鍵の秘密共有として、複数のサーバのうちの異なるサーバに記録する。任意ではあるが、ＶＨＳＭは、暗号鍵を生成するように構成されている。本発明の実施形態において、ＶＨＳＭは、アプリケーション・プログラミングインターフェース（ａｐｐｌｉｃａｔｉｏｎ  ｐｒｏｇｒａｍｍｉｎｇ  ｉｎｔｅｒｆａｃｅ：ＡＰＩ）からアクセスされるように構成されており、ＡＰＩでインターフェースされたコンピュータ・プログラムとして、秘密共有を使用する安全計算プロトコルを実行することにより、情報を暗号化し、及び／または情報を解読し、及び／または関数を評価する。
【００５３】
本出願の説明及び特許請求の範囲では、動詞「備える」、「含む」及び「有する」並びにこれらの活用形はそれぞれ、動詞の１つまたは複数の目的語が必ずしも、動詞の１つまたは複数の主語の構成要素、要素、または部品を完全に列挙しているものではないことを示すために使用される。
【００５４】
本出願における本発明の実施形態の説明は、例として与えられたものであり、本発明の範囲を限定することを意図するものではない。説明した実施形態は、種々の特徴を備えているが、本発明の全ての実施形態で、その全てが必要とされるわけではない。いくつかの実施形態は、一部の特徴または可能な特徴の組み合わせのみを利用する。説明した本発明の実施形態の変形例、及び説明した実施形態で注目した特徴の種々の組み合わせを含む本発明の実施形態は、当業者にとって想到できるであろう。本発明の範囲は、特許請求の範囲のみによって限定される。
【図１】
2016502377.tif 000003
【図２】
2016502377.tif 000004
【図３】
2016502377.tif 000005
【国際調査報告】
2016502377.tif 000006