JP4938673B2 - ワンタイムパスワード - Google Patents

ワンタイムパスワード Download PDF

Info

Publication number
JP4938673B2
JP4938673B2 JP2007536963A JP2007536963A JP4938673B2 JP 4938673 B2 JP4938673 B2 JP 4938673B2 JP 2007536963 A JP2007536963 A JP 2007536963A JP 2007536963 A JP2007536963 A JP 2007536963A JP 4938673 B2 JP4938673 B2 JP 4938673B2
Authority
JP
Japan
Prior art keywords
time password
token
validation
value
validation server
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.)
Active
Application number
JP2007536963A
Other languages
English (en)
Other versions
JP2008517384A (ja
JP2008517384A5 (ja
Inventor
ポップ、ニコラス
ムライヒ、デビット
ハート、ローレン
Original Assignee
ベリサイン・インコーポレイテッド
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 ベリサイン・インコーポレイテッド filed Critical ベリサイン・インコーポレイテッド
Publication of JP2008517384A publication Critical patent/JP2008517384A/ja
Publication of JP2008517384A5 publication Critical patent/JP2008517384A5/ja
Application granted granted Critical
Publication of JP4938673B2 publication Critical patent/JP4938673B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3226Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using a predetermined code, e.g. password, passphrase or PIN
    • H04L9/3228One-time or temporary data, i.e. information which is sent for every authentication or authorization, e.g. one-time-password, one-time-token or one-time-key
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3234Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving additional secure or trusted devices, e.g. TPM, smartcard, USB or software token
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/20Manipulating the length of blocks of bits, e.g. padding or block truncation

Description

発明の分野
本発明の分野は、コンピュータの安全性である。さらに詳細に述べると、ワンタイムパスワードによる認証である。
発明の背景
現在、2要素認証の展開は、範囲およびスケールが非常に限定されたままである。脅威および攻撃のレベルが一層より高くなってきているにもかかわらず、大部分のインターネットアプリケーションは、ユーザアクセスを取り締まるための軟弱な認証スキームに依然として依存している。ハードウェアおよびソフトウェア技術ベンダ間の相互運用性の欠如が、2要素認証技術の採用における制約要因である。特に、ハードウェアおよびソフトウェアのコンポーネントは、知的所有権下にある技術を通して緻密に結合されていることが多く、結果的に、解決に高コストとなり、採用が少なく、および革新が限定的となる。
過去2年間における、ネットワーク脅威の急速な増加は、インターネット上の認証の主要手段としての静的パスワードの不完全さを明らかにした。同時に、ネットワークに対する認証のみに使用される高価な単機能型のデバイスをエンドユーザが所持することを要求する現在のアプローチは、明らかに適切な対応策でない。2要素認証をインターネット上で普及するために、広範囲なアプリケーションにわたって機能可能な、より柔軟性あるデバイスに2要素認証を埋め込まなければならない。
ワンタイムパスワードは、確かに、ネットワークアクセスを安全にするための最も簡単で最も普及している2要素認証の形態のうちの1つである。例えば、大企業では、仮想私設ネットワークアクセスは、リモートユーザの認証のために、ワンタイムパスワードのトークンの使用を要求することが多い。エアギャップデバイスは、任意のクライアントのデスクトップソフトウェアのユーザマシーンへのインストールを必要としないので、ワンタイムパスワードは、PKIまたは生体測定のような、より強力な認証の形態を好むことが多い。したがって、これにより、ホームコンピュータ、キオスクおよびパーソナルデジタルアシスタントを含む複数のマシーンにわたってローミングすることができるようになる。
発明の概要
本発明の実施形態にしたがうと、何らかのハードウェア製造業者またはソフトウェアデベロッパによって、ワンタイムパスワードアルゴリズムを実現して、相互運用性のある認証デバイスおよびソフトウェアエージェントを生成することができる。Java(登録商標)スマートカード、USBドングルおよびGSMのSIMカードのような高容量デバイスにアルゴリズムを埋め込むことができるように、アルゴリズムはイベントベースであってもよい。インターネット技術標準化委員会(IETF)の取引条件のもとで、アルゴリズムは、デベロッパコミュニティにとって自由に利用可能になる。
詳細な説明
本発明の実施形態にしたがうと、アルゴリズムは、シーケンスまたはカウンタベースとすることが可能であり、そして、バッテリ、ボタン数、計算馬力およびディスプレイのサイズに関する必要条件を最小限にすることによって、ハードウェアで効率的に実現することができる。アルゴリズムは、何らかの数入力をサポートしないトークンを使用して動作させることができるが、安全なPINパッドのような、より高性能化したデバイスで使用することも可能である。
トークン上で表示される値は、ユーザによって容易に読み取られ、パーソナルコンピュータ、携帯電話機、現金自動預払機または他の何らかの適切なデバイスのような別のデバイスに入力される。このことにより、ワンタイムパスワード(OTP)値が、適度な長さのものであるように要求される。多くのケースにおいて、OTP値は、安全性の理由から少なくとも6数字の値であるべきである。電話機のような単純なキーパッドを備えたデバイス上にOTP値を容易に入力できるように、OTP値は数字のみであると便利である。
カウンタを再同期化するのに利用可能なユーザフレンドリなメカニズムがある。アルゴリズムには、強力な共有シークレットが使用されるべきである。このために、共有シークレットの長さは、128ビット、または、より長いビットである。
以下の表記法およびシンボルを使用して、本発明にしたがったアルゴリズムの実施形態を説明する。
ストリングはバイナリストリングを意味しており、バイナリストリングは、0および1のシーケンスを意味している。
sがストリングである場合、|s|はストリングの長さを示す。
nが数字である場合、|n|は絶対値を示す。
sがストリングである場合、s[i]はストリングのi番目のビットを示す。ビットは、0からビットの番号が振られているので、s=s[0]s[1]...s[n−1]となる。ここで、n=|s|はsの長さである。
(ストリングを数にする)StToNumは、バイナリの入力ストリングsの10進法の表示を返す関数を示す。例えば、StToNum(110)=6である。
以下の表記法をシンボルに使用する。
Cは、8バイトのカウンタ値、ムービング係数である。このカウンタは、OTP発生器(例えば、クライアント)とOTPバリデイター(例えば、サーバ)との間を同期化させることができる。
Kは、クライアントとサーバとの間の共有シークレットである。各OTP発生器は、異なった一意的なシークレットKを有することができる。
Tは、スロットルパラメータである。サーバは、T回の認証試行の不成功の後にユーザからの接続を拒否できる、でなければ、所定の源からの過剰な数の妥当性確認試行を示すスロットル信号を受け取り人に送ることができる。
sは、再同期化パラメータである。サーバは、s個の連続的なカウンタ値にわたって、受け取った認証符号の確認を試みることができる。
Digitは、OTP値の数であり、この数はシステムパラメータであってもよい。
本発明にしたがったOTPアルゴリズムは、トークンおよびバリデーションサービスのみに知られている、増加するカウンタ値および静的対称キーに基づくことができる。OTP値を生成するために、1997年2月にM. Bellare氏, R.Canetti氏、およびH. Krawczyk氏によって出されたIETF Network Working GroupのRFC 2104の“HMAC: Keyed−Hashing for Message Authentication”において規定されているように、HMMAC−SHA−1アルゴリズムを使用できる。
HMAC−SHA1の計算の出力は160ビットであり、これは、ユーザによって容易に入力できるサイズに切り捨てることができる値である。したがって、
HOTP(K,C)=Truncate(HMAC−SHA−1(K,C))となる。
ここで、Truncateは、HMAC−SHA−1値をHMAC−SHA−1 OTP(HOTP)値に変換する関数を示している。キー(K)、カウンタ(C)およびデータ値は、最初に上位バイトをハッシュすることができる。HOTP発生器によって発生されたHOTP値をビッグエンディアンとして取り扱うことができる。
3つの異なるステップでHOTP値を発生させることができる。
ステップ1:HMAC−SHA−1値を発生させる。
HS=HMAC−SHA−1(K,C)とする。ここで、HSは、20バイトストリングとすることができる。
ステップ2:4バイトストリング(Dynamic Truncation)を発生させる。
Sbits=DT(HS)とし、これは31ビットストリングを返すことができる。
Dynamic TruncationDT(String)は、String=String[0]... String[19]で、以下のように動作することができる。
OffsetBitをString[19]の下位4ビットとする。
Offset=StToNum(OffSetBits)であり、ここで、0<=OffSet<=15である。
P=String[OffSet]... String[OffSet+3]とする。
Pの最後の31ビットを返す。
Pの最上位のビットをマスキングすることによって、有符号および無符号モジュロ計算間の混乱を回避することができる。異なるプロセッサがこれらの演算を別々に行い、有符号ビットをマスキングアウトすることによって、あいまい性を解消できる。
ステップ3:HOTP値を計算する。
Snum=StToNum(s)とする。すなわち、Sを0...2^{31}−1の数に変換する。
D=Snum mod10^Digitを返す。ここで、Dは、0...10^{Digit}−1の範囲の数である。
Truncate関数は、ステップ2およびステップ3、すなわち、動的な切り捨てをし、そして10^Digitを法とした還元を行なう。動的オフセット切り捨て技術の目的は、160ビット(20バイト)HMAC−SHA1の結果から、4バイトの動的なバイナリコードを取り出すことである。
インプリメンテーションは、少なくとも6数字のコードを取り出すべきである。安全性の要求次第で、より長いHOTP値を取り出すためにDigit=7またはより多くのものを考えなければならない。
下記は、Digit=6に対してこの技術を使用している例である。すなわち、6数字のHOTP値が、HMAC値から計算される。このコードの例は、hmac_resultがHMAC−SHA1の結果によるバイトアレイであることを仮定して、動的バイナリコードの取り出しを説明している。
Figure 0004938673
* 最後のバイト(バイト19)は、16進値0x5aを持つ。
* 下位の4つのビットの値は、0xa(オフセット値)である。
* オフセット値は、バイト10(0xa)である。
* バイト10で始まる4バイトの値は0x50ef7f19であり、これは、動的バイナリコードDBC1である。
* DBC1のMSBは0x50であるので、DBC2=DBC1=0x50ef7f19である。
* HOTP=10^6を法としたDBC2=872921である。
31ビット、無符号のビッグエンディアン整数として動的バイナリコードを取り扱う。つまり、最初のバイトは0x7fでマスキングされる。1,000,000(10^6)を法としたこの数を用いて、6数字のHOTP値である十進法の872921を発生させる。
あらゆるワンタイムパスワードアルゴリズムは、ワンタイムパスワードアルゴリズムを実現するアプリケーションおよび認証プロトコルと同じ程度の安全性であるにすぎない。パラメータTおよびsは、安全性に対して重大な影響を与えることがある。HMAC−SHA−1値をより短い値に切り捨てることは、総当り攻撃を可能にする。それゆえ、認証サーバは、総当り攻撃を検出して阻止すべきである。ワンタイムパスワードの妥当性確認の実行可能な試行の最大数を規定するスロットルパラメータTは、適切な小さい数に設定すべきである。バリデーションサーバは、何らかの失敗した試行に気付くために、HOTPデバイス毎に個々のカウンタを管理できる。特に、サーバ上で使用される再同期化の方法がウィンドウベースである場合に、そして、ウィンドウサイズが大きい場合に、Tを大きすぎるものとすべきではない。Tは、ユーザビリティにあまり悪影響を及ばさない限り、できるだけ低く設定すべきである。
別のオプションは、総攻撃を回避するために遅延スキームを実現することである。それぞれ失敗したA回の試行の後に、認証サーバは、増加したT*A秒数待つ。例えば、T=5とすると、1回の試行の後、サーバは5秒間待つ。2回目の失敗した試行では、サーバは5*2=10秒待つ等である。
遅延またはロックアウトスキームは、ログインセッションにわたって行なわれ、複数の並列推測技術に基づく、攻撃を回避すべきである。
証明者と検証者との間の認証方法としてHOTPを実現するためのプロトコルPは、安全性のためにある性質がなければならない。Pは、2要素、すなわち、ユーザが知っているもの(パスワード、パスフレーズ、PINコード等のようなシークレットコード)、およびユーザが持つもの(トークン)である。シークレットコードは、ユーザのみに知られており、認証(2要素認証)する目的で、ワンタイムパスワード値で入力できるものとすべきである。
Pは、総当り攻撃に対して弱いものであってはならない。このことは、スロットル/ロックアウトスキームが、例えば、バリデーションサーバ側で実現されることを意味する。
公衆ネットワークに対して機密扱いのデータを送信することに関係する通常の攻撃およびリスク(プライバシー、リプレイ攻撃、等)を回避するために、Pは、安全性の面で最新の技術に対して実現されるべきである。
HOTPクライアント(ハードウェアまたはソフトウェアトークン)は、そのカウンタを増加させて、次のHOTP値、“HOTPクライアント”を計算する。認証サーバによって受け取られた値が、クライアントによって計算された値と整合した場合に、HOTP値が有効化される。このケースでは、サーバが、カウンタ値を1だけ増加させる。
サーバにより受け取られた値がクライアントによって計算された値と整合しない場合に、サーバが別のパスを要求する前に、サーバが、(例えば、ルックアヘッドウィンドウを使用して)再同期化(“resynch”)プロトコルを開始する。
“resynch”が失敗した場合に、認証された試行が最大数に達するまで、サーバは、プロトコルの別の認証パスを生じさせるように要求することができる。
認証された試行が最大数に達した場合に、サーバは、アカウントをロックアウトして、失敗した試行の数がアカウントへのアクセスを生じさせたことをユーザに知らせる手順を開始することができる。
HOTPクライアントは、共有シークレットを知っている本物のエンティティであることを主張しているバリデーションサーバを認証するためにも使用できる。HOTPクライアントおよびサーバは同期化され、同じシークレット(またはそれを再計算する方法)を共有するので、簡単な3パスのプロトコルが適したものとすることができる。例えば、
1−エンドユーザが、TokenIDおよび第1のOTP値、OTP1を入力できる。
2−サーバが、OTP1をチェックでき、OTP1が正しい場合に、OTP2を返信できる。
3−エンドユーザが、ユーザのHOTPデバイスを使用して、OTP2をチェックすることができ、OTP2が正しい場合に、サーバが認証され、エンドユーザがウェブサイトを使用する。
以前に示したように、明らかに、すべてのOTP通信は、安全な(例えば、SSL)接続を通して行われるべきである。
サーバのカウンタ値はHOTP認証の成功の後のみに増加されるが、トークン上のカウンタは、新しいHOTPがユーザによって要求されるごとに増加される。このために、サーバ上およびトークン上のカウンタ値は、同期が外れているかもしれない。
ルックアヘッドパラメータsは、サーバ上で設定することができ、ルックアヘッドウィンドウのサイズを規定する。サーバは、次のs個のHOTPサーバ値を再計算し、受け取ったHOTPクライアントに対して、再計算されたHOTP値をチェックすることができる。このシナリオにおけるカウンタの同期化は、単に、次のHOTP値をサーバが計算して、整合があるか否かを決定することを要求する。連続的なHOTP値のシーケンスを偽造することは、単一のHOTP値を推測することより、はるかに困難であるので、システムは、再同期化の目的で、HOTP値のシーケンス(例えば、2、3)を送ることをユーザに要求できる。
パラメータsによって設定された上限は、HOTP値のチェックをサーバが永遠に続けないことを確実にし(サービス攻撃の拒絶を生じさせる)、HOTP値を生成しようとする攻撃者に対して、可能性ある解法の余地も制限する。ユーザビリティが悪すぎる影響を確実に受けないようにしながら、sを可能な限り低く設定すべきである。 OTP値を発生させて確認するために使用される共有シークレットを扱う動作は、機密扱いの情報の何らかのリークのリスクを減らすために、安全に行なわれなければならない。バリデーションシステムにおいて、共有シークレットを安全に発生させて、記憶させる2つの異なった方法を考える。
1)決定論的発生:シークレットは、プロビジョニングおよび確認の双方の段階でマスターシードから取り出され、要求されたときいつでも実行中に発生される。
2)ランダム発生:シークレットは、プロビジョニング段階でランダムに発生されると、すぐに記憶され、そのライフサイクル中、安全が保たれなければならない。
決定論的発生
可能性ある方策は、マスターシークレットから共有シークレットを取り出すことである。マスターシークレットは、サーバのみで記憶することが可能である。耐不正変更デバイスを使用して、マスターキーを記憶し、マスターキーおよび何らかの公開情報から共有シークレットを取り出すべきである。共有シークレットは、プロビジョニングおよび妥当性確認時間において必要なときに要求に応じて発生させることが可能であるので、主な利益は、共有シークレットの露呈をいつも回避でき、さらに、記憶に関する特別な要求も避けられることである。
2つの異なるケースを考える。
1)単一のマスターキーMKを使用して、共有シークレットを取り出す。各HOTPデバイスは、異なるシークレット、すなわち、K_i=SHA−1(MK,i)を持つ。ここで、iは、シリアル番号、トークンID等のような、HOTPデバイスを一意的に識別する情報の公開部分を表す。このことは、アプリケーションまたはサービスの状況下でありうる。異なるアプリケーションまたはサービスプロバイダは、異なるシークレットおよび設定を持つことがある。
2)いくつかのマスターキーMK_iが使用され、各HOTPデバイスは、1組の取り出された異なるシークレット、{K_i,j=SHA−1(MK_i,j)}を記憶する。ここで、jは、デバイスを識別する情報の公開部分を表す。1979年11月にAdi Shamir氏によって出されたシークレットの共有の仕方、第22巻、第11号の612〜613ページ中のCommunication of the ACMで開示されているような、シークレット共有方法を使用すると、アクティブマスターキーは、HSMの際に、バリデーションサーバでのみ記憶され、安全な場所で保持することが可能である。このケースでは、マスターシークレットMK_iが損なわれた場合に、すべてのデバイスを取り替えなくても別のシークレットに切り替えることが可能である。
決定論的ケースにおける欠点は、マスターシークレットの露呈によって、明らかに、攻撃者が正しい公開情報に基づいて何らかの共有シークレットを再生できる事実を含む。複数のマスターキーのケースでは、すべてのシークレットの破棄、すなわち、新しい組のシークレットへの切り替えが必要である。
一方、マスターキーを記憶して、共有シークレットを発生させるために使用されるデバイスは、耐不正変更なものであるべきである。さらに、HSMは、バリデーションシステムの安全な境界線の外にさらされないので、リークのリスクを減少させることができる。
ランダム発生
共有シークレットはランダムに発生させることが可能である。良好で安全なランダム発生源が、これらのシークレットを発生させるために選択されるべきである。(真の)ランダム発生器は、ランダム性を自然に生じさせる発生源を必要とする。実際には、共有シークレットの発生に対して2つの可能性ある方法がある。
1)ハードウェアベース発生器は、物理現象で生じるランダム性を活用することができる。インプリメンテーションは、発振器に基づき、そしてアクティブ攻撃を行なうことがより困難であるような方法で組み込むことが可能である。
2)良好なソフトウェアランダム発生器を設計することは容易なタスクではないが、ソフトウェアベース発生器がある。効率的だが、簡単なインプリメンテーションは、さまざまな源に基づくことができ、サンプル化されたシーケンスにSHA−1のような一方向関数を適用すべきである。
例えば、記憶の際に、耐不正変更ハードウェア暗号化を使用して共有シークレットを暗号化し、要求されたときのみに共有シークレットを明かすことによって、共有シークレットは、安全に記憶すべきである。例えば、共有シークレットは、HOTP値を確認する必要があるとき解読され、RAMにおける露呈を短期間に制限するためにすぐに再暗号化される。共有シークレットを保持しているデータ記憶装置は、バリデーションシステムおよびシークレットデータベースに対する直接的な攻撃を回避するために、安全な領域内にあるべきである。
特に、共有シークレットへのアクセスは、バリデーションシステムのみによって要求されるプログラムおよびプロセスに限定されるべきである。共有シークレットの保護は、最重要である。
HOTPアルゴリズムの安全性は、以下の数式、
Sec=sv/10^Digit
によって、概算できる。
ここで、
−Secは、敵対者の成功の確率である。
−sは、ルックアヘッド同期化ウィンドウのサイズを表す。
−vは、妥当性確認試行の数を表す。
−Digitは、HOTP値の数を表す。
これは、システムユーザビリティを依然として維持しながら望みのレベルの安全性が実現されるまで、s、T(攻撃者による試行の数を制限するスロットルパラメータ)およびDigitを調整することができる。
共有シークレットKに付加的な認証要素を含めることが望ましいことがある。これらの付加的な要素は、他のものによって容易に獲得されないがトークンに知られている何らかのデータで構成することが可能である。このようなデータの例は、
* ユーザ入力としてトークンで獲得されたPINまたはパスワード
* 電話番号
* トークンでプログラム的に利用可能な何らかの一意的な識別子
を含む。
このシナリオでは、複合共有シークレットKが、1つ以上の付加的な認証要素と組み合わされているランダムシード値から、プロビジョニングプロセス中に作られる。サーバは、複合シークレットを要求に応じて作ること、または記憶することのいずれも可能である。いずれにせよ、インプリメンテーションの選択に基づいて、トークンは、シード値のみを記憶することができる。トークンがHOTP計算を行なうとき、トークンは、ローカル的に取り出されたまたは入力された他の認証要素の値、およびシード値からKを計算することができる。
複合共有シークレットの使用は、トークンに付加的な認証要素を含めることによってHOTPベースの認証システムを強化することができる。トークンが信頼あるデバイスである限り、このアプローチは、他のデバイスに対する(ユーザ入力のPINのような)認証要素の露呈を必要としない、さらなる利点を持つ。
以下は、HOTP アルゴリズムの例示的なインプリメンテーションである。
/*
* OneTimePasswordAlgorithm.java
* OATH Initiative,
* HOTPワンタイムパスワードアルゴリズム
*
*/
/* Copyright(C)2004,OATH. すべての権利が留保されている。
*
* このソフトウェアまたはこの関数に言及または参照している全マテリアルにおいて
* “OATH HOTP Algorithm”としてこのソフトウェアが識別されていることを
* 条件として、このソフトウェアを複製して使用するライセンスを許可する。
*
* 派生作品に言及または参照する全マテリアルにおいて、
* “OATH HOTPアルゴリズムから派生した”として、
* このような作品が識別されていることを条件として、
* 派生作品を作成して使用するライセンスも許可する。
*
* OATH(Open AuTHentication)およびそのメンバは、
* 何らかの特定の目的のためにこのソフトウェアの販売適性、
* またはこのソフトウェアの適合性のいずれに関しても
* 代表するものではない。
*
* いかなる種類の明示的または黙示的な保証をすることなく、“そのまま”で
* 提供されているものであり、OATHおよびそのメンバは、このソフトウェアに * 関するいかなる種類のいかなる保証または責任も明示的に否認する。
*
* これらの注意書きは、この文書および/またはソフトウェアの
* いかなる部分のいかなる複製においても保持されなければならない。
*/
Figure 0004938673
/**
* このクラスは、HMAC−SHA1を提供するJCEを使用して、
* ワンタイムパスワード(OTP)を計算するために使用される。
* 静的方法を含む。
*
* @製作者 Loren Hart
* @1.0バージョン
*/
Figure 0004938673
/**
* クレジットカードアルゴリズムを使用して、チェックサムを計算。
* このアルゴリズムは、何らかの単一のミスタイプされた数字、
* および隣接する数字の何らかの単一の入れ換えを
* 検出する効果を持つ。
*
* @param num チェックサムを計算する数
* @param degit 数の有効桁の数
*
* @return numのチェックサム
*/
Figure 0004938673
/**
* この方法は、JCEを使用して、
* HMAC−SHA1アルゴリズムを提供する。
* HMACは、ハッシュされたメッセージ認証コードを計算し、
* このケースでは、SHA1が、使用されるハッシュアルゴリズムである。
*
* @param keyBytes HMAC−SHA1キーに使用するバイト
* @param text 認証されるべきメッセージまたはテキスト
*
* @throws NoSuchAlgorithmException プロバイダが
* HmacSHA1またはHMAC−SHA1
* ダイジェストアルゴリズムのいずれも利用可能にしない場合
* @throws InvalidKeyException
* 提供されたシークレットが、有効なHMAC−SHA1キーでなかった。
*
*/
Figure 0004938673
/**
* この方法は、所定の組のパラメータに対して
* OTP値を発生させる。
*
* @param secret 共有シークレット
* @param movingFactor 使用ベースで変化する
* カウンタ、時間、または他の値
* @param codeDigit もしあれば、
* チェックサムを含まないOTPの
* @param addCheksum チェックサムの数字をOTPに
* 追加すべきか否かを示すフラグ
* @param truncationOffset 切り捨てを開始するために
* MAC結果に入れるオフセット
* この値が0...15の範囲外である場合、
* 動的切り捨てが使用される。
* MACの最後のバイトの最後の4ビットが
* 開始オフセットを決定するために
* 使用されるときに動的切り捨てである。
* @throws NoSuchAlgorithmException プロバイダが、HmacSHA1または
* HMAC−SH1ダイジェストアルゴリズム
* のいずれも利用可能にしない場合
* @throws InvalidKeyException
* 提供されたシークレットが、
* 有効なHMAC−SHA1キーでなかった。
*
* @return {@link codeDigits}数字プラス、
* 要求された場合にはオプション的なチェックサム数字を含む
* ベース10のA数値ストリング
*/
Figure 0004938673
カスタマイズされたインプレメンテーションに使用できるバリエーションとして、HOTPアルゴリズムに対していくつかの拡張を行なうことができる。
安全性に関する簡単な拡張は、HMAC−SHA1値から、より多い数字を取り出すことである。例えば、10^8を法としたHOTP値を計算して、8数字のHOTP値を作ることは、敵対者の成功の確率をsv/10^6からsv/10^8に減少させる。このことは、例えば、Tおよび/またはsを増加させることによって、ユーザビリティを向上する好機を与え、一方では依然として全体的により良い安全性を実現することができる。例えば、s=10で10v/10^8=v/10^7<v/10^6である。このv/10^6は、s=1のときに6数字コードに対して理論上最適である。
別のオプションは、A−Zおよび0−9値を使用することである。もっと正確に言えば0、OおよびQとともに、l,1およびIは非常に類似しており、小型ディスプレイでは同一に見える可能性があるので、文字間の何らかの混乱を回避するために、英数字のアルファベットから抽出した32個のシンボルのサブセットを使用する。直接的な結果は、安全性が、6数字のHOTP値に対するsv/32^6、および8数字のHOTP値に対するsv/32^8のオーダーになることである。32^6>10^9であるので、6つの英数字のHOTPコードの安全性は、9数字のHOTP値よりわずかに良く、9数字のHOTP値は提案されているアルゴリズムによってサポートされているHOTPコードの最大の長さである。32^8>10^12であるので、8個の英数字のHOTPコードの安全性は、9数字のHOTP値よりかなり良い。HOTP値を表示して入力するのに使用されるトークン/インターフェイスおよびアプリケーションに依存して、英数字の値を選択することは、低コストで安全性を向上させ、ユーザにインパクトを与える簡単かつ効率的な方法となり得る。
HOTP値のショートシーケンス(例えば、2または3)を入力する再同期化について述べると、これは、プロトコルに対する概念として一般化することが可能である。入力するHOTPシーケンスの長さを規定するパラメータLを追加することができる。デフォルトによって、値Lは1に設定すべきであるが、安全性を増強させる必要がある場合、ユーザは、(おそらくは、短期間に、または特定の動作で)L個のHOTP値を入力するように要求されるかもしれない。これは、HOTPの長さを増加せずに、または英数字値を使用せずに安全性を強化する別の方法となり得る。
システムは、(例えば、毎晩、または週に2回等)定期的に同期化を要求する、また、この目的を実現するために、L個のHOTP値のシーケンスを要求するようにプログラム化することもできる。
クライアントが、アクセスして、HOTP値のみではなく、カウンタ値のような他の情報も送ることができると仮定すると、より効率的で安全な再同期化の方法が可能である。クライントアプリケーションは、HOTP−クライント値、および関連するC−クライントカウンタ値を送ることができる。HOTP値は、カウンタのメッセージ認証コードとして機能するものである。
以下がすべて真である場合に、サーバが受け入れる。ここで、C−サーバは、C−サーバ自体の現在のカウンタ値である。
1)C−クラインアト>=C−サーバ
2)C−クライント−C−サーバ<=s
3)HOTP−クライントが有効なHOTP(K,C−Client)であることをチェック。
4)真である場合に、サーバがC−クライアント+1にCを設定し、クライアントが認証される。
このケースでは、これ以上、ルックアヘッドウィンドウを管理する必要がない。敵対者の成功の確率は、たったv/10^6、すなわち、およそ100万分のvである。副次的な利益は、明らかに、“際限なく”sを増加させることができるので、安全性に影響を及ぼさないで、システムのユーザビリティを向上させることができる。この再同期化プロトコルは、クライアントおよびサーバアプリケーションに対する関連する影響が受け入れ可能であると考えられるときにはいつでも使用することができる。
ワンタイムパスワード値、すなわち、HOTP(K,C,[Data])を発生させるために使用されるデータフィールドの導入を別のオプションとすることができる。ここで、Dataは、例えば、Data=Address|PINのような、識別関連情報のさまざまな部分の連結とすることができるオプション的なフィールドである。
1つは、ムービング係数のみとして、またはCounterとの組み合わせのいずれでTimerも使用できる。このケースでは、例えば、Data=Timerであり、ここで、Timerは、例えば、特定の時間ステップを与えるために、いくつかの係数(8、16、32等)で除算されたUNIX(登録商標)−時間(1970年1月1日以来のGMTの秒)であってもよい。ワンタイムパスワードに対する時間ウィンドウは、以前に規定されたような再同期化パラメータで乗算された時間ステップと等しい。例えば、時間ステップとして64秒をとって、再同期化パラメータに対して7を用いた場合に、+/−3分の受け入れウィンドウを得る。Dataフィールドが明確に指定されることを仮定すると、Dataフィールドを使用することによって、アルゴリズムのインプレメンテーションをより柔軟にできる。
メモリに結合されているプロセッサによって、本発明の実施形態を実現できる。プロセッサは、汎用マイクロプロセッサ、またはハードウェアおよび/またはファームウェアで本発明の実施形態にしたがった方法の少なくとも一部を実現する特定用途向け集積回路とすることも可能である。メモリは、ランダムアクセスメモリ、ハードディスク、フラッシュメモリ、およびこれらに類するもののような、デジタル情報を記憶できる任意のデバイスとすることができる。メモリは、プロセッサによって実行され、本発明の実施形態にしたがった方法の少なくとも一部を行なうように適合されている命令を記憶できる。プロセッサは、ネットワークに結合され、(OTPおよび他のデータのような)認証データを妥当性確認のためにこのネットワークを通して送ることができる。
本発明にしたがった認証システムは、トークンプロセッサおよびトークンメモリを備えたトークンと、サーバプロセッサおよびサーバメモリを備えたバリデーションサーバとを具備していてもよい。トークンプロセッサは、トークンメモリ中に記憶されている命令に基づいてOTP発生アルゴリズムを実現する。トークンメモリは、共有シークレットKおよびトークンカウンタ値Cを記憶することも可能である。バリデーションサーバプロセッサは、バリデーションサーバメモリに記憶されている命令、ならびにバリデーションサーバメモリに記憶されているバリデーションサーバカウンタ値C’および共有シークレットKに基づいて、OTPバリデーションアルゴリズムを実現できる。バリデーションサーバメモリはスロットルパラメータT、ルックアヘッドウィンドウサイズs等のような、他のパラメータも記憶することができる。
トークンは、KおよびCに基づいて計算されたそのワンタイムパスワードをバリデーションサーバに送ることができる。バリデーションサーバは、KおよびC’に基づいて、ワンタイムパスワードを計算することができる。整合しない場合、バリデーションサーバは、KおよびC’+nに基づいて、次のいくつかのワンタイムパスワードを計算することができる。ここで、nは1からsの整数である。これらの計算されたワンタイムパスワードのいずれもトークンから受け取ったワンタイムパスワードと整合しない場合、バリデーションサーバは妥当性確認試行の失敗を示す信号を送ることができる。計算されたワンタイムパスワードのうちの1つがトークンから受け取ったワンタイムパスワードと整合する場合、バリデーションサーバは妥当性確認の成功を示す信号を送ることができる。バリデーションサーバは、T回の妥当性確認試行の不成功後にさらなる妥当性確認試行を中止することができ、所定のトークンはいくつかのこのような失敗した試行の源であるという趣旨で、システムアドミニストレータにアラートすることができる。
前述の記述は、例示を意味しており、本発明の範囲を限定することを意味していない。先に記述した実施形態を除いた他の実施形態は、当業者によって発明の範囲内に入ることが見い出される。

Claims (15)

  1. 認証システムにおいて、
    トークンメモリに結合され、前記トークンメモリは、共有シークレットキーKとトークンカウンタ値Cとを記憶し、前記トークンメモリは、トークンプロセッサによって実行され、ワンタイムパスワードを発生させるように適合されている命令をさらに記憶するトークンプロセッサと、
    バリデーションサーバメモリに結合され、前記バリデーションサーバメモリは、共有シークレットキーKとバリデーションサーバカウンタ値C’とを記憶するバリデーションサーバとを具備し、
    前記トークンプロセッサは、キーKおよびカウンタ値Cに基づいてHMAC−SHA−1値を発生させ、HMAC−SHA−1値の下位4ビットに基づいてストリング値を発生させ、発生されたストリング値の最上位ビットをマスキングし、Digitがワンタイムパスワードの数である、10^Digitを法として、マスキングされた値を切り捨てることによって、ワンタイムパスワードを計算するとともに、妥当性確認のために、ワンタイムパスワードをバリデーションサーバに送る認証システム。
  2. 前記バリデーションサーバメモリは、ルックアヘッドウィンドウパラメータsをさらに記憶し、前記バリデーションサーバメモリの命令は、バリデーションサーバプロセッサによって実行され、前記バリデーションサーバによって計算されたワンタイムパスワードが、トークンから受け取ったワンタイムパスワードと整合するまで、すなわち、nが1からsの整数である、n=sとなるまで、KおよびC’+nに基づいて、ワンタイムパスワードを計算する請求項1記載のシステム。
  3. 受け取ったワンタイムパスワードと計算されたワンタイムパスワードとの間に整合がない場合に、失敗した妥当性確認試行を示す信号をトークンプロセッサに送る請求項2記載のシステム。
  4. 受け取ったワンタイムパスワードと計算されたワンタイムパスワードとの間に整合がある場合に、前記バリデーションサーバプロセッサが妥当性確認の成功を示す信号をトークンプロセッサに送る請求項2記載のシステム。
  5. 前記バリデーションサーバメモリは、スロットルパラメータTをさらに記憶し、失敗した妥当性確認試行の数がTと等しい場合にスロットル信号がトークンプロセッサに送られる請求項3記載のシステム。
  6. 前記バリデーションサーバメモリは、スロットルパラメータTをさらに記憶し、失敗した妥当性確認試行の数がTと等しい場合にさらなる妥当性確認試行が中止される請求項1記載のシステム。
  7. バリデーションサーバにおいて、
    プロセッサと、
    前記プロセッサに結合されているメモリとを具備し、
    前記メモリは、
    共有シークレットキーKと、バリデーションサーバカウンタ値C’と、命令とを記憶し、
    前記命令は、
    前記プロセッサによって実行され、ワンタイムパスワードをトークンから受け取り、キーKおよびカウンタ値C’に基づいてHMAC−SHA−1値を発生させ、HMAC−SHA−1値の下位4ビットに基づいてストリング値を発生させ、発生されたストリング値の最上位ビットをマスキングし、Digitがワンタイムパスワードの数である、10^Digitを法として、マスキングされた値を切り捨てることによって、ワンタイムパスワードを計算して、計算されたワンタイムパスワードをトークンから受け取ったワンタイムパスワードと比較するとともに、比較結果を示す信号をトークンに送るように適合されているバリデーションサーバ。
  8. 前記メモリはルックアヘッドウィンドウパラメータsをさらに記憶し、前記計算されたワンタイムパスワードが前記トークンから受け取ったワンタイムパスワードと整合しない場合に、前記バリデーションサーバは、nが1からsの整数である、カウンタ値C’+nおよびキーKに基づいてワンタイムパスワードを計算する請求項7記載のバリデーションサーバ。
  9. 前記受け取ったワンタイムパスワードが前記計算されたワンタイムパスワードと整合しない場合に、失敗した妥当性確認試行を示す信号をトークンに送る請求項8記載のバリデーションサーバ。
  10. 前記受け取ったワンタイムパスワードが前記計算されたワンタイムパスワードと整合しない場合に、妥当性確認の成功を示す信号をトークンに送る請求項8記載のバリデーションサーバ。
  11. 前記メモリは、スロットルパラメータTを記憶し、T回失敗した妥当性確認試行の後にトークンからのさらなる妥当性確認試行が中止される請求項8記載のバリデーションサーバ。
  12. キーKおよびカウンタ値Cに基づいてHMAC−SHA−1値を発生させ、HMAC−SHA−1値の下位4ビットに基づいてストリング値を発生させ、発生されたストリング値の最上位ビットをマスキングし、Digitがワンタイムパスワードの数である、10^Digitを法として、マスキングされた値を切り捨てることによって、トークンによって生成されたワンタイムパスワードを確認する方法において、
    キーKおよびカウンタ値C’に基づいてHMAC−SHA−1値を発生させることによって、受け取ったワンタイムパスワードと比較するワンタイムパスワードを計算することと、
    HMAC−SHA−1値の下位4ビットに基づいてストリング値を発生させることと、
    発生されたストリング値の最上位ビットをマスキングすることと、
    Digitがワンタイムパスワードの数である、10^Digitを法として、マスキングされた値を切り捨てることと、
    前記計算されたワンタイムパスワードを前記受け取ったワンタイムパスワードと比較して整合しない場合に、C’を1だけ増加させ、ワンタイムパスワードを再計算し、それでもなお、整合しない場合に、C’=C’+sとなるまで、C’を増加させることを続行し、ワンタイムパスワードを再計算して、再計算されたワンタイムパスワードを前記受け取ったワンタイムパスワードと比較し、sはルックアヘッドウィンドウパラメータであることとを含む方法。
  13. 前記計算された、または再計算されたワンタイムパスワードが、前記受け取ったパスワードと整合する場合に、妥当性確認の成功を示す信号をトークンに送る請求項12記載の方法。
  14. 前記計算された、または再計算されたワンタイムパスワードが、前記受け取ったパスワードと整合する場合に、失敗した妥当性確認試行を示す信号をトークンに送る請求項12記載の方法。
  15. 失敗した妥当性確認試行がスロットルパラメータTを超えた場合に、妥当性確認試行を中止することをさらに含む請求項14記載の方法。
JP2007536963A 2004-10-15 2005-10-17 ワンタイムパスワード Active JP4938673B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US61860004P 2004-10-15 2004-10-15
US60/618,600 2004-10-15
PCT/US2005/037113 WO2006044717A2 (en) 2004-10-15 2005-10-17 One time password

Publications (3)

Publication Number Publication Date
JP2008517384A JP2008517384A (ja) 2008-05-22
JP2008517384A5 JP2008517384A5 (ja) 2012-02-16
JP4938673B2 true JP4938673B2 (ja) 2012-05-23

Family

ID=36203583

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007536963A Active JP4938673B2 (ja) 2004-10-15 2005-10-17 ワンタイムパスワード

Country Status (9)

Country Link
US (2) US8087074B2 (ja)
EP (1) EP1828946B1 (ja)
JP (1) JP4938673B2 (ja)
KR (1) KR20070050504A (ja)
CN (2) CN104104517B (ja)
AU (1) AU2005295579B2 (ja)
CA (1) CA2583741C (ja)
SG (1) SG156643A1 (ja)
WO (1) WO2006044717A2 (ja)

Families Citing this family (101)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2005295579B2 (en) 2004-10-15 2011-08-04 NortonLifeLock Inc. One time password
US8832458B2 (en) * 2005-03-22 2014-09-09 Seagate Technology Llc Data transcription in a data storage device
EP1987650A2 (en) * 2006-02-22 2008-11-05 Axalto SA An authentication token for identifying a cloning attack onto such authentication token
US9106409B2 (en) 2006-03-28 2015-08-11 Telefonaktiebolaget L M Ericsson (Publ) Method and apparatus for handling keys used for encryption and integrity
PT1999930T (pt) * 2006-03-28 2017-04-07 ERICSSON TELEFON AB L M (publ) Método e aparelho para gestão de chaves utilizadas para cifra e integridade
US9258124B2 (en) 2006-04-21 2016-02-09 Symantec Corporation Time and event based one time password
FR2902253B1 (fr) * 2006-06-13 2009-04-03 Ingenico Sa Procede et dispositif d'authentification d'un utilisateur
JP5053617B2 (ja) * 2006-10-20 2012-10-17 株式会社リコー ソフトウェア実行制御プログラム及びソフトウェア実行制御方法
US8958562B2 (en) * 2007-01-16 2015-02-17 Voltage Security, Inc. Format-preserving cryptographic systems
GB2442249B (en) * 2007-02-20 2008-09-10 Cryptomathic As Authentication device and method
CA2590989C (en) * 2007-06-05 2014-02-11 Diversinet Corp. Protocol and method for client-server mutual authentication using event-based otp
US8494959B2 (en) * 2007-08-17 2013-07-23 Emc Corporation Payment card with dynamic account number
CN101106455B (zh) 2007-08-20 2010-10-13 北京飞天诚信科技有限公司 身份认证的方法和智能密钥装置
GB2458470A (en) * 2008-03-17 2009-09-23 Vodafone Plc Mobile terminal authorisation arrangements
US8543091B2 (en) * 2008-06-06 2013-09-24 Ebay Inc. Secure short message service (SMS) communications
US20090307140A1 (en) 2008-06-06 2009-12-10 Upendra Mardikar Mobile device over-the-air (ota) registration and point-of-sale (pos) payment
US9363262B1 (en) * 2008-09-15 2016-06-07 Galileo Processing, Inc. Authentication tokens managed for use with multiple sites
FR2941833B1 (fr) * 2009-02-03 2011-04-01 Oberthur Technologies Serveur, systeme et procede d'authentification a partir de mots de passe dynamiques.
US20110083018A1 (en) * 2009-10-06 2011-04-07 Validity Sensors, Inc. Secure User Authentication
US8544075B2 (en) * 2010-06-15 2013-09-24 Microsoft Corporation Extending a customer relationship management eventing framework to a cloud computing environment in a secure manner
US8627424B1 (en) * 2010-06-30 2014-01-07 Emc Corporation Device bound OTP generation
US8832807B1 (en) * 2010-08-05 2014-09-09 Christine E. Kuo Method and apparatus for asynchronous dynamic password
US8312519B1 (en) * 2010-09-30 2012-11-13 Daniel V Bailey Agile OTP generation
US8756652B2 (en) 2010-11-03 2014-06-17 Ebay Inc. Automatic PIN creation using password
US20130047210A1 (en) * 2011-02-14 2013-02-21 Mark Philip Rotman Systems and Methods for Providing Security When Accessing a User Account of a Browser-Based Communications Application
US8885833B2 (en) 2011-04-11 2014-11-11 Microsoft Corporation One-time recovery credentials for encrypted data access
LT2699264T (lt) 2011-04-20 2018-07-10 Medimmune, Llc Antikūnai ir kitos molekulės, kurios jungiasi prie b7-h1 ir pd-1
CN102307095B (zh) * 2011-04-27 2014-08-27 上海动联信息技术股份有限公司 一种动态令牌种子密钥注入和变形方法
US9104993B2 (en) 2011-04-28 2015-08-11 Lantronix, Inc. Asset management via virtual tunnels
CN102347942B (zh) * 2011-07-01 2016-09-28 飞天诚信科技股份有限公司 一种基于图像采集的信息安全方法及系统
US9858401B2 (en) * 2011-08-09 2018-01-02 Biogy, Inc. Securing transactions against cyberattacks
US8862767B2 (en) 2011-09-02 2014-10-14 Ebay Inc. Secure elements broker (SEB) for application communication channel selector optimization
US20130085944A1 (en) * 2011-09-29 2013-04-04 Pacid Technologies, Llc System and method for application security
CN104025504B (zh) * 2011-12-27 2018-07-31 英特尔公司 用于通过设备特定的一次性密码向网络认证的方法、系统、设备和装置
US9258249B2 (en) * 2012-02-13 2016-02-09 Microsoft Technology Licensing, Llc Resource access throttling
CN103294938B (zh) 2012-02-29 2016-08-24 国际商业机器公司 访问请求验证方法及系统、授权信息生成方法、硬件设备
US20140330578A1 (en) * 2012-03-13 2014-11-06 Theodore Pincus Electronic medical history (emh) data management system for standard medical care, clinical medical research, and analysis of long-term outcomes
US9589399B2 (en) 2012-07-02 2017-03-07 Synaptics Incorporated Credential quality assessment engine systems and methods
CN103679492B (zh) * 2012-09-12 2017-07-28 卓望数码技术(深圳)有限公司 一种o2o模式下的商品订购及消费识别的方法和系统
GB201217084D0 (en) 2012-09-25 2012-11-07 Uni I Oslo Network security
JP5216932B1 (ja) * 2012-10-01 2013-06-19 さくら情報システム株式会社 ワンタイムパスワード装置、システム及びプログラム
DE102012218943A1 (de) * 2012-10-17 2014-04-17 Bundesdruckerei Gmbh Verfahren zur Initialisierung von Datenbankmitteln
DE102012218944A1 (de) * 2012-10-17 2014-04-17 Bundesdruckerei Gmbh Verfahren zur Erzeugung eines One-Time-Password (OTP)
CN103838753B (zh) * 2012-11-23 2018-04-27 腾讯科技(北京)有限公司 一种兑换码的存储、验证方法和装置
US9430655B1 (en) * 2012-12-28 2016-08-30 Emc Corporation Split tokenization
US20140222671A1 (en) * 2013-02-07 2014-08-07 Aurelio Elias System and method for the execution of third party services transaction over financial networks through a virtual integrated automated teller machine on an electronic terminal device.
US10110578B1 (en) * 2013-03-12 2018-10-23 Amazon Technologies, Inc. Source-inclusive credential verification
WO2015023341A2 (en) 2013-05-23 2015-02-19 Intertrust Technologies Corporation Secure authorization systems and methods
WO2014194293A1 (en) 2013-05-30 2014-12-04 Amplimmune, Inc. Improved methods for the selection of patients for pd-1 or b7-h4 targeted therapies, and combination therapies thereof
US10460314B2 (en) * 2013-07-10 2019-10-29 Ca, Inc. Pre-generation of session keys for electronic transactions and devices that pre-generate session keys for electronic transactions
US9218473B2 (en) * 2013-07-18 2015-12-22 Suprema Inc. Creation and authentication of biometric information
US9531541B2 (en) 2013-09-12 2016-12-27 Carl BEAME Cryptographic storage device controller
US9917694B1 (en) * 2013-11-27 2018-03-13 EMC IP Holding Company LLC Key provisioning method and apparatus for authentication tokens
US10084601B2 (en) * 2014-06-17 2018-09-25 Sony Corporation Method, system and electronic device
TWI693232B (zh) 2014-06-26 2020-05-11 美商宏觀基因股份有限公司 與pd-1和lag-3具有免疫反應性的共價結合的雙抗體和其使用方法
US10212136B1 (en) 2014-07-07 2019-02-19 Microstrategy Incorporated Workstation log-in
CN104158664A (zh) * 2014-08-11 2014-11-19 北京唐桓科技发展有限公司 一种身份认证方法及系统
US9860242B2 (en) * 2014-08-11 2018-01-02 Vivint, Inc. One-time access to an automation system
FR3030828A1 (fr) * 2014-12-22 2016-06-24 Orange Procede de securisation de transactions sans contact
CN104484596B (zh) * 2015-01-07 2018-02-13 宇龙计算机通信科技(深圳)有限公司 多操作系统中创建密码的方法及终端
US10701067B1 (en) 2015-04-24 2020-06-30 Microstrategy Incorporated Credential management using wearable devices
US10299118B1 (en) * 2015-06-01 2019-05-21 Benten Solutions Inc. Authenticating a person for a third party without requiring input of a password by the person
TW201709929A (zh) 2015-06-12 2017-03-16 宏觀基因股份有限公司 治療癌症的聯合療法
US9648012B1 (en) * 2015-06-26 2017-05-09 EMC IP Holding Company LLC Automatic propagation of password updates on multiple devices
WO2017007767A1 (en) * 2015-07-08 2017-01-12 Alibaba Group Holding Limited Method and device for authentication using dynamic passwords
CN106341372A (zh) * 2015-07-08 2017-01-18 阿里巴巴集团控股有限公司 终端的认证处理、认证方法及装置、系统
US9860243B2 (en) 2015-07-29 2018-01-02 International Business Machines Corporation Authenticating applications using a temporary password
US9930034B2 (en) 2015-07-29 2018-03-27 International Business Machines Corporation Authenticating applications using a temporary password
KR20180034588A (ko) 2015-07-30 2018-04-04 마크로제닉스, 인크. Pd-1-결합 분자 및 그것의 사용 방법
US9853968B2 (en) 2015-08-19 2017-12-26 Winifred Shen Systems and methods for authenticating users accessing a secure network with one-session-only, on-demand login credentials
WO2017062619A2 (en) 2015-10-08 2017-04-13 Macrogenics, Inc. Combination therapy for the treatment of cancer
EP3387604A1 (en) 2015-12-07 2018-10-17 Mastercard International Incorporated Systems and methods for utilizing vehicle connectivity in association with payment transactions
CR20180318A (es) 2015-12-14 2018-09-19 Macrogenics Inc Moléculas biespecíficas que tienen inmunorreactividad con pd-1 y ctla-4, y métodos de uso de las mismas
WO2017106372A1 (en) 2015-12-15 2017-06-22 Oncoimmune, Inc. Chimeric and humanized anti-human ctla4 monoclonal antibodies and uses thereof
US9830445B1 (en) 2015-12-18 2017-11-28 EMC IP Holding Company LLC Personal identification number (PIN) replacement in a one-time passcode based two factor authentication system
US10855664B1 (en) 2016-02-08 2020-12-01 Microstrategy Incorporated Proximity-based logical access
US10231128B1 (en) 2016-02-08 2019-03-12 Microstrategy Incorporated Proximity-based device access
CN105871866B (zh) * 2016-04-28 2018-10-12 济南大学 一种基于计算机硬件信息的密码管理系统及方法
TWI596556B (zh) * 2016-07-29 2017-08-21 臺灣集中保管結算所股份有限公司 使用通用一次性密碼以將一用戶與多個服務提供者進行認證之方法及系統
JP6404958B2 (ja) * 2017-01-20 2018-10-17 日本電信電話株式会社 認証システム、方法及びプログラム並びにサーバ
US11459394B2 (en) 2017-02-24 2022-10-04 Macrogenics, Inc. Bispecific binding molecules that are capable of binding CD137 and tumor antigens, and uses thereof
US10657242B1 (en) 2017-04-17 2020-05-19 Microstrategy Incorporated Proximity-based access
US10771458B1 (en) 2017-04-17 2020-09-08 MicoStrategy Incorporated Proximity-based user authentication
US11140157B1 (en) 2017-04-17 2021-10-05 Microstrategy Incorporated Proximity-based access
US10749674B2 (en) 2017-09-29 2020-08-18 Micro Focus Llc Format preserving encryption utilizing a key version
CN108024249B (zh) * 2017-11-30 2021-08-06 郑州云海信息技术有限公司 一种防止wifi暴力破解的方法及系统
PE20211001A1 (es) 2018-02-27 2021-06-01 Incyte Corp Imidazopirimidinas y triazolopirimidinas como inhibidores de a2a / a2b
JP6538923B2 (ja) * 2018-04-26 2019-07-03 日本電信電話株式会社 認証システム、方法及びプログラム並びにサーバ
JP7391046B2 (ja) 2018-05-18 2023-12-04 インサイト・コーポレイション A2a/a2b阻害剤としての縮合ピリミジン誘導体
MX2020014158A (es) 2018-06-20 2021-04-12 Incyte Corp Anticuerpos anti proteína de muerte programada 1 (pd-1) y usos de estos.
SG11202102798TA (en) 2018-10-02 2021-04-29 Capital One Services Llc Systems and methods for cryptographic authentication of contactless cards
US10581611B1 (en) * 2018-10-02 2020-03-03 Capital One Services, Llc Systems and methods for cryptographic authentication of contactless cards
CN111321947A (zh) * 2018-12-14 2020-06-23 云丁网络技术(北京)有限公司 一种基于一次性密码的控制方法及装置
CN112585602A (zh) 2018-11-14 2021-03-30 惠普发展公司,有限责任合伙企业 基于临时密码的固件访问
TWI829857B (zh) 2019-01-29 2024-01-21 美商英塞特公司 作為a2a / a2b抑制劑之吡唑并吡啶及三唑并吡啶
CN110602142B (zh) * 2019-09-29 2022-07-19 成都安恒信息技术有限公司 一种基于密码链的后台认证方法
EP4085060A1 (en) 2020-01-03 2022-11-09 Incyte Corporation Combination therapy comprising a2a/a2b and pd-1/pd-l1 inhibitors
CA3207066A1 (en) 2020-12-29 2022-07-07 Incyte Corporation Combination therapy comprising a2a/a2b inhibitors, pd-1/pd-l1 inhibitors, and anti-cd73 antibodies
CN113507368A (zh) * 2021-06-17 2021-10-15 北京惠而特科技有限公司 基于动态口令的工业控制设备身份认证方法及装置
CN114067497B (zh) * 2021-11-06 2023-08-08 威胜能源技术股份有限公司 一种基于动态口令的离线换电方法
CN115225673A (zh) * 2022-07-14 2022-10-21 蔚来汽车科技(安徽)有限公司 车辆监控方法、设备和存储介质

Family Cites Families (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5168520A (en) * 1984-11-30 1992-12-01 Security Dynamics Technologies, Inc. Method and apparatus for personal identification
US4998279A (en) * 1984-11-30 1991-03-05 Weiss Kenneth P Method and apparatus for personal verification utilizing nonpredictable codes and biocharacteristics
AU3777593A (en) * 1992-02-26 1993-09-13 Paul C. Clark System for protecting computers via intelligent tokens or smart cards
JP3053527B2 (ja) * 1993-07-30 2000-06-19 インターナショナル・ビジネス・マシーンズ・コーポレイション パスワードを有効化する方法及び装置、パスワードを生成し且つ予備的に有効化する方法及び装置、認証コードを使用して資源のアクセスを制御する方法及び装置
US5937068A (en) * 1996-03-22 1999-08-10 Activcard System and method for user authentication employing dynamic encryption variables
US5802176A (en) * 1996-03-22 1998-09-01 Activcard System for controlling access to a function, using a plurality of dynamic encryption variables
US6178236B1 (en) * 1996-03-27 2001-01-23 Siemens Information And Communication, Networks, Inc. Method and system for providing password protection
KR100213188B1 (ko) * 1996-10-05 1999-08-02 윤종용 사용자 인증 장치 및 방법
US6292896B1 (en) * 1997-01-22 2001-09-18 International Business Machines Corporation Method and apparatus for entity authentication and session key generation
US6891819B1 (en) * 1997-09-05 2005-05-10 Kabushiki Kaisha Toshiba Mobile IP communications scheme incorporating individual user authentication
US6370649B1 (en) * 1998-03-02 2002-04-09 Compaq Computer Corporation Computer access via a single-use password
JPH11282982A (ja) * 1998-03-31 1999-10-15 Oki Electric Ind Co Ltd 利用者カード、通信端末機、通信サーバ、通信システム、および、通信システムの利用者認証方法
JPH11316740A (ja) * 1998-05-06 1999-11-16 Meidensha Corp ワンタイムパスワード認証システム
AU774003B2 (en) * 1998-09-22 2004-06-10 Avocent Huntsville Corporation System for accessing personal computers remotely
JP2001175599A (ja) * 1999-12-15 2001-06-29 Metro Inc 認証システム
EP1254547B1 (en) * 2000-02-08 2005-11-23 Swisscom Mobile AG Single sign-on process
JP2001352324A (ja) * 2000-06-07 2001-12-21 Nec Corp ワンタイムパスワード生成装置、認証方法およびワンタイムパスワード生成プログラムを記録した記録媒体
AU7182701A (en) * 2000-07-06 2002-01-21 David Paul Felsher Information record infrastructure, system and method
AU2002239500A1 (en) * 2000-10-20 2002-06-03 Wave Systems Corporation Cryptographic data security system and method
WO2002048846A2 (en) 2000-12-14 2002-06-20 Quizid Technologies Limited An authentication system
GB0119629D0 (en) * 2001-08-10 2001-10-03 Cryptomathic As Data certification method and apparatus
CN100454809C (zh) * 2001-12-20 2009-01-21 西北工业大学 利用一次性口令进行交易认证的方法
US7661129B2 (en) * 2002-02-26 2010-02-09 Citrix Systems, Inc. Secure traversal of network components
JP4090251B2 (ja) * 2002-03-05 2008-05-28 パスロジ株式会社 認証装置、認証方法、ならびに、プログラム
GB0210692D0 (en) * 2002-05-10 2002-06-19 Assendon Ltd Smart card token for remote authentication
US7523490B2 (en) * 2002-05-15 2009-04-21 Microsoft Corporation Session key security protocol
US7069438B2 (en) * 2002-08-19 2006-06-27 Sowl Associates, Inc. Establishing authenticated network connections
US7171564B2 (en) * 2002-08-29 2007-01-30 International Business Machines Corporation Universal password generation method
US7318235B2 (en) * 2002-12-16 2008-01-08 Intel Corporation Attestation using both fixed token and portable token
US7519989B2 (en) * 2003-07-17 2009-04-14 Av Thenex Inc. Token device that generates and displays one-time passwords and that couples to a computer for inputting or receiving data for generating and outputting one-time passwords and other functions
US7529371B2 (en) * 2004-04-22 2009-05-05 International Business Machines Corporation Replaceable sequenced one-time pads for detection of cloned service client
US7886345B2 (en) * 2004-07-02 2011-02-08 Emc Corporation Password-protection module
US7373516B2 (en) * 2004-08-19 2008-05-13 International Business Machines Corporation Systems and methods of securing resources through passwords
AU2005295579B2 (en) 2004-10-15 2011-08-04 NortonLifeLock Inc. One time password
US7840993B2 (en) * 2005-05-04 2010-11-23 Tricipher, Inc. Protecting one-time-passwords against man-in-the-middle attacks

Also Published As

Publication number Publication date
CA2583741C (en) 2014-10-14
CN101076807B (zh) 2014-09-03
CA2583741A1 (en) 2006-04-27
JP2008517384A (ja) 2008-05-22
WO2006044717A2 (en) 2006-04-27
US8087074B2 (en) 2011-12-27
AU2005295579A1 (en) 2006-04-27
US8434138B2 (en) 2013-04-30
WO2006044717A3 (en) 2006-09-28
EP1828946A4 (en) 2010-12-29
EP1828946B1 (en) 2018-02-28
US20090313687A1 (en) 2009-12-17
KR20070050504A (ko) 2007-05-15
CN104104517A (zh) 2014-10-15
US20120096535A1 (en) 2012-04-19
AU2005295579B2 (en) 2011-08-04
SG156643A1 (en) 2009-11-26
CN101076807A (zh) 2007-11-21
EP1828946A2 (en) 2007-09-05
CN104104517B (zh) 2017-11-07

Similar Documents

Publication Publication Date Title
JP4938673B2 (ja) ワンタイムパスワード
M'Raihi et al. Hotp: An hmac-based one-time password algorithm
US6950523B1 (en) Secure storage of private keys
KR101095239B1 (ko) 보안 통신
JP4843114B2 (ja) トークン認証システムおよび方法
CA2697687C (en) Method and system for secure communication using hash-based message authentication codes
US7853794B2 (en) Efficient method for providing secure remote access
US7979707B2 (en) Secure seed generation protocol
US20060036857A1 (en) User authentication by linking randomly-generated authentication secret with personalized secret
US20070058802A1 (en) Cryptosystem Based on a Jacobian of a Curve
JP2008517384A5 (ja)
US20110219233A1 (en) Quadratic residue based password authenticated key exchange method and system
CN109951276B (zh) 基于tpm的嵌入式设备远程身份认证方法
JP2019537349A (ja) 複合デジタル署名
M'Raihi et al. RFC 4226: HOTP: An HMAC-based one-time password algorithm
Ramtri et al. Secure banking transactions using RSA and two fish algorithms
KR100401063B1 (ko) 패스워드 기반 키교환 방법 및 그 시스템
Hoornaert et al. Network Working Group D. M’Raihi Request for Comments: 4226 VeriSign Category: Informational M. Bellare UCSD
Guan An Enhanced One-Time Password Implementation

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20081002

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20090804

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090904

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20091104

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110621

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20110921

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20110929

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20111021

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20111028

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20111121

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20111129

A524 Written submission of copy of amendment under article 19 pct

Free format text: JAPANESE INTERMEDIATE CODE: A524

Effective date: 20111221

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120124

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120223

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150302

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4938673

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250