(57)【要約】キー暗号化方法、装置、及びシステムが、本出願の実施形態に開示されている。クライアントは、キーを暗号化するために使用される暗号化アルゴリズムを保存しないが、暗号化アルゴリズムによって暗号化された情報ヘッダのみを保存し、それにより、クライアントが攻撃された場合であっても、攻撃者が、情報ヘッダを解読するために使用される暗号化アルゴリズムを直接取得することができないようになっており、こうして、クライアントのキーの安全性が向上する。取得されたデータを暗号化するためにキーを使用する必要がある場合、クライアントは、サーバからキーを要求するために、保存された第１の情報ヘッダを使用することができ、より高い安全性を有するサーバは、保存された第１の暗号化アルゴリズムに基づき、キーを復元する。クライアントは、サーバから取得されたキーを使用してデータを暗号化することができ、それにより、クライアントは、暗号化アルゴリズムを保存することなく、取得されたデータの安全性を確実にすることができる。
2020510353.tif 000002
【特許請求の範囲】
【請求項１】
クライアントと、サーバと、を備えた、キー暗号化システムであって、
前記クライアントが、
キーを取得することを要求するために使用される第１の情報ヘッダを前記サーバに送信することであって、前記キーが、前記クライアントによって取得されるデータを暗号化するために、前記クライアントによって使用されるキーであり、前記第１の情報ヘッダが、第１の暗号化アルゴリズムを使用して前記キーを暗号化した後に前記サーバによって取得される、前記送信することと、
第２の情報ヘッダ及び前記キーを前記サーバから取得することであって、前記第２の情報ヘッダが、第２の暗号化アルゴリズムに基づいて前記キーを暗号化した後に前記サーバによって取得される、前記取得することと、を行うように構成されており、
前記サーバが、
前記キーを取得することを要求するために使用される前記第１の情報ヘッダを前記クライアントから取得することと、
前記第１の暗号化アルゴリズムに基づき、前記第１の情報ヘッダから前記キーを復元することと、
前記第２の情報ヘッダを取得するために、前記第２の暗号化アルゴリズムに基づき、前記キーを暗号化することと、
前記第２の情報ヘッダ及び前記キーを前記クライアントに送信することと、を行うように構成されている、
前記キー暗号化システム。
【請求項２】
クライアントが、キーを取得することを要求するために使用される第１の情報ヘッダをサーバに送信することであって、前記キーが、前記クライアントによって取得されるデータを暗号化するために、前記クライアントによって使用されるキーであり、前記第１の情報ヘッダが、第１の暗号化アルゴリズムを使用して前記キーを暗号化した後に前記サーバによって取得される、前記送信することと、
前記クライアントが、第２の情報ヘッダ及び前記キーを前記サーバから取得することであって、前記第２の情報ヘッダが、第２の暗号化アルゴリズムに基づいて前記キーを暗号化した後に前記サーバによって取得される、前記取得することと、
を含む、キー暗号化方法。
【請求項３】
前記クライアントが、前記キーを取得することを要求するために使用される前記第１の情報ヘッダを前記サーバに送信する前に、前記方法が、
前記クライアントが、情報ヘッダがローカルに保存されているかを判定することと、
保存されていない場合に、キーを取得することのリクエストを前記クライアントが前記サーバに送信することと、
前記クライアントが、前記第１の情報ヘッダ及び前記キーを前記サーバから取得することと、
前記クライアントが、前記第１の情報ヘッダをローカルに保存することと、
をさらに含む、請求項２に記載の方法。
【請求項４】
前記クライアントが、前記情報ヘッダがローカルに保存されているかを判定することが、
前記情報ヘッダが保存されている場合、前記クライアントが、前記保存された情報ヘッダを前記第１の情報ヘッダとして使用し、前記キーを取得することを要求するために使用される前記第１の情報ヘッダを前記サーバに送信するステップを実施することを含む、請求項３に記載の方法。
【請求項５】
前記クライアントが、前記第２の情報ヘッダ及び前記キーを前記サーバから得た後に、前記方法が、
前記クライアントが、前記第２の情報ヘッダをローカルに保存し、前記第１の情報ヘッダをローカルで削除することをさらに含む、請求項２に記載の方法。
【請求項６】
前記第１の暗号化アルゴリズムが、前記第２の暗号化アルゴリズムとは異なっている、請求項２から請求項５のいずれか一項に記載の方法。
【請求項７】
前記クライアントが、前記キーをメモリ内に記録することをさらに含む、請求項２から請求項５のいずれか一項に記載の方法。
【請求項８】
送信ユニットと、受信ユニットと、を備えたキー暗号化装置であって、
前記送信ユニットが、キーを取得することを要求するために使用される第１の情報ヘッダをサーバに送信することであって、前記キーが、前記クライアントによって取得されるデータを暗号化するために、前記クライアントによって使用されるキーであり、前記第１の情報ヘッダが、第１の暗号化アルゴリズムを使用して前記キーを暗号化した後に前記サーバによって取得される、前記送信することを行うように構成されており、
前記受信ユニットが、第２の情報ヘッダ及び前記キーを前記サーバから取得することであって、前記第２の情報ヘッダが、第２の暗号化アルゴリズムに基づいて前記キーを暗号化した後に前記サーバによって取得される、前記取得することを行うように構成されている、前記キー暗号化装置。
任意選択的には、前記装置は、判定ユニットをさらに含んでいる。
前記判定ユニットは、情報ヘッダがローカルに保存されているかを判定することと、保存されていない場合に、キーを取得することのリクエストを前記サーバに送信することと、前記第１の情報ヘッダ及び前記キーを前記サーバから取得することと、前記第１の情報ヘッダをローカルに保存することと、を行うように構成されている。
任意選択的には、前記判定ユニットは、前記情報ヘッダが保存されている場合に、前記保存されている情報ヘッダを前記第１の情報ヘッダとして使用することと、前記送信ユニットを駆動させることと、を行うようにさらに構成されている。
任意選択的には、前記受信ユニットは、前記第２の情報ヘッダをローカルに保存することと、前記第１の情報ヘッダをローカルで削除することと、を行うようにさらに構成されている。
任意選択的には、前記第１の暗号化アルゴリズムは、前記第２の暗号化アルゴリズムとは異なっている。
任意選択的には、前記受信ユニットは、前記キーをメモリ内に保存するようにさらに構成されている。
【請求項９】
サーバが、キーを取得することを要求するために使用される第１の情報ヘッダをクライアントから取得することであって、前記キーが、前記クライアントによって取得されるデータを暗号化するために、前記クライアントによって使用されるキーであり、前記第１の情報ヘッダが、第１の暗号化アルゴリズムを使用して前記キーを暗号化した後に前記サーバによって取得される、前記取得することと、
前記サーバが、前記第１の暗号化アルゴリズムに基づき、前記第１の情報ヘッダから前記キーを復元することと、
前記サーバが、第２の情報ヘッダを取得するために、第２の暗号化アルゴリズムに基づき、前記キーを暗号化することと、
前記サーバが、前記第２の情報ヘッダ及び前記キーを前記クライアントに送信することと、を含む、キー暗号化方法。
【請求項１０】
前記第１の情報ヘッダが、前記第１の暗号化アルゴリズムの識別子をさらに含み、前記サーバが、前記第１の暗号化アルゴリズムに基づき、前記第１の情報ヘッダから前記キーを復元することの前に、前記方法が、
前記サーバが、前記第１の暗号化アルゴリズムの前記識別子に従って、前記第１の暗号化アルゴリズムを検索することをさらに含む、請求項９に記載の方法。
【請求項１１】
前記サーバが、前記キーを取得することを要求するために使用される前記第１の情報ヘッダを前記クライアントから取得する前に、前記方法が、
前記サーバが、前記クライアントによって送信された、キーを取得することのリクエストを取得することと、
前記サーバが、ランダムに生成されたキーストリングを前記キーとして使用することと、
前記サーバが、前記第１の情報ヘッダを取得するために、前記第１の暗号化アルゴリズムを使用して前記キーを暗号化することと、
前記サーバが、前記第１の情報ヘッダ及び前記キーを前記クライアントに送信することと、をさらに含む、請求項９に記載の方法。
【請求項１２】
前記第１の暗号化アルゴリズムが、前記第２の暗号化アルゴリズムとは異なっている、請求項９から請求項１１のいずれか一項に記載の方法。
【請求項１３】
取得ユニットと、復元ユニットと、生成ユニットと、送信ユニットとを備えたキー暗号化装置であって、
前記取得ユニットが、キーを取得することを要求するために使用される第１の情報ヘッダをクライアントから取得することであって、前記キーが、前記クライアントによって取得されるデータを暗号化するために、前記クライアントによって使用されるキーであり、前記第１の情報ヘッダが、第１の暗号化アルゴリズムを使用して前記キーを暗号化した後に前記サーバによって取得される、前記取得することを行うように構成されており、
前記復元ユニットが、前記第１の暗号化アルゴリズムに基づき、前記第１の情報ヘッダから前記キーを復元するように構成されており、
前記生成ユニットが、第２の情報ヘッダを取得するために、第２の暗号化アルゴリズムに基づき、前記キーを暗号化するように構成されており、
前記送信ユニットが、前記第２の情報ヘッダ及び前記キーを前記クライアントに送信するように構成されている、前記キー暗号化装置。
任意選択的には、前記第１の情報ヘッダは、前記第１の暗号化アルゴリズムの識別子をさらに含んでおり、前記復元ユニットは、前記第１の暗号化アルゴリズムの前記識別子に従って、前記第１の暗号化アルゴリズムを検索するようにさらに構成されている。
任意選択的には、前記取得ユニットは、前記クライアントによって送信された、キーを取得することのリクエストを取得することと、ランダムに生成されたキーストリングを前記キーとして使用することと、前記第１の情報ヘッダを取得するために、前記第１の暗号化アルゴリズムを使用して前記キーを暗号化することと、前記第１の情報ヘッダ及び前記キーを前記クライアントに送信することと、を行うようにさらに構成されている。
任意選択的には、前記第１の暗号化アルゴリズムは、前記第２の暗号化アルゴリズムとは異なっている。
【発明の詳細な説明】
【技術分野】
【０００１】
本出願は、２０１７年３月１５日に出願され、「Ｋｅｙ  Ｅｎｃｒｙｐｔｉｏｎ  Ｍｅｔｈｏｄｓ，  Ａｐｐａｒａｔｕｓｅｓ，  ａｎｄ  Ｓｙｓｔｅｍｓ」と題する、中国出願第２０１７１０１５３４０５．２号の優先権を主張する。この文献は、本明細書で参照することにより、その全体が組み込まれる。
【０００２】
本出願は、データ処理の分野に関し、より詳細には、キー暗号化方法、装置、及びシステムに関する。
【背景技術】
【０００３】
クライアントのデータのセキュリティを確実にするために、クライアントによって取得されたデータは、キーによって暗号化し、次いで、クライアントにローカルに保存する必要がある。クライアントが攻撃された場合、攻撃者が取得したデータが暗号化されていることから、データは、直接使用することができない。
【０００４】
慣習的な方法では、クライアントのキーは、クライアント自体によって生成される。キーの安全性を向上させるために、クライアントは、概して、暗号化アルゴリズムを通してキーを暗号化し、次いで、暗号化されたキーをクライアントにローカルに保存する。データを暗号化するためにキーが必要である場合、キーは、ローカルに保存された暗号化アルゴリズムに従って、暗号化されたキーから復元することができる。
【０００５】
しかし、暗号化アルゴリズムが、クライアントにローカルに保存されていることから、攻撃者が取得することが容易であり、それにより、攻撃者は、暗号化アルゴリズムを使用して、暗号化されたキーからキーを修復することができる。それにより、キーに基づき、クライアントに保存された、暗号化されたデータがクラッキングされる。
【発明の概要】
【０００６】
上述の技術的問題を解決するために、本出願の実施形態は、暗号化アルゴリズムをクライアントに保存する必要がなく、クライアントのキーの安全性を向上させる、キー暗号化方法、装置、及びシステムを提供する。
【０００７】
本出願の実施形態は、以下の技術的解決策を開示する。
【０００８】
第１の態様では、本出願の実施形態は、キー暗号化システムであって、このシステムがクライアント及びサーバを含む、キー暗号化システムを提供する。
【０００９】
クライアントは、キーを取得することを要求するために使用される第１の情報ヘッダをサーバに送信することであって、このキーが、クライアントによって取得されるデータ、第１の情報を暗号化するために、クライアントによって使用されるキーであり、第１の情報ヘッダが、第１の暗号化アルゴリズムを使用してキーを暗号化した後にサーバによって取得される、送信することと、第２の情報ヘッダ及びキーをサーバから取得することであって、第２の情報ヘッダが、第２の暗号化アルゴリズムに基づいてキーを暗号化した後にサーバによって取得される、取得することと、を行うように構成されている。
【００１０】
サーバは、キーを取得することを要求するために使用される第１の情報ヘッダをクライアントから取得することと、第１の暗号化アルゴリズムに基づき、第１の情報ヘッダからキーを復元することと、第２の情報ヘッダを取得するために、第２の暗号化アルゴリズムに基づき、キーを暗号化することと、第２の情報ヘッダ及びキーをクライアントに送信することと、を行うように構成されている。
【００１１】
第２の態様では、本出願の実施形態は、キー暗号化方法を提供する。この方法は、
クライアントが、キーを取得することを要求するために使用される第１の情報ヘッダをサーバに送信することであって、キーが、クライアントによって取得されるデータを暗号化するために、クライアントによって使用されるキーであり、第１の情報ヘッダが、第１の暗号化アルゴリズムを使用してキーを暗号化した後にサーバによって取得される、送信することと、
クライアントが、第２の情報ヘッダ及びキーをサーバから取得することであって、第２の情報ヘッダが、第２の暗号化アルゴリズムに基づいてキーを暗号化した後にサーバによって取得される、取得することと、を含んでいる。
【００１２】
任意選択的には、クライアントが、キーを取得することを要求するために使用される第１の情報ヘッダをサーバに送信する前に、本方法は、
クライアントが、情報ヘッダがローカルに保存されているかを判定することと、
保存されていない場合に、キーを取得することのリクエストをクライアントがサーバに送信することと、
クライアントが、第１の情報ヘッダ及びキーをサーバから取得することと、
クライアントが、第１の情報ヘッダをローカルに保存することと、をさらに含んでいる。
【００１３】
任意選択的には、クライアントが、情報ヘッダがローカルに保存されているかを判定することは、
情報ヘッダが保存されている場合、クライアントが、保存された情報ヘッダを第１の情報ヘッダとして使用し、キーを取得することを要求するために使用される第１の情報ヘッダをサーバに送信するステップを実施することを含んでいる。
【００１４】
任意選択的には、クライアントが、第２の情報ヘッダ及びキーをサーバから得た後に、方法は、
クライアントが、第２の情報ヘッダをローカルに保存し、第１の情報ヘッダをローカルで削除することをさらに含んでいる。
【００１５】
任意選択的には、第１の暗号化アルゴリズムは、第２の暗号化アルゴリズムとは異なっている。
【００１６】
任意選択的には、本方法は、
クライアントが、キーをメモリ内に保存することを含んでいる。
【００１７】
第３の態様では、本出願の実施形態は、キー暗号化装置であって、この装置が送信ユニット及び受信ユニットを含む、キー暗号化装置を提供する。
【００１８】
送信ユニットは、キーを取得することを要求するために使用される第１の情報ヘッダをサーバに送信することであって、キーが、クライアントによって取得されるデータを暗号化するために、クライアントによって使用されるキーであり、第１の情報ヘッダが、第１の暗号化アルゴリズムを使用してキーを暗号化した後にサーバによって取得される、送信することを行うように構成されている。
【００１９】
受信ユニットは、第２の情報ヘッダ及びキーをサーバから取得するように構成されており、第２の情報ヘッダが、第２の暗号化アルゴリズムに基づいてキーを暗号化した後にサーバによって取得される。
【００２０】
任意選択的には、装置が、判定ユニットをさらに含んでいる。
【００２１】
判定ユニットは、情報ヘッダがローカルに保存されているかを判定することと、保存されていない場合に、キーを取得することのリクエストをサーバに送信することと、第１の情報ヘッダ及びキーをサーバから取得することと、第１の情報ヘッダをローカルに保存することと、を行うように構成されている。
【００２２】
任意選択的には、判定ユニットは、情報ヘッダが保存されている場合に、保存されている情報ヘッダを第１の情報ヘッダとして使用することと、送信ユニットを駆動させることと、を行うようにさらに構成されている。
【００２３】
任意選択的には、受信ユニットが、第２の情報ヘッダをローカルに保存することと、第１の情報ヘッダをローカルで削除することと、を行うようにさらに構成されている。
【００２４】
任意選択的には、第１の暗号化アルゴリズムは、第２の暗号化アルゴリズムとは異なっている。
【００２５】
任意選択的には、受信ユニットは、キーをメモリ内に保存するようにさらに構成されている。
【００２６】
第４の態様では、本出願の実施形態は、キー暗号化方法を提供する。この方法は、
サーバが、キーを取得することを要求するために使用される第１の情報ヘッダをクライアントから取得することであって、キーが、クライアントによって取得されるデータを暗号化するために、クライアントによって使用されるキーであり、第１の情報ヘッダが、第１の暗号化アルゴリズムを使用してキーを暗号化した後にサーバによって取得される、取得することと、
サーバが、第１の暗号化アルゴリズムに基づき、第１の情報ヘッダからキーを復元することと、
サーバが、第２の情報ヘッダを取得するために、第２の暗号化アルゴリズムに基づき、キーを暗号化することと、
サーバが、第２の情報ヘッダ及びキーをクライアントに送信することと、を含んでいる。
【００２７】
任意選択的には、第１の情報ヘッダは、第１の暗号化アルゴリズムの識別子をさらに含んでおり、サーバが、第１の暗号化アルゴリズムに基づき、第１の情報ヘッダからキーを復元することの前に、方法は、
サーバが、第１の暗号化アルゴリズムの識別子に従って、第１の暗号化アルゴリズムを検索することをさらに含んでいる。
【００２８】
任意選択的には、サーバが、キーを取得することを要求するために使用される第１の情報ヘッダをクライアントから取得する前に、方法は、
サーバが、クライアントによって送信された、キーを取得することのリクエストを取得することと、
サーバが、ランダムに生成されたキーストリングをキーとして使用することと、
サーバが、第１の情報ヘッダを取得するために、第１の暗号化アルゴリズムを使用してキーを暗号化することと、
サーバが、第１の情報ヘッダ及びキーをクライアントに送信することと、をさらに含んでいる。
【００２９】
任意選択的には、第１の暗号化アルゴリズムは、第２の暗号化アルゴリズムとは異なっている。
【００３０】
第５の態様では、本出願の実施形態は、キー暗号化装置を提供する。この装置は、取得ユニット、復元ユニット、生成ユニット、及び送信ユニットを含んでいる。
【００３１】
取得ユニットは、キーを取得することを要求するために使用される第１の情報ヘッダをクライアントから取得することであって、キーが、クライアントによって取得されるデータを暗号化するために、クライアントによって使用されるキーであり、第１の情報ヘッダが、第１の暗号化アルゴリズムを使用してキーを暗号化した後にサーバによって取得される、取得することを行うように構成されている。
【００３２】
復元ユニットは、第１の暗号化アルゴリズムに基づき、第１の情報ヘッダからキーを復元するように構成されている。
【００３３】
生成ユニットは、第２の情報ヘッダを取得するために、第２の暗号化アルゴリズムに基づき、キーを暗号化するように構成されている。
【００３４】
送信ユニットは、第２の情報ヘッダ及びキーをクライアントに送信するように構成されている。
【００３５】
任意選択的には、第１の情報ヘッダは、第１の暗号化アルゴリズムの識別子をさらに含んでおり、復元ユニットは、第１の暗号化アルゴリズムの識別子に従って、第１の暗号化アルゴリズムを検索するようにさらに構成されている。
【００３６】
任意選択的には、取得ユニットは、クライアントによって送信された、キーを取得することのリクエストを取得することと、ランダムに生成されたキーストリングをキーとして使用することと、第１の情報ヘッダを取得するために、第１の暗号化アルゴリズムを使用してキーを暗号化することと、第１の情報ヘッダ及びキーをクライアントに送信することと、を行うようにさらに構成されている。
【００３７】
任意選択的には、第１の暗号化アルゴリズムは、第２の暗号化アルゴリズムとは異なっている。
【００３８】
上述の技術的解決策から見ることができるように、クライアントは、キーを暗号化するために使用される暗号化アルゴリズムを保存しないが、暗号化アルゴリズムによって暗号化された情報ヘッダのみを保存し、それにより、クライアントが攻撃された場合であっても、攻撃者が、情報ヘッダを解読するために使用される暗号化アルゴリズムを直接取得することができないようになっており、こうして、クライアントのキーの安全性が向上する。取得されたデータを暗号化するためにキーを使用する必要がある場合、クライアントは、サーバからキーを要求するために、保存された第１の情報ヘッダを使用することができ、より高い安全性を有するサーバは、保存された第１の暗号化アルゴリズムに基づき、キーを復元する。クライアントは、サーバから取得されたキーを使用してデータを暗号化することができ、それにより、クライアントは、暗号化アルゴリズムを保存することなく、取得されたデータの安全性を確実にすることができる。
【００３９】
本出願の実施形態、または、既存の技術の技術的解決策をより明確に説明するために、実施形態または既存の技術を記載するために必要とされる添付図面を、以下に簡単に記載する。明らかに、記載されている図面は、単に、本発明のいくつかの実施形態を示すものである。当業者は、発明的な作業を行うことなく、これら図面に基づき、他の図面を取得することができる。
【図面の簡単な説明】
【００４０】
【図１】本出願の実施形態に係る、キーの暗号化の、概略的なシステムの図である。
【図２】本出願の実施形態に係る、キーの暗号化方法のフローチャートである。
【図３】本出願の実施形態に係る、別のキーの暗号化方法のフローチャートである。
【図４】本出願の実施形態に係る、キーの暗号化システムの構造的システムの図である。
【図５】本出願の実施形態に係る、キーの暗号化装置の構造的装置の図である。
【図６】本出願の実施形態に係る、キーの暗号化装置の構造的装置の図である。
【発明を実施するための形態】
【００４１】
本出願の実施形態の目的、技術的解決策、及び利点を明確にすることを可能にするために、本出願の実施形態の技術的解決策は、本出願の実施形態において、添付図面を参照しつつ、以下に明確に記載される。明らかに、記載されている実施形態は、単に、本発明のいくつかの実施形態を示すものであり、すべての実施形態を示すものではない。発明的な作業をすることなく、本発明の実施形態に基づき、当業者によって取得される他のすべての実施形態は、本発明の保護の範囲内にあるものとする。
【００４２】
ビッグデータの時代において、データの安全性が、人々からますます注目されてきている。クライアントのデータの安全性を確実にするために、クライアントは、しばしば、取得されたデータを暗号化し、次いで保存する。データがキーによって暗号化された後は、データの安全性が向上する。しかし、攻撃者によってキーが違法に取得された場合、攻撃者は、取得されたキーに基づき、データを取得することができる。したがって、データの安全性を補償するために、キーの安全性が必要である。慣習的な方法では、クライアントのキーは、クライアント自体によって生成される。キーの安全性を向上させるために、クライアントは、概して、暗号化アルゴリズムを通して、キーを暗号化し、次いで、暗号化されたキーをクライアントにローカルに保存する。キーが必要である場合、キーは、ローカルに保存された暗号化アルゴリズムに従って暗号化されたキーから復元することができる。
【００４３】
暗号化アルゴリズムが、クライアントにローカルに保存されていることから、攻撃者が取得することが容易である。したがって、キーは、暗号化アルゴリズムを使用して復元され得、クライアントに保存された暗号化されたデータは、キーを使用してクラックされる。このため、クライアントのデータの漏洩に繋がり、また、データがプライバシーなどの重要な情報を含む場合があることから、重大な結果を生じる場合がある。たとえば、会社でのデータの破損は、公共での会社の名声と信頼の低下、また、会社の経済的な利益に対する重大な打撃にさえ繋がり得る。
【００４４】
上述の問題を受けて、本出願の実施形態は、キー暗号化方法、装置、及びシステムを提供する。クライアントは、暗号化アルゴリズムによって暗号化された情報ヘッダのみを保存し、暗号化アルゴリズムは、より高い安全性で、サーバに保存される。クライアントがキーを使用する必要がある場合、クライアントは、キーを取得することを要求するための情報ヘッダを送信し、キーを取得し、それにより、データを処理する。このことは、クライアントのデータの安全性を完全に確実にする。
【００４５】
上述の基本的なアイデアに基づき、本出願の実施形態は、主に、クライアントとサーバとの間の相互作用を通して実施される。図１に示すように、クライアント１００は、キーを暗号化することによって取得された情報ヘッダをローカルに保存し、サーバ２００は、対応する暗号化アルゴリズムを保存する。クライアント１００が、キーに従って、それによって取得されたデータを暗号化する必要がある場合、キーは、キーを取得するように要求するための第１の情報ヘッダをサーバ２００に送信することによって取得することができる。
【００４６】
クライアント１００によって取得されたデータは、クライアント１００自体によって生成されたデータである場合がある。たとえば、ユーザは、クライアントを通してＷａｎｇＷａｎｇにログインし、それに関して生成されたチャットレコードは、クライアント自体によって生成されたデータである。クライアント１００によって取得されたデータは、他の手段によって外部で受信されたデータである場合もあり、たとえば、ユーザは、クライアントを通して、サーバによって送信されたデータを受信する。データは、しばしば、重要な情報を含んでおり、また、データは、キーを使用して暗号化し、次いで、それをクライアントにローカルに保存して、データの安全性を確実にすることができる。
【００４７】
キーは、暗号文へとデータを暗号化するプロセス、または、暗号文からデータを復元するプロセスにおいて使用される暗号化パラメータとすることができる。たとえば、ユーザは、取得されたデータ｛Ａ１，Ａ２，Ａ３｝を、キーを使用して暗号文｛Ｂ１，Ｂ２，Ｂ３｝へと暗号化し、それを保存することができる。ユーザがデータを読む必要がある場合、保存された暗号文｛Ｂ１，Ｂ２，Ｂ３｝を、キーを使用してデータ｛Ａ１，Ａ２，Ａ３｝に解読することができる。
【００４８】
暗号化アルゴリズムは、キーを暗号化するためのアルゴリズムである。情報ヘッダを取得するように、キーを暗号化するために使用されるのに加え、暗号化アルゴリズムは、キーを復元するように、情報ヘッダを解読するためにも使用することができる。本発明では、暗号化アルゴリズムは、クライアント１００よりも安全なサーバ２００に保存されている。
【００４９】
サーバに保存されている暗号化アルゴリズムは、第１の暗号化アルゴリズム及び第２の暗号化アルゴリズムを含む場合がある。サーバ２００は、第２の情報ヘッダを取得するために、第２の暗号化アルゴリズムを使用してキーを暗号化し、第２の情報ヘッダ及びキーをクライアント１００に送信する場合がある。
【００５０】
情報ヘッダは、暗号化アルゴリズムを使用してキーを暗号化することによって取得される情報ヘッダであり、クライアント１００にローカルに保存することができる。情報ヘッダは、キーを暗号化した後に取得される情報を含んでおり、また、ユーザ名などの暗号化された情報を含む場合がある。換言すると、暗号化アルゴリズムは、情報ヘッダを取得するために、キー及びユーザ名などの情報を暗号化するために使用される場合がある。
【００５１】
上述のシナリオに関し、特定の実施例を、説明のために使用する。たとえば、ユーザがＷａｎｇＷａｎｇにクライアントを通してログインする場合、クライアントは、キーを取得することを要求するために、ローカルに保存された情報ヘッダ１をサーバに送信する。サーバは、受信された情報ヘッダ１に従って、対応する暗号化アルゴリズム１を見つけ、情報ヘッダ１からキーを復元し、情報ヘッダ２を生成するように、キーを暗号化するために暗号化アルゴリズム２を使用し、また、情報ヘッダ２及びキーをクライアントに、安全なチャンネルを通して送信する。クライアントは、取得されたキーに従って、データを暗号化し、暗号化された暗号文をクライアントにローカルに保存するか、取得されたキーに従って暗号化されたデータを解読し、解読されたデータを表示する場合がある。
【００５２】
本出願の実施形態によって提供されるキーの暗号化方法が、図２を参照して以下に記載される。
【００５３】
図２は、本出願の実施形態によって提供される、キーの暗号化方法のフローチャートである。本方法は、以下を含んでいる。
【００５４】
Ｓ２０１：クライアントが、キーを取得することを要求するために使用される第１の情報ヘッダをサーバに送信する。ここで、このキーは、クライアントによって取得されるデータを暗号化するために、クライアントによって使用されるキーであり、第１の情報ヘッダは、第１の暗号化アルゴリズムを使用してキーを暗号化した後にサーバによって取得される。
【００５５】
本出願の実施形態では、クライアントが、取得されたデータを処理する暗号化を実施するか、暗号化されたデータを解読する必要がある場合、クライアントは、サーバから取得されたキーを使用することができる。永続的にキーが失われることを避けるために、クライアントは、概してキーをキャッシュメモリに保存し、ハードディスクなどの永続的な保存エリアにはキーを保存しない。クライアントがデータを取得する場合、キーは、データを暗号化するために、メモリから回収することができる。
【００５６】
たとえば、メモリのアップデートまたはクライアントのリスタートのケースでは、キャッシュメモリに保存されているキーの削除が容易であるためである。したがって、クライアントが、メモリから、必要とされるキーを見つけない場合、クライアントは、サーバからキーをふたたび取得する必要がある。本発明では、第１の暗号化アルゴリズムがサーバに保存されていることから、サーバは、第１の暗号化アルゴリズムに従って、第１の情報ヘッダからキーを復元することができる。したがって、クライアントは、キーを取得するためのベースとしてローカルに保存されている第１の情報ヘッダを使用することができる。第１の情報ヘッダは、第１の暗号化アルゴリズムを使用してキーを暗号化することによって取得される。第１の情報ヘッダは、第３者によって取得される場合であっても、違法に解読することはより困難である。したがって、クライアントは、概して、第１の情報ヘッダを永続的な保存エリアに保存することができる。
【００５７】
Ｓ２０２：サーバは、キーを取得することを要求するために使用される第１の情報ヘッダをクライアントから取得する。
【００５８】
Ｓ２０３：サーバは、第１の暗号化アルゴリズムに従って、第１の情報ヘッダからキーを復元する。
【００５９】
サーバは、情報ヘッダを生成するために、それぞれの暗号化アルゴリズムを保存する。異なるクライアントのキーに関し、サーバは、異なる暗号化アルゴリズムを暗号化のために使用する場合があるか、同じ暗号化アルゴリズムを暗号化のために使用する場合がある。したがって、サーバが、クライアントの第１の情報ヘッダを取得する場合、第１の情報ヘッダを暗号化するために使用される第１の暗号化アルゴリズムが最初に判定され得、次いで、第１の暗号化アルゴリズムが、第１の情報ヘッダからキーを復元するために使用される。
【００６０】
たとえば、サーバは、取得された情報ヘッダ１に従って、保存された暗号化アルゴリズムから対応する暗号化アルゴリズム１を検索し、暗号化アルゴリズム１を使用して、情報ヘッダ１からキーを復元する。
【００６１】
サーバが、第１の情報ヘッダに対応する第１の暗号化アルゴリズムを迅速に見つけることを容易にするために、サーバは、第１の暗号化アルゴリズムを使用して第１の情報ヘッダを生成する際に、第１の情報ヘッダ内に第１の暗号化アルゴリズムの識別子を含む場合がある。具体的には、サーバが、第１の暗号化アルゴリズムに従って、第１の情報ヘッダからキーを復元する前に、本方法は、
サーバが、第１の暗号化アルゴリズムの識別子に従って、第１の暗号化アルゴリズムを検索することを含んでいる。
【００６２】
たとえば、暗号化アルゴリズムの識別子は、暗号化アルゴリズムを識別するために使用される場合がある。具体的には、暗号化アルゴリズムの識別子は、識別される暗号化アルゴリズムのタイプを示すために使用される場合があるか、識別される暗号化アルゴリズムのバージョン情報を示すために使用される場合があるか、識別される暗号化アルゴリズムのタイプとバージョン情報との両方を示すために使用される場合がある。たとえば、識別子が、暗号化アルゴリズムのバージョン情報である場合、サーバは、暗号化アルゴリズムのバージョンＶ１．０の暗号化アルゴリズムを使用して、キーを暗号化し、暗号化されたキーの情報、及び、暗号化アルゴリズムのバージョンを含む情報ヘッダ｛“ＥｎｃｒｙｐｔｅｄＤａｔａ”：  ｑｂｄｕａｄａ１２３２ｊ  ａｄｆｉｊｉｊｉａｆａｄｆａｓｄｆａ７６６７７６６ａｄｆｄｓ６７７６７ｓｆ６６７ｓｄｆｈｈｆｆｓ”，  “ＥｎｃｒｙｐｔＶｅｒｓｉｏｎ”：  “１．０”｝を生成する。ここで、「ＥｎｃｒｙｐｔｅｄＤａｔａ」は、暗号化されたキーを示すために使用され、「ＥｎｃｒｙｐｔＶｅｒｓｉｏｎ」は、暗号化アルゴリズムのバージョン情報が「１．０」であることを示すために使用される。
【００６３】
対応する暗号化アルゴリズムの識別子を情報ヘッダ内に含むことが、サーバが、暗号化アルゴリズムを検索することを容易にするためのオプションの方式であることに留意されたい。識別子が存在しないことは、サーバによる暗号化アルゴリズムの円滑な検索に影響しない。
【００６４】
Ｓ２０４：サーバは、第２の情報ヘッダを取得するために、第２の暗号化アルゴリズムに従ってキーを暗号化する。
【００６５】
クライアントによって必要とされるキーを復元した後に、サーバは、キーがクライアントに送信される前に、暗号化アルゴリズムを使用してキーを暗号化し、次いで、暗号化の後に取得された第２の情報ヘッダをキーとともにクライアントに送信することができる。クライアントがサーバからキーをふたたび取得する必要がある場合、第２の情報ヘッダを、キーの取得を要求するために使用することができる。
【００６６】
いくつかのシナリオでは、このステップで使用される第２の暗号化アルゴリズムは、第１の情報ヘッダを取得するための暗号化において使用される第１の暗号化アルゴリズムと同じである場合がある。たとえば、第１の暗号化アルゴリズムは、アルゴリズムＡである。サーバが、キーを取得することを要求するために使用される第１の情報ヘッダをクライアントから受信する場合、サーバは、アルゴリズムＡが依然として比較的高い安全性を有することがサーバでは明らかであ場合、キーを暗号化するために、依然としてアルゴリズムＡを使用することができる。換言すると、第２の暗号化アルゴリズムは、依然としてアルゴリズムＡとすることができる。すなわち、第２の暗号化アルゴリズムは、第１の暗号化アルゴリズムと同じである。したがって、第２の暗号化アルゴリズムによって取得された第２の情報ヘッダも、第１の情報ヘッダと同じである場合がある。
【００６７】
いくつかのシナリオでは、第２の暗号化アルゴリズムと第１の暗号化アルゴリズムとは、異なっている場合もある。たとえば、第１の暗号化アルゴリズムは、アルゴリズムＡである。サーバが、キーを取得することを要求するために使用される第１の情報ヘッダをクライアントから受信する際か、受信する前に、サーバは、アルゴリズムＡが、攻撃者によって取得されたか、クラッキングされた場合があることを検出する。このケースでは、アルゴリズムＡが使用され続ける場合、キーの安全性が低下する。この状況では、サーバは、もはやアルゴリズムＡを使用することができず、アルゴリズムＢを、第２の暗号化アルゴリズムとして、キーの安全性を確実にするように、キーを暗号化するために使用する。アルゴリズムＢは、アルゴリズムＡの暗号化アルゴリズムとは異なるタイプの暗号化アルゴリズムである場合がある。アルゴリズムＢは、アルゴリズムＡに基づく、向上されたバージョンである場合もある。たとえば、アルゴリズムＡは、暗号化アルゴリズムのバージョン１であり、アルゴリズムＢは、この暗号化アルゴリズムのバージョン２である場合がある。
【００６８】
アルゴリズムＡが潜在的に漏洩したことをサーバが検出するシナリオでは、第１の暗号化アルゴリズムとは異なる第２の暗号化アルゴリズムを使用することに加え、サーバは、暗号化アルゴリズムを定期的に変更する方法を採用する場合もある。たとえば、サーバは、決まった時間毎に１回、暗号化アルゴリズムを変更する場合がある。第１の暗号化アルゴリズムは、決まった時間内に使用される暗号化アルゴリズムである場合があり、第２の暗号化アルゴリズムは、別の決まった時間内に使用される暗号化アルゴリズムである場合がある。このケースでは、第２の暗号化アルゴリズムは、第１の暗号化アルゴリズムとは異なるタイプの暗号化アルゴリズムである場合もあり、あるいは、第１の暗号化アルゴリズムに基づく向上されたバージョンである場合がある。
【００６９】
Ｓ２０５：サーバは、第２の情報ヘッダ及びキーをクライアントに送信する。
【００７０】
サーバは、Ｓ２０３で復元されたキーと、Ｓ２０４において、第２の暗号化アルゴリズムを使用してキーを暗号化することによって取得された第２の情報ヘッダとを、クライアントに送信する。
【００７１】
サーバは、複数の方法で、上述の情報をクライアントに送信することができる。サーバがキーを復元し、第２の情報ヘッダを得た後に、サーバは、情報をクライアントに直接送信することができる。代替的には、クライアントは、サーバにリクエストメッセージを送信する場合があり、サーバは、リクエストメッセージを受信した後に、第２の情報ヘッダ及びキーをクライアントに送信する。本出願の実施形態は、この情報を送信する方法には、いかなる限定も課さない。
【００７２】
Ｓ２０６：クライアントは、第２の情報ヘッダ及びキーをサーバから取得する。ここで、第２の情報ヘッダは、第２の暗号化アルゴリズムに従ってキーを暗号化した後にサーバによって取得される。
【００７３】
クライアントは、取得された第２の情報ヘッダをクライアントにローカルに保存し、それにより、クライアントがサーバからキーをふたたび取得する必要がある場合、保存された第２の情報ヘッダを、キーの取得のために使用することができるようになっている。
【００７４】
キーの永続的な保存によって生じるキーの漏洩を避けるために、クライアントは、概して、キーをメモリにキャッシュする。クライアントがデータを取得する場合、キーは、データを暗号化するために、メモリから回収することができる。キーの安全性をさらに向上させるために、クライアントがデータの暗号化を完了した場合、キーは、クライアントのメモリから削除することができる。
【００７５】
新たに取得されたデータが、現在のデータの暗号化が完了した後に、短時間のインターバルで暗号化する必要がある場合があることを考慮し、クライアントは、現在のデータが暗号化された後にキーが削除された場合、新たに取得されたデータを暗号化する必要がある際には、キーをふたたび取得する必要がある。
【００７６】
上述の状況を鑑み、クライアントのメモリに保存されたキーは、時間制限があるものとすることができる。時間を設定することができ、現在のデータは、クライアントによって処理される。設定された時間が過ぎた後に、キーは、新たなデータを暗号化する必要がない場合、クライアントのメモリから除去される。たとえば、クライアントは、取得されたキーをメモリに保存し、データ｛Ａ１，Ａ２，Ａ３｝を暗号化するためにキーを使用する。その処理が完了した後に、１０秒待たれる。この１０秒の内に新たなデータが処理されない場合、キーは削除される。
【００７７】
同様に、クライアントがデータを解読する必要がある場合、取得されたキーは、メモリに保存することもでき、時間が設定される。設定された時間が過ぎた後に、暗号化するべきデータがない場合、キーは、クライアントのメモリから削除される。
【００７８】
時間は、クライアントによって予め設定される場合があるか、クライアントがデータを処理する必要がある際に設定される場合がある。このことは、本出願の実施形態では限定されない。設定された時間の長さは、実際の動作の安全性に従って選択することができ、このことには限定が課されない。
【００７９】
取得されたキーをクライアントのメモリに保存し、キーの保存時間を限定する時間を設定することにより、キーの安全性が補償されている前提の下では、クライアント及びサーバの作業負荷が低減され、データの暗号化または解読の作業効率が完全に向上する。
【００８０】
さらに、キーがクライアントのメモリに保存される期間の間、クライアントは、クライアントが、異常な状況、たとえば、クライアントが違法に攻撃されていることを検出した場合、データの安全性を確実にするために、保存されたキーを直接削除することができる。
【００８１】
Ｓ２０６では、クライアントは、取得された第２の情報ヘッダをローカルに保存する。クライアントが、サーバからキーをふたたび取得する必要がある場合、第２の情報ヘッダを、キーの取得を要求するために使用する場合がある。しかし、クライアントが、第１の情報ヘッダをローカルに保存していることから、このことは、クライアントが、キーを取得することを要求するための情報ヘッダを送信した際に、混乱を生じる場合がある。たとえば、クライアントは、第１の情報ヘッダを依然として使用し、キーを取得するためのリクエストをサーバに送信する場合がある。
【００８２】
上述の問題を避けるために、クライアントが第２の情報ヘッダ及びキーをサーバから得た後に、クライアントは、第２の情報ヘッダをローカルに保存し、第１の情報ヘッダをローカルで削除する場合がある。たとえば、クライアントは、暗号化アルゴリズムＡを使用してキーを暗号化した後に取得された情報ヘッダ１をローカルに保存する。暗号化アルゴリズムＢを使用してキーを暗号化した後に取得された情報ヘッダ２をサーバがクライアントに送信した場合、クライアントは、情報ヘッダ１をローカルで削除し、情報ヘッダ２をローカルに保存することができる。このことは、クライアントに、もっとも新しく受信された情報ヘッダのみを保存させ、こうして、安全性を向上させる。
【００８３】
第２の情報ヘッダを得た後に、クライアントは、第２の情報ヘッダを保存し、第１の情報ヘッダを削除する。したがって、クライアントは、ローカルに保存された第２の情報ヘッダを使用して、キーを取得するためのリクエストを直接送信することができる。
【００８４】
上述から見ることができるように、本実施形態によって提供されるキーの暗号化方法では、クライアントは、キーを暗号化するために使用される暗号化アルゴリズムを保存しないが、暗号化アルゴリズムによって暗号化された情報ヘッダのみを保存し、それにより、クライアントが攻撃された場合であっても、攻撃者が、情報ヘッダを解読するために使用される暗号化アルゴリズムを直接取得することができないようになっており、こうして、クライアントのキーの安全性が向上する。取得されたデータを暗号化するためにキーを使用する必要がある場合、クライアントは、サーバからキーを要求するために、保存された第１の情報ヘッダを使用することができ、より高い安全性を有するサーバは、保存された第１の暗号化アルゴリズムに基づき、キーを復元する。クライアントは、サーバから取得されたキーを使用してデータを暗号化することができ、それにより、クライアントは、暗号化アルゴリズムを保存することなく、取得されたデータの安全性を確実にすることができる。
【００８５】
前述の実施形態に関し、クライアントが、情報ヘッダをサーバに送信することによってキーを取得することを要求する前に、クライアントは、情報ヘッダをローカルに保存している場合がある。その場合、上述の操作は、直接実施することができる。代替的には、情報ヘッダは、クライアントにローカルに保存されていない場合があり、情報ヘッダは、上述の操作が実施される前に、最初にサーバから取得する必要がある。したがって、情報ヘッダがクライアントにローカルに保存されているかの判定も、Ｓ２０１の前に加えられる場合がある。図３に示すように、クライアントが、キーを取得することを要求するために使用される第１の情報ヘッダをサーバに送信する前に、本方法は、以下をさらに含んでいる。
【００８６】
Ｓ３０１：クライアントが、情報ヘッダがローカルに保存されているかを判定し、ローカルに保存されていない場合、プロセスはＳ３０２に進行する。
【００８７】
クライアントが、キーを取得することを要求するために情報ヘッダを送信する前に、情報ヘッダがクライアントにローカルに保存されているかに関し、最初に判定される場合がある。保存されていない場合、情報ヘッダを取得する必要がある。情報ヘッダが保存されている場合、保存されている情報ヘッダは、第１の情報ヘッダとして使用することができ、キーを取得することを要求するために使用される第１の情報ヘッダをサーバに送信するステップが実施される。
【００８８】
情報ヘッダがクライアントにローカルに保存されていない複数の理由が存在する。クライアントは、最初に、データ上で暗号化操作を実施する必要がある場合があり、以前にキーを取得することは要求されていない。したがって、キーに対応する情報ヘッダは、クライアントにローカルに保存されていない。また、クライアントにローカルに保存された情報ヘッダは、ミスなどによる削除などの理由に起因して、削除されている場合があり、このため、ローカルに保存された情報ヘッダが失われる。
【００８９】
Ｓ３０２：クライアントは、キーを取得することのリクエストをサーバに送信する。
【００９０】
情報ヘッダがクライアントに保存されていない場合、キーを取得するために送信することができる情報ヘッダはない。このケースでは場合、クライアントがキーを取得する必要がある場合、クライアントは、キーを取得することのリクエストをサーバに送信することができる。
【００９１】
Ｓ３０３：サーバは、クライアントによって送信された、キーを取得することのリクエストを取得する。
【００９２】
Ｓ３０４：サーバは、ランダムに生成されたキーストリングをキーとして使用する。
【００９３】
本発明では、クライアントによって使用されるキーは、サーバによって生成され得る。サーバは、個別のクライアントに関する対応するキーを生成するか、１つの生成されたキーを複数のクライアントにアサインすることができる。キーのクラッキングの困難性を向上させるために、サーバは、文字のストリングをキーとしてランダムに生成することができる。たとえば、サーバは、数字（０−９）、アルファベット（Ａ−Ｚ）、及びシンボル「−」をランダムに合わせて、キーとして使用されるキーストリング３４４Ａ２Ｆ６Ｆ−ＤＢ６２−ＤＥ４５−ＢＥＦ１−４Ａ４９Ｅ８９ＦＢ７ＣＥを提供することができる。
【００９４】
キーストリングのランダムな生成により、キーのクラッキングの複雑さが向上し、キーの安全性をさらに確実にする。
【００９５】
キーをランダムに生成することが、オプションの方法であり、また、キーを生成する方法が、本出願の実施形態に限定されないことに留意されたい。
【００９６】
Ｓ３０５：サーバは、第１の情報ヘッダを取得するために、第１の暗号化アルゴリズムを使用してキーを暗号化する。
【００９７】
サーバが、後の操作で、第１の情報ヘッダに対応する第１の暗号化アルゴリズムを迅速に見つけることを容易にするために、サーバは、第１の情報ヘッダが取得された場合、第１の情報ヘッダ内に第１の暗号化アルゴリズムの識別子を含む場合がある。このステップは、暗号化アルゴリズムの識別子が情報ヘッダに含まれている点で、Ｓ２０３に類似であり、その詳細は、本明細書では繰返し記載しない。
【００９８】
Ｓ３０６：サーバは、第１の情報ヘッダ及びキーをクライアントに送信する。
【００９９】
サーバは、情報ヘッダ及びキーを、安全なチャンネルを通してクライアントに送信することができる。送信方法は、Ｓ２０５における、サーバによるキー及び情報ヘッダの、クライアントへの送信方法に類似であり、その詳細は、本明細書では繰返し記載しない。
【０１００】
Ｓ３０７：クライアントは、第１の情報ヘッダ及びキーをサーバから取得し、第１の情報ヘッダをローカルに保存する。
【０１０１】
クライアントは、取得された情報ヘッダをクライアントにローカルに保存し、それにより、キーを取得することを要求するための情報ヘッダを、キーを取得する必要がある場合に、次にサーバに直接送信することができるようになっており、また、Ｓ３０１からＳ３０７の操作は、ふたたび実施する必要はなく、こうして、キーの暗号化の作業効率が向上する。
【０１０２】
クライアントは、メモリに取得されたキーを保存する。この操作は、Ｓ２０６における、取得されたキーの保存に類似しており、その詳細は、本明細書では繰返し記載しない。
【０１０３】
図４は、本開示の実施形態に係る、キーの暗号化システムの構造的システムの図である。本システムは、クライアント４０１及びサーバ４０２を含んでいる。
【０１０４】
クライアント４０１は、キーを取得することを要求するために使用される第１の情報ヘッダをサーバに送信することであって、このキーが、クライアントによって取得されるデータ、第１の情報を暗号化するために、クライアントによって使用されるキーであり、第１の情報ヘッダが、第１の暗号化アルゴリズムを使用してキーを暗号化した後にサーバによって取得される、送信することと、第２の情報ヘッダ及びキーをサーバから取得することであって、第２の情報ヘッダが、第２の暗号化アルゴリズムに基づいてキーを暗号化した後にサーバによって取得される、取得することと、を行うように構成されている。
【０１０５】
サーバ４０２は、キーを取得することを要求するために使用される第１の情報ヘッダをクライアントから取得することと、第１の暗号化アルゴリズムに基づき、第１の情報ヘッダからキーを復元することと、第２の情報ヘッダを取得するために、第２の暗号化アルゴリズムに基づき、キーを暗号化することと、第２の情報ヘッダ及びキーをクライアントに送信することと、を行うように構成されている。
【０１０６】
図４における対応する実施形態の特徴は、図１から図３の対応する実施形態における関連する特徴の関連する記載を参照することができ、その詳細が、本明細書では繰返し記載されないことに留意されたい。
【０１０７】
見ることができるように、クライアントは、キーを暗号化するために使用される暗号化アルゴリズムを保存しないが、暗号化アルゴリズムによって暗号化された情報ヘッダのみを保存し、それにより、クライアントが攻撃された場合であっても、攻撃者が、情報ヘッダを解読するために使用される暗号化アルゴリズムを直接取得することができないようになっており、こうして、クライアントのキーの安全性が向上する。取得されたデータを暗号化するためにキーを使用する必要がある場合、クライアントは、サーバからキーを要求するために、保存された第１の情報ヘッダを使用することができ、より高い安全性を有するサーバは、保存された第１の暗号化アルゴリズムに基づき、キーを復元する。クライアントは、サーバから取得されたキーを使用してデータを暗号化することができ、それにより、クライアントは、暗号化アルゴリズムを保存することなく、取得されたデータの安全性を確実にすることができる。
【０１０８】
図５は、本開示の実施形態に係る、キーの暗号化装置の構造的装置の図である。本装置は、送信ユニット５０１及び受信ユニット５０２を含んでいる。
【０１０９】
送信ユニット５０１は、キーを取得することを要求するために使用される第１の情報ヘッダをサーバに送信することであって、このキーが、クライアントによって取得されるデータを暗号化するために、クライアントによって使用されるキーであり、第１の情報ヘッダは、第１の暗号化アルゴリズムを使用してキーを暗号化した後にサーバによって取得される、送信することを行うように構成されている。
【０１１０】
受信ユニット５０２は、第２の情報ヘッダ及びキーをサーバから取得するように構成されており、第２の情報ヘッダは、第２の暗号化アルゴリズムに基づいてキーを暗号化した後にサーバによって取得される。
【０１１１】
任意選択的には、本装置は、判定ユニットをさらに含んでいる。
【０１１２】
判定ユニットは、情報ヘッダがローカルに保存されているかを判定することと、保存されていない場合に、キーを取得することのリクエストをサーバに送信することと、第１の情報ヘッダ及びキーをサーバから取得することと、第１の情報ヘッダをローカルに保存することと、を行うように構成されている。
【０１１３】
任意選択的には、判定ユニットは、情報ヘッダが保存されている場合に、保存されている情報ヘッダを第１の情報ヘッダとして使用することと、送信ユニットを駆動させることと、を行うようにさらに構成されている。
【０１１４】
任意選択的には、受信ユニットは、第２の情報ヘッダをローカルに保存することと、第１の情報ヘッダをローカルで削除することと、を行うようにさらに構成されている。
【０１１５】
任意選択的には、第１の暗号化アルゴリズムは、第２の暗号化アルゴリズムとは異なっている。
【０１１６】
任意選択的には、受信ユニットは、キーをメモリ内に保存するようにさらに構成されている。
【０１１７】
図５における対応する実施形態の特徴は、図１から図３の対応する実施形態における関連する特徴の関連する記載を参照することができ、その詳細が、本明細書では繰返し記載されないことに留意されたい。
【０１１８】
見ることができるように、クライアントは、キーを暗号化するために使用される暗号化アルゴリズムを保存しないが、暗号化アルゴリズムによって暗号化された情報ヘッダのみを保存し、それにより、クライアントが攻撃された場合であっても、攻撃者が、情報ヘッダを解読するために使用される暗号化アルゴリズムを直接取得することができないようになっており、こうして、クライアントのキーの安全性が向上する。取得されたデータを暗号化するためにキーを使用する必要がある場合、クライアントは、サーバからキーを要求するために、保存された第１の情報ヘッダを使用することができ、より高い安全性を有するサーバは、保存された第１の暗号化アルゴリズムに基づき、キーを復元する。クライアントは、サーバから取得されたキーを使用してデータを暗号化することができ、それにより、クライアントは、暗号化アルゴリズムを保存することなく、取得されたデータの安全性を確実にすることができるようになっている。
【０１１９】
図６は、本開示の実施形態に係る、キーの暗号化装置の構造的装置の図である。本装置は、取得ユニット６０１、復元ユニット６０２、生成ユニット６０３、及び送信ユニット６０４を含んでいる。
【０１２０】
取得ユニット６０１は、キーを取得することを要求するために使用される第１の情報ヘッダをクライアントから取得することであって、このキーが、クライアントによって取得されるデータを暗号化するために、クライアントによって使用されるキーであり、第１の情報ヘッダが、第１の暗号化アルゴリズムを使用してキーを暗号化した後にサーバによって取得される、取得することを行うように構成されている。
【０１２１】
復元ユニット６０２は、第１の暗号化アルゴリズムに基づき、第１の情報ヘッダからキーを復元するように構成されている。
【０１２２】
生成ユニット６０３は、第２の情報ヘッダを取得するために、第２の暗号化アルゴリズムに基づき、キーを暗号化するように構成されている。
【０１２３】
送信ユニット６０４は、第２の情報ヘッダ及びキーをクライアントに送信するように構成されている。
【０１２４】
任意選択的には、第１の情報ヘッダが、第１の暗号化アルゴリズムの識別子をさらに含んでおり、復元ユニットは、第１の暗号化アルゴリズムの識別子に従って、第１の暗号化アルゴリズムを検索するようにさらに構成されている。
【０１２５】
任意選択的には、取得ユニットは、クライアントによって送信された、キーを取得することのリクエストを取得することと、ランダムに生成されたキーストリングをキーとして使用することと、第１の情報ヘッダを取得するために、第１の暗号化アルゴリズムを使用してキーを暗号化することと、第１の情報ヘッダ及びキーをクライアントに送信することと、を行うようにさらに構成されている。
【０１２６】
任意選択的には、第１の暗号化アルゴリズムは、第２の暗号化アルゴリズムとは異なっている。
【０１２７】
図６における対応する実施形態の特徴は、図１から図３の対応する実施形態における関連する特徴の関連する記載を参照することができ、その詳細が、本明細書では繰返し記載されないことに留意されたい。
【０１２８】
見ることができるように、クライアントは、キーを暗号化するために使用される暗号化アルゴリズムを保存しないが、暗号化アルゴリズムによって暗号化された情報ヘッダのみを保存し、それにより、クライアントが攻撃された場合であっても、攻撃者が、情報ヘッダを解読するために使用される暗号化アルゴリズムを直接取得することができないようになっており、こうして、クライアントのキーの安全性が向上する。取得されたデータを暗号化するためにキーを使用する必要がある場合、クライアントは、サーバからキーを要求するために、保存された第１の情報ヘッダを使用することができ、より高い安全性を有するサーバは、保存された第１の暗号化アルゴリズムに基づき、キーを復元する。クライアントは、サーバから取得されたキーを使用してデータを暗号化することができ、それにより、クライアントは、暗号化アルゴリズムを保存することなく、取得されたデータの安全性を確実にすることができる。
【０１２９】
当業者は、前述の方法の実施形態の各ステップのすべて、または一部を、関連するハードウェアに指示するプログラムによって実施することができることを理解することができる。プログラムは、コンピュータ読取り可能な記憶媒体に保存されている場合がある。プログラムは、実施される場合、前述の方法の実施形態の各ステップを実施する。記憶媒体は、リードオンリメモリ（英語：ｒｅａｄ−ｏｎｌｙ  ｍｅｍｏｒｙ、略語：ＲＯＭ）、ＲＡＭ、磁気ディスク、または光学ディスクなどの、プログラムコードを保存することができる様々なタイプの媒体の少なくとも１つである場合がある。
【０１３０】
本明細書における様々な実施形態が、漸進的な方式で記載されており、実施形態間の同じ部分及び類似の部分が、互いに参照され得ることに留意されたい。各実施形態は、他の実施形態の態様とは異なる態様に注目している。具体的には、その方法の実施形態に対する基本的な類似性に起因して、装置及びシステムの実施形態の記載は、比較的シンプルである。関連する部分は、方法の実施形態の対応する部分の記載を参照することができる。上述の装置及びシステムの実施形態は、単に説明的ものである。別々の構成要素として説明されているユニットは、物理的に分かれている場合があるか、分かれていない場合がある。ユニットとして表示されている構成要素は、物理的ユニットであるか、物理的ユニットではない場合があり、すなわち、単一の場所に位置する場合があるか、複数のネットワークユニット間で分配されている場合がある。モジュールのいくつかまたはすべては、本実施形態の解決策の目的を達成するために、実際の要請に応じて選択され得る。当業者は、発明的な作業を行うことなく、理解及び実施をすることができる。
【０１３１】
上述の記載は、本発明の好ましい実施形態を記載するのみであるが、本発明の保護の範囲は、これらに限定されない。本発明によって開示される技術的範囲内にある、当業者によって考えられ得る、変更または代替は、本発明の保護の範囲によってカバーされるものとする。したがって、本発明の保護の範囲が、添付の特許請求の範囲の範囲によって判定されるものとする。
【図１】
2020510353.tif 000003
【図２】
2020510353.tif 000004
【図３】
2020510353.tif 000005
【図４】
2020510353.tif 000006
【図５】
2020510353.tif 000007
【図６】
2020510353.tif 000008
【手続補正書】
【提出日】令和1年9月18日(2019.9.18)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
クライアントと、サーバと、を備えた、キー暗号化システムであって、
前記クライアントは、
キーを取得することを要求するために使用される第１の情報ヘッダを前記サーバに送信し、前記キーが、前記クライアントによって取得されるデータを暗号化するために前記クライアントによって使用されるキーであり、前記第１の情報ヘッダが、第１の暗号化アルゴリズムを使用して前記キーを暗号化した後に前記サーバによって取得され、および
第２の情報ヘッダと前記キーとを前記サーバから取得し、前記第２の情報ヘッダが、第２の暗号化アルゴリズムに基づいて前記キーを暗号化した後に前記サーバによって取得される、ように構成され、
前記サーバは、
前記キーを取得することを要求するために使用される前記第１の情報ヘッダを前記クライアントから取得し、
前記第１の暗号化アルゴリズムに基づいて前記第１の情報ヘッダから前記キーを復元し、
前記第２の情報ヘッダを取得するために前記第２の暗号化アルゴリズムに基づいて前記キーを暗号化し、および
前記第２の情報ヘッダと前記キーとを前記クライアントに送信する、ように構成される、
キー暗号化システム。
【請求項２】
キーを取得することを要求するために使用される第１の情報ヘッダをサーバにクライアントが送信することであって、前記キーが、前記クライアントによって取得されるデータを暗号化するために前記クライアントによって使用されるキーであり、前記第１の情報ヘッダが、第１の暗号化アルゴリズムを使用して前記キーを暗号化した後に前記サーバによって取得される、ことと、
第２の情報ヘッダ及び前記キーを前記サーバから前記クライアントが取得することであって、前記第２の情報ヘッダが、第２の暗号化アルゴリズムに基づいて前記キーを暗号化した後に前記サーバによって取得される、ことと、
を含む、キー暗号化方法。
【請求項３】
前記キーを取得することを要求するために使用される前記第１の情報ヘッダを前記サーバに前記クライアントが前送信する前に、
情報ヘッダがローカルに保存されているかを前記クライアントが判定することと、
保存されていないならばキーの取得のリクエストを前記サーバに前記クライアントが送信することと、
前記第１の情報ヘッダ及び前記キーを前記サーバから前記クライアントが取得することと、
前記第１の情報ヘッダをローカルに前記クライアントが保存することと、
をさらに含む、請求項２に記載のキー暗号化方法。
【請求項４】
前記情報ヘッダがローカルに保存されているかを前記クライアントが判定することは、
前記情報ヘッダが保存されているならば、前記クライアントが、前記保存された情報ヘッダを前記第１の情報ヘッダとして使用し、前記キーを取得することを要求するために使用される前記第１の情報ヘッダを前記サーバに送信するステップを実施することを含む、請求項３に記載のキー暗号化方法。
【請求項５】
前記第２の情報ヘッダ及び前記キーを前記サーバから前記クライアントが取得した後に、
前記クライアントが、前記第２の情報ヘッダをローカルに保存し、前記第１の情報ヘッダをローカルに削除することをさらに含む、請求項２に記載のキー暗号化方法。
【請求項６】
前記第１の暗号化アルゴリズムが、前記第２の暗号化アルゴリズムとは異なる、請求項２ないし５のいずれか一項に記載のキー暗号化方法。
【請求項７】
前記キーをメモリ内に前記クライアントが記録することをさらに含む、
請求項２ないし５のいずれか一項に記載のキー暗号化方法。
【請求項８】
送信ユニットと、受信ユニットと、を備えたキー暗号化装置であって、
前記送信ユニットは、キーを取得することを要求するために使用される第１の情報ヘッダをサーバに送信するよう構成され、前記キーが、クライアントによって取得されるデータを暗号化するために前記クライアントによって使用されるキーであり、前記第１の情報ヘッダが、第１の暗号化アルゴリズムを使用して前記キーを暗号化した後に前記サーバによって取得され、
前記受信ユニットは、第２の情報ヘッダ及び前記キーを前記サーバから取得するよう構成され、前記第２の情報ヘッダが、第２の暗号化アルゴリズムに基づいて前記キーを暗号化した後に前記サーバによって取得される、
キー暗号化装置。
【請求項９】
判定ユニットをさらに備え、
前記判定ユニットは、情報ヘッダがローカルに保存されているかを判定し、保存されていないならばキーの取得のリクエストを前記サーバに送信し、前記第１の情報ヘッダ及び前記キーを前記サーバから取得し、前記第１の情報ヘッダをローカルに保存するように構成される、請求項８に記載のキー暗号化装置。
【請求項１０】
前記判定ユニットは、前記情報ヘッダが保存されているならば前記保存された情報ヘッダを前記第１の情報ヘッダとして使用し、前記送信ユニットを駆動させるようにさらに構成される、請求項９に記載のキー暗号化装置。
【請求項１１】
前記受信ユニットは、前記第２の情報ヘッダをローカルに保存し、前記第１の情報ヘッダをローカルに削除するようにさらに構成される、請求項８に記載のキー暗号化装置。
【請求項１２】
前記第１の暗号化アルゴリズムが、前記第２の暗号化アルゴリズムとは異なる、請求項８ないし１１のいずれか一項に記載のキー暗号化装置。
【請求項１３】
前記受信ユニットは、前記キーをメモリ内に保存するようにさらに構成される、請求項８ないし１２のいずれか一項に記載のキー暗号化装置。
【請求項１４】
キーを取得することを要求するために使用される第１の情報ヘッダをクライアントからサーバが取得することであって、前記キーが、前記クライアントによって取得されるデータを暗号化するために前記クライアントによって使用されるキーであり、前記第１の情報ヘッダが、第１の暗号化アルゴリズムを使用して前記キーを暗号化した後に前記サーバによって取得される、ことと、
前記第１の暗号化アルゴリズムに基づいて前記第１の情報ヘッダから前記キーを前記サーバが復元することと、
第２の情報ヘッダを取得するために第２の暗号化アルゴリズムに基づいて前記キーを前記サーバが暗号化することと、
前記第２の情報ヘッダ及び前記キーを前記クライアントに前記サーバが送信することと、
を含む、キー暗号化方法。
【請求項１５】
前記第１の情報ヘッダが、前記第１の暗号化アルゴリズムの識別子をさらに含み、前記第１の暗号化アルゴリズムに基づいて前記第１の情報ヘッダから前記キーを前記サーバが復元する前に、
前記第１の暗号化アルゴリズムの前記識別子に従って前記第１の暗号化アルゴリズムを前記サーバが検索することをさらに含む、請求項１４に記載のキー暗号化方法。
【請求項１６】
前記キーを取得することを要求するために使用される前記第１の情報ヘッダを前記クライアントから前記サーバが取得する前に、
前記クライアントによって送信されたキーの取得のリクエストを前記サーバが取得することと、
ランダムに生成されたキーストリングを前記キーとして前記サーバが使用することと、
前記第１の情報ヘッダを取得するために前記第１の暗号化アルゴリズムを使用して前記キーを前記サーバが暗号化することと、
前記第１の情報ヘッダ及び前記キーを前記クライアントに前記サーバが送信することと、
をさらに含む、請求項１４に記載のキー暗号化方法。
【請求項１７】
前記第１の暗号化アルゴリズムが、前記第２の暗号化アルゴリズムとは異なる、請求項１４ないし請求項１６のいずれか一項に記載のキー暗号化方法。
【請求項１８】
取得ユニットと、復元ユニットと、生成ユニットと、送信ユニットとを備えたキー暗号化装置であって、
前記取得ユニットは、キーを取得することを要求するために使用される第１の情報ヘッダをクライアントから取得し、前記キーが、前記クライアントによって取得されるデータを暗号化するために前記クライアントによって使用されるキーであり、前記第１の情報ヘッダが、第１の暗号化アルゴリズムを使用して前記キーを暗号化した後にサーバによって取得されるように構成され、
前記復元ユニットが、前記第１の暗号化アルゴリズムに基づいて前記第１の情報ヘッダから前記キーを復元するように構成され、
前記生成ユニットが、第２の情報ヘッダを取得するために第２の暗号化アルゴリズムに基づいて前記キーを暗号化するように構成され、
前記送信ユニットが、前記第２の情報ヘッダ及び前記キーを前記クライアントに送信するように構成される、
キー暗号化装置。
【請求項１９】
前記第１の情報ヘッダが、前記第１の暗号化アルゴリズムの識別子をさらに含み、前記復元ユニットは、前記第１の暗号化アルゴリズムの前記識別子に従って前記第１の暗号化アルゴリズムを検索するようにさらに構成される、請求項１８に記載のキー暗号化装置。
【請求項２０】
前記取得ユニットは、前記クライアントによって送信されたキーの取得のリクエストを取得し、ランダムに生成されたキーストリングを前記キーとして使用し、前記第１の情報ヘッダを取得するために前記第１の暗号化アルゴリズムを使用して前記キーを暗号化し、前記第１の情報ヘッダ及び前記キーを前記クライアントに送信するようにさらに構成される、請求項１８に記載のキー暗号化装置。
【請求項２１】
前記第１の暗号化アルゴリズムは、前記第２の暗号化アルゴリズムとは異なる、請求項１８ないし２０のいずれか一項に記載のキー暗号化装置。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００４７
【補正方法】変更
【補正の内容】
【００４７】
キーは、暗号文へとデータを暗号化するプロセス、または、暗号文からデータを復元するプロセスにおいて使用される暗号化パラメータとすることができる。たとえば、クライアントは、取得されたデータ｛Ａ１，Ａ２，Ａ３｝を、キーを使用して暗号文｛Ｂ１，Ｂ２，Ｂ３｝へと暗号化し、それを保存することができる。ユーザがデータを読む必要がある場合、保存された暗号文｛Ｂ１，Ｂ２，Ｂ３｝を、キーを使用してデータ｛Ａ１，Ａ２，Ａ３｝に解読することができる。
【国際調査報告】
2020510353.tif 000009
2020510353.tif 000010
2020510353.tif 000011
2020510353.tif 000012