JP2014522171A - 暗号化プロトコルの難読化された初期値に対するシステムおよび方法 - Google Patents

暗号化プロトコルの難読化された初期値に対するシステムおよび方法 Download PDF

Info

Publication number
JP2014522171A
JP2014522171A JP2014522893A JP2014522893A JP2014522171A JP 2014522171 A JP2014522171 A JP 2014522171A JP 2014522893 A JP2014522893 A JP 2014522893A JP 2014522893 A JP2014522893 A JP 2014522893A JP 2014522171 A JP2014522171 A JP 2014522171A
Authority
JP
Japan
Prior art keywords
computer device
value
message
computer
shared secret
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2014522893A
Other languages
English (en)
Inventor
ゾリンジャー,ミッチ
パウン,フィリップ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Netflix Inc
Original Assignee
Netflix Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Netflix Inc filed Critical Netflix Inc
Publication of JP2014522171A publication Critical patent/JP2014522171A/ja
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0838Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
    • H04L9/0841Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these involving Diffie-Hellman or related key agreement protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0407Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the identity of one or more communicating identities is hidden
    • H04L63/0414Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the identity of one or more communicating identities is hidden during transmission, i.e. party's identity is protected against eavesdropping, e.g. by using temporary identifiers, but is known to the other party or parties involved in the communication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/60Digital content management, e.g. content distribution
    • H04L2209/605Copy protection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3271Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using challenge-response

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Information Transfer Between Computers (AREA)
  • Storage Device Security (AREA)

Abstract

第1のコンピューター装置が、ソフトウェアプログラムの正しいバージョンを有するか否かを判定するためにコンピューターに実装される技術は、クライアントコンピューター装置が、著作権があるメディアコンテンツをダウンロードするために、安全かつ承認されたバージョンのコンテンツ再生ソフトウェアが実装されていることが検証されることを保障する手法を提供する。この技術により、著作権があるメディアのコンテンツプロバイダが、コンテンツにアクセスするために、安全で承認されたメディアプレーヤーのみが実装されていることを保証することができる。

Description

本発明は、一般的なコンピューターネットワークにおける暗号化に関するものであり、より具体的には、暗号化プロトコルの難読化された初期値に基づいて、コンピューター装置がソフトウェアプログラムの正当なバージョンを実行しているかをチェックするシステムおよび方法に関する。
クライアントコンピューター装置上で実行するように構成されたコンテンツ再生ソフトウェアは、通常かなり複雑である。ソフトウェアがリリースされ、多くのクライアントコンピューター装置によってダウンロードされた後に、多くの場合、コンテンツ再生ソフトウェアのセキュリティ上の欠陥が発見されている。このようなセキュリティ上の欠陥は、著作権のあるコンテンツが、正当な権限がないエンドユーザや他の人によって表示されたりコピーされたりした結果である。このようなセキュリティ上の欠陥を解決するために、クライアントコンテンツ再生ソフトウェアをセキュリティ上の欠陥に対処するように設計された新しいバージョンに更新し、クライアントコンピューター装置はコンテンツ再生ソフトウェアの新しいバージョンが装置に適切にロードされていることを確認するまで、クライアントコンピューター装置は著作権のあるコンテンツをダウンロードすることができないようにしている。
一般的に、コンテンツ再生ソフトウェアの各バージョンは、様々なバージョン番号で表される。現在、クライアントコンピューター装置上に存在するコンテンツ再生ソフトウェアのバージョンの番号は、コンテンツ再生ソフトウェアに関連付けられているクライアントコンピューター装置のメモリに記憶される。この手法の欠点の一つは、クライアントコンピューターのエンドユーザが簡単にコンテンツ再生ソフトウェアに「不正侵入(ハッキング)」して、変更されたバージョン番号に対応する、コンテンツ再生ソフトの古いバージョンのセキュリティの1つ以上の欠陥に対処するために開発されたコンテンツ再生ソフトウェアの新しいバージョンをダウンロードしないで、バージョンの番号を変更できることである。その結果、クライアントコンピューター装置のエンドユーザは、コンテンツプロバイダによって実装されたDRMや他のコピー保護を、コンテンツ再生ソフトウェアの1つ以上のセキュリティの欠陥を通して回避することが可能になるかもしれない。
上記で説明したように、この技術分野で必要とされているのは、現在、クライアント装置にインストールされたアプリケーションが安全であることを確認するためのより安全な手法である。
本発明の一実施形態は、第1のコンピューター装置が、ソフトウェアプログラムの正しいバージョンを有するか否かを決定するために、コンピューターに実装される方法を示すものである。システムには、同じ一つ以上の初期値で初期化された2つのコンピューター装置が設けられる。この方法は、少なくとも1つの初期設定値に基づいてプライベート秘密値を計算し、プライベート秘密値と少なくとも1つの初期設定値に基づいて公開値を計算し、第2のコンピューター装置に計算された公開値を送信し、第2のコンピューター装置から別の公開値を受信し、第2のコンピューター装置から受信した公開値とプライベート秘密値に基づいて共有秘密鍵を計算する。また、この方法は、第2のコンピューター装置から暗号化されたメッセージを受信し、共有秘密鍵を用いて暗号化されたメッセージを復号化し、メッセージが正しく復号化されたかどうかを決定することが含まれる。メッセージが正しく復号化された場合は、第1のコンピューター装置はソフトウェアプログラムの正しいバージョンが入っているので、第1のコンピューター装置および第2のコンピューター装置間の通信は継続する。しかし、メッセージが正しく復号化されなかった場合は、第1のコンピューター装置は、ソフトウェアプログラムの正しいバージョンが入っていないので、第1のコンピューター装置および第2のコンピューター装置間の通信は終了する。
開示された方法の利点の一つは、クライアントコンピューター装置に、ダウンロードされた著作権があるメディアコンテンツを購入するために組み込まれた安全かつ承認されたバージョンのコンテンツ再生ソフトウェアが入っていることを検証するための保証された手法を提供することである。その結果、著作権のあるメディアコンテンツのプロバイダは、安全かつ承認されたコンテンツ再生部だけがコンテンツにアクセスするために実装されていることを確認することができる。
ここで、本発明の上記特徴が詳細に理解できるように、添付の図面に示された実施形態を参照しながら、上記で簡単に要約した本発明をより具体的に説明する。しかしながら、添付の図面は、本発明の典型的な実施形態のみを示し、その範囲を限定するものではなく、本発明は、他の同等の効果のある実施形態を含めることができることに留意すべきである。
本発明の1つ以上の態様を実施するように構成されたコンピューターネットワークを示す図である。 本発明の一実施形態に係る図1の第1のコンピューター装置のより詳細な図である。 本発明の一実施形態に係る図2の第1のコンピューター装置のセキュア通信モジュールのより詳細な図である。 本発明の一実施形態に係る図1の第2のコンピューター装置のより詳細な図である。 本発明の一実施形態に係る図4の第2のコンピューター装置のセキュア通信モジュールのより詳細な図である。 本発明の一実施形態に係る難読化形式で共有秘密鍵を計算する方法のステップのフローチャートである。 本発明の一実施形態に係る図1の第1のコンピューター装置にコンテンツ再生アプリケーションの正しいバージョンが入っていることを検証する方法のステップのフローチャートである。 本発明の一実施形態に係る図1の第1のコンピューター装置のコンテンツ再生部とセキュア通信モジュールを更新するための方法のステップのフローチャートである。
図1に、本発明の1つ以上の態様を構成するコンピューターネットワーク100を示す。図に示すように、コンピューターネットワーク100は、第1のコンピューター装置102、通信ネットワーク104、および、第2のコンピューター装置106を備える。
第1のコンピューター装置102および第2のコンピューター装置106は、データ通信を行う任意の2つのコンピューター装置である。一実施形態では、第1のコンピューター装置102は、デスクトップコンピュータ、ラップトップコンピュータ、携帯電話、携帯情報端末(PDA)のようなエンドユーザコンピューター装置、または、通信ネットワーク104を介してデータを通信するように構成された任意の他の装置である。一実施形態では、第2のコンピューター装置106は、オーディオデータまたはビデオデータなどのメディアコンテンツを格納するサーバである。一実施形態では、第2のコンピューター装置106は、コンテンツ配信ネットワーク(CDN)内のサーバである。しかし、第1のコンピューター装置102と第2のコンピューター装置106は、互いに通信する任意の二つのコンピューター装置であってもよいことを、当業者であれば理解することができるであろう。一実施形態によれば、通信ネットワーク104はインターネットである。
図2は、本発明の一実施形態による図1の第1のコンピューター装置102のより詳細な図である。図に示めすように、第1のコンピューター装置102は、中央処理装置(CPU)205、ネットワークインターフェース215、配線(相互接続部)220、および、メモリ225を備える。また、第1のコンピューター装置102は、入力/出力(I/O)デバイスインターフェース210、第1のコンピューター装置102に接続するI/Oデバイス212(例えば、キーボード、ディスプレイ、マウスデバイス)を備えるようにしてもよい。
CPU205は、メモリ225に格納されたプログラミング命令を取得して実行する。同様に、CPU205はメモリ225に存在するアプリケーションデータを格納し取得する。配線220は、CPU205、I/Oデバイスインターフェース210、ストレージ230、ネットワークインターフェース215、および、メモリ225の間で、プログラミング命令およびアプリケーションデータを送信するために使用される。CPU205には、単一のCPU、複数のCPU、複数の処理コアを有する単一のCPUなどに代表されるものが含まれる。メモリ225には、ランダムアクセスメモリ(RAM)、ハードディスクドライブおよび/またはフラッシュメモリストレージドライブが含まれる。
図に示めすように、メモリ225には、コンテンツ再生部230、セキュア通信モジュール240、および、更新インストールモジュール250が設けられる。一実施形態では、コンテンツ再生部230は、第1のコンピューター装置102のエンドユーザにオーディオデータまたはビデオデータを提供するように構成されたメディアプレーヤーである。セキュア通信モジュール240には、実行されると、第1のコンピューター装置102が通信ネットワーク104を介して第2のコンピューター装置106などの他のコンピューター装置と暗号化通信を行うソフトウェアが設けられる。更新インストールモジュール250には、実行されると、コンテンツ再生部230とセキュア通信モジュール240を更新するソフトウェアが設けられる。
図に示すように、コンテンツ再生部230には、バージョン情報235が含まれている。バージョン情報235には、コンテンツ再生部230のソフトウェアの現在のバージョンを表す情報が格納されている。一実施形態では、バージョン情報235は、バージョンの番号を含み、別の実施形態では、バージョン情報235は、最後に変更されたコンテンツ再生部230のソフトウェアの日時を含む。
図に示すように、セキュア通信モジュール240は、セキュアモジュール245を備える。一実施形態では、セキュアモジュール245は、第1のコンピューター装置102のエンドユーザによって読み取りまたは改変できないデータが含まれている難読化モジュールである。一実施形態に従うセキュアモジュール245の動作のより詳細な説明を、下記の図3の説明に関連して提供する。一実施形態では、また、更新インストールモジュール250は、バージョン情報235に対応するセキュアモジュール245を保証するために、コンテンツ再生部230のバージョン情報235とセキュア通信モジュール240のセキュアモジュール245を更新する。
一実施形態では、コンテンツ再生部230とセキュア通信モジュール240は、常に一緒に更新される。したがって、コンテンツ再生部230のバージョン情報235が更新されると、常にセキュア通信モジュール240のセキュアモジュール245も更新される。
図3は、本発明の一実施形態に係る、図2の第1のコンピューター装置102におけるセキュア通信モジュール240のより詳細な図である。図に示すように、セキュア通信モジュール240は、セキュアモジュール245、第1のコンピューター装置のプライベート秘密値330、第1のコンピューター装置の公開値340、第2のコンピューター装置の公開値350、共有秘密鍵360、および、メッセージ暗号化/復号化モジュール370が設けられる。
セキュアモジュール245は、生成要素値310、素数要素値320を含む。当業者であれば、そのような値は、例えばDiffie−Hellman鍵交換アルゴリズムのような鍵交換アルゴリズム、あるいは、例えばElGamal暗号化アルゴリズムのような暗号化アルゴリズム、あるいは、デジタル署名アルゴリズム(DSA)等の暗号アルゴリズムを実装するために必要であることが理解できるであろう。一実施形態では、セキュアモジュール245、生成要素値310、および素数要素値320が、コンテンツ再生部230の特定のバージョン情報235に対応する。言い換えると、コンテンツ再生部230のバージョン情報235が更新されると、常に生成要素値310および素数要素値320も更新される。このような技術が、セキュアモジュール245がバージョン情報235に対応することを保証する。一実施形態では、生成要素値310は素数要素値320から1を引いた値と互いに素である。一実施形態では、試行錯誤しても生成要素値310を得ることが難しくなるように、生成要素値310は、第1の閾値よりも多いビットを含み、生成要素値310を用いた高速のバイナリ計算を容易にするために、1が設定されるビットが第2の閾値よりも少ない。一実施形態では、試行錯誤しても、以下の値、素数要素値320、公開値340、公開値350および共有秘密鍵360を得ることが難しくなるように、素数要素値320は、第3の閾値よりも大きい。しかし、当業者であれば、暗号化アルゴリズム、鍵交換アルゴリズム、または署名アルゴリズムに応じて有効な任意の生成要素値310および素数要素値320を、本明細書に記載の技術と組み合わせて実装できることが理解できるであろう。
一実施形態によれば、実装されている暗号アルゴリズムは、鍵交換アルゴリズムであり、より具体的には、Diffie−Hellman鍵交換アルゴリズムであり、第1のコンピューター装置のプライベート秘密値330は、セキュア通信モジュール240によって選択される。第1のコンピューター装置のプライベート秘密値330は、1(one)と素数要素値320より1小さい数(one less than)の間の数である。図に示すように、第1のコンピューター装置の公開値340は、生成要素値310、素数要素値320、および第1のコンピューター装置のプライベート秘密値330から決定される。第1のコンピューター装置の公開値340は、通信ネットワーク104を通して第2のコンピューター装置106へ送信される。実装されている鍵交換アルゴリズムがDiffie−Hellman鍵交換アルゴリズムであれば、第1のコンピューター装置の公開値340は、式(1)に従って計算される。
ここで、Aは、第1のコンピューター装置の公開値340であり、aは第1のコンピューター装置のプライベート秘密値330であり、gは生成要素値310であり、pは素数要素値320である。
一実施形態では、セキュア通信モジュール240は、第2のコンピューター装置の公開値350をさらに記憶する。一実施形態では、第2のコンピューター装置の公開値350は、通信ネットワーク104を通じて第2のコンピューター装置106から受信される。さらに、一実施形態では、セキュア通信モジュール240は、共有秘密鍵360をさらに記憶する。図に示すように、共有秘密鍵360は、素数要素値320、第1のコンピューター装置のプライベート秘密値330、および第2のコンピューター装置の公開値350に基づいて計算される。一実施形態によれば、実装されている鍵交換アルゴリズムがDiffie−Hellman鍵交換アルゴリズムであり、共有秘密鍵360は式(2)に従って計算される。
ここで、sは共有秘密鍵360であり、Bは第2のコンピューター装置の公開値350であり、aは第1のコンピューター装置のプライベート秘密値330であり、pは素数要素値320である。
しかしながら、Diffie−Hellman鍵交換アルゴリズム以外の暗号化アルゴリズムを、本明細書に記載の技術と組み合わせて使用できることは、当業者であれば理解できるであろう。Diffie−Hellman鍵交換アルゴリズム以外の暗号化アルゴリズムが使用される場合、第1のコンピューター装置の公開値340および共有秘密鍵360の算出式は、上記の式(1)、(2)とは異なるであろう。
メッセージ暗号化/復号化モジュール370は、暗号化/復号化アルゴリズムと共有秘密鍵360を使用して、メッセージを暗号化および復号化するように構成される。
図4は、本発明の一実施形態による図1の第2のコンピューター装置106のより詳細な図である。図に示すように、第2のコンピューター装置106は、中央処理装置(CPU)405、ネットワークインターフェース415、配線420、およびメモリ425を備える。また、第2のコンピューター装置106は、第2のコンピューター装置106のI/Oデバイス412(例えば、キーボード、ディスプレイ、およびマウスデバイス)に接続する入力/出力(I/O)デバイスインターフェース410を備えるようにしてもよい。
図に示すように、メモリ425には、コンテンツストア430、セキュア通信モジュール440、および更新送信モジュール450が設けられる。一実施形態では、コンテンツストア430は、第1のコンピューター装置102に設けられたコンテンツ再生部230にオーディオデータまたはビデオデータを提供するように構成されているメディアストアである。セキュア通信モジュール440には、実行されると、第2のコンピューター装置106が、例えば、第1のコンピューター装置102などの別のコンピューター装置と、通信ネットワーク104を介して暗号化された通信を行うソフトウェアが含まれている。更新送信モジュール450には、実行されると、コンテンツストア430とセキュア通信モジュール440を更新し、また、第1のコンピューター装置102上のコンテンツ再生部230とセキュア通信モジュール240を更新するソフトウェアが含まれている。
図に示すように、コンテンツストア430は、バージョン情報435が含まれている。バージョン情報435は、コンテンツ再生部430のソフトウェアの現在のバージョンを表す情報が格納されている。一実施形態では、コンテンツストア430は、コンテンツストア430のバージョン情報435がコンテンツ再生部230のバージョン情報235に対応する場合にのみ、第1のコンピューター装置102上のコンテンツ再生部230にコンテンツをダウンロードすることができるように構成される。一実施形態では、バージョン情報435に、バージョン番号が含まれている。別の実施形態では、バージョン情報435に、コンテンツストア430に関連付けられた再生部のソフトウェアが最後に変更されたときの日付と時刻が含まれている。
一実施形態では、更新送信モジュール450が、セキュア通信モジュール440およびコンテンツストア430のコンテンツを更新するときは、更新送信モジュール450は、コンテンツ再生部230とセキュア通信モジュール240の両方も更新するために、第1のコンピューター装置102にソフトウェアを提供する。このような更新は、コンテンツストア430のバージョン情報435が、第1のコンピューター装置102のコンテンツ再生部のバージョン情報235に対応することを保証する。さらに、このような更新は、第1のコンピューター装置102のセキュア通信モジュール240のセキュアモジュール245内の値が第2のコンピューター装置106のセキュア通信モジュール440内の値に対応することを保証する。
図5は、本発明の一実施形態による図4の第2のコンピューター装置のセキュア通信モジュール440のより詳細な図である。図に示すように、セキュア通信モジュール440には、生成要素値510、素数要素値520、第2のコンピューター装置のプライベート秘密値530、第2のコンピューター装置の公開値350、第1のコンピューター装置の公開値340、共有秘密情報540、メッセージの暗号化/復号化モジュール550が含まれる。当業者にとって明らかであるように、一実施形態では、第2のコンピューター装置106のセキュア通信モジュール440は、第2のコンピューター装置106にセキュアモジュール245がない点で、第1のコンピューター装置102のセキュア通信モジュールとは異なる。代わりに、生成要素値510および素数要素値520は、セキュリティが保障されていないモジュール(図に現れていない)に記憶されている。セキュア通信モジュールが第1のコンピューター装置102上では要求され、第2のコンピューター装置106上では要求されない理由の一つは、エンドユーザが第1のコンピューター装置102へのアクセス権を持っているが、第2のコンピューター装置106へのアクセス権は持っていないからである。一実施形態では、このような実際のパターンでは、第1のコンピューター装置102が、ラップトップ、または、デスクトップコンピュータ、または、エンドユーザによって操作される携帯電話などのクライアントコンピューター装置であり、第2のコンピューター装置106は、メディアコンテンツプロバイダに属するコンテンツ配信ネットワーク(CDN)のサーバマシンが割り当てられる。
一実施形態では、第2のコンピューター装置106上に格納された生成要素値510および素数要素値520は、第1のコンピューター装置102上に記憶された生成要素値310および素数要素値320にそれぞれ等しい。当業者であれば、生成要素値510および素数要素値520は、例えばDiffie−Hellman鍵交換アルゴリズム、ElGamal暗号化アルゴリズム、又はデジタル署名アルゴリズム(DSA)などの暗号化アルゴリズムを実装するために必要であることが理解できるであろう。一実施形態では、生成要素値510および素数要素値520は、コンテンツストア430の特定のバージョン情報435に対応する。言い換えると、コンテンツストア430のバージョン情報435が更新されれば、常に生成要素値510および素数要素値520も更新される。このような技術は、生成要素値510および素数要素値520がバージョン情報435に対応することを保証する。一実施形態では、生成要素値510は、素数要素値520と互いに素である。一実施形態では、生成要素値510は、第1の閾値よりも多いビットで構成され、生成要素値510を用いたバイナリ値の計算を容易にするために、1に設定されたビットは第2の閾値より少ない。一実施形態では、試行錯誤して、以下の値、素数要素値320、公開値350と共有秘密鍵540を推測することが難しくなるように、素数要素値520は第3の閾値数よりも大きい。しかしながら、当業者であれば、暗号化アルゴリズムに対して有効な任意の生成要素値510および素数要素値520を、本明細書に記載の技術と組み合わせて実装できることが理解できるであろう。
一実施形態によれば、実装されている鍵交換アルゴリズムは、Diffie−Hellman鍵交換アルゴリズムであり、第2のコンピューター装置のプライベート秘密値530は、セキュア通信モジュール440によって、1と素数要素値520より1少ない数の間の数になるように選択される。図に示すように、第2のコンピューター装置の公開値350が、第2のコンピューター装置の生成要素値510、素数要素値520、およびプライベート秘密値530から決定される。一実施形態によれば、実装されている暗号化アルゴリズムがDiffie−Hellman鍵交換アルゴリズムであり、第2のコンピューター装置の公開値350は、式(3)に従って計算される。
Bは、第2のコンピューター装置の公開値350であり、bは第2のコンピューター装置のプライベート秘密値530であり、gは生成要素値510であり、pは素数要素値520である。
一実施形態では、セキュア通信モジュール440は、第1のコンピューター装置の公開値340をさらに記憶する。一実施形態では、第1のコンピューター装置の公開値340は、通信ネットワーク104を通じて第1のコンピューター装置102から受信される。また、一実施形態では、セキュア通信モジュール440がさらに共有秘密鍵540を記憶する。図に示すように、共有秘密鍵540は、素数要素値520、第2のコンピューター装置のプライベート秘密値530、および第1のコンピューター装置の公開値340に基づいて計算される。一実施形態によれば、実装されている鍵交換アルゴリズムは、Diffie−Hellman鍵交換アルゴリズムであり、共有秘密鍵540は式(4)に従って計算される。
sは共有秘密鍵540であり、Aは第1のコンピューター装置の公開値340であり、bは第2のコンピューター装置のプライベート秘密値530であり、pは素数要素値520である。
しかし、当業者であれば、Diffie−Hellman鍵交換アルゴリズム以外の暗号化アルゴリズムが、本明細書に記載の技術と組み合わせて使用できることが理解できるであろう。Diffie−Hellman鍵交換アルゴリズム以外の暗号化アルゴリズムが使用される場合、第2のコンピューター装置の公開値算350および共有秘密鍵540を計算する上記の式(3)、(4)は異なるであろう。
メッセージの暗号化/復号化モジュール550は、暗号化/復号化アルゴリズムおよび共有秘密鍵540を使用して、メッセージを暗号化および復号化するように構成される。
図6は、本発明の一実施形態による、難読化する手法で共有秘密鍵を計算する方法のステップのフローチャートである。方法のステップは、図1〜5に関連して記載されているが、当業者であれば、方法のステップを任意の順序で実行するように構成されたあらゆるシステムが、本発明の範囲内であることが理解できるであろう。
方法600は、ステップ610から開始し、セキュア通信モジュール440は、セキュア通信モジュール440に記憶された少なくとも1つの初期設定値と、プライベート秘密値530と、Diffie−Hellman鍵交換アルゴリズムやElGamal暗号化アルゴリズムやデジタル署名アルゴリズム(DSA)などのアルゴリズムとに基づいて、第2のコンピューター装置の公開値350を計算する。一実施形態では、鍵交換アルゴリズムは、Diffie−Hellman鍵交換アルゴリズムであり、第2のコンピューター装置の公開値350が、上記の式(3)に従って計算される。ステップ620で、セキュア通信モジュール440は、第2のコンピューター装置の公開値350を第1のコンピューター装置102のセキュア通信モジュール240へ送信する。一実施形態では、第2のコンピューター装置の公開値350が第2のコンピューター装置106から通信ネットワーク104を通じて送信される。
方法600は、そこで続いてステップ630で、セキュア通信モジュール240は、第2のコンピューター装置の公開値350を受信する。ステップ640で、セキュア通信モジュール240は、第1のコンピューター装置のプライベート秘密値330を計算する。一実施形態では、第1のコンピューター装置のプライベート秘密値330は、1と素数要素値320より1小さい数の間の値である。一実施形態では、第1のコンピューター装置のプライベート秘密値330の算出および記憶部が難読化されている。
次に、方法600は、続いてステップ650で、セキュア通信モジュール240は、プライベート秘密値330と第2のコンピューター装置の公開値350と素数要素値320とに基づいて、共有秘密鍵360を決定する。一実施形態では、鍵交換アルゴリズムは、Diffie−Hellman鍵交換アルゴリズムであり、共有秘密鍵360は、上記の式(2)に従って計算される。一実施形態では、第1のコンピューター装置の共有秘密値360の計算は難読化されている。
ステップ660で、セキュア通信モジュール240は、プライベート秘密値330、生成要素値310、および素数要素値320に基づいて、第1のコンピューター装置の公開値340を計算する。一実施形態では、第1のコンピューター装置の公開値340の計算は難読化されている。ステップ670で、セキュア通信モジュール240は、第1のコンピューター装置の公開値340を、通信ネットワーク104を介して第2のコンピューター装置106へ送信する。
第2のコンピューター装置106のセキュア通信モジュール440は、図6に関する上記の処理と同様の処理に従って、共有秘密鍵540を決定する。しかし、重要な違いは、一実施形態では、第2のコンピューター装置106のセキュア通信モジュール440には、セキュアモジュール245が存在しないということである。第1のコンピューター装置102のセキュアモジュール245に格納された値に対応する値は、第2のコンピューター装置106ではセキュア通信モジュール440によって記憶される。
図7に、本発明の一実施形態による、図1の第1のコンピューター装置が、コンテンツ再生アプリケーションの正しいバージョンを備えていることを検証する方法のステップのフローチャートである。しかし、方法のステップは、図1〜5に関連して記載されているが、当業者であれば、方法ステップを任意の順序で実行するように構成されたあらゆるシステムが、本発明の範囲内であることが理解できるであろう。
方法700は、ステップ710から始まり、第2のコンピューター装置106のセキュア通信モジュール440に含まれるメッセージの暗号化/復号化モジュール550は、既に計算されている共有秘密鍵540に基づいてメッセージを暗号化する。ステップ720で、メッセージ暗号化/復号化モジュール550は、第1のコンピューター装置102に暗号化されたメッセージを送信する。ステップ730で、第1のコンピューター装置102のセキュア通信モジュール240に含まれるメッセージ暗号化/復号化モジュール370は、復号化アルゴリズムと図6に記載された技術を用いて計算された共有秘密鍵360とに基づいて、第2のコンピューター装置106から受信した暗号化メッセージを復号化する。
ステップ740で、メッセージ暗号化/復号化モジュール550は、第1のコンピューター装置102が、ステップ720で第2のコンピューター装置106によって送信されたメッセージを正しく復号化したか否かを判定する。第1のコンピューター装置102がメッセージを正しく復号化した場合、本方法はステップ750に進み、第1のコンピューター装置102と第2のコンピューター装置106の間の通信を継続する。重要なのは、第1のコンピューター装置102によって計算された共有秘密鍵360が正しい場合、第1のコンピューター装置102は、正確に第2のコンピューター装置106によって送信されたメッセージを正確に復号化できることである。しかし、第1のコンピューター装置102がメッセージを正しく復号化されなかった場合には、本方法はステップ760に進み、第1のコンピューター装置102と第2のコンピューター装置106の間の通信を終了する。
一実施形態では、第1のコンピューター装置102は、セッション鍵を生成するために、セッション鍵生成アルゴリズムへの入力として復号化されたメッセージを使用する。セッション鍵は、そこで、ステップ740で、第1のコンピューター装置102がメッセージを正しく復号化したか否かを決定するために、第2のコンピューター装置106によって確認される。
別の実施形態では、第1のコンピューター装置102および第2のコンピューター装置106は、セッション鍵を生成するためにセッション鍵生成アルゴリズムへの入力として共有秘密鍵を使用する。セッション鍵は、102および106間で通信されるメッセージの暗号化に使用される。セッション鍵は、そこで、ステップ740で、第1のコンピューター装置102がメッセージを正しく復号化したかどうかを決定するために、第2のコンピューター装置106によって確認される。
他の実施形態では、第1のコンピューター装置102および第2のコンピューター装置106の両方が、メッセージの値に同意し、第1のコンピューター装置102で生成された復号化されたメッセージが同意済みの値と一致しない場合は、第1のコンピューター装置102は、メッセージを正しく復号化できなかった。このような実施形態では、第1のコンピューター装置102は、復号化されたメッセージが同意済みの値と一致しないことを示すエラーメッセージを、第2のコンピューター装置102に送信する。
当業者であれば、本明細書に記載の本発明の態様は、異なるバージョンを有するソフトウェアプログラムに適用できることが理解できるであろう。言い換えれば、任意のソフトウェアプログラムを、本明細書に記載のコンテンツ再生アプリケーション230に置き換えることができる。
図8に、本発明の一実施形態による、図1の第1のコンピューター装置102のコンテンツ再生部230とセキュア通信モジュール240を更新する方法のステップのフローチャートである。方法のステップは、図1〜5に関連して記載されているが、当業者であれば、方法のステップを任意の順序で実行するように構成されたあらゆるシステムが本発明の範囲内であることが理解できるであろう。
方法800は、ステップ810から始まり、第2のコンピューター装置106の更新送信モジュール450は、更新コマンドを受信する。一実施形態では、管理部が、第1のコンピューター装置102上のコンテンツ再生部230のソフトウェアにセキュリティ上の欠陥を検出し、このソフトウェアを更新することが望まれるときに、更新コマンドは第2のコンピューター装置106の管理部によって提供される。方法800は、そこでステップ820に進み、更新送信モジュール450は、コンテンツストアのバージョン情報435を更新したときに、必要に応じて、コンテンツストア430を更新する。次に、方法800は、ステップ830に進み、更新送信モジュール450は、第2のコンピューター装置のセキュア通信モジュール440の初期設定値を更新する。一実施形態では、更新送信モジュール450は、生成要素値510または素数要素値520の少なくとも一つを更新する。
方法800は、そこで続いてステップ840で、更新送信モジュール450は、第1のコンピューター装置102でコンテンツ再生部230を更新する。一実施形態では、更新送信モジュール450は、通信ネットワーク104を介して第1のコンピューター装置102と通信する。
方法800は、そこで続いてステップ850で、更新送信モジュール450は、第1のコンピューター装置102で、セキュア通信モジュール240のセキュアモジュール245における、初期設定値、生成要素310、および素数要素値320を更新する。最後に、この方法800では、続くステップ860で、更新送信モジュール450は第1のコンピューター装置102で、更新を反映するためにコンテンツ再生部のバージョン情報235を更新する。ステップ860の後、方法800は終了する。
要約して言えば、開示された技術は、難読化された初期設定値を用いた暗号化アルゴリズムをより広範に提供し、通信ソフトウェアの唯一の承認されたバージョンが正常にメッセージを暗号化および復号化することを保証する。より具体的には、この技術の一実施形態によると、暗号アルゴリズムは、Diffie−Hellman鍵交換アルゴリズムであり、初期設定値は、生成要素値および素数要素値である。特にこの実装によれば、クライアントコンピューター装置は、通信ソフトウェアの現在のバージョンをダウンロードし、それに暗号化アルゴリズムのための生成要素値と素数要素値が含まれる。生成要素値および素数要素値の両方が、クライアントコンピューター装置内の、クライアントコンピューター装置のユーザによって読み取りまたはアクセスすることができない秘密のあるいは難読化されたモジュールの中に格納される。
Diffie−Hellman鍵交換プロトコルに従って、サーバマシンと通信するために、クライアントコンピューター装置は、プライベート秘密値と公開値を生成する。公開値は、プライベート秘密値、生成要素値、および、秘密のあるいは難読化されたモジュールに格納されている素数要素値に基づいて計算される。クライアントコンピューター装置は、サーバマシンへ公開値を送信する。サーバコンピューター装置から公開値を受信すると、クライアントコンピューター装置は、クライアントコンピューター装置のプライベート秘密値、サーバマシンの公開値、および、秘密にあるいは難読化されて格納された素数要素値モジュールに基づいて共有秘密鍵を計算する。その後クライアントコンピューター装置とサーバマシン間の通信は、計算された共有秘密鍵に基づいて暗号化または復号化が行われる。いくつかの実装では、また、クライアントコンピューター装置とサーバマシンは、クライアントとサーバの間で設定されたメッセージを復号化できれば、両方が暗黙のうちに同じ共有秘密鍵を持っていることが検証される。
開示された手法の1つの利点は、クライアントコンピューター装置にある著作権があるメディアをダウンロードおよび表示するソフトウェアが安全かつ承認されたバージョンである場合のみ、クライアントコンピューター装置は、著作権があるメディアコンテンツをダウンロードできることである。その結果、著作権があるメディアのコンテンツプロバイダは、より容易に、提供されたコンテンツを表示するために承認された安全なメディアプレーヤーのみが実装されていることが保証される。
本発明の実施形態に従うことなく、基本的な範囲から逸脱することなく、発明を他のさらなる実施形態で実施することが可能である。例えば、本発明は、ハードウェアまたはソフトウェア、またはハードウェアとソフトウェアの組み合わせで実装することが可能である。本発明の一実施形態のコンピューターシステムで使用するためのプログラム製品として実装するようにしてもよい。プログラム製品のプログラム(複数であってもよい)は実施形態(ここに記載された方法を含む)の機能を規定し、各種コンピューターの読み取り可能な記憶媒体に記憶することが可能である。例示したコンピューターが読み取り可能な記録媒体に限定されるものではないが:(i)書き込み不可能な記録媒体(例えば、CD−ROMドライブによって読み取り可能なCD−ROMディスクのようなコンピューター内の読み取り専用メモリ、フラッシュメモリ、ROMチップ、またはあらゆる種類の半導体の不揮発性半導体メモリ)に情報が永久的に格納され:(ii)書き込み可能な記録媒体(例えば、ディスクドライブ内のフロッピー(登録商標)ディスク、またはハードディスクドライブ、またはあらゆる種類のランダムアクセス可能な半導体メモリ)に変更可能な情報が格納される。本発明の機能を指示するコンピューターが読み取り可能な命令を運ぶものであればコンピューター読み取り可能記録媒体は、本発明の実施形態に含まれる。
上記の観点から、クレームに従って本発明の範囲が決定される。

Claims (20)

  1. 第1のコンピューター装置がソフトウェアプログラムの正しいバージョンを有するか否かを決定するためのコンピューター実装方法であり、該方法は、
    少なくとも1つの初期設定値に基づいて、プライベート秘密値を計算するステップと、
    前記プライベート秘密値および少なくとも1つの初期設定値に基づいて、公開値を計算するステップと、
    第2のコンピューター装置へ前記公開値を送信するステップと、
    前記第2のコンピューター装置から第2の公開値を受信するステップと、
    前記第2のコンピューター装置から受信した前記第2の公開値とプライベート秘密値に基づいて、共有秘密鍵を計算するステップと、
    前記第2のコンピューター装置から暗号化メッセージを受信するステップと、
    前記共有秘密鍵を使用して暗号化されたメッセージを復号化するステップと、
    前記メッセージが正しく復号されたか否かを決定するステップと、
    を備え、
    前記メッセージが正しく復号された場合には、前記第1のコンピューター装置および前記第2のコンピューター装置が、前記バージョンが同じソフトウェアプログラムを持っているので、前記第1のコンピューター装置および前記第2のコンピューター装置の間の通信を継続する、又は、
    前記メッセージが正しく復号されなかった場合には、前記第1のコンピューター装置および前記第2のコンピューター装置は、前記バージョンが同じソフトウェアプログラムを持っていないので、前記第1のコンピューター装置および前記第2のコンピューター装置の間の通信を終了させる、ことを特徴とする方法。
  2. 前記メッセージの暗号化と復号化に使用される前記暗号化アルゴリズムは、Diffie−Hellman鍵交換アルゴリズム、ElGamal暗号アルゴリズムまたはデジタル署名アルゴリズムであることを特徴とする請求項1に記載の方法。
  3. 前記少なくとも1つの初期設定値は、元となる生成値または素数要素値を含むことを特徴とする請求項1に記載の方法。
  4. 前記元となる生成値はバイナリ表現において、第1の閾値よりも多いビット数で構成され、1のビットが第2の閾値よりも少ないことを特徴とする請求項3に記載の方法。
  5. 前記素数要素値はバイナリ表現において、第3の閾値以上のビットで構成されていることを特徴とする請求項3に記載の方法。
  6. 前記暗号化されたメッセージは、前記第2のコンピューター装置によって計算され共有秘密鍵に基づいて、暗号化された元のメッセージで構成されることを特徴とする請求項1に記載の方法。
  7. 前記メッセージが正しく復号された場合、前記復号化されたメッセージは前記元のメッセージと一致し、前記第2のコンピューター装置から受信した前記第2の公開値に基づいて計算された前記共有秘密鍵は、前記第2のコンピューター装置によって計算された共有秘密鍵に等しいことを特徴とする請求項6に記載の方法。
  8. 前記第2のコンピューター装置は、前記メッセージが正しく復号化されたか否かを決定し、前記第1のコンピューター装置と前記第2のコンピューター装置の間の通信を継続、または、終了することを特徴とする請求項1に記載の方法。
  9. 前記第1のコンピューター装置による前記プライベート秘密値、前記公開値および前記共有秘密鍵の前記計算が、難読化されていることを特徴とする請求項1記載の方法。
  10. 前記ソフトウェアプログラにムは、ビデオデータを受信して表示するためのコンテンツ再生プリケーションを含むことを特徴とする請求項1記載の方法。
  11. 処理ユニットにより実行されると、第1のコンピューター装置がソフトウェアプログラムの正しいバージョンを有するか否かを決定するように機能させるための命令を記憶する非一時的なコンピューター読み取り可能な記録媒体であって、
    前記処理ユニットが、
    少なくとも1つの初期設定値に基づいて、プライベート秘密値を計算するステップと、
    前記プライベート秘密値および少なくとも1つの初期設定値に基づいて、公開値を計算するステップと、
    第2のコンピューター装置へ前記公開値を送信するステップと、
    前記第2のコンピューター装置から第2の公開値を受信するステップと、
    前記第2のコンピューター装置から受信した前記第2の公開値とプライベート秘密値に基づいて、共有秘密鍵を計算するステップと、
    前記第2のコンピューター装置から暗号化メッセージを受信するステップと、
    前記共有秘密鍵を使用して暗号化されたメッセージを復号化するステップと、
    前記メッセージが正しく復号されたか否かを決定するステップと、
    を実行するものであり、
    前記メッセージが正しく復号された場合には、前記第1のコンピューター装置および前記第2のコンピューター装置が、前記バージョンが同じソフトウェアプログラムを持っているので、前記第1のコンピューター装置および前記第2のコンピューター装置の間の通信を継続する命令、又は、
    前記メッセージが正しく復号されなかった場合には、前記第1のコンピューター装置および前記第2のコンピューター装置は、前記バージョンが同じソフトウェアプログラムを持っていないので、前記第1のコンピューター装置および前記第2のコンピューター装置の間の通信を終了させる命令を記憶することを特徴とする記憶媒体。
  12. 前記メッセージの暗号化と復号化に使用される前記暗号化アルゴリズムは、Diffie−Hellman鍵交換アルゴリズム、ElGamal暗号アルゴリズムまたはデジタル署名アルゴリズムであることを特徴とする請求項11に記載のコンピューター読み取り可能な記録媒体。
  13. 前記少なくとも1つの初期設定値は、元となる生成値または素数要素値を含むことを特徴とする請求項11に記載のコンピューター読み取り可能な記録媒体。
  14. 前記元となる生成値はバイナリ表現において、第1の閾値よりも多いビットで構成され、1が設定されるビットが第2の閾値よりも少ないことを特徴とする請求項13に記載のコンピューター読み取り可能な記録媒体。
  15. 前記素数要素値はバイナリ表現において、第3の閾値以上のビットで構成されていることを特徴とする請求項13に記載のコンピューター読み取り可能な記録媒体。
  16. 前記暗号化されたメッセージは、前記第2のコンピューター装置によって計算され共有秘密鍵に基づいて、暗号化された元のメッセージで構成されることを特徴とする請求項11に記載のコンピューター読み取り可能な記録媒体。
  17. 前記メッセージが正しく復号された場合、前記復号化されたメッセージは前記元のメッセージと一致し、前記第2のコンピューター装置から受信した前記第2の公開値に基づいて計算された前記共有秘密鍵は、前記第2のコンピューター装置によって計算された共有秘密鍵に等しいことを特徴とする請求項16に記載のコンピューター読み取り可能な記録媒体。
  18. 前記第2のコンピューター装置は、前記メッセージが正しく復号化されたか否かを決定し、前記第1のコンピューター装置と前記第2のコンピューター装置の間の通信を継続、または、終了することを特徴とする請求項11に記載のコンピューター読み取り可能な記録媒体。
  19. 前記第1のコンピューター装置による前記プライベート秘密値、前記公開値および前記共有秘密鍵の前記計算が、難読化されていることを特徴とする請求項11記載のコンピューター読み取り可能な記録媒体。
  20. 第1のコンピューター装置が、
    処理ユニットであって、
    少なくとも1つの初期設定値に基づいて、プライベート秘密値を計算する手段、
    前記プライベート秘密値および少なくとも1つの初期設定値に基づいて、公開値を計算する手段、
    第2のコンピューター装置へ前記公開値を送信する手段、
    前記第2のコンピューター装置から第2の公開値を受信する手段、
    前記第2のコンピューター装置から受信した前記第2の公開値とプライベート秘密値に基づいて、共有秘密鍵を計算する手段、
    前記第2のコンピューター装置から暗号化メッセージを受信する手段、
    前記共有秘密鍵を使用して暗号化されたメッセージを復号化する手段、および
    前記メッセージが正しく復号されたか否かを決定する手段、
    として機能する処理ユニットを備え、
    前記メッセージが正しく復号された場合には、前記第1のコンピューター装置および前記第2のコンピューター装置が、前記バージョンが同じソフトウェアプログラムを持っているので、前記第1のコンピューター装置および前記第2のコンピューター装置の間の通信を継続する、又は、
    前記メッセージが正しく復号されなかった場合には、前記第1のコンピューター装置および前記第2のコンピューター装置は、前記バージョンが同じソフトウェアプログラムを持っていないので、前記第1のコンピューター装置および前記第2のコンピューター装置の間の通信を終了する、ことを特徴とする第1のコンピューター装置。
JP2014522893A 2011-07-22 2012-07-19 暗号化プロトコルの難読化された初期値に対するシステムおよび方法 Pending JP2014522171A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/189,437 US8782420B2 (en) 2011-07-22 2011-07-22 System and method for obfuscation initiation values of a cryptography protocol
US13/189,437 2011-07-22
PCT/US2012/047448 WO2013016141A1 (en) 2011-07-22 2012-07-19 System and method for obfuscating initiation values of a cryptography protocol

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2016037559A Division JP2016129403A (ja) 2011-07-22 2016-02-29 暗号化プロトコルの難読化された初期値に対するシステムおよび方法

Publications (1)

Publication Number Publication Date
JP2014522171A true JP2014522171A (ja) 2014-08-28

Family

ID=47556662

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2014522893A Pending JP2014522171A (ja) 2011-07-22 2012-07-19 暗号化プロトコルの難読化された初期値に対するシステムおよび方法
JP2016037559A Pending JP2016129403A (ja) 2011-07-22 2016-02-29 暗号化プロトコルの難読化された初期値に対するシステムおよび方法

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2016037559A Pending JP2016129403A (ja) 2011-07-22 2016-02-29 暗号化プロトコルの難読化された初期値に対するシステムおよび方法

Country Status (9)

Country Link
US (2) US8782420B2 (ja)
EP (1) EP2735117B1 (ja)
JP (2) JP2014522171A (ja)
KR (1) KR101579696B1 (ja)
CN (1) CN103703718B (ja)
AU (1) AU2012287219B2 (ja)
CA (1) CA2844359C (ja)
DK (1) DK2735117T3 (ja)
WO (1) WO2013016141A1 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012048347A1 (en) * 2010-10-08 2012-04-12 Brian Lee Moffat Private data sharing system
US9143318B1 (en) * 2013-03-11 2015-09-22 Emc Corporation Secure recoverable offline storage of a shared secret
KR101951201B1 (ko) * 2016-11-09 2019-02-25 주식회사 엔오디비즈웨어 보안 기능을 수행하는 애플리케이션의 작동 방법과 상응하는 애플리케이션
KR102101614B1 (ko) * 2019-01-22 2020-04-17 주식회사 엔오디비즈웨어 보안 기능을 수행하는 애플리케이션의 작동 방법과 상응하는 애플리케이션
KR102180691B1 (ko) * 2020-04-07 2020-11-19 주식회사 소버린월렛 보안 기능을 수행하는 기록 매체에 저장된 애플리케이션과 전자 장치

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1145049A (ja) * 1997-07-24 1999-02-16 Matsushita Electric Ind Co Ltd 暗号装置
JP2003202931A (ja) * 2002-01-09 2003-07-18 Toshiba Corp ソフトウェアダウンロードシステム、サーバ装置、端末装置、サーバ制御プログラム、端末制御プログラム、サーバ制御方法、端末制御方法
JP2009543244A (ja) * 2006-07-12 2009-12-03 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 暗号関数を難読化する方法およびシステム
JP2010250374A (ja) * 2009-04-10 2010-11-04 Sony Corp 認証装置、認証方法、及びプログラム
WO2011064883A1 (ja) * 2009-11-27 2011-06-03 株式会社東芝 メモリチップ

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4200770A (en) * 1977-09-06 1980-04-29 Stanford University Cryptographic apparatus and method
JPH01145049A (ja) * 1987-12-02 1989-06-07 Hitachi Medical Corp Mri装置用電磁波シールド室
US6345359B1 (en) * 1997-11-14 2002-02-05 Raytheon Company In-line decryption for protecting embedded software
US6298153B1 (en) * 1998-01-16 2001-10-02 Canon Kabushiki Kaisha Digital signature method and information communication system and apparatus using such method
US7310735B1 (en) * 1999-10-01 2007-12-18 International Business Machines Corporation Method, system, and program for distributing software between computer systems
CA2369304A1 (en) * 2002-01-30 2003-07-30 Cloakware Corporation A protocol to hide cryptographic private keys
US8055910B2 (en) * 2003-07-07 2011-11-08 Rovi Solutions Corporation Reprogrammable security for controlling piracy and enabling interactive content
US7992193B2 (en) * 2005-03-17 2011-08-02 Cisco Technology, Inc. Method and apparatus to secure AAA protocol messages
US8111826B2 (en) 2006-01-11 2012-02-07 Mitsubishi Electric Corporation Apparatus for generating elliptic curve cryptographic parameter, apparatus for processing elliptic curve cryptograph, program for generating elliptic curve cryptographic parameter, and program for processing elliptic cyptograph
US8082452B2 (en) 2006-12-06 2011-12-20 George Mason Intellectual Properties, Inc. Protecting sensitive data associations
WO2008071795A2 (en) * 2006-12-15 2008-06-19 Boesgaard Soerensen Hans Marti Digital data authentication
US20080147555A1 (en) 2006-12-18 2008-06-19 Daryl Carvis Cromer System and Method for Using a Hypervisor to Control Access to a Rental Computer
US8661552B2 (en) 2007-06-28 2014-02-25 Microsoft Corporation Provisioning a computing system for digital rights management
US8462954B2 (en) * 2008-05-30 2013-06-11 Motorola Mobility Llc Content encryption using at least one content pre-key
WO2010090664A1 (en) 2009-02-05 2010-08-12 Wwpass Corporation Centralized authentication system with safe private data storage and method

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1145049A (ja) * 1997-07-24 1999-02-16 Matsushita Electric Ind Co Ltd 暗号装置
JP2003202931A (ja) * 2002-01-09 2003-07-18 Toshiba Corp ソフトウェアダウンロードシステム、サーバ装置、端末装置、サーバ制御プログラム、端末制御プログラム、サーバ制御方法、端末制御方法
JP2009543244A (ja) * 2006-07-12 2009-12-03 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 暗号関数を難読化する方法およびシステム
JP2010250374A (ja) * 2009-04-10 2010-11-04 Sony Corp 認証装置、認証方法、及びプログラム
WO2011064883A1 (ja) * 2009-11-27 2011-06-03 株式会社東芝 メモリチップ

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
CSNB199900255001; 池野 信一、小山 謙二: "現代暗号理論" 初版第6刷, 19971115, p.175-177, 社団法人電子情報通信学会 *
CSNG200400817001; 田中 和恵、岡本 栄司: '"ID関連情報ファイルを用いた相互通信なしの鍵共有方式"' 電子情報通信学会技術研究報告 Vol.88、No.494, 19890324, p.7-10, 社団法人電子情報通信学会 *
JPN6015002049; 池野 信一、小山 謙二: "現代暗号理論" 初版第6刷, 19971115, p.175-177, 社団法人電子情報通信学会 *
JPN6015002050; 田中 和恵、岡本 栄司: '"ID関連情報ファイルを用いた相互通信なしの鍵共有方式"' 電子情報通信学会技術研究報告 Vol.88、No.494, 19890324, p.7-10, 社団法人電子情報通信学会 *

Also Published As

Publication number Publication date
CN103703718B (zh) 2017-06-27
US20150019865A1 (en) 2015-01-15
KR20140040272A (ko) 2014-04-02
KR101579696B1 (ko) 2015-12-22
WO2013016141A1 (en) 2013-01-31
US10972439B2 (en) 2021-04-06
CA2844359A1 (en) 2013-01-31
AU2012287219A1 (en) 2014-02-13
US8782420B2 (en) 2014-07-15
AU2012287219B2 (en) 2015-07-09
DK2735117T3 (en) 2019-01-07
EP2735117A4 (en) 2015-04-15
EP2735117B1 (en) 2018-09-19
US20130024697A1 (en) 2013-01-24
CN103703718A (zh) 2014-04-02
EP2735117A1 (en) 2014-05-28
JP2016129403A (ja) 2016-07-14
CA2844359C (en) 2018-12-04

Similar Documents

Publication Publication Date Title
CN110214440B (zh) 计算系统,传送受保护数据的方法和可读存储介质
US9853957B2 (en) DRM protected video streaming on game console with secret-less application
JP4680564B2 (ja) 携帯用メディア上のコンテンツの暗号化およびデータ保護
US9489520B2 (en) Decryption and encryption of application data
EP2172868B1 (en) Information security device and information security system
CN105706048B (zh) 使用硬件信任根的媒体客户端装置鉴权
TW201814496A (zh) 資料儲存方法、資料獲取方法、裝置及系統
US20130166909A1 (en) Client-Side Player File and Content License Verification
US20060083369A1 (en) Method and apparatus for sharing and generating system key in DRM system
JP2009500766A (ja) コンテンツ保護システム間のデジタルコンテンツの複写
KR20130140948A (ko) 저장 장치의 식별자에 기반한 컨텐츠의 암복호화 장치 및 방법
TW201227390A (en) Method and apparatus for key provisioning of hardware devices
JP2016129403A (ja) 暗号化プロトコルの難読化された初期値に対するシステムおよび方法
JP7089303B2 (ja) 推論装置、処理システム、推論方法及び推論プログラム
WO2023226308A1 (zh) 一种文件共享方法、系统、电子设备及可读存储介质
US10298546B2 (en) Asymmetrical encryption of storage system to protect copyright and personal information
JP2005303370A (ja) 半導体チップ、起動プログラム、半導体チッププログラム、記憶媒体、端末装置、及び情報処理方法
KR102466015B1 (ko) 동형 암호문을 처리하는 서버 장치 및 그 방법
US12047496B1 (en) Noncustodial techniques for granular encryption and decryption
WO2022133923A1 (zh) 一种许可认证的方法、装置、电子设备、系统及存储介质
KR100959380B1 (ko) 플래시 컨텐츠 제공 방법
CN114666055A (zh) 软件数字水印的处理方法及相关装置

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140324

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140324

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150114

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150127

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20150427

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150527

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20151027