(57)【要約】  【課題】    ダイナミックトークンシードキーの保存及び変形方法を提供する。【解決手段】  本発明において開示するダイナミックトークンシードキーの保存及び変形方法は、事前にトークンの初期シードキーを生成し、生産中に初期シードキーをトークンに保存する方法である。トークンを最終ユーザーに与える時、活性化操作を行い、アクティベーションコードと初期シードキーの演算を行い、新シードキーを取得する。この新シードキーは、即ち、トークンの以後の作業での最終シードキーである。それと同時に、動的パスワード認証システムに初期シードキーを導入し、認証システムがトークンと同じシードキー変形演算を行うことで、同じ新シードキーを取得する。前述の通り、トークンと認証システムの活性化操作の後、最終の新シードキーとトークン製造メーカーの保存する原始シードキーは異なるものとなり、シードキーのプライバシーを強化できる。  【選択図】  図１
2014516501.tif 000002
【特許請求の範囲】
【請求項１】
ダイナミックトークンシードキーの保存及び変形方法であって、
（１）初期シードキーを生成し、
（２）初期シードキーを対応するダイナミックトークンに保存し、
（３）初期シードキーを動的パスワード認証システムに導入し、
（４）動的パスワード認証システムは、ランダムで生成したアクティベーションコード本体と導入した初期シードキーを暗号化演算することで相応するアクティベーションコードを取得し、
（５）動的パスワード認証システムは、生成したアクティベーションコードと導入した初期シードキーを暗号化演算することで、認証システムの新シードキーを取得し、
（６）アクティベーションコードをダイナミックトークンに入力し活性化し、
（７）ダイナミックトークンは、アクティベーションコードと初期シードキーを暗号化演算してダイナミックトークンの新シードキーを取得する、ステップを含むことを特徴とするダイナミックトークンシードキーの注入及び変形方法。
【請求項２】
前記ステップ（６）中のダイナミックトークンの活性化は、
（６０１）ダイナミックトークンにアクティベーションコードを入力し、
（６０２）ダイナミックトークンは、初期シードキーとアクティベーションコード中のアクティベーションコード本体を計算し、相応するチェックコードを取得し、
（６０３）ダイナミックトークンは、計算取得したチェックコードとアクティベーションコードに入力したチェックコードを照合し、もし同じである場合は、新シードキーの生成ステップに進み、異なる場合は、活性化は失敗である、ステップを含むことを特徴とする請求項１に記載のダイナミックトークンシードキーの保存及び変形方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、動的パスワード技術に関し、具体的には、ダイナミックトークンシードキーの保存及び変形方法に係る。
【背景技術】
【０００２】
動的パスワードは、使い捨てパスワードであり、各パスワードは一度しか使用できない。動的パスワードは、時間、回数、及び質問に応じて変化する。動的パスワードは良好な安全性を有し、各種情報システムに幅広く適用する。ダイナミック（動的）トークンはパスワード装置であり、動的パスワードを生成するのに用いる。
【０００３】
動的パスワードの生成は、シードキーによって行なわれ、各トークンには一つの異なるシードキーが内蔵されている。このキーは時間、回数、質問の一つ或いは複数を結合し、動的パスワードを生成するのに用いる。シードキーは、動的パスワードに安全性をもたせる基礎となるものであり、シードキーが流出した場合、動的パスワードの安全性に極大な影響を与える。
【０００４】
実際のダイナミックトークンの応用であるが、多くの場合は、トークンメーカーによって生産されたシードキーをトークン内に保存し、それと同時に、トークンメーカーは、シードファイルをユーザーに提供し、動的パスワード認証システムを導入し、動的パスワード認証を完了させる必要がある。また、少数ではあるが、ユーザーによって生成されたシードキーを生産用としてトークンメーカーに提供することもある。どの様な状況においても、トークンのシードは、必然的にトークンメーカーに掌握されることになる。
【０００５】
前述の状況において、シードキーの秘密を守る事は一つの重要な鍵である。特に、トークン使用量の特に大きな金融、電子商取引類のユーザーは、シードの安全性に対して非常に敏感であり、シードキーの流出を非常に心配している。一旦、シードキーが流出すると、キー認証システム全体の作用が失われ、キー認証システム全体の信頼性が大幅に低下するため、安全性が問題視される中、災難を導く結果となり得る。
【０００６】
よって、認証システム全体の信頼性と安全性をいかに向上させるかが本分野において解決の必要が迫られている問題点である。
【発明の概要】
【発明が解決しようとする課題】
【０００７】
本発明は、ダイナミックトークンの生産過程においてシードキーが流出し、認証システム全体の信頼性と安全性が失われる問題点に鑑み、ダイナミックトークンシードキーの保存及び変形方法を提供する。その方法によって、シードキーを変形させ、最終シードキーと、トークン製造メーカーが保存するオリジナルシードキーを異なるものとし、シードキーのプライバシーを強化する。
【課題を解決するための手段】
【０００８】
上述の目的を達成するために、本発明は次の技術手段を採用する。
【０００９】
ダイナミックトークンシードキーの保存及び変形方法は、次のステップを含む。：
（１）初期シードキーを生成する。
（２）初期シードキーを対応するダイナミックトークンに保存する。
（３）初期シードキーを動的パスワード認証システムに導入する。
（４）動的パスワード認証システムは、ランダムで生成したアクティベーションコード本体と導入した初期シードキーを暗号化演算することで相応するアクティベーションコードを取得する。
（５）動的パスワード認証システムは、生成したアクティベーションコードと導入した初期シードキーを暗号化演算することで、認証システムの新シードキーを取得する。
（６）アクティベーションコードをダイナミックトークンに入力し活性化する。
（７）ダイナミックトークンは、アクティベーションコードと初期シードキーを暗号化演算してダイナミックトークンの新シードキーを取得する。
【００１０】
本発明の実施例における前記ステップ（６）中のダイナミックトークンの活性化は、次のステップを含む。：
（６０１）ダイナミックトークンにアクティベーションコードを入力する。
（６０２）ダイナミックトークンは、初期シードキーとアクティベーションコード中のアクティベーションコード本体を計算し、相応するチェックコードを取得する。
（６０３）ダイナミックトークンは、計算取得したチェックコードとアクティベーションコードに入力したチェックコードを照合する。もし同じである場合は、新シードキーの生成ステップに進み、異なる場合は、活性化は失敗である。
【発明の効果】
【００１１】
上述した手段を通して、トークンと認証システム中の最終シードキー及びトークン製造メーカーが掌握している初期シードキーを異なるものとする。よって、初期シードキーが流出したとしても、ダイナミックトークンの安全性に影響を及ぼす事がないため、シードキーの安全性を極大に向上させることができる。
【図面の簡単な説明】
【００１２】
【図１】本発明の原理のフローチャートである。
【図２】起動コードのアクティベーションコードのフローチャートである。
【発明を実施するための形態】
【００１３】
本発明で開示する技術手段、特徴、達成する目的、及び効果を理解し易くするために、次に、具体的な図面を参照として本発明をさらに闡明する。
【００１４】
本発明が、ダイナミックトークンの製造工程におけるシードキーの流出を防ぐために提供するダイナミックトークンシードキーの保存及び変形方法は、次のステップを含む（図１参照）。
（１）ダイナミックトークン製造前に、初期シードキーを生成する。
（２）初期シードキーを対応するダイナミックトークンに保存する。
（３）初期シードキーを動的パスワード認証システムに導入する。
（４）動的パスワード認証システムは、ランダムで生成したアクティベーションコード本体と導入した初期シードキーを暗号化演算することで相応するアクティベーションコードを取得する。
（５）動的パスワード認証システムは、生成したアクティベーションコードと導入した初期シードキーを暗号化演算することで、認証システムの新シードキーを取得する。
（６）アクティベーションコードをダイナミックトークンに入力し活性化する。
（７）ダイナミックトークンは、アクティベーションコードと初期シードキーを暗号化演算してダイナミックトークンの新シードキーを取得する。
【００１５】
前述した技術手段に基づく本発明の具体的な実施例は、下記に示すとおりである（図１参照）。
【００１６】
第一工程は、生産前であり、初期シードキーＯｌｄｓｅｅｄを生成する。その工程は、ユーザー（銀行等）或いはトークン製造メーカーが完了させる。
【００１７】
第二工程は、初期シードキーがトークンを組成する工程である。即ち、製造メーカーが初期シードキーＯｌｄｓｅｅｄをダイナミックトークン内に保存する。その工程は、必ずトークン製造メーカーが完了させる。
【００１８】
第三工程は、シード二次変形工程である。その工程は、必ずユーザー（銀行等）が完了し、トークン製造メーカーとは無関係である。
【００１９】
前記工程においては、まず、初期シードキーＯｌｄｓｅｅｄを動的パスワード認証システムに導入し、その後、認証システムがランダムに生成したアクティベーションコード本体Ａｃｔｉｖｅｋｅｙと導入した初期シードキーＯｌｄｓｅｅｄを用いて暗号化演算を行い、アクティベーションコードＡｃｔｉｖｅｃｏｄｅを取得する。それと同時に、認証システムは、アクティベーションコードＡｃｔｉｖｅｃｏｄｅと初期シードキーＯｌｄｓｅｅｄを用いて暗号化演算を行い、認証システム中の新シードキーＮｅｗｓｅｅｄを取得し、認証システム中のシードキー変形を完了させる。
【００２０】
トークンの認証に対しては、認証システムの運算によって取得されたアクティベーションコードＡｃｔｉｖｅｃｏｄｅをダイナミックトークンに入力すると、ダイナミックトークンは、アクティベーションコードＡｃｔｉｖｅｃｏｄｅと初期シードキーＯｌｄｓｅｅｄを用いて暗号化演算を行い、ダイナミックトークン中の新シードキーＮｅｗｓｅｅｄを取得し、ダイナミックトークン中のシードキー変形を完了させる。アクティベーションコードＡｃｔｉｖｅｃｏｄｅ及び初期シードキーＯｌｄｓｅｅｄと認証システム中の一致により、生成された新シードキーＮｅｗｓｅｅｄと認証システムが確実に一致し、トークン運行は正常に行われる。
【００２１】
上述手段の基礎の上に、ダイナミックトークンの入力ミスによってアクティベーションコードが誤った活性化を生じさせる問題を防ぐために、本発明は、チェックコードの手段を提供する。下記に具体的に示す。
【００２２】
本発明の提供する手段において、前述工程で生成されたアクティベーションコードＡｃｔｉｖｅｃｏｄｅを構成上、アクティベーションコード本体ＡｃｔｉｖｅｋｅｙとチェックコードＡｃｃに分ける。チェックコードＡｃｃは、ＯｌｄｓｅｅｄとＡｃｔｉｖｅｋｅｙに基づいて生成される。チェックコードＡｃｃは、アクティベーションコードＡｃｔｉｖｅｃｏｄｅの入力ミスによる誤った活性化を防ぐ。
【００２３】
ダイナミックトークンが最終ユーザーに与えられる時、アクティベーションコードＡｃｔｉｖｅｃｏｄｅはダイナミックトークンに入力され、ダイナミックトークンはまず、Ａｃｔｉｖｅｃｏｄｅの正確性をチェックする。
【００２４】
チェックが通過すると、ダイナミックトークンはアクティベーションコードＡｃｔｉｖｅｃｏｄｅと事前に保存しておいた初期シードキーＯｌｄｓｅｅｄを用いて認証システムと同様の暗号化演算を行い、ダイナミックトークンの新シードキーＮｅｗｓｅｅｄを取得する。この新シードキーと認証システム中の新シードキーが同じであると、動的パスワード認証の正常作動が確実となり、尚且つ、トークンの今後の作業の最終シードキーとなる。
【００２５】
もしチェックが通過しなかった場合、ユーザーの活性化が失敗したのでアクティベーションコードを改めて入力するよう指示が出る。
【００２６】
前記工程において、ダイナミックトークンがアクティベーションコードＡｃｔｉｖｅｃｏｄｅの正確性をチェックする過程は次の通りである（図２参照）。
【００２７】
まず、ユーザーは、ダイナミックトークンにアクティベーションコードＡｃｔｉｖｅｃｏｄｅを入力する。続いて、ダイナミックトークンは、事前に保存した初期シードキーＯｌｄｓｅｅｄとアクティベーションコードＡｃｔｉｖｅｃｏｄｅに入力したアクティベーションコード本体Ａｃｔｉｖｅｋｅｙに基づいて計算をし、相応するチェックコードＡｃｃ’を取得する。
【００２８】
最後に、ダイナミックトークンは、計算して取得したチェックコードＡｃｃ’とアクティベーションコードＡｃｔｉｖｅｃｏｄｅに入力したチェックコードＡｃｃを照合する。もし同じであるなら、新シードキーＮｅｗｓｅｅｄの生成ステップに進み、もし異なるなら、活性化は失敗である。
【００２９】
前述した手段を具体的に実施する場合、関係する演算法は主に３つある。一つ目はアクティベーションコード生成アルゴリズム、二つ目はアクティベーションコードチェックコード生成アルゴリズム、三つ目はシードキー更新演算法である。
【００３０】
（１）アクティベーションコードＡｃｔｉｖｅｃｏｄｅの生成アルゴリズム
アクティベーションコードの生成は、本質的に乱数であり、外部システムによって生成する。認証システムによって生成してもよい。生成する演算法を次に示す。
【００３１】
主な演算法：真の乱数。暗号化カード或いはＵｓｂｋｅｙを用いて真の乱数を生成し、アクティベーションコードとする。
【００３２】
予備的な演算法：高品質の乱数を用いて生成する演算法。例えば、ＢＢＳ演算法による生成。
【００３３】
（２）アクティベーションコードチェックコードＡｃｃの演算法
トークンの特殊性により、一般には、一つのトークンは活性化が一回に限られる。よって、誤ったアクティベーションコードを入力してトークンを活性化させた場合、トークンの廃棄処分となる可能性もある。このため、アクティベーションコードにチェックコードを追加してもよく、一旦、入力ミスした場合、トークンは、活性化の失敗を検出し注意を促す。活性化が失敗すると、改めて活性化が行なわれる。アクティベーションコードチェックコードの演算法は、トークンの動的パスワードの生成アルゴリズムに基づいて確定する。
【００３４】
本発明として例を挙げると、トークンのアクティベーションコードのチェックコード演算法では、次の演算法を採用する。
１．ＨＳ＝ＳＨＡ１（Ｏｌｄｓｅｅｄ、Ａｃｔｉｖｅｃｏｄｅ）
２．動的切取りを行なう。Ｓｂｉｓ＝ＤＴ（ＨＳ）、Ｓｂｉｔｓの長さは４ｂｙｔｅ；切取り関数ＤＴの過程は次の通りである。：
（１）ＨＳ＝ＨＳ［０］．．．ＨＳ［１９］と定義する。；
（２）ＯｆｆｓｅｔＢｉｔｓ  はＳｔｒｉｎｇ［１９］の低位４ｂｉｔｓ；
（３）Ｏｆｆｓｅｔ  ＝  ＳｔＴｏＮｕｍ（ＯｆｆｓｅｔＢｉｔｓ）；ここでの  ０  ＜＝  ＯｆｆＳｅｔ  ＜＝  １５
（４）Ｐ  ＝  ＨＳ［ＯｆｆＳｅｔ］．．．ＨＳ［ＯｆｆＳｅｔ＋３］；
（５）  Ｐの低位３１  ｂｉｔｓを取得。
３．Ｓｂｉｔｓを数字に変換。Ｓｎｕｍ＝＝  ＳｔＴｏＮｕｍ（Ｓｂｉｔｓ）；
４．チェックコードＤ＝Ｓｎｕｍ  ｍｏｄ  １０＾６（Ｄｉｇｉｔはチェックコードの位数）を取得。
さらに、トークンのアクティベーションコードのチェックコード演算法はＳＭ３演算法を採用する。：
ＨＳ＝ＳＭ３（Ｏｌｄｓｅｅｄ、Ａｃｔｉｖｅｃｏｄｅ）；
５．動的切取りを行なう。Ｓｂｉｓ＝ＤＴ（ＨＳ）、Ｓｂｉｔｓの長さは４ｂｙｔｅ；切取り関数ＤＴの過程は次の通りである。：
（１）ＨＳ＝ＨＳ［０］．．．ＨＳ［１９］と定義する。；
（２）ＯｆｆｓｅｔＢｉｔｓ  はＳｔｒｉｎｇ［１９］の低位４ｂｉｔｓ；
（３）Ｏｆｆｓｅｔ  ＝  ＳｔＴｏＮｕｍ（ＯｆｆｓｅｔＢｉｔｓ）；ここでの  ０  ＜＝  ＯｆｆＳｅｔ  ＜＝  １５
（４）Ｐ  ＝  ＨＳ［ＯｆｆＳｅｔ］．．．ＨＳ［ＯｆｆＳｅｔ＋３］；
（５）  Ｐの低位３１  ｂｉｔｓを取得。
６．Ｓｂｉｔｓを数字に変換。Ｓｎｕｍ＝＝  ＳｔＴｏＮｕｍ（Ｓｂｉｔｓ）；
７．チェックコードＤ＝Ｓｎｕｍ  ｍｏｄ  １０＾６（Ｄｉｇｉｔはチェックコードの位数）を取得。
【００３５】
（３）シードキー更新演算法
シードキー更新演算法は複数ある。本発明の例を挙げると、シードキー更新演算法には、下記のようなＨＭＡＣ−ＳＨＡ１演算法を採用する。：
Ｎｅｗｓｅｅｄ＝ＨＭＡＣ−ＳＨＡ１（Ｏｌｄｓｅｅｄ、Ａｃｔｉｖｅｃｏｄｅ、Ａｃｃ）。
さらに、シードキー更新演算法はＳＭ３トークンシードキー更新演算法を採用する。：
ＳＭ３演算法は数字Ｓを入力してＯｌｄｓｅｅｄ、Ａｃｔｉｖｅｃｏｄｅ、Ａｃｃの順にセットする。５１２ｂｉｔ不足している場合は、その後、０から５１２ｂｉｔが一杯になるまで補なう。
ＨＳ＝ＳＭ３（Ｓ）；
Ｎｅｗｓｅｅｄ＝ＤＴ（ＨＳ）；
ＤＴは切取り関数であり、切取り規則は、ＯＡＴＨの切取り規則に類似する。次に具体的な規則を示す。：
ＨＳ［３１］の後ろ５ｂｉｔの値は偏移量Ｏｆｆｓｅｔである。Ｎｅｗｓｅｅｄの位数をＮ（Ｎは８の整数倍）と仮定するなら、
循環的に一部を切り取り、Ｎｅｗｓｅｅｄ＝ＨＳ［Ｏｆｆｓｅｔ］ＨＳ［Ｏｆｆｓｅｔ＋１］．．．．．．ＨＳ［Ｏｆｆｓｅｔ＋Ｎ／８］、もし切取りがＨＳの最後に到達し、受け入れなかった場合は、ＨＳの先頭から続けて切り取る。
実施例において、切取り関数はＳＭ３演算結果の前１６０ｂｉｔｓを取る。
【００３６】
前述の過程を通して、ダイナミックトークン及び認証システム中のシードキーの変形を完了する。後続するシードキーの変形過程によって、ユーザー箇所はユーザーによって完全に完了し、トークン製造メーカーはまったく介入しないため、変形後のシードキートークン製造メーカーは全く掌握できず、シードキーのプライバシーを強化できる。
【００３７】
以上に、本発明の基本原理、主な特徴、本発明の長所を表示及び説明した。本業界の技術人員は、本発明は前記実施例の制約を受けず、前記実施例と説明書中の開示は単に本発明の原理を説明したものであり、本発明の精神及び範囲を逸脱しないという前提において、各種変化及び改善が可能であることを理解できるため、前記変化及び改善は全て保護を要求する特許登録請求の範囲内に属するものとする。よって、本発明が要求する保護範囲は、添付した特許登録請求の範囲及びそれと同等の効果のあるものとして定義する。
【図１】
2014516501.tif 000003
【図２】
2014516501.tif 000004
【国際調査報告】
2014516501.tif 000005
2014516501.tif 000006
2014516501.tif 000007
2014516501.tif 000008