JP2007527561A - コンピュータ・デバイス上でのソフトウェアの利用を制御するためのシステム及び方法 - Google Patents

コンピュータ・デバイス上でのソフトウェアの利用を制御するためのシステム及び方法 Download PDF

Info

Publication number
JP2007527561A
JP2007527561A JP2006517581A JP2006517581A JP2007527561A JP 2007527561 A JP2007527561 A JP 2007527561A JP 2006517581 A JP2006517581 A JP 2006517581A JP 2006517581 A JP2006517581 A JP 2006517581A JP 2007527561 A JP2007527561 A JP 2007527561A
Authority
JP
Japan
Prior art keywords
key
software
string
authorization
authorization key
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
JP2006517581A
Other languages
English (en)
Inventor
ヘロド、アラン
ジェイ. エプシュタイン、アラン
ジェイ. シュライブ、ロバート
Original Assignee
シンボル テクノロジーズ インコーポレイテッド
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 シンボル テクノロジーズ インコーポレイテッド filed Critical シンボル テクノロジーズ インコーポレイテッド
Publication of JP2007527561A publication Critical patent/JP2007527561A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/51Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems at application loading time, e.g. accepting, rejecting, starting or inhibiting executable software based on integrity or source reliability
    • 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/3236Cryptographic 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 cryptographic hash functions

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Storage Device Security (AREA)

Abstract

コンピュータ・デバイス上でのソフトウェアの利用を制御するための方法及びシステムに関する。認可鍵は、デバイスに記憶されるユニーク文字列であるデバイス文字列と、デバイス上での使用が認可されたソフトウェアに記憶されるユニーク文字列であるソフトウェア文字列との関数として生成される。認可鍵は秘密鍵を用いて暗号化され、デバイスに記憶される。デバイス上でソフトウェアを使用するという要求に応答して、秘密鍵に対応する公開鍵を用いて認可鍵が解読される。試験鍵はデバイス文字列と、使用が要求されたソフトウェアに記憶されたユニーク文字列である要求ソフトウェア文字列の関数として生成される。認可鍵は試験鍵と比較される。試験鍵が認可鍵と一致する時、要求されたソフトウェアの利用が許可される。

Description

本発明は、コンピュータ・デバイス上でのソフトウェアの利用を制御するための方法及びシステムに関する。
従来のコンピュータ・デバイスでは、日々の動作において広範な種々のソフトウェア・パッケージが利用されている。現在、ソフトウェアの配布は主に、使用許諾、アクセスコード、CDキーなどにより管理されているが、そうしたセキュリティ予防策は未認可の第3者による操作を受け易い。
したがって、特定のコンピュータ・デバイス上でのソフトウェアの利用を認可するための、よりセキュアな手段が必要である。
認可鍵はデバイス文字列及びソフトウェア文字列の関数として生成される。デバイス文字列はデバイスに記憶されているユニーク文字列である。ソフトウェア文字列は、デバイス上での使用が認可されたソフトウェアに記憶されているユニーク文字列である。認可鍵は秘密鍵を用いて暗号化され、デバイスに記憶される。
デバイス上でソフトウェアを使用するという要求に応答して、秘密鍵に対応する公開鍵を用いて認可鍵が解読される。試験鍵はデバイス文字列及び要求ソフトウェア文字列の関数として生成される。要求ソフトウェア文字列は、使用が要求されたソフトウェアに記憶されているユニーク文字列である。認可鍵は試験鍵と比較される。試験鍵が認可鍵と一致する時、デバイス上で使用が要求されたソフトウェアの利用は許可される。
添付の図面は本発明のさらなる理解を提供するためのものであり、明細書に組み込まれてその一部を構成し、本発明の幾つかの実施形態を例示し、明細書の記載とともに本発明の実施例を説明するように働く。
図1には、コンピュータ・デバイス上でのソフトウェアの利用を制御するための例示的なシステムを示す。このシステムにおいては、ソフトウェア4の使用は特定のプラットフォーム2a,2dにのみ認められている。プラットフォーム2a〜2dは、複数のオペレーティングシステム(例えば、ウィンドウズ(登録商標)、ユニックス(登録商標)、Apple(登録商標)OS)のうちの1つにて動作する、任意のコンピュータ・デバイス(例えば、パーソナル・コンピュータ、ハンドヘルドデバイス、PDAなど)であってよい。ソフトウェア4は、その使用の制限がハードウェア/ソフトウェアの製造者により所望される任意のプログラム/コード(例えば、オフィス・パッケージソフトウェア(suite)、画像認識ソフトウェアなど)であってよい。
特定のプラットフォーム2a,2dに対するソフトウェア4の制限は、このソフトウェアに対する認可鍵14a,14dを作成し、対応するプラットフォームのレジストリ16a,16dに記憶することにより達成され得る。レジストリ16a〜16dの各々は、特定のプラットフォーム2a〜2dに関する情報(例えば、製造日、製造者など)を格納し
得る、コンピュータ・デバイスのディジタル記憶領域(例えば、ROM、ハードディスクなど)である。
以下でより詳細に説明する通り、図2,4に示すソフトウェア4に記憶された第2の文字列10と共に、それぞれプラットフォーム2a,2dに記憶された第1の文字列6a,6dを用いて認可鍵14a,14dを作成する場合、プラットフォーム2a,2dのみがソフトウェアを利用し得る。第1の文字列6a,6d及び第2の文字列10は、それぞれプラットフォーム2a,2d及びソフトウェア4に対しユニークであり、且つ特異的である。第1の文字列6a〜6dは製造工程中に製造者により作成され、プラットフォーム2a〜2dに記憶され得る。第2の文字列10も同様に作成されソフトウェア4に記憶され得る。プラットフォームの文字列6は、相手先商標製品製造業者(OEM)の文字列及び製品名の文字列の組み合わせなど、プラットフォーム2に存在する文字列を組み合わせることにより形成されてよい。第1の文字列6a,6d及び第2の文字列10は、製造工程後、ユーザにより変更されてもよい。第1の文字列6a,6d及び第2の文字列10はユニークであるという性質のため、並びに利用可能な変更手段が存在しないため、それらの文字列はプラットフォーム2a,2d及びソフトウェア4を識別及び認可する目的に適する。
図1に示すように、プラットフォーム2a,2dのみが適正な認可鍵14a,14dを有するので、それらのプラットフォームのみにソフトウェア4を実行することが認められる。認可鍵14a,14dは、それぞれプラットフォーム2a,2dに記憶された第1の文字列6a,6dと、第2の文字列10とを用いて作成される。認可鍵14a,14dを作成する際にプラットフォーム2a,2dが用いられるため、それらのプラットフォームのみがソフトウェア4を実行することが可能である。反対に、プラットフォーム2b,2cは必要な認可鍵を有さない。したがって、これらのプラットフォーム2b、2cがソフトウェア4を利用することは不可能である。
図2には、それぞれプラットフォーム2及びソフトウェア4に記憶された第1の文字列6及び第2の文字列10を用いた認可鍵14の生成を示す。上述のように、第1の文字列6及び第2の文字列10は、それらの文字列の存在場所(即ち、プラットフォーム2及びソフトウェア4)に対し特異的、且つユニークである。
図4には認可鍵14を作成するための方法を示す。認可鍵14は、プラットフォーム2にソフトウェア4の利用が認められているか否かを判定するために、続いてプラットフォーム2により用いられ得る。工程32にて、第1の文字列6及び第2の文字列10を利用し、第3の文字列8を生成する。例えば、第1の文字列6及び第2の文字列10を組み合わせること、又は連結すること(concatenating)により、第3の文字列8が形成されてよい。この工程はユニークな認可鍵14の作成のために重要である。第1の文字列6はプラットフォーム2に対しユニークであり、第2の文字列はソフトウェア4に対しユニークであるため、結果として得られる第3の文字列8は、第3の文字列8の作成に用いられるプラットフォーム2及びソフトウェア4の組み合わせに対してのみ特異的である。
工程34にて、第1の暗号鍵12を形成するために第3の文字列8をハッシュ化(hash)してもよい。詳細には、従来のハッシュ化アルゴリズムを用いて第3の文字列8のハッシュ値を生成してよい。この目的のために、複数のハッシュ化アルゴリズム(例えば、MD2,MD4,MD5,SHA−1など)のうちの任意の1つを用いてよいことを、当業者は認めるであろう。ハッシュ化アルゴリズムはハッシュ化関数の一部であり、1組のデータ(即ち、第3の文字列8)を、より計算処理に適切な別の形態(即ち、暗号鍵12)へ変形する。逆にハッシュ化しない限り、ハッシュ化されたデータを利用して元のデ
ータ(即ち、第3の文字列8)を取得することは不可能であるため、第3の文字列8をハッシュ化することにより、別のレベルのセキュリティも提供され得る。
第3の文字列8をハッシュ化した後、結果として得られる第1の暗号鍵12を、工程36にて、複数の暗号スキームのうちの1つを用いて暗号化し、認可鍵14を形成する。例えば、秘密鍵/公開鍵ペアのうちの秘密鍵を用いて第1の暗号鍵12を暗号化してよい。秘密鍵/公開鍵ペアのアルゴリズムは従来のPGPシステムと同様であり、秘密鍵はメッセージ(例えば、電子メール)を暗号化するために用いられ、公開鍵は以前に暗号化したメッセージを解読するために用いられる。PGPシステムは以下の方式で動作され得る。即ち、メッセージの作成者は秘密鍵/公開鍵ペアのうち片方の鍵を所有し、その鍵を用いてメッセージを暗号化し、他方の鍵は作成者により送信されたメッセージを解読する必要のある者へ配布される。本発明においては、秘密鍵/公開鍵ペアを実質的にPGPシステムと同様の方式で用いてよく、暗号鍵12は、秘密鍵を用いて暗号化されるバイナリ・ラージ・オブジェクト(blob)に出力される。blobとは、1つ以上の固定長ヘッダ構造とコンテキストに特異的なデータとを含むビット・シーケンスの総称である。続いて、このblobを認可鍵14としてレジストリ16に記憶してもよい。
工程38にて、認可鍵14をプラットフォーム2のレジストリ16に記憶する。認可鍵14は、例えば、ファイルへ出力され、プラットフォーム2の任意数のコンピュータ・デバイスにコピーされ得るblobの形態であってもよい。結果として、プラットフォーム2のコンピュータ・デバイスの全てがソフトウェア4を動作することが可能となり、これにより認可鍵14の量産における困難は非常に減少される。
図3には、プラットフォーム2上でのソフトウェア4の利用を認可するためのシステムを示す。プラットフォーム2は、図2,4に示した方法を用いて作成された後に認可鍵14が記憶されるレジストリ16を備える。プラットフォーム2上でのソフトウェア4の動作に先立ち、プラットフォーム2上での実行が認可されるか否かを認可鍵14を用いることによりソフトウェア4が判定する必要がある。
図5には、ソフトウェア4にプラットフォーム2上での実行が認可されているか否かを判定するための方法を示す。工程42にて、認可鍵14をレジストリ16から抽出するとともに、第1の暗号鍵12を取得するために認可鍵14を解読する。この解読は、図3の工程36にて用いたのと同一の秘密鍵/公開鍵ペアの公開鍵を用いることにより達成され得る。この工程はPGPシステムにおける解読処理と同様であり、公開鍵は、秘密鍵を用いて暗号化されたメッセージを解読するために用いられる。認可鍵14を解読するために用いた公開鍵が、第1の暗号鍵12を暗号化するために用いた秘密鍵と同一の秘密鍵/公開鍵ペアに由来する場合、この解読の結果として生成される第2の暗号鍵28は第1の暗号鍵12と同一である。
工程44,46にて、プラットフォーム2及びソフトウェア4は、第4の文字列20及び第5の文字列26から第2の暗号鍵28を作成する。これらの文字列は、それぞれプラットフォーム2及びソフトウェア4に配置されている。工程44にて、第4の文字列20及び第5の文字列26が組み合わせて、第6の文字列24を形成する。ソフトウェア4の使用に対する認可は、最終的には第3の文字列8と第6の文字列24との比較に基づくため、連結又は他の方法のいずれであれ、工程32にて第1の文字列6及び第2の文字列10を組み合わせて第3の文字列8を形成したのと同じ方式で、第4の文字列20及び第5の文字列26を組み合わせることが重要である。工程32,44にて異なる組み合わせ方法を用いた場合、第3の文字列8と第6の文字列24とが同一となることはなく、ソフトウェアの使用に対する認可が付与されることはない。工程46にて、第6の文字列24をハッシュ化し、第2の暗号鍵28を形成する。
図5に示した方法において、第6の文字列24と第3の文字列8とを比較することにより、プラットフォーム2での実行が認可されるか否かをソフトウェア4が判定することが可能となる。第6の文字列24と第3の文字列8とが同一である場合、プラットフォーム2にソフトウェア4の利用が認可される。したがって、ソフトウェア4により第6の文字列24及び第3の文字列8が適正に解析されることを保証するため、工程46にて用いられるハッシュ化アルゴリズムは工程34にて用いられるハッシュ化アルゴリズムと正確に同一である必要がある。工程46,34にて用いられるハッシュ化関数が異なる場合、第6の文字列24と第3の文字列8が同一であっても、それらのハッシュ化関数により結果として得られるハッシュ化の結果は2つの文字列で異なる。ハッシュ化の結果における差により、今度は、第1の暗号鍵12とは異なる第2の暗号鍵28が生成される。図5に示した方法において、主な試験は第1の暗号鍵12と第2の暗号鍵28との比較によるため、2つの鍵の間に差が存在すると、実際にはソフトウェア4は認可されていたにもかかわらず、ソフトウェア2に対する認可が拒否される。
工程48〜54にて、第1の暗号鍵12及び第2の暗号鍵28を利用しデータを解析することにより、認可鍵14を作成するために実際にプラットフォーム2と共にソフトウェア4が用いられたか否かが判定される。データは、プラットフォーム2又はソフトウェア4に記憶されている任意のファイル、コード、又は変数であり得る(例えば、第1の文字列6、第2の文字列10、第3の文字列8など)。以下で説明するように、データは暗号鍵12,28の行う試験のための単なるサンプルを提供することから、データの含む情報は重要ではない。工程48にて、第1の暗号鍵48を用いて第1のデータを暗号化し、第2のデータを生成する。工程50にて、第2の暗号鍵12を用いて第2のデータを解読し、第3のデータを生成する。
工程52にて、ソフトウェア4は第1のデータを第3のデータ(即ち、第1のデータを暗号化し解読した結果)と比較する。第1のデータと第3のデータとが同一(即ち、暗号化処理と解読処理が可逆)である場合、第1の暗号鍵12と第2の暗号鍵28とは同一である。第1の暗号鍵12及び第2の暗号鍵28が正確に同一であるため、第3の文字列8及び第6の文字列24は同じソースから取得されたことになる(即ち、認可鍵14を作成するために、実際にプラットフォーム2及びソフトウェア4が用いられた)。この場合、工程56にて、ソフトウェア4にプラットフォーム2上での実行が認可される。
しかしながら、第1のデータのサンプルと第3のデータのサンプルとが異なる場合には、認可鍵14の作成においてソフトウェア4が用いられなかったことを意味している。換言すると、第3の文字列8と第6の文字列24とが異なるのは、認可鍵14の作成において用いられたのとは異なるプラットフォーム2及びソフトウェア4に記憶されているためである。結果として、工程54にて、ソフトウェア4にはプラットフォーム2上での動作が禁止される。
本発明により、一定のソフトウェアのみが特定のプラットフォーム又はコンピュータ・デバイス上で実行されることを、製造者又はソフトウェア制作者に保証することが可能となる。ソフトウェア及びプラットフォームに対するユニーク文字列を用いて認可鍵を作成するため、1つのプラットフォームから別のプラットフォームへ認可鍵をコピーすることは無効である。これにより、ソフトウェア及びプラットフォームは動作に先立ち、そのソフトウェア及びプラットフォームが実際に用いられ認可鍵が作成されたかを照合する必要があるため、1つのプラットフォームから別のプラットフォームへ認可鍵をコピーすることが阻止される。
本発明は、1つの特定の種類のソフトウェアを実行するのみのコンピュータ・デバイス
(例えば、ハンドヘルド・スキャナ及びイメージャ(imager)など)における未認可ソフトウェアの使用の防止に、特に有用である。それらのデバイスにおいては、通常、デバイスの製造に加え、そのデバイスに必要なソフトウェアの提供も、1つの業者が行う。本発明以前においては、元の製造者の許可なくして第3者が元のデバイスを複製し、そのデバイス上で元のソフトウェアを使用することが可能であった。本発明により、複製デバイスは第3者に対し有用でなくなる。複製デバイスは必要な認可コードを有さないため、元のソフトウェアを動作させることは不可能となる。
セキュリティ性能の限定された一部のオペレーティングシステムにおける制限を克服するために、本発明が有利に利用され得る。例えば、一部のオペレーティングシステム(例えば、ウィンドウズ(登録商標)CE)は一般データの公開鍵/秘密鍵暗号化をサポートしていない。しかしながら、それらのオペレーティングシステムは「セッション」鍵の入出力における特定の目的においては、そうした暗号化をサポートしている。本発明は、比較されるデータを鍵に組み合わせることにより、この限定された暗号化性能を利用する。プラットフォーム2及びソフトウェア4の両者に由来するデータを組合せることにより鍵を形成し、続いてそれらの鍵により、そうしたオペレーティングシステムにおいて公開鍵/秘密鍵機能を利用することが可能である。この方式にて、本発明は、そうしたオペレーティングシステムにおけるセキュリティ性能を拡張する必要を免除することにより、実装コストを減少させる。
一般データの公開鍵/秘密鍵暗号化をサポートする他のオペレーティングシステムにおいて、本発明が利用されてもよい。本発明による方法は、不明化(obfuscation)及びセキュリティのレイヤを追加する。
当業者には明らかであるように、ソフトウェア4が市場に公開された後にも、本発明により、プラットフォーム2にソフトウェア4の実行を装備させることが可能である。ユーザがプラットフォーム2上でのソフトウェア4の実行を試行する時、認可鍵14を形成するために必要な文字列をプラットフォーム2に対し伝送することにより、このことが達成され得る。
本発明の精神及び範囲から逸脱することなく、本発明の構造及び構成において種々の修正及び変形がなされ得ることが、当業者には明らかであろう。したがって、添付の特許請求の範囲及びその均等物の範囲の内にある限り、本発明は本発明の修正形態及び変形形態を包含することが意図される。
本発明によりソフトウェアの利用を制御するための例示的なシステムの図。 本発明によりソフトウェア認可鍵を作成及び記憶するための例示的なシステムの図。 本発明により特定のコンピュータ・デバイス上でのソフトウェアの実行が可能か否かを照合するための例示的なシステムの図。 本発明によりソフトウェア認可鍵を作成及び記憶するための方法の例示的な一実施形態の図。 本発明により特定のコンピュータ・デバイス上でのソフトウェアの実行が可能か否かを照合するための方法の例示的な一実施形態の図。

Claims (16)

  1. コンピュータ・デバイス上でのソフトウェアの利用を制御するための方法において、
    (a)デバイスに記憶されたユニーク文字列であるデバイス文字列と、デバイス上での使用が認可されるソフトウェアに記憶されたユニーク文字列であるソフトウェア文字列との関数として認可鍵を生成する工程と、
    (b)秘密鍵を用いて認可鍵を暗号化する工程と、
    (c)デバイスに認可鍵を記憶する工程と、
    (d)デバイス上でソフトウェアを使用するという要求に応答して、
    (i)秘密鍵に対応する公開鍵を用いて認可鍵を解読する工程と、
    (ii)使用が要求されたソフトウェアに記憶されたユニーク文字列である要求ソフトウェア文字列と、デバイス文字列との関数として試験鍵を生成する工程と、
    (iii )解読された認可鍵を試験鍵と比較する工程と、
    を実行する工程と、
    (e)試験鍵が解読された認可鍵と一致する時、デバイス上での使用が要求されたソフトウェアの利用を許可する工程とからなる方法。
  2. 工程(a)は、
    デバイス文字列とソフトウェア文字列との組み合わせ及び連結のうちの少なくとも一方を実行することにより結果の文字列を作成する工程と、
    結果の文字列をハッシュ化することにより認可鍵を生成する工程とを含む請求項1に記載の方法。
  3. 工程(b)は、
    認可鍵をバイナリ・ラージ・オブジェクトへ変換する工程と、
    秘密鍵を用いてバイナリ・ラージ・オブジェクトを暗号化することにより、暗号化された認可鍵を生成する工程とを含む請求項2に記載の方法。
  4. 工程(c)はデバイスのレジストリに認可鍵を記憶する工程を含む請求項1に記載の方法。
  5. 工程(d)の(iii )は、
    試験鍵を用いて第1のサンプルデータを暗号化することにより第2のデータを生成する工程と、
    認可鍵を用いて第2のデータを解読することにより第3のデータを生成する工程と、
    第1のデータを第3のデータと比較する工程と、
    第1のデータが第3のデータと実質的に同一である時、試験鍵は認可鍵と一致することとを含む請求項1に記載の方法。
  6. 工程(d)の(ii)は、
    デバイス文字列と要求ソフトウェア文字列との組み合わせ及び連結のうちの少なくとも一方を実行することにより、さらなる結果の文字列を作成する工程と、
    さらなる結果の文字列をハッシュ化することにより試験鍵を生成する工程とを含む請求項1に記載の方法。
  7. 公開鍵はソフトウェアと共に提供される請求項1に記載の方法。
  8. ソフトウェアの利用を制御することが可能なコンピュータ・デバイスにおいて、
    プロセッサと、
    予め読み込まれた認可鍵と、ユニーク文字列であるデバイス文字列とを記憶するメモリ
    構成とからなり、
    認可鍵はデバイス文字列と、ソフトウェア文字列との関数として生成されることと、
    ソフトウェア文字列はデバイス上での使用が認可されるソフトウェアに記憶されたユニーク文字列であることと、
    認可鍵は秘密鍵を用いて暗号化されることと、
    デバイス上でソフトウェアを使用するという要求に応答して、プロセッサが、
    秘密鍵に対応する公開鍵を用いて認可鍵を解読することと、
    使用が要求されたソフトウェアに記憶されたユニーク文字列である要求ソフトウェア文字列と、デバイス文字列との関数として試験鍵を生成することと、
    認可鍵を試験鍵と比較することと、
    試験鍵が認可鍵と一致する時、デバイス上での使用が要求されたソフトウェアの利用を許可することとを含むコンピュータ・デバイス。
  9. コンピュータ・デバイスはウィンドウズ(登録商標)CEオペレーティングシステムを用いるポータブル・コンピュータ・デバイスを含み、
    ソフトウェアはウィンドウズ(登録商標)CE互換ソフトウェアを含む請求項8に記載のコンピュータ・デバイス。
  10. 結果の文字列を作成するためのデバイス文字列とソフトウェア文字列との組み合わせ及び連結のうちの少なくとも一方により認可鍵が生成されることと、
    結果の文字列はハッシュ化されて認可鍵を生成することとを含む請求項8に記載のコンピュータ・デバイス。
  11. 認可鍵がメモリに記憶される前に、認可鍵はバイナリ・ラージ・オブジェクトへ変換されることと、バイナリ・ラージ・オブジェクトは暗号化された認可鍵を生成するために秘密鍵を用いて暗号化されることとを含む請求項10に記載のコンピュータ・デバイス。
  12. プロセッサは試験鍵を用いて第1のサンプルデータを暗号化して第2のデータを生成することと、認可鍵を用いて第2のデータを解読して第3のデータを生成することと、第1のデータを第3のデータと比較することとにより試験鍵と認可鍵とを比較することと、
    第1のデータが第3のデータと実質的に同一である時、試験鍵は認可鍵と一致することとを含む請求項8に記載のコンピュータ・デバイス。
  13. 公開鍵はソフトウェアと共に提供される請求項8に記載の方法。
  14. さらなるコンピュータ・デバイス上でのソフトウェアの利用を制御するためのコンピュータ・デバイスにおいて、
    メモリ構成と、
    さらなるデバイス文字列と、ソフトウェア文字列との関数として認可鍵を生成するプロセッサとからなり、
    ソフトウェア文字列はさらなるデバイス上での使用が認可されるソフトウェアに記憶されたユニーク文字列であることと、
    さらなるデバイス文字列はさらなるデバイスに記憶されたユニーク文字列であることと、
    認可鍵は秘密鍵を用いて暗号化されることと、
    プロセッサは認可鍵と、秘密鍵に対応する公開鍵とを記憶することと、
    さらなるデバイス上でソフトウェアを使用するという要求に応答して、さらなるデバイスが、
    公開鍵を用いて認可鍵を解読することと、
    使用が要求されたソフトウェアに記憶されたユニーク文字列である要求ソフトウェア文
    字列と、さらなるデバイス文字列との関数として試験鍵を生成することと、
    認可鍵を試験鍵と比較することと、
    試験鍵が認可鍵と一致する時、使用が要求されたソフトウェアの利用を許可することとを含むコンピュータ・デバイス。
  15. さらなるデバイスはウィンドウズ(登録商標)CEオペレーティングシステムを用いるポータブル・コンピュータ・デバイスを含み、
    ソフトウェアはウィンドウズ(登録商標)CE互換ソフトウェアを含む請求項14に記載のコンピュータ・デバイス。
  16. プロセッサに実行されることによりコンピュータ・デバイス上でのソフトウェアの利用を制御することが可能な命令のセットを記憶するコンピュータ可読記憶媒体において、
    命令のセットは、
    (a)デバイスに記憶されたユニーク文字列であるデバイス文字列と、デバイス上での使用が認可されるソフトウェアに記憶されたユニーク文字列であるソフトウェア文字列との関数として認可鍵を生成することと、
    (b)秘密鍵を用いて認可鍵を暗号化することと、
    (c)デバイスに認可鍵を記憶することと、
    (d)デバイス上でソフトウェアを使用するという要求に応答して、
    (i)秘密鍵に対応する公開鍵を用いて認可鍵を解読することと、
    (ii)使用が要求されたソフトウェアに記憶されたユニーク文字列である要求ソフトウェア文字列と、デバイス文字列との関数として試験鍵を生成することと、
    (iii )認可鍵を試験鍵と比較することと、
    を実行することと、
    (e)試験鍵が認可鍵と一致する時、デバイス上での使用が要求されたソフトウェアの利用を許可することとを実行する命令のセットであるコンピュータ可読記憶媒体。
JP2006517581A 2003-06-30 2004-06-24 コンピュータ・デバイス上でのソフトウェアの利用を制御するためのシステム及び方法 Pending JP2007527561A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/609,956 US7216238B2 (en) 2003-06-30 2003-06-30 System and method for controlling usage of software on computing devices
PCT/US2004/020142 WO2005001650A2 (en) 2003-06-30 2004-06-24 System and method for controlling usage of software on computing devices

Publications (1)

Publication Number Publication Date
JP2007527561A true JP2007527561A (ja) 2007-09-27

Family

ID=33552270

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006517581A Pending JP2007527561A (ja) 2003-06-30 2004-06-24 コンピュータ・デバイス上でのソフトウェアの利用を制御するためのシステム及び方法

Country Status (5)

Country Link
US (2) US7216238B2 (ja)
EP (1) EP1639433A2 (ja)
JP (1) JP2007527561A (ja)
CA (1) CA2529064A1 (ja)
WO (1) WO2005001650A2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018137587A (ja) * 2017-02-21 2018-08-30 日本電信電話株式会社 認証鍵共有システムおよび認証鍵共有方法

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07271865A (ja) 1994-04-01 1995-10-20 Mitsubishi Corp データベース著作権管理方法
US6424715B1 (en) * 1994-10-27 2002-07-23 Mitsubishi Corporation Digital content management system and apparatus
DE69532434T2 (de) 1994-10-27 2004-11-11 Mitsubishi Corp. Gerät für Dateiurheberrechte-Verwaltungssystem
US8595502B2 (en) 1995-09-29 2013-11-26 Intarsia Software Llc Data management system
WO2002010398A2 (en) 2000-07-31 2002-02-07 Hahn Frederick M Manipulation of genes of the mevalonate and isoprenoid pathways to create novel traits in transgenic organisms
JP4868801B2 (ja) * 2005-09-13 2012-02-01 キヤノン株式会社 ライセンス認証装置
US8635309B2 (en) 2007-08-09 2014-01-21 Hand Held Products, Inc. Methods and apparatus to change a feature set on data collection devices
US9239920B2 (en) * 2013-04-23 2016-01-19 Qualcomm Incorporated Generation of working security key based on security parameters
US9369445B2 (en) * 2013-11-08 2016-06-14 MustBin Inc. Bin enabled data object encryption and storage apparatuses, methods and systems
US20170076106A1 (en) * 2015-09-16 2017-03-16 Qualcomm Incorporated Apparatus and method to securely control a remote operation
CN113496011B (zh) * 2020-04-03 2024-01-26 杭州海康威视数字技术股份有限公司 受保护智能应用的调用权限认证方法以及智能装置
CN111639306A (zh) * 2020-04-28 2020-09-08 深圳壹账通智能科技有限公司 离线软件授权方法、装置、设备及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002333927A (ja) * 2001-05-08 2002-11-22 Sony Corp データ配付方法、データ配付方法のプログラム、データ処理方法及び記録媒体
JP2002351565A (ja) * 2001-05-23 2002-12-06 Interstate:Kk 不正使用防止システム、不正使用防止方法及び不正使用防止プログラム
WO2003036442A2 (en) * 2001-10-26 2003-05-01 Koninklijke Philips Electronics N.V. Method for binding a software data domain to specific hardware

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002333927A (ja) * 2001-05-08 2002-11-22 Sony Corp データ配付方法、データ配付方法のプログラム、データ処理方法及び記録媒体
JP2002351565A (ja) * 2001-05-23 2002-12-06 Interstate:Kk 不正使用防止システム、不正使用防止方法及び不正使用防止プログラム
WO2003036442A2 (en) * 2001-10-26 2003-05-01 Koninklijke Philips Electronics N.V. Method for binding a software data domain to specific hardware

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018137587A (ja) * 2017-02-21 2018-08-30 日本電信電話株式会社 認証鍵共有システムおよび認証鍵共有方法

Also Published As

Publication number Publication date
WO2005001650A2 (en) 2005-01-06
WO2005001650A3 (en) 2007-11-08
US7216238B2 (en) 2007-05-08
CA2529064A1 (en) 2005-01-06
US20050005134A1 (en) 2005-01-06
US20070174631A1 (en) 2007-07-26
EP1639433A2 (en) 2006-03-29

Similar Documents

Publication Publication Date Title
US9992014B2 (en) Methods for cryptographic delegation and enforcement of dynamic access to stored data
WO2021013245A1 (zh) 一种数据密钥保护方法、系统及电子设备和存储介质
US7694147B2 (en) Hashing method and system
US7320076B2 (en) Method and apparatus for a transaction-based secure storage file system
US20070174631A1 (en) System and Method for Controlling Usage of Software on Computing Devices
US8135963B2 (en) Program conversion device and program execution device
Yun et al. On protecting integrity and confidentiality of cryptographic file system for outsourced storage
JP4616345B2 (ja) 配布cdを用いて直接証明秘密鍵を装置に配布する方法
US20110246433A1 (en) Random number based data integrity verification method and system for distributed cloud storage
US20050182952A1 (en) Information processing apparatus and method and computer program
JP2013514587A (ja) 証明書失効リストを用いたコンテンツ管理方法
US7805616B1 (en) Generating and interpreting secure and system dependent software license keys
JP2006121689A (ja) Drmシステムにおけるシステムキーを共有及び生成する方法、並びにその装置
KR20080025121A (ko) 비대칭 개인키로부터 비밀키 생성
JP2003249927A (ja) Tcpaによる超安全マイグレート可能鍵
Jacob et al. Securing FPGA SoC configurations independent of their manufacturers
JP2008060671A (ja) 通信システムと管理装置
US10642962B2 (en) Licensable function for securing stored data
CN101043334B (zh) 加密和认证数据以及解密和验证数据真实性的方法和装置
JP4338185B2 (ja) ファイルの暗号化・復号方法
US20210409196A1 (en) Secure Key Storage Systems Methods And Devices
JP6047718B2 (ja) ライセンス管理システム、方法及びモジュール
US10970407B2 (en) Processes and related apparatus for secure access control
WO2022215249A1 (ja) 暗号化装置、復号装置、暗号化方法、暗号化プログラム、復号方法及び復号プログラム
JP7143841B2 (ja) 認証システム、認証装置、端末装置、認証方法、およびプログラム

Legal Events

Date Code Title Description
RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20090402

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20090402

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090406

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20090402

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100720

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20101020

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20101027

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101207

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20110111

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110511

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20110517

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20110610

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20120214

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20120217