(57)【要約】  本出願は、キー管理方法、装置、システム、記憶媒体及びコンピュータ機器に関し、当該キー管理方法は、ローカルのセキュアエリアにデバイス公開キーとデバイス秘密キーとを含むデバイスキーを生成し、ローカルのデバイスパラメータと前記デバイス公開キーとを証明書認証サーバに送信し、前記証明書認証サーバからフィードバックされるデバイス証明書を受信し、前記デバイス証明書の署名データは前記証明書認証サーバの認証秘密キーにより前記デバイスパラメータと前記デバイス公開キーと署名することにより生成され、前記デバイス秘密キーと前記デバイス証明書とを前記セキュアエリアに記憶することを含む。本出願で提供されるスキームはキー管理効率を向上させる。
2021516495.tif 000002
【特許請求の範囲】
【請求項１】
端末に適用されるキー管理方法であって、
ローカルのセキュアエリアで、デバイス公開キーとデバイス秘密キーとを含むデバイスキーを生成するステップと、
ローカルのデバイスパラメータと前記デバイス公開キーとを証明書認証サーバに送信するステップと、
前記証明書認証サーバからフィードバックされるデバイス証明書を受信するステップであって、前記デバイス証明書の署名データは、前記証明書認証サーバの認証秘密キーにより前記デバイスパラメータと前記デバイス公開キーとを署名することにより生成されるステップと、
前記デバイス秘密キーと前記デバイス証明書とを前記セキュアエリアに記憶するステップと、を含むことを特徴とする方法。
【請求項２】
前記方法は、
ローカルで実行されるアプリケーションによりトリガーされるアプリケーションキー生成命令を取得した場合、前記セキュアエリアに前記アプリケーションのアプリケーションキーを生成するステップであって、前記アプリケーションキーはアプリケーション公開キーとアプリケーション秘密キーとを含むステップと、
前記セキュアエリアで、前記デバイス秘密キーにより、前記アプリケーションのアプリケーションパラメータと前記アプリケーション公開キーとを署名して、前記アプリケーションのアプリケーション証明書を生成するステップと、
前記アプリケーション秘密キーと前記アプリケーション証明書とを対応付けて前記セキュアエリアに記憶する、ステップをさらに含むことを特徴とする請求項１に記載の方法。
【請求項３】
前記デバイス秘密キーにより前記アプリケーションのアプリケーションパラメータと前記アプリケーション公開キーとを署名して、前記アプリケーションのアプリケーション証明書を生成するステップは、
前記アプリケーションのアプリケーションパラメータと、前記アプリケーション公開キーのダイジェスト情報とを取得するステップと、
前記デバイス秘密キーにより前記ダイジェスト情報を暗号化して、署名データを取得するステップと、
暗号化された前記署名データに基づいて前記アプリケーションのアプリケーション証明書を生成するステップと、を含むことを特徴とする請求項２に記載の方法。
【請求項４】
前記方法は、
前記認証秘密キーに対応する認証公開キーを含む認証証明書を取得するステップと、
前記認証証明書、前記デバイス証明書及び前記アプリケーション証明書を、前記アプリケーションの証明書チェーンとするステップと、
前記証明書チェーンを前記セキュアエリアに記憶するステップと、をさらに含むことを特徴とする請求項２に記載の方法。
【請求項５】
前記方法は、
前記アプリケーションによりトリガーされる生体認証権限付与要求を受信した場合に、前記アプリケーションに対応するアプリケーション証明書検証要求を生成するステップと、
前記アプリケーションの証明書チェーンと、前記アプリケーション証明書検証要求とを対応付けて前記アプリケーションに対応するアプリケーションサーバに送信するステップと、
前記アプリケーションサーバが前記アプリケーションサーバに記憶されている認証証明書に基づいて受信の証明書チェーンを検証した後にフィードバックする検証結果を受信するステップと、
前記検証結果が検証に成功したことを示す場合に、前記アプリケーションに、生体認証を行う権限を付与するステップと、をさらに含むことを特徴とする請求項４に記載の方法。
【請求項６】
前記方法は、
前記アプリケーションサーバが前記認証証明書が記憶されていない場合にフィードバックする、セキュアチャネルを介して前記証明書認証サーバから取得した検証結果を受信するステップであって、前記検証結果は、前記証明書認証サーバが前記セキュアチャネルを介して前記アプリケーションサーバによってアップロードされる前記証明書チェーンを受信した後に、前記証明書認証サーバに記憶されている認証証明書に基づいて前記証明書チェーンを検証することにより得られるステップをさらに含むことを特徴とする請求項５に記載の方法。
【請求項７】
証明書認証サーバに適用される証明書検証方法であって、
アプリケーション証明書検証要求を受信するステップと、
前記アプリケーション証明書検証要求に対応する証明書チェーンを取得するステップであって、前記証明書チェーンは、認証証明書、デバイス証明書及びアプリケーション証明書を含み、前記認証証明書に対応する認証秘密キーにより署名して前記デバイス証明書の署名データを生成し、前記認証証明書の認証公開キーにより前記デバイス証明書の署名データを復号化し、前記デバイス証明書に対応するデバイス秘密キーにより署名して前記アプリケーション証明書の署名データを生成し、前記デバイス証明書のデバイス公開キーにより前記アプリケーション証明書の署名データを復号化するステップと、
ローカルに、前記証明書チェーンにおける認証証明書と一致する認証証明書が存在する場合に、前記証明書チェーンにおける認証証明書の認証公開キーに基づいて、前記デバイス証明書と前記アプリケーション証明書を検証するステップと、
デバイス証明書とアプリケーション証明書の両方の検証に成功した場合、検証に成功したことを示す検証結果をフィードバックするステップと、を含むことを特徴とする方法。
【請求項８】
前記ローカルに、前記証明書チェーンにおける認証証明書と一致する認証証明書が存在する場合に、前記証明書チェーンにおける認証証明書の認証公開キーに基づいて前記デバイス証明書と前記アプリケーション証明書を検証するステップは、
失効認証証明書リストにおいて前記証明書チェーンにおける認証証明書を照会するステップと、
前記証明書チェーンにおける認証証明書が前記失効認証証明書リストに存在しない場合に、ローカルで前記証明書チェーンにおける認証証明書と一致する認証証明書を照会するステップと、
前記証明書チェーンにおける認証証明書と一致する認証証明書が照会された場合、前記証明書チェーンにおける認証証明書の認証公開キーに基づいて前記デバイス証明書を検証するステップと、
前記デバイス証明書検証に成功した場合、前記デバイス証明書のデバイス公開キーに基づいて前記アプリケーション証明書を検証するステップと、を含むことを特徴とする請求項７に記載の方法。
【請求項９】
前記方法は、
デバイスパラメータとデバイス公開キーを受信するステップと、
前記デバイスパラメータと前記デバイス公開キーのダイジェスト情報を取得するステップと、
認証秘密キーにより前記ダイジェスト情報を暗号化して、署名データを取得するステップと、
暗号化された前記署名データに基づいて前記デバイス証明書を生成しフィードバックするステップと、をさらに含むことを特徴とする請求項７に記載の方法。
【請求項１０】
キー管理装置であって、
ローカルのセキュアエリアで、デバイス公開キーとデバイス秘密キーとを含むデバイスキーを生成するための生成モジュールと、
ローカルのデバイスパラメータと前記デバイス公開キーとを証明書認証サーバに送信するための送信モジュールと、
前記証明書認証サーバからフィードバックされるデバイス証明書を受信するための受信モジュールであって、前記デバイス証明書の署名データは、前記証明書認証サーバの認証秘密キーにより前記デバイスパラメータと前記デバイス公開キーとを署名することにより生成される受信モジュールと、
前記デバイス秘密キーと前記デバイス証明書とを前記セキュアエリアに記憶するための記憶モジュールとを含むことを特徴とする装置。
【請求項１１】
証明書検証装置であって、
アプリケーション証明書検証要求を受信するための受信モジュールと、
前記アプリケーション証明書検証要求に対応する証明書チェーンを取得するための取得モジュールであり、前記証明書チェーンは、認証証明書、デバイス証明書及びアプリケーション証明書を含み、前記認証証明書に対応する認証秘密キーにより署名して前記デバイス証明書の署名データを生成し、前記認証証明書の認証公開キーにより、前記デバイス証明書の署名データを復号化し、前記デバイス証明書に対応するデバイス秘密キーにより署名して前記アプリケーション証明書の署名データを生成し、前記デバイス証明書のデバイス公開キーにより、前記アプリケーション証明書の署名データを復号化する取得モジュールと、
ローカルに前記証明書チェーンにおける認証証明書と一致する認証証明書が存在する場合に、前記証明書チェーンにおける認証証明書の認証公開キーに基づいて前記デバイス証明書と前記アプリケーション証明書を検証するための検証モジュールと、
デバイス証明書とアプリケーション証明書の両方の検証に成功した場合、検証に成功したことを示す検証結果をフィードバックするためのフィードバックモジュールとを含むことを特徴とする装置。
【請求項１２】
キー管理システムであって、
前記システムは、端末と証明書認証サーバとを含み、
前記端末は、ローカルのセキュアエリアで、デバイス公開キーとデバイス秘密キーとを含むデバイスキーを生成し、ローカルのデバイスパラメータと前記デバイス公開キーとを前記証明書認証サーバに送信し、
前記証明書認証サーバは、前記端末にデバイス証明書をフィードバックし、フィードバックされる前記デバイス証明書の署名データは、前記証明書認証サーバが前記証明書認証サーバの認証秘密キーに基づいて前記デバイスパラメータと前記デバイス公開キーとを署名することにより生成され、
前記端末は、さらに、前記デバイス秘密キーと前記デバイス証明書とを前記セキュアエリアに記憶することを特徴とするシステム。
【請求項１３】
アプリケーションサーバをさらに含み、前記端末は、さらに、ローカルで実行されるアプリケーションの証明書チェーンを生成し、前記アプリケーションによりトリガーされる生体認証権限付与要求を受信した場合に、前記アプリケーションに対応するアプリケーション証明書検証要求を生成し、前記アプリケーションの証明書チェーンと前記アプリケーション証明書検証要求とを対応付けて前記アプリケーションに対応する前記アプリケーションサーバに送信し、
前記アプリケーションサーバは、前記証明書チェーンにおける認証証明書が記憶されている場合に、記憶されている認証証明書に基づいて受信した証明書チェーンを検証した後に前記端末に検証結果をフィードバックし、前記証明書チェーンにおける認証証明書が記憶されていない場合に、セキュアチャネルを介して前記証明書チェーンを前記証明書認証サーバに伝送し、前記証明書認証サーバから、前記証明書認証サーバによる前記証明書チェーンの検証結果を取得し、前記端末にフィードバックし、
前記証明書チェーンは、認証証明書、デバイス証明書及びアプリケーション証明書を含み、前記認証証明書に対応する認証秘密キーにより署名して前記デバイス証明書の署名データを生成し、前記認証証明書の認証公開キーにより前記デバイス証明書の署名データを復号化し、前記デバイス証明書に対応するデバイス秘密キーにより署名して前記アプリケーション証明書の署名データを生成し、前記デバイス証明書のデバイス公開キーにより前記アプリケーション証明書の署名データを復号化することを特徴とする請求項１２に記載のシステム。
【請求項１４】
プロセッサによって実行される場合に、請求項１〜９のいずれか一項に記載の方法のステップを前記プロセッサに実行させるコンピュータプログラムが記憶されているコンピュータ読み取り可能な記憶媒体。
【請求項１５】
コンピュータ機器であって、メモリとプロセッサを含み、前記メモリにコンピュータプログラムが記憶され、前記コンピュータプログラムが前記プロセッサによって実行される場合に、前記プロセッサに、
ローカルのセキュアエリアで、デバイス公開キーとデバイス秘密キーとを含むデバイスキーを生成し、
ローカルのデバイスパラメータと前記デバイス公開キーとを証明書認証サーバに送信し、
前記証明書認証サーバからフィードバックされるデバイス証明書を受信し、前記デバイス証明書の署名データは前記証明書認証サーバの認証秘密キーにより前記デバイスパラメータと前記デバイス公開キーとを署名することにより生成され、
前記デバイス秘密キーと前記デバイス証明書とを前記セキュアエリアに記憶する、操作を実行させるコンピュータ機器。
【請求項１６】
前記コンピュータプログラムが前記プロセッサによって実行される場合に、前記プロセッサに、
ローカルで実行されるアプリケーションによりトリガーされるアプリケーションキー生成命令を取得した場合に、前記セキュアエリアに前記アプリケーションのアプリケーションキーを生成し、前記アプリケーションキーはアプリケーション公開キーとアプリケーション秘密キーを含み、
前記セキュアエリアで、前記デバイス秘密キーにより前記アプリケーションのアプリケーションパラメータと前記アプリケーション公開キーとを署名して、前記アプリケーションのアプリケーション証明書を生成し、
前記アプリケーション秘密キーと前記アプリケーション証明書とを対応付けて前記セキュアエリアに記憶する、操作を実行させることを特徴とする請求項１５に記載のコンピュータ機器。
【請求項１７】
前記コンピュータプログラムが前記プロセッサによって実行される場合に、前記プロセッサに、
前記アプリケーションのアプリケーションパラメータと、前記アプリケーション公開キーのダイジェスト情報とを取得し、
前記デバイス秘密キーにより前記ダイジェスト情報を暗号化して、署名データを取得し、
暗号化された前記署名データに基づいて前記アプリケーションのアプリケーション証明書を生成する、操作を実行させることを特徴とする請求項１６に記載のコンピュータ機器。
【請求項１８】
前記コンピュータプログラムが前記プロセッサによって実行される場合に、前記プロセッサに、
前記認証秘密キーに対応する認証公開キーを含む認証証明書を取得し、
前記認証証明書、前記デバイス証明書及び前記アプリケーション証明書を、前記アプリケーションの証明書チェーンとし、
前記証明書チェーンを前記セキュアエリアに記憶する、操作を実行させることを特徴とする請求項１６に記載のコンピュータ機器。
【請求項１９】
前記コンピュータプログラムが前記プロセッサによって実行される場合に、前記プロセッサに、
前記アプリケーションによりトリガーされる生体認証権限付与要求を受信した場合に、前記アプリケーションに対応するアプリケーション証明書検証要求を生成し、
前記アプリケーションの証明書チェーンと前記アプリケーション証明書検証要求とを対応付けて前記アプリケーションに対応するアプリケーションサーバに送信し、
前記アプリケーションサーバが前記アプリケーションサーバに記憶されている認証証明書に基づいて受信した証明書チェーンを検証した後にフィードバックする検証結果を受信し、
前記検証結果が検証に成功したことを示す場合に、前記アプリケーションに、生体認証を行う権限を付与する、操作を実行させることを特徴とする請求項１８に記載のコンピュータ機器。
【請求項２０】
前記コンピュータプログラムが前記プロセッサによって実行される場合に、前記プロセッサに、
前記アプリケーションサーバが前記認証証明書が記憶されていない場合にフィードバックする、セキュアチャネルを介して前記証明書認証サーバから取得した検証結果を受信する操作を実行させ、前記検証結果は、前記証明書認証サーバが前記セキュアチャネルを介して前記アプリケーションサーバによってアップロードされる前記証明書チェーンを受信した後に、前記証明書認証サーバに記憶されている認証証明書に基づいて前記証明書チェーンを検証することにより得られることを特徴とする請求項１９に記載のコンピュータ機器。
【請求項２１】
コンピュータ機器であって、メモリとプロセッサとを含み、前記メモリにコンピュータプログラムが記憶され、前記コンピュータプログラムが前記プロセッサによって実行される場合に、前記プロセッサに、
アプリケーション証明書検証要求を受信し、
前記アプリケーション証明書検証要求に対応する証明書チェーンを取得し、前記証明書チェーンは認証証明書、デバイス証明書及びアプリケーション証明書を含み、前記認証証明書に対応する認証秘密キーにより署名して前記デバイス証明書の署名データを生成し、前記認証証明書の認証公開キーにより前記デバイス証明書の署名データを復号化し、前記デバイス証明書に対応するデバイス秘密キーにより署名して前記アプリケーション証明書の署名データを生成し、前記デバイス証明書のデバイス公開キーにより前記アプリケーション証明書の署名データを復号化し、
ローカルに前記証明書チェーンにおける認証証明書と一致する認証証明書が存在する場合に、前記証明書チェーンにおける認証証明書の認証公開キーに基づいて前記デバイス証明書と前記アプリケーション証明書を検証し、
デバイス証明書とアプリケーション証明書の両方の検証に成功した場合、検証に成功したことを示す検証結果をフィードバックする、操作を実行させるコンピュータ機器。
【請求項２２】
前記コンピュータプログラムが前記プロセッサによって実行される場合に、前記プロセッサに、
失効認証証明書リストにおいて前記証明書チェーンにおける認証証明書を照会し、
前記証明書チェーンにおける認証証明書が前記失効認証証明書リストに存在しない場合に、ローカルで前記証明書チェーンにおける認証証明書と一致する認証証明書を照会し、
前記証明書チェーンにおける認証証明書と一致する認証証明書が照会された場合、前記証明書チェーンにおける認証証明書の認証公開キーに基づいて前記デバイス証明書を検証し、
前記デバイス証明書検証に成功した場合、前記デバイス証明書のデバイス公開キーに基づいて前記アプリケーション証明書を検証する、操作を実行させることを特徴とする請求項２１に記載のコンピュータ機器。
【請求項２３】
前記コンピュータプログラムが前記プロセッサによって実行される場合に、前記プロセッサに、
デバイスパラメータとデバイス公開キーを受信し、
前記デバイスパラメータと前記デバイス公開キーのダイジェスト情報を取得し、
認証秘密キーにより前記ダイジェスト情報を暗号化して、署名データを取得し、
暗号化された前記署名データに基づいて前記デバイス証明書を生成してフィードバックする、操作を実行させることを特徴とする請求項２１に記載のコンピュータ機器。
【請求項２４】
プロセッサによって実行される場合に、請求項１〜９のいずれか一項に記載の方法のステップを前記プロセッサに実行させるコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本願は、２０１８年６月６日に提出した、出願番号が２０１８１０５７４１２８.７であって、発明の名称が「キー管理方法、装置、システム、記憶媒体及びコンピュータ機器」である中国特許出願の優先権を主張し、本願で、その全ての内容を援用するものとする。
【０００２】
本出願は、コンピュータ技術の分野に関し、特に、キー管理方法、装置、システム、記憶媒体及びコンピュータ機器に関する。
【背景技術】
【０００３】
インターネット技術の継続的な発展に伴い、多くのデータインタラクションはデバイスを介して行われるため、ユーザのデバイス検証セキュリティに対する要求をますます高まっている。現在、一般的に、デバイスの製造元がキー管理用のサーバを個別に構築し、デバイスの出荷前に、デバイス公開キーを当該サーバにアップロードして記憶する必要がある。
【０００４】
しかしながら、従来のこのようなキー管理方式では、各装置製造元がキー管理用のサーバを個別に構築する必要があり、データのインタラクションが必要な場合、デバイス公開キーを使用する必要があるインタラクション相手は当該サーバからデバイス公開キーを要求して使用する必要があり、キー管理が複雑で、非効率である。
【発明の概要】
【課題を解決するための手段】
【０００５】
それに基づき、現在のキー管理が複雑で、非効率である問題に対して、キー管理方法、装置、システム、記憶媒体及びコンピュータ機器を提供する必要がある。
【０００６】
端末に適用されるキー管理方法であって、前記方法は、
ローカルのセキュアエリアにデバイス公開キーとデバイス秘密キーとを含むデバイスキーを生成し、
ローカルのデバイスパラメータと前記デバイス公開キーとを証明書認証サーバに送信し、
前記証明書認証サーバからフィードバックされるデバイス証明書を受信し、前記デバイス証明書の署名データは、前記証明書認証サーバの認証秘密キーにより前記デバイスパラメータと前記デバイス公開キーとを署名することにより生成され、
前記デバイス秘密キーと前記デバイス証明書とを前記セキュアエリアに記憶することを含む。
【０００７】
キー管理装置であって、前記装置は、
ローカルのセキュアエリアでデバイス公開キーとデバイス秘密キーとを含むデバイスキーを生成するための生成モジュールと、
ローカルのデバイスパラメータと前記デバイス公開キーとを証明書認証サーバに送信するための送信モジュールと、
前記証明書認証サーバからフィードバックされるデバイス証明書を受信するための受信モジュールであり、前記デバイス証明書の署名データは、前記証明書認証サーバの認証秘密キーにより前記デバイスパラメータと前記デバイス公開キーとを署名することにより生成される受信モジュールと、
前記デバイス秘密キーと前記デバイス証明書とを前記セキュアエリアに記憶するための記憶モジュールとを含む。
【０００８】
キー管理システムであって、前記システムは端末と証明書認証サーバとを含み、
前記端末は、ローカルのセキュアエリアでデバイス公開キーとデバイス秘密キーとを含むデバイスキーを生成し、ローカルのデバイスパラメータと前記デバイス公開キーとを前記証明書認証サーバに送信し、
前記証明書認証サーバは、前記端末にデバイス証明書をフィードバックし、フィードバックされる前記デバイス証明書の署名データは、前記証明書認証サーバが前記証明書認証サーバの認証秘密キーに基づいて前記デバイスパラメータと前記デバイス公開キーとを署名することにより生成され、
前記端末は、さらに、前記デバイス秘密キーと前記デバイス証明書とを前記セキュアエリアに記憶する。
【０００９】
コンピュータ読み取り可能な記憶媒体であって、コンピュータプログラムが記憶され、前記コンピュータプログラムが前記プロセッサによって実行される場合に、前記プロセッサに、
ローカルのセキュアエリアでデバイス公開キーとデバイス秘密キーとを含むデバイスキーを生成するステップと、
ローカルのデバイスパラメータと前記デバイス公開キーとを証明書認証サーバに送信するステップと、
前記証明書認証サーバからフィードバックされるデバイス証明書を受信し、前記デバイス証明書の署名データは前記証明書認証サーバの認証秘密キーにより前記デバイスパラメータと前記デバイス公開キーとを署名することにより生成されるステップと、
前記デバイス秘密キーと前記デバイス証明書とを前記セキュアエリアに記憶するするステップとを実行させる。
【００１０】
コンピュータ機器であって、メモリとプロセッサ含み、前記メモリにコンピュータプログラムが記憶され、前記コンピュータプログラムが前記プロセッサによって実行される場合に、前記プロセッサに、
ローカルのセキュアエリアでデバイス公開キーとデバイス秘密キーとを含むデバイスキーを生成し、
ローカルのデバイスパラメータと前記デバイス公開キーとを証明書認証サーバに送信し、
前記証明書認証サーバからフィードバックされるデバイス証明書を受信し、前記デバイス証明書の署名データは前記証明書認証サーバの認証秘密キーにより前記デバイスパラメータと前記デバイス公開キーとを署名することにより生成され、
前記デバイス秘密キーと前記デバイス証明書とを前記セキュアエリアに記憶する、操作を実行させる。
【００１１】
上記のキー管理方法、装置、システム、記憶媒体及びコンピュータ機器によれば、デバイスキーの生成及びデバイス秘密キーにおける秘密キーとデバイス証明書の記憶は、ローカルのセキュアエリアで行われるため、デバイスキーとデバイス証明書のセキュリティを確保し、デバイス証明書における署名データは、証明書認証サーバの認証秘密キーによりローカルのデバイスパラメータとデバイス公開キーとを署名することによって生成され、デバイス証明書の有効性と信頼性を増強させ、そして、デバイス証明書はローカルに直接記憶され、デバイス公開キーをローカルと異なる他のデバイスに記憶することによるキーの管理と使用の複雑な操作と不便を回避し、キー管理は便利且つ効率的になる。
【００１２】
証明書検証方法であって、証明書認証サーバに適用され、前記方法は、
アプリケーション証明書検証要求を受信し、
前記アプリケーション証明書検証要求に対応する証明書チェーンを取得し、前記証明書チェーンは、認証証明書、デバイス証明書及びアプリケーション証明書を含み、前記認証証明書に対応する認証秘密キーにより署名して前記デバイス証明書の署名データを生成し、前記認証証明書の認証公開キーにより、前記デバイス証明書の署名データを復号化し、前記デバイス証明書に対応するデバイス秘密キーにより署名して前記アプリケーション証明書の署名データを生成し、前記デバイス証明書のデバイス公開キーにより、前記アプリケーション証明書の署名データを復号化し、
ローカルに前記証明書チェーンにおける認証証明書と一致する認証証明書が存在する場合に、前記証明書チェーンにおける認証証明書の認証公開キーに基づいて、前記デバイス証明書と前記アプリケーション証明書を検証し、
デバイス証明書とアプリケーション証明書の両方の検証に成功した場合、検証に成功したことを示す検証結果をフィードバックする、ことを含む。
【００１３】
証明書検証装置であって、前記装置は、
アプリケーション証明書検証要求を受信するための受信モジュールと、
前記アプリケーション証明書検証要求に対応する証明書チェーンを取得するためのものであり、前記証明書チェーンは、認証証明書、デバイス証明書及びアプリケーション証明書を含み、前記認証証明書に対応する認証秘密キーにより署名して前記デバイス証明書の署名データを生成し、前記認証証明書の認証公開キーにより、前記デバイス証明書の署名データを復号化し、前記デバイス証明書に対応するデバイス秘密キーにより署名して前記アプリケーション証明書の署名データを生成し、前記デバイス証明書のデバイス公開キーにより、前記アプリケーション証明書の署名データを復号化する取得モジュールと、
ローカルに前記証明書チェーンにおける認証証明書と一致する認証証明書が存在する場合に、前記証明書チェーンにおける認証証明書の認証公開キーに基づいて前記デバイス証明書と前記アプリケーション証明書を検証するための検証モジュールと、
デバイス証明書とアプリケーション証明書の両方の検証に成功した場合、検証に成功したことを示す検証結果をフィードバックするためのフィードバックモジュールとを含む。
【００１４】
コンピュータ読み取り可能な記憶媒体であって、コンピュータプログラムが記憶され、前記コンピュータプログラムがプロセッサによって実行される場合に、前記プロセッサに
アプリケーション証明書検証要求を受信するステップと、
前記アプリケーション証明書検証要求に対応する証明書チェーンを取得し、前記証明書チェーンは、認証証明書、デバイス証明書及びアプリケーション証明書を含み、前記認証証明書に対応する認証秘密キーにより署名して前記デバイス証明書の署名データを生成し、前記認証証明書の認証公開キーにより、前記デバイス証明書の署名データを復号化し、前記デバイス証明書に対応するデバイス秘密キーにより、署名して前記アプリケーション証明書の署名データを生成し、前記デバイス証明書のデバイス公開キーにより、前記アプリケーション証明書の署名データを復号化するステップと、
ローカルに前記証明書チェーンにおける認証証明書と一致する認証証明書が存在する場合に、前記証明書チェーンにおける認証証明書の認証公開キーに基づいて、前記デバイス証明書と前記アプリケーション証明書を検証するステップと、
デバイス証明書とアプリケーション証明書の両方の検証に成功した場合、検証に成功したことを示す検証結果をフィードバックするするステップとを実行させる。
【００１５】
コンピュータ機器であって、メモリとプロセッサとを含み、前記メモリにコンピュータプログラムが記憶され、前記コンピュータプログラムが前記プロセッサによって実行される場合に、前記プロセッサに、
アプリケーション証明書検証要求を受信し、
前記アプリケーション証明書検証要求に対応する証明書チェーンを取得し、前記証明書チェーンは認証証明書、デバイス証明書及びアプリケーション証明書を含み、前記認証証明書に対応する認証秘密キーにより署名して前記デバイス証明書の署名データを生成し、前記認証証明書の認証公開キーにより前記デバイス証明書の署名データを復号化し、前記デバイス証明書に対応するデバイス秘密キーにより署名して前記アプリケーション証明書の署名データを生成し、前記デバイス証明書のデバイス公開キーにより前記アプリケーション証明書の署名データを復号化し、
ローカルに前記証明書チェーンにおける認証証明書と一致する認証証明書が存在する場合に、前記証明書チェーンにおける認証証明書の認証公開キーに基づいて前記デバイス証明書と前記アプリケーション証明書を検証し、
デバイス証明書とアプリケーション証明書の両方の検証に成功した場合、検証に成功したことを示す検証結果をフィードバックする、操作を実行させる。
【００１６】
上記の証明書検証方法、装置、記憶媒体及びコンピュータ機器によれば、証明書検証が必要な場合、アプリケーション証明書検証要求に対応する証明書チェーンを直接取得し、当該証明書チェーンにおける認証証明書に対応する認証秘密キーにより署名してデバイス証明書の署名データを生成し、認証証明書の認証公開キーによりデバイス証明書の署名データを復号化し、デバイス証明書に対応するデバイス秘密キーにより署名してアプリケーション証明書の署名データを生成し、デバイス証明書におけるデバイス公開キーによりアプリケーション証明書における署名データを復号化し、つまり、デバイス証明書及びアプリケーション証明書は認証証明書に基づいてレベルごとに発行され、当該証明書チェーンにおける認証証明書と一致する認証証明書が存在する場合、つまり、認証証明書が信頼できると決定された場合、証明書チェーンにおける認証証明書に基づいてデバイス証明書とアプリケーション証明書とを検証し、デバイス証明書とアプリケーション証明書の両方の検証に成功した場合に、検証に成功したことを示す検証結果をフィードバックし、証明書検証の有効性と効率化を確保する。
【図面の簡単な説明】
【００１７】
【図１】一実施例におけるキー管理方法の適用環境図である。
【図２】一実施例におけるキー管理方法の流れ模式図である。
【図３】一実施例におけるデバイス証明書を発行するシーケンス図である。
【図４】一実施例におけるアプリケーション証明書を発行するシーケンス図である。
【図５】一実施例におけるアプリケーション証明書を検証するシーケンス図である。
【図６】一実施例におけるキー管理の原理模式図である。
【図７】一実施例における証明書検証方法の流れ模式図である。
【図８】一実施例におけるキー管理装置のブロック構成図である。
【図９】他の一実施例におけるキー管理装置のブロック構成図である。
【図１０】一実施例における証明書検証装置のブロック構成図である。
【図１１】他の実施例における証明書検証装置のブロック構成図である。
【図１２】一実施例におけるコンピュータ機器の内部構成図である。
【図１３】他の実施例におけるコンピュータ機器の内部構成図である。
【発明を実施するための形態】
【００１８】
本願の目的、技術案及び利点をより明確にするために、以下に図面及び実施例に基づいて本願を更に詳しく説明する。ここで説明する具体的な実施例は本願を解釈するためのものであり、本願を制限するためのものではない。
【００１９】
図１は、一実施例におけるキー管理方法の適用環境図である。図１を参照して、当該キー管理方法はキー管理システムに適用される。当該キー管理システムは、端末１１０とサーバ１２０とを含む。なお、サーバ１２０は少なくとも証明書認証サーバ１２１を含み、アプリケーションサーバ１２２及び/又はキー管理サーバ１２３をさらに含んでもよい。端末１１０とサーバ１２０とはネットワークを介して接続される。端末１１０は、当該キー管理方法を実行する。端末１１０は、デスクトップ端末や、モバイル端末であってもよく、モバイル端末は、携帯電話、タブレットパソコン又はノートパソコンなどの端末のうちの少なくとも１つであってもよい。証明書認証サーバ１２１ はＣＡ(Ｃｅｒｔｉｆｉｃａｔｅ Ａｕｔｈｏｒｉｔｙ、デジタル証明書認証機関)サーバや、他のタイプのサーバであってもよい。アプリケーションサーバ１２２は、端末１１０で実行されるアプリケーションに対応するサーバ、例えば、インスタントメッセージアプリケーションに対応するインスタントメッセージサーバなどであってもよい。キー管理サーバ１２３は、ＴＡＭ(Ｔｒｕｓｔｅｄ ＡＴＴＫ Ｍａｎａｇｅｍｅｎｔ、信頼できるＡＴＴＫマネージメント)サーバや、他のタイプのサーバであってもよい。
【００２０】
端末１１０は、ローカルのセキュアエリアに、デバイス公開キーとデバイス秘密キーとを含むデバイスキーを生成し、その後、ローカルのデバイスパラメータとデバイス公開キーとを証明書認証サーバ１２１に送信することができる。証明書認証サーバ１２１は、デバイスパラメータとデバイス公開キーを受信した後、証明書認証サーバの認証秘密キーによりデバイスパラメータとデバイス公開キーとを署名して署名データを生成し、端末１１０のデバイス証明書を取得し、当該デバイス証明書を端末１１０にフィードバックする。そして、端末１１０は、デバイス秘密キーとデバイス証明書とを当該セキュアエリアに記憶する。
【００２１】
端末１１０は、ローカルで実行されるアプリケーションによりトリガーされるアプリケーションキー生成命令を取得した場合に、ローカルのセキュアエリアに当該アプリケーションのアプリケーションキーを生成してもよく、アプリケーションキーはアプリケーション公開キーとアプリケーション秘密キーとを含む。当該セキュアエリアで、デバイス秘密キーによりアプリケーションのアプリケーションパラメータとアプリケーション公開キーとを署名して、当該アプリケーションのアプリケーション証明書を生成し、アプリケーション秘密キーとアプリケーション証明書とを対応付けてセキュアエリアに記憶し、当該アプリケーションの証明書チェーンである認証証明書、デバイス証明書及びアプリケーション証明書を記憶する。このように、端末１１０は、当該アプリケーションによりトリガーされる生体認証権限付与要求を受信した場合に、当該アプリケーションに対応するアプリケーション証明書検証要求を生成し、当該アプリケーションの証明書チェーンとアプリケーション証明書検証要求とを対応付けて当該アプリケーションに対応するアプリケーションサーバ１２２に送信し、アプリケーションサーバ１２２により証明書検証を行うか、又はアプリケーションサーバ１２２が証明書チェーンを証明書認証サーバ１２１に転送した後に、証明書認証サーバ１２１により証明書検証を行う。又は、証明書チェーンをキー管理サーバ１２３に転送した後に、証明書認証サーバ１２１又はキー管理サーバ１２３により証明書検証を行う。
【００２２】
一実施例において、証明書検証方法は、図１に示す適用環境に適用され得る。なお、サーバ１２０は当該証明書検証方法を実行する。サーバ１２０は、端末１１０が送信するアプリケーション証明書検証要求を受信し、アプリケーション証明書検証要求に対応する証明書チェーンを取得する。当該証明書チェーンは認証証明書、デバイス証明書及びアプリケーション証明書を含むので、認証証明書に対応する認証秘密キーにより署名してデバイス証明書の署名データを生成し、認証証明書の認証公開キーによりデバイス証明書の署名データを復号化し、デバイス証明書に対応するデバイス秘密キーにより署名してアプリケーション証明書の署名データを生成し、デバイス証明書のデバイス公開キーによりアプリケーション証明書の署名データを復号化する。サーバ１２０は、サーバ１２０に証明書チェーンにおける認証証明書と一致する認証証明書が存在する場合に、証明書チェーンにおける認証証明書の認証公開キーに基づいてデバイス証明書とアプリケーション証明書を検証し、デバイス証明書とアプリケーション証明書の両方の検証に成功すると、検証に成功したことを示す検証結果を端末１１０フィードバックする。
【００２３】
図２は、一実施例におけるキー管理方法の流れ模式図である。本実施例は、当該キー管理方法を図１の端末１１０に適用することを例として説明する。図２を参照して、当該方法は、以下のステップを含む。
【００２４】
Ｓ２０２において、ローカルのセキュアエリアでデバイス公開キーとデバイス秘密キーとを含むデバイスキーを生成する。
【００２５】
なお、セキュアエリアは、端末におけるオペレーティングシステムから独立した信頼できる実行環境である。セキュアエリアは、ＴＥＥ(Ｔｒｕｓｔｅｄ Ｅｘｅｃｕｔｉｏｎ Ｅｎｖｉｒｏｎｍｅｎｔ)であってもよい。セキュアエリアは、セキュアエリアの内部で記憶又は処理されるデータが当該セキュアエリア以外の環境から独立することを確保し、１つの受信環境である。例えば、非対称キーがセキュアエリアで生成されると、キーの所有者を除き、他の全ての対象 (端末の製造元や、アプリケーションサーバなど)は非対称キーにおける秘密キーを取得することができない。もちろん、当該セキュアエリアは端末の内部の、データのセキュリティを確保できる他の信頼できるエリアであってもよく、本出願の実施例において、それを限定しない。
【００２６】
デバイスキーは、端末の正当性を検証し、データ伝送のセキュリティを確保するためのデータである。デバイスキーは端末ルートキーとも呼ばれる。本出願の実施例において、端末のデバイスキーは非対称キーであり、デバイス公開キーとデバイス秘密キーとを含む。デバイス公開キーにより暗号化されたデータはデバイス秘密キーにより復号化されてもよく、デバイス秘密キーにより暗号化されたデータはデバイス公開キーにより復号化されてもよい。デバイスキーはＲＳＡ-２０４８による非対称キーであってもよく、もちろん、当該デバイスキーは他の非対称キーであってもよく、本出願の実施例において、それを限定しない。
【００２７】
データ伝送の両者がデータを伝送する場合に、伝送者はキーにより伝送されるデータを暗号化する必要があり、相応するキーの受信者だけ当該暗号化データを復号化して、伝送者が伝送したデータを取得することができる。それでは、本出願の実施例において、データ伝送者が端末との間でデータ伝送を行う場合に、データ伝送者は端末のデバイス公開キーにより伝送されるデータを暗号化し、端末のデバイス秘密キーは、一般的に、端末自体だけが所有しているため、端末しかデバイス秘密キーにより当該暗号化データを復号化し、データ伝送者が伝送したデータを取得することができない。他の装置は当該暗号化データを取得できても、端末のデバイス秘密キーを所有していないので、当該暗号化データを復号化できず、データ伝送者が伝送したデータを取得することができない。
【００２８】
一実施例において、デバイスキーはＡＴＴＫ(Ａｔｔｅｓｔａｔｉｏｎ Ｋｅｙ、端末検証キー)であってもよく、当該ＡＴＴＫは端末の正当性を検証する。１台の端末には１つのＡＴＴＫしかない。もちろん、当該デバイスキーは他のキーであってもよく、本出願の実施例において、それを限定しない。
【００２９】
１つの好適な実施例において、端末のセキュアエリアはキー生成コードを含み、当該キー生成コードを実行することにより、セキュアエリアでデバイス公開キーとデバイス秘密キーとを含むデバイスキーを生成する。
【００３０】
端末の製造元は、端末を製造する際に、端末にセキュアエリアを配置する。端末に配置されたセキュアエリアが検査に合格しないと、当該端末は販売できない。任意選択で、端末の出荷前、当該端末上のセキュアエリアが検査に合格した後、セキュアエリアに当該キー生成コードを書き込み、当該キー生成コードによりセキュアエリアでデバイス公開キーとデバイス秘密キーとを含むデバイスキーを生成する。
【００３１】
１つの好適な実施例において、端末のセキュアエリアでセキュリティアプリケーションを実行していてもよい。セキュリティアプリケーションの論理的な挙動及び記憶挙動はいずれもセキュア挙動である。端末は、セキュアエリアで実行されるセキュリティアプリケーションによりデバイス公開キーとデバイス秘密キーとを含むデバイスキーを生成できる。セキュリティアプリケーションはＴＡ(Ｔｒｕｓｔｅｄ Ａｐｐｌｉｃａｔｉｏｎ)アプリケーションであってもよい。
【００３２】
もちろん、他の形態を採用して端末のセキュアエリアにデバイスキーを生成してもよく、本出願の実施例において、デバイスキーの生成方式を限定しない。
【００３３】
Ｓ２０４において、ローカルのデバイスパラメータとデバイス公開キーとを証明書認証サーバに送信する。
【００３４】
なお、デバイスパラメータは端末の身元を反映するデータである。デバイスパラメータは端末の識別子であってもよく、当該端末の識別子は１つの端末を一意に認識するために用いられ、例えば、端末のシリアルナンバーなどである。証明書認証サーバはデジタル証明書を認証するための権威あるサーバである。デジタル証明書は、証明書に記載されたユーザ(デバイスや、アプリケーションなど)が、証明書に記載された開示キー(デバイス公開キー又はアプリケーション公開キー等) を合法的に所有していることを証明するために用いられる。証明書認証サーバはＣＡサーバ、即ち、デジタル証明書認証機関のサーバであってもよい。
【００３５】
任意選択で、端末はローカルのデバイスパラメータ、即ち、この端末のデバイスパラメータを読み取り、デバイス証明書発行要求を生成し、そして、読み取られたデバイスパラメータ、生成したデバイス公開キーと、当該デバイス証明書発行要求とを対応付けて証明書認証サーバに送信することができる。
【００３６】
Ｓ２０６において、証明書認証サーバからフィードバックされるデバイス証明書を受信し、デバイス証明書の署名データは、証明書認証サーバの認証秘密キーによりデバイスパラメータとデバイス公開キーとを署名することで生成される。
【００３７】
なお、デバイス証明書は、証明書認証サーバによって署名されて発行され、且つデバイス公開キー所有者情報及びデバイス公開キーを含むファイルである。デバイス公開キー所有者情報はデバイスパラメータである。デバイス証明書にはデバイス公開キー所有者情報、及びデバイス公開キーのプレーンテキスト、即ち、署名処理されていないオリジナルデータが含まれてもよいし、デバイス公開キー所有者情報及びデバイス公開キーのダークテキスト、即ち、デバイス公開キー所有者情報及デバイス公開キーを署名したデータが含まれてもよい。署名データは署名者の秘密キーによりあるデータを署名したデータである。つまり、証明書認証サーバは、端末のデバイスパラメータとデバイス公開キーを受信し、証明書認証サーバの認証秘密キーによりデバイスパラメータとデバイス公開キーとを署名して署名データを生成することにより、デバイス証明書を形成し、端末にフィードバックする。
【００３８】
一実施例において、デバイス証明書はデバイスパラメータ、デバイス公開キー、及び認証秘密キーによりデバイスパラメータとデバイス公開キーとを署名することで生成されるダークテキストを含む。ここで、デバイス証明書の署名データは当該ダークテキストのみであってもよいし、デバイスパラメータ、デバイス秘密キー及びダークテキストの組み合わせであってもよい。
【００３９】
本出願の実施例において、デバイス証明書はＸ.５０９証明書標準に準拠している。本出願の以降に係る認証証明書及びアプリケーション証明書はＸ.５０９証明書標準に準拠している。もちろん、認証証明書、デバイス証明書及びアプリケーション証明書は他の証明書標準に準拠することもでき、本出願の実施例において、それを限定しない。
【００４０】
任意選択で、証明書認証サーバは、端末が送信したデバイスパラメータ及びデバイス公開キーを受信した後に、端末と合意した署名アルゴリズムに従って、デバイスパラメータ及びデバイス公開キーのダイジェスト情報を算出して得て、また、自己の認証秘密キーにより算出して得られたダイジェスト情報を暗号化して、署名データを取得する。
【００４１】
数学的に、データにおいて１ビットでも変更されると、再計算された当該データのダイジェスト情報はオリジナルのダイジェスト情報と一致しないことを確保する。そのため、本出願の実施例において、ダイジェスト情報を抽出し、ダイジェスト情報を暗号化し署名する形態を採用すると、データの変更不可性を保証するだけでなく、大量のデータを暗号化及び復号化して時間がかかることも回避する。もちろん、他の形態を採用してデバイスパラメータ及びデバイス公開キーを署名してもよく、本出願の実施例では、それを限定しない。
【００４２】
非対称暗号化システムであっても公開キーの配信が信頼性できるとは確保できない。公開キー配信中の中間者攻撃を防ぐために、信頼できる「祖先」公証人が必要であり、これは証明書認証サーバ(ＣＡサーバ) の存在の意義である。本出願の実施例において、公開キーの所在する証明書は証明書認証サーバより発行されるか、又は証明書認証サーバに基づいて発行され、公開キーの所在する証明書の信頼性を確保する。
【００４３】
Ｓ２０８において、デバイス秘密キーとデバイス証明書とをセキュアエリアに記憶する。
【００４４】
任意選択で、端末は、端末の出荷前、デバイス秘密キーとデバイス証明書とを、端末のセキュアエリアにおけるセキュア記憶エリアに記憶してもよい。セキュア記憶エリアは、例えば、ＲＰＭＢ(Ｒｅｐｌａｙ Ｐｒｏｔｅｃｔｅｄ Ｍｅｍｏｒｙ Ｂｌｏｃｋ、リプレイ保護できるメモリブロック)である。
【００４５】
一実施例において、１つの装置には１つのデバイスキーしかないので、デバイスキーとデバイス証明書とを対応付けて記憶してもよいし、個別に記憶してもよい。デバイス秘密キーとデバイス証明書とは同時に記憶されてもよいし、個別に記憶されてもよく、デバイス秘密キーを生成した後にデバイス秘密キーを記憶し、デバイス証明書を受信した後にデバイス証明書を記憶する。
【００４６】
上記のＳ２０２乃至２０８のステップは、機器製造ライン内の安全で信頼できる環境で完了する。本出願の実施例において、端末の出荷前、端末製造元が端末のデバイス公開キーをセキュアチャネルを介してキー管理サーバに送信し、このような形態でアップロードデータが改ざんされないことを保証する必要がない。証明書認証サーバによりデバイス証明書を発行し、証明書認証サーバによりデバイス証明書のセキュリティと信頼性を確保し、多数のデバイスは一つの認証証明書を共有できるため、デバイスキーの管理メンテナンスのコストが削減される。
【００４７】
一実施例において、端末は、認証秘密キーに対応する認証公開キーを含む認証証明書をさらに取得し、認証証明書とデバイス証明書とを端末の証明書チェーンとし、証明書チェーンセキュアエリアに記憶してもよい。つまり、端末の各証明書について、端末はセキュアエリアに当該証明書の証明書チェーンを記憶する。
【００４８】
上記のキー管理方法によれば、デデバイスキーの生成及びデバイス秘密キーにおける秘密キーとデバイス証明書の記憶は、ローカルのセキュアエリアで行われるため、デバイスキーとデバイス証明書のセキュリティを確保し、次に、デバイス証明書における署名データは、証明書認証サーバの認証秘密キーによりローカルのデバイスパラメータとデバイス公開キーとを署名することによって生成され、デバイス証明書の有効性と信頼性を増強させ、そして、デバイス証明書はローカルに直接記憶され、デバイス公開キーをローカルと異なる他のデバイスに記憶することによるキーの管理と使用の複雑な操作と不便を回避し、キー管理は便利且つ効率的になる。
【００４９】
図３は、一実施例におけるデバイス証明書を発行するシーケンス図を示す。図３を参照して、端末は、出荷前、セキュアエリア(ＴＥＥ)で実行されるセキュリティアプリケーション(ＴＡ)によりデバイス公開キーとデバイス秘密キーとを含むデバイスキー(ＡＴＴＫ)を生成し、ＴＥＥは端末のオペレーティングシステムから独立する。端末は、生成したデバイス秘密キーをＴＥＥのセキュア記憶エリアに記憶し、証明書認証サーバ(ＣＡサーバ)にデバイス証明書発行要求を送信し、当該デバイス証明書発行要求に端末のデバイスパラメータ及び生成したデバイス公開キーを携帯する。ＣＡサーバは、デバイス証明書発行要求を受信した後に、自体の認証秘密キー(ＣＡルート証明書の秘密キー)により端末のデバイスパラメータ及びデバイス公開キーを署名してデバイス証明書を生成し、生成したデバイス証明書を端末にフィードバックする。端末は、デバイス証明書をＴＥＥのセキュア記憶エリアに記憶する。
【００５０】
一実施例において、キー管理方法は、ローカルで実行されるアプリケーションによりトリガーされるアプリケーションキー生成命令を取得すると、セキュアエリアにアプリケーションのアプリケーションキーを生成し、アプリケーションキーは、アプリケーション公開キー及びアプリケーション秘密キーを含み、セキュアエリアで、デバイス秘密キーによりアプリケーションのアプリケーションパラメータとアプリケーション公開キーとを署名して、アプリケーションのアプリケーション証明書を生成し、アプリケーション秘密キー及びアプリケーション証明書とを対応付けてセキュアエリアに記憶することをさらに含む。
【００５１】
なお、アプリケーションキー生成命令は、アプリケーションキーの生成を指示するためのコンピュータプログラムである。アプリケーションキーはアプリケーションの正当性を検証し、データ伝送のセキュリティを保証するためのデータである。本出願の実施例において、アプリケーションキーは非対称キーであり、アプリケーション公開キーとアプリケーション秘密キーとを含む。アプリケーション公開キーにより暗号化されたデータはアプリケーション秘密キーにより復号化されてもよく、アプリケーション秘密キーにより暗号化されたデータはアプリケーション公開キーにより復号化されてもよい。アプリケーションキーはＲＳＡ-２０４８による非対称キーであってもよく、もちろん、当該アプリケーションキーは他の非対称キーであってもよく、本出願の実施例において、それを限定しない。
【００５２】
一実施例において、アプリケーションキーは、ＡＳＫ(Ａｐｐ Ｓｅｃｕｒｅ Ｋｅｙ、アプリケーション検証キー)であってもよく、当該ＡＳＫはアプリケーションの正当性を検証する。１つのアプリケーションには１つのＡＳＫしかない。もちろん、当該アプリケーションキーは他のキーであってもよく、本出願の実施例において、それを限定しない。
【００５３】
端末で１つ又は複数のアプリケーションを実行可能であり、各アプリケーションは自分のアプリケーション公開キー及びアプリケーション秘密キーを持っている。端末上のアプリケーションは外部デバイスとデータインタラクションを行う場合に、対象側は当該アプリケーションのアプリケーション公開キーにより伝送されるデータを暗号化し、当該アプリケーションのアプリケーション秘密キーは、一般的に、当該アプリケーション自体だけが所有するので、当該アプリケーションしかアプリケーション秘密キーにより当該暗号化データを復号化して、対象側が伝送するデータを取得することができない。他のアプリケーションは、当該暗号化データを取得できても、当該アプリケーションのアプリケーション秘密キーを持っていないので、当該暗号化データを復号化することができず、対象側が伝送するデータを取得することができない。
【００５４】
任意選択で、端末は、アプリケーションをインストールするか、アプリケーションを初めて実行する際に、当該アプリケーションによりトリガーされるアプリケーションキー生成命令、又は、当該アプリケーションのインストールコードによりトリガーされるアプリケーションキー生成命令を取得することができる。端末は、ローカルのセキュアエリアで当該アプリケーションのアプリケーションキーを生成し、当該セキュアエリアで、この端末のデバイス秘密キーにより当該アプリケーションのアプリケーションパラメータ及びアプリケーション公開キーを署名して、当該アプリケーションのアプリケーション証明書を生成し、アプリケーション秘密キーとアプリケーション証明書とを対応付けてセキュアエリアに記憶する。
【００５５】
一実施例において、デバイス秘密キーによりアプリケーションのアプリケーションパラメータとアプリケーション公開キーとを署名して、アプリケーションのアプリケーション証明書を生成することは、アプリケーションのアプリケーションパラメータと、アプリケーション公開キーのダイジェスト情報とを取得し、デバイス秘密キーによりダイジェスト情報を暗号化して署名データを取得し、暗号化された署名データに応じてアプリケーションのアプリケーション証明書を生成することを含む。
【００５６】
なお、ダイジェスト情報は、当該ダイジェスト情報が属するデータに一意に対応する固定長の値である。それは、１つの不可逆文字列変換アルゴリズムによって当該ダイジェスト情報が属するデータを演算することにより生成される。
【００５７】
任意選択で、端末は、不可逆文字列変換アルゴリズム採用して、当該アプリケーションのアプリケーションパラメータとアプリケーション公開キーとを１つのテキスト情報として、当該テキスト情報のダイジェスト情報を生成してもよい。当該不可逆文字列変換アルゴリズムはハッシュアルゴリズムであってもよいし、他のアルゴリズムであってもよく、本出願の実施例において、それを限定しない。もちろん、他の形態を採用して当該アプリケーションのアプリケーションパラメータ及びアプリケーション公開キーのダイジェスト情報を生成してもよく、本出願の実施形態において、それを限定しない。
【００５８】
さらに、端末は、また、デバイス秘密キーによりダイジェスト情報を暗号化して署名データを取得し、当該アプリケーションのアプリケーション証明書を生成する。アプリケーション証明書には、アプリケーション公開キー所有者情報及びアプリケーション公開キーのプレーンテキスト、即ち、署名処理されていないオリジナルデータが含まれてもよいし、アプリケーション公開キー所有者情報及びアプリケーション公開キーのダークテキスト、即ち、アプリケーション公開キー所有者情報及びアプリケーション公開キーを署名したデータが含まれてもよい。なお、アプリケーション公開キー所有者情報はアプリケーションパラメータである。
【００５９】
データ伝送中にデータが変わると、受信者が受信したデータを算出して得られた新しいダイジェスト情報はオリジナルのダイジェスト情報と一致せず、それでは、受信者はデータが変わったことを知ることができる。従って、この実施例において、ダイジェスト情報を暗号化し、ダイジェスト暗号化により伝送データの完全性とセキュリティを確保できる場合は、伝送データの全体を暗号化せず、大量のデータを暗号化及び復号化して時間がかかることを回避し、データのセキュリティだけでなく、データ処理効率を向上させ、後続のデータ処理プロセスも容易になる。
【００６０】
一実施例において、当該キー管理方法は、認証秘密キーに対応する認証公開キーの認証証明書を取得し、認証証明書、デバイス証明書及びアプリケーション証明書を、アプリケーションの証明書チェーンとし、証明書チェーンをセキュアエリアに記憶することをさらに含む。
【００６１】
なお、認証証明書は証明書認証サーバの所有しているデジタル証明書である。証明書認証サーバはデジタル証明書の発行と管理を担当する権威ある機関であり、ｅコマーストランザクションの信頼できる第三者として、公開キーシステムにおける公開キーの正当性を検証する責任を負う。認証証明書は、一般的に、権威あり、信頼できると認められる。本出願の実施例において、証明書認証サーバはＣＡサーバであってもよく、認証証明書はＣＡルート証明書であってもよい。
【００６２】
一般的に、１つの証明書認証サーバが１つのＣＡルート証明書を所有し、証明書認証サーバは所有しているＣＡルート証明書の秘密キーに応じて署名対象となるデータに対して署名操作を行う。もちろん、１つの証明書認証サーバは複数のＣＡルート証明書を所有してもよく、本出願の実施形態において、それを限定しない。
【００６３】
任意選択で、証明書認証サーバは端末にデバイス証明書を発行した後に、所有している認証証明書を当該端末に送信してもよい。このように、端末は、デバイス秘密キーによりアプリケーション証明書を発行した後に、アプリケーション証明書、当該アプリケーション証明書を発行するデバイス秘密キーに対応するデバイス公開キーの所在するデバイス証明書、及び当該デバイス証明書を発行する認証秘密キーに対応する認証公開キーの所在する認証証明書により当該アプリケーションの証明書チェーンを構成し、当該証明書チェーンを端末のセキュアエリアに記憶してもよい。
【００６４】
デバイス証明書は証明書認証サーバにより発行され、アプリケーション証明書はデバイス証明書に応じて発行されるので、アプリケーション証明書は証明書認証サーバに基づいて発行され、つまり、アプリケーション証明書の証明書チェーンは証明書認証サーバに基づいて構築される信頼チェーンであり、証明書チェーンにおける各証明書の信頼性を増強させる。
【００６５】
この実施例において、各証明書に当該証明書の証明書チェーンを構築し、このように後に証明書の正当性を検証する場合に、検証要求に当該証明書の証明書チェーンを携帯すると、レベルごとに証明書正当性の検証を完了させ、予めデバイス公開キーを、キーを専用に管理するサーバに伝送し、その後、当該サーバに証明書正当性の検証を要求する必要がない。
【００６６】
上記の実施例において、アプリケーションキーの生成及びアプリケーションキーにおける秘密キー及びアプリケーション証明書の記憶は、ローカルのセキュアエリアで行われるので、アプリケーションキー及びアプリケーション証明書のセキュリティを確保し、次に、アプリケーション証明書における署名データはデバイス秘密キーにより署名することで生成され、デバイス秘密キーに対応するデバイス公開キーの所在するデバイス証明書は証明書認証サーバにより発行されるため、アプリケーション証明書の有効性と信頼性を増強させる。
【００６７】
図４は、一実施例におけるアプリケーション証明書を発行するシーケンス図を示す。図４を参照して、端末でアプリケーションを実行可能であり、アプリケーションをインストールするか、アプリケーションを実行した後に、アプリケーションキー生成命令をトリガーでき、端末はＴＥＥで実行されるＴＡによりアプリケーション公開キーとアプリケーション秘密キーとを含むアプリケーションキー(ＡＳＫ)を生成する。端末は、また、ＴＡによりセキュア記憶エリアからデバイス秘密キーを取得し、取得したデバイス秘密キーにより当該アプリケーションのアプリケーションパラメータ及びアプリケーション公開キーを署名してアプリケーション証明書を生成し、次に、アプリケーション秘密キーとアプリケーション証明書と対応付けてＴＥＥのセキュア記憶エリアに記憶する。端末は、認証証明書、デバイス証明書及びアプリケーション証明書を、アプリケーションの証明書チェーンとし、証明書チェーンをＴＥＥのセキュアエリアに記憶してもよい。
【００６８】
一実施例において、当該キー管理方法は、アプリケーションによりトリガーされる生体認証権限付与要求を受信した場合に、アプリケーションに対応するアプリケーション証明書検証要求を生成し、アプリケーションの証明書チェーンとアプリケーション証明書検証要求とを対応付けてアプリケーションに対応するアプリケーションサーバに送信し、アプリケーションサーバがアプリケーションサーバに記憶されている認証証明書に応じて受信した証明書チェーンを検証した後にフィードバックする検証結果を受信し、検証結果が検証に成功したことを示すと、アプリケーションに生体認証を行う権限を付与することをさらに含む。
【００６９】
なお、生体認証権限付与要求は、生体認証を行う権限を付与するように要求する。生体認証はコンピュータ機器が自然人の固有の生物学的特徴を使用して身元認証を行う技術である。生体認証は、例えば、指紋認証、顔認識認証、虹彩認識認証などである。アプリケーション証明書検証要求は、アプリケーション証明書の正当性の検証を要求する。
【００７０】
アプリケーションは、端末に対して生体認証を行う権限を付与するように要求し、即ち、端末に記憶されているユーザの固有の生物学的特徴データ、例えば、指紋データや、顔データ等を取得するように要求する。これらのデータはユーザの所有する生物学的プライバシーである。ユーザの生物学的プライバシーを保護するために、アプリケーションに正当な要求権限がある場合にのみ付与する。つまり、アプリケーションのアプリケーション証明書のチェックに成功した場合にのみ、当該アプリケーションに生体認証を行う権限を付与する。
【００７１】
アプリケーションサーバは、アプリケーションの証明書チェーンとアプリケーション証明書検証要求とを受信し、アプリケーションサーバに認証証明書が記憶されている場合に、当該認証証明書に応じて受信した証明書チェーンを検証し、端末に検証結果をフィードバックする。
【００７２】
例を挙げて説明し、ユーザは、端末のインスタントメッセージアプリケーションで指紋支払いを開くと、当該インスタントメッセージアプリケーションにより生体認証権限付与要求をトリガーする。この場合、当該インスタントメッセージアプリケーションは、当該インスタントメッセージアプリケーションの証明書チェーンを当該インスタントメッセージアプリケーションに対応するインスタントメッセージサーバに送信する必要があり、インスタントメッセージサーバにより証明書チェーンにおける証明書の正当性を検証し、又は、インスタントメッセージサーバにより他のサーバに転送して証明書チェーンにおける証明書の正当性を検証する。正当性の検証に成功した場合にのみ、端末は当該インスタントメッセージアプリケーションに指紋支払いを行う権限を付与する。
【００７３】
任意選択で、端末アプリケーションによりトリガーされる生体認証権限付与要求を受信した場合に、アプリケーションに対応するアプリケーション証明書検証要求を生成し、当該アプリケーションの証明書チェーンとアプリケーション証明書検証要求とを対応付けてアプリケーションに対応するアプリケーションサーバに送信する。
【００７４】
アプリケーションサーバは、アプリケーション証明書検証要求を受信すると、当該アプリケーション証明書検証要求に携帯されている証明書チェーンを取得し、ローカルに当該証明書チェーンにおける認証証明書と一致する証明書チェーンが記憶されているかどうかを照会する。アプリケーションサーバに当該証明書チェーンにおける認証証明書と一致する認証証明書が記憶されていると、当該証明書チェーンにおける認証証明書が正当であると判定される。
【００７５】
その後、アプリケーションサーバは、当該認証証明書上の認証公開キーに応じてデバイス証明書上の署名データを復号化して、第１のダイジェスト情報を取得し、端末と合意したダイジェスト情報抽出方式に従ってデバイス証明書上のデバイスパラメータ及びデバイス公開キーの第２のダイジェスト情報を抽出し、第１のダイジェスト情報と第２のダイジェスト情報とを比較する。両者が一致しないと、デバイス証明書が不正当であると判定され、検証に失敗したことを示す検証結果を端末にフィードバックする。
【００７６】
第１のダイジェスト情報が第２のダイジェスト情報と一致すると、アプリケーションサーバは、続いて当該デバイス証明書上のデバイス公開キーに応じてアプリケーション証明書上の署名データを復号化して第３のダイジェスト情報を取得し、端末と合意したダイジェスト情報抽出方式に従ってアプリケーション証明書上のアプリケーションパラメータ及びアプリケーション公開キーの第４のダイジェスト情報を抽出し、第３のダイジェスト情報と第４のダイジェスト情報とを比較する。両者が一致しないと、デバイス証明書が不正当であると判定され、検証に失敗したことを示す検証結果を端末にフィードバックする。第３のダイジェスト情報が第４のダイジェスト情報と一致すると、アプリケーション証明書が正当であると判定され、検証に成功したことを示す検証結果を端末にフィードバックする。このように、端末は、受信した検証結果が検証に成功したことを示す場合にのみ、アプリケーションに生体認証を行う権限を付与する。
【００７７】
アプリケーションサーバに記憶されている認証証明書は、事前にセキュアチャネルを介して各証明書認証サーバから取得した各証明書認証サーバの所有する認証証明書であってもよい。証明書チェーンにおける認証証明書と一致する認証証明書が見つかると、当該認証証明書が有効である、つまり、証明書チェーンの元が有効であると判定され、これにより、当該認証証明書に応じてレベルごとにチェックする。なお、セキュアチャネルはデータ伝送セキュリティを保証できるデータ伝送チャネルであり、信頼できるチャネルであり、ＨＴＴＰＳプロトコルに基づいて構築されたデータ伝送チャネルであってもよい。
【００７８】
一実施例において、アプリケーションサーバは予め失効認証証明書リストを取得してもよい。このように、アプリケーションサーバは、証明書チェーン認証を行う場合に、まず、証明書チェーンにおける認証証明書が当該失効認証証明書リストに存在するかどうかを照会する。証明書チェーンにおける認証証明書が当該失効認証証明書リストに存在すると、認証証明書が無効であることを意味し、後続の証明書検証を行う必要がない。証明書チェーンにおける認証証明書が当該失効認証証明書リストに存在しないと、続いて後続の証明書検証を行う。なお、失効認証証明書リストは無効な認証証明書を開示する。
【００７９】
一実施例において、当該キー管理方法は、アプリケーションサーバが認証証明書を記憶していない場合にフィードバックする、セキュアチャネルを介して証明書認証サーバから取得した検証結果を受信し、検証結果は、証明書認証サーバがセキュアチャネルを介してアプリケーションサーバによってアップロードされる証明書チェーンを受信した後に、証明書認証サーバに記憶されている認証証明書に応じて証明書チェーンを検証することにより得られることをさらに含む。
【００８０】
任意選択で、アプリケーションサーバに当該証明書チェーンにおける認証証明書と一致する認証証明書が記憶されていない場合に、当該証明書チェーンセキュアをチャネルを介して証明書認証サーバ又はキー管理サーバに伝送し、証明書認証サーバ又はキー管理サーバが証明書チェーンにおける各証明書の正当性を検証し、検証結果をアプリケーションサーバにフィードバックし、アプリケーションサーバが端末にフィードバックする。証明書認証サーバ又はキー管理サーバが証明書チェーンにおける各証明書の正当性を検証するプロセスは、アプリケーションサーバが証明書チェーンにおける各証明書の正当性を検証するプロセスと類似するので、ここで、説明を省略する。
【００８１】
この実施例において、証明書認証サーバにより証明書正当性のチェックを行うことにより、チェック結果の信頼性を増強させ、そして、チェックに際して、証明書チェーンに応じてチェックを行い、証明書チェーンにデバイス公開キーが含まれ、予めアップロードを行う必要がない。
【００８２】
アプリケーションサーバは、セキュリティレベルが低いシナリオでのみ証明書正当性のチェックを行う。セキュリティレベルが高いシナリオにおいて、アプリケーションサーバに当該証明書チェーンにおける認証証明書と一致する認証証明書が記憶されても、アプリケーションサーバは当該証明書チェーンをセキュアチャネルを介して証明書認証サーバ又はキー管理サーバに伝送し、証明書認証サーバ又はキー管理サーバが証明書チェーンにおける各証明書の正当性を検証する。セキュリティレベルが低いシナリオは、例えば、アカウントを開設するシナリオであり、セキュリティレベルの高いシナリオは、例えば、リソースの遷移(支払い)のシナリオなどである。
【００８３】
一実施例において、端末は、アプリケーションによりトリガーされる生体認証権限付与要求を受信した場合に、生体認証権限付与要求のイベントに対応するセキュリティレベルを確定し、生成したアプリケーション証明書検証要求に当該セキュリティレベルを携帯する。このように、アプリケーションサーバは、アプリケーション証明書検証要求を受信した後に、アプリケーション証明書検証要求に携帯されているセキュリティレベルに応じて、ローカルで証明書正当性の検証を行うか、証明書認証サーバ又はキー管理サーバで証明書正当性の検証を行うかを判定する。なお、予めアプリケーションサーバに処理可能なセキュリティレベルを配置し、アプリケーション証明書検証要求に携帯されているセキュリティレベルが、アプリケーションサーバが処理可能なセキュリティレベルである場合に、アプリケーションサーバは、ローカルで証明書正当性の検証を行うと判定し、さもなければ、証明書認証サーバ又はキー管理サーバで証明書正当性の検証を行うと判定する。
【００８４】
一実施例において、アプリケーションサーバは、証明書認証サーバ又はキー管理サーバで証明書正当性の検証を行うと判定した後に、アプリケーション証明書検証要求を証明書チェーンにおける認証証明書に対応する証明書認証サーバに転送してもよいし、他の証明書認証サーバに転送してもよく、この場合、転送先の証明書認証サーバは、事前にセキュアチャネルを介して証明書チェーンにおける認証証明書の真のバージョンを取得する。
【００８５】
上記の実施例において、セキュリティレベルが低いシナリオにおいて、アプリケーションサーバが証明書正当性のチェックを行い、チェック結果の信頼性をある程度確保する一方、データを複数回伝送することによるリスクとかかる時間も回避できる。
【００８６】
図５は、一実施例における検証アプリケーション証明書のシーケンス図を示す。図５を参照して、端末でアプリケーションを実行でき、アプリケーションが実行された後に、生体認証権限付与要求をトリガーする。端末は、当該生体認証権限付与要求を検出すると、ＴＥＥで実行されるＴＡによりセキュア記憶エリアから当該アプリケーションの証明書チェーンを取得し、アプリケーション証明書検証要求を生成し、取得した証明書チェーンとアプリケーション証明書検証要求とを対応付けて当該アプリケーションに対応するアプリケーションサーバに送信する。アプリケーションサーバは、アプリケーション証明書検証要求を受信した後に、ローカルで当該証明書チェーンにおける認証証明書と一致する認証証明書が記憶されているかどうかを照会する。存在すると、認証証明書、デバイス証明書及びアプリケーション証明書の順にチェックし、チェック結果をフィードバックし、存在しないと、セキュアチャネルを介して証明書チェーンを証明書認証サーバ(ＣＡ)又はキー管理サーバ(ＴＡＭ) に送信し、ＣＡ又はＴＡＭはチェック認証証明書、デバイス証明書及びアプリケーション証明書の順にチェックし、チェック結果をフィードバックする。
【００８７】
図６は、一実施例におけるキー管理の原理模式図を示す。図６を参照して、端末には、認証証明書(ＣＡ ＲＯＯＴ)、認証証明書より発行されたデバイス証明書(ＡＴＴＫ)、デバイス証明書より発行されたアプリケーション証明書(ＡＳＫ)及びアプリケーション証明書より発行されたサービス証明書(ＡＫ Ａｕｔｈｅｎｔｉｃａｔｉｏｎ Ｋｅｙ)が記憶され、認証証明書(ＣＡ ＲＯＯＴ)を元とする証明書チェーンを形成し、証明書認証サーバ(ＣＡ)又はキー管理サーバ(ＴＡＭ)には認証証明書(ＣＡ ＲＯＯＴ)が記憶されている。このように、後続の証明書の正当性の検証に際して、端末は、検証対象となる証明書の証明書チェーンを検証要求とともにアップロードし、レベルごとに証明書の正当性を検証することができる。なお、アプリケーション証明書に対応するアプリケーション秘密キーにより署名してサービス証明書の署名データを生成し、アプリケーション証明書のアプリケーション公開キーによりサービス証明書の署名データを復号化する。サービスキーはＡＫ(Ａｕｔｈｅｎｔｉｃａｔｉｏｎ Ｋｅｙ)であってもよく、当該ＡＫはサービスの正当性を検証する。
【００８８】
図７は、一実施例における証明書検証方法の流れ模式図である。本実施例は、主に、当該証明書検証方法を図１のサーバ１２０に適用することを例として説明する。図７を参照して、当該証明書検証方法は以下のステップを含む。
【００８９】
Ｓ７０２において、アプリケーション証明書検証要求を受信する。
【００９０】
一実施例において、サーバはアプリケーションサーバである。任意選択で、端末はアプリケーションによりトリガーされる生体認証権限付与要求を受信した場合に、アプリケーションに対応するアプリケーション証明書検証要求を生成し、当該アプリケーションの証明書チェーンとアプリケーション証明書検証要求とを対応付けてアプリケーションに対応するアプリケーションサーバに送信する。このようにすれば、アプリケーションサーバはアプリケーション証明書検証要求を受信できる。
【００９１】
一実施例において、サーバは証明書認証サーバや、キー管理サーバである。任意選択で、アプリケーションサーバは、アプリケーションサーバで証明書チェーンにおける認証証明書と一致する認証証明書が検出されなかった場合に、セキュアチャネルを介してアプリケーション証明書検証要求を証明書認証サーバ又はキー管理サーバに転送し、又は、アプリケーションサーバは、アプリケーション証明書検証要求に携帯されているセキュリティレベルが、アプリケーションサーバが処理可能なセキュリティレベルよりも高いと、セキュアチャネルを介してアプリケーション証明書検証要求を証明書認証サーバ又はキー管理サーバに転送し、このようにすれば、証明書認証サーバ又はキー管理サーバはアプリケーション証明書検証要求を受信できる。
【００９２】
Ｓ７０４において、アプリケーション証明書検証要求に対応する証明書チェーンを取得し、証明書チェーンは認証証明書、デバイス証明書及びアプリケーション証明書を含み、認証証明書に対応する認証秘密キーにより署名してデバイス証明書の署名データを生成し、認証証明書の認証公開キーによりデバイス証明書の署名データを復号化し、デバイス証明書に対応するデバイス秘密キーにより署名してアプリケーション証明書の署名データを生成し、デバイス証明書のデバイス公開キーによりアプリケーション証明書の署名データを復号化する。
【００９３】
端末の出荷後、端末のセキュアエリアに、次のレベルの証明書がレベルごとに発行され、信頼チェーンが認証証明書に基づくことを確保する。各証明書の証明書チェーンは、証明書自体のみならず、元から発行された証明書も含まれる。例えば、デバイス証明書の証明書チェーンは認証証明書とデバイス証明書を含み、アプリケーション証明書の証明書チェーンは認証証明書、デバイス証明書及びアプリケーション証明書を含み、サービス証明書の証明書チェーンは認証証明書、デバイス証明書、アプリケーション証明書及びサービス証明書などを含む。
【００９４】
Ｓ７０６において、ローカルに証明書チェーンにおける認証証明書と一致する認証証明書が存在する場合に、証明書チェーンにおける認証証明書の認証公開キーに応じてデバイス証明書とアプリケーション証明書を検証する。
【００９５】
任意選択で、サーバに当該証明書チェーンにおける認証証明書と一致する認証証明書が記憶されている場合に、当該証明書チェーンにおける認証証明書が正当であると判定される。サーバは、当該認証証明書上の認証公開キーに応じてデバイス証明書上の署名データを復号化して第１のダイジェスト情報を取得し、端末と合意したダイジェスト情報抽出方式に従ってデバイス証明書上のデバイスパラメータ及びデバイス公開キーの第２のダイジェスト情報を抽出し、第１のダイジェスト情報と第２のダイジェスト情報とを比較する。両者が一致しないと、デバイス証明書が不正当であると判定され、検証に失敗したことを示す検証結果を端末にフィードバックする。第１のダイジェスト情報が第２のダイジェスト情報と一致すると、サーバは、続いて当該デバイス証明書上のデバイス公開キーに応じてアプリケーション証明書上の署名データを復号化して第３のダイジェスト情報を取得し、端末と合意したダイジェスト情報抽出方式に従ってアプリケーション証明書上のアプリケーションパラメータ及びアプリケーション公開キーの第４のダイジェスト情報を抽出し、第３のダイジェスト情報と第４のダイジェスト情報とを比較する。両者が一致しないと、デバイス証明書が不正当であると判定され、検証に失敗したことを示す検証結果を端末にフィードバックする。第３のダイジェスト情報が第４のダイジェスト情報と一致すると、アプリケーション証明書が正当であると判定され、検証に成功したことを示す検証結果を端末にフィードバックする。
【００９６】
サーバがアプリケーションサーバである場合、アプリケーションサーバは事前にセキュアチャネルを介して証明書認証サーバから各証明書認証サーバの認証証明書を取得する。
【００９７】
Ｓ７０８において、デバイス証明書とアプリケーション証明書の両方の検証に成功すると、検証に成功したことを示す検証結果をフィードバックする。
【００９８】
証明書チェーンにおける各証明書の検証に成功してこそ、アプリケーションに生体認証を行う権限を付与できる。証明書チェーンの一つでも証明書の正当性の検証に成功しない、アプリケーションに生体認証を行う権限を付与できない。
【００９９】
上記の証明書検証方法によれば、証明書検証が必要な場合、アプリケーション証明書検証要求に対応する証明書チェーンを直接取得し、当該証明書チェーンにおける認証証明書に対応する認証秘密キーにより、署名してデバイス証明書の署名データを生成し、認証証明書の認証公開キーによりデバイス証明書の署名データを復号化し、デバイス証明書に対応するデバイス秘密キーにより、署名してアプリケーション証明書の署名データを生成し、デバイス証明書におけるデバイス公開キーによりアプリケーション証明書における署名データを復号化し、つまり、デバイス証明書及びアプリケーション証明書は認証証明書に基づいてレベルごとに発行され、当該証明書チェーンにおける認証証明書と一致する認証証明書が存在する場合、つまり、認証証明書が信頼できると決定された場合、証明書チェーンにおける認証証明書に応じてデバイス証明書とアプリケーション証明書とを検証し、デバイス証明書とアプリケーション証明書の両方の検証に成功した場合に、検証に成功したことを示す検証結果をフィードバックし、証明書検証の有効性と効率化を確保する。
【０１００】
一実施例において、Ｓ７０６は、失効認証証明書リストにおいて証明書チェーンにおける認証証明書を照会し、証明書チェーンにおける認証証明書が失効認証証明書リストに存在しない場合に、ローカルで証明書チェーンにおける認証証明書と一致する認証証明書を照会し、証明書チェーンにおける認証証明書と一致する認証証明書が照会されると、証明書チェーンにおける認証証明書の認証公開キーに応じてデバイス証明書を検証し、デバイス証明書検証に成功すると、デバイス証明書のデバイス公開キーに応じてアプリケーション証明書を検証することを含む。
【０１０１】
一実施例において、当該証明書検証方法は、デバイスパラメータとデバイス公開キーを受信し、デバイスパラメータとデバイス公開キーのダイジェスト情報とを取得し、認証秘密キーによりダイジェスト情報を暗号化して署名データを取得し、暗号化された署名データに応じてデバイス証明書を生成しフィードバックすることをさらに含む。
【０１０２】
ここで、証明書検証方法実施例においてサーバが実行するステップは、前記のキー管理方法実施例に既に説明されているので、ここで、説明を省略する。
【０１０３】
本出願の実施例におけるキー管理方法及び証明書検証方法は生体認証標準に適用できる。生体認証標準は、例えば、テンセント社が開発したＳＯＴＥＲ標準がある。本出願の実施例における方法をＳＯＴＥＲ標準に適用した後、端末は事前に機器ＡＴＴＫを製造ラインで１つずつＴＡＭにアップロードする必要がなく、同様にＳＯＴＥＲ標準によってサポートされているため、ＳＯＴＥＲのＯＥＭ（Ｏｒｉｇｉｎａｌ Ｅｑｕｉｐｍｅｎｔ Ｍａｎｕｆａｃｔｕｒｅｒ）製造元へのアクセスがさらに容易になる。
【０１０４】
本願の各実施例における各ステップは矢印で示されるように順に実行されるが、これらのステップは、必ずしも矢印で示される順序に応じて順に実行されるわけではない。本明細書に明確に説明されない限り、これらのステップの実行順序が制限されず、これらのステップが他の順序で実行されてもよい。且つ、各実施例では、少なくとも一部のステップは複数のサブステップ又は複数のフェーズを含んでもよく、これらのサブステップ又はフェーズが必ずしも同じ時刻に実行されて完了するわけではなく、異なる時刻に実行されてもよく、これらのサブステップ又はステップの実行順序が必ずしも順に行われるわけではなく、他のステップ又は他のステップのサブステップ又はステップの少なくとも一部と順番又は交互に実行されてもよい。
【０１０５】
図８に示すように、一実施例において、キー管理装置８００を提供する。図８を参照して、当該キー管理装置８００は生成モジュール８０１、送信モジュール８０２、受信モジュール８０３及び記憶モジュール８０４を含む。
【０１０６】
生成モジュール８０１は、ローカルのセキュアエリアで、デバイス公開キーとデバイス秘密キーとを含むデバイスキーを生成する。
【０１０７】
送信モジュール８０２は、ローカルのデバイスパラメータとデバイス公開キーとを証明書認証サーバに送信する。
【０１０８】
受信モジュール８０３は、証明書認証サーバからフィードバックされるデバイス証明書を受信し、デバイス証明書の署名データは、証明書認証サーバの認証秘密キーによりデバイスパラメータとデバイス公開キーとを署名することで生成される。
【０１０９】
記憶モジュール８０４は、デバイス秘密キーとデバイス証明書とをセキュアエリアに記憶する。
【０１１０】
一実施例において、生成モジュール８０１は、さらに、ローカルで実行されるアプリケーションによりトリガーされるアプリケーションキー生成命令を取得すると、セキュアエリアにアプリケーションのアプリケーションキーを生成し、アプリケーションキーはアプリケーション公開キーとアプリケーション秘密キーとを含み、セキュアエリアで、デバイス秘密キーによりアプリケーションのアプリケーションパラメータとアプリケーション公開キーとを署名して、アプリケーションのアプリケーション証明書を生成する。記憶モジュール８０４は、さらに、アプリケーション秘密キーとアプリケーション証明書とを対応付けてセキュアエリアに記憶する。
【０１１１】
一実施例において、生成モジュール８０１は、さらに、アプリケーションのアプリケーションパラメータと、アプリケーション公開キーのダイジェスト情報とを取得し、デバイス秘密キーによりダイジェスト情報を暗号化して署名データを取得し、暗号化された署名データに応じてアプリケーションのアプリケーション証明書を生成する。
【０１１２】
一実施例において、記憶モジュール８０４は、さらに、認証秘密キーに対応する認証公開キーの認証証明書を取得し、認証証明書、デバイス証明書及びアプリケーション証明書を、アプリケーションの証明書チェーンとし、証明書チェーンをセキュアエリアに記憶する。
【０１１３】
図９に示すように、一実施例において、キー管理装置８００は、アプリケーションによりトリガーされる生体認証権限付与要求を受信した場合に、アプリケーションに対応するアプリケーション証明書検証要求を生成し、アプリケーションの証明書チェーンとアプリケーション証明書検証要求とを対応付けてアプリケーションに対応するアプリケーションサーバに送信し、アプリケーションサーバがアプリケーションサーバに記憶されている認証証明書に応じて受信した証明書チェーンを検証した後にフィードバックする検証結果を受信し、検証結果が検証に成功したことを示すと、アプリケーションに生体認証を行う権限を付与するための権限付与モジュール８０５をさらに含む。
【０１１４】
一実施例において、権限付与モジュール８０５は、さらに、アプリケーションサーバに認証証明書が記憶されていない場合にフィードバックする、セキュアチャネルを介して証明書認証サーバから取得した検証結果を受信し、検証結果は証明書認証サーバがセキュアチャネルを介してアプリケーションサーバによってアップロードされる証明書チェーンを受信した後に、証明書認証サーバに記憶されている認証証明書に応じて証明書チェーンを検証することにより得られる。
【０１１５】
図１０に示すように、一実施例において、証明書検証装置１０００を提供する。図１０を参照して、当該証明書検証装置１０００は、受信モジュール１００１、取得モジュール１００２、検証モジュール１００３及びフィードバックモジュール１００４を含む。
【０１１６】
受信モジュール１００１は、アプリケーション証明書検証要求を受信する。
【０１１７】
取得モジュール１００２は、アプリケーション証明書検証要求に対応する証明書チェーンを取得し、証明書チェーンは、認証証明書、デバイス証明書及びアプリケーション証明書を含み、認証証明書に対応する認証秘密キーにより署名してデバイス証明書の署名データを生成し、認証証明書の認証公開キーによりデバイス証明書の署名データを復号化し、デバイス証明書に対応するデバイス秘密キーにより署名してアプリケーション証明書の署名データを生成し、デバイス証明書のデバイス公開キーによりアプリケーション証明書の署名データを復号化する。
【０１１８】
検証モジュール１００３は、ローカルに証明書チェーンにおける認証証明書と一致する認証証明書が存在する場合に、証明書チェーンにおける認証証明書の認証公開キーに応じてデバイス証明書とアプリケーション証明書を検証する。
【０１１９】
フィードバックモジュール１００４は、デバイス証明書とアプリケーション証明書の両方の検証に成功した場合、検証に成功したことを示す検証結果をフィードバックする。
【０１２０】
一実施例において、検証モジュール１００３は、さらに、失効認証証明書リストにおいて証明書チェーンにおける認証証明書を照会し、証明書チェーンにおける認証証明書が失効認証証明書リストに存在しない場合に、ローカルで証明書チェーンにおける認証証明書と一致する認証証明書を照会し、証明書チェーンにおける認証証明書と一致する認証証明書が照会された場合、証明書チェーンにおける認証証明書の認証公開キーに応じてデバイス証明書を検証し、デバイス証明書検証に成功した場合、デバイス証明書のデバイス公開キーに応じてアプリケーション証明書を検証する。
【０１２１】
図１１に示すように、一実施例において、証明書検証装置１０００は、デバイスパラメータとデバイス公開キーを受信し、デバイスパラメータとデバイス公開キーのダイジェスト情報とを取得し、認証秘密キーによりダイジェスト情報を暗号化して署名データを取得し、暗号化された署名データに応じてデバイス証明書を生成しフィードバックするための発行モジュール１００５をさらに含む。
【０１２２】
図１２は、一実施例におけるコンピュータ機器の内部構成図を示す。当該コンピュータ機器は図１の端末１１０であってもよい。図１２に示すように、当該コンピュータ機器はシステムバスにより接続されるプロセッサ、メモリ、ネットワークインターフェース、入力装置及びディスプレイを含む。なお、メモリは非揮発性記憶媒体と内部メモリを含む。当該コンピュータ機器の非揮発性記憶媒体にオペレーティングシステムが記憶され、コンピュータプログラムがさらに記憶されてもよく、当該コンピュータプログラムがプロセッサに実行される場合に、プロセッサにキー管理方法を実現させることができる。当該内部メモリにコンピュータプログラムが記憶されてもよく、当該コンピュータプログラムがプロセッサによって実行される場合に、プロセッサにキー管理方法を実行させることができる。コンピュータ機器のディスプレイは液晶ディスプレイ又は電子インクディスプレイ等であってもよく、入力装置はディスプレイに覆われるタッチ層であってもよいし、コンピュータ機器のハウジングに設置されるボタン、トラックボール又はタッチパッドであってもよく、更に外部接続されるキーボード、タッチパッド又はマウス等であってもよい。当業者であれば、図１２に示される構造は本願案に関連する構造の一部のブロック図であって、本願案を用いたコンピュータ機器を制限するためのものではなく、具体的なコンピュータ機器は図より多く又は少ない部材を備えるか、又はいくつかの部材を組み合わせるか、又は異なる部材配置を有してもよい。
【０１２３】
図１３は、一実施例におけるコンピュータ機器の内部構成図を示す。当該コンピュータ機器は図１のサーバ１２０であってもよい。図１３に示すように、当該コンピュータ機器はシステムバスにより接続されるプロセッサ、メモリ、ネットワークインターフェースを含む。なお、メモリは不揮発性記憶媒体及び内部メモリを含む。当該コンピュータ機器の非揮発性記憶媒体にオペレーティングシステムが記憶され、コンピュータプログラムがさらに記憶されてもよく、当該コンピュータプログラムがプロセッサによって実行される場合に、証明書検証方法をプロセッサに実現させることができる。当該内部メモリにコンピュータプログラムが記憶されてもよく、当該コンピュータプログラムがプロセッサによって実行される場合に、証明書検証方法をプロセッサに実行させることができる。当業者であれば、図１３に示される構造は本願案に関連する構造の一部のブロック図であって、本願案を用いたコンピュータ機器を制限するためのものではなく、具体的なコンピュータ機器は図より多く又は少ない部材を備えるか、又はいくつかの部材を組み合わせるか、又は異なる部材配置を有してもよい。
【０１２４】
一実施例において、本出願で提供されるキー管理装置と証明書検証装置との両方はコンピュータプログラムの形式として実現されてもよく、コンピュータプログラムは図１２又は１３に示すコンピュータ機器上で実行されてもよく、コンピュータ機器の非揮発性記憶媒体は当該キー管理装置又は証明書検証装置を構成する各プログラムモジュール、例えば、図８に示された生成モジュール８０１、送信モジュール８０２、受信モジュール８０３及び記憶モジュール８０４などを記憶することができる。各プログラムモジュールからなるコンピュータプログラムは、本明細書に説明された本出願の各実施例のキー管理方法又は証明書検証方法におけるステップをプロセッサに実行させる。
【０１２５】
例えば、図１２に示すコンピュータ機器は、図８に示されたキー管理装置８００における生成モジュール８０１によりローカルのセキュアエリアにデバイス公開キーとデバイス秘密キーとを含むデバイスキーを生成することができる。送信モジュール８０２により、ローカルのデバイスパラメータとデバイス公開キーとを証明書認証サーバに送信する。受信モジュール８０３により、証明書認証サーバからフィードバックされるデバイス証明書を受信し、デバイス証明書の署名データは証明書認証サーバの認証秘密キーによりデバイスパラメータとデバイス公開キーとを署名することで生成される。記憶モジュール８０４により、デバイス秘密キーとデバイス証明書とをセキュアエリアに記憶する。
【０１２６】
例えば、図１３に示すコンピュータ機器は図１０に示された証明書検証装置１０００における受信モジュール１００１によりアプリケーション証明書検証要求を受信することができる。取得モジュール１００２により、アプリケーション証明書検証要求に対応する証明書チェーンを取得し、証明書チェーンは、認証証明書、デバイス証明書及びアプリケーション証明書を含み、認証証明書に対応する認証秘密キーにより、署名してデバイス証明書の署名データを生成し、認証証明書の認証公開キーにより、デバイス証明書の署名データを復号化し、デバイス証明書に対応するデバイス秘密キーにより、署名してアプリケーション証明書の署名データを生成し、デバイス証明書のデバイス公開キーにより、アプリケーション証明書の署名データを復号化する。検証モジュール１００３により、ローカルに証明書チェーンにおける認証証明書と一致する認証証明書が存在する場合に、証明書チェーンにおける認証証明書の認証公開キーに応じてデバイス証明書とアプリケーション証明書を検証する。フィードバックモジュール１００４により、デバイス証明書とアプリケーション証明書の両方の検証に成功した場合、検証に成功したことを示す検証結果をフィードバックする。
【０１２７】
一実施例において、キー管理システムを提供し、端末と証明書認証サーバとを含む。なお、端末は、ローカルのセキュアエリアにデバイス公開キーとデバイス秘密キーとを含むデバイスキーを生成し、ローカルのデバイスパラメータとデバイス公開キーとを証明書認証サーバに送信する。証明書認証サーバは、端末にデバイス証明書をフィードバックし、フィードバックされたデバイス証明書の署名データは、証明書認証サーバが証明書認証サーバの認証秘密キーに応じてデバイスパラメータとデバイス公開キーとを署名することで生成される。端末は、さらに、デバイス秘密キーとデバイス証明書とをセキュアエリアに記憶する。
【０１２８】
一実施例において、キー管理システムはアプリケーションサーバをさらに含む。端末は、さらに、ローカルで実行されるアプリケーションの証明書チェーンを生成し、アプリケーションによりトリガーされる生体認証権限付与要求を受信した場合に、アプリケーションに対応するアプリケーション証明書検証要求を生成し、アプリケーションの証明書チェーンとアプリケーション証明書検証要求と対応付けてアプリケーションに対応するアプリケーションサーバに送信する。
【０１２９】
アプリケーションサーバは、証明書チェーンにおける認証証明書が記憶されている場合に、記憶されている認証証明書に応じて受信した証明書チェーンを検証した後に端末に検証結果をフィードバックし、証明書チェーンにおける認証証明書が記憶されていない場合に、セキュアチャネルを介して証明書チェーンを証明書認証サーバに伝送し、証明書認証サーバから証明書認証サーバによる証明書チェーンの検証結果を取得し端末にフィードバックする。
【０１３０】
なお、証明書チェーンは、認証証明書、デバイス証明書及びアプリケーション証明書を含み、認証証明書に対応する認証秘密キーにより署名してデバイス証明書の署名データを生成し、認証証明書の認証公開キーによりデバイス証明書の署名データを復号化し、デバイス証明書に対応するデバイス秘密キーにより署名してアプリケーション証明書の署名データを生成し、デバイス証明書のデバイス公開キーによりアプリケーション証明書の署名データを復号化する。
【０１３１】
一実施例において、キー管理システムはキー管理サーバをさらに含む。アプリケーションサーバは、さらに、証明書チェーンにおける認証証明書が記憶されていない場合に、セキュアチャネルを介して証明書チェーンを証明書キー管理サーバに伝送し、并キー管理サーバからキー管理サーバによる証明書チェーンの検証結果を取得し端末にフィードバックする。
【０１３２】
一実施例において、端末は、さらに、ローカルで実行されるアプリケーションによりトリガーされるアプリケーションキー生成命令を取得した場合、セキュアエリアにアプリケーションのアプリケーションキーを生成し、アプリケーションキーはアプリケーション公開キーとアプリケーション秘密キーとを含み、セキュアエリアで、デバイス秘密キーによりアプリケーションのアプリケーションパラメータとアプリケーション公開キーとを署名し、アプリケーションのアプリケーション証明書を生成し、アプリケーション秘密キーとアプリケーション証明書とを対応付けてセキュアエリアに記憶する。
【０１３３】
一実施例において、端末は、さらに、アプリケーションのアプリケーションパラメータと、アプリケーション公開キーのダイジェスト情報とを取得し、デバイス秘密キーによりダイジェスト情報を暗号化して署名データを取得し、暗号化された署名データに応じてアプリケーションのアプリケーション証明書を生成する。
【０１３４】
一実施例において、端末は、さらに、認証秘密キーに対応する認証公開キーの認証証明書を取得し、認証証明書、デバイス証明書及びアプリケーション証明書を、アプリケーションの証明書チェーンとし、証明書チェーンをセキュアエリアに記憶する。
【０１３５】
一実施例において、アプリケーションサーバ又はキー管理サーバ又は証明書認証サーバは、さらに、失効認証証明書リストにおいて証明書チェーンにおける認証証明書を照会し、証明書チェーンにおける認証証明書が失効認証証明書リストに存在しない場合に、ローカルで証明書チェーンにおける認証証明書と一致する認証証明書を照会し、証明書チェーンにおける認証証明書と一致する認証証明書が照会された場合、証明書チェーンにおける認証証明書の認証公開キーに応じてデバイス証明書を検証し、デバイス証明書検証に成功した場合、デバイス証明書のデバイス公開キーに応じてアプリケーション証明書を検証する。
【０１３６】
一実施例において、証明書認証サーバは、さらに、デバイスパラメータとデバイス公開キーを受信し、デバイスパラメータとデバイス公開キーのダイジェスト情報とを取得し、認証秘密キーによりダイジェスト情報を暗号化して署名データを取得し、暗号化された署名データに応じてデバイス証明書を生成しフィードバックする。
【０１３７】
一実施例において、コンピュータプログラムがプロセッサによって実行される場合に、プロセッサに上記の方法実施例に記載のステップを実行させるコンピュータプログラムが記憶されているコンピュータ読み取り可能な記憶媒体を提供する。
【０１３８】
一実施例において、コンピュータ機器を提供し、メモリとプロセッサとを含み、メモリにコンピュータプログラムが記憶され、コンピュータプログラムがプロセッサによって実行される場合に、プロセッサに上記の方法実施例に記載のステップを実行させる。
【０１３９】
上記実施例の方法における全部又は一部のプロセスはコンピュータ可読命令が関連するハードウェアを命令することで実現されてもよく、前記プログラムが不揮発性コンピュータ可読記憶媒体に記憶されてもよく、該プログラムは実行時、上記各方法の実施例のプロセスを含んでもよい。本願に係る各実施例に使用されるメモリ、記憶、データベース又は他の媒体のいかなる引用はいずれも不揮発性メモリ及び／又は揮発性メモリを含んでもよい。不揮発性メモリは読み出し専用メモリ（ＲＯＭ）、プログラム可能ＲＯＭ（ＰＲＯＭ）、消去可能プログラム可能ＲＯＭ（ＥＰＲＯＭ）、電気的消去可能プログラム可能ＲＯＭ（ＥＥＰＲＯＭ）又はフラッシュメモリを含んでもよい。揮発性メモリはランダムアクセスメモリ（ＲＡＭ）又は外部キャッシュメモリを含んでもよい。制限的ではなく、説明として、ＲＡＭは多くの形式で得られ、例えばスタティックＲＡＭ（ＳＲＡＭ）、ダイナミックＲＡＭ（ＤＲＡＭ）、シンクロナスＤＲＡＭ（ＳＤＲＡＭ）、ダブルデータレートＳＤＲＡＭ（ＤＤＲＳＤＲＡＭ）、拡張型ＳＤＲＡＭ（ＥＳＤＲＡＭ）、シンクリンク（Ｓｙｎｃｈｌｉｎｋ）ＤＲＡＭ（ＳＬＤＲＡＭ）、ラムバス（Ｒａｍｂｕｓ）ダイレクトＲＡＭ（ＲＤＲＡＭ）、ダイレクトラムバスダイナミックＲＡＭ（ＤＲＤＲＡＭ）及びラムバスダイナミックＲＡＭ（ＲＤＲＡＭ）等が挙げられる。
【０１４０】
以上の実施例の各技術的特徴を任意に組み合わせることができ、説明を簡潔にするために、上記実施例の各技術的特徴のすべての可能な組み合わせを説明しないが、これらの技術的特徴の組み合わせは矛盾しない限り、いずれも本明細書に記載する範囲に含まれるべきである。
【０１４１】
以上の実施例は本願のいくつかの実施形態を説明し、その説明は具体的且つ詳細であるが、本発明の保護範囲を制限するためのものではない。ただし、本願の構想を逸脱せずに、更に変形や改良を行うことができ、これらの変形や改良はいずれも本願の保護範囲に属すべきである。従って、本願の保護範囲は添付の特許請求の範囲に準じるべきである。
【符号の説明】
【０１４２】
１１０  端末
１２０  サーバ
１２１  証明書認証サーバ
１２２  アプリケーションサーバ
１２３  キー管理サーバ
８００  キー管理装置
８０１  生成モジュール
８０２  送信モジュール
８０３  受信モジュール
８０４  記憶モジュール
８０５  権限付与モジュール
１０００  証明書検証装置
１００１  受信モジュール
１００２  取得モジュール
１００３  検証モジュール
１００４  フィードバックモジュール
１００５  発行モジュール
【図１】
2021516495.tif 000003
【図２】
2021516495.tif 000004
【図３】
2021516495.tif 000005
【図４】
2021516495.tif 000006
【図５】
2021516495.tif 000007
【図６】
2021516495.tif 000008
【図７】
2021516495.tif 000009
【図８】
2021516495.tif 000010
【図９】
2021516495.tif 000011
【図１０】
2021516495.tif 000012
【図１１】
2021516495.tif 000013
【図１２】
2021516495.tif 000014
【図１３】
2021516495.tif 000015
【手続補正書】
【提出日】令和2年10月14日(2020.10.14)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
端末に適用されるキー管理方法であって、
ローカルのセキュアエリアで、デバイス公開キーとデバイス秘密キーとを含むデバイスキーを生成するステップと、
ローカルのデバイスパラメータと前記デバイス公開キーとを証明書認証サーバに送信するステップと、
前記証明書認証サーバからフィードバックされるデバイス証明書を受信するステップであって、前記デバイス証明書の署名データは、前記証明書認証サーバの認証秘密キーにより前記デバイスパラメータと前記デバイス公開キーとを署名することにより生成されるステップと、
前記デバイス秘密キーと前記デバイス証明書とを前記セキュアエリアに記憶するステップと、を含むことを特徴とする方法。
【請求項２】
前記方法は、
ローカルで実行されるアプリケーションによりトリガーされるアプリケーションキー生成命令を取得した場合、前記セキュアエリアに前記アプリケーションのアプリケーションキーを生成するステップであって、前記アプリケーションキーはアプリケーション公開キーとアプリケーション秘密キーとを含むステップと、
前記セキュアエリアで、前記デバイス秘密キーにより、前記アプリケーションのアプリケーションパラメータと前記アプリケーション公開キーとを署名して、前記アプリケーションのアプリケーション証明書を生成するステップと、
前記アプリケーション秘密キーと前記アプリケーション証明書とを対応付けて前記セキュアエリアに記憶する、ステップをさらに含むことを特徴とする請求項１に記載の方法。
【請求項３】
前記デバイス秘密キーにより前記アプリケーションのアプリケーションパラメータと前記アプリケーション公開キーとを署名して、前記アプリケーションのアプリケーション証明書を生成するステップは、
前記アプリケーションのアプリケーションパラメータと、前記アプリケーション公開キーのダイジェスト情報とを取得するステップと、
前記デバイス秘密キーにより前記ダイジェスト情報を暗号化して、署名データを取得するステップと、
暗号化された前記署名データに基づいて前記アプリケーションのアプリケーション証明書を生成するステップと、を含むことを特徴とする請求項２に記載の方法。
【請求項４】
前記方法は、
前記認証秘密キーに対応する認証公開キーを含む認証証明書を取得するステップと、
前記認証証明書、前記デバイス証明書及び前記アプリケーション証明書を、前記アプリケーションの証明書チェーンとするステップと、
前記証明書チェーンを前記セキュアエリアに記憶するステップと、をさらに含むことを特徴とする請求項２に記載の方法。
【請求項５】
前記方法は、
前記アプリケーションによりトリガーされる生体認証権限付与要求を受信した場合に、前記アプリケーションに対応するアプリケーション証明書検証要求を生成するステップと、
前記アプリケーションの証明書チェーンと、前記アプリケーション証明書検証要求とを対応付けて前記アプリケーションに対応するアプリケーションサーバに送信するステップと、
前記アプリケーションサーバが前記アプリケーションサーバに記憶されている認証証明書に基づいて受信の証明書チェーンを検証した後にフィードバックする検証結果を受信するステップと、
前記検証結果が検証に成功したことを示す場合に、前記アプリケーションに、生体認証を行う権限を付与するステップと、をさらに含むことを特徴とする請求項４に記載の方法。
【請求項６】
前記方法は、
前記アプリケーションサーバが前記認証証明書が記憶されていない場合にフィードバックする、セキュアチャネルを介して前記証明書認証サーバから取得した検証結果を受信するステップであって、前記検証結果は、前記証明書認証サーバが前記セキュアチャネルを介して前記アプリケーションサーバによってアップロードされる前記証明書チェーンを受信した後に、前記証明書認証サーバに記憶されている認証証明書に基づいて前記証明書チェーンを検証することにより得られるステップをさらに含むことを特徴とする請求項５に記載の方法。
【請求項７】
証明書認証サーバに適用される証明書検証方法であって、
アプリケーション証明書検証要求を受信するステップと、
前記アプリケーション証明書検証要求に対応する証明書チェーンを取得するステップであって、前記証明書チェーンは、認証証明書、デバイス証明書及びアプリケーション証明書を含み、前記認証証明書に対応する認証秘密キーにより署名して前記デバイス証明書の署名データを生成し、前記認証証明書の認証公開キーにより前記デバイス証明書の署名データを復号化し、前記デバイス証明書に対応するデバイス秘密キーにより署名して前記アプリケーション証明書の署名データを生成し、前記デバイス証明書のデバイス公開キーにより前記アプリケーション証明書の署名データを復号化するステップと、
ローカルに、前記証明書チェーンにおける認証証明書と一致する認証証明書が存在する場合に、前記証明書チェーンにおける認証証明書の認証公開キーに基づいて、前記デバイス証明書と前記アプリケーション証明書を検証するステップと、
デバイス証明書とアプリケーション証明書の両方の検証に成功した場合、検証に成功したことを示す検証結果をフィードバックするステップと、を含むことを特徴とする方法。
【請求項８】
前記ローカルに、前記証明書チェーンにおける認証証明書と一致する認証証明書が存在する場合に、前記証明書チェーンにおける認証証明書の認証公開キーに基づいて前記デバイス証明書と前記アプリケーション証明書を検証するステップは、
失効認証証明書リストにおいて前記証明書チェーンにおける認証証明書を照会するステップと、
前記証明書チェーンにおける認証証明書が前記失効認証証明書リストに存在しない場合に、ローカルで前記証明書チェーンにおける認証証明書と一致する認証証明書を照会するステップと、
前記証明書チェーンにおける認証証明書と一致する認証証明書が照会された場合、前記証明書チェーンにおける認証証明書の認証公開キーに基づいて前記デバイス証明書を検証するステップと、
前記デバイス証明書検証に成功した場合、前記デバイス証明書のデバイス公開キーに基づいて前記アプリケーション証明書を検証するステップと、を含むことを特徴とする請求項７に記載の方法。
【請求項９】
前記方法は、
デバイスパラメータとデバイス公開キーを受信するステップと、
前記デバイスパラメータと前記デバイス公開キーのダイジェスト情報を取得するステップと、
認証秘密キーにより前記ダイジェスト情報を暗号化して、署名データを取得するステップと、
暗号化された前記署名データに基づいて前記デバイス証明書を生成しフィードバックするステップと、をさらに含むことを特徴とする請求項７に記載の方法。
【請求項１０】
キー管理装置であって、
ローカルのセキュアエリアで、デバイス公開キーとデバイス秘密キーとを含むデバイスキーを生成するための生成モジュールと、
ローカルのデバイスパラメータと前記デバイス公開キーとを証明書認証サーバに送信するための送信モジュールと、
前記証明書認証サーバからフィードバックされるデバイス証明書を受信するための受信モジュールであって、前記デバイス証明書の署名データは、前記証明書認証サーバの認証秘密キーにより前記デバイスパラメータと前記デバイス公開キーとを署名することにより生成される受信モジュールと、
前記デバイス秘密キーと前記デバイス証明書とを前記セキュアエリアに記憶するための記憶モジュールとを含むことを特徴とする装置。
【請求項１１】
証明書検証装置であって、
アプリケーション証明書検証要求を受信するための受信モジュールと、
前記アプリケーション証明書検証要求に対応する証明書チェーンを取得するための取得モジュールであり、前記証明書チェーンは、認証証明書、デバイス証明書及びアプリケーション証明書を含み、前記認証証明書に対応する認証秘密キーにより署名して前記デバイス証明書の署名データを生成し、前記認証証明書の認証公開キーにより、前記デバイス証明書の署名データを復号化し、前記デバイス証明書に対応するデバイス秘密キーにより署名して前記アプリケーション証明書の署名データを生成し、前記デバイス証明書のデバイス公開キーにより、前記アプリケーション証明書の署名データを復号化する取得モジュールと、
ローカルに前記証明書チェーンにおける認証証明書と一致する認証証明書が存在する場合に、前記証明書チェーンにおける認証証明書の認証公開キーに基づいて前記デバイス証明書と前記アプリケーション証明書を検証するための検証モジュールと、
デバイス証明書とアプリケーション証明書の両方の検証に成功した場合、検証に成功したことを示す検証結果をフィードバックするためのフィードバックモジュールとを含むことを特徴とする装置。
【請求項１２】
キー管理システムであって、
前記システムは、端末と証明書認証サーバとを含み、
前記端末は、ローカルのセキュアエリアで、デバイス公開キーとデバイス秘密キーとを含むデバイスキーを生成し、ローカルのデバイスパラメータと前記デバイス公開キーとを前記証明書認証サーバに送信し、
前記証明書認証サーバは、前記端末にデバイス証明書をフィードバックし、フィードバックされる前記デバイス証明書の署名データは、前記証明書認証サーバが前記証明書認証サーバの認証秘密キーに基づいて前記デバイスパラメータと前記デバイス公開キーとを署名することにより生成され、
前記端末は、さらに、前記デバイス秘密キーと前記デバイス証明書とを前記セキュアエリアに記憶することを特徴とするシステム。
【請求項１３】
アプリケーションサーバをさらに含み、前記端末は、さらに、ローカルで実行されるアプリケーションの証明書チェーンを生成し、前記アプリケーションによりトリガーされる生体認証権限付与要求を受信した場合に、前記アプリケーションに対応するアプリケーション証明書検証要求を生成し、前記アプリケーションの証明書チェーンと前記アプリケーション証明書検証要求とを対応付けて前記アプリケーションに対応する前記アプリケーションサーバに送信し、
前記アプリケーションサーバは、前記証明書チェーンにおける認証証明書が記憶されている場合に、記憶されている認証証明書に基づいて受信した証明書チェーンを検証した後に前記端末に検証結果をフィードバックし、前記証明書チェーンにおける認証証明書が記憶されていない場合に、セキュアチャネルを介して前記証明書チェーンを前記証明書認証サーバに伝送し、前記証明書認証サーバから、前記証明書認証サーバによる前記証明書チェーンの検証結果を取得し、前記端末にフィードバックし、
前記証明書チェーンは、認証証明書、デバイス証明書及びアプリケーション証明書を含み、前記認証証明書に対応する認証秘密キーにより署名して前記デバイス証明書の署名データを生成し、前記認証証明書の認証公開キーにより前記デバイス証明書の署名データを復号化し、前記デバイス証明書に対応するデバイス秘密キーにより署名して前記アプリケーション証明書の署名データを生成し、前記デバイス証明書のデバイス公開キーにより前記アプリケーション証明書の署名データを復号化することを特徴とする請求項１２に記載のシステム。
【請求項１４】
コンピュータ機器であって、メモリとプロセッサを含み、前記メモリにコンピュータプログラムが記憶され、前記コンピュータプログラムが前記プロセッサによって実行される場合に、前記プロセッサに、請求項１〜９のいずれか一項に記載の方法のステップを実行させるコンピュータ機器。
【請求項１５】
プロセッサによって実行される場合に、請求項１〜９のいずれか一項に記載の方法のステップを前記プロセッサに実行させるコンピュータプログラム。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００４８
【補正方法】変更
【補正の内容】
【００４８】
上記のキー管理方法によれば、デバイスキーの生成及びデバイス秘密キーにおける秘密キーとデバイス証明書の記憶は、ローカルのセキュアエリアで行われるため、デバイスキーとデバイス証明書のセキュリティを確保し、次に、デバイス証明書における署名データは、証明書認証サーバの認証秘密キーによりローカルのデバイスパラメータとデバイス公開キーとを署名することによって生成され、デバイス証明書の有効性と信頼性を増強させ、そして、デバイス証明書はローカルに直接記憶され、デバイス公開キーをローカルと異なる他のデバイスに記憶することによるキーの管理と使用の複雑な操作と不便を回避し、キー管理は便利且つ効率的になる。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】０１３１
【補正方法】変更
【補正の内容】
【０１３１】
一実施例において、キー管理システムはキー管理サーバをさらに含む。アプリケーションサーバは、さらに、証明書チェーンにおける認証証明書が記憶されていない場合に、セキュアチャネルを介して証明書チェーンを証明書キー管理サーバに伝送し、キー管理サーバからキー管理サーバによる証明書チェーンの検証結果を取得し端末にフィードバックする。
【国際調査報告】
2021516495.tif 000016
2021516495.tif 000017
2021516495.tif 000018
2021516495.tif 000019