(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2022-11-25
(54)【発明の名称】認証方法、装置、機器及びコンピュータ可読記憶媒体
(51)【国際特許分類】
H04L 9/32 20060101AFI20221117BHJP
G06F 21/31 20130101ALI20221117BHJP
G06F 21/60 20130101ALI20221117BHJP
【FI】
H04L9/32 200D
H04L9/32 200F
G06F21/31
G06F21/60 320
G06F21/60 360
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2021571338
(86)(22)【出願日】2021-04-23
(85)【翻訳文提出日】2021-11-30
(86)【国際出願番号】 CN2021089440
(87)【国際公開番号】W WO2022041806
(87)【国際公開日】2022-03-03
(31)【優先権主張番号】202010898310.5
(32)【優先日】2020-08-31
(33)【優先権主張国・地域又は機関】CN
(81)【指定国・地域】
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
(71)【出願人】
【識別番号】321006888
【氏名又は名称】ベイジン・センスタイム・テクノロジー・デベロップメント・カンパニー・リミテッド
(74)【代理人】
【識別番号】100078282
【氏名又は名称】山本 秀策
(74)【代理人】
【識別番号】100113413
【氏名又は名称】森下 夏樹
(74)【代理人】
【識別番号】100181674
【氏名又は名称】飯田 貴敏
(74)【代理人】
【識別番号】100181641
【氏名又は名称】石川 大輔
(74)【代理人】
【識別番号】230113332
【氏名又は名称】山本 健策
(72)【発明者】
【氏名】董俊晨
(72)【発明者】
【氏名】▲趙▼代平
(72)【発明者】
【氏名】欧▲華▼富
(72)【発明者】
【氏名】索玉文
(72)【発明者】
【氏名】王求元
(57)【要約】
本願は、認証方法、装置、機器及びコンピュータ可読記憶媒体を提供する。認証方法は、第1タイムスタンプに基づいて、検証待ち情報に対して暗号化を行い、第1暗号文を得ることと、第1暗号文及び第1タイムスタンプを含む認証要求をサーバに送信することと、サーバから送信された、認証要求に対応する認証応答を受信することであって、認証応答は第2暗号文及び第2タイムスタンプを含む、ことと、第2タイムスタンプに基づいて、第2暗号文に対して復号を行い、検証待ち情報に対するサーバの認証結果を得ることと、を含む。
【特許請求の範囲】
【請求項1】
端末に適用される認証方法であって、
第1タイムスタンプに基づいて、検証待ち情報に対して暗号化を行い、第1暗号文を得ることと、
前記第1暗号文及び前記第1タイムスタンプを含む認証要求をサーバに送信することと、
前記サーバから送信された、前記認証要求に対応する認証応答を受信することであって、前記認証応答は第2暗号文及び第2タイムスタンプを含む、ことと、
前記第2タイムスタンプに基づいて、前記第2暗号文に対して復号を行い、前記検証待ち情報に対する前記サーバの認証結果を得ることと、を含む、認証方法。
【請求項2】
第1タイムスタンプに基づいて、検証待ち情報に対して暗号化を行い、第1暗号文を得ることは、
前記第1タイムスタンプ及び予め設定された鍵生成アルゴリズムに基づいて、第1鍵を生成することと、
前記第1鍵に基づいて、前記検証待ち情報に対して暗号化を行い、前記第1暗号文を得ることと、を含むことを特徴とする
請求項1に記載の認証方法。
【請求項3】
前記第1タイムスタンプ及び予め設定された鍵生成アルゴリズムに基づいて、第1鍵を生成することは、
前記第1タイムスタンプに対して第1変換処理を行い、第1パラメータを得ることと、
予め設定された初期鍵及び前記第1パラメータに対して第2変換処理を行い、前記第1鍵を得ることと、を含むことを特徴とする
請求項2に記載の認証方法。
【請求項4】
前記第2タイムスタンプに基づいて、前記第2暗号文に対して復号を行い、前記検証待ち情報に対する前記サーバの認証結果を得ることは、
前記第2タイムスタンプ及び予め設定された鍵生成アルゴリズムに基づいて、第2鍵を生成することと、
前記第2鍵に基づいて、前記第2暗号文に対して復号を行い、前記検証待ち情報に対する前記サーバの認証結果を得ることと、を含むことを特徴とする
請求項1から3のうちいずれか一項に記載の認証方法。
【請求項5】
前記第2タイムスタンプ及び予め設定された鍵生成アルゴリズムに基づいて、第2鍵を生成することは、
前記第2タイムスタンプに対して第1変換処理を行い、第2パラメータを得ることと、
予め設定された初期鍵及び前記第2パラメータに対して第2変換処理を行い、前記第2鍵を得ることと、を含むことを特徴とする
請求項4に記載の認証方法。
【請求項6】
第1タイムスタンプに基づいて、検証待ち情報に対して暗号化を行い、第1暗号文を得るステップの前に、前記認証方法は、
アルゴリズムファイルに対する初期化要求を受信することであって、前記初期化要求は、前記アルゴリズムファイルにおけるアルゴリズムタスクの呼び出しを要求するためのものである、ことを更に含むことを特徴とする
請求項1から5のうちいずれか一項に記載の認証方法。
【請求項7】
前記認証方法は、
前記認証結果に基づいて、アルゴリズムファイルの初期化結果を決定することを更に含み、
前記認証結果に基づいて、前記アルゴリズムファイルの初期化結果を決定することは、
前記認証結果がパスである場合、前記アルゴリズムファイルの初期化結果が初期化に成功したことであると決定し、前記端末による前記アルゴリズムファイルにおけるアルゴリズムタスクの呼び出しを許可することと、
前記認証結果がパスではない場合、前記アルゴリズムファイルの初期化結果が初期化に失敗したことであると決定し、前記端末による前記アルゴリズムファイルにおけるアルゴリズムタスクの呼び出しを禁止することと、を含むことを特徴とする
請求項1から6のうちいずれか一項に記載の認証方法。
【請求項8】
前記認証方法は、
前記認証結果の状態情報を決定することを更に含み、
前記認証結果に基づいて、前記アルゴリズムファイルの初期化結果を決定することは、
前記認証結果が有効状態である場合、前記認証結果に基づいて、前記アルゴリズムファイルの初期化結果を決定することを含むことを特徴とする
請求項7に記載の認証方法。
【請求項9】
前記認証方法は、
前記サーバに時刻同期要求を送信し、前記サーバから送信された時刻同期応答を受信し、前記時刻同期応答に基づいて、前記端末と前記サーバとの時刻同期を行うことを更に含み、
前記認証結果の状態情報を決定することは、
前記認証結果を得た場合、時刻同期後の前記端末のシステム時刻を第3タイムスタンプとして取得することと、
前記第3タイムスタンプ及び前記第2タイムスタンプに基づいて、前記認証結果の状態情報を決定することと、を含むことを特徴とする
請求項8に記載の認証方法。
【請求項10】
前記第3タイムスタンプ及び前記第2タイムスタンプに基づいて、前記認証結果の状態情報を決定することは、
前記第3タイムスタンプと前記第2タイムスタンプとの時間間隔が前記予め設定された有効時間間隔を超えていない場合、前記認証結果が有効状態であると決定することを含むことを特徴とする
請求項9に記載の認証方法。
【請求項11】
前記検証待ち情報は、現在のドメイン名と、ランダムチェックコードと、ユーザにより入力された身分識別子と、のうちの少なくとも1つを含むことを特徴とする
請求項1から9のうちいずれか一項に記載の認証方法。
【請求項12】
サーバに適用される認証方法であって、
端末から送信された、第1暗号文及び第1タイムスタンプを含む認証要求を受信することと、
前記第1タイムスタンプに基づいて、前記第1暗号文に対して復号を行い、検証待ち情報を得ることと、
前記検証待ち情報に対して検証を行い、認証結果を得ることと、
第2タイムスタンプに基づいて、前記認証結果に対して暗号化を行い、第2暗号文を得ることと、
前記第2タイムスタンプ及び前記第2暗号文を含む認証応答を前記端末に送信することであって、前記認証応答は、復号された第2暗号文に基づいて前記認証結果を得るよう前記端末に指示するためのものである、ことと、を含む、認証方法。
【請求項13】
前記第1タイムスタンプに基づいて、前記第1暗号文に対して復号を行い、検証待ち情報を得ることは、
前記第1タイムスタンプ及び予め設定された鍵生成アルゴリズムに基づいて、第1鍵を生成することと、
前記第1鍵に基づいて、前記第1暗号文に対して復号を行い、前記検証待ち情報を得ることと、を含むことを特徴とする
請求項12に記載の認証方法。
【請求項14】
前記第1タイムスタンプ及び予め設定された鍵生成アルゴリズムに基づいて、第1鍵を生成することは、
前記第1タイムスタンプに対して第1変換処理を行い、第1パラメータを得ることと、
予め設定された初期鍵及び前記第1パラメータに対して第2変換処理を行い、第1鍵を得ることと、を含むことを特徴とする
請求項13に記載の認証方法。
【請求項15】
前記第2タイムスタンプに基づいて、前記認証結果に対して暗号化を行い、第2暗号文を得ることは、
前記第2タイムスタンプ及び予め設定された鍵生成アルゴリズムに基づいて、第2鍵を生成することと、
前記第2鍵に基づいて、前記認証結果に対して暗号化を行い、第2暗号文を得ることと、を含むことを特徴とする
請求項12から13のうちいずれか一項に記載の認証方法。
【請求項16】
前記第2タイムスタンプ及び予め設定された鍵生成アルゴリズムに基づいて、第2鍵を生成することは、
前記第2タイムスタンプに対して第1変換処理を行い、第2パラメータを得ることと、
予め設定された初期鍵及び前記第2パラメータに対して第2変換処理を行い、前記第2鍵を得ることと、を含むことを特徴とする
請求項15に記載の認証方法。
【請求項17】
前記認証方法は、
前記端末から送信された時刻同期要求を受信することと、
前記端末に時刻同期応答を送信することであって、前記時刻同期応答は、前記サーバとの時刻同期を行うように前記端末に指示するためのものである、ことと、を更に含むことを特徴とする
請求項12から16のうちいずれか一項に記載の認証方法。
【請求項18】
前記検証待ち情報は、現在のドメイン名と、ランダムチェックコードと、ユーザにより入力された身分識別子と、のうちの少なくとも1つを含むことを特徴とする
請求項12から17のうちいずれか一項に記載の認証方法。
【請求項19】
認証装置であって、
第1タイムスタンプに基づいて、検証待ち情報に対して暗号化を行い、第1暗号文を得るように構成される第1暗号化部と、
前記第1暗号文及び前記第1タイムスタンプを含む認証要求を前記サーバに送信するように構成される第1送信部と、
前記サーバから送信された、前記認証要求に対応する認証応答を受信するように構成される第1受信部であって、前記認証応答は第2暗号文及び第2タイムスタンプを含む、第1受信部と、
前記第2タイムスタンプに基づいて、前記第2暗号文に対して復号を行い、前記検証待ち情報に対する前記サーバの認証結果を得るように構成される第1復号部と、を備える、認証装置。
【請求項20】
認証装置であって、
端末から送信された、第1暗号文及び第1タイムスタンプを含む認証要求を受信するように構成される第2受信部と、
前記第1タイムスタンプに基づいて、前記第1暗号文に対して復号を行い、検証待ち情報を得るように構成される第2復号部と、
前記検証待ち情報に対して検証を行い、認証結果を得るように構成される検証部と、
第2タイムスタンプに基づいて、前記認証結果に対して暗号化を行い、第2暗号文を得るように構成される第2暗号化部と、
前記第2タイムスタンプ及び前記第2暗号文を含む認証応答を前記端末に送信するように構成される第2送信部であって、前記認証応答は、復号された第2暗号文に基づいて前記認証結果を得るよう前記端末に指示するためのものである、第2送信部と、を備える、認証装置。
【請求項21】
認証機器であって、
実行可能な命令を記憶するメモリと、
前記メモリに記憶されているコンピュータプログラムを実行する場合、請求項1から11のうちいずれか一項又は請求項12から18のうちいずれか一項に記載の認証方法を実行するプロセッサと、を備える、認証機器。
【請求項22】
プロセッサにより実行される時、前記プロセッサに請求項1から11のうちいずれか一項又は請求項12から18のうちいずれか一項に記載の認証方法を実行させるためのコンピュータプログラム命令を記憶した、コンピュータ可読記憶媒体。
【請求項23】
電子機器で実行される場合、前記電子機器におけるプロセッサに、請求項1から11のうちいずれか一項又は請求項12から18のうちいずれか一項に記載の認証方法を実行させるためのコンピュータ可読コードを含む、コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
(関連出願の相互参照)
本願は、2020年8月31日に提出された、出願番号が202010898310.5であり、発明名称が「認証方法、装置、機器及びコンピュータ可読記憶媒体」である中国特許出願に基づく優先権を主張し、その全内容が参照として本願に組み込まれる。
【0002】
本願は、インターネット技術分野に関し、認証方法、装置、機器及びコンピュータ可読記憶媒体に関する。
【背景技術】
【0003】
インターネット技術の普及及びネットワークサービスの複雑さの継続的な増加に伴い、従来技術において、全てのコンピューティングタスクをサーバの運行モデルで実行することによって、サーバの負荷がますます高くなってきた。上記問題を解決するために、ネットワークサービスの管理者は、一部又は全てのコンピューティングタスクを端末機器において実行することによって、サーバの負荷を低下させることができる。例えば、WebAssembly(スタックベース仮想マシンのバイナリ命令フォーマット:wasm)技術を用いてコンピューティングタスクをwasmファイルに保存して、アルゴリズムファイルとして端末機器に配置することができる。コンピューティングタスクをアルゴリズムファイルとして端末機器に配置する場合、ソースコードが完全に端末機器により制御されるため、コンピューティングタスクが不正に呼び出されるという問題がある。
【発明の概要】
【発明が解決しようとする課題】
【0004】
本願の実施例は、認証プロセスにおける安全性を向上させることができる認証方法、装置、機器及びコンピュータ可読記憶媒体を提供する。更に、本願の実施例で提供される認証方法により、コンピューティングタスクが不正に呼び出されることを効果的に避けることができる。
【課題を解決するための手段】
【0005】
本願の実施例の技術的解決手段は以下のように実現する。
【0006】
本願の実施例は、端末に適用される認証方法を提供する。前記認証方法は、第1タイムスタンプに基づいて、検証待ち情報に対して暗号化を行い、第1暗号文を得ることと、第1暗号文及び第1タイムスタンプを含む認証要求をサーバに送信することと、サーバから送信された、認証要求に対応する認証応答を受信することであって、認証応答は第2暗号文及び第2タイムスタンプを含む、ことと、第2タイムスタンプに基づいて、第2暗号文に対して復号を行い、検証待ち情報に対するサーバの認証結果を得ることと、を含む。
【0007】
上記実現形態により、該検証待ち情報の検証プロセスをサーバ側で実行することができ、端末を複雑なアルゴリズムタスクの実行に用いるプロセスにおいて、端末のコンピューティング負荷を低下させる。また、本願の実施例で提供される暗号化/復号メカニズムは、異なるタイムスタンプに基づいて、異なる暗号化/復号方法を選択することもでき、認証プロセスにおける安全性を更に向上させる。端末とサーバとは、同一の暗号化/復号アルゴリズムを用いるため、配置しやすく、適用性が高い。本願の実施例で提供される認証方法により、コンピューティングタスクが不正に呼び出されることを更に避けることもでき、コンピューティングタスクの安全性を向上させる。
【0008】
幾つかの可能な実現形態において、第1タイムスタンプに基づいて、検証待ち情報に対して暗号化を行い、第1暗号文を得ることは、第1タイムスタンプ及び予め設定された鍵生成アルゴリズムに基づいて、第1鍵を生成することと、第1鍵に基づいて、検証待ち情報に対して暗号化を行い、第1暗号文を得ることと、を含む。
【0009】
幾つかの可能な実現形態において、第1タイムスタンプ及び予め設定された鍵生成アルゴリズムに基づいて、第1鍵を生成することは、第1タイムスタンプに対して第1変換処理を行い、第1パラメータを得ることと、予め設定された初期鍵及び第1パラメータに対して第2変換処理を行い、第1鍵を得ることと、を含む。
【0010】
幾つかの可能な実現形態において、第2タイムスタンプに基づいて、第2暗号文に対して復号を行い、検証待ち情報に対するサーバの認証結果を得ることは、第2タイムスタンプ及び予め設定された鍵生成アルゴリズムに基づいて、第2鍵を生成することと、第2鍵に基づいて、第2暗号文に対して復号を行い、検証待ち情報に対するサーバの認証結果を得ることと、を含む。
【0011】
幾つかの可能な実現形態において、第2タイムスタンプ及び予め設定された鍵生成アルゴリズムに基づいて、第2鍵を生成することは、第2タイムスタンプに対して第1変換処理を行い、第2パラメータを得ることと、予め設定された初期鍵及び第2パラメータに対して第2変換処理を行い、第2鍵を得ることと、を含む。
【0012】
上記実現形態により、異なるタイムスタンプに基づいて、異なる鍵を生成することができる。異なるタイムスタンプに基づいて生成された鍵により、検証待ち情報に対する暗号化プロセス及び第2暗号文に対する復号プロセスを完了することによって、端末とサーバにおける伝送プロセス中の、第1暗号文、第2暗号文の安全性を確保することができる。それと同時に、異なるタイムスタンプに対応する暗号鍵がいずれも異なるため、不正なユーザが大量の伝送暗号文をハイジャックすることによって暗号鍵を解読するというリスクを効果的に避けることができる。それと同時に、本願で提供される動的鍵が、第1タイムスタンプに対して第1変換処理及び第2変換処理を行うことによって得られたものであるため、不正なユーザが鍵生成アルゴリズムを解読する複雑さを向上させ、認証プロセスの安全性を更に向上させる。
【0013】
幾つかの可能な実現形態において、第1タイムスタンプに基づいて、検証待ち情報に対して暗号化を行い、第1暗号文を得るステップの前に、方法は、アルゴリズムファイルに対する初期化要求を受信することであって、初期化要求は、アルゴリズムファイルにおけるアルゴリズムタスクの呼び出しを要求するためのものである、ことを更に含む。
【0014】
幾つかの可能な実現形態において、前記認証方法は、認証結果に基づいて、アルゴリズムファイルの初期化結果を決定することを更に含み、認証結果に基づいて、アルゴリズムファイルの初期化結果を決定することは、認証結果がパスである場合、アルゴリズムファイルの初期化結果が初期化に成功したことであると決定し、端末によるアルゴリズムファイルにおけるアルゴリズムタスクの呼び出しを許可することと、認証結果がパスではない場合、アルゴリズムファイルの初期化結果が初期化に失敗したことであると決定し、端末によるアルゴリズムファイルにおけるアルゴリズムタスクの呼び出しを禁止することと、を含む。
【0015】
幾つかの可能な実現形態において、前記認証方法は、認証結果の状態情報を決定することと、認証結果が無効状態である場合、アルゴリズムファイルの初期化結果が初期化に失敗したことであると決定することと、を更に含み、認証結果に基づいて、アルゴリズムファイルの初期化結果を決定することは、認証結果が有効状態である場合、認証結果に基づいて、アルゴリズムファイルの初期化結果を決定することを含む。
【0016】
上記実現形態により、該アルゴリズムファイルにおけるアルゴリズムタスクの安全性を確保し、不正なユーザによる該アルゴリズムファイルにおけるアルゴリズムタスクの不正な呼び出しを防止することができる。
【0017】
幾つかの可能な実現形態において、前記認証方法は、サーバに時刻同期要求を送信し、サーバから送信された時刻同期応答を受信し、時刻同期応答に基づいて、端末とサーバとの時刻同期を行うことを更に含み、認証結果の状態情報を決定することは、認証結果を得た場合、時刻同期後の端末のシステム時刻を第3タイムスタンプとして取得することと、第3タイムスタンプ及び第2タイムスタンプに基づいて、認証結果の状態情報を決定することと、を含む。
【0018】
幾つかの可能な実現形態において、第3タイムスタンプ及び第2タイムスタンプに基づいて、認証結果の状態情報を決定することは、第3タイムスタンプと第2タイムスタンプとの時間間隔が予め設定された有効時間間隔を超える場合、認証結果が無効状態であると決定することと、第3タイムスタンプと第2タイムスタンプとの時間間隔が予め設定された有効時間間隔を超えていない場合、認証結果が有効状態であると決定することと、を含む。
【0019】
上記実現形態により、第2タイムスタンプ及び第3タイムスタンプに基づいて、該認証結果の生成時刻を決定し、更に、該認証結果の有効性を決定することができ、リプレイ攻撃を防止し、システムの安全性を向上させることができる。
【0020】
幾つかの可能な実現形態において、前記検証待ち情報は、現在のドメイン名と、ランダムチェックコードと、ユーザにより入力された身分識別子と、のうちの少なくとも1つを含む。
【0021】
本願の実施例は、サーバに適用される認証方法を提供する。前記認証方法は、端末から送信された、第1暗号文及び第1タイムスタンプを含む認証要求を受信することと、第1タイムスタンプに基づいて、第1暗号文に対して復号を行い、検証待ち情報を得ることと、検証待ち情報に対して検証を行い、認証結果を得ることと、第2タイムスタンプに基づいて、認証結果に対して暗号化を行い、第2暗号文を得ることと、第2タイムスタンプ及び第2暗号文を含む認証応答を端末に送信することであって、認証応答は、復号された第2暗号文に基づいて認証結果を得るよう端末に指示するためのものである、ことと、を含む。
【0022】
上記実現形態により、該検証待ち情報の検証プロセスをサーバ側で実行することができ、端末を複雑なアルゴリズムタスクの実行に用いるプロセスにおいて、端末のコンピューティング負荷を低下させる。また、本願の実施例で提供される暗号化/復号メカニズムは、異なるタイムスタンプに基づいて、異なる暗号化/復号方法を選択することもでき、認証プロセスにおける安全性を更に向上させる。端末とサーバとは、同一の暗号化/復号アルゴリズムを用いるため、配置しやすく、適用性が高い。本願の実施例で提供される認証方法により、コンピューティングタスクが不正に呼び出されることを更に避けることもでき、コンピューティングタスクの安全性を向上させる。
【0023】
幾つかの可能な実現形態において、第1タイムスタンプに基づいて、第1暗号文に対して復号を行い、検証待ち情報を得ることは、第1タイムスタンプ及び予め設定された鍵生成アルゴリズムに基づいて、第1鍵を生成することと、第1鍵に基づいて、第1暗号文に対して復号を行い、検証待ち情報を得ることと、を含む。
【0024】
幾つかの可能な実現形態において、第1タイムスタンプ及び予め設定された鍵生成アルゴリズムに基づいて、第1鍵を生成することは、第1タイムスタンプに対して第1変換処理を行い、第1パラメータを得ることと、予め設定された初期鍵及び第1パラメータに対して第2変換処理を行い、第1鍵を得ることと、を含む。
【0025】
幾つかの可能な実現形態において、第2タイムスタンプに基づいて、認証結果に対して暗号化を行い、第2暗号文を得ることは、第2タイムスタンプ及び予め設定された鍵生成アルゴリズムに基づいて、第2鍵を生成することと、第2鍵に基づいて、認証結果に対して暗号化を行い、第2暗号文を得ることと、を含む。
【0026】
幾つかの可能な実現形態において、第2タイムスタンプ及び予め設定された鍵生成アルゴリズムに基づいて、第2鍵を生成することは、第2タイムスタンプに対して第1変換処理を行い、第2パラメータを得ることと、予め設定された初期鍵及び第2パラメータに対して第2変換処理を行い、第2鍵を得ることと、を含む。
【0027】
上記実現形態により、異なるタイムスタンプに基づいて、異なる鍵を生成することができる。異なるタイムスタンプに基づいて生成された鍵により、検証待ち情報に対する暗号化プロセス及び第2暗号文に対する復号プロセスを完了することによって、端末とサーバにおける伝送プロセス中の、第1暗号文、第2暗号文の安全性を確保することができる。それと同時に、異なるタイムスタンプに対応する暗号鍵がいずれも異なるため、不正なユーザが大量の伝送暗号文をハイジャックすることによって暗号鍵を解読するというリスクを効果的に避けることができる。それと同時に、本願で提供される動的鍵が、第1タイムスタンプに対して第1変換処理及び第2変換処理を行うことによって得られたものであるため、不正なユーザが鍵生成アルゴリズムを解読する複雑さを向上させ、認証プロセスの安全性を更に向上させる。
【0028】
幾つかの可能な実現形態において、前記認証方法は、端末から送信された時刻同期要求を受信することと、端末に時刻同期応答を送信することであって、時刻同期応答は、サーバとの時刻同期を行うように前記端末に指示するためのものである、ことと、を更に含む。
【0029】
上記実現形態により、第2タイムスタンプ及び第3タイムスタンプに基づいて、該認証結果の生成時刻を決定し、更に、該認証結果の有効性を決定することができ、リプレイ攻撃を防止し、システムの安全性を向上させることができる。
【0030】
幾つかの可能な実現形態において、前記検証待ち情報は、現在のドメイン名と、ランダムチェックコードと、ユーザにより入力された身分識別子と、のうちの少なくとも1つを含む。
【0031】
本願の実施例は、認証装置を提供する。前記認証装置は、
第1タイムスタンプに基づいて、検証待ち情報に対して暗号化を行い、第1暗号文を得るように構成される第1暗号化部と、
第1暗号文及び第1タイムスタンプを含む認証要求をサーバに送信するように構成される第1送信部と、
サーバから送信された、認証要求に対応する認証応答を受信するように構成される第1受信部であって、認証応答は第2暗号文及び第2タイムスタンプを含む、第1受信部と、
第2タイムスタンプに基づいて、第2暗号文に対して復号を行い、検証待ち情報に対するサーバの認証結果を得るように構成される第1復号部と、を備える。
【0032】
本願の実施例は、認証装置を提供する。前記認証装置は、
端末から送信された、第1暗号文及び第1タイムスタンプを含む認証要求を受信するように構成される第2受信部と、
第1タイムスタンプに基づいて、第1暗号文に対して復号を行い、検証待ち情報を得るように構成される第2復号部と、
検証待ち情報に対して検証を行い、認証結果を得るように構成される検証部と、
第2タイムスタンプに基づいて、認証結果に対して暗号化を行い、第2暗号文を得るように構成される第2暗号化部と、
第2タイムスタンプ及び第2暗号文を含む認証応答を端末に送信するように構成される第2送信部であって、認証応答は、復号された第2暗号文に基づいて認証結果を得るよう端末に指示するためのものである、第2送信部と、を備える。
【0033】
本願の実施例は、認証機器を提供する。前記認証機器は、
実行可能な命令を記憶するメモリと、
前記メモリに記憶されている実行可能な命令を実行した、本願の実施例で提供される認証方法を実行するプロセッサと、を備える。
【0034】
本願の実施例は、コンピュータ可読記憶媒体を提供する。前記コンピュータ可読記憶媒体に実行可能な命令が記憶されており、該実行可能な命令は、プロセッサにより実行される時、該プロセッサに本願の実施例で提供される認証方法を実現させる。
【0035】
本願の実施例は、コンピュータプログラムを提供する。前記コンピュータプログラムは、コンピュータ可読コードを含み、前記コンピュータ可読コードが電子機器で実行される場合、前記電子機器におけるプロセッサに、本願の実施例で提供される認証方法を実行させる。
【発明の効果】
【0036】
本願の実施例は、下記有益な効果を有する。
【0037】
本願の実施例において、第1タイムスタンプに基づいて、検証待ち情報に対して暗号化を行い、第1暗号文を得て、第1暗号文及び第1タイムスタンプを含む認証要求をサーバに送信し、サーバから送信された、認証要求に対応する認証応答を受信し、認証応答は第2暗号文及び第2タイムスタンプを運び、第2タイムスタンプに基づいて、第2暗号文に対して復号を行い、検証待ち情報に対するサーバの認証結果を得る。このように、該検証待ち情報の検証プロセスをサーバ側で実行することができ、端末を複雑なアルゴリズムタスクの実行に用いるプロセスにおいて、端末のコンピューティング負荷を低下させる。また、本願の実施例で提供される暗号化/復号メカニズムは、異なるタイムスタンプに基づいて、異なる暗号化/復号方法を選択することもでき、認証プロセスにおける安全性を更に向上させる。端末とサーバとは、同一の暗号化/復号アルゴリズムを用いるため、配置しやすく、適用性が高い。本願の実施例で提供される認証方法により、コンピューティングタスクが不正に呼び出されることを更に避けることもでき、コンピューティングタスクの安全性を向上させる。
【図面の簡単な説明】
【0038】
【
図1】本願の実施例による認証システムの1つの選択可能なアーキテクチャを示す概略図である。
【
図2】本願の実施例による認証機器の構造を示す概略図である。
【
図3】本願の実施例による認証方法を示す1つの選択可能なフローチャートである。
【
図4】本願の実施例による認証方法を示す1つの選択可能なフローチャートである。
【
図5】本願の実施例による認証方法を示す1つの選択可能なフローチャートである。
【
図6】本願の実施例による認証方法を示す1つの選択可能なフローチャートである。
【
図7】本願の実施例による認証方法を示す1つの選択可能なフローチャートである。
【
図8】本願の実施例による認証方法を示す1つの選択可能なフローチャートである。
【
図9】本願の実施例による認証方法を示す1つの選択可能なフローチャートである。
【
図10】本願の実施例による認証方法を示す1つの選択可能なフローチャートである。
【
図11】本願の実施例による認証方法を示す1つの選択可能なフローチャートである。
【
図12】本願の実施例による1つの選択可能な認証装置の構造を示す概略図である。
【
図13】本願の実施例による1つの選択可能な認証装置の構造を示す概略図である。
【発明を実施するための形態】
【0039】
ここで添付した図面は、明細書に引き入れて本明細書の一部分を構成し、本願に合致する実施例を示し、かつ、明細書とともに本願の技術的解決手段を解釈するために用いられる。
【0040】
本願の目的、技術的解決手段及び利点をより明確にするために、以下、図面を参照しながら、本願を更に詳しく説明する。記述される実施例は、本願を限定するものと見なされるべきではない。当業者が創造的な労力なしに得られる全ての他の実施例は、いずれも本願の保護範囲に含まれる。
【0041】
下記記述において、「幾つかの実施例」に係る。これは、全ての可能な実施例のサブ集合を記述する。「幾つかの実施例」は、全ての可能な実施例の同一のサブ集合又は異なるサブ集合であってもよく、また、矛盾しない限り、互いに組み合わせられてもよいと理解されるべきである。
【0042】
下記記述において、係る用語「第1/第2/第3」は、類似した対象を区別するためのものであり、対象の特定の順番を説明するためのものではないことに留意されたい。ここで説明した本願の実施例を本実施例において図示した又は説明した順番以外の順番で実施可能なものにするために、「第1/第2/第3」は、許された場合であれば特定の順番又は前後順序を互いに取り替えることができることは、理解されるべきである。
【0043】
別途定義しない限り、本明細書に用いられる全ての技術的用語及び科学的用語は、本願の実施例が属する分野における当業者が一般的に理解する意味と同じである。本明細書に用いられる用語は、本願の実施例の目的を説明するためのものだけであり、本願を限定するものではない。
【0044】
図1を参照すると、
図1は、本願の実施例による認証システム100の1つの選択可能なアーキテクチャを示す概略図である。1つの認証アプリケーションをサポートすることを実現させるために、端末400(端末400-1及び端末400-2が例示的に示される)は、ネットワーク300を介してサーバ200に接続される。ネットワーク300は、ワイドエリアネットワーク又はローカルエリアネットワークであってもよく、又は両者の組み合わせであってもよい。
図1に示すサーバ200は、サーバクラスタであってもよい。該サーバクラスタは、サーバ200-1~200-3を含む。同様に、サーバ200-1~200-3は、実機であってもよく、仮想化技術(例えば、コンテナ技術又は仮想マシン技術など)を利用して構築された仮想機器であってもよく、本願の実施例は、これを限定しない。無論、本実施例において、単一のサーバを用いてサービスを提供することもできる。
【0045】
幾つかの可能な実現形態において、端末400は、アルゴリズムファイルに対する初期化要求を受信した後、第1タイムスタンプに基づいて、検証待ち情報に対して暗号化を行い、第1暗号文を得て、端末400に接続されるサーバ200に、第1暗号文及び第1タイムスタンプを含む認証要求を送信する。サーバ200は、第1タイムスタンプに基づいて、第1暗号文に対して復号を行い、検証待ち情報を得て、検証待ち情報に対して検証を行い、認証結果を得て、第2タイムスタンプに基づいて、認証結果に対して暗号化を行い、第2暗号文を得る。サーバ20は、第2タイムスタンプ及び第2暗号文を含む認証応答を端末400に送信する。端末400は、第2タイムスタンプに基づいて、第2暗号文に対して復号を行い、サーバ200の、検証待ち情報に対する認証結果を得て、認証結果に基づいて、アルゴリズムファイルの初期化結果を決定する。端末400は、グラフィカルインタフェース410(グラフィカルインタフェース410-1及びグラフィカルインタフェース410-2が例示的に示される)に該初期化結果を表示することができる。
【0046】
図2を参照すると、
図2は、本願の実施例による認証機器500の構造を示す概略図である。
図2に示す認証機器500は、少なくとも1つのプロセッサ510と、メモリ550と、少なくとも1つのネットワークインタフェース520と、ユーザインタフェース530と、を備える。認証機器500における各部は、バスシステム540を介して結合される。バスシステム540は、これらの部の間の接続と通信を実現させるように構成されることが理解されるべきである。バスシステム540は、データバスに加えて、電源バス、制御バス及び状態信号バスを更に含む。しかしながら、明確に説明するために、
図2において、種々のバスをバスシステム540と記す。
【0047】
プロセッサ510は、信号処理能力を持つ集積回路チップであってもよく、例えば、汎用プロセッサ、デジタル信号プロセッサ(DSP:Digital Signal Processor)、又は他のプログラマブルロジックデバイス、ディスクリートゲート又はトランジスタロジックデバイス、ディスクリートハードウェアコンポーネントなどであってもよい。ここで、汎用プロセッサは、マイクロプロセッサ又は如何なる一般的なプロセッサなどであってもよい。
【0048】
ユーザインタフェース530は、メディアコンテンツを呈示できる1つ又は複数の出力装置531を含む。これは、1つ又は複数のスピーカー及び/又は1つ又は複数のビジョンディスプレイを含む。ユーザインタフェース530は、1つの又は複数の入力装置532を更に含む。これは、ユーザによる入力に寄与するユーザインタフェース部材を含む。例えば、キーボード、マウス、マイクロホン、タッチパネルディスプレイ、カメラ、他の入力ボタン及びコントロールである。
【0049】
メモリ550は、揮発性メモリ又は不揮発性メモリを含み、揮発性メモリと不揮発性メモリの両方を含んでもよい。ここで、不揮発性メモリは、読出し専用メモリ(ROM:Read Only Memory)であってもよく、揮発性メモリは、ランダムアクセスメモリ(RAM:Random Access Memory)であってもよい。本願の実施例に記載のメモリ550は、任意の適切なタイプのメモリを含むことを意図する。メモリ550は選択的に、物理的位置でメモリ510から離れる1つ又は複数の記憶機器を含む。
【0050】
幾つかの可能な実現形態において、メモリ500は、種々の操作をサポートするために、データを記憶することができる。これらのデータは、例示的に、プログラム、コンポーネント及びデータ構造又はそのサブ集合又は上位集合を含む。以下、例示的に説明する。
【0051】
オペレーティングシステム551は、種々の基本システムサービスを処理し、ハードウェアに関連するタスクを実行するように構成されるシステムプログラム、例えば、フレーム層、コアライブラリ層、駆動層などを含み、種々の基礎業務を実現させてハードウェアベースタスクを処理するためのものである。
【0052】
ネットワーク通信部552は、1つ又は複数の(有線又は無線)ネットワークインタフェース520を経由して他のコンピューティング機器に到達するように構成される。例示的なネットワークインタフェース520は、ブルートゥース(登録商標)、ワイヤレスフィデリティ(WiFi)、及びユニバーサルシリアルバス(USB:Universal Serial Bus)などを含む。
【0053】
表示部553は、1つ又は複数の、ユーザインタフェース530に関連する出力装置531(例えば、ディスプレイ、スピーカーなど)を経由して情報を呈示するように構成される(例えば、外部機器を操作してコンテンツ及び情報を表示するためのユーザインタフェース)。
【0054】
入力処理部554は、1つ又は複数の入力装置530の1つからの1つ又は複数のユーザ入力又はインタラクションに対して検出を行い、検出された入力又はインタラクションを翻訳するように構成される。
【0055】
幾つかの可能な実現形態において、本願の実施例で提供される認証装置は、ソフトウェアとハードウェアとの組み合わせにより実現してもよい。例として、本願の実施例で提供される認証装置は、ハードウェア解読プロセッサ形式を用いるプロセッサであってもよく、それは、プログラミングされて本願の実施例による認証方法を実行する。
【0056】
幾つかの可能な実現形態において、本願の実施例で提供される認証装置は、ソフトウェア方式で実現してもよい。
図2は、メモリ550に記憶されている認証装置555を示す。それは、プログラム及びプラグインなどの形式のソフトウェアであってもよい。該認証機器が端末である場合、第1暗号化部1201と、第1送信部1202と、第1受信部1203と、第1復号1204と、を備える。該認証機器がサーバである場合、第2受信部1301、第2復号部1302、検証部1303、第2暗号化部1304及び第2送信部1305というソフトウェア部を備える。これらの部は、論理的なものであるため、実現される機能に基づいて、任意の組み合わせ又は更なる分割を行うことができる。
【0057】
以下では、下記部の機能を説明する。
【0058】
別の幾つかの実施例において、本願の実施例で提供される装置は、ハードウェア方式で実現してもよい。例として、本願の実施例で提供される装置は、ハードウェア解読プロセッサ形式を用いるプロセッサであってもよく、それは、プログラミングされて本願の実施例による認証方法を実行する。例えば、ハードウェア解読プロセッサ形式のプロセッサとして、1つ又は複数の特定用途向け集積回路(ASIC:Application Specific Intergrated Circuit)、DSP、プログラマブルロジックデバイス(PLD:Programmable Logic Device)、複合プログラマブルロジックデバイス(CPLD:Complex Programmable Logic Device)、フィールドプログラマブルゲートアレイ(FPGA:Field-Programmable Gate Array)又は他の電子素子を用いることができる。
【0059】
本願の実施例で提供される端末の例示的な適用及び実施例を参照しながら、本願の実施例において、端末を実行主体として、本願の実施例で提供される認証方法を説明する。
【0060】
図3を参照すると、
図3は、本願の実施例による認証方法を示す1つの選択可能なフローチャートである。
図3に示すステップを参照しながら、説明する。
【0061】
S301において、第1タイムスタンプに基づいて、検証待ち情報に対して暗号化を行い、第1暗号文を得る。
【0062】
幾つかの可能な実現形態において、端末は、ターゲットサービスに対する使用要求を受信した場合、本願の実施例で提供される認証方法を実行することができる。該ターゲットサービスは、少なくとも1つのアルゴリズムタスクに対応する。端末は、該ターゲットサービスを使用するプロセスにおいて、該ターゲットサービスに対応する少なくとも1つのアルゴリズムタスクを呼び出すことができる。しかしながら、該ターゲットサービスを使用する前に、該ターゲットサービスの使用権限(又は該少なくとも1つのアルゴリズムタスクの呼び出し権限)に対して検証を行う必要がある。即ち、該使用要求に対して認証を行い、本願の実施例で提供される認証方法を実行する。
【0063】
ここで、S301において、該第1タイムスタンプは、端末がステップS301を実行するシステム時刻であってもよく、端末が該使用要求を受信したシステム時刻であってもよく、予め設定されたルールに基づいて取得したシステム時刻であってもよい。該ターゲットサービスは、種々の検索サービス、画像認識サービス、コンピューティングサービスなどを含むが、これらに限定されない。該ターゲットサービスが画像認識サービスであることを例として、端末は、該画像認識サービスに対する使用要求を受信した場合、該画像認識サービスに対応する認識アルゴリズムタスクを呼び出す必要がある。従って、該使用要求に応答して、端末は、該画像認識サービスの使用要求に対して認証を行い、本願の実施例で提供される認証方法を実行することができる。幾つかの可能な実現形態において、該検証待ち情報は、現在のドメイン名と、ランダムチェックコードと、ユーザにより入力された身分識別子と、のうちの少なくとも1つを含んでもよい。
【0064】
ここで、該検証待ち情報が現在のドメイン名を含む場合、端末は、該使用要求を受信した後、端末が現在アクセスしているドメイン名(即ち、現在のドメイン名)を取得し、該第1タイムスタンプにより、該現在のドメイン名に対して暗号化を行い、現在のドメイン名を含む第1暗号文を得る。該検証待ち情報がランダムチェックコードを含む場合、端末は、該使用要求を受信した後、予め設定されたランダムアルゴリズムに基づいて、ランダムチェックコードを生成し、該第1タイムスタンプにより、該ランダムチェックコードに対して暗号化を行い、ランダムチェックコードを含む第1暗号文を得る。ここで、各回生成されたランダムチェックコードは異なる。該検証待ち情報がユーザにより入力された身分識別子を含む場合、端末は、該使用要求を受信した後、対話式ウィンドウにより、対応する身分識別子を入力するようユーザに提示し、該身分識別子を受信し、該第1タイムスタンプにより、該身分識別子を暗号化を行い、ランダムチェックコードを含む第1暗号文を得る。ここで、該身分識別子は、パスワード、アカウントパスワードなどの形式を含んでもよいが、これらに限定されない。
【0065】
幾つかの可能な実現形態において、該検証情報は、「現在のドメイン名+ユーザにより入力された身分識別子」の形式であってもよい。ここで、現在のドメイン名と該身分識別子とは、対応関係にある。つまり、端末側では、正当なドメイン名と身分識別子との対応関係が予め記憶されてもよい。現在の使用要求に対応する、検証待ち「現在のドメイン名+ユーザにより入力された身分識別子」を取得した後、端末は、該正当なドメイン名と身分識別子との対応関係に基づいて、現在の使用要求が正当であるかどうかを検出することができる。該正当なドメイン名と身分識別子との対応関係は、サーバ側に記憶されてもよく、用いられる検出方法は、端末側と同じである。
【0066】
例えば、正当なドメイン名と身分識別子との対応関係は、下記表1に示す対応関係を含む。
【0067】
【表1】
端末が受信した、ターゲットサービスに対する使用要求が「ドメイン名2+身分識別子2」であると、該使用要求が不正であると決定する。使用要求が「ドメイン名2+身分識別子3」であると、該使用要求が正当であると決定する。該正当なドメイン名と身分識別子との対応関係は、同時にサーバ側に記憶されてもよく、又は、サーバ側又は端末側のみに記憶されてもよい。
【0068】
幾つかの可能な実現形態において、端末が検証待ち情報に対して暗号化を行って第1暗号文を得るプロセスにおいて、用いられる暗号化メカニズムは予め設定されたものであり、且つ該暗号化メカニズムは、異なる第1タイムスタンプに基づいて、異なる第1暗号文を生成することができる。
【0069】
幾つかの実施例において、該暗号化メカニズムは、複数の異なる暗号化方法を含んでもよい。各暗号化方法は、いずれも1つの時間帯に対応する。暗号化プロセスにおいて、第1タイムスタンプが所在する時間帯に基づいて、複数の異なる暗号化方法から、ターゲット暗号化方法を選択し、該ターゲット暗号化方法により、暗号化プロセスを完了する。幾つかの実施例において、該暗号化メカニズムは、異なる第1タイムスタンプに基づいて、異なる鍵を生成し、該第1タイムスタンプにより生成された鍵により、暗号化を完了することができる。
【0070】
S302において、第1暗号文及び第1タイムスタンプを含む認証要求をサーバに送信する。
【0071】
幾つかの可能な実現形態において、サーバに、端末と同一の暗号化メカニズムが予め記憶されている。これに対応して、サーバに、暗号化メカニズムに対応する復号メカニズムも予め記憶されている。端末がサーバに該認証要求を送信するプロセスにおいて、該第1タイムスタンプは、平文で送信され、該第1暗号文は、暗号化された検証待ち情報である。
【0072】
ここで、該第1タイムスタンプが平文で送信されるため、サーバは、該第1タイムスタンプが所在する時間帯に基づいて、複数の異なる復号方法から、ターゲット復号方法を選択し、該ターゲット復号方法により、復号プロセスを完了することができる。サーバは、異なる第1タイムスタンプに基づいて、異なる鍵を生成し、該第1タイムスタンプにより生成された鍵により、復号を完了することもできる。
【0073】
幾つかの可能な実現形態において、該認証要求は、第1タイムスタンプに基づいて、第1暗号文に対して復号を行い、検証待ち情報を得るステップと、検証待ち情報に対して検証を行い、認証結果を得るステップと、第2タイムスタンプに基づいて、認証結果に対して暗号化を行い、第2暗号文を得るステップと、第2タイムスタンプ及び第2暗号文を含む認証応答を端末に送信するステップであって、認証応答は、復号された第2暗号文に基づいて認証結果を得るよう端末に指示するためのものである、ステップと、を実行するようサーバに指示するためのものである。ここで、サーバは、ホワイトリストの形式で、該検証待ち情報に対して検証を行うことができる。該ホワイトリストに、複数の正当情報が予め記憶されている。前記検証待ち情報が該ホワイトリストにおける複数の正当情報のうちのいずれか1つである場合、該検証情報に対応する検証結果がパスである。該ホワイトリストに該検証待ち情報が存在しない場合、該検証待ち情報に対応する認証結果がパスではない。例えば、検証待ち情報が「現在のドメイン名+ユーザにより入力された身分識別子」を含む場合、サーバ側に、下記表2に示すホワイトリストが予め記憶されてもよい。端末が受信した、ターゲットサービスに対する使用要求が「ドメイン名2+身分識別子2」である場合、該使用要求が不正であると決定し、使用要求が「ドメイン名2+身分識別子3」である場合、該使用要求が正当であると決定する。
【0074】
【表2】
S303において、サーバから送信された、認証要求に対応する認証応答を受信し、認証応答は第2暗号文及び第2タイムスタンプを含む。
【0075】
幾つかの可能な実現形態において、サーバから送信された認証応答は、端末から送信された認証要求に対応する。該認証要求は、要求識別子を運んでもよい。該要求識別子は、異なる認証要求を区別するためのものである。端末が複数の認証要求を同時に送信する必要がある場合、異なる認証要求のために、異なる要求識別子を配分することができる。これに対応して、認証応答も該要求識別子を含む。要求識別子のマッチングにより、認証要求に対応する認証応答を決定することができる。
【0076】
幾つかの実施例において、該認証応答は、平文により伝送された第2タイムスタンプ、及び認証結果の暗号化によって生成された第2暗号文を含む。
【0077】
S304において、第2タイムスタンプに基づいて、第2暗号文に対して復号を行い、検証待ち情報に対するサーバの認証結果を得る。
【0078】
幾つかの可能な実現形態において、端末が第2タイムスタンプに基づいて第2暗号文に対して復号を行う場合、用いられる復号メカニズムは、予め設定されたものであり、且つ該暗号化メカニズムは、異なる第1タイムスタンプに基づいて、異なる認証結果を生成することができる。該復号メカニズムは、端末における暗号化メカニズムに対応する。
【0079】
幾つかの実施例において、暗号化メカニズムが複数の異なる暗号化方法を含み、各暗号化方法が1つの時間帯に対応する場合、該復号メカニズムも異なる復号方法を含み、各時間帯における暗号化方法と復号方法は、2つずつ対応する。幾つかの実施例において、暗号化メカニズムは、異なる第1タイムスタンプに基づいて、異なる鍵を生成することができる。該第1タイムスタンプにより生成された鍵により、暗号化を完了する場合、該復号メカニズムは、同一の鍵生成方法を用いて、異なる第1タイムスタンプに基づいて、異なる鍵を生成し、該第1タイムスタンプにより生成された鍵により、復号プロセスを完了することもできる。
【0080】
幾つかの実現形態において、復号に失敗した場合、認証結果は、認証に失敗したことであり、復号に成功した場合、サーバの、該検証待ち情報に対する認証結果を直接的に得ることができる。
【0081】
本願の実施例における
図3に対する上記例示的な実施から分かるように、本願の実施例において、第1タイムスタンプに基づいて、検証待ち情報に対して暗号化を行い、第1暗号文を得て、第1暗号文及び第1タイムスタンプを含む認証要求をサーバに送信し、サーバから送信された、認証要求に対応する認証応答を受信し、認証応答は第2暗号文及び第2タイムスタンプを運び、第2タイムスタンプに基づいて、第2暗号文に対して復号を行い、検証待ち情報に対するサーバの認証結果を得る。このように、該検証待ち情報の検証プロセスをサーバ側で実行することができ、端末を複雑なアルゴリズムタスクの実行に用いるプロセスにおいて、端末のコンピューティング負荷を低下させる。そして、該検証待ち情報に対する検証のためのホワイトリストがサーバによりメンテナンスされるため、認証プロセスにおけるホワイトリストの安全性を向上させる。また、本願の実施例で提供される暗号化/復号メカニズムは、異なるタイムスタンプに基づいて、異なる暗号化/復号方法を選択することもでき、認証プロセスにおける安全性を更に向上させる。端末とサーバとは、同一の暗号化/復号アルゴリズムを用いるため、配置しやすく、適用性が高い。本願の実施例で提供される認証方法により、コンピューティングタスクが不正に呼び出されることを更に避けることもでき、コンピューティングタスクの安全性を向上させる。
【0082】
図4を参照すると、
図4は、本願の実施例による認証方法を示す1つの選択可能なフローチャートである。
図3によれば、
図3におけるS301は、S401~S402に更新されてもよく、S304は、S403~S404に更新されてもよい。
図4に示すステップを参照しながら、説明する。
【0083】
S401において、第1タイムスタンプ及び予め設定された鍵生成アルゴリズムに基づいて、第1鍵を生成する。
【0084】
幾つかの可能な実現形態において、該鍵生成アルゴリズムは、異なる第1タイムスタンプに基づいて、異なる第1鍵を生成することができる。下記解決手段により、上記鍵生成アルゴリズムを実現させることができる。S4011において、第1タイムスタンプに対して第1変換処理を行い、第1パラメータを得る。S4012において、予め設定された初期鍵及び第1パラメータに対して第2変換処理を行い、第1鍵を得る。
【0085】
ここで、該第1変換処理は、該第1タイムスタンプに基づいた文字変換処理である。同一の第1タイムスタンプにより第1変換処理を行うことによって得られた第1パラメータも同じである。異なる第1タイムスタンプにより第1変換処理を行うことによって得られた第1パラメータは、異なっても同じであってもよい。第1タイムスタンプが複数ビットの0~9の数字を含む場合、各ビットの数字に対応する文字に基づいて、数字から構成される第1タイムスタンプを文字から構成される第1パラメータに変換することができる。予め設定された順番変換ルールに基づいて、該第1タイムスタンプにおける複数ビットの数字の相対的位置を変更し、相対的位置が変更された第1パラメータを得ることもできる。第1タイムスタンプにおける各ビットの数字に予め設定された数値を加えることによって、該第1パラメータを構成することもできる。
【0086】
例えば、第1タイムスタンプが「20200101」であると、予め設定された「0がAに対応し、1がBに対応し、2がCに対応する…」という対応関係に基づいて、該第1タイムスタンプを「CACAABAB」に変換することができる。該第1タイムスタンプにおける各ビットの数字の相対的位置を変更し、反転を行うことによって得られる第1パラメータは、「10100202」である。該第1タイムスタンプにおける各ビットの数字に予め設定された数値(8を例とする)を加えることによって得られる第1パラメータは、「9898810810」又は「98988A8A」である。
【0087】
幾つかの可能な実現形態において、該第2変換処理は、得られた第1パラメータ及び初期鍵に基づいて、第1鍵を生成することができる。ここで、第2変換処理は、該第1パラメータにおける各文字と該初期鍵における各文字に対する文字処理であってもよく、種々の置き換え、組み合わせなどの文字処理方式を含むが、これらに限定されない。
【0088】
例えば、初期鍵が「ylaQxlGJ」であり、第1パラメータが「CACAABAB」であると、組み合わせ方式により、例えば、「ylaQxlGJCACAABAB」、「yClAaCQAxAlBGAJB」などのような第1鍵を得ることができる。置き換え方式により、例えば、「ylaQABAB」、「yAaAxBGB」などのような第1鍵を得ることができる。置き換え、組み合わせなどの文字処理方式を同時に用いることもできる。
【0089】
S402において、第1鍵に基づいて、検証待ち情報に対して暗号化を行い、第1暗号文を得る。
【0090】
S403において、第2タイムスタンプ及び予め設定された鍵生成アルゴリズムに基づいて、第2鍵を生成する。
【0091】
幾つかの可能な実現形態において、該鍵生成アルゴリズムは、異なる第2タイムスタンプに基づいて、異なる第2鍵を生成することができる。下記解決手段により、上記鍵生成アルゴリズムを実現させることができる。S4031において、第2タイムスタンプに対して第1変換処理を行い、第2パラメータを得る。S4032において、予め設定された初期鍵及び第2パラメータに対して第2変換処理を行い、第2鍵を得る。ここで、該鍵生成アルゴリズムは、S401における鍵生成アルゴリズムと同じである。
【0092】
S404において、第2鍵に基づいて、第2暗号文に対して復号を行い、検証待ち情報に対するサーバの認証結果を得る。
【0093】
本願の実施例における
図4に対する上記例示的な実施から分かるように、本願の実施例において、予め設定された鍵生成アルゴリズムにより、異なるタイムスタンプに基づいて、異なる鍵を生成することができる。異なるタイムスタンプに基づいて生成された鍵により、検証待ち情報に対する暗号化プロセス及び第2暗号文に対する復号プロセスを完了することによって、端末とサーバにおける伝送プロセス中の、第1暗号文、第2暗号文の安全性を確保することができる。それと同時に、異なるタイムスタンプに対応する暗号鍵がいずれも異なるため、不正なユーザが大量の伝送暗号文をハイジャックすることによって暗号鍵を解読するというリスクを効果的に避けることができる。それと同時に、本願で提供される動的鍵が、第1タイムスタンプに対して第1変換処理及び第2変換処理を行うことによって得られたものであるため、不正なユーザが鍵生成アルゴリズムを解読する複雑さを向上させ、認証プロセスの安全性を更に向上させる。
【0094】
幾つかの可能な実現形態において、
図5を参照すると、
図5は、本願の実施例による認証方法を示す1つの選択可能なフローチャートである。
図3によれば、S301の前に、S501を更に含んでもよく、S304の後に、S502を更に含んでもよい。
【0095】
S501において、アルゴリズムファイルに対する初期化要求を受信し、初期化要求は、アルゴリズムファイルにおけるアルゴリズムタスクの呼び出しを要求するためのものである。
【0096】
幾つかの可能な実現形態において、端末が受信した、ターゲットサービスに対する使用要求は、該ターゲットサービスに対応するアルゴリズタスクに対する呼び出し要求であってもよい。該アルゴリズムタスクは、アルゴリズファイルにパッケージングされている。端末が該ターゲットサービスに対応するサーバにアクセスするプロセスにおいて、サーバから送信された、大量のアルゴリズムタスクがパッケージングされているアルゴリズムファイルを受信し、該アルゴリズムファイルに対する初期化要求を生成することができる。即ち、該ターゲットサービスに対応するアルゴリズタスクを呼び出すために、まず、アルゴリズムファイルに対する初期化要求に基づいて、該アルゴリズムファイルに対して初期化を行う必要がある。初期化に成功した場合、端末による該アルゴリズムファイルにおける全てのアルゴリズムタスク又は該アルゴリズムファイルにおける一部のアルゴリズムタスクの呼び出しを許可する。初期化に失敗した場合、端末による該アルゴリズムファイルにおけるアルゴリズムタスクの呼び出しを禁止する。
【0097】
ここで、アルゴリズムファイルに対する初期化要求を受信した後、
図3で提供される認証ステップを実行する。
【0098】
S502において、認証結果に基づいて、アルゴリズムファイルの初期化結果を決定する。
【0099】
幾つかの可能な実現形態において、該S502は更に以下を含む。S5021において、認証結果がパスである場合、アルゴリズムファイルの初期化結果が初期化に成功したことであると決定し、端末によるアルゴリズムファイルにおけるアルゴリズムタスクの呼び出しを許可する。更に、該ターゲット機能を実現させる。
【0100】
幾つかの可能な実現形態において、該S502は更に以下を含む。S5022において、認証結果がパスではない場合、アルゴリズムファイルの初期化結果が初期化に失敗したことであると決定し、端末によるアルゴリズムファイルにおけるアルゴリズムタスクの呼び出しを禁止する。
【0101】
本願の実施例における
図5に対する上記例示的な実施から分かるように、本願の実施例において、アルゴリズムファイルに対する初期化要求を取得し、サーバにより暗号化チャネルを介して伝送された認証結果を取得し、認証結果に基づいて初期化結果を得ることによって、該アルゴリズムファイルにおけるアルゴリズムタスクの安全性を確保し、不正なユーザによる該アルゴリズムファイルにおけるアルゴリズムタスクの不正な呼び出しを防止することができる。
【0102】
幾つかの可能な実現形態において、
図6を参照すると、
図6は、本願の実施例による認証方法を示す1つの選択可能なフローチャートである。
図5によれば、前記認証方法は、S601、S602及びS603を更に含んでもよい。
【0103】
S601において、サーバに時刻同期要求を送信し、サーバから送信された時刻同期応答を受信し、時刻同期応答に基づいて、端末とサーバとの時刻同期を行う。
【0104】
幾つかの可能な実現形態において、該S601は、端末とサーバとの接続の確立プロセスにおいて完了されてもよく、S302の前のいずれか1つの時点で実行されてもよい。つまり、時刻同期の目的は、該第1暗号文を含む認証要求を送信した後に、認証応答における認証結果の有効性を得ることを確保することである。従って、該認証結果の有効性を確保するために、該認証要求を送信する前に、端末とサーバとの時刻同期を完了してもよい。
【0105】
S602において、認証結果の状態情報を決定する。
【0106】
ここで、認証結果が無効状態である場合、ステップS603を実行し、認証結果が有効状態である場合、ステップS502を実行する。
【0107】
幾つかの可能な実現形態において、下記方式により、認証結果の状態情報を決定することができる。S6021において、認証結果を得た場合、時刻同期後の端末のシステム時刻を第3タイムスタンプとして取得する。S6022において、第3タイムスタンプ及び第2タイムスタンプに基づいて、認証結果の状態情報を決定する。
【0108】
ここで、該S6022は、第3タイムスタンプと第2タイムスタンプとの時間間隔が予め設定された有効時間間隔を超える場合、認証結果が無効状態であると決定することと、第3タイムスタンプと第2タイムスタンプとの時間間隔が予め設定された有効時間間隔を超えていない場合、認証結果が有効状態であると決定することと、を含む。
【0109】
該S6022は、第3タイムスタンプと第2タイムスタンプとの時間間隔が予め設定された有効時間閾値を超えていない場合、且つ第3タイムスタンプと第2タイムスタンプとの時間間隔が予め設定された最小時間間隔を超える場合、認証結果が有効状態であると決定することを更に含む。該最小時間間隔は、端末とサーバとの間のチャネル品質に関わる。
【0110】
例えば、第3タイムスタンプT3、第2タイムスタンプT2及び有効時間閾値Thが存在し、(T3-T2)>Thである場合、認証結果が無効状態であると決定する。(T3-T2)≦Thである場合、認証結果が有効状態であると決定する。別の実現形態において、(T3-T2)≦Thである場合、最小時間間隔Tmとの関係を判定する必要もある。(T3-T2)>Tmである場合、認証結果が有効状態であると決定する。(T3-T2)≦Tmである場合、認証結果が無効状態であると決定する。
【0111】
S603において、アルゴリズムファイルの初期化結果が初期化に失敗したことであると決定する。
【0112】
ここで、初期化に失敗したことは、端末によるアルゴリズムファイルにおけるアルゴリズムタスクの呼び出しを禁止するために用いられる。
【0113】
本願の実施例における
図6に対する上記例示的な実施から分かるように、本願において、認証要求を送信する前に端末とサーバとの時刻同期を完了することによって、第2タイムスタンプ及び第3タイムスタンプに基づいて、該認証結果の生成時刻を決定し、更に、該認証結果の有効性を決定することができ、リプレイ攻撃を防止し、システムの安全性を向上させることができる。
【0114】
本願の実施例で提供される端末の例示的な適用及び実施を参照しながら、本願の実施例において、サーバを実行主体として、本願の実施例で提供される認証方法を説明する。
【0115】
図7を参照すると、
図7は、本願の実施例による認証方法を示す1つの選択可能なフローチャートである。
図7に示すステップを参照しながら、説明する。
【0116】
S701において、端末から送信された、第1暗号文及び第1タイムスタンプを含む認証要求を受信する。
【0117】
幾つかの可能な実現形態において、該第1暗号文は、予め設定された暗号化メカニズムにより、検証待ち情報に対して暗号化を行うことによって得られたものである。該暗号化メカニズムは、異なる第1タイムスタンプに基づいて、異なる第1暗号文を生成することができる。端末がサーバに該認証要求を送信するプロセスにおいて、該第1タイムスタンプは、平文で送信され、該第1暗号文は、暗号化された検証待ち情報である。
【0118】
S702において、第1タイムスタンプに基づいて、第1暗号文に対して復号を行い、検証待ち情報を得る。
【0119】
幾つかの可能な実現形態において、該サーバに、端末と同一の暗号化メカニズムが予め記憶されている。これに対応して、サーバに、暗号化メカニズムに対応する復号メカニズムも予め記憶されている。サーバは、該復号メカニズムに基づいて、該第1暗号文に対して復号を行い、該検証待ち情報を得ることができる。
【0120】
幾つかの可能な実現形態において、サーバが該復号メカニズムに基づいて該第1暗号文を復号するプロセスにおいて、復号に失敗すると、該検証待ち情報を得ることができず、認証結果が認証に失敗したことであると決定する。
【0121】
S703において、検証待ち情報に対して検証を行い、認証結果を得る。
【0122】
幾つかの可能な実現形態において、該検証待ち情報は、現在のドメイン名と、ランダムチェックコードと、ユーザにより入力された身分識別子と、のうちの少なくとも1つを含んでもよい。
【0123】
幾つかの可能な実現形態において、該検証情報は、「現在のドメイン名+ユーザにより入力された身分識別子」の形式であってもよい。ここで、現在のドメイン名と該身分識別子とは、対応関係にある。つまり、サーバに、ホワイトリストの方式により正当な現在のドメイン名と身分識別子との対応関係が予め記憶されてもよい。検証待ち「現在のドメイン名+ユーザにより入力された身分識別子」を取得した後、サーバは、該正当な現在のドメイン名と身分識別子との対応関係に基づいて、現在の使用要求が正当であるかどうかを検出することができる。
【0124】
S704において、第2タイムスタンプに基づいて、認証結果に対して暗号化を行い、第2暗号文を得る。
【0125】
幾つかの可能な実現形態において、該第2タイムスタンプは、サーバが端末から送信された認証要求を受信した時刻であってもよい。端末の演算負荷を低減させるために、該第1タイムスタンプを直接的に該第2タイムスタンプとしてもよい。認証結果を得るサーバシステムを該第2タイムスタンプとしてもよい。サーバは、端末において予め設定された暗号化メカニズムと同じである暗号化メカニズムに基づいて、第2タイムスタンプにより、認証結果に対して暗号化を行い、第2暗号文を得ることができる。
【0126】
S705において、第2タイムスタンプ及び第2暗号文を含む認証応答を端末に送信し、認証応答は、復号された第2暗号文に基づいて認証結果を得るよう端末に指示するためのものである。
【0127】
幾つかの可能な実現形態において、該認証応答は、サーバから送信された、認証要求に対応する認証応答を受信することであって、認証応答は第2暗号文及び第2タイムスタンプを含む、ことと、第2タイムスタンプに基づいて、第2暗号文に対して復号を行い、検証待ち情報に対するサーバの認証結果を得ることと、を実行するよう端末に指示するためのものである。認証結果がパスである場合、アルゴリズムファイルの初期化結果が初期化に成功したことであると決定し、端末によるアルゴリズムファイルにおけるアルゴリズムタスクの呼び出しを許可することと、認証結果がパスではない場合、アルゴリズムファイルの初期化結果が初期化に失敗したことであると決定し、端末によるアルゴリズムファイルにおけるアルゴリズムタスクの呼び出しを禁止することと、を実行することもできる。
【0128】
本願の実施例における
図7に対する上記例示的な実施から分かるように、本願の実施例において、端末から送信された、第1暗号文及び第1タイムスタンプを含む認証要求を受信し、第1タイムスタンプに基づいて、第1暗号文に対して復号を行い、検証待ち情報を得て、検証待ち情報に対して検証を行い、認証結果を得て、第2タイムスタンプに基づいて、認証結果に対して暗号化を行い、第2暗号文を得て、第2タイムスタンプ及び第2暗号文を含む認証応答を端末に送信し、認証応答は、復号された第2暗号文に基づいて認証結果を得るよう端末に指示するためのものである。このように、該検証待ち情報の検証プロセスをサーバ側で実行することができ、端末を複雑なアルゴリズムタスクの実行に用いるプロセスにおいて、端末のコンピューティング負荷を低下させる。また、本願の実施例で提供される暗号化/復号メカニズムは、異なるタイムスタンプに基づいて、異なる暗号化/復号方法を選択することもでき、認証プロセスにおける安全性を更に向上させる。端末とサーバとは、同一の暗号化/復号アルゴリズムを用いるため、配置しやすく、適用性が高い。
【0129】
図8を参照すると、
図8は、本願の実施例による認証方法を示す1つの選択可能なフローチャートである。
図7によれば、
図7におけるS702は、S801~S802に更新されてもよく、S704は、S803~S804に更新されてもよい。
【0130】
S801において、第1タイムスタンプ及び予め設定された鍵生成アルゴリズムに基づいて、第1鍵を生成する。
【0131】
幾つかの可能な実現形態において、該鍵生成アルゴリズムは、異なる第1タイムスタンプに基づいて、異なる第1鍵を生成することができる。下記解決手段により、上記鍵生成アルゴリズムを実現させることができる。S8011において、第1タイムスタンプに対して第1変換処理を行い、第1パラメータを得る。S8012において、予め設定された初期鍵及び第1パラメータに対して第2変換処理を行い、第1鍵を得る。ここで、該鍵生成アルゴリズムは、S401における鍵生成アルゴリズムと同じである。
【0132】
S802において、第1鍵に基づいて、第1暗号文に対して復号を行い、検証待ち情報を得る。
【0133】
S803において、第2タイムスタンプ及び予め設定された鍵生成アルゴリズムに基づいて、第2鍵を生成する。
【0134】
幾つかの可能な実現形態において、該鍵生成アルゴリズムは、異なる第2タイムスタンプに基づいて、異なる第2鍵を生成することができる。下記解決手段により、上記鍵生成アルゴリズムを実現させることができる。S8031において、第2タイムスタンプに対して第1変換処理を行い、第2パラメータを得る。S8032において、予め設定された初期鍵及び第2パラメータに対して第2変換処理を行い、第2鍵を得る。ここで、該鍵生成アルゴリズムは、S401における鍵生成アルゴリズムと同じである。ここで、該鍵生成アルゴリズムは、S401における鍵生成アルゴリズムと同じである。
【0135】
S804において、第2鍵に基づいて、認証結果に対して暗号化を行い、第2暗号文を得る。
【0136】
本願の実施例における
図8に対する上記例示的な実施から分かるように、本願の実施例において、予め設定された鍵生成アルゴリズムにより、異なるタイムスタンプに基づいて、異なる鍵を生成することができる。異なるタイムスタンプに基づいて生成された鍵により、検証待ち情報に対する暗号化プロセス及び第2暗号文に対する復号プロセスを完了することによって、端末とサーバにおける伝送プロセス中の、第1暗号文、第2暗号文の安全性を確保することができる。それと同時に、異なるタイムスタンプに対応する暗号鍵がいずれも異なるため、不正なユーザが大量の伝送暗号文をハイジャックすることによって暗号鍵を解読するというリスクを効果的に避けることができる。それと同時に、本願で提供される動的鍵が、第1タイムスタンプに対して第1変換処理及び第2変換処理を行うことによって得られたものであるため、不正なユーザが鍵生成アルゴリズムを解読する複雑さを向上させ、認証プロセスの安全性を更に向上させる。
【0137】
図9を参照すると、
図9は、本願の実施例による認証方法を示す1つの選択可能なフローチャートである。
図7によれば、ステップS701の前に、前記認証方法は、S901~S902を更に含む。
【0138】
S901において、端末から送信された時刻同期要求を受信する。
【0139】
S902において、端末に時刻同期応答を送信し、時刻同期応答は、サーバとの時刻同期を行うように前記端末に指示するためのものである。
【0140】
本願の実施例における
図9に対する上記例示的な実施から分かるように、本願の実施例において、認証要求を送信する前に端末とサーバとの時刻同期を完了することによって、第2タイムスタンプ及び第3タイムスタンプに基づいて、該認証結果の生成時刻を決定し、更に、該認証結果の有効性を決定することができ、リプレイ攻撃を防止し、システムの安全性を向上させることができる。
【0141】
幾つかの可能な実現形態において、
図10を参照すると、
図10は、本願の実施例による認証方法を示す1つの選択可能なフローチャートである。
図10に示すステップを参照しながら、説明する。
【0142】
S1001において、端末がアルゴリズムファイルに対する初期化要求を受信し、初期化要求は、アルゴリズムファイルにおけるアルゴリズムタスクの呼び出しを要求するためのものである。
【0143】
S1002において、端末が第1タイムスタンプに基づいて、検証待ち情報に対して暗号化を行い、第1暗号文を得る。
【0144】
S1003において、端末がサーバに時刻同期要求を送信する。
【0145】
S1004において、サーバが端末から送信された時刻同期要求を受信し、端末が時刻同期応答を送信する。
【0146】
S1005において、端末が、サーバから送信された時刻同期応答を受信し、時刻同期応答に基づいて、端末とサーバとの時刻同期を行う。この場合、端末は、サーバとの時刻同期を完了することができる。
【0147】
S1006において、端末が第1暗号文及び第1タイムスタンプを含む認証要求をサーバに送信する。
【0148】
S1007において、サーバが第1タイムスタンプに基づいて第1暗号文に対して復号を行い、検証待ち情報を得る。
【0149】
S1008において、サーバが検証待ち情報に対して検証を行い、認証結果を得る。
【0150】
S1009において、サーバが第2タイムスタンプに基づいて、認証結果に対して暗号化を行い、第2暗号文を得る。
【0151】
S1010において、サーバが第2タイムスタンプ及び第2暗号文を含む認証応答を端末に送信する。
【0152】
S1011において、端末がサーバから送信された、認証要求に対応する認証応答を受信し、認証応答は、第2暗号文及び第2タイムスタンプを含む。
【0153】
S1012において、端末が第2タイムスタンプに基づいて、第2暗号文に対して復号を行い、検証待ち情報に対するサーバの認証結果を得る。
【0154】
S1013において、端末が認証結果の状態情報を決定する。認証結果が無効状態である場合、S1014を実行し、認証結果が有効状態である場合、S1015を実行する。
【0155】
S1014において、端末がアルゴリズムファイルの初期化結果が初期化に失敗したことであると決定する。
【0156】
S1015において、端末が認証結果に基づいて、アルゴリズムファイルの初期化結果を決定する。
【0157】
ここで、S1015は以下を含む。S1016において、認証結果がパスである場合、アルゴリズムファイルの初期化結果が初期化に成功したことであると決定し、端末によるアルゴリズムファイルにおけるアルゴリズムタスクの呼び出しを許可。S1017において、認証結果がパスではない場合、アルゴリズムファイルの初期化結果が初期化に失敗したことであると決定し、端末によるアルゴリズムファイルにおけるアルゴリズムタスクの呼び出しを禁止する。
【0158】
本願の実施例における
図10に対する上記例示的な実施から分かるように、本願の実施例において、該検証待ち情報の検証プロセスをサーバ側で実行することができ、端末を複雑なアルゴリズムタスクの実行に用いるプロセスにおいて、端末のコンピューティング負荷を低下させる。そして、該検証待ち情報に対する検証のためのホワイトリストがサーバによりメンテナンスされるため、認証プロセスにおけるホワイトリストの安全性を向上させる。また、本願の実施例で提供される暗号化/復号メカニズムは、異なるタイムスタンプに基づいて、異なる暗号化/復号方法を選択することもでき、認証プロセスにおける安全性を更に向上させる。端末とサーバとは、同一の暗号化/復号アルゴリズムを用いるため、配置しやすく、適用性が高い。本願の実施例で提供される認証方法により、コンピューティングタスクが不正に呼び出されることを更に避けることもでき、コンピューティングタスクの安全性を向上させる。
【0159】
以下、本願の実施例の、1つの実際の適用シーンにおける例示的な用途を説明する。
【0160】
本願の実施例は、アルゴリズムファイルにおけるコンピューティングタスクが不正に呼び出されるという問題を解決することができる。ここで、該アルゴリズムファイルは、種々のフォーマットのスクリプト、モジュールを含んでもよいが、これらに限定されない。理解しやすくするために、該アルゴリズムファイルがwasm(WebAssembly)ファイルであることを例として、本願の実施例で提供される認証方法を説明する。
【0161】
wasmは、スタックベース仮想マシンのバイナリ命令フォーマットである。wasmは、プログラミング言語の移植可能なコンパイルターゲットとして設計され、それによりウェブページ上で、クライアントとサーバアプリケーションプログラムを配置することができる。アルゴリズムがwasmによりフロントエンドに配置された後、wasmのソースコードは、完全にクライアントにより制御されるため、それが所在する埋め込み環境により自然に呼び出される。許可されていないユーザがwasmにおけるアルゴリズム部(アルゴリズムアスク)を無制限に呼び出すことを防止するために、認証部を追加し、wasmの安全性を補強する必要がある。現在では、wasmの認証に対する検討について、wasm技術が依然として初歩的な成長段階にあるため、利用可能な認証方式は限られている。wasmのネットワーク通信能力は、それが所在する埋め込み環境に依存するため、第3者による埋め込み環境の改ざんもwasm認証のリスクを増加させる。
【0162】
関連技術において、下記方法により認証の解決手段を実現させることができる。wasmは、まず、自己認証を行う。現在のドメイン名を取得し、所持されているホワイトリストにあるかどうかを照会する。ハンドシェーク検証を行う。ランダムチェックコードkeyを認証済みのサーバに送信し、サーバによるkey暗号化後のskey2を取得し、skey2と、wasm自己によるkey暗号化を行うことで得られたskey2’と、が一致するかどうかを比較する。一致すれば、認証がパスである。上記方法により、wasm内のコード保護の問題を解決することができるが、下記の一部の問題が依然として存在する。ブラウザ側でメンテナンス可能なホワイトリストの大きさが限られている。ホワイトリストは、改ざんされやすい。認証サーバの配置が煩わしく、中間者がハイジャックを要求し、他の認証サーバに転送することができる。wasmと認証サーバが所持する鍵が同じであれば、認証がパス可能である。該問題を避けるために、wasmと認証サーバの鍵が一対一に対応する必要がある。つまり、複数の鍵方策を必要とする。このように、要求を他の認証サーバに送信しても、得られた応答は不正確である。
【0163】
従って、js(javascript:関数優先的な軽量型、インタプリタ型又はジャストインタイムコンパイル型のプログラミング言語)ネットワーク通信能力に基づいて、wasmのリモート端末認証を実現させることができ、また、第3者によるjs改ざん及び中間者による攻撃のリスクを可能な限り避けることができる認証方法を提供する。これにより、認証ずみユーザのみは、wasm内のアルゴリズムインタフェースを成功して呼び出すことができ、第3者による攻撃の複雑さを向上させる。
【0164】
幾つかの可能な実現形態において、wasmファイルに認証部を追加する。アルゴリズムインタフェース(アルゴリズムタスク)を呼び出す前に、まず初期化を行い、初期化結果に基づいて、アルゴリズムインタフェースの呼び出しが可能であるかどうかを決定する。初期化時に、サーバに認証要求を送信し、認証結果を待ち、結果に基づいて、初期化が成功したかどうかを決定する。認証情報として、自己取得されたものとユーザから入力されたものの組み合わせを用いる。また、ネットワーク通信に対して、暗号化ポリシー追加する。
【0165】
図11を参照すると、
図11は、本願の実施例による認証方法を示す1つの選択可能なフローチャートである。
図11に示すステップを参照しながら、説明する。
【0166】
S1101において、現在のドメイン名domainを能動的に取得する。
【0167】
S1102において、wasmファイルの所在システムタイムスタンプtime_stamp1を取得し、time_stamp1に対して、カスタマイズされた第1変換処理を行い、第1パラメータを得る。続いて、第1パラメータ及びwasmが所持する共通初期鍵initial_keyに対して、カスタマイズされた第2変換処理を行い、暗号化鍵key1を形成する。time_stamp1とinitial_keyによりkey1を生成するプロセスを、予め設定された鍵生成アルゴリズムとして保存することができる。ここで、time_stamp1は、上記実施例における第1タイムスタンプであり、暗号化鍵key1は、上記実施例における第1鍵である。
【0168】
S1103において、ユーザから入力されたappID(身分識別子)を受信し、続いて、key1を用いて、appID及びドメイン名に対して暗号化を行い、暗号文1を得る。ここで、暗号文1は、上記実施例における第1暗号文である。
【0169】
S1104において、サーバに時刻同期要求を送信し、該要求もS1102、S1103と同じであるメカニズムにより暗号化され、time_stampと共にサーバに送信され、サーバ時刻の暗号化応答(メカニズムがS1106~S1110と同じである)を得た後、サーバ時刻を記録し、wasm内部において較正を行い、サーバに同期するクロックclock’を得る。
【0170】
S1105において、暗号文1とtime_stamp1の平文をサーバに送信する。
【0171】
S1106において、サーバは、initial_key及び受信したtime_stamp1に基づいて、予め設定された鍵生成アルゴリズムにより復号鍵key1を得る。
【0172】
S1107において、サーバは、暗号文1を復号し、appID及び対応するドメイン名がホワイトリストにあるかどうかを照会し、結果を認証結果として記録する。
【0173】
S1108において、サーバは、現在のタイムスタンプtime_stamp2を取得する。ここで、該time_stamp2は、上記実施例における第2タイムスタンプである。
【0174】
S1109において、time_stamp2及びinitial_keyに基づいて、予め設定された鍵生成アルゴリズムにより、暗号化鍵key2を得る。ここで、該key2は、上記実施例における第2鍵である。
【0175】
S1110において、key2を用いて、認証結果に対して暗号化を行い、暗号文2を得て、暗号文2とtime_stamp2の平文をwasmファイルに返送する。ここで、暗号文2は、上記実施例における第2暗号文である。
【0176】
S1111において、wasmファイルは、time_stamp2及びinitial_keyに基づいて、予め設定された鍵生成アルゴリズムにより、復号鍵key2を得て、暗号文2に対して復号を行い、認証結果を得る。
【0177】
S1112において、認証結果がパスであるかどうかを判定する。
【0178】
S1113において、認証結果がパスではないか又は認証結果の復号に失敗した場合、初期化に失敗する。
【0179】
S1114において、認証結果がパスであると、wasmは、較正クロックを検索して現在の較正時刻time_stamp3を取得し、time_stamp3がtime_stamp2と有効期間の和を超えているかどうかを比較し、超えている場合、初期化に失敗し、そうでなければ、成功する。ここで、time_stamp3は、上記実施例における第3タイムスタンプである。
【0180】
幾つかの可能な実現形態において、wasmとサーバとの通信プロセスにおいて、ランダムチェックコードを追加することができる。即ち、wasmは、時刻同期要求又は認証暗号文を送信する場合、ランダム文字列を別途追加して、鍵により暗号化することによってサーバに送信することができる。サーバが復号した後に再び暗号化を行い、返信を行う。wasmは、該ランダムチェックコードが一致するかどうかを検証することによって、受信した応答の有効性を決定する。一致すれば、有効であり、一致しなければ、無効である。同様に、サーバは、1回目の返答の場合にランダムチェックコードを追加することによって、2回目の要求の有効性を検証することもできる。
【0181】
本願の実施例で提供される認証方法は、下記技術的効果を達成することができる。鍵は経時的に変化し、且つ中間者はタイムスタンプ及び暗号文を改ざんしにくい。中間者は、認証に合格した暗号文を決定しにくい。また、有効期間内で認証に合格した暗号文を使用しにくい。ドメイン名の取得がwasmにより完了されるため、該コードセグメントは、バイトコードとしてコンパイルされる。従来のjsコードに比べて、コードセグメントの実行ステップを外部へ露出させることがない。中間者は、認証要求情報にどのようなパラメータを用いるかを知ることが困難である。配置しやすくて、実現が簡単である。
【0182】
以下では、本願の実施例で提供される認証装置554のコンポーネントとして実施される例示的な構造を引き続き説明する。幾つかの可能な実現形態において、
図12に示すように、メモリ550に記憶されている認証装置555におけるコンポーネントは、
第1タイムスタンプに基づいて、検証待ち情報に対して暗号化を行い、第1暗号文を得るように構成される第1暗号化部1201と、
第1暗号文及び第1タイムスタンプを含む認証要求をサーバに送信するように構成される第1送信部1202と、
サーバから送信された、認証要求に対応する認証応答を受信するように構成される第1受信部1203であって、認証応答は第2暗号文及び第2タイムスタンプを含む、第1受信部1203と、
第2タイムスタンプに基づいて、第2暗号文に対して復号を行い、検証待ち情報に対するサーバの認証結果を得るように構成される第1復号部1204と、を備えてもよい。
【0183】
幾つかの可能な実現形態において、第1暗号化部1201は更に、第1タイムスタンプ及び予め設定された鍵生成アルゴリズムに基づいて、第1鍵を生成し、第1鍵に基づいて、検証待ち情報に対して暗号化を行い、第1暗号文を得るように構成される。
【0184】
幾つかの可能な実現形態において、第1暗号化部1201は更に、第1タイムスタンプに対して第1変換処理を行い、第1パラメータを得て、予め設定された初期鍵及び第1パラメータに対して第2変換処理を行い、第1鍵を得るように構成される。
【0185】
幾つかの可能な実現形態において、第1復号部1204は更に、第2タイムスタンプ及び予め設定された鍵生成アルゴリズムに基づいて、第2鍵を生成し、第2鍵に基づいて、第2暗号文に対して復号を行い、検証待ち情報に対するサーバの認証結果を得るように構成される。
【0186】
幾つかの可能な実現形態において、第1復号部1204は更に、第2タイムスタンプに対して第1変換処理を行い、第2パラメータを得て、予め設定された初期鍵及び第2パラメータに対して第2変換処理を行い、第2鍵を得るように構成される。
【0187】
幾つかの可能な実現形態において、該認証装置555は、アルゴリズムファイルに対する初期化要求を受信するように構成される初期化部であって、初期化要求は、アルゴリズムファイルにおけるアルゴリズムタスクの呼び出しを要求するためのものである、初期化部を更に備える。
【0188】
幾つかの可能な実現形態において、該認証装置555は、認証結果に基づいて、アルゴリズムファイルの初期化結果を決定するように構成される呼び出し部を更に備える。該呼び出し部は更に、認証結果がパスである場合、アルゴリズムファイルの初期化結果が初期化に成功したことであると決定し、端末によるアルゴリズムファイルにおけるアルゴリズムタスクの呼び出しを許可し、認証結果がパスではない場合、アルゴリズムファイルの初期化結果が初期化に失敗したことであると決定し、端末によるアルゴリズムファイルにおけるアルゴリズムタスクの呼び出しを禁止するように構成される。
【0189】
幾つかの可能な実現形態において、該認証装置555は、認証結果の状態情報を決定し、認証結果が無効状態である場合、アルゴリズムファイルの初期化結果が初期化に失敗したことであると決定するように構成される状態決定部を更に備える。該呼び出し部は更に、認証結果が有効状態である場合、認証結果に基づいて、アルゴリズムファイルの初期化結果を決定するように構成される。
【0190】
幾つかの可能な実現形態において、該認証装置555は、サーバに時刻同期要求を送信し、サーバから送信された時刻同期応答を受信し、時刻同期応答に基づいて、端末とサーバとの時刻同期を行うように構成される第1同期部を更に備える。該状態決定部は更に、認証結果を得た場合、時刻同期後の端末のシステム時刻を第3タイムスタンプとして取得し、第3タイムスタンプ及び第2タイムスタンプに基づいて、認証結果の状態情報を決定するように構成される。
【0191】
幾つかの可能な実現形態において、該状態決定部は更に、第3タイムスタンプと第2タイムスタンプとの時間間隔が予め設定された有効時間間隔を超える場合、認証結果が無効状態であると決定し、第3タイムスタンプと第2タイムスタンプとの時間間隔が予め設定された有効時間間隔を超えていない場合、認証結果が有効状態であると決定するように構成される。
【0192】
幾つかの可能な実現形態において、検証待ち情報は、現在のドメイン名と、ランダムチェックコードと、ユーザにより入力された身分識別子と、のうちの少なくとも1つを含む。
【0193】
幾つかの可能な実現形態において、
図13に示すように、メモリ550に記憶されている認証装置55におけるソフトウェアコンポーネントは、
端末から送信された、第1暗号文及び第1タイムスタンプを含む認証要求を受信するように構成される第2受信部1301と、
第1タイムスタンプに基づいて、第1暗号文に対して復号を行い、検証待ち情報を得るように構成される第2復号部1302と、
検証待ち情報に対して検証を行い、認証結果を得るように構成される検証部1303と、
第2タイムスタンプに基づいて、認証結果に対して暗号化を行い、第2暗号文を得るように構成される第2暗号化部1304と、
第2タイムスタンプ及び第2暗号文を含む認証応答を端末に送信するように構成される第2送信部1305であって、認証応答は、復号された第2暗号文に基づいて認証結果を得るよう端末に指示するためのものである、第2送信部1305と、を備えてもよい。
【0194】
幾つかの可能な実現形態において、第2復号部1302は更に、第1タイムスタンプ及び予め設定された鍵生成アルゴリズムに基づいて、第1鍵を生成し、第1鍵に基づいて、第1暗号文に対して復号を行い、検証待ち情報を得るように構成される。
【0195】
幾つかの可能な実現形態において、第2復号部1302は更に第1タイムスタンプ及び予め設定された鍵生成アルゴリズムに基づいて、第1鍵を生成することは、第1タイムスタンプに対して第1変換処理を行い、第1パラメータを得ることと、予め設定された初期鍵及び第1パラメータに対して第2変換処理を行い、第1鍵を得ることと、を含む。
【0196】
幾つかの可能な実現形態において、第2暗号化部1304は更に、第2タイムスタンプ及び予め設定された鍵生成アルゴリズムに基づいて、第2鍵を生成し、第2鍵に基づいて、認証結果に対して暗号化を行い、第2暗号文を得るように構成される。
【0197】
幾つかの可能な実現形態において、第2暗号化部1304は更に、第2タイムスタンプに対して第1変換処理を行い、第2パラメータを得て、予め設定された初期鍵及び第2パラメータに対して第2変換処理を行い、第2鍵を得るように構成される。
【0198】
幾つかの可能な実現形態において、該認証装置555は、端末から送信された時刻同期要求を受信し、端末に時刻同期応答を送信するように構成される第2同期部を更に備え、時刻同期応答は、サーバとの時刻同期を行うように前記端末に指示するためのものである。
【0199】
幾つかの可能な実現形態において、検証待ち情報は、現在のドメイン名と、ランダムチェックコードと、ユーザにより入力された身分識別子と、のうちの少なくとも1つを含む。
【0200】
本願の実施例は、コンピュータプログラム製品又はコンピュータプログラムを提供する。該コンピュータプログラム製品又はコンピュータプログラムは、コンピュータ命令を含み、該コンピュータ命令は、コンピュータ可読記憶媒体に記憶されており、コンピュータ機器のプロセッサは、コンピュータ可読記憶媒体から該コンピュータ命令を読み取り、プロセッサは、該コンピュータ命令を実行し、コンピュータ機器に、本願の実施例に記載の認証出方法を実行させる。
【0201】
本願の実施例は、実行可能な命令が記憶されているコンピュータ可読記憶媒体を提供する。それに実行可能な命令が記憶されており、実行可能な命令がプロセッサにより実行される場合、プロセッサに、本願の実施例で提供される認証方法、例えば、
図3、
図4、
図5、
図6、
図7、
図8、
図9、
図10又は
図11に示す方法を実行させる。
【0202】
幾つかの可能な実現形態において、コンピュータ可読記憶媒体は、磁気ランダムアクセスメモリ(Ferromagnetic Random Access Memory:FRAM(登録商標))、読出し専用メモリ(Read-Only Memory:ROM)、プログラマブル読出し専用メモリ(Programmable read-only memory:PROM)、電気的プログラマブル読出し専用メモリ(Electrical Programmable read-only memory:EPROM)、電気的消去可能なプログラマブル読出し専用メモリ(Electrical Programmable read-only memory:EEPROM)、フラッシュメモリ、磁気面メモリ、光ディスク又はCD-ROMなどのメモリであってもよく、上記メモリのうちの1つ又は任意の組み合わせを含む種々の機器であってもよい。
【0203】
幾つかの可能な実現形態において、実行可能な命令は、プログラム、ソフトウェア、コンポーネント、スクリプト又はコードの形式で、任意の形式のプログラミング言語(コンパイル又はインタプリタ型言語、宣言型又は手続き型言語を含む)で書かれ、任意の形式で配置されてもよい。独立したプログラムとして配置されてもよく、コンポーネント、ユニット、サブルーチン又はコンピューティング環境に適用される他のユニットとして配置されてもよい。
【0204】
例として、実行可能な命令は、ファイルシステムにおけるファイルに対応してもよいが、これに限定されない。他のプログラム又はデータを記憶するファイルの一部に記憶されてもよい。例えば、ハイパーテキストマークアップ言語(HTML:Hyper Text Markup Language)ドキュメントにおける1つ又は複数のスクリプトに記憶され、検討されるプログラム専用の単一のファイルに記憶され、又は、複数のコラボレーションファイル(例えば、1つ又は複数のコンポーネント、サブプログラム又はコードコンポーネントを記憶するファイル)に記憶される。
【0205】
例として、実行可能な命令は、1つのコンピューティング機器で実行されてもよく、1つのサイトに位置する複数のコンピューティング機器で実行されてもよく、又は、複数のサイトに分布して通信ネットワークを介して相互接続される複数のコンピューティング機器で実行されてもよい。
【0206】
以上は本願の実施例に過ぎず、本願の保護範囲はそれらに制限されるものではなく、当業者が本願に開示された技術範囲内で容易に想到しうる修正、均等物による置き換え及び改良などはいずれも、本願の保護範囲内に含まれるべきである。
【産業上の利用可能性】
【0207】
本願は、認証方法、装置、機器及びコンピュータ可読記憶媒体を提供する。認証方法は、第1タイムスタンプに基づいて、検証待ち情報に対して暗号化を行い、第1暗号文を得ることと、第1暗号文及び第1タイムスタンプを含む認証要求をサーバに送信することと、サーバから送信された、認証要求に対応する認証応答を受信することであって、認証応答は第2暗号文及び第2タイムスタンプを含む、ことと、第2タイムスタンプに基づいて、第2暗号文に対して復号を行い、検証待ち情報に対するサーバの認証結果を得ることと、を含む。本願の実施例は、認証プロセスにおける安全性を向上させることができ、更に、本願の実施例で提供される認証方法により、コンピューティングタスクが不正に呼び出されることを効果的に避けることができる。
【手続補正書】
【提出日】2021-11-30
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
端末
が実行する認証方法であって、
第1タイムスタンプに基づいて、検証待ち情報に対して暗号化を行い、第1暗号文を得ることと、
前記第1暗号文及び前記第1タイムスタンプを含む認証要求をサーバに送信することと、
前記サーバから送信された、前記認証要求に対応する認証応答を受信することであって、前記認証応答は第2暗号文及び第2タイムスタンプを含む、ことと、
前記第2タイムスタンプに基づいて、前記第2暗号文に対して復号を行い、前記検証待ち情報に対する前記サーバの認証結果を得ることと、を含む、認証方法。
【請求項2】
第1タイムスタンプに基づいて、検証待ち情報に対して暗号化を行い、第1暗号文を得ることは、
前記第1タイムスタンプ及び予め設定された鍵生成アルゴリズムに基づいて、第1鍵を生成すること
であって、前記第1タイムスタンプに対して第1変換処理を行い、第1パラメータを得ることと、予め設定された初期鍵及び前記第1パラメータに対して第2変換処理を行い、前記第1鍵を得ることと、を含む、ことと、
前記第1鍵に基づいて、前記検証待ち情報に対して暗号化を行い、前記第1暗号文を得ることと、を含むことを特徴とする
請求項1に記載の認証方法。
【請求項3】
前記第2タイムスタンプに基づいて、前記第2暗号文に対して復号を行い、前記検証待ち情報に対する前記サーバの認証結果を得ることは、
前記第2タイムスタンプ及び予め設定された鍵生成アルゴリズムに基づいて、第2鍵を生成すること
であって、前記第2タイムスタンプに対して第1変換処理を行い、第2パラメータを得ることと、予め設定された初期鍵及び前記第2パラメータに対して第2変換処理を行い、前記第2鍵を得ることと、を含む、ことと、
前記第2鍵に基づいて、前記第2暗号文に対して復号を行い、前記検証待ち情報に対する前記サーバの認証結果を得ることと、を含むことを特徴とする
請求項1
又は2に記載の認証方法。
【請求項4】
第1タイムスタンプに基づいて、検証待ち情報に対して暗号化を行い、第1暗号文を得るステップの前に、前記認証方法は、
アルゴリズムファイルに対する初期化要求を受信することであって、前記初期化要求は、前記アルゴリズムファイルにおけるアルゴリズムタスクの呼び出しを要求するためのものである、ことを更に含むことを特徴とする
請求項1から
3のうちいずれか一項に記載の認証方法。
【請求項5】
前記認証方法は、
前記認証結果に基づいて、アルゴリズムファイルの初期化結果を決定することを更に含み、
前記認証結果に基づいて、前記アルゴリズムファイルの初期化結果を決定することは、
前記認証結果がパスである場合、前記アルゴリズムファイルの初期化結果が初期化に成功したことであると決定し、前記端末による前記アルゴリズムファイルにおけるアルゴリズムタスクの呼び出しを許可することと、
前記認証結果がパスではない場合、前記アルゴリズムファイルの初期化結果が初期化に失敗したことであると決定し、前記端末による前記アルゴリズムファイルにおけるアルゴリズムタスクの呼び出しを禁止することと、を含むことを特徴とする
請求項1から
4のうちいずれか一項に記載の認証方法。
【請求項6】
前記認証方法は、
前記認証結果の状態情報を決定することを更に含み、
前記認証結果に基づいて、前記アルゴリズムファイルの初期化結果を決定することは、
前記認証結果が有効状態である場合、前記認証結果に基づいて、前記アルゴリズムファイルの初期化結果を決定することを含むことを特徴とする
請求項
5に記載の認証方法。
【請求項7】
前記認証方法は、
前記サーバに時刻同期要求を送信し、前記サーバから送信された時刻同期応答を受信し、前記時刻同期応答に基づいて、前記端末と前記サーバとの時刻同期を行うことを更に含み、
前記認証結果の状態情報を決定することは、
前記認証結果を得た場合、時刻同期後の前記端末のシステム時刻を第3タイムスタンプとして取得することと、
前記第3タイムスタンプと前記第2タイムスタンプとの時間間隔が前記予め設定された有効時間間隔を超えていない場合、前記認証結果が有効状態であると決定することと、を含むことを特徴とする
請求項
6に記載の認証方法。
【請求項8】
サーバ
が実行する認証方法であって、
端末から送信された、第1暗号文及び第1タイムスタンプを含む認証要求を受信することと、
前記第1タイムスタンプに基づいて、前記第1暗号文に対して復号を行い、検証待ち情報を得ることと、
前記検証待ち情報に対して検証を行い、認証結果を得ることと、
第2タイムスタンプに基づいて、前記認証結果に対して暗号化を行い、第2暗号文を得ることと、
前記第2タイムスタンプ及び前記第2暗号文を含む認証応答を前記端末に送信することであって、前記認証応答は、復号された第2暗号文に基づいて前記認証結果を得るよう前記端末に指示するためのものである、ことと、を含む、認証方法。
【請求項9】
前記第1タイムスタンプに基づいて、前記第1暗号文に対して復号を行い、検証待ち情報を得ることは、
前記第1タイムスタンプ及び予め設定された鍵生成アルゴリズムに基づいて、第1鍵を生成すること
であって、前記第1タイムスタンプに対して第1変換処理を行い、第1パラメータを得ることと、予め設定された初期鍵及び前記第1パラメータに対して第2変換処理を行い、第1鍵を得ることと、を含む、ことと、
前記第1鍵に基づいて、前記第1暗号文に対して復号を行い、前記検証待ち情報を得ることと、を含むことを特徴とする
請求項
8に記載の認証方法。
【請求項10】
前記第2タイムスタンプに基づいて、前記認証結果に対して暗号化を行い、第2暗号文を得ることは、
前記第2タイムスタンプ及び予め設定された鍵生成アルゴリズムに基づいて、第2鍵を生成すること
であって、前記第2タイムスタンプに対して第1変換処理を行い、第2パラメータを得ることと、予め設定された初期鍵及び前記第2パラメータに対して第2変換処理を行い、前記第2鍵を得ることと、を含む、ことと、
前記第2鍵に基づいて、前記認証結果に対して暗号化を行い、第2暗号文を得ることと、を含むことを特徴とする
請求項
8又は9に記載の認証方法。
【請求項11】
前記認証方法は、
前記端末から送信された時刻同期要求を受信することと、
前記端末に時刻同期応答を送信することであって、前記時刻同期応答は、前記サーバとの時刻同期を行うように前記端末に指示するためのものである、ことと、を更に含むことを特徴とする
請求項
8から10のうちいずれか一項に記載の認証方法。
【請求項12】
認証装置であって、
第1タイムスタンプに基づいて、検証待ち情報に対して暗号化を行い、第1暗号文を得るように構成される第1暗号化部と、
前記第1暗号文及び前記第1タイムスタンプを含む認証要求を前記サーバに送信するように構成される第1送信部と、
前記サーバから送信された、前記認証要求に対応する認証応答を受信するように構成される第1受信部であって、前記認証応答は第2暗号文及び第2タイムスタンプを含む、第1受信部と、
前記第2タイムスタンプに基づいて、前記第2暗号文に対して復号を行い、前記検証待ち情報に対する前記サーバの認証結果を得るように構成される第1復号部と、を備える、認証装置。
【請求項13】
認証装置であって、
端末から送信された、第1暗号文及び第1タイムスタンプを含む認証要求を受信するように構成される第2受信部と、
前記第1タイムスタンプに基づいて、前記第1暗号文に対して復号を行い、検証待ち情報を得るように構成される第2復号部と、
前記検証待ち情報に対して検証を行い、認証結果を得るように構成される検証部と、
第2タイムスタンプに基づいて、前記認証結果に対して暗号化を行い、第2暗号文を得るように構成される第2暗号化部と、
前記第2タイムスタンプ及び前記第2暗号文を含む認証応答を前記端末に送信するように構成される第2送信部であって、前記認証応答は、復号された第2暗号文に基づいて前記認証結果を得るよう前記端末に指示するためのものである、第2送信部と、を備える、認証装置。
【請求項14】
認証機器であって、
実行可能な命令を記憶するメモリと、
前記メモリに記憶されている
前記実行可能な命令を実行して、請求項1から
7のうちいずれか一項又は請求項
8から11のうちいずれか一項に記載の認証方法を実行するプロセッサと、を備える、認証機器。
【請求項15】
コンピュータに請求項1から
7のうちいずれか一項又は請求項
8から11のうちいずれか一項に記載の認証方法を実行させるためのコンピュータプログラム命令を記憶した、コンピュータ可読記憶媒体。
【請求項16】
コンピュータに請求項1から
7のうちいずれか一項又は請求項
8から11のうちいずれか一項に記載の認証方法を実行させ
る、コンピュータプログラム。
【手続補正2】
【補正対象書類名】明細書
【補正対象項目名】0035
【補正方法】変更
【補正の内容】
【0035】
本願の実施例は、コンピュータプログラムを提供する。前記コンピュータプログラムは、コンピュータ可読コードを含み、前記コンピュータ可読コードが電子機器で実行される場合、前記電子機器におけるプロセッサに、本願の実施例で提供される認証方法を実行させる。
例えば、本願は以下の項目を提供する。
(項目1)
端末に適用される認証方法であって、
第1タイムスタンプに基づいて、検証待ち情報に対して暗号化を行い、第1暗号文を得ることと、
前記第1暗号文及び前記第1タイムスタンプを含む認証要求をサーバに送信することと、
前記サーバから送信された、前記認証要求に対応する認証応答を受信することであって、前記認証応答は第2暗号文及び第2タイムスタンプを含む、ことと、
前記第2タイムスタンプに基づいて、前記第2暗号文に対して復号を行い、前記検証待ち情報に対する前記サーバの認証結果を得ることと、を含む、認証方法。
(項目2)
第1タイムスタンプに基づいて、検証待ち情報に対して暗号化を行い、第1暗号文を得ることは、
前記第1タイムスタンプ及び予め設定された鍵生成アルゴリズムに基づいて、第1鍵を生成することと、
前記第1鍵に基づいて、前記検証待ち情報に対して暗号化を行い、前記第1暗号文を得ることと、を含むことを特徴とする
項目1に記載の認証方法。
(項目3)
前記第1タイムスタンプ及び予め設定された鍵生成アルゴリズムに基づいて、第1鍵を生成することは、
前記第1タイムスタンプに対して第1変換処理を行い、第1パラメータを得ることと、
予め設定された初期鍵及び前記第1パラメータに対して第2変換処理を行い、前記第1鍵を得ることと、を含むことを特徴とする
項目2に記載の認証方法。
(項目4)
前記第2タイムスタンプに基づいて、前記第2暗号文に対して復号を行い、前記検証待ち情報に対する前記サーバの認証結果を得ることは、
前記第2タイムスタンプ及び予め設定された鍵生成アルゴリズムに基づいて、第2鍵を生成することと、
前記第2鍵に基づいて、前記第2暗号文に対して復号を行い、前記検証待ち情報に対する前記サーバの認証結果を得ることと、を含むことを特徴とする
項目1から3のうちいずれか一項に記載の認証方法。
(項目5)
前記第2タイムスタンプ及び予め設定された鍵生成アルゴリズムに基づいて、第2鍵を生成することは、
前記第2タイムスタンプに対して第1変換処理を行い、第2パラメータを得ることと、
予め設定された初期鍵及び前記第2パラメータに対して第2変換処理を行い、前記第2鍵を得ることと、を含むことを特徴とする
項目4に記載の認証方法。
(項目6)
第1タイムスタンプに基づいて、検証待ち情報に対して暗号化を行い、第1暗号文を得るステップの前に、前記認証方法は、
アルゴリズムファイルに対する初期化要求を受信することであって、前記初期化要求は、前記アルゴリズムファイルにおけるアルゴリズムタスクの呼び出しを要求するためのものである、ことを更に含むことを特徴とする
項目1から5のうちいずれか一項に記載の認証方法。
(項目7)
前記認証方法は、
前記認証結果に基づいて、アルゴリズムファイルの初期化結果を決定することを更に含み、
前記認証結果に基づいて、前記アルゴリズムファイルの初期化結果を決定することは、
前記認証結果がパスである場合、前記アルゴリズムファイルの初期化結果が初期化に成功したことであると決定し、前記端末による前記アルゴリズムファイルにおけるアルゴリズムタスクの呼び出しを許可することと、
前記認証結果がパスではない場合、前記アルゴリズムファイルの初期化結果が初期化に失敗したことであると決定し、前記端末による前記アルゴリズムファイルにおけるアルゴリズムタスクの呼び出しを禁止することと、を含むことを特徴とする
項目1から6のうちいずれか一項に記載の認証方法。
(項目8)
前記認証方法は、
前記認証結果の状態情報を決定することを更に含み、
前記認証結果に基づいて、前記アルゴリズムファイルの初期化結果を決定することは、
前記認証結果が有効状態である場合、前記認証結果に基づいて、前記アルゴリズムファイルの初期化結果を決定することを含むことを特徴とする
項目7に記載の認証方法。
(項目9)
前記認証方法は、
前記サーバに時刻同期要求を送信し、前記サーバから送信された時刻同期応答を受信し、前記時刻同期応答に基づいて、前記端末と前記サーバとの時刻同期を行うことを更に含み、
前記認証結果の状態情報を決定することは、
前記認証結果を得た場合、時刻同期後の前記端末のシステム時刻を第3タイムスタンプとして取得することと、
前記第3タイムスタンプ及び前記第2タイムスタンプに基づいて、前記認証結果の状態情報を決定することと、を含むことを特徴とする
項目8に記載の認証方法。
(項目10)
前記第3タイムスタンプ及び前記第2タイムスタンプに基づいて、前記認証結果の状態情報を決定することは、
前記第3タイムスタンプと前記第2タイムスタンプとの時間間隔が前記予め設定された有効時間間隔を超えていない場合、前記認証結果が有効状態であると決定することを含むことを特徴とする
項目9に記載の認証方法。
(項目11)
前記検証待ち情報は、現在のドメイン名と、ランダムチェックコードと、ユーザにより入力された身分識別子と、のうちの少なくとも1つを含むことを特徴とする
項目1から9のうちいずれか一項に記載の認証方法。
(項目12)
サーバに適用される認証方法であって、
端末から送信された、第1暗号文及び第1タイムスタンプを含む認証要求を受信することと、
前記第1タイムスタンプに基づいて、前記第1暗号文に対して復号を行い、検証待ち情報を得ることと、
前記検証待ち情報に対して検証を行い、認証結果を得ることと、
第2タイムスタンプに基づいて、前記認証結果に対して暗号化を行い、第2暗号文を得ることと、
前記第2タイムスタンプ及び前記第2暗号文を含む認証応答を前記端末に送信することであって、前記認証応答は、復号された第2暗号文に基づいて前記認証結果を得るよう前記端末に指示するためのものである、ことと、を含む、認証方法。
(項目13)
前記第1タイムスタンプに基づいて、前記第1暗号文に対して復号を行い、検証待ち情報を得ることは、
前記第1タイムスタンプ及び予め設定された鍵生成アルゴリズムに基づいて、第1鍵を生成することと、
前記第1鍵に基づいて、前記第1暗号文に対して復号を行い、前記検証待ち情報を得ることと、を含むことを特徴とする
項目12に記載の認証方法。
(項目14)
前記第1タイムスタンプ及び予め設定された鍵生成アルゴリズムに基づいて、第1鍵を生成することは、
前記第1タイムスタンプに対して第1変換処理を行い、第1パラメータを得ることと、
予め設定された初期鍵及び前記第1パラメータに対して第2変換処理を行い、第1鍵を得ることと、を含むことを特徴とする
項目13に記載の認証方法。
(項目15)
前記第2タイムスタンプに基づいて、前記認証結果に対して暗号化を行い、第2暗号文を得ることは、
前記第2タイムスタンプ及び予め設定された鍵生成アルゴリズムに基づいて、第2鍵を生成することと、
前記第2鍵に基づいて、前記認証結果に対して暗号化を行い、第2暗号文を得ることと、を含むことを特徴とする
項目12から13のうちいずれか一項に記載の認証方法。
(項目16)
前記第2タイムスタンプ及び予め設定された鍵生成アルゴリズムに基づいて、第2鍵を生成することは、
前記第2タイムスタンプに対して第1変換処理を行い、第2パラメータを得ることと、
予め設定された初期鍵及び前記第2パラメータに対して第2変換処理を行い、前記第2鍵を得ることと、を含むことを特徴とする
項目15に記載の認証方法。
(項目17)
前記認証方法は、
前記端末から送信された時刻同期要求を受信することと、
前記端末に時刻同期応答を送信することであって、前記時刻同期応答は、前記サーバとの時刻同期を行うように前記端末に指示するためのものである、ことと、を更に含むことを特徴とする
項目12から16のうちいずれか一項に記載の認証方法。
(項目18)
前記検証待ち情報は、現在のドメイン名と、ランダムチェックコードと、ユーザにより入力された身分識別子と、のうちの少なくとも1つを含むことを特徴とする
項目12から17のうちいずれか一項に記載の認証方法。
(項目19)
認証装置であって、
第1タイムスタンプに基づいて、検証待ち情報に対して暗号化を行い、第1暗号文を得るように構成される第1暗号化部と、
前記第1暗号文及び前記第1タイムスタンプを含む認証要求を前記サーバに送信するように構成される第1送信部と、
前記サーバから送信された、前記認証要求に対応する認証応答を受信するように構成される第1受信部であって、前記認証応答は第2暗号文及び第2タイムスタンプを含む、第1受信部と、
前記第2タイムスタンプに基づいて、前記第2暗号文に対して復号を行い、前記検証待ち情報に対する前記サーバの認証結果を得るように構成される第1復号部と、を備える、認証装置。
(項目20)
認証装置であって、
端末から送信された、第1暗号文及び第1タイムスタンプを含む認証要求を受信するように構成される第2受信部と、
前記第1タイムスタンプに基づいて、前記第1暗号文に対して復号を行い、検証待ち情報を得るように構成される第2復号部と、
前記検証待ち情報に対して検証を行い、認証結果を得るように構成される検証部と、
第2タイムスタンプに基づいて、前記認証結果に対して暗号化を行い、第2暗号文を得るように構成される第2暗号化部と、
前記第2タイムスタンプ及び前記第2暗号文を含む認証応答を前記端末に送信するように構成される第2送信部であって、前記認証応答は、復号された第2暗号文に基づいて前記認証結果を得るよう前記端末に指示するためのものである、第2送信部と、を備える、認証装置。
(項目21)
認証機器であって、
実行可能な命令を記憶するメモリと、
前記メモリに記憶されているコンピュータプログラムを実行する場合、項目1から11のうちいずれか一項又は項目12から18のうちいずれか一項に記載の認証方法を実行するプロセッサと、を備える、認証機器。
(項目22)
プロセッサにより実行される時、前記プロセッサに項目1から11のうちいずれか一項又は項目12から18のうちいずれか一項に記載の認証方法を実行させるためのコンピュータプログラム命令を記憶した、コンピュータ可読記憶媒体。
(項目23)
電子機器で実行される場合、前記電子機器におけるプロセッサに、項目1から11のうちいずれか一項又は項目12から18のうちいずれか一項に記載の認証方法を実行させるためのコンピュータ可読コードを含む、コンピュータプログラム。
【国際調査報告】