JP2008210324A - ソフトウェアの実行制御プログラム、および実行制御方法 - Google Patents

ソフトウェアの実行制御プログラム、および実行制御方法 Download PDF

Info

Publication number
JP2008210324A
JP2008210324A JP2007048636A JP2007048636A JP2008210324A JP 2008210324 A JP2008210324 A JP 2008210324A JP 2007048636 A JP2007048636 A JP 2007048636A JP 2007048636 A JP2007048636 A JP 2007048636A JP 2008210324 A JP2008210324 A JP 2008210324A
Authority
JP
Japan
Prior art keywords
value
software
identification information
authentication
unique identification
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
JP2007048636A
Other languages
English (en)
Inventor
Fumihiko Ueno
文彦 上野
Kaname Ujiie
要 氏家
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.)
SYNC Inc
Original Assignee
SYNC 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 SYNC Inc filed Critical SYNC Inc
Priority to JP2007048636A priority Critical patent/JP2008210324A/ja
Publication of JP2008210324A publication Critical patent/JP2008210324A/ja
Pending legal-status Critical Current

Links

Images

Abstract

【課題】
不正使用されにくいソフトウェアの実行環境を提供する。
【解決手段】
利用者端末から実行可能なソフトウェアの固有識別情報および利用者端末から参照可能に接続されるハードウェアの固有識別情報に基づいて認証値を生成する認証値生成部と、上記ハードウェアの記憶領域に格納された暗号値を所定の公開鍵で復号化して復号値を生成する暗号値生成部と、上記認証値および上記暗号値の照合により上記認証値および上記復号値が一致した場合にのみ上記ソフトウェアの実行制限を解除する認証部とを備える。暗号値は、ソフトウェアの固有識別情報およびハードウェアの固有識別情報を所定の秘密鍵で暗号化して生成する。認証部における認証値および復号値の照合は、ソフトウェアの実行中に複数回行なうようにしてもよい。
【選択図】図3

Description

本発明は、ソフトウェアの不正利用を防止し、適正な利用者のみ使用可能にする、固有識別情報と記憶領域を有するハードウェアを用いたソフトウェアの実行制御プログラム、および実行制御方法プログラムに関する。
情報処理装置(以下、「利用者端末」。)におけるソフトウェアの著作権の保護を考えた場合、使用を許諾した適正な利用者にのみ使用を可能にする方法の実現が期待されている。従来このような不正利用防止対策としては、パスワードを利用する方法や専用のドングルを利用する方法がとられている。
例えば、パスワードを利用する方法はソフトウェアの起動時に各ソフトウェアのパスワードを入力しソフトウェアの動作を有効にする方法で、ソフトウェア内に持つ暗号化したパスワード情報と入力したパスワードを照合してソフトウェアの使用認証を実現している。
また、専用のドングル(ハードウェアキー)を利用する方法は、ソフトウェア提供者が、固有のキー番号を書き込んだドングルと、そのキー番号を元に多くは共通鍵暗号方式の共通鍵で暗号化したライセンス情報をソフトウェアに内包して利用者に提供し、ドングルを利用者のPCのパラレルポート等に接続させるとともに、そのキー番号と、ライセンス情報を復号して得られるキー番号の一致をもってプログラムの使用認証する方法がとられている(例えば、特許文献1)。
特開2001−175468、図1等。
しかしながら、前述したパスワードを用いる方法では、パスワードの管理に対する脆弱性から意図的あるいは偶発的な漏洩により適正な利用者以外の者に伝わりソフトウェアが不正利用されてしまう可能性がある。また後述の専用ドングルを用いる方法においては、ソフトウェア内のライセンス情報が解読されてもドングルがなければ利用することができず、より安全性が高いと言うことができるが、その利用は費用とセキュリティの要求面で高額なソフトウェアでの採用に留まっており、費用負担が少なくセキュリティの高いプログラム実行プロテクト方法が要求されている。
したがって、本発明の目的は、より高い安全性でソフトウェアの使用を制御することができ、かつ、装置継承の利便性や少ない費用負担で導入可能な固有識別情報と記憶領域を有するソフトウェアの実行制御プログラム、および実行制御方法を提供することにある。
前記課題を解決する本発明の第1構成の実行制御プログラムでは、利用者端末から実行可能なソフトウェアの固有識別情報および利用者端末から参照可能に接続されるハードウェアの固有識別情報に基づいて認証値を生成する認証値生成部と、上記ハードウェアの記憶領域に格納された暗号値を所定の公開鍵で復号化して復号値を生成する復号値生成部と、上記認証値および上記復号値の照合により上記ソフトウェアの実行可否を判断する認証部とを備えたことを特徴とする。
利用者端末から参照可能に接続されるハードウェアとは、利用者端末とハードウェアが双方向アクセス可能に接続された状態を意味する。上記認証値および上記復号値の照合によりソフトウェアの実行可否を判断するには、例えば、両者の値が一致した場合、両者の値が特定の関係にある場合に限ってソフトウェアの実行を許可すること等が考えられる。
公開鍵暗号化方式は、現在広く使われている、RSA、DSAを採用可能である。認証値をハッシュ値とする場合、その生成には4D5、SHA1、SHA224などのハッシュ関数fを用いることができる。ソフトウェアの実行制限としては、例えば、データ改変を伴わない閲覧や印刷の機能は維持しつつ、データ編集を行えないようにすることが考えられる。
本発明の第2構成の実行制御プログラムでは、第1構成の上記暗号値が、上記ソフトウェアの固有識別情報および上記ハードウェアの固有識別情報に基づいて生成される認証値に所定の秘密鍵を適用して暗号化する暗号値生成プログラムから生成されることを特徴とする。
本発明の第3構成の実行制御プログラムでは、第1構成または第2構成の上記認証部における上記認証値および上記復号値の照合が、上記ソフトウェアの実行中に複数回、例えば起動時や所定時間間隔などに行われることを特徴とする。
本発明の第4構成の実行制御方法では、利用者端末から実行可能なソフトウェアの固有識別情報および利用者端末から参照可能に接続されるハードウェアの固有識別情報に基づいて認証値を生成すると共に、上記ハードウェアの記憶領域に格納された暗号値を所定の公開鍵で復号化して復号値を生成し、上記認証値および上記復号値の照合により上記ソフトウェアの実行可否を判断することを特徴とする。
本発明の第5構成の実行制御方法では、第4構成の上記暗号値を上記ソフトウェアの固有識別情報および上記ハードウェアの固有識別情報に基づいて生成される認証値に所定の秘密鍵を適用して暗号化により生成したことを特徴とする。
本発明の第6構成の実行制御方法では、第4構成、第5構成の上記認証値および上記復号値の照合が、上記ソフトウェアの実行中に複数回、例えば起動時や所定時間間隔などに行われることを特徴とする。
本発明に係るソフトウェアの実行制御方法、および実行制御プログラムによれば、所定の利用者端末内でソフトウェアを実行するには、ソフトウェアの固有識別情報に加えて、ハードウェアの固有識別情報が必要となる。
特に、ハードウェアの非利用者領域に記憶させた製造企業や製造番号等を示す固有識別情報は改竄されにくい特徴を有している。
したがって、ソフトウェア提供者が提供するソフトウェアとハードウェアの固有識別情報を同時に照合できる利用者端末環境が必要となるので、ソフトウェアの不正利用を未然に防止することができる。また、所定の利用者端末内でのソフトウェアを実行中に複数回の照合を行うことにより、ハードウェアを外した状態でソフトウェアの使用を制限することができる。
本発明の一実施形態について図面を参照して説明する。図1は本実施例における暗号値生成プログラムの説明図、図2は本実施例における暗号値生成プログラムのフロー図、図3は本実施例における実行制御プログラムの説明図、図4は本実施例における実行制御方法のフロー図である。
[ソフトウェアの提供者側]
ソフトウェア3の固有識別情報30とハードウェア4の固有識別情報40から暗号値Eを生成し、ハードウェア4の記憶領域に暗号値Eを記憶させるまでについて説明する。
また、ソフトウェア3はハードウェア4の利用者(ユーザ)領域に記憶することも可能である。ハードウェア4における利用者領域とは、予め利用者用の記憶領域として確保された双方向にアクセス可能な記憶領域である。
ソフトウェア3に対応する情報を記憶させた利用者に提供するまでを説明する。
まず、ソフトウェア3の提供者のみに秘密にしておく公開鍵暗号方式による秘密鍵Ksと、秘密鍵Ksに対応する公開鍵Kpを作成すると共に、ハッシュ函数を用意する。
ハードウェア4はその非利用者領域に固有識別情報40を記憶させているが、上記ソフトウェア3に対応する情報として、利用者領域である記憶領域に暗号値Eを記憶させるため、暗号値生成プログラム1が必要となる。ハードウェア4における非利用者領域とは、予め利用者用の記憶領域として確保されたものではないハードウェア情報等の記憶領域である。
暗号値生成プログラム1は、認証値生成部10、暗号値生成部11とから構成している。
認証値生成部10は、ソフトウェア3の固有識別情報30およびハードウェア4の固有識別情報40から、ハッシュ関数fを用いてハッシュ値としての認証値H1を生成させるものである。
暗号値生成部11は、秘密鍵Ksを用いて認証値H1から暗号値Eを生成し、ハードウェア4の記憶領域に暗号値Eを記憶させるものである。
[ソフトウェアの利用者側]
ハードウェア4を接続した利用者端末(図示省略)におけるソフトウェア3の実行について説明する。
利用者端末の入出力ポートに接続したハードウェア4は、非利用者領域に記憶させた製造企業や製造番号等を示す固有識別情報30および利用者領域である記憶領域を有しており、その記憶領域には暗号値生成プログラム1に基づいて生成した暗号値Eを記憶している。利用者端末に格納されたソフトウェア3は、シリアル番号等の固有識別情報30を有している。
ソフトウェア3の機能の一部として機能する本実施例の実行制御プログラム2は、認証値生成部20、復号値生成部21、認証部22とから構成している。
認証値生成部20は、ソフトウェア3の固有識別情報30およびハードウェア4の固有識別情報40から、ハッシュ関数fを用いてハッシュ値としての認証値H2を生成させるものである。
復号値生成部21は、公開鍵Kpを用いてハードウェア4の記憶領域に記憶させた暗号値Eから復号値Dを生成させるものである。
認証部22は、認証値H2と復号値Dを照合して、ソフトウェア3の実行可否を判断する。本実施例の認証部22では認証値H2と復号値Dの両者が一致したのみソフトウェア3の実行を許可し、両者が一致しない場合には実行環境を制限する。実行環境の制限とは、ソフトウェア3の一部機能のみを使用可能に制限するなどがある。
また、認証部22における照合は、ソフトウェア3の実行中に定期的に行うようにしてもよい。
本実施例における暗号値生成プログラムの説明図である。 本実施例における暗号値生成プログラムのフロー図である。 本実施例における実行制御プログラムの説明図である。 本実施例における実行制御方法のフロー図である。
符号の説明
1 暗号値生成プログラム
10 認証値生成部
11 暗号値生成部
2 実行制御プログラム
20 認証値生成部
21 復号値生成部
22 認証部
3 ソフトウェア
30 固有識別情報
4 ハードウェア
40 固有識別情報
D 復号値
E 暗号値
f ハッシュ関数
H1 認証値(暗号値生成プログラムにおける)
H2 認証値(実行制御プログラムにおける)
Kp 公開鍵
Ks 秘密鍵

Claims (6)

  1. 利用者端末から実行可能なソフトウェアの固有識別情報および利用者端末から参照可能に接続されるハードウェアの固有識別情報に基づいて認証値を生成する認証値生成部と、上記ハードウェアの記憶領域に格納された暗号値を所定の公開鍵で復号化して復号値を生成する復号値生成部と、上記認証値および上記復号値の照合により上記ソフトウェアの実行可否を判断する認証部とを備えたことを特徴とするソフトウェアの実行制御プログラム。
  2. 上記暗号値は、上記ソフトウェアの固有識別情報および上記ハードウェアの固有識別情報に基づいて生成される認証値に所定の秘密鍵を適用して暗号化する暗号値生成プログラムから生成されることを特徴とする請求項1記載のソフトウェアの実行制御プログラム。
  3. 上記認証部における上記認証値および上記復号値の照合が、上記ソフトウェアの実行中に複数回行われることを特徴とする請求項1または2記載のソフトウェアの実行制御プログラム。
  4. 利用者端末から実行可能なソフトウェアの固有識別情報および利用者端末から参照可能に接続されるハードウェアの固有識別情報に基づいて認証値を生成すると共に、上記ハードウェアの記憶領域に格納された暗号値を所定の公開鍵で復号化して復号値を生成し、上記認証値および上記復号値の照合により上記ソフトウェアの実行可否を判断することを特徴とするソフトウェアの実行制御方法。
  5. 上記暗号値は、上記ソフトウェアの固有識別情報および上記ハードウェアの固有識別情報に基づいて生成される認証値に所定の秘密鍵を適用して暗号化により生成したことを特徴とする請求項4記載のソフトウェアの実行制御方法。
  6. 上記認証値および上記復号値の照合が、上記ソフトウェアの実行中に複数回行われることを特徴とする請求項4または5記載のソフトウェアの実行制御方法。
JP2007048636A 2007-02-28 2007-02-28 ソフトウェアの実行制御プログラム、および実行制御方法 Pending JP2008210324A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007048636A JP2008210324A (ja) 2007-02-28 2007-02-28 ソフトウェアの実行制御プログラム、および実行制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007048636A JP2008210324A (ja) 2007-02-28 2007-02-28 ソフトウェアの実行制御プログラム、および実行制御方法

Publications (1)

Publication Number Publication Date
JP2008210324A true JP2008210324A (ja) 2008-09-11

Family

ID=39786539

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007048636A Pending JP2008210324A (ja) 2007-02-28 2007-02-28 ソフトウェアの実行制御プログラム、および実行制御方法

Country Status (1)

Country Link
JP (1) JP2008210324A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012532392A (ja) * 2009-07-06 2012-12-13 ジェムアルト エスアー 受信側の印章によりリモートコードの安全を保証する方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012532392A (ja) * 2009-07-06 2012-12-13 ジェムアルト エスアー 受信側の印章によりリモートコードの安全を保証する方法

Similar Documents

Publication Publication Date Title
KR101010040B1 (ko) 파일의 암호화·복호화 방법, 장치, 프로그램 및 이프로그램을 기록한 컴퓨터 판독 가능한 기록 매체
US8281115B2 (en) Security method using self-generated encryption key, and security apparatus using the same
JP4615601B2 (ja) コンピュータセキュリティシステムおよびコンピュータセキュリティ方法
CN102271037B (zh) 基于在线密钥的密钥保护装置
EP1636664B1 (en) Proof of execution using random function
CN100495421C (zh) 一种基于usb设备的认证保护方法
US20090138727A1 (en) Challenge And Response Access Control Providing Data Security In Data Storage Devices
US10027683B2 (en) Shared symmetric key encryption
KR20140000352A (ko) 권리 객체 백업 방법 및 장치
US7805616B1 (en) Generating and interpreting secure and system dependent software license keys
EP3059897B1 (en) Methods and devices for authentication and key exchange
US20100011221A1 (en) Secured storage device with two-stage symmetric-key algorithm
US11516194B2 (en) Apparatus and method for in-vehicle network communication
CN112800392A (zh) 基于软证书的授权方法和装置、存储介质
US20120079462A1 (en) Systems and methods of source software code obfuscation
CN106992978B (zh) 网络安全管理方法及服务器
JP2008005408A (ja) 記録データ処理装置
CN101795195B (zh) 一种约束信息可变的加密认证电子地图的方法
US20150262084A1 (en) Methods for defending static and dynamic reverse engineering of software license control and devices thereof
JP2008021021A (ja) ソフトウエアのライセンス認証方法
CN100410831C (zh) 随机捆绑软件安装方法
JP5049179B2 (ja) 情報処理端末装置及びアプリケーションプログラムの起動認証方法
JP2008210324A (ja) ソフトウェアの実行制御プログラム、および実行制御方法
KR101282504B1 (ko) 네트워크 환경에서 소프트웨어 사용 권한 인증 방법
JP2000099385A (ja) ファイルを複数ユーザで共有するためのセキュリティ方法ならびにシステム及び同方法がプログラムされ記録される記録媒体