(57)【特許請求の範囲】
【請求項１】
電子装置のためのデータ暗号化方法であって、
前記電子装置に対応する識別コードを生成するステップと、
前記電子装置に対応する前記識別コードに基づいて一時鍵を生成するステップと、
前記一時鍵及び第１の暗号化メカニズムを用いて第１のデータを暗号化することによって、第１の秘密鍵を生成するステップと、
第２の暗号化メカニズムを用いて前記第１の秘密鍵を暗号化することによって、被暗号化鍵を生成するステップとを含み、
前記第２の暗号化メカニズムがＳボックスによって実現され、該Ｓボックスのデータが、隠蔽メカニズムによってポータブル実行可能ファイルのコードセグメントに隠蔽され、
前記ポータブル実行可能ファイルは、前記コードセグメントとデータセグメントとを有し、前記Ｓボックスのデータは、前記データセグメントには格納されず、
前記被暗号化鍵を生成するステップが、
前記ポータブル実行可能ファイルの前記コードセグメントから取り出した前記Ｓボックスのデータから、前記Ｓボックスとして前記第２の暗号化メカニズムを実現するステップを含むことを特徴とするデータ暗号化方法。
【請求項２】
前記識別コードを生成するステップが、
前記電子装置に外部ストレージ装置を接続するステップと、
前記外部ストレージ装置の第１の識別コードを取得するステップと、
前記外部ストレージ装置の前記第１の識別コードに基づいて、前記電子装置に対応する前記識別コードを生成するステップを含むことを特徴とする請求項１に記載のデータ暗号化方法。
【請求項３】
前記外部ストレージ装置の前記第１の識別コードが、前記外部ストレージ装置内のソフトウェアによって付与されることを特徴とする請求項２に記載のデータ暗号化方法。
【請求項４】
前記識別コードを生成するステップが、
前記電子装置の第２の識別コードを取得するステップと、
前記外部ストレージ装置の前記第１の識別コード及び前記電子装置の前記第２の識別コードに基づいて、前記電子装置に対応する前記識別コードを生成するステップをさらに含むことを特徴とする請求項２に記載のデータ暗号化方法。
【請求項５】
前記電子装置の前記第２の識別コードが、前記電子装置内のプロセッサのプロセッサ識別コードであることを特徴とする請求項４に記載のデータ暗号化方法。
【請求項６】
前記識別コードを生成するステップが、
前記外部ストレージ装置からクライアント識別コードを取得するステップと、
前記外部ストレージ装置の前記第１の識別コード、前記電子装置の前記第２の識別コード及び前記クライアント識別コードに基づいて、前記電子装置に対応する前記識別コードを生成するステップをさらに含むことを特徴とする請求項４に記載のデータ暗号化方法。
【請求項７】
前記第１のデータがデータ暗号化鍵であり、
前記電子装置が、前記データ暗号化鍵に基づいてデータを暗号化することを特徴とする請求項１に記載のデータ暗号化方法。
【請求項８】
前記第１のデータが前記外部ストレージ装置に保存され、前記被暗号化鍵が生成されかつ前記外部ストレージ装置に保存された後に、前記第１のデータが前記外部ストレージ装置から削除されることを特徴とする請求項２に記載のデータ暗号化方法。
【請求項９】
前記Ｓボックスが１６進数データで構成され、
前記隠蔽メカニズムが、
前記Ｓボックス内の１６進数データを再符号化して２進数データを生成し、
再符号化後の前記２進数データを、前記ポータブル実行可能ファイルの前記コードセグメントに隠蔽することを特徴とする請求項１に記載のデータ暗号化方法。
【請求項１０】
前記ポータブル実行可能ファイルが、ダイナミックリンクライブラリであることを特徴とする請求項１に記載のデータ暗号化方法。
【請求項１１】
データ暗号化システムであって、
電子装置と、
データ暗号化モジュールとを含み、該データ暗号化モジュールが、
前記電子装置に対応する識別コードを生成する識別コード生成ユニットと、
前記電子装置に対応する前記識別コードに基づいて一時鍵を生成する一時鍵生成ユニットと、
前記一時鍵を用いて第１のデータを暗号化することによって第１の秘密鍵を生成する第１の暗号化ユニットと、
前記第１の秘密鍵を暗号化することによって被暗号化鍵を生成する第２の暗号化ユニットとを含み、
前記第２の暗号化ユニットが、Ｓボックスを用いて前記第１の秘密鍵を暗号化し、
前記Ｓボックスのデータが、隠蔽メカニズムによってポータブル実行可能ファイルのコードセグメントに隠蔽されるようにし、
前記ポータブル実行可能ファイルは、前記コードセグメントとデータセグメントとを有し、前記Ｓボックスのデータは、前記データセグメントには格納されず、
前記第２の暗号化ユニットが、前記ポータブル実行可能ファイルの前記コードセグメントから取り出した前記Ｓボックスのデータから前記Ｓボックスを構成することを特徴とするデータ暗号化システム。
【請求項１２】
前記第１のデータがデータ暗号化鍵であり、
前記電子装置が、前記データ暗号化鍵に基づいてデータを暗号化するようにしたことを特徴とする請求項１１に記載のデータ暗号化システム。
【請求項１３】
前記電子装置が外部ストレージ装置に接続し、該外部ストレージ装置が第１の識別コードを有し、
前記電子装置が第２の識別コードを有し、
前記識別コード生成ユニットが、前記外部ストレージ装置の前記第１の識別コード及び前記電子装置の前記第２の識別コードに基づいて、前記電子装置に対応する前記識別コードを生成するようにしたことを特徴とする請求項１１に記載のデータ暗号化システム。
【請求項１４】
前記外部ストレージ装置の前記第１の識別コードが、前記外部ストレージ装置内のソフトウェアによって付与されるものであり、
前記電子装置の前記第２の識別コードが、前記電子装置内のプロセッサのプロセッサ識別コードであることを特徴とする請求項１３に記載のデータ暗号化システム。
【請求項１５】
前記外部ストレージ装置がクライアント識別コードをさらに保存し、
前記電子装置に対応する前記識別コードが、前記外部ストレージ装置の前記第１の識別コード、前記電子装置の前記第２の識別コード及び前記クライアント識別コードに基づいて生成されるようにしたことを特徴とする請求項１３に記載のデータ暗号化システム。
【請求項１６】
前記被暗号化鍵が生成されかつ前記外部ストレージ装置に保存された後に、前記第１のデータが前記外部ストレージ装置から削除されるようにしたことを特徴とする請求項１３に記載のデータ暗号化システム。
【請求項１７】
前記Ｓボックスが１６進数データで構成され、
前記隠蔽メカニズムが、
前記Ｓボックスの１６進数データを再符号化して２進数データを生成し、
再符号化後の前記２進数データを、前記ポータブル実行可能ファイルの前記コードセグメントに隠蔽するようにしたことを特徴とする請求項１１に記載のデータ暗号化システム。
【請求項１８】
前記ポータブル実行可能ファイルが、ダイナミックリンクライブラリであることを特徴とする請求項１１に記載のデータ暗号化システム。
【請求項１９】
電子装置のためのデータ復号方法であって、
前記電子装置に対応する識別コードを生成するステップと、
前記識別コードに基づいて一時鍵を生成するステップと、
第２の復号メカニズムを用いて被暗号化鍵を復号することによって、第１の秘密鍵を取得するステップと、
前記一時鍵及び第１の復号メカニズムを用いて前記第１の秘密鍵を復号することによって、第１のデータを生成するステップとを含み、
前記第２の復号メカニズムが逆Ｓボックスによって実現され、該逆Ｓボックスのデータが、隠蔽メカニズムによってポータブル実行可能ファイルのコードセグメントに隠蔽され、
前記ポータブル実行可能ファイルは、前記コードセグメントとデータセグメントとを有し、前記逆Ｓボックスのデータは、前記データセグメントには格納されず、
前記第１の秘密鍵を取得するステップが、
前記ポータブル実行可能ファイルの前記コードセグメントから取り出した前記逆Ｓボックスのデータから、前記逆Ｓボックスとして前記第２の復号メカニズムを実現するステップを含むことを特徴とするデータ復号方法。
【請求項２０】
前記逆Ｓボックスが１６進数データで構成され、
前記隠蔽メカニズムが、
前記逆Ｓボックスの１６進数データを再符号化して２進数データを生成し、
再符号化後の前記２進数データを、前記ポータブル実行可能ファイルの前記コードセグメントに隠蔽することを特徴とする請求項１９に記載のデータ復号方法。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願の相互参照
【０００２】
本願は、２０１１年３月２８日に出願した中国特許出願第２０１１１００７４９３７．Ｘ号に基づく優先権を主張する。該特許出願の明細書（特許文献１）は、全文を引用することを以て本明細書の一部となす。
【０００３】
技術分野
【０００４】
本発明は、データ暗号化方法に関し、詳細には、電子装置と外部ストレージ装置の間のデータ暗号化方法に関する。
【背景技術】
【０００５】
コンピュータの普及に伴い、ますます多くのユーザがコンピュータシステム内に個人データを保存している。コンピュータに保存されたデータは、何らかの保護メカニズムによって保護されていなければ、盗まれる可能性がある。また、インターネットがどんどん普及している今日では、ハッカーがインターネット接続を介してユーザのコンピュータ内のデータを簡単に盗んでしまう。従って、コンピュータ内に保存されたデータを如何に保護するかは重要な課題である。
【０００６】
一般的に、ユーザは、何らかの暗号化技術によってデータを暗号化することができる。こうしておけば、たとえ被暗号化データが漏洩しても、正しいパスワードがなければ被暗号化データを正しく復号することができず、ハッカーや泥棒は、被暗号化データの正しいコンテンツにアクセスすることができないので、データの安全性が確保される。現行の暗号化技術の大部分は、ユーザにパスワードの入力を要求し、パスワードに基づいてデータを暗号化する。ユーザは、被暗号化データを復号したいとき、元のデータを取得するためにパスワードを再入力するだけでよい。しかし、ユーザがパスワードを忘れてしまったら、被暗号化データは正しいパスワードがない状態で正しく復号されないので、ユーザは不便を被ることになる。別のタイプの暗号化方法は、データを暗号化するために鍵を用いる。しかし、鍵が適切に保管されておらず、ハッカーに盗まれてしまったら、ハッカーは、盗んだ鍵を用いて被暗号化データを簡単に復号することができる。従って、この暗号化方法も十分に安全ではない。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】中国特許出願第２０１１１００７４９３７．Ｘ号明細書
【発明の概要】
【発明が解決しようとする課題】
【０００８】
本発明の目的は、データの暗号化方法を提供し、暗号化後に生成される鍵を認証手続に利用することである。
【課題を解決するための手段】
【０００９】
本発明の一実施形態は、電子装置のためのデータ暗号化方法を提供する。本方法は、電子装置に対応する識別コードを生成するステップと、識別コードに基づいて一時鍵を生成するステップと、一時鍵を用いて第１の暗号化メカニズムにより第１のデータを暗号化することによって第１の秘密鍵を生成するステップと、第２の暗号化メカニズムを用いて第１の秘密鍵を暗号化することによって被暗号化鍵（encrypted key）を生成するステップとを含む。
【００１０】
本発明の別の実施形態は、電子装置と、データ暗号化モジュールとを含むデータ暗号化システムを提供する。データ暗号化モジュールは、識別コード生成ユニットと、一時鍵生成ユニットと、第１の暗号化ユニットと、第２の暗号化ユニットとを含む。識別コード生成ユニットは、電子装置に対応する識別コードを生成する。一時鍵生成ユニットは、識別コードに基づいて一時鍵を生成する。第１の暗号化ユニットは、一時鍵を用いて第１のデータを暗号化し、第１の秘密鍵を生成する。第２の暗号化ユニットは、第１の秘密鍵を暗号化し、被暗号化鍵を生成する。
【００１１】
本発明の別の実施形態は、電子装置のためのデータ復号方法を提供する。本方法は、電子装置に対応する識別コードを生成するステップと、識別コードに基づいて一時鍵を生成するステップと、第２の復号メカニズムを用いて被暗号化鍵を復号することによって第１の秘密鍵を取得するステップと、第１の復号メカニズムを用いて前記第１の秘密鍵を復号することによって第１のデータを生成するステップとを含む。
【００１２】
[0008] 本発明に関して、添付の図面を参照して以下の実施形態において詳細に説明する。
【図面の簡単な説明】
【００１３】
【図１】本発明の一実施形態に従うデータ暗号化方法のフローチャート。
【図２】本発明の一実施形態に従うデータ復号方法のフローチャート。
【図３】本発明の一実施形態に従うデータ暗号化装置。
【図４】本発明のデータ暗号化及び検証システムの回路図。
【図５】本発明の電子装置が外部ストレージ装置のデータを暗号化するステップを示すフローチャート。
【発明を実施するための形態】
【００１４】
本発明を実施するための最良の形態について、以下に説明する。この説明は、本発明の一般的原理を説明するためのものであり、限定的な意味で解釈されるべきではない。本発明の範囲は、添付の特許請求の範囲を参照することにより決定されることが最も好ましい。
【００１５】
図１は、本発明の一実施形態に従うデータ暗号化方法のフローチャートである。本実施形態のデータ暗号化方法は、電子装置、例えば、携帯電話、ＰＤＡ、ゲーム機、または他の電子装置などにおいて、データ、ソフトウェアまたはアプリケーションプログラムの盗難防止のために実行される。他の実施形態においては、データ暗号化後に生成される被暗号化鍵を、電子装置による外部装置の認証において用いることもできる。外部装置は、外部ハードディスク、ＵＳＢデバイス、フラッシュメモリストレージ装置、アプリケーションプログラムを保存する装置、またはゲームソフトを保存する装置であってよい。
【００１６】
ステップＳ１１では、先ず識別コードを生成する。このステップでは、電子装置内のプロセッサのプロセッサ識別コード、外部装置の識別コード、クライアント識別コード、または他の種類の識別コード、あるいはその組合せに基づいて、識別コードを生成することができる。クライアント識別コードは、外部ストレージ装置内のソフトウェアまたはゲームソフトの販売会社によって付与され得る。
【００１７】
ステップＳ１２では、識別コードに基づいて一時鍵を生成する。一時鍵は、鍵ジェネレータまたは鍵生成プログラムによって生成され得る。
【００１８】
ステップＳ１３では、一時鍵及び第１の暗号化メカニズムを用いて第１のデータを暗号化することによって、第１の秘密鍵を生成する。ここで、第１の暗号化メカニズムは、暗号化ソフトウェアまたは暗号化ハードウェアによって実現され得る。本実施形態では、第１のデータはデータ暗号化鍵であってよい。このデータ暗号化鍵に基づいて、電子装置は、保護したいデータ、ソフトウェアまたはアプリケーションプログラムを暗号化することができる。データ暗号化鍵は、乱数生成器によって生成され得る。他の実施形態においては、第１のデータは、暗号化されるべき他のデータ、ファイル、ソフトウェアまたはアプリケーションプログラムであってもよい。
【００１９】
ステップＳ１４では、第２の暗号化メカニズムを用いて第１の秘密鍵を暗号化することによって、被暗号化鍵を生成する。本実施形態では、第２の暗号化メカニズムは、Ｓボックスによって実現される。本実施形態では、Ｓボックス内のデータを、データセグメントに保存せず、コードセグメントに隠蔽しかつ保存することができる。例えば、Ｓボックス内の１６進数データを２進数データに変換し、２進数データを、ポータブル実行可能ファイル（portable executable file）のコードセグメント、例えばダイナミック・リンク・ライブラリ（ＤＬＬ）のコードセグメントなどに隠蔽することができる。それゆえ、ハッカーは、Ｓボックス内のデータを直接取得することができず、たとえ被暗号化鍵を入手したとしても、Ｓボックス内に保存された必要なデータがなくては、被暗号化鍵を復号することができない。よって、さらなる暗号化効果を達成する。本実施形態では、第１のデータが外部装置によって付与される場合、被暗号化鍵が生成された後、電子装置は、外部装置内の第１のデータを削除し、被暗号化鍵を権限のないユーザに盗まれないように外部装置に保存することができる。
【００２０】
図２は、本発明の一実施形態に従うデータ復号方法のフローチャートである。図１では、被暗号化鍵は、生成後に外部装置内に保存される。外部装置が再び電子装置に接続したとき、電子装置は、被暗号化鍵を復号して被暗号化データを取得し、被暗号化データに基づいて外部装置の検証及び認証を行うことができる。本実施形態は、この方法を説明するものであるが、本発明はこれに限定されるものではない。
【００２１】
ステップＳ２１では、電子装置は先ず識別コードを生成する。本実施形態では、電子装置のプロセッサのプロセッサ識別コード、外部装置の識別コード、クライアントコードまたは他の種類の識別コードに基づいて、識別コードを生成することができる。
【００２２】
ステップＳ２２では、識別コードに基づいて一時鍵を生成する。一時鍵は、鍵生成プログラムによって生成され得る。
【００２３】
ステップＳ２３では、外部装置内に保存された被暗号化鍵を取得し、第２の復号メカニズムにより被暗号化鍵を復号することによって、第１の秘密鍵を取得する。本実施形態では、第２の復号メカニズムは、逆Ｓボックス（inverse substitution box）によって実現される。本実施形態では、逆Ｓボックス内のデータを、データセグメントに保存するのではなく、コードセグメントに隠蔽することができる。例えば、逆Ｓボックス内の１６進数データを２進数データに変換し、２進数データを、ポータブル実行可能ファイルのコードセグメント、例えばダイナミック・リンク・ライブラリのコードセグメントなどに隠蔽することができる。それゆえ、ハッカーは、逆Ｓボックス内のデータを直接取得することができず、たとえ被暗号化鍵を入手したとしても、逆Ｓボックス内に保存された必要なデータがなくては、被暗号化鍵を復号することができない。
【００２４】
ステップＳ２４では、一時鍵及び第１の復号メカニズムを用いて第１の秘密鍵を復号することによって、第１のデータを生成する。本実施形態では、第１のデータはデータ暗号化鍵であってよく、電子装置は、データ暗号化鍵に基づいて、被暗号化データ、ソフトウェアまたはアプリケーションプログラムを復号する。他の実施形態においては、第１のデータは、他のデータ、ファイル、ソフトウェアまたはアプリケーションプログラムであってもよい。
【００２５】
図３は、本発明の一実施形態に従うデータ暗号化装置である。本実施形態のデータ暗号化装置は、電子装置内に組み込んでもよいし、あるいは電子装置の外部に設けてもよい。電子装置は、外部ストレージ装置、例えばメモリカードやフラッシュストレージ装置などに接続することができる。
【００２６】
識別コード生成ユニット３１は、電子装置内のプロセッサ内のプロセッサ識別コード及び外部ストレージ装置内の第１の識別コードに基づいて、識別コードを生成する。他の実施形態においては、外部ストレージ装置内にソフトウェアプログラムまたはゲームソフトが保存されている場合、識別コード生成ユニット３１は、さらにソフトウェアプログラムまたはゲームソフト内のソフトウェア識別コード、電子装置内のプロセッサ内のプロセッサ識別コード及び外部ストレージ装置の第１の識別コードに基づいて、識別コードを生成する。さらに別の実施形態では、外部ストレージ装置内の第１の識別コードは、ソフトウェア識別コードである。さらに、外部ストレージ装置内には、該外部ストレージ装置、ソフトウェアプログラムまたはゲームソフトの販売会社または製造会社の、クライアント識別コードを保存することができ、識別コード生成ユニット３１は、従って、クライアント識別コード、第１の識別コード及びプロセッサ識別コードに基づいて、識別コードを生成することができる。
【００２７】
一時鍵生成ユニット３２は、識別コードに基づいて、一時鍵を生成する。
【００２８】
第１のデータ３３は、外部ストレージ装置内または電子装置内に保存されたデータ暗号化鍵であってよい。このデータ暗号化鍵に基づいて、電子装置は、保護したいデータ、ソフトウェアまたはアプリケーションプログラムを暗号化することができる。データ暗号化鍵は、乱数生成器によって生成され得る。他の実施形態においては、第１のデータ３３は、外部ストレージ装置内または電子装置内に保存された暗号化されるべきデータ、ソフトウェアまたはアプリケーションプログラムであってもよい。
【００２９】
第１の暗号化ユニット３４は、一時鍵を用いて第１のデータを暗号化することによって、第１の秘密鍵を生成する。
【００３０】
第２の暗号化ユニット３５は、第１の秘密鍵を暗号化することによって、被暗号化鍵を生成する。本実施形態では、第２の暗号化ユニット３５は、Ｓボックスを用いて第１の秘密鍵を暗号化することによって、被暗号化鍵を生成する。本実施形態では、Ｓボックス内のデータを、データセグメントに保存するのではなく、ファイルのコードセグメントに隠蔽することができる。例えば、Ｓボックス内の１６進数データを２進数データに変換し、２進数データを、ポータブル実行可能ファイルのコードセグメント、例えばダイナミック・リンク・ライブラリのコードセグメントなどに隠蔽することができる。それゆえ、ハッカーは、Ｓボックス内のデータを直接取得することができず、たとえ被暗号化鍵を入手したとしても、Ｓボックス内に保存された必要なデータがなくては、被暗号化鍵を用いてデータを復号することができない。
【００３１】
図４は、本発明のデータ暗号化及び検証システムの回路図である。外部ストレージ装置４３が最初に電子装置４１に電気的に接続したとき、電子装置４１は、外部ストレージ装置４３及び電子装置４１に基づいて識別コードを生成し、かつ外部ストレージ装置４３内の第１のデータを取得することができる。次に、電子装置４１は、暗号化／復号装置４２内の暗号化プログラムを実行して、第１のデータを暗号化することによって、被暗号化鍵を生成することができる。暗号化プログラムの動作については図１のフローチャートを参照されたい。その後、電子装置は、外部ストレージ装置４３内の第１のデータを削除し、かつ被暗号化鍵を外部ストレージ装置４３内に保存する。
【００３２】
外部ストレージ装置４３が再び電子装置４１に接続したとき、電子装置４１は、外部ストレージ装置４３内の被暗号化鍵を取得し、暗号化／復号装置４２内の復号プログラムを実行することによって、被暗号化鍵を復号し、第１のデータを生成する。復号動作については図２のフローチャートを参照されたい。その後、電子装置４１は、第１のデータを用いて復号プログラムを実行するか、あるいは外部ストレージ装置４３または外部ストレージ装置４３内のソフトウェアを検証しかつ／または認証することができる。
【００３３】
図５は、本発明の電子装置が外部ストレージ装置内のデータを暗号化するステップを示すフローチャートである。ステップＳ５１では、暗号化装置を電子装置に接続する。ここで、暗号化装置内には暗号化プログラムが保存されている。ステップＳ５２では、外部ストレージ装置を電子装置に接続する。外部ストレージ装置は、メモリカード、ポータブル外付けＨＤＤまたは他のストレージ装置であってよい。ステップＳ５３では、電子装置のオペレーティング・システム（ＯＳ）をロードし、暗号化装置内の暗号化プログラムを実行する。ステップＳ５４では、ユーザが、電子装置を介して外部ストレージ装置内の第１のデータを指定して暗号化し、かつ暗号化後の被暗号化鍵のストレージパスまたはフォルダを指定することができる。ステップＳ５５では、指定されたデータを暗号化プログラムを用いて暗号化し、被暗号化鍵を生成する。暗号化の手順については、図１のフローチャートを参照されたい。ステップＳ５６では、被暗号化鍵を外部ストレージ装置に保存する。ステップＳ５６では、電子装置が外部装置内の第１のデータを削除する。
【００３４】
ここまで、例として本発明の好適実施形態について説明してきたが、本発明はこの範囲に限定されるものではなく、それどころか、当業者に明らかであるように、等価な変形形態及び変更形態も本発明の範囲に含まれるよう意図されている。従って、添付の特許請求の範囲は、そのような変形形態及び変更形態を全て網羅するように、最も広く解釈されるものとする。
【符号の説明】
【００３５】
３１  識別コード生成ユニット
３２  一時鍵生成ユニット
３３  第１のデータ
３４  第１の暗号化ユニット
３５  第２の暗号化ユニット
４１  電子装置
４２  暗号化／復号装置
４３  外部ストレージ装置
【図１】
0005832886.tif 000002
【図２】
0005832886.tif 000003
【図３】
0005832886.tif 000004
【図４】
0005832886.tif 000005
【図５】
0005832886.tif 000006