(57)【特許請求の範囲】
【請求項１】
特定情報セキュリティ入力システムであって、
モバイルデバイスと、バックグラウンドサーバーとを含み、
前記モバイルデバイスは、第一のゾーンと第二のゾーンと、第一のゾーンと第二のゾーンとの間の相互切替を実現するための切替モジュールとを含み、前記第一のゾーンは非安全実行環境であって、当該第一のゾーンに、少なくとも一つの、業務機能アプリケーションを実行する第一のアプリケーションモジュールが設けられ、前記第二のゾーンは安全実行環境であって、当該第二のゾーンに、前記業務機能アプリケーションに関連する特定情報入力アプリケーションを実行する第二のアプリケーションモジュールと、入力される特定情報を暗号化するための暗号化モジュールとが設けられ、前記切替モジュールは、第一のアプリケーションモジュールが特定情報の入力を行うことを必要とするときに、第二のアプリケーションモジュールをトリガして、特定情報の入力を行う、及び、暗号化モジュールが入力される特定情報を暗号化した暗号化の結果を第一のアプリケーションモジュールに返し、
前記バックグラウンドサーバーは、第一のアプリケーションモジュールからの暗号化の結果を検証するための検証モジュールを含み、
前記バックグラウンドサーバーは、入力される特定情報を暗号化する秘密鍵を生成するための秘密鍵シード情報を生成するための秘密鍵シード生成モジュールをさらに含み、前記第一のゾーンに、バックグラウンドサーバーから秘密鍵シード情報を取得する秘密鍵シード取得モジュールが設けられ、前記切替モジュールは、具体的に、第一のアプリケーションモジュールが特定情報の入力を行うことを必要とするときに、前記秘密鍵シード情報により第二のアプリケーションモジュールをトリガして、特定情報の入力を行い、前記暗号化モジュールは、具体的には、前記秘密鍵シード情報により生成される秘密鍵を利用して、入力される特定情報を暗号化することを特徴とするシステム。
【請求項２】
前記第二のゾーンに、前記業務機能アプリケーションに対応する秘密鍵を記憶するための第一の記憶装置がさらに設けられ、前記暗号化モジュールは、具体的には、前記第一の記憶装置に記憶される秘密鍵を使用して、入力される特定情報を暗号化することを特徴とする請求項1に記載のシステム。
【請求項３】
前記バックグラウンドサーバーの秘密鍵シード生成モジュールは、第一の要求受信サブモジュールと、検索サブモジュールと、第一の秘密鍵シード生成サブモジュールとを含み、
前記第一の要求受信サブモジュールは、モバイルデバイスの秘密鍵シード取得モジュールから送信される、業務機能アプリケーションのユーザーの唯一の標識が含まれる秘密鍵シード要求メッセージを受信し、前記検索サブモジュールは、ユーザーの唯一の標識によって、当該ユーザーに対応する第一の特定情報を検索して取得し、前記第一の秘密鍵シード生成サブモジュールは、ユーザーの唯一の標識と第一の特定情報に基づいて、一方向性関数により、第一の秘密鍵シード情報である秘密鍵シード情報を生成して、それを秘密鍵シード取得モジュールに返すことを特徴とする請求項1に記載のシステム。
【請求項４】
秘密鍵シード生成モジュールは、第一の乱数を生成するための第一の乱数生成サブモジュールを含み、前記第一の秘密鍵シード生成サブモジュールは、具体的には、ユーザーの唯一の標識と、第一の特定情報と、第一の乱数に基づいて、一方向性関数により、第一の秘密鍵シード情報を生成することを特徴とする請求項3に記載のシステム。
【請求項５】
前記暗号化モジュールは、第二の要求受信サブモジュールと、第二の秘密鍵シード生成サブモジュールと、第一の秘密鍵生成サブモジュールと、暗号化サブモジュールとを含み、前記第二の要求受信サブモジュールは、第一のゾーンからのユーザーの唯一の標識と、第一の秘密鍵シード情報とを受信し、前記第二の秘密鍵シード生成サブモジュールは、ユーザーの唯一の標識とユーザーが入力した第二の特定情報に基づいて、一方向性関数により、第二の秘密鍵シード情報を生成し、前記第一の秘密鍵生成サブモジュールは、第一の秘密鍵シード情報と第二の秘密鍵シード情報に基づいて、ミキシング関数により、第一の秘密鍵を生成し、前記暗号化サブモジュールは、第一の秘密鍵を利用して第二の秘密鍵シード情報を暗号化して、暗号文を形成し、
前記検証モジュールは、第二の秘密鍵生成サブモジュールと、復号化サブモジュールと、検証サブモジュールを含み、前記第二の秘密鍵生成サブモジュールは、第一の秘密鍵シード情報と第二の秘密鍵シード情報に基づいて、ミキシング関数により、第二の秘密鍵を生成し、前記復号化サブモジュールは、第二の秘密鍵を利用して前記暗号文を復号化し、検証サブモジュールは、復号化して得られた結果と第二の秘密鍵シード情報とが同じであるかどうかを判断し、同じであれば、検証を通過することを特徴とする請求項1に記載のシステム。
【請求項６】
前記暗号化モジュールは、第二の乱数を生成するための第二の乱数生成サブモジュールをさらに含み、前記第二の秘密鍵シード生成サブモジュールは、具体的には、ユーザーの唯一の標識と、ユーザーが入力した第二の特定情報と、第二の乱数に基づいて、一方向性関数により、第二の秘密鍵シード情報を生成することを特徴とする請求項5に記載のシステム。
【請求項７】
特定情報セキュリティ入力方法であって、
一つの業務機能アプリケーションが特定情報の入力を行うことを必要とするときに、当該業務機能アプリケーションに関連する特定情報入力アプリケーションをトリガして特定情報入力状態に入り、前記業務アプリケーションの実行する環境は、モバイルデバイスの非安全実行環境であって、前記特定情報入力アプリケーションの実行する環境は、前記モバイルデバイスの安全実行環境であり、
ユーザーが前記安全実行環境において、前記特定情報入力アプリケーションによって入力した特定情報を受信し、
前記安全実行環境において、入力される特定情報を暗号化して、暗号化した結果を非安全実行環境において実行する前記業務機能アプリケーションに返すことを含み、
非安全実行環境において、業務機能アプリケーションは、モバイルデバイスに接続されるバックグラウンドサーバーに秘密鍵シード情報取得要求を送信して、前記要求メッセージは、第一の秘密鍵シード情報を受信するように、ユーザーの唯一の標識を含み、前記第一の秘密鍵シード情報は、バックグラウンドサーバーによって、ユーザーの唯一の標識と第一の特定情報に基づいて、一方向性関数により生成され、前記第一の特定情報は、バックグラウンドサーバーによって、ユーザーの唯一の標識に基づいて検索して得られ、
前記安全実行環境において、ユーザーの唯一の標識と第一の秘密鍵シード情報を取得し、
前記の安全実行環境において入力される特定情報を暗号化することは、具体的には、
安全実行環境において、ユーザーの唯一の標識、入力される第二の特定情報に基づいて、一方向性関数により、第二の秘密鍵シード情報を生成して、第一の秘密鍵シード情報と、第二の秘密鍵シード情報に基づいて、ミキシング関数により、第一の秘密鍵を生成し、前記第一の秘密鍵を利用して第二の秘密鍵シード情報を暗号化して、暗号化の結果である暗号文を形成することを含むことを特徴とする方法。
【請求項８】
前記の安全実行環境において入力される特定情報を暗号化することは、具体的には、
前記安全実行環境において、前記業務機能アプリケーションに対応する秘密鍵を取得し、
前記秘密鍵を利用して、前記安全実行環境において、入力される特定情報を暗号化することを含むことを特徴とする請求項7に記載の方法。
【請求項９】
前記バックグラウンドサーバーが第一の乱数を生成すると、前記第一の秘密鍵シード情報は、バックグラウンドサーバーによって、ユーザーの唯一の標識と、第一の乱数と、第一の特定情報に基づいて、一方向性関数により生成され、
前記安全実行環境において、第二の乱数を生成すると、前記の安全実行環境において、ユーザーの唯一の標識と、入力される第二の特定情報に基づいて、一方向性関数により、第二の秘密鍵シード情報を生成することは、具体的には、安全実行環境において、ユーザーの唯一の標識と、入力される第二の特定情報と、第二の乱数に基づいて、一方向性関数により、第二の秘密鍵シード情報を生成することを特徴とする請求項7に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本願の実施形態は、情報セキュリティ技術分野に関して、特に、特定情報のセキュリティ入力システムとその方法に関する。
【背景技術】
【０００２】
スマートモバイルデバイスの普及に伴い、ますます多くの、もともとPC環境で取り扱った業務が、スマートモバイルデバイスに移転されて行われる。例えば、金融振込業務、企業向けのOAオーフィスサービスなどである。これらの業務は、通常的に、モバイルデバイスにおいて関連する特定情報（例えば、銀行口座のパスワード、企業アカウントのパスワード、又はクレジットカードの番号など）を入力するようにユーザーに要求して、当該ユーザーの身分を認証するか、或いは、トランザクションのセキュリティを確認する。ところが、モバイルデバイスのオペレーティングシステムそのものは開放性と実用性の理念に基づいて設計したものであるので、セキュリティ問題への考慮は不充分であるため、ユーザーがスマートデバイスにおいて入力した特定情報は犯罪者に盗まれる可能性が高いので、情報漏洩に繋がって、極大的なセキュリティ上のリスクをもたらす。
【０００３】
モバイルデバイス上のこのようなセキュリティ問題を解決するために、従来技術には、バーチャルキーボードを定義する方法があり、即ち、アプリケーションプログラムは、モバイルデバイスのオペレーティングシステムそのものにより提供されるキーボードサービスではなく、カスタムのバーチャルキーボードサービスにより、特定情報の入力を実現する。図1を参照して、図1Aは、定義のバーチャルキーボードの構成を示し、図1Bは、この定義のバーチャルキーボードを利用して特定情報の入力を実現する処理フローを示した。このバーチャルキーボードは、特定情報を入力するようにユーザーに要求するための特定情報入力アプリケーション1100と、ユーザーが入力した機密性などの特定情報を受信するための特定情報入力エリア1110と、システムデフォルトキーボードの代わりに使用する定義バーチャルキーボードであって、セキュリティ入力を実現するための定義バーチャルキーボード1120とを含む。入力のフォーカスが特定情報入力エリア1110に入る時に、特定情報入力アプリケーション1100は内蔵バーチャルキーボード1120（図1Bの符号1に示すように、以下の注釈も同様）を起動して、内蔵バーチャルキーボード1120によって、システムデフォルトキーボードを遮蔽して（符号1.1）、定義のバーチャルキーボードを表示し、その後、このバーチャルキーボードによって、ユーザーが入力した特定情報を受信し（符号1.2）、バーチャルキーボード1120は、内蔵の秘密鍵により、ユーザーが入力した特定情報を暗号化して（符号1.3、1.3.1）、暗号文を特定情報入力アプリケーション1100に返し、特定情報入力アプリケーション1100は暗号化した特定情報を受信した後、それをバックグラウンドサービスに提出して（符号2）、検証し（符号2.1）、その後、バックグラウンドサービスによって、検証結果を返す。
【０００４】
ユーザーが特定情報の入力を行う時に、アプリケーションプログラムはオペレーティングシステムの内蔵のキーボードサービスを遮蔽して、カスタムのバーチャルキーボードを使用して情報入力を行い、これは、ある程度で、マルウェアが特定の情報を盗むことを防ぐ。しかし、このような定義のバーチャルキーボードは、依然として、モバイルデバイスのオペレーティングシステム環境において実行され、実行環境が非安全実行環境である本質を変えず、システムキーボードサービスを遮蔽しても、バーチャルキーボードによって入力する時に生成するタッチ情報、及び画面に表示される内容は依然としてマルウェアによって傍受される可能性があって、ひいてユーザーが入力した特定情報を取得される。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上記の問題を解決するために、本願の実施形態は、モバイルデバイスにおいて特定情報入力を行うセキュリティ性を向上或いは改善するための特定情報セキュリティ入力システム及びその方法を提供した。
【課題を解決するための手段】
【０００６】
本願の実施形態によって提供される特定情報セキュリティ入力システムは、モバイルデバイスとバックグラウンドサーバーを含み、
前記モバイルデバイスは、第一のゾーンと、第二のゾーンと、第一のゾーンと第二のゾーンとの間の相互切替を実現するための切替モジュールを含み、前記第一のゾーンは非安全実行環境であって、当該第一のゾーンに、少なくとも一つの、業務機能アプリケーションを実行する第一のアプリケーションモジュールが設けられ、前記第二のゾーンは安全実行環境であって、当該第二のゾーンに、前記業務機能アプリケーションに関連する特定情報入力アプリケーションを実行する第二のアプリケーションモジュールと、入力される特定情報を暗号化するための暗号化モジュールとが設けられ、前記切替モジュールは、第一のアプリケーションモジュールが特定情報の入力を行うことを必要とするときに、第二のアプリケーションモジュールをトリガして、特定情報の入力を行う、及び、暗号化モジュールが入力される特定情報を暗号化した暗号化の結果を第一のアプリケーションモジュールに返し、
前記バックグラウンドサーバーは、第一のアプリケーションモジュールからの暗号化の結果を検証するための検証モジュールを含む、システム。
【０００７】
好ましくは、前記第二のゾーンに、前記業務機能アプリケーションに対応する秘密鍵を記憶するための第一の記憶装置がさらに設けられて、前記暗号化モジュールは、具体的には、前記第一の記憶装置に記憶される秘密鍵を使用して、入力される特定情報を暗号化する。
【０００８】
好ましくは、前記第二のゾーンに、秘密鍵を記憶するための第二の記憶装置がさらに設けられて、前記バックグラウンドサーバーは、秘密鍵証明書のインデックスを記憶するための秘密鍵証明書モジュールをさらに含み、前記バックグラウンドサーバーは、秘密鍵証明書伝送通路によって、前記第二のゾーンに接続されて、暗号化モジュールが入力される特定情報を暗号化する前に、秘密鍵証明書モジュールは、前記秘密鍵証明書伝送通路によって、秘密鍵証明書のインデックスを暗号化モジュールに伝送し、
前記暗号化モジュールは、具体的には、前記秘密鍵証明書のインデックスによって、対応する秘密鍵を取得し、取得された秘密鍵を利用して、入力される特定情報を暗号化する。
【０００９】
好ましくは、前記バックグラウンドサーバーは、入力される特定情報を暗号化する秘密鍵を生成するための秘密鍵シード情報を生成するための秘密鍵シード生成モジュールをさらに含み、前記第一のゾーンに、バックグラウンドサーバーから秘密鍵シード情報を取得する秘密鍵シード取得モジュールが設けられ、前記切替モジュールは、具体的に、第一のアプリケーションモジュールが特定情報の入力を行うことを必要とするとき、前記秘密鍵シード情報により第二のアプリケーションモジュールをトリガして、特定情報の入力を行い、前記暗号化モジュールは、具体的には、前記秘密鍵シード情報により生成される秘密鍵を利用して、入力される特定情報を暗号化する。
【００１０】
更に好ましくは、前記バックグラウンドサーバーの秘密鍵シード生成モジュールは、第一の要求受信サブモジュールと、検索サブモジュールと、第一の秘密鍵シード生成サブモジュールとを含み、
前記第一の要求受信サブモジュールは、モバイルデバイスの秘密鍵シード取得モジュールから送信される、業務機能アプリケーションのユーザーの唯一の標識が含まれる秘密鍵シード要求メッセージを受信し、前記検索サブモジュールは、ユーザーの唯一の標識によって、当該ユーザーに対応する第一の特定情報を検索して取得し、前記第一の秘密鍵シード生成サブモジュールは、ユーザーの唯一の標識と第一の特定情報に基づいて、一方向性関数により、第一の秘密鍵シード情報である秘密鍵シード情報を生成して、それを秘密鍵シード取得モジュールに返す。
【００１１】
更に好ましくは、秘密鍵シード生成モジュールは、第一の乱数を生成するための第一の乱数生成サブモジュールを含み、前記第一の秘密鍵シード生成サブモジュールは、具体的には、ユーザーの唯一の標識と、第一の特定情報と、第一の乱数に基づいて、一方向性関数により、第一の秘密鍵シード情報を生成する。
【００１２】
好ましくは、前記暗号化モジュールは、第二の要求受信サブモジュールと、第二の秘密鍵シード生成サブモジュールと、第一の秘密鍵生成サブモジュールと、暗号化サブモジュールとを含み、
前記第二の要求受信サブモジュールは、第一のゾーンからのユーザーの唯一の標識と第一の秘密鍵シード情報を受信し、前記第二の秘密鍵シード生成サブモジュールは、ユーザーの唯一の標識とユーザーが入力した第二の特定情報に基づいて、一方向性関数により、第二の秘密鍵シード情報を生成し、前記第一の秘密鍵生成サブモジュールは、第一の秘密鍵シード情報と第二の秘密鍵シード情報に基づいて、ミキシング関数により、第一の秘密鍵を生成し、前記暗号化サブモジュールは、第一の秘密鍵を利用して第二の秘密鍵シード情報を暗号化して、暗号文を形成し、
前記検証モジュールは、第二の秘密鍵生成サブモジュールと、復号化サブモジュールと、検証サブモジュールを含み、前記第二の秘密鍵生成サブモジュールは、第一の秘密鍵シード情報と第二の秘密鍵シード情報に基づいて、ミキシング関数により、第二の秘密鍵を生成し、前記復号化サブモジュールは、第二の秘密鍵を利用して前記暗号文を復号化し、検証サブモジュールは、復号化して得られた結果と第二の秘密鍵シード情報とが同じであるかどうかを判断し、同じであれば、検証を通過する。
【００１３】
更に好ましくは、前記暗号化モジュールは、第二の乱数を生成するための第二の乱数生成サブモジュールをさらに含み、前記第二の秘密鍵シード生成サブモジュールは、具体的には、ユーザーの唯一の標識と、ユーザーが入力した第二の特定情報と、第二の乱数に基づいて、一方向性関数により、第二の秘密鍵シード情報を生成する。
【００１４】
本願の実施形態は、特定情報セキュリティ入力方法をさらに提供して、当該方法は、
一つの業務機能アプリケーションが特定情報の入力を行うことを必要とするときに、当該業務機能アプリケーションに関連する特定情報入力アプリケーションをトリガして特定情報入力状態に入り、前記業務アプリケーションの実行する環境は、モバイルデバイスの非安全実行環境であって、前記特定情報入力アプリケーションの実行する環境は、前記モバイルデバイスの安全実行環境であり、
ユーザーが前記安全実行環境において、前記特定情報入力アプリケーションによって入力した特定情報を受信し、
前記安全実行環境において、入力される特定情報を暗号化して、暗号化した結果を非安全実行環境において実行する前記業務機能アプリケーションに返すこと、を含む。
【００１５】
好ましくは、前記の安全実行環境において入力される特定情報を暗号化することは、具体的には、
前記安全実行環境において、前記業務機能アプリケーションに対応する秘密鍵を取得し、
前記秘密鍵を利用して前記安全実行環境において、入力される特定情報を暗号化すること、を含む。
【００１６】
好ましくは、前記の安全実行環境において入力される特定情報を暗号化することは、具体的には、
モバイルデバイスに接続されるバックグラウンドサーバーから、秘密鍵証明書伝送通路によって、秘密鍵証明書のインデックスを取得して、前記安全実行環境において、前記秘密鍵証明書のインデックスを利用して、対応する秘密鍵を取得し、当該秘密鍵を利用して入力される特定情報を暗号化すること、を含む。
【００１７】
好ましくは、前記方法は、
非安全実行環境において、業務機能アプリケーションは、モバイルデバイスに接続されるバックグラウンドサーバーに秘密鍵シード情報取得要求を送信して、前記要求メッセージは、第一の秘密鍵シード情報を受信するように、ユーザーの唯一の標識を含み、前記第一の秘密鍵シード情報は、バックグラウンドサーバーによって、ユーザーの唯一の標識と第一の特定情報に基づいて、一方向性関数により生成され、前記第一の特定情報は、バックグラウンドサーバーによって、ユーザーの唯一の標識に基づいて、検索して得られること、をさらに含み、
前記安全実行環境において、ユーザーの唯一の標識と第一の秘密鍵シード情報を取得し、
前記安全実行環境において入力される特定情報を暗号化することは、具体的には、
安全実行環境において、ユーザーの唯一の標識と、入力した第二の特定情報に基づいて、一方向性関数により、第二の秘密鍵シード情報を生成して、第一の秘密鍵シード情報と、第二の秘密鍵シード情報に基づいて、ミキシング関数により、第一の秘密鍵を生成し、前記第一の秘密鍵を利用して第二の秘密鍵シード情報を暗号化して、暗号化の結果である暗号文を形成すること、を含む。
【００１８】
好ましくは、前記バックグラウンドサーバーが第一の乱数を生成すると、前記第一の秘密鍵シード情報は、バックグラウンドサーバーによって、ユーザーの唯一の標識と、第一の乱数と、第一の特定情報に基づいて、一方向性関数により、生成され、
前記安全実行環境において、第二の乱数を生成すると、前記の安全実行環境において、ユーザーの唯一の標識と、入力される第二の特定情報に基づいて、一方向性関数により、第二の秘密鍵シード情報を生成することは、具体的には、安全実行環境において、ユーザーの唯一の標識と、入力される第二の特定情報と、第二の乱数に基づいて、一方向性関数により、第二の秘密鍵シード情報を生成することである。
【発明の効果】
【００１９】
本願の実施形態は、モバイルデバイスを二つのゾーンに区分して、そのうちの一方のゾーンは、安全実行環境であって、他方のゾーンは、非安全実行環境であり、業務機能を実現する一般的な操作（過程）は、非安全実行環境において行って、機密性の特定情報を入力する必要がある過程は、安全実行環境において行い、このようにして、情報窃盗が現れる可能性がある特定情報の入力、受信、保存、表示などの過程は、いずれも安全実行環境において完成でき、特定情報を第一のアプリケーションモジュールに伝達する時に、この特定情報も既に暗号化されるので、マルウェアは、特定情報の取得及び存続のどのステップでも特定情報を盗むことができないことによって、特定情報の入力過程のセキュリティ性を向上或いは改善させた。
【図面の簡単な説明】
【００２０】
図面を参考して以下の詳細的な説明を読むことにより、本発明の例示性の実施形態の以上及び他の目的、特徴と長所は、理解しやすくなるだろう。図面では、制限性ではなく、例示性の形態で本発明のいくつかの実施形態を示した。
【図１Ａ】従来技術における定義バーチャルキーボードの構成概略図である。
【図１Ｂ】従来技術における特定情報の入力を実現する処理のフローチャートである。
【図２】本願に係る特定情報セキュリティ入力システムの一実施例の組成構造図である。
【図３】図2に示すシステムにより業務機能を実現するフローチャートである。
【図４】本願に係る特定情報セキュリティ入力システムの他の実施例の組成構造図である。
【図５】本願に係る特定情報セキュリティ入力システムのさらに他の実施例の組成構造図である。
【図６】図5に示すシステムにより業務機能を実現するフローチャートである。
【発明を実施するための形態】
【００２１】
以下、いくつかの例示性の実施形態を参考して、本発明の原理と精神を説明する。理解すべきことは、これらの実施形態が、当業者によく理解させて、本発明を実現させるためだけであって、いずれの形態で本発明の範囲を限定するためではない。逆に、これらの実施形態を提供することは、本開示をより詳細で完全にさせ、かつ、本開示の範囲を当業者に完全に伝えるためである。
【００２２】
実施例一
図2に示すように、同図は、本願に係る特定情報セキュリティ入力システムの一実施例（実施例一）の組成構造を示した。この実施例において、特定情報セキュリティ入力システムは、モバイルデバイス11とバックグラウンドサーバー12を含み、
モバイルデバイス11は、第一のゾーン111と第二のゾーン112を含み、図面から分かるように、この二つのゾーンが離隔されて、切替モジュール113によって、第一のゾーンと第二のゾーンの間の相互切替を実現して、実際の適用過程において、二つのゾーンは、一つのアプリケーションプロセッサを二つのプロセッサにバーチャルすることによって実現して、二つのゾーンの間は、ファイアウォールによって離隔される。
【００２３】
本実施例において、この二つのゾーンは異なる性質を有して、第一のゾーン111は非安全実行環境であって、この第一のゾーンに、一つまたは複数の、業務機能アプリケーションを実行する第一のアプリケーションモジュール1111が設けられ、第二のゾーン112は安全実行環境であって、この第二のゾーンに、特定情報入力アプリケーションを実行する第二のアプリケーションモジュール1121が設けられる。ここで、第一のゾーン111に位置する第一のアプリケーションモジュールと、第二のゾーン112上の第二のアプリケーションモジュール1121がそれぞれ実行するアプリケーションは、関連関係を有し、このような関連関係は、複数の形式として具体化することができる。例えば、通常の場合に、第二のアプリケーションモジュールが実行するアプリケーションは、第一のアプリケーションモジュールが業務機能を完成するのに必要な一部に属して、第二のアプリケーションモジュールが実行するアプリケーションは第一のアプリケーションモジュールが実行するアプリケーションと協力してこそ、一つの業務機能をよりよく実現できる。勿論、実際の適用過程において、一つの業務機能の実現は、ある場合に、第一のゾーン上の第一のアプリケーションモジュールだけで実現して、特定の業務機能を完成する時のみに、第二のゾーン上の第二のアプリケーションモジュールの協力を必要とする可能性があり、つまり、第一のアプリケーションモジュールは、第二のアプリケーションモジュールに対して一定の独立性を有して、逆に、第二のアプリケーションモジュールは、一般的な場合に、第一のアプリケーションモジュールと協力しなければならない。このような協力は、第一のアプリケーションモジュールが、業務機能を実現する過程において、特定情報の入力を行うことを必要とする時に、切替モジュール113により制御権を第二のゾーンへ移転することによって、第二のアプリケーションモジュールのアプリケーションをトリガして実行することに反映される。ここで注意すべきことは、業務機能アプリケーションと特定情報入力アプリケーション自身との間は二つの独立のアプリケーションであってもよく、一つのアプリケーションにより、「デュアルゾーン」の構造に基づいて、それぞれ、安全実行環境と非安全実行環境において形成する互いに協同に作動するサブアプリケーションであってもよい。
【００２４】
例えば、一つのモバイルバンキングAPPは通常的に履歴検索、カード対カード振込、情報統計などの複数の機能を有し、現在、履歴検索、情報統計などの業務機能を完成する必要があれば、携帯電話の非安全実行環境に位置するAPPアプリケーション自身の実行のみが必要であるが、カード対カード振込を行う必要がある時に、ユーザーによって振込の金額を入力しなければならず、すると、この時に、入力のセキュリティを保証するために、非安全実行環境において実行するAPPアプリケーションは、安全実行環境において実行する振込金額入力アプリケーションをトリガすることを必要として、この振込金額入力アプリケーションによって、振込金額への入力を実現し、そして、モバイルバンキングAPPにフィードバックする。
【００２５】
上記の「デュアルゾーン」構造に基づいて、第二のアプリケーションモジュールのアプリケーションが取得した特定情報を第一のアプリケーションモジュールに安全に返すことを保証するために、特に、特定情報が第二のゾーンからファイアウォールを介して第一のゾーンに入る時、及び第一のゾーンの範囲内で伝達する時のセキュリティを保証するために、本実施例は、第二のゾーンに、入力される特定情報を暗号化するための暗号化モジュール1122がさらに設け、暗号化用の秘密鍵は、第二のゾーンの記憶装置に予め記憶されることができ、この秘密鍵は業務機能アプリケーションに対応して、具体的に暗号化する時に、まず、安全実行環境において業務機能アプリケーションに対応する秘密鍵を取得してから、この秘密鍵を利用して安全実行環境において入力される特定情報を暗号化する。このようにして、特定情報を第一のアプリケーションモジュールに返す過程において非安全実行環境である第一のゾーンを通過する必要があっても、特定情報が既に安全実行環境である第二のゾーンにおいて暗号化されることによって、特定情報が盗まれず安全に第一のアプリケーションモジュールに到達することを確保することができ、関連する業務機能を完成する。勿論、特定情報は、第二のゾーンから第一のゾーンに返す時に、切替モジュール113の「懸け橋」の作用を必要とし、即ち、切替モジュール113はさらに、暗号化モジュールが入力される特定情報を暗号化した暗号化の結果を第一のアプリケーションモジュールに返す。
【００２６】
バックグラウンドサーバー12は、第一のアプリケーションモジュールからの暗号化の結果を検証するための検証モジュール121を含む。説明すべきことは、本願の技術問題を解決することにとって、ここのバックグラウンドサーバー12は必ず必須のものではなく、勿論、バックグラウンドサーバーの検証モジュールによって、特定情報の入力システムの全体のセキュリティ性に対して、もう一つの保障として機能することができる。
【００２７】
本実施例が業務機能を実現する過程は図3を参照することができ、同図は、この実施例の作動タイムシーケンス図を示した。モバイルデバイスの第一のゾーンに搭載される業務機能アプリケーションの実行過程において、第一のアプリケーションモジュールのカレントフォーカスが予定の特定情報入力エリア（例えば、モバイルデバイスを手で持つ操作人員が、特定情報入力エリアでクリック操作を行って、特定情報入力エリアはカレントフォーカスに設定される）に入れば、この業務機能アプリケーションは現在、特定情報の入力を行う必要がある（ステップS31）ことを意味し、この時に、第一のアプリケーションモジュールは切替モジュールを起動して、切替モジュールによってカレントの制御権を第一のゾーンから第二のゾーンに移転し（ステップS32）、即ち、非安全実行環境から安全実行環境に転換し、第二のゾーンに位置する第二のアプリケーションモジュールがトリガされて、特定情報の入力状態に入り（ステップS33）、ユーザーが安全実行環境において特定情報入力アプリケーションによって入力した特定情報を受信した（ステップS34）後に、当該特定情報を第二のゾーン上の暗号化モジュールに渡して、それにより、第一のアプリケーションモジュールが完成する必要がある業務機能に対応する秘密鍵を利用して、入力される特定情報を暗号化し（ステップS35）、その後、切替モジュールによって、この暗号化の結果を第一のアプリケーションモジュールに返す（ステップS36）。第一のアプリケーションモジュールは特定情報を受信した後、それをバックグラウンドサーバーに提出して検証し（ステップS37）、バックグラウンドサーバーは、検証した後、検証結果を第一のアプリケーションモジュールに返して（ステップS38）、第一のアプリケーションモジュールが業務機能の以降の操作を行うようにすることができる。
【００２８】
本実施例は、モバイルデバイスを少なくとも二つのゾーンに区分して、そのうち、一方のゾーンの性質は安全実行環境であって、他方のゾーンの性質は非安全実行環境であり、業務機能を実現する一般的な操作（過程）は非安全実行環境において行って、機密性の特定情報を入力する必要がある過程は、安全実行環境において行い、このようにして、情報が盗まれる可能性がある特定情報の入力、受信、保存、表示などの過程をいずれも安全実行環境において完成させて、特定情報を第一のアプリケーションモジュールに伝達する時に、この特定情報も既に暗号化され、マルウェアは、特定情報の取得及び存続のどのステップでも特定情報を盗むことができないことにより、特定情報入力過程のセキュリティ性能を向上或いは改善させる。
【００２９】
具体的には、
（1）特定情報の入力過程において、本実施例の第二のアプリケーションモジュールは、安全実行環境において実行して、従来の定義バーチャルキーボード技術と同様に、特定情報の入力のステップでマルウェアが特定情報の内容を直接に盗むことができないようにすることが可能なものである。
【００３０】
（2）従来の定義バーチャルキーボード技術において、システムデフォルトキーボードを遮蔽することによって、マルウェアが特定情報の内容を直接に盗むことができないことを保証することができるが、全体のアプリケーション実行が非安全設計の単一の実行環境にあるため、マルウェアは、画面に表示される特定情報及びユーザーが特定情報を入力する時に生成するタッチ情報により、この特定情報を傍受する可能性があるが、本実施例において、特定情報が入力された後の表示、保存過程は依然として安全実行環境にあることによって、マルウェアも特定情報を盗むことができない。
【００３１】
（3）従来の定義バーチャルキーボード技術において、ユーザーは定義のバーチャルキーボードによって特定情報を入力した後、それをシステムのメモリに保存することになり、モバイルデバイスのオペレーティングシステムは特定情報の保存のために、ある程度のセキュリティメカニズムを提供するが、マルウェアにとって、まだ、このセキュリティメカニズムを避けて通ることによって、ユーザーが入力した特定情報を取得することができる。しかし、本実施例において、特定情報を保存する必要があれば、この過程は安全実行環境において行うことによって、漏洩のリスクが存在しない。
【００３２】
（4）従来の定義バーチャルキーボード技術において、特定情報を暗号化すると、暗号化用の秘密鍵はバーチャルキーボードと同じ環境において記憶されるものであって、マルウェアは、暗号文と暗号化秘密鍵を取得することができ、辞書攻撃や強引解読（Brute force）などの方式によりユーザーが入力した特定情報を取得することができる。しかし、本実施例において、暗号化の過程は安全実行環境において行うため、特定情報が第一のアプリケーションモジュールに伝達される前に、特定情報は既に暗号化されて、マルウェアは、暗号文と暗号化秘密鍵を取得することができず、特定情報を解読して得ることができない。
【００３３】
実施例二
上記の実施例において、本願が従来のバーチャルキーボード技術に存在する様々な欠陥を克服する技術方案を詳細的に説明したが、上記の技術方案も完璧なものではない。例えば、上記の実施例の方案において、入力される特定情報を暗号化することを実現するために、第二のゾーンに位置する暗号化モジュールは、記憶装置から第一のアプリケーションモジュールの業務機能アプリケーションに対応する秘密鍵を読み取って、この秘密鍵を利用して暗号化する必要がある。つまり、第一のゾーンに位置する第一のアプリケーションモジュールが複数あって、それぞれ異なる業務機能を実現する時に、第二のゾーンで特定情報を入力するセキュリティ性を保証するために、第二のゾーン上の記憶装置においてそれぞれのアプリケーションに対応する秘密鍵を予め記憶する必要があって、このように、アプリケーショプログラム開発者は、二つの互いに協力する、異なる実行環境において実行するモジュール（第一のアプリケーションモジュールと第二のアプリケーションモジュール）を同時に開発する必要がある。実際的に、異なるチップの実行環境におけるセキュリティオペレーティングシステムのベンダーが異なる可能性があることによって、その上で実行するセキュリティアプリケーションプログラムの開発パターンも同じではなく、アプリケーションプログラム開発者は、複数のバージョンの開発に対応する必要があって、開発周期とコストの著しい増加をもたらす。
【００３４】
上記の実施例に存在する上記の問題を回避するために、本願は、第二のゾーンで特定情報アプリケーションを通用化させることが好ましく、第一のゾーン上のアプリケーションと第二のゾーン上のアプリケーションの間のカップリング性を弱めるようにする。図4を参照して、同図は、当該目的を実現するシステム実施例の組成構造を示し、このシステム実施例において、バックグラウンドサーバーは、秘密鍵証明書のインデックスを記憶するための秘密鍵証明書モジュール41を含み、第二のゾーンに秘密鍵を記憶するための記憶装置が設けられ、バックグラウンドサーバーは秘密鍵証明書伝送通路42によって前記第二のゾーンに接続される。暗号化モジュールで入力される特定情報に対して暗号化操作を行う必要がある時に、秘密鍵証明書モジュール41は、前記秘密鍵証明書伝送通路42によって秘密鍵証明書のインデックスを暗号化モジュールに伝送し、暗号化モジュールは具体的には、まずバックグラウンドサーバーから秘密鍵証明書伝送通路によって秘密鍵証明書のインデックスを取得し、その後、安全実行環境において前記秘密鍵証明書のインデックスを利用して対応する秘密鍵を取得し、得られた秘密鍵を利用して、入力される特定情報を暗号化するのに使用される。
【００３５】
本実施例において、第二のゾーン上の暗号化モジュールの暗号化するための秘密鍵は、バックグラウンドサーバーによって指定され、特定の伝送通路によって暗号化モジュールに伝達するため、第一のアプリケーションモジュールの実行するアプリケーションと、第二のアプリケーションモジュールの実行するアプリケーションとの間の緊密的なカップリング関係はある程度で分離され、つまり、このような方式によって、第二のゾーン上の第二のアプリケーションモジュールは通用特性を有して、異なる第一のアプリケーションに対して、暗号化操作が必要であっても、この第一のアプリケーションに対して、それに対応する第二のアプリケーションを単独的に開発する必要がないことによって、異なる第一のアプリケーションモジュールを満足することができる。
【００３６】
本実施例の技術方案によって、上記の問題を解決するだけではなく、他のよりよい技術効果が得られる。例えば、実施例一の方案において、業務機能を完成するアプリケーションと業務機能アプリケーションに関連する特定情報入力アプリケーションのそれぞれに対応するモジュール（即ち、第一のアプリケーションモジュールと第二のアプリケーションモジュール）はそれぞれ手配しなければならず、モバイルデバイスは、自身の「安全実行環境」のセキュリティを保証するために、通常的に、それにおいて手配・実行するプログラム及び開発者の資格を厳密に検証・署名することで、アプリケーションの開発周期が長くなり、コストが増加するが、本実施例では、第二のゾーン上の暗号化モジュールの暗号化のための秘密鍵はバックグラウンドサーバーによって指定され、バックグラウンドサーバーと第二のゾーンとの間の伝送通路によって、秘密鍵証明書が与えられることによって、第二のゾーンは手配される第二のアプリケーションモジュールに対して資格検証する必要がないので、相応的な検証と署名のプラグラムを開発する必要がなく、開発周期を短くして、コストが減少される。また例えば、モバイルデバイスの実行環境を区分した後、実施例一の方式に従って、各非安全アプリケーション（第一のアプリケーションモジュールで実行する業務機能アプリケーション）に対して、それぞれ対応する安全アプリケーション（第二のアプリケーションモジュールで実行する特定情報入力アプリケーション）を開発すれば、安全実行環境である第二のゾーンのリソースは、その有限性によって、すぐ使い果たされて（特に非安全アプリケーションが多い場合）、これは、アプリケーション開発者により大きい手配問題をもたらす。しかし、本実施例では、第二のゾーン上の第二のアプリケーションモジュールが実行する特定情報入力アプリケーションに通用性を有させることによって、非安全実行環境において実行する異なる非安全アプリケーションに対して、それに対応する安全アプリケーションを開発する必要がないことで、複数のそれぞれ独立する安全アプリケーションを手配することによってもたらす問題を回避して、第二のゾーン上の有限なリソースも効果的に節約される。
【００３７】
実施例三
以上のように、実施例二の技術方案は、安全アプリケーションの開発、手配の難しさなどの一連の問題を解決したが、これは、実施例二の技術方案に更なる最適化の余地がないことを意味しない。実際的には、上記の実施例の第二のアプリケーションモジュールが実行する特定情報入力アプリケーションの通用性によって、非安全実行環境における異なる非安全アプリケーションに対してサービスさせることができ、異なる非安全アプリケーションに対してサービスすると、異なる秘密鍵の選択が必要になり、これは、秘密鍵の手配の困難をもたらす。一般的な場合に、秘密鍵手配は、公開鍵方式により行って、主に、非安全アプリケーション開発者が自分の公開鍵を特定情報入力アプリケーションの開発者に渡して署名する方式と、非安全アプリケーション開発者が自分の公開鍵を信頼可能な第三方に渡して署名し、署名した結果を特定情報入力アプリケーションに提出して使用される方式との二つの方式に反映される。どのような秘密鍵を手配する方式を採用するに関わらず、秘密鍵が各組織によって厳密に制御される特徴に基づいて、秘密鍵を他方に渡して署名することは、複雑的な業務提携交渉を必要として、これは、必然的に開発と手配のコストアップをもたらす。そして、第一のゾーンに位置する非安全アプリケーション（第一のアプリケーションモジュールが実行する業務機能アプリケーション）は、特定情報入力サービスを提供するように第二のゾーンの安全アプリケーション（特定情報入力アプリケーション）に要求する時に、特定情報の暗号化を行うための証明書又はインデックスを指定する必要があって、この秘密鍵を指定する過程は、非安全実行環境において行われるため、セキュリティリスクも存在し、マルウェアは、この機会により指定の秘密鍵を改ざんして、それを自分の秘密鍵又はその他のセキュリティリスクが存在する秘密鍵に交換する可能性があって、このように、暗号文を返す時に、マルウェアは、これら暗号文を攻撃してユーザーが入力した特定情報を取得することができる。これら技術問題を解決するために、本願は、もう一つの特定情報セキュリティ入力システムの実施例（実施例三）を提供した。図5を参照して、同図は、この特定情報セキュリティ入力システムの組成構造を示した。このシステム実施例は、モバイルデバイス51とバックグラウンドサーバー52を含み、
モバイルデバイス51は、第一のゾーン511と第二のゾーン512、及び第一のゾーンと第二のゾーンの間の相互切替を実現するための切替モジュール513を含む。以上のように、モバイルデバイスにおける二つのゾーンは異なる性質を有して、第一のゾーン511は非安全実行環境であって、この第一のゾーンに業務機能アプリケーションを実行する第一のアプリケーションモジュール5111が設けられて、このアプリケーションモジュールが実行する業務機能アプリケーションは非安全アプリケーションであって、このような非安全アプリケーションは実際の需要に応じて複数手配されることができ、手配される複数の非安全アプリケーションは、一つのアプリケーションモジュールにおいて実行してもよく、それぞれ独立するアプリケーションモジュールにおいてそれぞれ実行してもよい。第二のゾーン512は安全実行環境であって、この第二のゾーンに業務機能アプリケーションのうち特定情報入力アプリケーションを実行する第二のアプリケーションモジュール5121が設けられ、このアプリケーションモジュールが実行する特定情報入力アプリケーションは安全アプリケーションである。なお、第一のゾーンには、バックグラウンドサーバーから秘密鍵シード情報を取得するための秘密鍵シード取得モジュール5112がさらに設けられ、第二のゾーンには、入力される特定情報を暗号化するための暗号化モジュール5122がさらに設けられ、この暗号化モジュール5122は、具体的には、暗号化する時に、秘密鍵シード情報により生成する秘密鍵を利用して特定情報への暗号化を実現する。切替モジュール513は、第一のアプリケーションモジュールが特定情報入力を行うことを必要とする時に、秘密鍵シード情報によって第二のアプリケーションモジュールをトリガして、特定情報の入力を行う、及び、暗号化モジュールが入力される特定情報を暗号化した暗号化の結果を第一のアプリケーションモジュールに返すのに使用される。
【００３８】
バックグラウンドサーバー52は、第一のアプリケーションモジュールからの暗号化の結果を検証するための検証モジュール521を含んでもよい。なお、バックグラウンドサーバー52は、入力される特定情報を暗号化する秘密鍵を生成するための秘密鍵シード情報を生成するための秘密鍵シード生成モジュール522をさらに含んでもよい。
【００３９】
図6を参照して、同図は、本システム実施例の各モジュール間の情報交換のタイムシーケンスを示した。第一のゾーンに位置する（非安全実行環境における）業務機能アプリケーションを実行する第一のアプリケーションモジュールが起動された後、秘密鍵シード取得モジュールをトリガして第一のアプリケーションモジュールの標識（番号）（又はユーザーの唯一の標識）を引数としてバックグラウンドサーバーに秘密鍵シードを取得する要求メッセージを送信し（ステップS61）、ここで「標識（番号）」とは、モバイルデバイスに複数の非安全アプリケーションを有する時に、要求メッセージを送信したアプリケーションがモバイルデバイスのどのアプリケーションであるかを区分するためのものであって、この標識（番号）は、第一のアプリケーションモジュールの標識に反映されてもよく、第一のアプリケーションモジュールにおける業務機能アプリケーションを操作するユーザーの標識に反映されてもよく、異なる要求メッセージを区分可能なものであればよい。バックグラウンドサーバーは、この要求メッセージを受信した後、秘密鍵シード生成モジュールをトリガして秘密鍵シード情報を生成し、それをモバイルデバイスに返す（ステップS62）。モバイルデバイスは、バックグラウンドサーバーから返された情報を受信した後、切替モジュールに伝達し、切替モジュールは、ユーザーの標識番号及び第一の秘密鍵シード情報を引数として第二のアプリケーションモジュールをトリガして、第一のゾーンから第二のゾーン（安全実行環境）への切替を実現する（ステップS63）。第二のアプリケーションモジュールは、ユーザーが入力した特定情報を受信する（ステップS64）。そして、入力される特定情報を暗号化モジュールに伝達し、暗号化モジュールは、前記秘密鍵シード情報により生成する秘密鍵を利用して入力される特定情報を暗号化するのに使用される（ステップS65）。続いて、切替モジュールによって、暗号化の結果を第一のアプリケーションモジュールにフィードバックする（ステップS66）。第一のアプリケーションモジュールは、暗号化の結果をバックグラウンドサーバーに返し、バックグラウンドサーバーは、検証モジュールを呼び出して検証する（ステップS67）。
【００４０】
本実施例において、それぞれの構成モジュールは、それの機能を実現する異なる形態によって、異なる内部の構成を有してもよい。例えば、秘密鍵シード生成モジュール522について、実際の適用過程において、一種の構成方式は、第一の要求受信サブモジュール5221と、検索サブモジュール522と、第一の秘密鍵シード生成サブモジュール5223を含んでもよく、そのうち、
第一の要求受信サブモジュール5221は、モバイルデバイスから送信されるユーザーの唯一の標識が含まれる秘密鍵シード要求メッセージを受信するのに使用され、検索サブモジュール5222は、ユーザーの唯一の標識によって、当該ユーザーに対応する第一の特定情報を検索するのに使用され、第一の秘密鍵シード生成サブモジュール5223は、ユーザーの唯一の標識と第一の特定情報に基づいて、一方向性関数により、第一の秘密鍵シード情報を生成して、それを秘密鍵シード取得モジュールに返すのに使用される。このような組成構造において、第一の要求受信サブモジュールは、非安全実行環境において業務機能アプリケーションがモバイルデバイスに接続されるバックグラウンドサーバーに送信した秘密鍵シード情報取得要求を受信した後、検索サブモジュールは、ユーザーの唯一の標識に基づいて当該ユーザーに対応する第一の特定情報を検索し、また、第一の秘密鍵シード生成サブモジュールによって、ユーザーの唯一の標識と第一の特定情報に基づいて、一方向性関数により、第一の秘密鍵シード情報を生成して、秘密鍵シード取得モジュールに返す。
【００４１】
また例えば、暗号化モジュール5122について、第二の要求受信サブモジュール51221と、第二の秘密鍵シード生成サブモジュール51222と、第一の秘密鍵生成サブモジュール51223と、暗号化サブモジュール51224を含んでもよく、そのうち、
第二の要求受信サブモジュール51221は、第一のゾーンからのユーザーの唯一の標識と第一の秘密鍵シード情報を受信するのに使用され、第二の秘密鍵シード生成サブモジュール51222は、ユーザーの唯一の標識とユーザーが入力した第二の特定情報に基づいて、一方向性関数により、第二の秘密鍵シード情報を生成するのに使用され、第一の秘密鍵生成サブモジュール51223は、第一の秘密鍵シード情報と第二の秘密鍵シード情報に基づいて、ミキシング関数により、第一の秘密鍵を生成するのに使用され、暗号化サブモジュール51224は、第一の秘密鍵を利用して第二の秘密鍵シード情報を暗号化して、暗号文を形成するのに使用される。
【００４２】
上記の暗号化モジュールの構成に対応して、検証モジュール521は、第二の秘密鍵生成サブモジュール5211と、復号化サブモジュール5212と、検証サブモジュール5213とを含んでもよく、なお、第二の秘密鍵生成サブモジュール5211は、第一の秘密鍵シード情報と第二の秘密鍵シード情報に基づいて、ミキシング関数により、第二の秘密鍵を生成するのに使用され、復号化サブモジュール5212は、第二の秘密鍵により前記暗号文を復号化するのに使用され、検証サブモジュール5213は、復号化して得られた結果と第一の秘密鍵シード情報とが同じかどうかを判断するのに使用され、同じであれば、検証を通過する。
上記異なるモジュールの内部構成に基づいて、独特的な特定情報の暗号化、検証方法を形成することができる。暗号化モジュールの第二の要求受信サブモジュールは、第一のゾーンから伝達してきたユーザーの唯一の標識と第一の秘密鍵シード情報KS1を受信して、その後、第二の秘密鍵シード生成サブモジュールは、ユーザーの唯一の標識ID1とユーザーが入力した第二の特定情報X2に基づいて、一方向性関数FSにより第二の秘密鍵シード情報KS2を生成して、第一の秘密鍵シード生成サブモジュールは、第一の秘密鍵シードサブ情報KS1と第二の秘密鍵シードサブ情報KS2に基づいて、ミキシング関数FCにより第一の秘密鍵K1を生成して、暗号化モジュールは、第一の秘密鍵K1を利用して、第二の秘密鍵シード情報KS2を暗号化して、暗号文CT1を形成する。当該暗号文CT1及び第二の秘密鍵シード情報KS2は、切替モジュールによって、第一のアプリケーションモジュールに返して、第一のアプリケーションモジュールによってそれらをバックグラウンドサーバーに伝達する。
【００４３】
バックグラウンドサーバーにおける検証モジュールは、暗号文CT1及び第二の秘密鍵シード情報KS2により検証を実現する。具体的には、検証モジュールの第二の秘密鍵シード生成サブモジュールは、第一の秘密鍵シードKS1と第二の秘密鍵シード情報KS2に基づいて、ミキシング関数FCにより、第二の秘密鍵K2を生成し、復号化サブモジュールは、第二の秘密鍵K2により、暗号文CT1を復号化して、第二の秘密鍵シード情報KS2を取得し、検証サブモジュールは、復号化されたKS2と第一の秘密鍵シード情報KS1とが同じかどうかを判断して、同じであれば、検証を通過する。
【００４４】
本実施例の上記システムと方法過程によって分かるように、本実施例は、秘密鍵を手配する必要がなく、現有の情報だけで特定情報の暗号化伝送を完了して、「安全を保証するために、特定情報の暗号化用の秘密鍵を予め手配しなければならない」という偏見を克服する。
【００４５】
本実施例では、一方向性関数とミキシング関数が言及されて、それらは、具体的には、様々な形態に表現でき、任意の暗号学の安全基準を満たす数学関数は全て一方向性関数とミキシング関数として使用することができる。ここで、例示的には、二種の実現方式が挙げられ、当業者は、これに基づき、与えられた例示に対して暗号的な拡張を加えて、例えば、ソルトの増加、カウンターの増加、通信の回数の増加又はゼロ知識証明などの拡張や、特定情報のバックグラウンドサーバー上の記憶形態の変更や、他の任意の類似の機能の一方向性関数とミキシング関数を使用して実現し、つまり、これら変形または拡張形態はいずれも本願の請求保護の範囲内にある。
【００４６】
例示性の形態の一つ目は、SPEKE秘密鍵交換アルゴリズムに基づいて改善して得られた一方向性関数FSとミキシング関数FCである。数学式によりそれぞれ次のように示され、
【数１】
0005965973.tif 000002
上記式において、H（）は抽象関数（Abstract function）であって、SHA256に類似するハッシュ関数に反映されてもよく、Xは特定情報であって、この特定情報はX1（バックグラウンドサーバーに予め保存される特定情報）、X2（ユーザーが入力した特定情報）であってもよく、IDはユーザーの唯一の標識であって、モバイルデバイスに複数の非安全アプリケーションが存在する場合に、IDはID1（カレントの非安全アプリケーションが対応する標識番号）、ID2（安全アプリケーションが受信したカレントの標識番号）であってもよく、pはランダムに選択される安全素数であって、Rは乱数である。
【数２】
0005965973.tif 000003
上記式において、KSは秘密鍵シード情報を表して、可能な値は、KS1とKS2であり、Rは乱数であって、可能な値は、R1とR2である。
【００４７】
例示性の形態の二つ目は、J-PAKE秘密鍵交換アルゴリズムに基づいて、改善して得られた一方向性関数FSとミキシング関数FCである。数学式によりそれぞれ次のように示され、
【数３】
0005965973.tif 000004
上記式において、IDqは、1-q空間にマッピングされるユーザーの唯一の標識であり、g、qはそれぞれ、バックグラウンドサーバーと特定情報セキュリティ入力アプリケーションが共有する素数オーダー群（order group）G（又はSchorr群）の生成器と素数オーダーであり、o1、o2はバックグラウンドサーバーが1〜qの範囲内でランダムに選択する乱数であり、o3、o4は特定情報セキュリティ入力アプリケーションが1〜qの範囲内でランダムに選択する乱数であり、FS1は主にバックグラウンドサーバーによって使用され、FS2は主に第二のアプリケーションモジュールで実行する特定情報入力アプリケーションによって使用される。
【数４】
0005965973.tif 000005
なお、KS1とkS2は、バックグラウンドサーバーと特定情報セキュリティ入力アプリケーションが計算して生成する秘密鍵シードであり、FC1は、主にバックグラウンドサーバーによって使用され、FC2は、主に第二のアプリケーションモジュール上で実行する特定情報入力アプリケーションによって使用される。
【００４８】
実施例四
上記各実施例は、いくつかの共通のニーズに基づいて改善することで、より良好な効果を得ることができる。例えば、上記様々な実施例において、安全実行環境である第二のゾーンに、スクリーンキーボードレイアウトモジュールがさらに設けられ、スクリーンキーボードのレイアウトを制御するためであって、このようにして、特定情報入力を行う度に、バーチャルキーボード上のキー値、又は配列方式をランダムに、又はある特定の規律に従って生成することによって、各回の特定情報入力の間の関連を弱めて、セキュリティレベルを向上させる。
【００４９】
また例えば、安全アプリケーションの実行環境である第二のゾーンにおいてユーザーに見えるスクリーンキーボードと入力エリアの画像を表示するための表示モジュールを追加してもよく、かつ、入力エリアとスクリーンキーボードの背景画像は、非安全アプリケーションのスクリーンショットを採用してもよい。
【００５０】
実施例三の技術方案に対して、より多くの最適化の方向を持つことができる。例えば、特定情報入力アプリケーションは、業務機能アプリケーションの代わりに、ユーザーの唯一の標識を引数としてバックグラウンドサーバーの秘密鍵シード生成モジュールに秘密鍵シード情報を要求する。なお、ユーザーの体験を向上するために、業務機能を完成する非安全アプリケーションは、複数の特定情報、又は、一部のみがバックグラウンドサーバーとユーザーの共有する機密情報である複数の情報を一回で入力するようにユーザーに要求することができる。複数の機密情報を一回に入力すると、複数の機密情報を連結して一方向性関数の引数X2としてもよい。入力する情報が同時に機密情報と非機密情報を含むと、機密情報を連結して一方向性関数の引数X2として、残りの非機密情報を、秘密鍵K1により暗号化を行う平文の一部としてもよい。
【００５１】
注意すべきことは、上記最適的な実施形態は、本発明を限定するものではなく、本発明の保護範囲は、特許請求の範囲により限定されるべきである。当業者にとって、本発明から逸脱しない精神と範囲内で、いくつかの改善、変形を行うことができ、これら改善と変形も本発明の保護範囲と見なされるべきである。
【符号の説明】
【００５２】
１１・・・モバイルデバイス、１２・・・バックグラウンドサーバー、１１１・・・第一のゾーン、１１２・・・第二のゾーン、１１３・・・切替モジュール、１２１・・・検証モジュール、１１００・・・特定情報入力アプリケーション、１１１０・・・特定情報入力エリア、１１１１・・・第一のアプリケーションモジュール、１１２０・・・（内蔵）バーチャルキーボード、１１２１・・・第二のアプリケーションモジュール、１１２２・・・暗号化モジュール。
【図１Ａ】
0005965973.tif 000006
【図１Ｂ】
0005965973.tif 000007
【図２】
0005965973.tif 000008
【図３】
0005965973.tif 000009
【図４】
0005965973.tif 000010
【図５】
0005965973.tif 000011
【図６】
0005965973.tif 000012