JPH08166879A - 提供用ソフトウェアの安全性強化方法及び装置 - Google Patents

提供用ソフトウェアの安全性強化方法及び装置

Info

Publication number
JPH08166879A
JPH08166879A JP7144507A JP14450795A JPH08166879A JP H08166879 A JPH08166879 A JP H08166879A JP 7144507 A JP7144507 A JP 7144507A JP 14450795 A JP14450795 A JP 14450795A JP H08166879 A JPH08166879 A JP H08166879A
Authority
JP
Japan
Prior art keywords
software
computer
passport
application creator
license
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
JP7144507A
Other languages
English (en)
Inventor
Sheue-Ling Chang
チャン シュー−リン
James Gosling
ゴスリング ジェームズ
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.)
Sun Microsystems Inc
Original Assignee
Sun Microsystems 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 Sun Microsystems Inc filed Critical Sun Microsystems Inc
Publication of JPH08166879A publication Critical patent/JPH08166879A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/12Protecting executable software
    • G06F21/121Restricting unauthorised execution of programs
    • G06F21/125Restricting unauthorised execution of programs by manipulating the program code, e.g. source code, compiled code, interpreted code, machine code
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2211/00Indexing scheme relating to details of data-processing equipment not covered by groups G06F3/00 - G06F13/00
    • G06F2211/007Encryption, En-/decode, En-/decipher, En-/decypher, Scramble, (De-)compress
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2211/00Indexing scheme relating to details of data-processing equipment not covered by groups G06F3/00 - G06F13/00
    • G06F2211/007Encryption, En-/decode, En-/decipher, En-/decypher, Scramble, (De-)compress
    • G06F2211/008Public Key, Asymmetric Key, Asymmetric Encryption

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Technology Law (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Storage Device Security (AREA)

Abstract

(57)【要約】 【目的】 業者から提供されたソフトが認可された発売
用ソフトの正規のコピーであるかどうか、また、そのソ
フトは改竄されていないかどうかを識別すると共に暗号
化方法を用いて著作権保護の対象であるコンピュータコ
ードなどの知的財産を保護する。 【構成】 第1のコンピュータが実行するコンパイラー
26へ、秘密キー22と、公的キー32が含まれている
アプリケーション作成者のライセンス24と、ソフトウ
ェアを与えると、コンパイラー26はソフトウェアをバ
イナリーコードへ翻訳してバイナリーコード用のメッセ
ージダイジェストを算出し、第1のコンピュータは秘密
キー22を用いてメッセージダイジェストを暗号化して
アプリケーション作成者のデジタル署名が含まれた暗号
化メッセージダイジェストを作成し、第1のコンピュー
タはアプリケーション作成者のデジタル署名とアプリケ
ーション作成者のライセンスからなるソフトウェアパス
ポート38を生成し、ソフトウェアパスポート38と前
記バイナリーコードをユーザーへ提供する。

Description

【発明の詳細な説明】 【0001】 【産業上の利用分野】本願発明は公的キー暗号の利用に
関するものであり、特に、ソフトウェア提供時における
安全性と製品の固有識別を向上させる公的キー暗号の使
用に関するものである。 【0002】 【従来の技術】公的キー暗号は、2つのキーを用いる暗
号アルゴリズムに基づいている。一方のキーは暗号用
で、他方のキーは暗号解読用である。第1のキーを用い
て第2のキーを演算するアルゴリズムは知られている
が、すべての変数を知らずに第2のキーで第1のキーを
演算することはできない。この第1のキーを秘密キー(p
rivate key) 、そして第2のキーを公的キー(public ke
y)と呼ぶ。実際には、秘密キーまたは公的キーのいずれ
か一方を使用してメッセージを暗号化し、その反対のキ
ーを用いてそのメッセージを解読する。一般に秘密キー
は秘密にしておかなくてはならないが公的キーの方は誰
かに与えても構わない。メッセージやデータを保護する
ため様々な公的キー暗号方式が開発されている(Whitfi
eld Diffieの「公的キー暗号法の最初の10年間」(IE
EE会報、76巻、No.5,1988)やFahnの「今日の暗号法に
関して頻繁にたずねられる質問への回答(RSA研究所19
92を参照)。 【0003】公的キー暗号法は侵入者(以下、ハッカー
等と称す)が傍聴する危険のある公衆回線でのメッセー
ジの送信を安全に行うために使用されており、暗号パス
ワードを相手に安全に送信するといった課題を解決する
ものである。 【0004】公的キー方式はメッセージを暗号にする時
や効果的にメッセージを記す際にも使用することがで
き、受信側でメッセージの送信者を識別できるようにな
っている。また、公的キー暗号法を使用すればデータの
一部を封印したり改竄できないようにすることもでき
る。このような場合、送信者側ではデータからメッセー
ジのダイジェストを算出するが、使用するダイジェスト
はこのような目的のために暗号強化されたものである。
次に、送信者は公的キーを使用してこのメッセージのダ
イジェストを暗号化するが、この暗号化されたメッセー
ジのダイジェストのことをデジタル「署名」と呼ぶ。そ
して、データ、メッセージのダイジェスト、公的キーを
ひとまとめにする。受信側ではこのメッセージのダイジ
ェストを演算しなおして改竄されていないかどうかをチ
ェックし、前記公的キーを用いて受信したメッセージダ
イジェストを解読する。再演算して解読されたメッセー
ジのダイジェストが同一の場合は、データの改竄がなか
ったことになる。 【0005】コンピュータで順次実行する正当なプログ
ラムに「ウイルス」や「ウォーム」といったコンピュー
タコードがこっそりと挿入されることがある。この場
合、プログラムを実行するたびにこのウイルスまたはウ
ォームが貴重な情報を破壊してシステムにダメージを与
えたり、および/またはネットワーク上の他のコンピュ
ータへ感染することがある。ウイルスとウォームとは微
妙に違ったものではあるが、通常両者に共通するのは、
疑念を抱いていないコンピュータユーザーの協力なしで
はコンピュータや企業のネットワークを感染させること
はできないという点である。 【0006】今日のコンピュータ業界ではウイルスやウ
ォームによるコンピュータの感染は一般的な問題であ
る。また、企業のネットワークはこれらのウイルスやウ
ォームによる攻撃の対象になりやすく、ネットワークに
侵入したハッカー等によって情報が盗まれたり破壊され
たりする。大企業のネットワークの秘密保全が破られる
ということは、大きな損害や経済的損失が発生する可能
性があるため特にやっかいな問題である。また、企業の
ネットワークがインターネットなどの公衆回線に接続さ
れているような場合には、もっと簡単に秘密保全を破る
ことができる。世界的なネットワークに接続することで
得られる利点を損なうことなく、ハッカー等による襲撃
や感染などによるネットワークのセキュリティーへの侵
入を防ぐため企業では様々な手段を講じている。 【0007】インターネットへ接続する利点を確保しな
がらも保全性を維持するためほとんどの企業で防火壁の
設置が行われている。この防火壁とは、インターネット
でのファイル送信やテルネットへの接続を制限するもの
である。このような送信や接続を開始することができる
のは企業内回線の内部からだけであるため、外部から行
われたファイル送信やテルネット接続はこの防火壁によ
って拒否されてしまう。防火壁が設けられているため、
防火壁内の企業内回線では電子メールやネットワークニ
ュースを自由に回覧させることができる。企業が防火壁
を設けることにより、極端な機密保全手段を講じなくと
も従業員は企業内では簡単に情報を交換することができ
る。優れた防火壁を導入すれば、通常システムセキュリ
ティーに対して行われているような攻撃はほとんど防御
することが可能である。 【0008】ウイルスやウォームが企業内ネットワーク
を感染しないようにする方法の1つは、ウイルスに犯さ
れている可能性のあるプログラムを絶対に実行しないこ
とである。通常、企業内ネットワークを通じて正当に配
置されたプログラムにはウイルスは存在しないと考えら
れる。バイナリー実行ファイル、無評価シェルスクリプ
ト、ソースコードなど防火壁の外から取り込まれたもの
は全てウイルスやウォームに犯されている可能性があ
る。 【0009】しかし、このようなバイナリー実行ファイ
ル、シェルスクリプト、ソースコードなどは電子メール
の付属物として外部から企業の防火壁を通過してくる場
合がある。例えば、電子メールを用いてマルチファイル
を作成及び送信する時に使用するシェルスクリプトや、
電子メールの付属物を起動させてスタートする検査ツー
ルなどがウイルスの侵入を許す可能性がある。実行ファ
イルは、iftpプログラムや、Mosaicなど世界中に蜘蛛巣
状に張り巡らされた検索システム(browser) や、被害に
あったことのあるネットワークを有した外部契約者など
から直接取り込むことができる。 【0010】 【発明が解決しようとする課題】また、商業ソフトウェ
ア配給や提供過程でも安全性や識別の問題が発生するこ
とがある。例えば、制作会社や著者などといったソフト
ウェアに関する情報、制限付き権利の表示などはコード
そのものには付与されていないものもあり、そのかわり
に印刷物の形で供給されてる。従って、いったんパッケ
ージを開封してコードをインストールするとコードとこ
れらの情報は別々になってしまう。起動時に自己証明を
行うアプリケーションの場合でも、偽あるいは偽造の証
明が行われやすい。 【0011】販売されているソフトウェアがラベルに記
載されている製造業者から本当に提供されたものである
ことをユーザーが識別する機構はないのが実状である。
ソフトウェアの不当なコピーや販売は重大な問題であ
り、製造業者の保証付きソフトを購入していると信じて
いるユーザーが、実は保証もソフトウェアサポートもな
い海賊版ソフトウェアを購入させられていることがあ
る。ソフトウェアをネットワーク経由で配給しようとす
る時はソフトウェアの供給元を識別する問題がとくに重
要になる。ユーザーのソフトの供給元がソフトの本当の
著者とは全く関係のない者である可能性もある。さら
に、購入したソフトに本当の制作者のコードだけが記入
されているかどうかを判別する能力はユーザー側にはな
い。また、望ましくない影響を及ぼす可能性のあるウイ
ルスなど植え付ける改竄がなされていなかどうかを識別
することもユーザー側にはできない。 【0012】上記の問題は全て業者からユーザーへ、ま
た、ユーザーからユーザーへソフトを送る際に起こるも
のである。また、送信問題は送信媒体とは関係がない。
つまり、このような送信問題はフロッピーディスク、磁
気テープ、CD-ROM、回線など全ての通信媒体にあてはま
るものなのである。 【0013】本願発明は上記従来技術の有する課題に鑑
みてなされたものであり、その目的は業者から提供され
たソフトが認可された発売用ソフトの正規のコピーであ
るかどうか、また、そのソフトは改竄されておらず本来
の製造業者のコードしか含まれていないかどうかを識別
する方法及び装置を提供することにある。 【0014】また、本願発明の他の目的は、アプリケー
ション制作者と業者のデジタル署名が書き込まれた「ソ
フトウェアパスポート」を使用することで上記従来技術
の問題を解決することにある。 【0015】さらに本願発明のその他の目的は、本明細
書で公的キー暗号法と呼んでいる暗号方式を用いること
で著作権保護の対象であるコンピュータコードの形で知
的財産を保護するできるようにすることにある。 【0016】 【課題を解決するための手段】上記目的を達成するた
め、本願発明の好適な態様に係る提供用ソフトウェアの
安全性強化方法は、第1のコンピュータが実行するコン
パイラーへ、秘密キーおよび公的キーが含まれているア
プリケーション作成者のライセンスと、ソフトウェアと
を与えると、当該コンパイラーは前記ソフトウェアをバ
イナリーコードへ翻訳して当該バイナリーコード用のメ
ッセージダイジェストを算出する段階と、前記第1のコ
ンピュータが前記秘密キーを用いて前記メッセージダイ
ジェストを暗号化してアプリケーション作成者のデジタ
ル署名が含まれた暗号化メッセージダイジェストを作成
する段階と、前記第1のコンピュータが、前記アプリケ
ーション作成者のデジタル署名と前記アプリケーション
作成者のライセンスからなるソフトウェアパスポートを
生成する段階と、前記ソフトウェアパスポートおよび前
記バイナリーコードをユーザーへ提供する段階とからな
ることを特徴とする。 【0017】また、本願発明の他の好適な態様に係る提
供用ソフトウェアの安全性強化方法は、第1のコンピュ
ータが実行するコンパイラーへ、アプリケーション作成
者の秘密キーと、アプリケーション作成者の公的キーお
よびハードウェア製造業者のデジタル署名からなるアプ
リケーション作成者のライセンスと、ソフトウェアとを
与え、当該コンパイラーが前記ソフトウェアをバイナリ
ーコードへ翻訳し、かつ、当該バイナリーコード用の第
1メッセージダイジェストを算出する段階と、前記第1
のコンピュータが前記アプリケーション作成者の秘密キ
ーを用いて前記第1メッセージダイジェストを暗号化し
て、アプリケーション作成者の署名からなる暗号化第1
メッセージダイジェストを生成する段階と、前記第1コ
ンピュータが、前記アプリケーション作成者のデジタル
署名、前記アプリケーション作成者のライセンスおよび
前記バイナリーコードからなるソフトウェアパスポート
を生成する段階と、前記ソフトウェアパスポートを第2
のコンピュータへ提供する段階とからなることを特徴と
する。 【0018】本願発明のさらに他の好適な態様に係る提
供用ソフトウェアの安全性強化装置は、第1のコンピュ
ータと、秘密キーと、アプリケーション作成者のライセ
ンスと、ソフトウェアと、前記第1のコンピュータで実
行するコンパイラーであって、前記ソフトウェアをバイ
ナリーコードへ翻訳し、当該バイナリーコード用にメッ
セージダイジェストを算出するコンパイラーとから構成
されており、前記第1のコンピュータが前記秘密キーを
用いて前記メッセージダイジェストを暗号化してアプリ
ケーション作成者のデジタル署名が含まれた暗号化メッ
セージダイジェストが作成すると共に前記アプリケーシ
ョン作成者のデジタル署名と前記アプリケーション作成
者のライセンスからなるソフトウェアパスポートを生成
するものであって、前記ソフトウェアパスポートと前記
バイナリーコードをユーザーへ提供するエレメントも備
えられていることを特徴とする。 【0019】また、本願発明の他の好適な態様に係る提
供用ソフトウェアの安全性強化装置は、第1のコンピュ
ータと、アプリケーション作成者の秘密キーと、アプリ
ケーション作成者の公的キーとハードウェア製造業者の
デジタル署名からなるアプリケーション作成者のライセ
ンスと、ソフトウェアと、第1のコンピュータで実行す
るコンパイラーであって、前記ソフトウェアをバイナリ
ーコードへ翻訳し、当該バイナリーコード用に第1のメ
ッセージダイジェストを算出するコンパイラーとから構
成されており、前記コンパイラーが前記アプリケーショ
ン作成者の秘密キーを用いて前記第1メッセージダイジ
ェストの暗号化を行って前記アプリケーション作成者の
デジタル署名からなる暗号化第1メッセージダイジェス
トを作成するものであり、前記第1のコンピュータが、
前記アプリケーション作成者のデジタル署名、前記アプ
リケーション作成者のライセンス、前記バイナリーコー
ドからなるソフトウェアパスポートを生成するものであ
って、前記ソフトウェアパスポートを第2のコンピュー
タへ提供するエレメントも備えられていることを特徴と
する。 【0020】 【作用及び発明の効果】上記のように、本願発明のソフ
トウェア安全性強化及びソフトウェア提供用方法及び装
置には、本願発明の方法で保護するソースコードを備え
た第1コンピュータが設けられている。この第1コンピ
ュータにはソフト制作者の公的キーとライセンスも付与
されている。ここで、アプリケーション制作者とは一般
的には、マイクロソフト株式会社、アドーブまたはアッ
プルコンピュータ株式会社などのソフト会社を意味す
る。アプリケーション制作者のライセンスにはアプリケ
ーション制作者の名称及び公的キーなどの識別情報が含
まれている。第1コンピュータで実行するコンパイラー
プログラムはソースコードをバイナリーコードに翻訳
し、翻訳されたバイナリーコード用のメッセージダイジ
ェストを算出する。第1コンピュータではアプリケーシ
ョン制作者の公的キーを利用してメッセージダイジェス
トが暗号化されるため、暗号化されたメッセージダイジ
ェストをアプリケーション制作者のデジタル「署名」と
定義する。次に、アプリケーション制作者のデジタル署
名、アプリケーション制作者のライセンス、バイナリー
コードからなるソフトウェアパスポートが作成される。
次に、業界で周知のソフトウェア配給モデルの番号を用
いてこのソフトウェアパスポートをユーザーに提供す
る。 【0021】ソフトウェアパスポートを受領すると、ユ
ーザー側ではこのパスポートをコンピュータにロード
し、コンピュータでソフトウェアパスポートにアプリケ
ーション制作者のライセンスとデジタル署名が書き込ま
れているかどうかを判断する。ソフトウェアパスポート
にアプリケーション制作者のライセンスまたはアプリケ
ーション制作者のデジタル署名が書き込まれていない場
合には、ユーザーのコンピュータがそのソフトウェアパ
スポートを破棄してバイナリーコードは実行されない。
さらに第2の保全段階として、ユーザーのコンピュータ
でソフトウェアパスポート用第2メッセージダイジェス
トを算出してその第2メッセージダイジェストと第1メ
ッセージダイジェストを比較する。これらのメッセージ
が同じでない場合には、ユーザーのコンピュータはこの
ソフトウェアパスポートを拒否してそのコードは実行し
ない。第1メッセージと第2メッセージが同じ場合に
は、ユーザーのコンピュータはアプリケーション制作者
の公的キーをアプリケーション制作者の確認用ライセン
スから抽出する。そして、アプリケーション制作者の公
的キーを用いてアプリケーション制作者のデジタル署名
を解読する。その後、実行するバイナリーコードのメッ
セージコードと解読したアプリケーション制作者のデジ
タル署名をユーザーのコンピュータが比較し、両者が同
じ場合には、ユーザーのコンピュータはそのバイナリー
コードを実行する。このように、本願発明のソフトウェ
アパスポートを用いて配給したソフトウェア製品では、
有効なアプリケーション制作者ライセンスを発行された
正当なアプリケーション制作が作成したソフトをユーザ
ーのコンピュータで識別することができる。配給された
ソフトウェアで構成されたバイナリーコードに何らかの
不当な変更を加えても算出及び暗号化されたメッセージ
ダイジェストを比較すればそのような変更は明かになる
といった利点がある。 【0022】正規のソフトだけを実行するよう設計され
たハードウェア(computing platform)を使用した実施例
を参照しながら本願発明を説明する。ハードウェア業者
はアプリケーション作成者に対してハードウェア業者の
デジタル署名を付与するが、このデジタル署名はアプリ
ケーションライセンスの中に含まれる。第1のコンピュ
ータではソフトウェアをバイナリーコードに翻訳し、こ
のバイナリーコード用の第1メッセージダイジェストを
算出する。次に、アプリケーション制作者の公的キーを
用いて第1コンピュータでは前記第1メッセージダイジ
ェストを暗号化する。従って、暗号化された第1メッセ
ージダイジェストをアプリケーション制作者のデジタル
署名と定義する。次にアプリケーション作成者のデジタ
ル署名、アプリケーション作成者のライセンス、バイナ
リーコードが書き込まれたソフトウェアパスポートを生
成する。このソフトウェアパスポートは既存のソフトウ
ェア配給経路を経由してユーザーへ提供される。ユーザ
ーのハードウェア、すなわち、コンピュータ、ビデオゲ
ームボックス、ホームターミナルボックスなどには装置
製造業者の公的キーが与えられている。ソフトウェアパ
スポートを受け取ると、ハードウェアではそのソフトウ
ェアパスポートにアプリケーション作成者のライセンス
が書き込まれているかどうかを判断する。もし書き込ま
れていない場合には、ハードウェアはそのコードの実行
を拒絶する。これに対して、ソフトウェアパスポートが
記載されている場合には、ハードウェアはパスポートか
らアプリケーション作成者のライセンスを取り出してパ
スポートにハードウェア製造業者の署名が記載されてい
るかどうかを判断する。このハードウェア製造業者の署
名は、ハードウェアに組み込まれている公的キーを用い
て解読する。ハードウェアでは、アプリケーション作成
者のライセンスのメッセージダイジェストを再度演算し
て再演算されたメッセージダイジェストと受領したメッ
セージダイジェストを比較する。これらが同一のもので
ない場合には、このソフトウェアパスポートは正当なも
のではないと見なされて拒否される。しかし、もしこれ
らのメッセージダイジェストが同一であれば、ハードウ
ェアはアプリケーション作成者のライセンスからアプリ
ケーション作成者の公的キーを抽出し、また、アプリケ
ーション作成者のデジタル署名の抽出も行う。ハードウ
ェアでは実行するアプリケーションソフトからなるバイ
ナリーコードのメッセージダイジェストを再度演算し、
その後、アプリケーション作成者の公的キーを用いてア
プリケーション作成者のデジタル署名を解読する。さら
に、ハードウェアは、再演算したバイナリーコード用メ
ッセージコードと解読されたアプリケーション作成者の
署名を比較する。これらが同一の場合には、ハードウェ
アはバイナリーコードを実行する。しかしながら、再演
算したメッセージダイジェストと解読したアプリケーシ
ョン作成者の署名が同一でない場合には、そのソフトウ
ェアパスポートは拒否され、バイナリーコードは実行さ
れない。これにより、ウイルスやウォームなどに汚染さ
れている可能性のあるプログラムの実行を防止すること
が可能になる。 【0023】 【実施例】本願明細書で使用するアルゴリズムとは一貫
性のある一連の工程であって所望の結果を導くものであ
る。この工程では物理量を物理的に操作しなくてはなら
ない。必ずという訳ではないが、一般にこれらの物理量
は記憶、送信、結合、比較、表示あるいは操作が可能な
電気または磁気信号の形をとることができる。多くの場
合、これらの信号はビット、値、メッセージ、名称、エ
レメント、符号、操作、項、数字などで表現すると共通
して利用できて都合がよい。しかしながら、これに類似
する用語は全て適当な物理量に関連するものであって、
物理量に付与した簡便なラベルにしかすぎないというこ
とは留意しなくてはならない。 【0024】本願発明で説明する作業とは機械的な作業
である。本願発明の作業を実行する装置としては、汎用
デジタルコンピュータなどの装置がある。本願明細書に
おいては、コンピュータを操作する操作方法と演算自体
の方法とを区別する必要がある。本出願は、一連のネッ
トワークに接続されたコンピュータを操作する段階と、
電気またはその他の物理的な信号を処理して所望の物理
的信号を生成する段階からなる方法に関するものであ
る。 【0025】また、本出願はこれらの作業を実行する装
置に関するものでもある。当該装置は目的に応じて特別
に構成することが可能であるし、あるいは、コンピュー
タに記憶されているコンピュータプログラムで選択的に
起動させたり再構築される汎用コンピュータで構成する
ことも可能である。本願明細書に開示されている方法は
特定のコンピュータや装置とは本質的には無関係であ
る。本願発明によれば様々な汎用機器でプログラムを使
用でき、また、必要な方法を実行させるために特別に装
置を構成すれば一層便利である。これの装置に必要な構
成はこれから述べる詳細な説明で明らかにする。 【0026】また、詳細な説明では本願発明が十分に理
解できるよう装置構成、代表的なデータ、コンピュータ
コードの構成、暗号方法、デバイスなどについて具体的
かつ詳細に説明する。しかしながら、当業者には自明で
あるがこれらの具体的な説明によらなくとも本願発明は
実施することができる。また、本願発明の内容が不明確
にならないよう周知の回路や構成は詳細な説明を省略す
る。さらに、「認識」、「識別」、「比較」、「調
査」、「利用」、「発見」、「判断」、「説明要求」、
「認証」などの特定の用語を本願明細書では使用してい
るが、これらの用語は当該技術分野で使用される用語で
ある。これらの用語を使用すると、コンピュータや電子
装置の擬人化しているようにとらえることができるが、
人のように装置の機能を簡単に説明するためのものであ
る。例えば、本願明細書において電子装置が何かを「判
断する」というのは、本願発明に従って電子装置が変更
またはプログラムされていることを簡単に述べているの
である。従って、明細書に記載されている機能と日常的
な人間の属性を混同しないように注意する必要がある。
これらの機能はあくまで機械的な機能である。 【0027】ハードウェアの具体例 図1は本願発明のデータ処理装置の構成を示したもので
ある。コンピュータ10は3つの主要部から構成されて
いる。すなわち、第1の部品は、入出力(I/O)回路
12であって、コンピュータ10の他の部分との間にお
いて所定の形式で情報を送受信する時に使用される。コ
ンピュータ10のもう一つの主要部品は中央演算処理装
置(CPU)13であって、このCPUはI/O回路1
2とメモリー14に接続されている。これらのエレメン
トはほとんどの汎用コンピュータに通常備えられたもの
であり、実際、このコンピュータ10は広い範囲のデー
タ処理装置を代表するものと考えて良い。また、本願発
明においてこのコンピュータ10はネットワークに接続
されている。さらに、コンピュータ10には後から説明
する本願発明の方法を用いた暗号化・解読回路も備えて
おり、本願発明はコンピュータ10が実行するソフトウ
ェアで実現することができる。図に示すようにラスタ型
表示モニター16はI/O回路12に接続されており、
本願発明によってCPU13が生成する画像が表示され
る。当然のことであるが、他の周知な装置、例えば、陰
極線管(CRT)などの表示装置もモニター16として
使用することができる。 【0028】本願発明のソフトウェアパスポートは、本
当のパスポートで人物を識別するのと同じようにソフト
ウェアまたは何らかの機械コード(以下、コードと称
す)の一部を識別する。本願発明の思想は、様々な国家
との間で信頼の基礎を形成している実際のパスポート制
度と同じものである。実際のパスポートは国境警備の役
人が入国する者を1人づつ確認するためのもので、その
判断は入国する者のパスポートを基にして行われる。後
で説明するように、ソフトウェアパスポートはソフトウ
ェア製品を提供する近代的な販売プロセスである。ソフ
トウェアパスポートはソフトウェア製品に身元と製品名
を与えるものである。このソフトウェアパスポートは信
頼モデルの基礎を築くためのもので、ソフトウェアのパ
スポートに記載されている情報を基にしてソフトウェア
製品が本物であるかどうかの判断及び識別をユーザーの
コンピュータで行うことができる。 【0029】図2にはコンピュータコード(ソフトウェ
アの一部を含む)とソフトウェアパスポートを別々のフ
ァイルに納めた本願発明のソフトウェアパスポートの概
念図であり、図3はソフトウェアの一部を含むコンピュ
ータコードとソフトウェアパスポートを同一のファイル
に納めた本願発明のソフトウェアパスポートを使用する
様子を示した図である。 【0030】図2及び図3に示すように、本願発明のソ
フトウェアパスポートに記載されている情報とは、具体
的なソフトウェア製品の名称やその他の関連情報といっ
た製品の情報と、製品を製造した会社またはソフトウェ
アアプリケーション作成者の名前からなる会社情報と、
ソフトウェアパスポートの発行日とそのパスポートの期
限からなる有効日と、著作権注意書きやその他の説明文
からなる制限付き権利の説明文と、ユーザーへ提供され
た実行可能なアプリケーションコードからなるソフトウ
ェアコード本体と、アプリケーション作成者のライセン
スと、ソフトウェアアプリケーション作成者のデジタル
署名とからなる。 【0031】アプリケーション作成者のライセンスとデ
ジタル署名をさらに詳細に説明すれば、ソフトウェアパ
スポートの構成が自明なものであることが明らかになる
であろう。 【0032】ソフトウェア製造業者のデジタル署名 デジタル「署名」は特定の暗号化技術を用いて作成する
が、具体的には、ソフトウェアコード(以下、コードと
称す)の一部であるメッセージダイジェストを算出し、
署名者の秘密キーを用いてそのメッセージダイジェスト
を暗号化して作成する。メッセージダイジェストアルゴ
リズムとしてはMD2、MD4、MD5アルゴリズムの
ようにRSA 社からすでに多数のアルゴリズムが提供され
ている。署名した者は秘密キーを知られないようにして
いるため秘密暗号化技術を用いれば署名の偽造は極めて
困難になる。Diffie-Helman 証明方法(Diffie-Helman c
ertificates)と公的キー暗号法の詳しい操作説明につい
ては、Whitefield Diffie「公的キー暗号法の最初の1
0年」(Vo. 76, No. 5, IEEE会報、1988年5月)
と、Whitefield Diffie et al,「認証用キーと認証キー
の交換(Autenticationand Authenticated Key Exchange
s )」に記載されている。 【0033】コードの一部をメッセージダイジェストに
算出するというのは、ある意味ではソフトウェアのスナ
ップ写真を撮ることに例えることができるであろう。コ
ードが変わると、そのコードのメッセージダイジェスト
にも同じ変化が現れる。本願発明の装置では、この「デ
ジタル署名」を発売前に製品に捺印するのである。この
デジタル署名によって製品とその製造業者の関係が明確
になるため、消費者は製造業者の評判を元にして製品の
品質を評価することができる。また、この署名があれば
製品が本物かどうかを消費者が区別できる。 【0034】ソフトウェア製造業者のライセンス 本願発明のソフトウェア製造業者のライセンス(以下、
アプリケーション制作者のライセンスと称する場合もあ
る)は、米国において州から発行されている家屋修繕請
負業者ライセンス(home repair contractor's license)
に似た証明書のようなものである。ソフトウェア製造業
者のライセンスは、特定のソフトウェア製造業務を行う
許可をその業者が得ていることを証明及び確認するため
のものである。ソフトウェア業者のライセンスはコンピ
ュータソフトウェア業界が設立した信頼のおける機関か
ら発行される。請負業者のライセンスを発行する前に州
政府が行うのと同じように、ソフトウェア製造業者にラ
イセンスを発行する前に、この機関は決められた処理を
行って業者が人物か企業かを判別し、次にこの業者の業
務上の技量を確かめる。便宜上、当該明細書では、信頼
のおける機関のことをソフトウェア出版局(Software Pu
blishing Authority: SPA)と呼ぶ。 【0035】ソフトウェア製造業者のライセンスには次
のような情報が含まれている。すなわち、製造業者の氏
名、ライセンスの発行日、ライセンスの期限、製造業者
の公的キー、出版局の名称すなわちSPA 、SPA のデジタ
ル署名である。 【0036】ソフトウェア製造業者のライセンスによっ
て、アプリケーション制作者とその氏名及び公的キーが
関連づけられる。ソフトウェア製造業者は製造した複数
の製品すべてに署名することができる。ライセンスに隠
されている公的キーはライセンスを所有している人物に
所属する。この公的キーを用いれば、後で第三者が製造
業者のデジタル署名を確認するができる。製品を購入し
たユーザーは、製造業者のIDに隠されている公的キーを
用いてデジタル署名を確認することで製品が本物である
かどうかを判断できる。 【0037】SPA のデジタル署名は、製造業者のIDのメ
ッセージダイジェストを演算し、次に、SPA の秘密キー
を用いてそのメッセージダイジェストを暗号化して作成
する。SPA の秘密キーはSPA が機密にしているため、SP
A の署名を第三者が偽造して偽のIDを作成することは簡
単にはできない。 【0038】本願発明においては、コードを翻訳する前
にソフトウェアアプリケーション作成者(SW)からコ
ンパイラーへ3つの主要な情報が供給される。 【0039】すなわち、アプリケーション作成者が作成
したソースコードと、アプリケーション作成者の秘密キ
ーと、アプリケーション作成者のライセンスである。 【0040】パスポートに書き込まれているコードの中
には、様々なコンピュータ言語、アセンブリコード、バ
イナリー機械コード、またはデータの形をしたソースコ
ードを含めることができる。このソースコードの記憶形
式には様々なものがある。例えば、ソースコードの一部
をパスポートにクリアなテキスト状態で記憶させたり、
あるいは、Huffman 符号法などの特定の周知な圧縮アル
ゴリズムを用いて、実行可能なバイナリー機械コードの
一部をパスポートに圧縮して記憶させることもできる。
特定のインプリメンテーションで使用する形式は、パス
ポートの中ではフラグで表示される。 【0041】実行可能なバイナリーコードを印刷可能な
文字セット形式で記憶させてパスポートを印刷できるよ
うにすることも可能である。ユーザー側ではこの印刷可
能な形式を逆にしてソフトウェアを再生するであろう。
また、著作権や特許のような形で知的財産として保護さ
れているコードを暗号の形でパスポートに記憶させるこ
とができる。この場合、ソフトにアクセスする前にユー
ザーはライセンス費用を支払わなくてはならないだろ
う。 【0042】図4において、本願発明のソフトウェアパ
スポートを作成するには、オリジナルソースコード2
0、アプリケーション作成者の秘密キー22、およびア
プリケーション作成者のライセンス24をコンパイラー
26へ送る。図示されているように、アプリケーション
作成者のライセンス24には作成者の氏名30、作成者
の公的キー32、有効日34が含まれている。 【0043】次に、コンパイラー26はソースコード2
0をバイナリーコードへ翻訳する。さらに、コンパイラ
ー26はバイナリーコードのメッセージダイジェストを
演算し、さらに、アプリケーション作成者から与えられ
た秘密キー22を用いてこのメッセージダイジェストを
暗号にする。このようにして暗号化されたメッセージダ
イジェスがアプリケーション作成者の署名を形成する。 【0044】アプリケーション作成者のデジタル署名が
作成されてパスポートに書き込まれる。また、アプリケ
ーション作成者のライセンス24もコンパイラー26に
よってパスポートに書き込まれる。アプリケーション作
成者のライセンス24があれば製品を購入したユーザー
は誰でも製品のメーカーを確認することができる。パス
ポートにアプリケーション作成者のデジタル署名が記載
されていれば、ユーザーは誰でも製品が本物であるかど
うかを確かめることができる。アプリケーション作成者
のライセンス24に隠されているSPA のデジタル署名が
あれば、アプリケーション作成者が許可を受けたアプリ
ケーション作成者であってSPA の公的キーを使用して署
名を暗号化していることをユーザーは確認できる。 【0045】図4に示すように、アプリケーションコー
ドが記されたソフトウェアパスポート38は所望のソフ
トウェア提供モデルを介して提供される。ユーザーはこ
のパスポート38を受領し、図1の装置のようなコンピ
ュータ装置(プラットフォームとも言う)で動くオペレ
ーティングシステム(OS)を用いてこのパスポートを実行
させる。 【0046】図5を参照しながら、ハードウェア製造業
者が本願発明を利用する場合について説明する。電子ゲ
ームの業界や対話型ケーブルテレビ用ホームターミナル
の業界では、ハードウェア製造業者は彼らが製造する特
定のハードウェアでは正当なコードだけを実行させたい
と思うことが多い。ハードウェアのアクセス性を制御す
るには、入力コードは判別可能でなくてはならず、ま
た、入力された時にハードウェアでソフトウェアを判別
できなくてはならない。図5に示すように、本願発明
は、ホームターミナルやビデオゲーム用の特定アプリケ
ーションにハードウェア製造業者がライセンスを与える
場合に適用できる。 【0047】図6と図7において、特定のハードウェア
用のアプリケーションコードを作成することを認められ
たアプリケーション作成者(「ソフトウェア作成者」と
も称す)に対してハードウェア製造業者が「プログラマ
ーライセンス」を発行する場合がある。ハードウェア製
造業者から発行されたプログラマーライセンスは、SPA
の代わりにハードウェア製造業者がデジタル的に署名し
たものである点を除けばSPA から発行されるプログラマ
ーのIDと同様のものである。プログラマーのライセンス
には次のような情報が含まれている。 【0048】すなわち、製造業者の氏名、ライセンス発
行日、ライセンスの期限、製造業者の公的キー、出版局
(ハードウェア製造業者)、ハードウェア製造業者のデ
ジタル署名なである。 【0049】ハードウェア製造業者のデジタル署名は、
ライセンスのメッセージダイジェストを演算し、次に、
ハードウェア製造業者の秘密キーを用いてこのメッセー
ジダイジェストを暗号化して作成する。 【0050】有資格のアプリケーション作成者が作成し
たソフトウェアには、作成者の本物のデジタル署名が記
された有効パスポート50(図5及び図6)と、ハード
ウェア製造業者が発行した有効アプリケーションライセ
ンス52が含まれている。ハードウェア製造業者から許
可を受けていないアプリケーション作成者には有効ライ
センスがないため、不当な人物が作成したソフトウェア
パスポートには有効なライセンスも有効な署名も記され
ていないことになる。 【0051】ハードウェア製造業者の公的キー54は、
確認のためハードウェア(例えば、ビデオゲーム)に組
み込まれている。実行時には、装置に組み込まれている
公的キー54をハードウェアが取り出して、パスポート
にアプリケーション作成者の有効なライセンスが記載さ
れているかどうかをハードウェアが確認する。ライセン
ス52のメッセージダイジェストを演算し、次に、ハー
ドウェア製造業者の秘密キーを用いてそのメッセージダ
イジェストを暗号化すると、アプリケーション作成者の
ライセンスの中にデジタル署名が書き込まれる。このよ
うに、本願発明の装置は、ハードウェア製造業者の公的
キー54を用いて署名を解読して本来のメッセージダイ
ジェストを再生することができる。アプリケーション作
成者のライセンスの確認は、1.パスポート50に記さ
れているアプリケーションライセンス52のメッセージ
ダイジェストを再演算し、2.オリジナルメッセージダ
イジェストを再生し、3.古いメッセージダイジェスト
と新しく算出されたメッセージダイジェストを比較して
行う。 【0052】これら2つのメッセージダイジェストが同
じ場合は署名は有効である。そうでない場合は、パスポ
ートは無効であるためハードウェアはソフトウェアの実
行を拒否する。図7のフローチャートは、アプリケーシ
ョン作成者のデジタル署名を確認するために本願発明の
方法で実行される工程を示している。 【0053】本願発明のセキュリティー機構を用いれば
版権や特許などの知的財産で保護されている発明や著作
の保護を図ることが可能である。知的財産を保護するた
めにさらに追加された処理手続きとしては、コンパイラ
ー(例えば、図5のコンパイラー68)で暗号化された
バイトコードを生成する手続きがある。オペレーティン
グシステム(OS)でユーザーがこのコードを実行しようと
すると、図6と図7で説明したように確認手続きが行わ
れる。しかしながら、コードが暗号化された状態では、
オペレーティングシステムはコードを実行する前にさら
に許可を求めてくる。この場合暗号キーが必要になる
が、このキーを用いるとコードを実行するためのIPライ
センスが得られる。コードの確認の後、オペレーティン
グシステムはIPライセンスを要求する。オペレーティン
グシステムでは、コードを作成した人物がIPライセンス
を署名したかどうかを確認し、次に暗号解読とコードの
実行を行う。本願発明のその他の特徴としては、コード
が暗号化されているため第三者はコードを調べることが
できない。
【図面の簡単な説明】 【図1】本発明のデータ処理装置の概略構成図 【図2】アプリケーションコードとソフトウェアパスポ
ートを別々のファイルに書き込んだ本発明のソフトウェ
アパスポートの具体的使用例を示す概念図 【図3】アプリケーションコードとソフトウェアパスポ
ートを同じファイルに書き込んだ本発明のソフトウェア
パスポートの具体的使用例を示す概念図 【図4】本発明におけるソフトウェアパスポートの生成
工程を示す概略図 【図5】本願発明を利用してハードウェア製造業者が権
利を付与する様子を示した概略図 【図6】コンピュータプログラムの実行を許可する前に
有効なソフトウェアライセンスが存在するか、また、ソ
フトウェア作成者(SW)の署名が有効であるかを確認する
ため本願発明で実行する工程を示したフローチャート 【図7】図6に示す工程の続きを示すフローチャート 【符号の説明】 10 コンピュータ 12 I/O 回路 13 CPU 14 メモリー 15 キーボード 16 CRT 20 ソースコード 22、58 アプリケーション作成者の秘密キー 24、52 アプリケーション作成者のライセンス 26、68 コンパイラー 30 アプリケーション作成者の氏名 32、62 アプリケーション作成者の公的キー 34 有効日 38、50 アプリケーションパスポート 54 ハードウェア製造業者の公的キー 60 アプリケーション作成者
フロントページの続き (72)発明者 ジェームズ ゴスリング アメリカ合衆国 カリフォルニア州 94062 ウッドサイド ピーオー ボック ス 620509

Claims (1)

  1. 【特許請求の範囲】 【請求項1】 提供用ソフトウェアの安全性強化方法に
    おいて、 第1のコンピュータが実行するコンパイラーへ、秘密キ
    ーと、公的キーが含まれているアプリケーション作成者
    のライセンスと、ソフトウェアとを与え、当該コンパイ
    ラーが前記ソフトウェアをバイナリーコードへ翻訳する
    とともに、当該バイナリーコード用のメッセージダイジ
    ェストを算出する段階と、 前記第1のコンピュータが前記秘密キーを用いて前記メ
    ッセージダイジェストを暗号化してアプリケーション作
    成者のデジタル署名が含まれた暗号化メッセージダイジ
    ェストを作成する段階と、 前記第1のコンピュータが、前記アプリケーション作成
    者のデジタル署名と前記アプリケーション作成者のライ
    センスとからなるソフトウェアパスポートを生成する段
    階と、 前記ソフトウェアパスポートおよび前記バイナリーコー
    ドをユーザーへ提供する段階とからなることを特徴とす
    る提供用ソフトウェアの安全性強化方法。 【請求項2】 前記ユーザーが前記ソフトウェアパスポ
    ートを受け取って、第2コンピュータのオペレーティン
    グシステムで前記バイナリーコードを実行する段階をさ
    らに有していることを特徴とする請求項1記載の提供用
    ソフトウェアの安全性強化方法。 【請求項3】 前記ライセンスには、前記ソフトウェア
    の著者の氏名が記載されていることを特徴とする請求項
    2記載の提供用ソフトウェアの安全性強化方法。 【請求項4】 前記ライセンスには、前記著者の公的キ
    ーも含まれていることを特徴とする請求項3記載の提供
    用ソフトウェアの安全性強化方法。 【請求項5】 前記ライセンスには、前記ソフトウェア
    の有効日が記載されていることを特徴とする請求項4記
    載の提供用ソフトウェアの安全性強化方法。 【請求項6】 前記ライセンスには、ソフトウェア出版
    局(SPA) のデジタル署名も記載されていることを特徴と
    する請求項3記載の提供用ソフトウェアの安全性強化方
    法。 【請求項7】 提供用ソフトウェアの安全性強化方法に
    おいて、 第1のコンピュータが実行するコンパイラーへ、アプリ
    ケーション作成者の秘密キーと、アプリケーション作成
    者の公的キーおよびハードウェア製造業者のデジタル署
    名からなるアプリケーション作成者のライセンスと、ソ
    フトウェアとを与え、当該コンパイラーが前記ソフトウ
    ェアをバイナリーコードへ翻訳し、かつ、当該バイナリ
    ーコード用の第1メッセージダイジェストを算出する段
    階と、 前記第1のコンピュータが前記アプリケーション作成者
    の秘密キーを用いて前記第1メッセージダイジェストを
    暗号化して、アプリケーション作成者の署名からなる暗
    号化第1メッセージダイジェストを生成する段階と、 前記第1コンピュータが、前記アプリケーション作成者
    のデジタル署名、前記アプリケーション作成者のライセ
    ンスおよび前記バイナリーコードからなるソフトウェア
    パスポートを生成する段階と、 前記ソフトウェアパスポートを第2のコンピュータへ提
    供する段階とからなることを特徴とする提供用ソフトウ
    ェアの安全性強化方法。 【請求項8】 前記第2のコンピュータが前記ソフトウ
    ェアパスポートを受信する段階と、 前記第2のコンピュータが前記ソフトウェアパスポート
    に前記アプリケーション作成者のライセンスが含まれて
    いるかどうかを判断し、前記ソフトウェアパスポートに
    前記アプリケーション作成者のライセンスが書き込まれ
    ていない場合には前記第2のコンピュータが前記ソフト
    ウェアパスポートを拒否する段階とをさらに備えている
    ことを特徴とする請求項7記載の提供用ソフトウェアの
    安全性強化方法。 【請求項9】 前記ソフトウェアパスポートから前記ア
    プリケーション作成者のライセンスを取り出す段階をさ
    らに備えていることを特徴とする請求項8記載の提供用
    ソフトウェアの安全性強化方法。 【請求項10】 前記アプリケーション作成者のライセ
    ンスに前記ハードウェア製造業者のデジタル署名が書き
    込まれているかどうかを判断して、前記ハードウェア製
    造業者のデジタル署名が書き込まれていない場合には前
    記ソフトウェアパスポートを前記第2のコンピュータが
    拒否する段階をさらに備えていることを特徴とする請求
    項9記載の提供用ソフトウェアの安全性強化方法。 【請求項11】 前記第2のコンピュータに付与されて
    いるハードウェア製造業者の公的キーを用いて前記ハー
    ドウェア製造業者のデジタル署名を解読する段階をさら
    に備えていることを特徴とする提供用ソフトウェアの安
    全性強化方法。 【請求項12】 前記第2のコンピュータが、前記ソフ
    トウェアパスポートの第2メッセージダイジェストを演
    算し、さらに、前記第1メッセージダイジェストと前記
    第2メッセージダイジェストとを比較して、これら第1
    及び第2メッセージダイジェストが同じでない場合には
    前記ソフトウェアパスポートを拒否する段階をさらに備
    えていることを特徴とする請求項11記載の提供用ソフ
    トウェアの安全性強化方法。 【請求項13】 前記第1と第2のメッセージダイジェ
    ストが同じ場合には、前記第2のコンピュータが前記ア
    プリケーション作成者のライセンスから前記アプリケー
    ション作成者の公的キーを取り出す段階をさらに備えて
    いることを特徴とする請求項12記載の提供用ソフトウ
    ェアの安全性強化方法。 【請求項14】 前記第2のコンピュータが、前記ソフ
    トウェアパスポートから前記バイナリーコードを取り出
    す段階をさらに備えていることを特徴とする請求項13
    記載の提供用ソフトウェアの安全性強化方法。 【請求項15】 前記ソフトウェアパスポートから前記
    アプリケーション作成者のデジタル署名を前記第2のコ
    ンピュータが取り出す段階をさらに備えていることを特
    徴とする請求項14記載の提供用ソフトウェアの安全性
    強化方法。 【請求項16】 前記第2のコンピュータが前記バイナ
    リーコードのメッセージダイジェストを算出する段階を
    さらに備えていることを特徴とする請求項15記載の提
    供用ソフトウェアの安全性強化方法。 【請求項17】 前記第2のコンピュータが、前記アプ
    リケーション作成者の公的キーを用いて前記アプリケー
    ション作成者のデジタル署名を解読する段階をさらに備
    えていることを特徴とする請求項16記載の提供用ソフ
    トウェアの安全性強化方法。 【請求項18】 前記第2のコンピュータが前記バイナ
    リーコードの前記メッセージダイジェストと、解読され
    た前記アプリケーション作成者のデジタル署名とを比較
    して、前記バイナリーコードの前記メッセージダイジェ
    ストと、解読された前記アプリケーション作成者の署名
    とが同じ場合には、前記第2のコンピュータが前記バイ
    ナリーコードを実行する段階をさらに備えていることを
    特徴とする請求項17記載の提供用ソフトウェアの安全
    性強化方法。 【請求項19】 提供用ソフトウェアの安全性強化装置
    において、 第1のコンピュータと、 秘密キーと、 アプリケーション作成者のライセンスと、 ソフトウェアと、 前記第1のコンピュータで実行するコンパイラーであっ
    て、前記ソフトウェアをバイナリーコードへ翻訳し、当
    該バイナリーコード用にメッセージダイジェストを算出
    するコンパイラーとから構成されており、 前記第1のコンピュータが前記秘密キーを用いて前記メ
    ッセージダイジェストを暗号化してアプリケーション作
    成者のデジタル署名が含まれた暗号化メッセージダイジ
    ェストが作成すると共に前記アプリケーション作成者の
    デジタル署名と前記アプリケーション作成者のライセン
    スからなるソフトウェアパスポートを生成するものであ
    って、 前記ソフトウェアパスポートと前記バイナリーコードを
    ユーザーへ提供するエレメントも備えられていることを
    特徴とする提供用ソフトウェアの安全性強化装置。 【請求項20】 前記ユーザーが前記ソフトウェアパス
    ポートを受け取って、第2コンピュータのオペレーティ
    ングシステムで前記バイナリーコードを実行することを
    特徴とする請求項19記載の提供用ソフトウェアの安全
    性強化装置。 【請求項21】 前記ライセンスには、前記ソフトウェ
    アの著者の氏名が記載されていることを特徴とする請求
    項20記載の提供用ソフトウェアの安全性強化装置。 【請求項22】 前記ライセンスには、前記著者の公的
    キーも含まれていることを特徴とする請求項21記載の
    提供用ソフトウェアの安全性強化装置。 【請求項23】 提供用ソフトウェアの安全性強化装置
    において、 第1のコンピュータと、 アプリケーション作成者の秘密キーと、 アプリケーション作成者の公的キーとハードウェア製造
    業者のデジタル署名からなるアプリケーション作成者の
    ライセンスと、 ソフトウェアと、 第1のコンピュータで実行するコンパイラーであって、
    前記ソフトウェアをバイナリーコードへ翻訳し、当該バ
    イナリーコード用に第1のメッセージダイジェストを算
    出するコンパイラーとから構成されており、 前記コンパイラーが前記アプリケーション作成者の秘密
    キーを用いて前記第1メッセージダイジェストの暗号化
    を行って前記アプリケーション作成者のデジタル署名か
    らなる暗号化第1メッセージダイジェストを作成するも
    のであり、 前記第1のコンピュータが、前記アプリケーション作成
    者のデジタル署名、前記アプリケーション作成者のライ
    センス、前記バイナリーコードからなるソフトウェアパ
    スポートを生成するものであって、 前記ソフトウェアパスポートを第2のコンピュータへ提
    供するエレメントも備えられていることを特徴とする提
    供用ソフトウェアの安全性強化装置。 【請求項24】 前記第2のコンピュータが前記ソフト
    ウェアパスポートを受信し、前記ソフトウェアパスポー
    トに前記アプリケーション作成者のライセンスが含まれ
    ているかどうかを判断し、前記ソフトウェアパスポート
    に前記アプリケーション作成者のライセンスが書き込ま
    れていない場合には前記第2のコンピュータが前記ソフ
    トウェアパスポートを拒否することを特徴とする請求項
    23記載の提供用ソフトウェアの安全性強化装置。 【請求項25】 前記ソフトウェアパスポートから前記
    アプリケーション作成者のライセンスを取り出すことを
    特徴とする請求項24記載の提供用ソフトウェアの安全
    性強化装置。 【請求項26】 前記第2のコンピュータが、前記アプ
    リケーション作成者のライセンスに前記ハードウェア製
    造業者のデジタル署名が書き込まれているかどうかを判
    断して、前記ハードウェア製造業者のデジタル署名が書
    き込まれていない場合には前記ソフトウェアパスポート
    を拒否するものであることを特徴とする請求項25記載
    の提供用ソフトウェアの安全性強化装置。 【請求項27】 前記第2のコンピュータに付与されて
    いるハードウェア製造業者の公的キーを用いて前記ハー
    ドウェア製造業者のデジタル署名を解読することを特徴
    とする提供用ソフトウェアの安全性強化装置。 【請求項28】 前記第2のコンピュータが前記ソフト
    ウェアパスポートの第2メッセージダイジェストを演算
    し、さらに、前記第1メッセージダイジェストと前記第
    2メッセージダイジェストとを比較して、これら第1及
    び第2メッセージダイジェストが同じでない場合には前
    記ソフトウェアパスポートを拒否するものであることを
    特徴とする請求項27記載の提供用ソフトウェアの安全
    性強化装置。 【請求項30】 前記第2のコンピュータが、前記ソフ
    トウェアパスポートから前記バイナリーコードを取り出
    すものであることを特徴とする請求項29記載の提供用
    ソフトウェアの安全性強化装置。 【請求項31】 前記ソフトウェアパスポートから前記
    アプリケーション作成者のデジタル署名を前記第2のコ
    ンピュータが取り出すことを特徴とする請求項30記載
    の提供用ソフトウェアの安全性強化装置。 【請求項32】 前記第2のコンピュータが前記バイナ
    リーコードのメッセージダイジェストを算出するもので
    あることを特徴とする請求項31記載の提供用ソフトウ
    ェアの安全性強化装置。 【請求項33】 前記第2のコンピュータが、前記アプ
    リケーション作成者の公的キーを用いて前記アプリケー
    ション作成者のデジタル署名を解読するものであること
    を特徴とする請求項32記載の提供用ソフトウェアの安
    全性強化装置。 【請求項34】 前記第2のコンピュータが、前記バイ
    ナリーコードの前記メッセージダイジェストと、解読さ
    れた前記アプリケーション作成者のデジタル署名とを比
    較して、前記バイナリーコードの前記メッセージダイジ
    ェストと、解読された前記アプリケーション作成者の署
    名とが同じ場合には、前記バイナリーコードを実行する
    ものであることを特徴とする請求項33記載の提供用ソ
    フトウェアの安全性強化装置。
JP7144507A 1994-06-10 1995-06-12 提供用ソフトウェアの安全性強化方法及び装置 Pending JPH08166879A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/258,244 US5724425A (en) 1994-06-10 1994-06-10 Method and apparatus for enhancing software security and distributing software
US258244 1994-06-10

Publications (1)

Publication Number Publication Date
JPH08166879A true JPH08166879A (ja) 1996-06-25

Family

ID=22979711

Family Applications (1)

Application Number Title Priority Date Filing Date
JP7144507A Pending JPH08166879A (ja) 1994-06-10 1995-06-12 提供用ソフトウェアの安全性強化方法及び装置

Country Status (4)

Country Link
US (1) US5724425A (ja)
EP (1) EP0686906B1 (ja)
JP (1) JPH08166879A (ja)
DE (1) DE69534212T8 (ja)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1124919A (ja) * 1997-06-20 1999-01-29 Internatl Business Mach Corp <Ibm> 安全な記憶領域でアプリケーション・データを保護する方法及び装置
JP2000148469A (ja) * 1998-06-29 2000-05-30 Sun Microsyst Inc モジュラ―アプリケ―ション間のサ―ビスへのアクセス制御
JP2000347846A (ja) * 1999-03-03 2000-12-15 Nokia Mobile Phones Ltd サーバから端末にソフトウェアをダウンロードするための方法および電話システム
JP2001517822A (ja) * 1997-09-19 2001-10-09 パク,ヒョ,ジョーン 独立的ソフトウェア登録サーバを利用したソフトウェア使用権管理システム
JP2003526965A (ja) * 1999-05-17 2003-09-09 ウェイヴ システムズ コーポレイション 公開暗号制御ユニット及びそのシステム
JP2005182592A (ja) * 2003-12-22 2005-07-07 Yokogawa Electric Corp 実行ライセンス管理装置とそれを内蔵したコントローラ
US6948072B2 (en) 2000-03-03 2005-09-20 Sony Computer Entertainment Inc. Information processing device and record medium
JP2007508613A (ja) * 2003-10-13 2007-04-05 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ アプリケーション毎の記憶領域割当て
JP2009199236A (ja) * 2008-02-20 2009-09-03 Ricoh Co Ltd 画像処理装置、認証パッケージインストール方法、認証パッケージインストールプログラム、及び記録媒体
JP2012137963A (ja) * 2010-12-27 2012-07-19 Nec Corp コンテンツ管理システム、管理サーバ、コンテンツ管理方法、及びプログラム

Families Citing this family (333)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
USRE48056E1 (en) * 1991-12-23 2020-06-16 Blanding Hovenweep, Llc Ergonomic man-machine interface incorporating adaptive pattern recognition based control system
US8352400B2 (en) 1991-12-23 2013-01-08 Hoffberg Steven M Adaptive pattern recognition based controller apparatus and method and human-factored interface therefore
USRE47908E1 (en) * 1991-12-23 2020-03-17 Blanding Hovenweep, Llc Ergonomic man-machine interface incorporating adaptive pattern recognition based control system
US6564321B2 (en) 1995-04-28 2003-05-13 Bobo Ii Charles R Systems and methods for storing, delivering, and managing messages
US5864683A (en) * 1994-10-12 1999-01-26 Secure Computing Corporartion System for providing secure internetwork by connecting type enforcing secure computers to external network for limiting access to data based on user and process access rights
JPH08263438A (ja) * 1994-11-23 1996-10-11 Xerox Corp ディジタルワークの配給及び使用制御システム並びにディジタルワークへのアクセス制御方法
US6963859B2 (en) * 1994-11-23 2005-11-08 Contentguard Holdings, Inc. Content rendering repository
US7505945B2 (en) * 1995-02-08 2009-03-17 Cryptomathic A/S Electronic negotiable documents
US7095854B1 (en) 1995-02-13 2006-08-22 Intertrust Technologies Corp. Systems and methods for secure transaction management and electronic rights protection
EP2110732A3 (en) * 1995-02-13 2009-12-09 Intertrust Technologies Corporation Systems and methods for secure transaction management and electronic rights protection
US5943422A (en) 1996-08-12 1999-08-24 Intertrust Technologies Corp. Steganographic techniques for securely delivering electronic digital rights management control information over insecure communication channels
US6157721A (en) * 1996-08-12 2000-12-05 Intertrust Technologies Corp. Systems and methods using cryptography to protect secure computing environments
US7124302B2 (en) * 1995-02-13 2006-10-17 Intertrust Technologies Corp. Systems and methods for secure transaction management and electronic rights protection
US6658568B1 (en) * 1995-02-13 2003-12-02 Intertrust Technologies Corporation Trusted infrastructure support system, methods and techniques for secure electronic commerce transaction and rights management
US5892900A (en) 1996-08-30 1999-04-06 Intertrust Technologies Corp. Systems and methods for secure transaction management and electronic rights protection
US7143290B1 (en) * 1995-02-13 2006-11-28 Intertrust Technologies Corporation Trusted and secure techniques, systems and methods for item delivery and execution
US6948070B1 (en) 1995-02-13 2005-09-20 Intertrust Technologies Corporation Systems and methods for secure transaction management and electronic rights protection
US7165174B1 (en) 1995-02-13 2007-01-16 Intertrust Technologies Corp. Trusted infrastructure support systems, methods and techniques for secure electronic commerce transaction and rights management
US7133846B1 (en) 1995-02-13 2006-11-07 Intertrust Technologies Corp. Digital certificate support system, methods and techniques for secure electronic commerce transaction and rights management
US7133845B1 (en) 1995-02-13 2006-11-07 Intertrust Technologies Corp. System and methods for secure transaction management and electronic rights protection
US7069451B1 (en) 1995-02-13 2006-06-27 Intertrust Technologies Corp. Systems and methods for secure transaction management and electronic rights protection
DE19510626A1 (de) * 1995-03-23 1996-09-26 Giesecke & Devrient Gmbh Verfahren zur Prüfung der Unversehrtheit von gespeicherten Daten auf einer Verarbeitungsanlage für Blattgut, wie z. B. Banknoten oder Wertpapiere
EP0826181A4 (en) * 1995-04-11 2005-02-09 Kinetech Inc IDENTIFYING DATA IN A DATA PROCESSING SYSTEM
US6590996B1 (en) * 2000-02-14 2003-07-08 Digimarc Corporation Color adaptive watermarking
GB9510035D0 (en) * 1995-05-18 1995-08-02 Cryptech Systems Inc Strengthened public key protocols
JP4162099B2 (ja) 1995-06-02 2008-10-08 富士通株式会社 ウィルス感染に対処する機能を持つ装置及びその記憶装置
EP0766472A3 (de) * 1995-09-26 2000-05-31 Siemens Aktiengesellschaft Verfahren zur Nutzung von elektronischen Informationsdiensten unter Sicherstellung der Anonymität von Benutzern gegenüber den Betreibern solcher Dienste
FR2739469B1 (fr) * 1995-10-03 1997-12-26 Gemplus Card Int Procede de cryptographie a cle publique base sur le logarithme discret
US6067575A (en) * 1995-12-08 2000-05-23 Sun Microsystems, Inc. System and method for generating trusted, architecture specific, compiled versions of architecture neutral programs
US5943423A (en) * 1995-12-15 1999-08-24 Entegrity Solutions Corporation Smart token system for secure electronic transactions and identification
US6219423B1 (en) 1995-12-29 2001-04-17 Intel Corporation System and method for digitally signing a digital agreement between remotely located nodes
US9530150B2 (en) * 1996-01-19 2016-12-27 Adcension, Llc Compensation model for network services
US20090012864A1 (en) * 2007-07-02 2009-01-08 Goldberg Sheldon F Compensation model for network services
US6264560B1 (en) 1996-01-19 2001-07-24 Sheldon F. Goldberg Method and system for playing games on a network
US5823879A (en) 1996-01-19 1998-10-20 Sheldon F. Goldberg Network gaming system
US5913024A (en) 1996-02-09 1999-06-15 Secure Computing Corporation Secure server utilizing separate protocol stacks
JP3848684B2 (ja) * 1996-03-22 2006-11-22 株式会社日立製作所 コンピュータネットワークシステムの管理方法,および,コンピュータネットワークシステムに用いるコンピュータ
US6226383B1 (en) * 1996-04-17 2001-05-01 Integrity Sciences, Inc. Cryptographic methods for remote authentication
GB9608696D0 (en) * 1996-04-26 1996-07-03 Europ Computer Ind Res Electronic copy protection mechanism
US7567669B2 (en) * 1996-05-17 2009-07-28 Certicom Corp. Strengthened public key protocol
US6317878B1 (en) * 1996-05-22 2001-11-13 Fujitsu Limited Information processing system and recording media
US6263442B1 (en) * 1996-05-30 2001-07-17 Sun Microsystems, Inc. System and method for securing a program's execution in a network environment
TW313642B (en) * 1996-06-11 1997-08-21 Ibm A uniform mechanism for using signed content
US6324525B1 (en) 1996-06-17 2001-11-27 Hewlett-Packard Company Settlement of aggregated electronic transactions over a network
US5796830A (en) * 1996-07-29 1998-08-18 International Business Machines Corporation Interoperable cryptographic key recovery system
US5950195A (en) * 1996-09-18 1999-09-07 Secure Computing Corporation Generalized security policy management system and method
US6181803B1 (en) 1996-09-30 2001-01-30 Intel Corporation Apparatus and method for securely processing biometric information to control access to a node
US5946396A (en) * 1996-10-25 1999-08-31 Intel Corporation System and method for ensuring integrity of audio
US6154844A (en) * 1996-11-08 2000-11-28 Finjan Software, Ltd. System and method for attaching a downloadable security profile to a downloadable
US8079086B1 (en) 1997-11-06 2011-12-13 Finjan, Inc. Malicious mobile code runtime monitoring system and methods
US7613926B2 (en) * 1997-11-06 2009-11-03 Finjan Software, Ltd Method and system for protecting a computer and a network from hostile downloadables
US9219755B2 (en) 1996-11-08 2015-12-22 Finjan, Inc. Malicious mobile code runtime monitoring system and methods
US7058822B2 (en) 2000-03-30 2006-06-06 Finjan Software, Ltd. Malicious mobile code runtime monitoring system and methods
US6167520A (en) * 1996-11-08 2000-12-26 Finjan Software, Inc. System and method for protecting a client during runtime from hostile downloadables
US5878417A (en) * 1996-11-20 1999-03-02 International Business Machines Corporation Method and apparatus for network security in browser based interfaces
AUPO474997A0 (en) * 1997-01-23 1997-02-20 Commonwealth Bank Of Australia Distribution system with authentication
EP0856968A3 (en) * 1997-01-24 2000-12-06 Nec Corporation Encryption key processing system to be incorporated into data recovery system or key setting system for generating encryption key
US20050021477A1 (en) * 1997-01-29 2005-01-27 Ganapathy Krishnan Method and system for securely incorporating electronic information into an online purchasing application
US5949877A (en) * 1997-01-30 1999-09-07 Intel Corporation Content protection for transmission systems
US6148401A (en) * 1997-02-05 2000-11-14 At&T Corp. System and method for providing assurance to a host that a piece of software possesses a particular property
US7062500B1 (en) * 1997-02-25 2006-06-13 Intertrust Technologies Corp. Techniques for defining, using and manipulating rights management data structures
US5920861A (en) 1997-02-25 1999-07-06 Intertrust Technologies Corp. Techniques for defining using and manipulating rights management data structures
US8914410B2 (en) * 1999-02-16 2014-12-16 Sonicwall, Inc. Query interface to policy server
US6408336B1 (en) 1997-03-10 2002-06-18 David S. Schneider Distributed administration of access to information
US6108420A (en) * 1997-04-10 2000-08-22 Channelware Inc. Method and system for networked installation of uniquely customized, authenticable, and traceable software application
US5999921A (en) * 1997-04-30 1999-12-07 Pitney Bowes Inc. Electronic postage meter system having plural clock system providing enhanced security
JPH10301772A (ja) 1997-04-30 1998-11-13 Sony Corp 情報処理装置および情報処理方法、並びに記録媒体
JPH10301773A (ja) * 1997-04-30 1998-11-13 Sony Corp 情報処理装置および情報処理方法、並びに記録媒体
US6381698B1 (en) 1997-05-21 2002-04-30 At&T Corp System and method for providing assurance to a host that a piece of software possesses a particular property
JPH10327147A (ja) * 1997-05-21 1998-12-08 Hitachi Ltd 電子認証公証方法およびシステム
EP0881557B1 (en) * 1997-05-28 2003-04-16 Siemens Aktiengesellschaft Computer system for protecting software and a method for protecting software
JP3595109B2 (ja) * 1997-05-28 2004-12-02 日本ユニシス株式会社 認証装置、端末装置、および、それら装置における認証方法、並びに、記憶媒体
US5958073A (en) * 1997-05-30 1999-09-28 Motorola, Inc. Reliability enhanced processing system and method for optimizing
US6122372A (en) * 1997-06-04 2000-09-19 Signet Assurance Company Llc System and method for encapsulating transaction messages with verifiable data generated identifiers
US5968136A (en) * 1997-06-05 1999-10-19 Sun Microsystems, Inc. Apparatus and method for secure device addressing
CA2293650C (en) 1997-06-09 2012-09-25 Christian Sven Collberg Obfuscation techniques for enhancing software security
US6108425A (en) * 1997-06-30 2000-08-22 International Business Machines Corporation Method and apparatus for controlling the configuration of a cryptographic processor
DE69724946T2 (de) * 1997-07-31 2004-08-12 Siemens Ag Programmvermietungssystem und Verfahren zur Vermietung von Programmen
US6233567B1 (en) * 1997-08-29 2001-05-15 Intel Corporation Method and apparatus for software licensing electronically distributed programs
ATE213575T1 (de) * 1997-10-28 2002-03-15 Brokat Infosystems Ag Verfahren zum digitalen signieren einer nachricht
US6292897B1 (en) * 1997-11-03 2001-09-18 International Business Machines Corporation Undeniable certificates for digital signature verification
US7975305B2 (en) * 1997-11-06 2011-07-05 Finjan, Inc. Method and system for adaptive rule-based content scanners for desktop computers
US8225408B2 (en) * 1997-11-06 2012-07-17 Finjan, Inc. Method and system for adaptive rule-based content scanners
US7418731B2 (en) * 1997-11-06 2008-08-26 Finjan Software, Ltd. Method and system for caching at secure gateways
US7092914B1 (en) 1997-11-06 2006-08-15 Intertrust Technologies Corporation Methods for matching, selecting, narrowcasting, and/or classifying based on rights management and/or other information
US6567793B1 (en) 1997-12-22 2003-05-20 Christian Bielefeldt Hicks Remote authorization for unlocking electronic data system and method
US6298153B1 (en) * 1998-01-16 2001-10-02 Canon Kabushiki Kaisha Digital signature method and information communication system and apparatus using such method
US6308270B1 (en) 1998-02-13 2001-10-23 Schlumberger Technologies, Inc. Validating and certifying execution of a software program with a smart card
CN100452787C (zh) 1998-03-16 2009-01-14 杰佐公司 检测进入信号从一种已知的先前逻辑状态转变的方法
US6160423A (en) * 1998-03-16 2000-12-12 Jazio, Inc. High speed source synchronous signaling for interfacing VLSI CMOS circuits to transmission lines
US7233948B1 (en) 1998-03-16 2007-06-19 Intertrust Technologies Corp. Methods and apparatus for persistent control and protection of content
US7171662B1 (en) * 1998-03-18 2007-01-30 Microsoft Corporation System and method for software licensing
US6189146B1 (en) * 1998-03-18 2001-02-13 Microsoft Corporation System and method for software licensing
BE1012292A3 (nl) * 1998-03-26 2000-09-05 Int Management Services Afgeko Werkwijze voor het identificeren van computergegevens, eenheden om deze werkwijze te realiseren, alsmede netwerk dat van deze werkwijze gebruik maakt.
US6725378B1 (en) 1998-04-15 2004-04-20 Purdue Research Foundation Network protection for denial of service attacks
US6199113B1 (en) * 1998-04-15 2001-03-06 Sun Microsystems, Inc. Apparatus and method for providing trusted network security
DE19820605A1 (de) * 1998-05-08 1999-11-11 Giesecke & Devrient Gmbh Verfahren zur sicheren Verteilung von Software
US6724895B1 (en) 1998-06-18 2004-04-20 Supersensor (Proprietary) Limited Electronic identification system and method with source authenticity verification
US6256393B1 (en) * 1998-06-23 2001-07-03 General Instrument Corporation Authorization and access control of software object residing in set-top terminals
US7711714B2 (en) * 1998-09-22 2010-05-04 Hitachi, Ltd. Method and a device for sterilizing downloaded files
US6463535B1 (en) * 1998-10-05 2002-10-08 Intel Corporation System and method for verifying the integrity and authorization of software before execution in a local platform
US7215773B1 (en) * 1998-10-14 2007-05-08 Certicom.Corp. Key validation scheme
CA2346924A1 (en) * 1998-10-16 2000-04-27 Computer Associates Think, Inc. Apparatus and method for building modeling tools
US7386727B1 (en) 1998-10-24 2008-06-10 Encorus Holdings Limited Method for digital signing of a message
US20050060549A1 (en) * 1998-10-26 2005-03-17 Microsoft Corporation Controlling access to content based on certificates and access predicates
US7174457B1 (en) * 1999-03-10 2007-02-06 Microsoft Corporation System and method for authenticating an operating system to a central processing unit, providing the CPU/OS with secure storage, and authenticating the CPU/OS to a third party
US7194092B1 (en) * 1998-10-26 2007-03-20 Microsoft Corporation Key-based secure storage
US6272469B1 (en) 1998-11-25 2001-08-07 Ge Medical Systems Global Technology Company, Llc Imaging system protocol handling method and apparatus
US6408075B1 (en) * 1998-11-30 2002-06-18 Hitachi, Ltd. Information processing equipment and IC card
DE19902722A1 (de) * 1999-01-25 2000-07-27 Giesecke & Devrient Gmbh Verfahren zum Austauschen von mindestens einem geheimen Anfangswert zwischen einer Bearbeitungsstation und einer Chipkarte
US7904187B2 (en) 1999-02-01 2011-03-08 Hoffberg Steven M Internet appliance system and method
US6763467B1 (en) 1999-02-03 2004-07-13 Cybersoft, Inc. Network traffic intercepting method and system
US7197639B1 (en) * 1999-02-05 2007-03-27 Rsa Security Inc. Cryptographic countermeasures against connection depletion attacks
JP3779837B2 (ja) * 1999-02-22 2006-05-31 松下電器産業株式会社 コンピュータ及びプログラム記録媒体
US6766305B1 (en) * 1999-03-12 2004-07-20 Curl Corporation Licensing system and method for freely distributed information
US20020019814A1 (en) * 2001-03-01 2002-02-14 Krishnamurthy Ganesan Specifying rights in a digital rights license according to events
US6973444B1 (en) * 1999-03-27 2005-12-06 Microsoft Corporation Method for interdependently validating a digital content package and a corresponding digital license
CA2365245C (en) * 1999-03-31 2008-12-09 British Telecommunications Public Limited Company Server computer for guaranteeing files integrity
US6557105B1 (en) * 1999-04-14 2003-04-29 Tut Systems, Inc. Apparatus and method for cryptographic-based license management
US6389537B1 (en) 1999-04-23 2002-05-14 Intel Corporation Platform and method for assuring integrity of trusted agent communications
US6697948B1 (en) * 1999-05-05 2004-02-24 Michael O. Rabin Methods and apparatus for protecting information
US6442559B1 (en) * 1999-06-22 2002-08-27 Microsoft Corporation Dynamic SKU management
US6658567B1 (en) * 1999-06-25 2003-12-02 Geomechanics International, Inc. Method and logic for locking geological data and an analyzer program that analyzes the geological data
US6578145B1 (en) * 1999-06-29 2003-06-10 Gilbarco Inc. Methods and systems for securely communicating personal identification number information between a security module and a plurality of secure keypad devices
US7243236B1 (en) 1999-07-29 2007-07-10 Intertrust Technologies Corp. Systems and methods for using cryptography to protect secure and insecure computing environments
US7430670B1 (en) 1999-07-29 2008-09-30 Intertrust Technologies Corp. Software self-defense systems and methods
US6684389B1 (en) * 1999-08-05 2004-01-27 Canon Kabushiki Kaisha Compiler that decrypts encrypted source code
EP1076279A1 (en) * 1999-08-13 2001-02-14 Hewlett-Packard Company Computer platforms and their methods of operation
US6757831B1 (en) * 1999-08-18 2004-06-29 Sun Microsystems, Inc. Logic block used to check instruction buffer configuration
US6675298B1 (en) * 1999-08-18 2004-01-06 Sun Microsystems, Inc. Execution of instructions using op code lengths longer than standard op code lengths to encode data
US7181014B1 (en) 1999-09-10 2007-02-20 Cisco Technology, Inc. Processing method for key exchange among broadcast or multicast groups that provides a more efficient substitute for Diffie-Hellman key exchange
US7260716B1 (en) 1999-09-29 2007-08-21 Cisco Technology, Inc. Method for overcoming the single point of failure of the central group controller in a binary tree group key exchange approach
US7103185B1 (en) 1999-12-22 2006-09-05 Cisco Technology, Inc. Method and apparatus for distributing and updating private keys of multicast group managers using directory replication
US7434046B1 (en) 1999-09-10 2008-10-07 Cisco Technology, Inc. Method and apparatus providing secure multicast group communication
US6987855B1 (en) * 1999-09-10 2006-01-17 Cisco Technology, Inc. Operational optimization of a shared secret Diffie-Hellman key exchange among broadcast or multicast groups
US6684331B1 (en) 1999-12-22 2004-01-27 Cisco Technology, Inc. Method and apparatus for distributing and updating group controllers over a wide area network using a tree structure
US7013389B1 (en) 1999-09-29 2006-03-14 Cisco Technology, Inc. Method and apparatus for creating a secure communication channel among multiple event service nodes
US20080082446A1 (en) * 1999-10-01 2008-04-03 Hicks Christian B Remote Authorization for Unlocking Electronic Data System and Method
US7734457B2 (en) * 1999-10-16 2010-06-08 Computer Associates Think, Inc. Method and system for generating dynamic comparison models
DE19950249C1 (de) * 1999-10-18 2001-02-01 Siemens Ag Elektronisches Gerät mit Softwareschutz
AU7895900A (en) * 1999-10-20 2001-04-30 George J Tomko System and method for secure data handling over a network
US7039713B1 (en) * 1999-11-09 2006-05-02 Microsoft Corporation System and method of user authentication for network communication through a policy agent
US7047411B1 (en) 1999-12-17 2006-05-16 Microsoft Corporation Server for an electronic distribution system and method of operating same
US6970849B1 (en) 1999-12-17 2005-11-29 Microsoft Corporation Inter-server communication using request with encrypted parameter
US6996720B1 (en) * 1999-12-17 2006-02-07 Microsoft Corporation System and method for accessing protected content in a rights-management architecture
US6944765B1 (en) * 1999-12-21 2005-09-13 Qualcomm, Inc. Method of authentication anonymous users while reducing potential for “middleman” fraud
US7055175B1 (en) * 2000-01-06 2006-05-30 International Business Machines Corporation Method and system for generating and using a virus free file certificate integrated within a file
US7089211B1 (en) * 2000-01-12 2006-08-08 Cisco Technology, Inc. Directory enabled secure multicast group communications
US6895501B1 (en) 2000-03-13 2005-05-17 Wrq, Inc. Method and apparatus for distributing, interpreting, and storing heterogeneous certificates in a homogenous public key infrastructure
US6687825B1 (en) 2000-03-17 2004-02-03 International Business Machines Corporation Data processing system and method for protecting data in a hard drive utilizing a signature device
US20010044820A1 (en) * 2000-04-06 2001-11-22 Scott Adam Marc Method and system for website content integrity assurance
SG103257A1 (en) * 2000-04-13 2004-04-29 Kent Ridge Digital Labs Private retrieval of digital objects
AU5350101A (en) * 2000-04-14 2001-10-30 Next Level Comm Method and apparatus for test and verification of field and terminal equipment
US6993149B2 (en) * 2001-09-25 2006-01-31 Digimarc Corporation Embedding digital watermarks in spot colors
US7493486B1 (en) * 2000-06-09 2009-02-17 Verizon Laboratories, Inc. Method and apparatus for supporting cryptographic-related activities in a public key infrastructure
US7020776B2 (en) * 2000-06-22 2006-03-28 Microsoft Corporation Cryptosystem based on a Jacobian of a curve
US7539875B1 (en) 2000-06-27 2009-05-26 Microsoft Corporation Secure repository with layers of tamper resistance and system and method for providing same
US7017189B1 (en) 2000-06-27 2006-03-21 Microsoft Corporation System and method for activating a rendering device in a multi-level rights-management architecture
US6981262B1 (en) 2000-06-27 2005-12-27 Microsoft Corporation System and method for client interaction in a multi-level rights-management architecture
US7051200B1 (en) 2000-06-27 2006-05-23 Microsoft Corporation System and method for interfacing a software process to secure repositories
US7158953B1 (en) 2000-06-27 2007-01-02 Microsoft Corporation Method and system for limiting the use of user-specific software features
US6891953B1 (en) 2000-06-27 2005-05-10 Microsoft Corporation Method and system for binding enhanced software features to a persona
US7171692B1 (en) 2000-06-27 2007-01-30 Microsoft Corporation Asynchronous communication within a server arrangement
US7225159B2 (en) * 2000-06-30 2007-05-29 Microsoft Corporation Method for authenticating and securing integrated bookstore entries
US20020046045A1 (en) * 2000-06-30 2002-04-18 Attila Narin Architecture for an electronic shopping service integratable with a software application
US6941457B1 (en) 2000-06-30 2005-09-06 Cisco Technology, Inc. Establishing a new shared secret key over a broadcast channel for a multicast group based on an old shared secret key
EP2278429B1 (en) 2000-09-21 2014-03-12 BlackBerry Limited Software code signing system and method
US7024554B1 (en) * 2000-09-29 2006-04-04 Mindspeed Technologies, Inc. Systems and methods that authorize target devices utilizing proprietary software and/or hardware
US6971023B1 (en) * 2000-10-03 2005-11-29 Mcafee, Inc. Authorizing an additional computer program module for use with a core computer program
US7395549B1 (en) 2000-10-17 2008-07-01 Sun Microsystems, Inc. Method and apparatus for providing a key distribution center without storing long-term server secrets
US9251647B2 (en) * 2000-10-19 2016-02-02 Igt Remote configuration of gaming terminals
US20040180721A1 (en) * 2000-12-21 2004-09-16 Igt Gaming terminal data repository and information distribution system
US8636596B2 (en) 2000-11-04 2014-01-28 Igt Dynamic player notices for operational changes in gaming machines
US8556698B2 (en) 2000-10-19 2013-10-15 Igt Executing multiple applications and their variations in computing environments
US6645077B2 (en) * 2000-10-19 2003-11-11 Igt Gaming terminal data repository and information distribution system
US6850161B1 (en) * 2000-10-23 2005-02-01 Verizon Corporate Services Group Inc. Systems and methods for identifying and mapping conduit location
US6889209B1 (en) * 2000-11-03 2005-05-03 Shieldip, Inc. Method and apparatus for protecting information and privacy
US7224806B2 (en) * 2000-11-13 2007-05-29 Thomson Licensing Threshold cryptography scheme for conditional access systems
US7100045B2 (en) * 2000-11-22 2006-08-29 Kabushiki Kaisha Toshiba System, method, and program for ensuring originality
US6948065B2 (en) 2000-12-27 2005-09-20 Intel Corporation Platform and method for securely transmitting an authorization secret
US7186181B2 (en) * 2001-02-02 2007-03-06 Igt Wide area program distribution and game information communication system
US20020112162A1 (en) * 2001-02-13 2002-08-15 Cocotis Thomas Andrew Authentication and verification of Web page content
US20020144121A1 (en) * 2001-03-30 2002-10-03 Ellison Carl M. Checking file integrity using signature generated in isolated execution
US7096497B2 (en) 2001-03-30 2006-08-22 Intel Corporation File checking using remote signing authority via a network
US7580988B2 (en) * 2001-04-05 2009-08-25 Intertrust Technologies Corporation System and methods for managing the distribution of electronic content
US7188342B2 (en) * 2001-04-20 2007-03-06 Microsoft Corporation Server controlled branding of client software deployed over computer networks
US7099663B2 (en) * 2001-05-31 2006-08-29 Qualcomm Inc. Safe application distribution and execution in a wireless environment
GB2376389A (en) * 2001-06-04 2002-12-11 Hewlett Packard Co Packaging evidence for long term validation
US20020191785A1 (en) * 2001-06-14 2002-12-19 International Business Machines Corporation Apparatus and method for encrypting and decrypting data with incremental data validation
US7343297B2 (en) * 2001-06-15 2008-03-11 Microsoft Corporation System and related methods for managing and enforcing software licenses
US7000115B2 (en) * 2001-06-19 2006-02-14 International Business Machines Corporation Method and apparatus for uniquely and authoritatively identifying tangible objects
US7287156B2 (en) * 2001-06-29 2007-10-23 International Business Machines Corporation Methods, systems and computer program products for authentication between clients and servers using differing authentication protocols
US20030005327A1 (en) * 2001-06-29 2003-01-02 Julian Durand System for protecting copyrighted materials
US7137000B2 (en) * 2001-08-24 2006-11-14 Zih Corp. Method and apparatus for article authentication
US20030061947A1 (en) * 2001-10-01 2003-04-03 Hohberger Clive P. Method and apparatus for associating on demand certain selected media and value-adding elements
JPWO2003036866A1 (ja) * 2001-10-23 2005-02-17 松下電器産業株式会社 情報処理装置
JP2003141267A (ja) * 2001-11-05 2003-05-16 Sony Corp 通信教育システム及び通信教育方法
US7334125B1 (en) 2001-11-27 2008-02-19 Cisco Technology, Inc. Facilitating secure communications among multicast nodes in a telecommunications network
US7346781B2 (en) * 2001-12-06 2008-03-18 Mcafee, Inc. Initiating execution of a computer program from an encrypted version of a computer program
US20030120923A1 (en) * 2001-12-21 2003-06-26 Avaya Technology Corp. Secure data authentication apparatus
US7400729B2 (en) * 2001-12-28 2008-07-15 Intel Corporation Secure delivery of encrypted digital content
JP2003244138A (ja) * 2002-02-18 2003-08-29 Fujitsu Ltd 原本作成装置及び原本性保証装置
SG115453A1 (en) * 2002-02-27 2005-10-28 Oneempower Pte Ltd Activity management method
US20030167407A1 (en) * 2002-03-01 2003-09-04 Brett Howard Authenticated file loader
US7487365B2 (en) * 2002-04-17 2009-02-03 Microsoft Corporation Saving and retrieving data based on symmetric key encryption
US7890771B2 (en) 2002-04-17 2011-02-15 Microsoft Corporation Saving and retrieving data based on public key encryption
CA2483605A1 (en) * 2002-05-02 2003-11-13 David Molnar Method and apparatus for protecting information and privacy
US8438392B2 (en) * 2002-06-20 2013-05-07 Krimmeni Technologies, Inc. Method and system for control of code execution on a general purpose computing device and control of code execution in a recursive security protocol
US7203844B1 (en) 2002-06-20 2007-04-10 Oxford William V Method and system for a recursive security protocol for digital copyright control
US7803052B2 (en) * 2002-06-28 2010-09-28 Microsoft Corporation Discovery and distribution of game session information
US7979712B2 (en) * 2002-07-01 2011-07-12 International Business Machines Corporation Network system, server and information terminal for list matching
US7093119B2 (en) 2002-07-16 2006-08-15 International Business Machines Corporation Methods and computer program products for protecting source code of an interpreted programming language
US8393001B1 (en) 2002-07-26 2013-03-05 Mcafee, Inc. Secure signature server system and associated method
JP4200067B2 (ja) * 2002-08-30 2008-12-24 株式会社リコー 画像処理装置、画像処理方法、及び画像処理プログラム
US20040059922A1 (en) * 2002-09-20 2004-03-25 Harris Rodney C. Continuous voice recognition for user authentication by a digital transmitting device
US20040260947A1 (en) * 2002-10-21 2004-12-23 Brady Gerard Anthony Methods and systems for analyzing security events
WO2004053666A1 (ja) * 2002-12-11 2004-06-24 Interlex Inc. ソフトウェア実行制御システム及びソフトウェアの実行制御プログラム
US7305564B2 (en) * 2002-12-19 2007-12-04 International Business Machines Corporation System and method to proactively detect software tampering
US7069245B2 (en) * 2003-02-06 2006-06-27 Business Wire Simultaneous network news distribution
US7370212B2 (en) 2003-02-25 2008-05-06 Microsoft Corporation Issuing a publisher use license off-line in a digital rights management (DRM) system
US20040235563A1 (en) * 2003-02-26 2004-11-25 Blackburn Christopher W. Game update service in a service-oriented gaming network environment
US6965968B1 (en) 2003-02-27 2005-11-15 Finjan Software Ltd. Policy-based caching
US8308567B2 (en) * 2003-03-05 2012-11-13 Wms Gaming Inc. Discovery service in a service-oriented gaming network environment
US20040242328A1 (en) * 2003-03-05 2004-12-02 Blackburn Christopher W. Boot service in a service-oriented gaming network environment
US20040243849A1 (en) * 2003-03-06 2004-12-02 Blackburn Christopher W. Authorization service in a service-oriented gaming network environment
US20040243848A1 (en) * 2003-03-06 2004-12-02 Blackburn Christopher W. Authentication service in a service-oriented gaming network environment
US20030177051A1 (en) * 2003-03-13 2003-09-18 Robin Driscoll Method and system for managing worker resources
US20040242331A1 (en) * 2003-03-17 2004-12-02 Blackburn Christopher W. Time service in a service-oriented gaming network environment
US20040266532A1 (en) * 2003-03-27 2004-12-30 Blackburn Christopher W. Event management service in a service-oriented gaming network environment
US7352878B2 (en) * 2003-04-15 2008-04-01 Digimarc Corporation Human perceptual model applied to rendering of watermarked signals
US20040266523A1 (en) * 2003-04-16 2004-12-30 Gentles Thomas A Secured networks in a gaming system environment
CA2464788A1 (en) * 2003-04-16 2004-10-16 Wms Gaming Inc. A gaming software distribution network in a gaming system environment
US20040259640A1 (en) * 2003-04-16 2004-12-23 Gentles Thomas A. Layered security methods and apparatus in a gaming system environment
CA2464797A1 (en) * 2003-04-16 2004-10-16 Wms Gaming Inc. Remote authentication of gaming software in a gaming system environment
US20050227768A1 (en) * 2003-05-27 2005-10-13 Blackburn Christopher W Gaming network environment having a language translation service
US7012520B2 (en) 2003-06-17 2006-03-14 Infraegis, Inc. Global intelligent remote detection system
CA2546409C (en) * 2003-06-17 2016-02-02 Intelagents, Inc. System and method for monitoring and detecting a security threat
US20050002533A1 (en) * 2003-07-01 2005-01-06 Langin-Hooper Jerry Joe Fully secure message transmission over non-secure channels without cryptographic key exchange
EP1647021A2 (en) * 2003-07-11 2006-04-19 Koninklijke Philips Electronics N.V. Watermark embedding and detection
EP1652074A4 (en) * 2003-07-11 2008-08-13 Computer Ass Think Inc ADJUNCTION TO A TOOL FOR MODELING OBJECTS DEFINED BY A USER
US20050038751A1 (en) * 2003-08-15 2005-02-17 Gaetano Arthur Louis System and method for software site licensing
US8738535B2 (en) * 2003-08-15 2014-05-27 Inter-Tel (DE) Inc System and method for software site licensing
US20050071656A1 (en) * 2003-09-25 2005-03-31 Klein Dean A. Secure processor-based system and method
EP1671201B1 (de) * 2003-09-30 2008-08-06 Siemens Aktiengesellschaft Einräumung eines zugriffs auf ein computerbasiertes objekt
US7516147B2 (en) * 2003-10-23 2009-04-07 Sumisho Computer Systems Corporation URL system and method for licensing content
JP2005167977A (ja) * 2003-11-14 2005-06-23 Ricoh Co Ltd 製品正当性検証システム、正当性検証対象の装置、製品正当性検証方法及び固有情報提供方法
US7802085B2 (en) 2004-02-18 2010-09-21 Intel Corporation Apparatus and method for distributing private keys to an entity with minimal secret, unique information
FR2866451B1 (fr) * 2004-02-18 2008-02-29 Cit Alcatel Procede et dispositif de transformation d'un systeme d'exploitation en vue de la protection d'un programme informatique contre des intrusions exterieures
JP2005293109A (ja) * 2004-03-31 2005-10-20 Canon Inc ソフトウェア実行管理装置、ソフトウェア実行管理方法、及び制御プログラム
US7287159B2 (en) * 2004-04-01 2007-10-23 Shieldip, Inc. Detection and identification methods for software
US20060242406A1 (en) 2005-04-22 2006-10-26 Microsoft Corporation Protected computing environment
US7693286B2 (en) * 2004-07-14 2010-04-06 Intel Corporation Method of delivering direct proof private keys in signed groups to devices using a distribution CD
US8347078B2 (en) 2004-10-18 2013-01-01 Microsoft Corporation Device certificate individualization
US8200476B2 (en) * 2004-11-04 2012-06-12 Avaya Inc. Message file editing process
US7694153B2 (en) * 2004-11-15 2010-04-06 Microsoft Corporation Changing product behavior in accordance with license
US8336085B2 (en) 2004-11-15 2012-12-18 Microsoft Corporation Tuning product policy using observed evidence of customer behavior
US8176564B2 (en) 2004-11-15 2012-05-08 Microsoft Corporation Special PC mode entered upon detection of undesired state
US8924728B2 (en) * 2004-11-30 2014-12-30 Intel Corporation Apparatus and method for establishing a secure session with a device without exposing privacy-sensitive information
US20080288786A1 (en) * 2004-12-20 2008-11-20 Michael Stephen Fiske System with access keys
US8438645B2 (en) 2005-04-27 2013-05-07 Microsoft Corporation Secure clock with grace periods
JP4727278B2 (ja) * 2005-04-05 2011-07-20 株式会社エヌ・ティ・ティ・ドコモ アプリケーションプログラム検証システム、アプリケーションプログラム検証方法およびコンピュータプログラム
US8725646B2 (en) 2005-04-15 2014-05-13 Microsoft Corporation Output protection levels
US9436804B2 (en) 2005-04-22 2016-09-06 Microsoft Technology Licensing, Llc Establishing a unique session key using a hardware functionality scan
US8151112B2 (en) * 2005-04-22 2012-04-03 Gerard Lin Deliver-upon-request secure electronic message system
US9363481B2 (en) 2005-04-22 2016-06-07 Microsoft Technology Licensing, Llc Protected media pipeline
US20060265758A1 (en) 2005-05-20 2006-11-23 Microsoft Corporation Extensible media rights
US20060271493A1 (en) * 2005-05-24 2006-11-30 Contentguard Holdings, Inc. Method and apparatus for executing code in accordance with usage rights
AU2006254715B2 (en) * 2005-05-31 2010-05-13 Aristocrat Technologies Australia Pty Ltd Password entry system
US8353046B2 (en) * 2005-06-08 2013-01-08 Microsoft Corporation System and method for delivery of a modular operating system
US8132005B2 (en) * 2005-07-07 2012-03-06 Nokia Corporation Establishment of a trusted relationship between unknown communication parties
US7698227B1 (en) * 2005-07-14 2010-04-13 Sun Microsystems, Inc. System and method for providing traceable acknowledgement of a digital data distribution license
US20070016770A1 (en) * 2005-07-18 2007-01-18 Dell Products L.P. System and method for managing the initiation of software programs in an information handling system
US20100203960A1 (en) * 2005-07-20 2010-08-12 Wms Gaming Inc. Wagering game with encryption and authentication
GB0516471D0 (en) * 2005-08-10 2005-09-14 Symbian Software Ltd Protected software identifiers for improving security in a computing device
US20070056035A1 (en) * 2005-08-16 2007-03-08 Drew Copley Methods and systems for detection of forged computer files
WO2007020566A1 (en) * 2005-08-19 2007-02-22 Nxp B.V. Circuit arrangement for and method of performing an inversion operation in a cryptographic calculation
CN101243389A (zh) * 2005-08-19 2008-08-13 Nxp股份有限公司 用于rsa密钥产生的电路装置和方法
US8682795B2 (en) * 2005-09-16 2014-03-25 Oracle International Corporation Trusted information exchange based on trust agreements
US8340289B2 (en) 2005-09-29 2012-12-25 Research In Motion Limited System and method for providing an indication of randomness quality of random number data generated by a random data service
US7797545B2 (en) * 2005-09-29 2010-09-14 Research In Motion Limited System and method for registering entities for code signing services
US8874477B2 (en) 2005-10-04 2014-10-28 Steven Mark Hoffberg Multifactorial optimization system and method
US7953225B2 (en) * 2005-10-21 2011-05-31 Harris Corporation Mobile wireless communications device with software installation and verification features and related methods
JP4556857B2 (ja) * 2005-12-07 2010-10-06 セイコーエプソン株式会社 情報配信装置、情報配信装置の制御方法および制御プログラム
US8818897B1 (en) * 2005-12-15 2014-08-26 Rockstar Consortium Us Lp System and method for validation and enforcement of application security
US20070152854A1 (en) * 2005-12-29 2007-07-05 Drew Copley Forgery detection using entropy modeling
US7499552B2 (en) * 2006-01-11 2009-03-03 International Business Machines Corporation Cipher method and system for verifying a decryption of an encrypted user data key
US8185576B2 (en) 2006-03-14 2012-05-22 Altnet, Inc. Filter for a distributed network
US8014530B2 (en) 2006-03-22 2011-09-06 Intel Corporation Method and apparatus for authenticated, recoverable key distribution with no database secrets
US20070294181A1 (en) * 2006-05-22 2007-12-20 Saurabh Chheda Flexible digital rights management with secure snippets
EP1879122A1 (en) * 2006-07-10 2008-01-16 ABB Research Ltd Method and devices for verifying authenticity of a called code module
US8311650B2 (en) * 2006-07-13 2012-11-13 Mitsubishi Electric Corporation Equipment management system, programmable controller and centralized controller
US8172686B2 (en) 2006-08-08 2012-05-08 Wms Gaming Inc. Configurable wagering game manager
GB2443863B (en) * 2006-10-30 2011-05-11 Hewlett Packard Development Co Method and system for generating data transaction id
CN101226569A (zh) * 2007-01-19 2008-07-23 国际商业机器公司 在虚拟机中验证代码模块的方法及装置
US8682800B2 (en) * 2007-01-30 2014-03-25 Microsoft Corporation Controlling access to technology based upon authorization
US8422674B2 (en) 2007-05-29 2013-04-16 International Business Machines Corporation Application-specific secret generation
US8433927B2 (en) 2007-05-29 2013-04-30 International Business Machines Corporation Cryptographically-enabled privileged mode execution
US8332635B2 (en) 2007-05-29 2012-12-11 International Business Machines Corporation Updateable secure kernel extensions
CA2591280A1 (en) * 2007-06-12 2008-12-12 Nikolajs Volkova A new digital signature scheme
US7974409B2 (en) * 2007-06-28 2011-07-05 Samsung Electronics Co., Ltd. Changing the order of public key cryptographic computations
US8332636B2 (en) * 2007-10-02 2012-12-11 International Business Machines Corporation Secure policy differentiation by secure kernel design
FR2922702B1 (fr) 2007-10-17 2010-02-26 Airbus France Securisation de fichiers informatiques telechargeables sur un aeronef basee sur l'identite d'entites, procede d'authenfication, systeme et aeronef associes
US10013536B2 (en) * 2007-11-06 2018-07-03 The Mathworks, Inc. License activation and management
CN101593257B (zh) * 2008-05-27 2011-02-16 北京飞天诚信科技有限公司 基于.Net虚拟机的软件保护系统和方法
US20090313171A1 (en) * 2008-06-17 2009-12-17 Microsoft Corporation Electronic transaction verification
CN101436141B (zh) * 2008-11-21 2012-07-18 深圳创维数字技术股份有限公司 基于数字签名的固件升级、固件封装方法与装置
TWI412941B (zh) * 2008-11-25 2013-10-21 Inst Information Industry 產生及驗證一訊息之一語音簽章之裝置、方法及其電腦程式產品
US9135434B2 (en) * 2010-04-19 2015-09-15 Appcentral, Inc. System and method for third party creation of applications for mobile appliances
JP2012088765A (ja) * 2010-10-15 2012-05-10 Hitachi Solutions Ltd プログラム起動制御方法、プログラム起動制御プログラム、携帯端末、ネットワークシステム
US9152779B2 (en) 2011-01-16 2015-10-06 Michael Stephen Fiske Protecting codes, keys and user credentials with identity and patterns
US8732831B2 (en) 2011-07-14 2014-05-20 AVG Netherlands B.V. Detection of rogue software applications
US9098678B2 (en) * 2011-09-15 2015-08-04 Verizon Patent And Licensing Inc. Streaming video authentication
US9098696B2 (en) * 2011-10-25 2015-08-04 Raytheon Company Appliqué providing a secure deployment environment (SDE) for a wireless communications device
WO2013142517A1 (en) 2012-03-20 2013-09-26 Krimmeni Technologies, Inc. Method and system for process working set isolation
US9256765B2 (en) * 2012-06-29 2016-02-09 Kip Sign P1 Lp System and method for identifying software changes
US9323951B2 (en) 2013-03-13 2016-04-26 International Business Machines Corporation Encrypted warranty verification and diagnostic tool
EP3197089B1 (en) * 2014-11-06 2019-08-07 Huawei Technologies Co., Ltd. Secure information configuration method, secure authentication method and related chip
US11403685B2 (en) * 2016-10-17 2022-08-02 Blackberry Limited Automatic distribution of licenses for a third-party service operating in association with a licensed first-party service
US10262127B2 (en) 2017-04-05 2019-04-16 General Electric Company Systems and method for securely sharing and executing data and models
US10706164B2 (en) * 2017-09-29 2020-07-07 Intel Corporation Crypto-enforced capabilities for isolation
US10574451B2 (en) * 2017-10-19 2020-02-25 Bank Of America Corporation Method and apparatus for perfect forward secrecy using deterministic hierarchy
TWI643160B (zh) * 2017-11-16 2018-12-01 國立臺北科技大學 利用權重參數與餘數定義隱寫資料於區塊截斷編碼影像的方法、影像壓縮裝置及電腦可讀取的記錄媒體
KR101979323B1 (ko) * 2017-12-18 2019-05-15 주식회사 캐드서브 소프트웨어 저작권 인증 관리 방법
US20190236269A1 (en) * 2018-01-31 2019-08-01 International Business Machines Corporation Detecting third party software elements
US11050735B2 (en) 2018-08-23 2021-06-29 International Business Machines Corporation Customizable authentication system
US11562073B2 (en) 2018-11-28 2023-01-24 The Boeing Company Systems and methods of software load verification
US10951404B1 (en) * 2020-06-09 2021-03-16 Quantropi Inc. Methods and systems for digital message encoding and signing
FR3113963B1 (fr) 2020-09-10 2023-06-30 Thales Sa Chaine de confiance avancee en aeronautique domaine de l'invention
WO2022187959A1 (en) 2021-03-10 2022-09-15 Quantropi Inc. Quantum-safe cryptographic methods and systems
US12192318B2 (en) 2021-03-10 2025-01-07 Quantropi Inc. Quantum-safe cryptographic method and system
US20230403147A1 (en) 2021-08-03 2023-12-14 Mohammed Alawi E GEOFFREY Methods and systems for verification method to validate documents
CN116668507A (zh) * 2022-02-21 2023-08-29 腾讯科技(深圳)有限公司 网络连接方法、装置、设备及存储介质
CN119004409B (zh) * 2024-10-23 2025-03-04 北京中恒利华石油技术研究所 一种基于有限随机加密的离线软件许可加解密方法及系统

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4670857A (en) * 1981-10-26 1987-06-02 Rackman Michael I Cartridge-controlled system whose use is limited to authorized cartridges
US4558176A (en) * 1982-09-20 1985-12-10 Arnold Mark G Computer systems to inhibit unauthorized copying, unauthorized usage, and automated cracking of protected software
EP0175487A3 (en) * 1984-08-23 1989-03-08 Btg International Limited Software protection device
US4868877A (en) * 1988-02-12 1989-09-19 Fischer Addison M Public key/signature cryptosystem with enhanced digital signature certification
US5343527A (en) * 1993-10-27 1994-08-30 International Business Machines Corporation Hybrid encryption method and system for protecting reusable software components

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1124919A (ja) * 1997-06-20 1999-01-29 Internatl Business Mach Corp <Ibm> 安全な記憶領域でアプリケーション・データを保護する方法及び装置
US6175924B1 (en) 1997-06-20 2001-01-16 International Business Machines Corp. Method and apparatus for protecting application data in secure storage areas
KR100309535B1 (ko) * 1997-06-20 2001-11-15 포만 제프리 엘 보안저장영역에서애플리케이션데이터의보호방법및장치
JP2001517822A (ja) * 1997-09-19 2001-10-09 パク,ヒョ,ジョーン 独立的ソフトウェア登録サーバを利用したソフトウェア使用権管理システム
JP2000148469A (ja) * 1998-06-29 2000-05-30 Sun Microsyst Inc モジュラ―アプリケ―ション間のサ―ビスへのアクセス制御
JP2000347846A (ja) * 1999-03-03 2000-12-15 Nokia Mobile Phones Ltd サーバから端末にソフトウェアをダウンロードするための方法および電話システム
JP2003526965A (ja) * 1999-05-17 2003-09-09 ウェイヴ システムズ コーポレイション 公開暗号制御ユニット及びそのシステム
US6948072B2 (en) 2000-03-03 2005-09-20 Sony Computer Entertainment Inc. Information processing device and record medium
JP2007508613A (ja) * 2003-10-13 2007-04-05 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ アプリケーション毎の記憶領域割当て
JP2005182592A (ja) * 2003-12-22 2005-07-07 Yokogawa Electric Corp 実行ライセンス管理装置とそれを内蔵したコントローラ
JP2009199236A (ja) * 2008-02-20 2009-09-03 Ricoh Co Ltd 画像処理装置、認証パッケージインストール方法、認証パッケージインストールプログラム、及び記録媒体
JP2012137963A (ja) * 2010-12-27 2012-07-19 Nec Corp コンテンツ管理システム、管理サーバ、コンテンツ管理方法、及びプログラム

Also Published As

Publication number Publication date
EP0686906B1 (en) 2005-05-18
DE69534212T2 (de) 2006-01-12
DE69534212T8 (de) 2006-04-27
EP0686906A3 (en) 1997-08-06
EP0686906A2 (en) 1995-12-13
US5724425A (en) 1998-03-03
DE69534212D1 (de) 2005-06-23

Similar Documents

Publication Publication Date Title
JPH08166879A (ja) 提供用ソフトウェアの安全性強化方法及び装置
US5935246A (en) Electronic copy protection mechanism using challenge and response to prevent unauthorized execution of software
JP4746233B2 (ja) データの使用を制限するトラステッドコンピューティングプラットフォーム
US5991399A (en) Method for securely distributing a conditional use private key to a trusted entity on a remote system
CN1842757B (zh) 用于增量代码签署的方法和装置
US7302585B1 (en) System for providing a trustworthy user interface
JP4860856B2 (ja) コンピュータ装置
US6973570B1 (en) Integrated circuit comprising encryption circuitry selectively enabled by verifying a device
US20050060568A1 (en) Controlling access to data
US20040003248A1 (en) Protection of web pages using digital signatures
CN113268715A (zh) 软件加密方法、装置、设备及存储介质
US20060064488A1 (en) Electronic software distribution method and system using a digital rights management method based on hardware identification
JP2005522802A (ja) 改竄防止ハードウェアを使用してコピー保護およびオンラインセキュリティを提供するための方法ならびにシステム
JP2007511810A (ja) 乱数関数を利用した実行証明
JP2008536560A (ja) ハードディスク認証
Mladenov et al. 1 trillion dollar refund: How to spoof pdf signatures
KR100561497B1 (ko) 소프트웨어 보안 인증 경로
US6651169B1 (en) Protection of software using a challenge-response protocol embedded in the software
KR101247044B1 (ko) 디바이스 인증을 위한 하드웨어 기능 스캔
US7739505B2 (en) Linking Diffie Hellman with HFS authentication by using a seed
JPH1124916A (ja) ソフトウェアライセンス管理装置および方法
WO2025139169A1 (zh) 基于智能密码钥匙的软件身份校验方法、装置及存储介质
CN101167299B (zh) 通过使用一种子链接diffie hellman与hfs认证
Gallery et al. Conditional Access in Mobile Systems: Securing the Application.
CN114817956A (zh) 一种usb通信对象验证方法、系统、装置及存储介质

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20010710

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20010710

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20041005

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20050105

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20050111

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050405

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050405

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20050726

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20051024

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20051124

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

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20060207

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

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20060303