JP2002518727A - ソフトウェア製品の実行の制御方法 - Google Patents

ソフトウェア製品の実行の制御方法

Info

Publication number
JP2002518727A
JP2002518727A JP2000555145A JP2000555145A JP2002518727A JP 2002518727 A JP2002518727 A JP 2002518727A JP 2000555145 A JP2000555145 A JP 2000555145A JP 2000555145 A JP2000555145 A JP 2000555145A JP 2002518727 A JP2002518727 A JP 2002518727A
Authority
JP
Japan
Prior art keywords
processing means
program
medium
secret
public
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
JP2000555145A
Other languages
English (en)
Inventor
グレゴワール,ルイ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Gemplus SA
Original Assignee
Gemplus SA
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 Gemplus SA filed Critical Gemplus SA
Publication of JP2002518727A publication Critical patent/JP2002518727A/ja
Pending legal-status Critical Current

Links

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/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/123Restricting unauthorised execution of programs by using dedicated hardware, e.g. dongles, smart cards, cryptographic processors, global positioning systems [GPS] devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2153Using hardware token as a secondary aspect

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Multimedia (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Technology Law (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Storage Device Security (AREA)

Abstract

(57)【要約】 本発明は、コンピュータプログラム実行の制御方法に関するものであり、以下から成るステップを有し、それは、第2の手段が携帯可能かつ取り外し可能なチップの付いた付属媒体であることを特徴とする。1)1つのプログラムを、それぞれ公開と秘密との少なくとも2つの部分に分割し、公開部分は、第1の処理手段上で実行されることに適しており、秘密部分は、安全化された第2の処理手段上で実行されることに適している。2)第1の処理手段のメモリ内に、前記公開部分を置く。3)第1の処理手段に接続されるための第2の処理手段の、安全化された媒体上に、秘密部分を置く。4)第1の処理手段によるプログラム実行のために、以下のオペレーションを行う。a)第2の処理手段を第1の処理手段に接続し、かつユーザーによって始動される外部信号の関数のパラメータ/変数を、第1の処理手段から第2の処理手段へ伝送する。b)第2の処理手段によって、受信した前記パラメータ/変数の幾つかを実施することにより、プログラムの少なくとも一部を実行する。c)前項b)の実行の結果を、第2の処理手段から第1の処理手段へ伝送する。d)第1の手段によって実現される実行において、前記の結果の幾つかを利用する。

Description

【発明の詳細な説明】
【0001】 本発明は、違法コピーに対するソフトウェア製品の保護の分野に関するもので
ある。それは、ソフトウェア製品の実行の制御方法を対象とする。
【0002】 ソフトウェア製品とは、中央装置、特にマイクロコンピュータPCによって処
理または実行される一切のプログラムおよび/またはデータを意味する。それら
は、フロッピーディスク、ハードディスクまたはコンパクト光学ディスク《CD
−ROM》などのあらゆる媒体に記録されることができるか、または《ROM》
《EEPROM》タイプのメモリのようなあらゆる媒体に記憶されることができ
る。
【0003】 特にPC用のコンピュータプログラムまたはソフトウェア製品は、無許可で複
製され、使用されることが多くなってきている。このことは、サーバー網によっ
てコピーを大規模に配布すること、またはソフトウェアの焼き付けられたCD−
ROMの大量生産によってそれを複製することが可能であることによって増大し
ている。また、同じ会社内で起こり得るマイクロコンピュータのハードディスク
またはフロッピーディスクへの単なる不法コピーも周知のことである。
【0004】 ソフトウェア製品の不正使用を防ぐための解決法の中で、コンピュータプログ
ラムの配布の制御方法が知られている。プログラムは、暗号化された形でその媒
体に記録されており、次に、許可されたユーザーによって、コンピュータにロー
ドされる前に復号化される。許可されたユーザーは、このために、復号化を可能
にする手段をもっている。この方法は、暗号化されたプログラムを含む媒体の複
製を防ぐという利点をもつが、PCからのプログラムのコピーを防がないという
欠点をもつ。
【0005】 プログラムの実行の制御方法もまた、知られている。それは、特にシリアル通
信用のPCのコネクタに、またはプリンタに接続された安全化された装置の存在
を検証することを可能にする手順を実施することから成り、この装置は、その存
在によって、ユーザーがプログラムを使用することを許可されていることを証明
する。プログラムの実行の際、安全化された装置の存在と真正を検証し、検証は
プログラムの実行の続行を条件づけている。この方法は、この検証に対応する命
令をジャンプして、迂回される可能性があるという欠点をもつ。
【0006】 マイクロコンピュータの使用を、つまり間接的には内部に含まれる一切のプロ
グラムを、許可された人によって制御する方法もまた、知られている。それは、
普通、《スマートカード》と呼ばれる、超小型回路カードのようなチップカード
を実現する。この方法においては、マイクロコンピュータPCは、認証秘密コー
ドを含む《スマートカード》に適したインターフェースによって、接続されてい
る。許可されたユーザーは、アクセスコードをキーボードに入力しなければなら
ず、該アクセスコードは、《スマートカード》内に保存されたものと比較される
。適正の場合、コンピュータ、または情報、あるいはコンピュータプログラムへ
のアクセスが許可される。
【0007】 この方法には、コンピュータ内へプログラムがロードされる前では、媒体を直
接保護しないという欠点がある。従って、媒体を複製することができるのである
【0008】 以下に続く説明において、スマートカードとは、付属的で、取り外し可能で携
帯可能なあらゆるチップ式媒体を意味し、マイクロプロセッサと、秘密鍵並びに
秘密プログラムのような秘密データを含むのに適したメモリ空間とを有する少な
くとも1つの安全モジュールを有する。特に、コンピュータの入出力ポートに差
込み可能なモジュールに関するものである。好ましくは、チップカードまたはミ
ニチップカードの標準サイズのカードに関するものである。
【0009】 本発明の目的は、現在の解決法よりもより効果的な、違法コピーの問題に対す
る解決法を提案することである。
【0010】 本発明によってもたらされる解決法もまた、コンピュータプログラム実行の制
御のレベルに位置する。実行は、使用権を得た人のみに許可されることによって
制御される。この権利は、安全化された手段または付属物、特に本発明の一例に
よる《スマートカード》 によって具体化される。この手段で、あらゆる複製ま
たは一切のプログラムの配布を実施することが抑止される。
【0011】 このために、本発明はまず、コンピュータプログラム実行の制御方法を対象と
する。第1の態様によると、それは以下のことから成るステップを有する。 1)1つのプログラムを、それぞれ公開と秘密との少なくとも2つの部分に分割
し、公開部分は、第1の処理手段上で実行されることに適しており、秘密部分は
、安全化された第2の処理手段上で実行されることに適している。 2)第1の処理手段のメモリ内に、前記公開部分を置く。 3)第1の処理手段に接続されるための第2の処理手段の、安全化された媒体上
に、秘密部分を置く。 4)第1の処理手段によるプログラム実行のために、以下のオペレーションを行
う。 a)第2の処理手段を第1の処理手段に接続し、かつユーザーによって始動さ
れる外部信号の関数のパラメータ/変数を、第1の処理手段から第2の処理手段
へ伝送する。 b)第2の処理手段によって、受信した前記パラメータ/変数の幾つかを実施
することにより、プログラムの少なくとも一部を実行する。 c)前項b)の実行の結果を、第2の処理手段から第1の処理手段へ伝送する
。 d)第1の手段によって実現された実行において、前記の結果の幾つかを利用
する。
【0012】 それは、第2の手段が携帯可能かつ取り外し可能なチップの付いた付属媒体で
あることを特徴とする。
【0013】 別の実施態様によると、方法は、以下から成るステップを有する。 1’)1つのプログラムを、それぞれ公開と秘密との、少なくとも2つの部分に
分割し、公開部分は、第1の処理手段上で実行されることに適しており、秘密部
分は、安全化された第2の処理手段上で実行されることに適している。 2’)少なくとも1つの秘密部分を暗号化し、それを同一媒体上に公開部分と共
に置き、媒体が第1の処理手段に接続されるためのものである。 3’)対応する復号化機能を、第2の処理手段内に置く。 4’)プログラム実行のために、以下のオペレーションを行う。 a’)第2の処理手段を第1の処理手段へ接続し、かつ暗号化された秘密部分
の全部または一部を、第1の処理手段から第2の処理手段へ伝送する。 b’)安全化された第2の処理手段によって、前記復号化機能を実施すること
により、受信し暗号化された前記前記秘密部分を復号化し、かつ安全化されたメ
モリに平文の秘密部分を保存する。 c’)外部信号の関数のパラメータ/変数を、第1の処理手段から第2の処理
手段へ伝送する。 d’)安全化された第2の処理手段によって、受信した前記パラメータ/変数
の幾つかを利用することにより、秘密の少なくとも一部を実行する。 e’)前項d’)の実行の結果を、第2の処理手段から第1の処理手段へ伝送
する。 f’)第1の手段によって実現された実行において、前記の結果の幾つかを利
用する。
【0014】 それは、第2の手段が携帯可能かつ取り外し可能なチップの付いた付属媒体で
あることを特徴とする。
【0015】 第2の変型の実施の特徴によると、オペレーションa’)において、必要に応
じて、および/または安全化された第2の処理手段の容量に応じて、暗号化され
たプログラムの一部を伝送する。
【0016】 この特徴のおかげで、第2の処理手段のメモリ容量より大きなサイズの暗号化
されたプログラムを実行することが可能である。そのことは、容量が小さいため
に第2の処理手段としては普通は除外される、チップタイプの手で扱える、目立
たない携帯可能な媒体を、利用することを可能にする。
【0017】 本発明は、コンピュータプログラムの一例についての方法の2つの実施態様の
説明を読むことによってより良く理解されるであろう。
【0018】 例のために採用されたプログラムは、テキスト処理プログラムである。
【0019】 方法を実施するためには、テキスト処理プログラムを少なくとも2つの、それ
ぞれ公開と秘密の部分に分割することが必要である。公開部分は、第1の処理手
段上にで実行されるのに適しており、その一方で、秘密部分は、安全化された第
2の処理手段上で実行されるのに適している。従って、それらは、それぞれ互い
に別個の適切なコンパイルを受けることができる。
【0020】 第1の部分は公開と呼ばれ、第1の処理手段として例にとられたマイクロコン
ピュータ(PC)のオペレーティング・システム上で実行可能である。
【0021】 秘密と呼ばれる第2の部分に関しては、第2の処理手段として例にとられたチ
ップカードの安全化された回路上で実行可能である。安全化された回路は、8ビ
ットのプロセッサと、カードのオペレーティング・システムを有する恒久性メモ
リROMと、EEPROMタイプの不揮発性メモリと、RAMタイプの作業用揮
発性メモリとを備える。回路は、例えば、《スマートカード》の回路とすること
ができる。
【0022】 テキスト処理プログラムを市販用媒体上へ保存する際、それは、個別の記憶ま
たは記録媒体に分割される。そのため、実施例では、公開部分を光学ディスク(
CD−ROM)上に置き、一方で秘密部分は、チップカードのEEPROMメモ
リ内に置かれる。従って、この場合、プログラムは、それを具体化するための物
理的媒体として2つの要素:光学ディスク、および組み合わされたチップカード
を必要とする。実施例では、PC画面上でのカーソル位置の計算機能が選択され
て、秘密部分を構成する。従って、光学ディスクに欠けているこの機能は、チッ
プカード内のみに在ることになる。
【0023】 プログラムを実行するために、PCはインターフェースによってチップカード
に接続され、それらの間の双方向通信が可能になる。光学ディスクの公開プログ
ラムは、光学ディスクの読み取りによりPC内にロードされる。チップカードは
、例えばチップカード読取り装置を介してPCに接続することができ、読取り装
置自身はPCの入出力ポートに接続されている。
【0024】 本発明による実行の際、以下のオペレーションまたはステップが行われる。
【0025】 第1の処理手段から第2の処理手段へ、外部信号の関数のパラメータ/変数を
伝送する。
【0026】 一般的に、外部信号とは、プログラムの各々の使用によって異なる可能性のあ
る情報またはイベントを意味する。システムの安全は、カードへ通信される情報
セットが各々の使用によって異なるほどよりよく保証される。また、それは、チ
ップカード内のプログラムが複雑であるほどよりよく保証されるが、なぜならそ
れは、例えば、膨大な可能な出力を有し、入力と出力との関係が高度になるから
である。
【0027】 本発明での意味において、外部信号は、例えば、マウスまたはキーボードある
いは別の周辺入力装置を介して、ユーザーによって始動される行為とすることが
可能である。
【0028】 実施例では、PCの中央装置が、ユーザーにより入力されるキーボードのキー
に対応するデータを、インターフェースを介してカードに伝送する。中央装置は
、公開プログラムおよびオペレーティング・システムの機能を実行することによ
って、この伝送を実施する。このため、公開プログラムは、この伝送に必要な命
令を有する。
【0029】 方法の次のステップによると、安全化された第2の処理手段によって、受信し
た前記パラメータ/変数の幾つかを利用することにより、プログラムの少なくと
も一部を実行する。それは、プログラムのこの部分の実行の出力が、秘密プログ
ラムの実行のために第2の処理手段によって利用または考慮されるパラメータ/
変数の値または性質に、大きく依存するようになることを意味する。
【0030】 実施例において、ユーザーがキーボードのキーを打つ時、カードは、従って、
画面上のテキストライン内のカーソル位置の計算を実行し、方法の別のステップ
に従って、結果を、この場合はこの位置の値を、PCに送り返す。
【0031】 次に、方法によると、上記の結果は、そのまま使用することができるか、また
は、好ましくは、第1の手段によって実現された実行における上記の前記結果の
幾つかを、考慮あるいは利用することができる。実施例では、PCの中央装置は
、プログラムの公開部分を実行し、カーソル位置を画面に表示する。
【0032】 ユーザーは、カードの無い時にはテキスト処理のカーソル機能を使用できない
ことが確認される。この手段によって、テキスト処理ソフトウェアの一切の不正
コピーが抑止されるが、これも、カードが無くてはそれを使用できないからであ
る。本発明により、秘密部分はプログラムの本質的な部分に対応するだけに、上
記の抑止力がさらに効果的であることが理解される。
【0033】 ここで、本発明の方法の別の実施態様を説明する。
【0034】 方法の実施に必要なシステムは、上述のものと同一であるが、相違点は後に説
明する。
【0035】 秘密部分は、チップカードに置かれる代わりに、暗号化された形で、公開部分
とともに光学ディスク上に置かれる。
【0036】 カードのROMメモリは、オペレーティング・システムの他に、そのRAMメ
モリ内に、復号化されるプログラムの復号化およびロード機能を含む。
【0037】 本発明によるプログラムを実行する際、以下のオペレーションまたはステップ
を行う。
【0038】 第1の処理手段から第2の処理手段へ、暗号化されたプログラムの全部または
一部を伝送する。
【0039】 実施例では、カーソル位置の計算機能が暗号化されている。それは、例えばプ
ログラムの起動の際に、テキスト処理プログラムによってチップカードへ、暗号
化されて伝送される。それは、また、必要になる時のみ伝送することもできる。
このため、テキスト処理プログラムは、特にファイルのアドレスまたはネームを
示すことを可能にする情報もまた含む。
【0040】 本方法によると、安全化された第2の処理手段によって、前記復号化機能を実
施することにより、受信し暗号化された前記秘密部分を復号化し、安全化された
メモリ内に平文の秘密部分を保存する。
【0041】 実施例においては、その復号化機能を実施することによって、チップカードは
カーソル位置の計算機能を復号化し、問題の機能を実行可能な形で記憶する。
【0042】 この実施例では、本方法はスマートカードを備えるシステムを実施し、カード
は、暗号化されたプログラムの全部または一部をロードすることと、ソフトウェ
アの発行者の秘密鍵で復号化することと、第1の手段のコールを受信することと
、前もってロードされた実行可能なプログラムにコールを伝送することと、第1
の処理手段に結果を送り返すことが可能であることが確認される。
【0043】 実行可能な公開プログラムは、カードのオペレーティング・システムの入出力
機能を介して、また場合によっては、PCのオペレーティング・システムの機能
を介して、秘密プログラムの部分をカードに伝送するための補足的命令、および
カードにロードされた機能へのコールのための命令を有する。
【0044】 本発明の方法の可能なアプリケーションの拡張によって、第2の処理手段の復
号機は、メモリカード内にハードウェア方式の形で存在することが可能であり、
それは付属品のコストを低減するためである。
【0045】 第1の処理手段に関しては、それは一般的にはパーソナルコンピュータの中央
装置である。
【0046】 有利なことには、公開部分は、PCのような第1の処理手段にロードされてか
ら、第1の手段の中央装置が接続可能なサーバーセンターまたはデータベース上
で自由に使えるようになる。プログラムまたはソフトウェアの公開部分もまた、
ユーザーの希望で、第1の処理手段が接続可能な特にインターネットタイプのネ
ットワーク上で自由に使えるようになる。
【0047】 このように、あるソフトウェアの買い手になり得る客にとっては、インターネ
ットのようなネットワーク上で自由に使えるソフトウェアを探し、PCのメモリ
にそれをロードするだけで十分なのである。平行して、買い手は秘密部分を含む
カードを特に郵送で受け取ることができる。
【0048】 ソフトウェアは、インターネット網上のすべての人々に提供することができて
も、ユーザーが、特にマイクロプロセッサ式カードによって具体化された付属品
を持たなければ、使用することができない。
【0049】 このように、この手段によって、本発明は、ソフトウェアの発行者を、それら
がフロッピーのような物理的媒体上に複製されることから解放することができる
。本発明によって、また、ソフトウェアの物理的な配布からも免れる。
【0050】 インターネット上に置かれた実行可能なソフトウェアに加えて、ソフトウェア
の使用マニュアルの内容などのデータを添えることが可能である。
【0051】 権利の配布の方法: 上記に記載された本発明は、ソフトウェア自身の配布を、使用権の配布から分
離することを可能にする。ソフトウェアは、ユーザーによって自由に複製される
ことができ、かつ/またはアクセス制限無しに、ローカルのまたはリモートサー
バー上に置かれることができる。それは、第2の変型において記載されているよ
うに、公開部分について、並びに暗号化された場合の秘密部分については、本当
のことである。それに反して、支払いの後でしかソフトウェアの使用が許可され
ないことを確実にするために、使用権の配布は安全化されなければならない。
【0052】 上述の第1の変型では、権利は、カード内に保存されたプログラムの秘密部分
の形で具体化される。実際、この秘密プログラムとともにカードを所有する者の
みが、ソフトウェアを使用することができるのである。第2の変型では、権利は
、秘密の暗号鍵によって具体化され、該鍵は、第2の処理手段(安全モジュール
)が、そこに伝送される秘密コードを復号化することを可能にする。
【0053】 記載された2つの変型では、権利(秘密プログラムまたは秘密鍵)が、安全モ
ジュールにロードされてから、安全モジュールが配布される。ユーザー・カード
を備えたPCが接続されている公のネットワーク(インターネットなど)ような
手段によって、または、例えばソフトウェアの小売業者の支店の装置にカードを
挿入することによって、これらの要素を、既に配布されているカードに配布する
こともまた可能である。第3の手段は、権利配布のリモートサーバーとユーザー
のPCとの間で、モデムにより電話網を介して通信を確立することから成る。リ
モートでの権利配布は、ネットワークによって、または友達のコピーから、また
は例えばもともとのCD−ROM(コンパクト光学ディスク)には複数のソフト
ウェアが含まれるがユーザーはその中の1つの権利のみしか得ていないという理
由から、公開プログラムが一方で自由にアクセス可能である例えば新しいソフト
ウェアのために、権利を既に幾つか含んでいるカードに、新しい権利をダウンロ
ードすることを可能にする。それはまた、カードの配布から権利の配布を切り離
すことを可能にし、それによって、例えば複数のソフトウェア発行者が、同一カ
ードで保証される保護を用いることを可能にする。カードは中立的なものとなり
、この場合、マイクロコンピュータの業者の所で、最終ユーザーによって取得さ
れることができる。
【0054】 鍵または秘密プログラムの、安全化されたこの配布を実現するために、本方法
の第1の変型が以下に記載されている。最初のカードにはいかなる権利も含まれ
ていないと想定する。 1)カードの発行機は、配布前に、本発明の2つの変型において上記に記載さ
れた要素に加えて、権利(ある場合は、それ自体鍵によって表される)を復号化
するための復号化手段および秘密鍵をそこに入れる。さらに、カードの《ID》
と呼ばれるただ一つの番号(それぞれのカードによって異なる)を入れる。 2)カードの発行機は、一または複数のソフトウェア発行者に対して、このま
たはこれらの発行者に固有のプログラムのための、権利の暗号化手段およびその
暗号化鍵を提供する。暗号化鍵は、ここでは、ユーザーカード内に含まれている
復号化鍵と同一である。 3)権利を取得する際、買い手は、権利の暗号化手段に接続されている権利配
布サーバーと自分のカードとを通信状態におく。これは、例えばユーザーの自宅
、会社、あるいはソフトウェアの販売拠点から、インターネット網、モデムによ
る接続、またはカードの読取り装置を備えた携帯電話網の通信手段の使用などの
、あらゆるデータ通信手段を介して実現することができる。 4)業者での現金または小切手での手動取引を、または同じあるいは別のカー
ドのオペレーティング・システムの特殊な支払い機能を介入させる同じあるいは
別のリモートサーバーでの自動取引を使用する、ここには記載されていない何ら
かの手段によって、支払いの確認をした後、カードはサーバーに対して権利のロ
ード要求を送信する。この要求は、要求されるソフトウェア製品の識別、並びに
カードのIDを含む。 5)サーバーは、例えば論理演算XORによって、権利の暗号化鍵にカードの
IDを組み合わせるが、その結果は暗号化鍵として使用されるのに適切なビット
数である。この方法は、鍵の多様化と呼ばれる。サーバーはこの多様化された鍵
を使用し、要求された権利を暗号化する。それは、このように暗号化された権利
がそれを要求したカードによってのみ使用可能であり、他のカード内には特にロ
ードされないことを保証する。 6)サーバーは、このように暗号化された権利を、買い手のカードに送信する
。 7)買い手のカードは、暗号化鍵とIDとを組み合わせる同じ演算を行い、復
号化鍵を計算する。カードは、権利を復号化するために復号化鍵を使用し、その
不揮発性メモリに権利を保存する。カードは、その時、取得されたプログラムの
秘密部分を実行する手段を有する。

Claims (9)

    【特許請求の範囲】
  1. 【請求項1】 コンピュータプログラム実行の制御方法であって、以下から
    成るステップを有し、第2の手段が、携帯可能かつ取り外し可能なチップの付い
    た付属媒体であることを特徴とする方法。 1)1つのプログラムを、それぞれ公開と秘密との少なくとも2つの部分に分割
    し、公開部分は、第1の処理手段上で実行されることに適しており、秘密部分は
    、安全化された第2の処理手段上で実行されることに適している。 2)第1の処理手段のメモリ内に、前記公開部分を置く。 3)第1の処理手段に接続されるための第2の処理手段の、安全化された媒体上
    に、秘密部分を置く。 4)第1の処理手段によるプログラム実行のために、以下のオペレーションを行
    う。 a)第2の処理手段を第1の処理手段に接続し、かつユーザーによって始動さ
    れる外部信号の関数のパラメータ/変数を、第1の処理手段から第2の処理手段
    へ伝送する。 b)第2の処理手段によって、受信した前記パラメータ/変数の幾つかを実施
    することにより、プログラムの少なくとも一部を実行する。 c)前項b)の実行の結果を、第2の処理手段から第1の処理手段へ伝送する
    。 d)第1の手段によって実現される実行において、前記の結果の幾つかを利用
    する。
  2. 【請求項2】 コンピュータプログラム実行の制御方法であって、以下から
    成るステップを有する方法。 1’)1つのプログラムを、それぞれ公開と秘密との、少なくとも2つの部分に
    分割し、公開部分は、第1の処理手段上で実行されることに適しており、秘密部
    分は、安全化された第2の処理手段上で実行されることに適している。 2’)少なくとも1つの秘密部分を暗号化し、それを同一媒体上に公開部分と共
    に置き、媒体が第1の処理手段に接続されるためのものである。 3’)対応する復号化機能を、第2の処理手段内に置く。 4’)プログラム実行のために、以下のオペレーションを行う。 a’)第2の処理手段を第1の処理手段に接続し、かつ暗号化された秘密部分
    の全部または一部を、第1の処理手段から第2の処理手段へ伝送する。 b’)安全化された第2の処理手段によって、前記復号化機能を実施すること
    により、受信し暗号化された前記秘密部分を復号化し、かつ安全化されたメモリ
    に平文の秘密部分を保存する。 c’)外部信号の関数のパラメータ/変数を、第1の処理手段から第2の処理
    手段へ伝送する。 d’)安全化された第2の処理手段によって、受信した前記パラメータ/変数
    の幾つかを利用することにより、秘密の少なくとも一部を実行する。 e’)前項d’)の実行の結果を、第2の処理手段から第1の処理手段へ伝送
    する。 f’)第1の手段によって実現される実行において、前記の結果の幾つかを利
    用する。 それは、第2の手段が携帯可能かつ取り外し可能なチップの付いた付属媒
    体であることを特徴とする。
  3. 【請求項3】 オペレーションa’)において、必要に応じて、および/ま
    たは安全化された第2の処理手段の容量に応じて、暗号化されたプログラムの一
    部を伝送することを特徴とする、請求項2に記載の方法。
  4. 【請求項4】 第2の処理手段が、マイクロプロセッサ式カードであること
    を特徴とする、請求項1から3のいずれか1つに記載の方法。
  5. 【請求項5】 第2の処理手段が、メモリカード内にハードウェア化された
    形であることを特徴とする、請求項1から3のいずれか1つに記載の方法。
  6. 【請求項6】 第1の処理手段が、コンピュータの中央装置であることを特
    徴とする、請求項1から5のいずれか1つに記載の方法。
  7. 【請求項7】 中央装置が、特にインターネットタイプのネットワークに接
    続されており、該ネットワーク上で、プログラムの少なくとも公開部分がオン・
    デマンドで自由に使えることを特徴とする、請求項1から6のいずれか1つに記
    載の方法。
  8. 【請求項8】 前記プログラムの使用権の安全化された配布は、サーバーを
    介して、ユーザーの媒体に行われることを特徴とする、請求項2から7のいずれ
    か1つに記載の方法。
  9. 【請求項9】 媒体が、プログラムのIDと媒体のIDとを有するサーバー
    に、権利のロード要求を送信し、前記サーバーは、要求者の媒体のIDと権利の
    暗号化鍵とを組み合わせ、結果は多様化された暗号化鍵として使用されるのに適
    切なビット数であり、サーバーはこの多様化鍵を使用して要求された権利を暗号
    化し、かつこのように暗号化された権利を要求者の媒体に送信することを特徴と
    する、請求項8に記載の方法。
JP2000555145A 1998-06-12 1998-06-12 ソフトウェア製品の実行の制御方法 Pending JP2002518727A (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/FR1998/001226 WO1999066387A1 (fr) 1998-06-12 1998-06-12 Procede de controle de l'execution d'un produit logiciel

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2008106251A Division JP2008269607A (ja) 2008-04-15 2008-04-15 ソフトウェア製品の実行の制御方法

Publications (1)

Publication Number Publication Date
JP2002518727A true JP2002518727A (ja) 2002-06-25

Family

ID=9522531

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000555145A Pending JP2002518727A (ja) 1998-06-12 1998-06-12 ソフトウェア製品の実行の制御方法

Country Status (4)

Country Link
EP (1) EP1086411B1 (ja)
JP (1) JP2002518727A (ja)
DE (1) DE69819790D1 (ja)
WO (1) WO1999066387A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010525438A (ja) * 2007-04-19 2010-07-22 トムソン ライセンシング メディアパッケージ、メディアパッケージを有するシステム及びプログラムコードを実行する方法
JP2010257302A (ja) * 2009-04-27 2010-11-11 Toppan Printing Co Ltd セキュア媒体

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10003086A1 (de) * 2000-01-25 2001-08-02 Infineon Technologies Ag Datenverarbeitungssystem
US6671809B1 (en) * 2000-05-10 2003-12-30 General Dynamics Decision Systems, Inc. Software-defined communications system execution control
US20020083318A1 (en) * 2000-12-26 2002-06-27 Larose Gordon Edward Method and system for software integrity control using secure hardware assist
FR2828305B1 (fr) * 2001-07-31 2010-09-03 Validy Procede pour proteger un logiciel a l'aide d'un principe dit de "variable" contre son utilisation non autorisee
FR2828301B1 (fr) * 2001-07-31 2010-09-03 Validy Procede pour proteger un logiciel a l'aide d'un principe dit de "detection et coercition" contre son utilisation non autorisee
FR2828303B1 (fr) * 2001-07-31 2010-09-03 Validy Procede pour proteger un logiciel a l'aide d'un principe dit de "renommage" contre son utilisation non autorisee
FR2828300B1 (fr) * 2001-07-31 2010-09-03 Validy Procede pour proteger un logiciel a l'aide d'un principe dit de "fonctions elementaires" contre son utilisation non autorisee
FR2828304B1 (fr) * 2001-07-31 2010-09-03 Validy Procede pour proteger un logiciel a l'aide d'un principe dit de "dissociation temporelle" contre son utilisation non autorisee
FR2828302B1 (fr) * 2001-07-31 2010-09-03 Validy Procede pour proteger un logiciel a l'aide d'un principe dit de "branchement conditionnel" contre son utilisation non autorisee
US7174466B2 (en) 2001-08-01 2007-02-06 Sas Validy Method to protect software against unwanted use with a “detection and coercion” principle
US7434064B2 (en) 2001-08-01 2008-10-07 Sas Validy Method to protect software against unwanted use with a “elementary functions” principle
US7502940B2 (en) 2001-08-01 2009-03-10 Sas Validy Method to protect software against unwanted use with a “conditional branch” principle
US7343494B2 (en) 2001-08-01 2008-03-11 Sas Validy Method to protect software against unwanted use with a “renaming” principle
US7269740B2 (en) 2001-08-01 2007-09-11 Sas Validy Method to protect software against unwanted use with a “variable principle”
FR2834573A1 (fr) * 2002-01-08 2003-07-11 Oberthur Card Syst Sa Dispositif electronique de traitement de donnees apte a executer un logiciel protege contre les copies
US7272725B2 (en) 2002-06-25 2007-09-18 Sas Validy Method to protect software against unwanted use with a “temporal dissociation” principle
CN1977230A (zh) * 2004-06-29 2007-06-06 皇家飞利浦电子股份有限公司 安全地链接承载相同计算机代码的不同版本的媒介

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA1238427A (en) * 1984-12-18 1988-06-21 Jonathan Oseas Code protection using cryptography
US5146575A (en) * 1986-11-05 1992-09-08 International Business Machines Corp. Implementing privilege on microprocessor systems for use in software asset protection
BE1009122A3 (fr) * 1994-12-05 1996-12-03 Awax Progettazione Cle electronique de securite destinee a activer et/ou desactiver les fonctions ou programmes speciaux dans un ordinateur electronique dans le but d'empecher la copie du programme de travail de l'ordinateur.
US5754646A (en) * 1995-07-19 1998-05-19 Cable Television Laboratories, Inc. Method for protecting publicly distributed software
FR2762417B1 (fr) * 1997-04-16 1999-07-02 Gemplus Card Int Procede de controle de l'execution d'un produit logiciel

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010525438A (ja) * 2007-04-19 2010-07-22 トムソン ライセンシング メディアパッケージ、メディアパッケージを有するシステム及びプログラムコードを実行する方法
JP2010257302A (ja) * 2009-04-27 2010-11-11 Toppan Printing Co Ltd セキュア媒体

Also Published As

Publication number Publication date
DE69819790D1 (de) 2003-12-18
EP1086411B1 (fr) 2003-11-12
WO1999066387A1 (fr) 1999-12-23
EP1086411A1 (fr) 2001-03-28

Similar Documents

Publication Publication Date Title
USRE47313E1 (en) Securing digital content system and method
US7032240B1 (en) Portable authorization device for authorizing use of protected information and associated method
EP0191162B1 (en) Method of software protection
EP1125182B1 (en) Distributing access to a data item
JP2002518727A (ja) ソフトウェア製品の実行の制御方法
White et al. ABYSS: An architecture for software protection
US6332025B2 (en) Software distribution system and software utilization scheme for improving security and user convenience
EP0870255B1 (en) Personal access management system
US20050060561A1 (en) Protection of data
US20020083318A1 (en) Method and system for software integrity control using secure hardware assist
US6931542B1 (en) Method for verifying the execution of a software product
WO2006031127A2 (en) Methods and arrangements for distributing computer programs and user licenses in a secure manner
AU778380B2 (en) Portable authorization device for authorizing use of protected information and associated method
US20070005644A1 (en) Method of protecting copyright of digital publication and the system therefor
JPH07123086A (ja) Icカードを利用した著作物通信管理システム
JP4454280B2 (ja) ライセンス認証方法およびライセンス認証システム
US20030144960A1 (en) Method for online commercial distribution of digital goods through a comminication network and eletronic device for purchasing electronic goods distributed by said method
Nützel et al. How to increase the security of Digital Rights Management systems without affecting consumer’s security
JP2008269607A (ja) ソフトウェア製品の実行の制御方法
JP2000112751A (ja) ソフトウエア流通システムに用いる装置
JP5372843B2 (ja) コンテンツ利用装置及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050519

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070515

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20070803

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20070810

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20070914

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20070925

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20071115

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20071218

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080415

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

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20080616

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

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20090319