JP2006031169A - ライセンス情報確認装置、ライセンス情報確認方法及びライセンス情報確認プログラム - Google Patents

ライセンス情報確認装置、ライセンス情報確認方法及びライセンス情報確認プログラム Download PDF

Info

Publication number
JP2006031169A
JP2006031169A JP2004206219A JP2004206219A JP2006031169A JP 2006031169 A JP2006031169 A JP 2006031169A JP 2004206219 A JP2004206219 A JP 2004206219A JP 2004206219 A JP2004206219 A JP 2004206219A JP 2006031169 A JP2006031169 A JP 2006031169A
Authority
JP
Japan
Prior art keywords
license information
information
software
license
verification
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
JP2004206219A
Other languages
English (en)
Inventor
Kanji Kume
寛司 久米
Hideyuki Urita
英之 瓜田
Haruki Yamaya
春喜 山家
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.)
Oki Electric Industry Co Ltd
Original Assignee
Oki Electric Industry Co Ltd
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 Oki Electric Industry Co Ltd filed Critical Oki Electric Industry Co Ltd
Priority to JP2004206219A priority Critical patent/JP2006031169A/ja
Priority to CNB2004100979225A priority patent/CN100565539C/zh
Priority to KR1020050006554A priority patent/KR101123088B1/ko
Priority to US11/065,068 priority patent/US20060015465A1/en
Publication of JP2006031169A publication Critical patent/JP2006031169A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61HPHYSICAL THERAPY APPARATUS, e.g. DEVICES FOR LOCATING OR STIMULATING REFLEX POINTS IN THE BODY; ARTIFICIAL RESPIRATION; MASSAGE; BATHING DEVICES FOR SPECIAL THERAPEUTIC OR HYGIENIC PURPOSES OR SPECIFIC PARTS OF THE BODY
    • A61H7/00Devices for suction-kneading massage; Devices for massaging the skin by rubbing or brushing not otherwise provided for
    • A61H7/002Devices for suction-kneading massage; Devices for massaging the skin by rubbing or brushing not otherwise provided for by rubbing or brushing
    • A61H7/003Hand-held or hand-driven 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]
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61HPHYSICAL THERAPY APPARATUS, e.g. DEVICES FOR LOCATING OR STIMULATING REFLEX POINTS IN THE BODY; ARTIFICIAL RESPIRATION; MASSAGE; BATHING DEVICES FOR SPECIAL THERAPEUTIC OR HYGIENIC PURPOSES OR SPECIFIC PARTS OF THE BODY
    • A61H39/00Devices for locating or stimulating specific reflex points of the body for physical therapy, e.g. acupuncture
    • A61H39/04Devices for pressing such points, e.g. Shiatsu or Acupressure
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61HPHYSICAL THERAPY APPARATUS, e.g. DEVICES FOR LOCATING OR STIMULATING REFLEX POINTS IN THE BODY; ARTIFICIAL RESPIRATION; MASSAGE; BATHING DEVICES FOR SPECIAL THERAPEUTIC OR HYGIENIC PURPOSES OR SPECIFIC PARTS OF THE BODY
    • A61H2201/00Characteristics of apparatus not provided for in the preceding codes
    • A61H2201/01Constructive details
    • A61H2201/0119Support for the device
    • A61H2201/0153Support for the device hand-held
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61HPHYSICAL THERAPY APPARATUS, e.g. DEVICES FOR LOCATING OR STIMULATING REFLEX POINTS IN THE BODY; ARTIFICIAL RESPIRATION; MASSAGE; BATHING DEVICES FOR SPECIAL THERAPEUTIC OR HYGIENIC PURPOSES OR SPECIFIC PARTS OF THE BODY
    • A61H2201/00Characteristics of apparatus not provided for in the preceding codes
    • A61H2201/16Physical interface with patient
    • A61H2201/1602Physical interface with patient kind of interface, e.g. head rest, knee support or lumbar support
    • A61H2201/1654Layer between the skin and massage elements, e.g. fluid or ball
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61HPHYSICAL THERAPY APPARATUS, e.g. DEVICES FOR LOCATING OR STIMULATING REFLEX POINTS IN THE BODY; ARTIFICIAL RESPIRATION; MASSAGE; BATHING DEVICES FOR SPECIAL THERAPEUTIC OR HYGIENIC PURPOSES OR SPECIFIC PARTS OF THE BODY
    • A61H2201/00Characteristics of apparatus not provided for in the preceding codes
    • A61H2201/16Physical interface with patient
    • A61H2201/1683Surface of interface
    • A61H2201/169Physical characteristics of the surface, e.g. material, relief, texture or indicia

Landscapes

  • Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Rehabilitation Therapy (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Computer Hardware Design (AREA)
  • General Health & Medical Sciences (AREA)
  • Public Health (AREA)
  • Veterinary Medicine (AREA)
  • Physical Education & Sports Medicine (AREA)
  • Multimedia (AREA)
  • Pain & Pain Management (AREA)
  • Technology Law (AREA)
  • Animal Behavior & Ethology (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Epidemiology (AREA)
  • Dermatology (AREA)
  • Storage Device Security (AREA)

Abstract

【課題】ソフトウェアの排他権侵害者又はライセンス契約違反者に、排他権侵害又はライセンス契約違反の事実を明示するようにする。
【解決手段】実行するソフトウェアとソフトウェアに含まれている検証情報との一致性を判断してソフトウェアの実行の正当性を検証する検証手段と、検証手段による検証結果を一時的に記憶する記憶手段と、読み出し信号が入力されたときに記憶手段から検証結果を読み出し、その読み出した検証結果に基づいてソフトウェアの権利帰属情報及び又はライセンス情報を出力する出力手段とを備える。
【選択図】 図1

Description

本発明は、ライセンス情報確認装置、ライセンス情報確認方法及びライセンス情報確認プログラムに関し、例えば、プリント基板等に組み込まれたシステムLSIのソフトウェアに関するライセンス情報を読み取り、当該ソフトウェアが不正に複写されたものでないか、若しくは当該ソフトウェアがライセンス契約に違反していないかを確認する方法に関する。
近年、システムLSI技術の発展により、安価なものが調達できるようになったことから、システムLSIを組み込んだ機器が普及することとなった。特に、例えば携帯電話等の携帯機器の普及は著しく、更なる拡販のため、携帯電話のデザインや外観が重視されると共に、多種多様な機能な機能の充実が求められている。そのため、ソフトウェア開発企業は、さまざまな機能のソフトウェアを開発している。また、現在ではハードウェアの大きな変更をしなくても、内部に組み込んだシステムLSIを駆動する組み込みソフトウェアの改変(version−up)は頻繁に行われる状況にある。その結果、ソフトウェア開発企業は、ハードウェアよりもソフトウェアの価値を重視し、詳細なライセンス契約を携帯電話等の製造者等と結んで収益を計ろうとする傾向にある。
例えば、組み込みソフトウェアの販売は、通常ソースコード(source code)の提供の形で行われる。ソースコードは、ソフトウェア開発企業内で厳重に秘密管理されてはいるが、一旦外部に出荷されてしまうと容易に複製され得るものであることから、著作権侵害行為やライセンス契約に違反した行為が行われることが少なくない。特に、当該ソースコードがコンパイルされ、オブジェクトコード(object code)の形になってしまうと、ソフトウェアの著作権者等を直接確認することは難しい。
図2は、そのような組み込みソフトウェアのライセンス販売の問題点を説明する図である。図2において、O社はソフトウェアを開発した著作権者であり、A社はO社とライセンス契約を締結したユーザである。従って、O社とA社とは、ソフトウェアの利用に関するライセンサー(licenser)とライセンシー(licensee)の関係にある。
第1の問題点は、O社とライセンス契約を締結していないユーザ(unlicensed user)B社が、適法に購入したシステムLSIに、何らかの手段でソフトウェア入手し、そのソフトウェアをシステムLSIに組み込み、ソフトウェアを実行する場合である。
例えば、ユーザB社は携帯機器を構成するプリント基板上にシステムLSIとファームウェア(firmware)としての不揮発性メモリ、例えばフラッシュメモリ(flash memory)を配置し、フラッシュメモリにソフトウェアのオブジェクトコードを書き込めば、ソフトウェアにつき何らライセンス契約を行っていないにも関わらず、携帯機器を動作させることができる。
第2の問題点は、O社とライセンス契約を締結したA社が、ライセンス契約に違反してソフトウェアの改変をし、その改変したソフトウェアを実行する場合である。
例えば、ライセンス契約では、動作保証を与えない形で、ある程度のオブジェクトコードの改変を認める内容を締結する場合がある。例えば、コンパイルの際のオプションでもオブジェクトコードは変わってくる。しかし、契約内容によっては、提供されたソフトウェアの改変を禁止する条項が設けられる場合も考えられる。特にライセンサーO社が直接提供し当該システムの基幹部分を制御するプログラムについて、その改変を契約上一切禁じることがある。その場合、市場における仕様変更の要求は頻繁にあることから、正規のユーザでありながら、その開発負担を軽減する等の理由で、ライセンス契約に違反してソフトウェアの改変を行う可能性は否定できない。ソースコードを手中にしている正規のユーザA社がその改変を行うことは容易である。そこで、ライセンサーO社として、そのような行為を検知したいと考える場合がある。
特開平9−69044号公報
上述したように、著作権侵害行為若しくはライセンス契約違反により、ライセンサーO社のソフトウェア若しくは改変されたソフトウェア組み込み、実行などの利用がなされた場合、O社は、自らに対してだけでなく、当該侵害者若しくは違反者に対してもその事実を明示したいと考える。その場合、少なくとも当該ソフトウェアの特定及び当該ライセンス契約の特定を行わなければならない。当該ソフトウェアの特定には、当該ライセンス契約で提供したオブジェクトコードの特定部分の一致を含むものであることが望ましい。
しかし、ソフトウェアが一旦携帯機器等に組み込まれてしまった後に、携帯機器等を破壊せずに、ソフトウェアの特定等を行うのは容易ではない。完成した携帯機器の機能等からライセンス契約に違反したソフトウェアが携帯機器等に組み込まれている、と推測はできる。しかし、ライセンサーO社は、やはりその確証を持つことができない。
携帯機器によっては、ファームウェアとしてのEPROMをソケットに差し、交換可能にしているタイプのものもある。しかし、空間的な制約から今日の携帯機器はフラッシュメモリを採用し、後日電気的に書き換え可能な構成を採用するのが一般的になっており、簡単にオブジェクトコードを取り出せるものは少ない。
また、フラッシュメモリの中には、特定の端子(pin)の操作により、その内容を読み出すモードに設定できるものがある。しかし、本発明では単にオブジェクトコードを取り出すこと自体が目的ではなく、オブジェクトコードがライセンス契約等に沿ったものであるか否かを簡単に判別することを目的とする。更に言えば、オブジェクトコードがライセンス契約等に沿ったものであるか否かを判別することで、行為者がした行為が著作権侵害行為若しくはライセンス契約違反行為であるという事実を、行為者に明示することを目的とする。
仮にライセンス契約に係るオブジェクトコードがライセンス契約に係る情報を含み、そのライセンス情報を簡単に読み出すことができれば、その携帯機器を提供する非正規ユーザBに対して、少なくとも著作権の侵害を主張できる。即ち、非正規ユーザBは著作権者たるO社の許諾を受けずにソフトウェアを利用したことになる。
また、そのライセンス情報ばかりでなく、ソフトウェアの管理番号等によりオブジェクトコードを特定できれば、そして前記ライセンス契約に違反してオブジェクトコードの特定部分の改訂が行われていたことを検知できれば、O社は正規ユーザAに対してライセンス契約に違反すると主張できる。
最も、何れの場合にもユーザが相当の技術力を有し、その結果ライセンス情報等を読み取ることができれば、その改変を行い、その検証をすり抜ける行為を行うことも可能である。そこで、完全なる秘匿を目指して暗号等を利用する方法も考えられる。しかし、本発明ではライセンス契約等の違反の事実を簡単に明示することを主目的にしている。暗号等を利用する事も可能ではあるが、それは却って本発明の目的から外れる畏れがある。
かかる課題を解決するために、第1の本発明のライセンス情報確認装置は、実行するソフトウェアが適式なライセンス契約に基づくものであるか否かを確認するライセンス情報確認装置であって、ソフトウェアに含まれている検証情報との一致性を判断して、ソフトウェアの実行の正当性を検証する検証手段と、検証手段による検証結果を一時的に記憶する記憶手段と、読み出し信号が入力されたときに、記憶手段から上記検証結果を読み出し、その読み出した検証結果に基づいて、ソフトウェアの権利帰属情報及び又はライセンス情報を出力する出力手段とを備えることを特徴とする。
第2の本発明のライセンス情報確認方法は、実行するソフトウェアが適式なライセンス契約に基づくものであるか否かを確認するライセンス情報確認方法であって、検証手段が、ソフトウェアに含まれている検証情報との一致性を判断して、ソフトウェアの実行の正当性を検証し、記憶手段が、検証手段による検証結果を一時的に記憶し、出力手段が、読み出し信号が入力されたときに、記憶手段から検証結果を読み出し、その読み出した検証結果に基づいて、ソフトウェアの権利帰属情報及び又はライセンス情報を出力することを特徴とする。
第3の本発明のライセンス情報確認プログラムは、コンピュータに、実行するソフトウェアに含まれている検証情報との一致性を判断させて、ソフトウェアの実行の正当性を検証させる検証手段、検証手段による検証結果を一時的に記憶させる記憶手段、読み出し信号が入力されたときに、記憶手段から検証結果を読み出し、その読み出された検証結果に基づいて、ソフトウェアの権利帰属情報及び又はライセンス情報を出力させる出力手段として機能させるためのものであって、ソフトウェアが適式なライセンス契約に基づくものであるか否かを確認させるプログラムである。
本発明によれば、読み出し信号が入力したときに、ソフトウェアの実行がライセンス契約に基づく正当なものであるか否かを検証し出力できるため、侵害又はライセンス契約違反の事実を容易に確認することができ、また排他権侵害者又はライセンス契約違反者に対して、侵害又はライセンス契約違反の事実を容易に明示できる。その結果、特にオブジェクトコードのライセンス契約等によりソフトウェアの拡販を図ろうとする者に、有効な検証方法を提供することができる。
以下、本発明のライセンス情報確認装置、ライセンス情報確認方法及びライセンス情報確認プログラムを実施するための最良の形態について図面を参照して説明する。
(A)第1の実施形態
まず、本発明のライセンス情報確認装置、ライセンス情報確認方法及びライセンス情報確認プログラムの第1の実施形態について説明する。
本実施形態において、著作権者をO社とするアプリケーションプログラムを実行する上で、アプリケーションプログラムの著作権の権利帰属関係の情報及びライセンス関係を出力させて、確認する場合の適用について説明する。
第1の実施形態のライセンス情報確認方法は、アプリケーションプログラムの一部にライセンス情報を出力するプログラムを有し、特定のレジスタ(以下、ライセンス・レジスタという。)の特定の入力端子(以下、出力プログラム起動入力端子という。)が有効である場合に、ライセンス情報出力プログラムを起動し、システムLSIの特定の端子(以下、ライセンス情報出力端子という。)にライセンス情報等を出力する方法であって、ライセンス情報出力プログラムが、ライセンス情報等に基づき少なくともライセンス情報の同一性を確認し、かつ、ライセンス契約で改変を禁止した部分につきオブジェクトコードの同一性を確認する方法である。
そして、ライセンス情報出力プログラムが、第1に、ライセンス情報をハッシュ(hash)した値のテーブル(以下、ハッシュ・テーブルという。)との比較によりライセンス情報の同一性を確認し、第2に、複数のオブジェクトコードに対して割り当てたパリティ(parity)のテーブル(以下、パリティ・テーブルという。)との比較により、当該ライセンス契約で改変を禁止した部分につきオブジェクトコードの同一性を確認することにより、その確認結果をライセンス情報等に含める方法である。なお、出力プログラム起動入力端子はアプリケーションプログラムの実行中に随時入力でき、ライセンス情報出力プログラムがその値を検査する。
以下、第1の実施形態について図面を参照して詳細に説明する。
図1は、本実施形態に係るライセンス情報確認方法を体系的に説明する説明図である。図1では、複数の入力端子又は出力端子を有するシステムLSI1の外観を示すと共に、システムLSI1が実行するアプリケーションプログラムの構成イメージ及びシステムLSI1が出力する出力波形を示す。
図1において、システムLSI1は、例えばフラッシュメモリ等の記憶装置に組み込まれたアプリケーションプログラム2を実行する集積回路である。また、システムLSI1は、出力プログラムを起動するための起動ビットを入力するための出力プログラム起動入力端子1aと、ライセンス情報を出力するライセンス情報出力端子1bとを有する。
システムLSI1は、アプリケーションプログラム2の実行中に、出力プログラム起動入力端子1aに有効な入力信号が入力したか否かが監視され、有効な入力信号が入力したときに、アプリケーションプログラム2に含まれるライセンス情報出力プログラム2aを実行することで、当該アプリケーションプログラム2のオブジェクトコードの同一性、及び、著作権情報及びライセンス情報(以下、ライセンス情報という)の同一性を確認し、その検証結果を含むライセンス情報をライセンス情報出力端子1bから出力するものである。なお、システムLSI1の詳細な内部構成については後述する。
アプリケーションプログラム2は、システムLSI1の内部に組み込まれ得る機能プログラムであり、システムLSI1に実行されることにより、その機能が実現されるものである。また、図1に示すように、アプリケーションプログラム2の構成は、その一部にライセンス情報出力プログラム2aを有する。
ライセンス情報出力プログラム2aは、アプリケーションプログラム2の実行中に、出力プログラム起動入力端子1aを監視させ、出力プログラム起動入力端子1aに有効な入力があった場合に起動するものである。また、ライセンス情報出力プログラム2aは、アプリケーションプログラム2のオブジェクトコード及びライセンス情報を、検証情報を用いて正当性のあるものであるか否かを検証し、そのライセンス情報を出力させるものである。
また、ライセンス情報出力プログラム2aは、望ましくは、ライセンサーO社が直接提供しシステムの基幹部分を制御するプログラムであって又はシステムの基幹部分を制御するプログラムが実行される際に実行されるものであって、その改変を契約上一切禁じたものの一部に配置すべきものである。その一の理由は、ユーザによるアプリケーションプログラム2の開発の支障になるべきでない、ということにある。また、その他の理由としては、ユーザによる改変を禁じているので、オブジェクトコードの同一性確認に含めることができる、ということにある。
なお、本実施形態では採用しないが、システムLSI1がタイマ割り込み等でライセンス情報出力プログラム2aを定期的に実行する方式を採用してもよい。本実施形態がこのような方式を採用しなかったのは、タイマ割り込み等の資源を使うとアプリケーションプログラム2の開発の支障になると考えたからである。
また、本実施形態において、アプリケーションプログラム2は、その一部にライセンス情報2bと検証情報2cを含む。図4は、ライセンス情報2b及び検証情報2cの情報例を説明する説明図である。
ライセンス情報2bは、アプリケーションプログラム2の著作表示及びライセンス関係に関する情報であり、例えば、ライセンサー(licenser)や著作権者(the copyright−holder)の特定情報、ライセンス対象たるソフトウェアの特定情報、ライセンス契約自体の特定情報、ライセンシー(licensee)の特定情報、その他ライセンス期間情報、ライセンスの条件情報等がある。図4(A)に示す例では、ライセンス情報は、「このソフトウェアの著作権はO株式会社が所有しています。ソフトウェア管理番号XXXX−XXXX−XXXX ライセンス番号 YYYY−YYYY−YYYY ライセンシー A株式会社 ライセンス機関 2004年1月1日より5年間 ライセンス条件 他社貸与等の禁止;改変の禁止」とする。
検証情報2cは、ライセンス情報出力プログラム2aの実行によりオブジェクトコード及びライセンス情報の検証の際に使用される情報である。本実施形態において、検証情報2cは、大きく2つ有し、1つはライセンス対象たるソフトウェアのオブジェクトコードの一致確認に使用され、もう1つはライセンス情報の一致確認に使用される。なお、本実施形態の検証情報2cは、このほかに検証情報自体を検証するための情報を含むが、以下ではオブジェクトコード検証用の検証情報及びライセンス情報検証用の検証情報について詳細に説明する。このように、検証対象毎に別々の検証情報を用意したのは、オブジェクトコードとライセンス情報とが相互にかなり異なる性格を有しているからである。なお、本実施形態では、2つの検証情報の内容は、検証対象とする情報(オブジェクトコード及びライセンス情報)に応じて異なるものとする。
オブジェクトコードは、本実施形態ではライセンス情報を含まず、基本的に命令コードのみから構成されているものとする。従って、オブジェクトコードは、ライセンシーに提供するソースコードのほとんどの部分を占めているものである。仮に、検証情報を用いてオブジェクトコードの完全同一性の検証を図ろうとすれば、その検証情報もかなりの情報量を要求されるだろう。
しかし、それではソースコード全体の大きさを徒に増やしてしまい、アプリケーションプログラム2の開発に制限を加えてしまうことや、またフラッシュメモリ等に存在する記憶領域の制限を考慮しないことにもなる。
そこで、ある程度オブジェクトコードの同一性確認の精度を犠牲にして検証を行うのが便宜である。本実施形態では、図4(B)に示すようにして、オブジェクトコードの検証を図るものとする。例えば、本実施形態のオブジェクトコードの一致確認方法は、命令32バイト毎に1ビットのパリティを割り当てることにした。従って、例えば2Mバイトのオブジェクトコードに対して、8Kバイトの検証情報が必要となる。この程度の検証であっても、大きなオブジェクトコードの改変を判断することはできる。パリティに関する検証情報の全体はパリティ・テーブルを構成し、アプリケーションプログラム2の一部に付加される。
一方、ライセンス情報はその1語1語が正確なものでなくてはならない。これは、例えば、ライセンサーが特定できなければ、相手方に対して自己が債権者であることを明示し、主張することはできないからである。本実施形態では、図4(B)に示すように、ライセンス情報の検証情報はビット演算を利用したハッシュを使う場合について説明する。ライセンス情報の情報量は多くないと考えられるので、ライセンス情報の全体を暗号化しておく方法も考えられる。実際に採用できないことも無いが、その暗号化及び解読が容易でないこと、秘匿自体を直撲の目的としていないこと等の理由から採用しなかった。ハッシュを作るビット演算としては、例えばASCII(American Standard Code for Infomation Interchange)コードの特殊性を利用したPJWハッシュ(Aho,Sethi,and Ullman pp.434−438)がある。ライセンス情報の情報量は多くないと考えられるので、ハッシュに係る計算の負担は小さい。ハッシュに関する検証情報の全体はハッシュ・テーブルを構成し、アプリケーションプログラム2の一部に付加される。そして、ハッシュ関数により得られたハッシュ値が、ハッシュ・テーブルにある値である場合に、ライセンス情報は同一であると判断し、ハッシュ・テーブルに無い場合、ライセンス情報は同一でないと判断する。
また、図1は、システムLSI1から出力され得るライセンス情報の出力波形の例示を示す。図1の出力波形例は、システムLSI1が有するデータ出力回路(後述する)が出力した波形例であり、ライセンス情報の出力に際し、同期信号を出力している場合を示す。また、図1の出力波形は繰り返し出力されるようにしてもよい。これは、後段に接続可能なロジックアナライザ等で出力波形を観測する場合、観測する出力波形の読み取りを便宜的にするためである。また、ライセンス情報の出力は、システムLSI1が有するライセンス・レジスタが一時的に記憶した内容である。このように、ライセンス・レジスタの内容を出力するようにしたのは、ライセンスの度に異なる形式のライセンス情報が出力される方式はライセンス情報の管理の複雑さを招き、妥当でないからである。
図3は、本実施形態のシステムLSI1のハードウェア構成を示す内部構成図である。図3に示すように、システムLSI1は、内部バス17を介して、CPU11、RAM12、フラッシュメモリ13、ライセンス・レジスタ14、入出力(I/O)回路15、データ出力回路16を有し、また出力プログラム起動入力端子1a、ライセンス情報出力端子1bを有する。
CPU11は、システムLSI1の機能を制御するものである。CPU11は、RAM12やフラッシュメモリ13に記憶されている処理プログラムを実行することで処理プログラムの機能を実現するものである。RAM12は、CPU11が実行する処理プログラム又は処理プログラムの実行に必要なデータを記憶するものである。フラッシュメモリ13は、アプリケーションプログラム2などを記憶するものである。
ライセンス・レジスタ14は、アプリケーションプログラム2の実行中にライセンス情報出力プログラム2aが起動すると、アプリケーションプログラム2のライセンス番号及びソフトウェア管理番号とが入力し、また、ライセンス情報出力プログラム2aによるアプリケーションプログラム2のオブジェクトコード及びライセンス情報の検証結果が入力し、これら情報を一時的に記憶するものである。また、ライセンス・レジスタ14は、内部に備えるI/O制御回路(図示しない)により非公開のI/Oアドレスが指定され、ライセンス情報出力端子1bが選択されたときであって、同時に出力プログラム起動入力端子1aの入力が有効であるとき、一時的に記憶していた情報を、ライセンス情報出力端子1bからデータ出力回路16を介してライセンス情報として出力するものである。
なお、ライセンス・レジスタ14は、例えばユーザマニュアル等の刊行物で開示されていない非公開のものである。
出力プログラム起動入力端子1aの入力は、アプリケーションプログラム2の実行中に随時入力でき、ライセンス情報出力プログラム2aがその値を検査する。出力プログラム起動入力端子1aの論理値が‘L’になっているときにライセンス情報出力プログラム本体2aの起動が行われる。最も、パワーオン時に出力プログラム起動入力端子1aを所定の値にしておくと、内部レジスタがセットされ、内部レジスタをライセンス情報出力プログラム2aが検査する方式を採用することもできる。
また、システムLSI1がCMOSで構成されるときは、出力プログラム起動入力端子1aを高抵抗でプルアップ(pull−up)しておく方法がよい。望ましくは、出力プログラム起動入力端子1aはNC(no connection)で有るべきだが、システムLSI1の端子に余裕がない場合には他の機能を有する入力端子で兼用することができる。また、ライセンス情報出力端子1bも、望ましくはNCで有るべきだが、システムLSI1の端子に余裕がない場合には他の機能を有する出力端子で兼用することができる。ユーザマニュアルにおいては、出力プログラム起動入力端子やライセンス情報出力端子を「予約」端子にしておき、ユーザに対してその使用を禁止しておくのがよい。
次に、本実施形態のライセンス・レジスタ14の構成について図面を参照して説明する。図5は、ライセンス・レジスタ14の構成例を示す構成図である。
図5に示すように、本実施形態のライセンス・レジスタ14は、16ビット構成のレジスタを適用し、各ビットに次のような意味を付加している。なお、ライセンス・レジスタ14のビット数はこれに限定されず、例えば32ビット構成としてもよい。
図5において、ビットB15は、ライセンス情報の不一致/一致を示すビットである。ビットB15は、ライセンス情報が、一致する場合にリセットされ、不一致の場合にセットされる。
ビットB14は、オブジェクトコードの不一致/一致を示すビットである。ビットB14は、オブジェクトコードが、一致する場合にリセットされ、不一致の場合にセットされる。
ビットB13は、検証情報自体の不一致/一致を示すビットである。ビットB13は、検証情報自体が、一致する場合にリセットされ、不一致の場合にセットされる。
ビットB12は、予約ビットで使用されていない。例えば、検査が既に行われたか否かを示すビットとして、若しくはライセンス情報の有効性を示すビットとして利用することができる。
ビットB11〜ビットB6は、ライセンス番号であって、ライセンス契約を特定するビットである。
ビットB5〜ビットB0は、ソフトウェア管理番号であって、ライセンスに係るソフトウェアを特定するビットである。
従って、ライセンス番号やソフトウェア管理番号を細かく管理したい場合、ライセンス番号等に多くのビットを割り当てたい場合には、ライセンス・レジスタ14を32ビット構成にすべきである。
次に、本実施形態のライセンス情報の確認方法の動作について図面を参照して説明する。図6は、本実施形態のライセンス情報の出力動作を示す動作フローチャートである。
図6において、システムLSI1にパワーONリセットが掛かると、アプリケーションプログラム2が実行される(S1)。
アプリケーションプログラム2が実行され、アプリケーションプログラム2の一部に含まれる当該システムの基幹部分を制御するプログラムが実行される際に、併せてライセンス情報出力プログラム2aも実行される(S2)。
ライセンス情報出力プログラム2aが併せて実行されることで、出力プログラム起動入力端子1aが監視され、出力プログラム起動入力端子1aが有効であるか否か判断される(S4)。
出力プログラム起動入力端子1aが有効でない場合、通常通りユーザのアプリケーションプログラム本体2が実行される(S4)。
一方、出力プログラム起動入力端子1aが有効である場合(S3)、ライセンス情報出力プログラム本体2aが実行され、S5以降の動作がなされる。なお、出力プログラム起動入力端子の入力(S3)は、本実施形態において、アプリケーションプログラムの実行中に随時入力可能である。
ライセンス情報出力プログラム2aが実行されることにより、まず第1に、検証情報2c自体の正当性が確認される(S5)。
ここで、本実施形態において、検証情報2cは、検証情報自体2Cを検証するための情報を含み、この情報を用いて検証情報2cの正当性が判断される。
そして、検証情報2cが正当であると判断した場合には、ライセンス・レジスタ14のB13ビットがリセットされ(S5)、検証情報2cに改訂等が行われ不当である場合には、B13ビットがセットされる(S11)。
検証情報2cが正当であると判断されると、ライセンス情報出力プログラム2aが実行されることにより、第2に、ライセンス情報2bの同一性が確認される(S6)。
ライセンス情報2bの同一性の確認は、検証情報2cとして予め用意したハッシュ・テーブルの値と、予め用意したハッシュ関数を用いて計算されたハッシュ値とが完全に一致するか否かを判断することで行なう(S7)。
そして、ハッシュ値が、完全に一致する場合にはライセンス情報2bが完全に一致すると判断し、ライセンス・レジスタ14のB15ビットがリセットされ(S7)、いずれかが不一致である場合にはライセンス情報2bが完全一致しないと判断し、ライセンス・レジスタ14のB15ビットがセットされる(S12)。
ライセンス情報2bが正当であると判断されると、ライセンス情報出力プログラム2aが実行されることにより、第3に、アプリケーションプログラム2の特定部分であって、ライセンス契約でプログラム改変を禁止した部分につき、オブジェクトコードの一致が確認される(S8)。
オブジェクトコードの同一性の確認は、検証情報2cとして予め用意したパリティ・テーブルの値と、計算したパリティとが完全に一致するか否かを判断することで行なう(S9)。
そして、パリティが、完全に一致した場合にのみ、ライセンス・レジスタ14のB14ビットがリセットされ(S9)、いずれかが不一致の場合には、ライセンス・レジスタB14ビットがセットされる(S13)。
但し、本実施形態では、オブジェクトコードの一致には命令コードだけを対象とし、ライセンス情報2bや検証情報2cを含まないものとした。また、オブジェクトコードの同一性の一致確認にはライセンス情報出力プログラム2aを含めることができる。
ライセンス情報2b及びオブジェクトコードの同一性が検証されると、次に、ライセンス情報出力プログラム本体2aが実行されることにより、ライセンス・レジスタ14が記憶する内容が、同期信号と共に、データ出力回路16を介してライセンス情報出力端子1bに出力される(S10)。
なお、ライセンス情報出力端子1bに接続可能なロジックアナライザは、ライセンス情報出力端子1bから1回きりの出力波形をも捕らえるが、シンクロスコープを使うことを考えて、データ出力回路16は、周期的に繰り返した出力波形を出力するようにしてもよい。
このように、ライセンス情報出力端子1bにロジックアナライザ等を接続し、ロジックアナライザ等がライセンス・レジスタ14の内容を読み取ることで、フラッシュメモリ等に組み込まれたソフトウェアに関するライセンス情報等を容易に読み出すことが可能となる。
悪質な非正規ユーザが、上記ライセンス情報出力プログラムを改変し、若しくは検査情報を改変した場合には、この発明でそのような著作権の侵害等を検知することはできない。例えば、ライセンス情報が全く出力されない改造も可能である。しかし、本発明の目的は当該オブジェクトコードがライセンス契約等に沿ったものであるか否か、簡単に判別したい、更に言えばそれによって当該違反者に対してライセンス契約若しくは著作権に違反するという事実を明示することを目的としていた。本発明がこの様な目的に添うものであることは明らかであり、悪質な非正規ユーザは当初から除外している。
(B)第2の実施形態
次に、第2の実施形態について図面を参照して説明する。第1の実施形態では、ライセンス番号等を正確に特定することを主眼にしていた。しかし、当該ソフトウェアの利用許諾や改変等の有無を、より簡単な手段で相手方に明示するほうが便宜である。そこで、第2の実施形態では、オブジェクトコード及びライセンス情報の検証結果に応じた数種類の規則的な波形を用いて相手方に明示する方法を提供する。
図7は、第2の実施形態のシステムLSI1のハードウェア構成を示す構成図である。
図7に示すように、システムLSI1のハードウェア構成は、内部バス17を介して、CPU11、RAM12、フラッシュメモリ13、ライセンス・レジスタ14、I/O15、波形出力回路18を有し、また出力プログラム起動入力端子1a、ライセンス情報出力端子1bを有する。
なお、図7は、図3に示す第1の実施形態のシステムLSI1の構成と対応する構成については対応する符号を付して示す。
図7において、第2の実施形態のシステムLSI1は、例えばユーザマニュアル等で開示されていない非公開のライセンス・レジスタ14の他に、波形出力回路18を有することを特徴とする。
第1の実施形態では、データ出力回路16が、ライセンス・レジスタ14の内容を取り出し、ライセンス情報出力端子1bに出力する構成を採用する場合について説明したが、第2の実施形態では、波形出力回路18が、ライセンス・レジスタ14の内容に基づく数種類の規則的な波形を、ライセンス情報出力端子1bに出力する構成を採用する場合について説明する。
システムLSI1におけるアプリケーションプログラム2のオブジェクトコード及びライセンス情報の同一性の確認方法は、第1の実施形態と同様である。つまり、システムLSI1は、アプリケーションプログラム2の実行中、出力プログラム起動入力端子1に有効な入力があるか否かを監視し、有効な入力がある場合にライセンス情報出力プログラム本体2aを実行してオブジェクトコード及びライセンス情報の同一性を確認して検証結果をライセンス・レジスタ14に書き込む。
波形出力回路18は、ライセンス・レジスタ14の内容に応じて、予め設定された数種類の規則的な波形を用いて、ライセンス情報出力端子1bに出力するものである。従って、その結果、第1の実施形態のように、同期信号は必ずしも必要でなくなった。
図8は、波形出力回路18が出力する出力波形の例を示す出力波形図である。図8(A)では、波形出力回路18が4種類の規則的な波形が設定されている場合の出力波形の例を示す。
図8(A)において、(a)はアプリケーションプログラム2のオブジェクトコード及びライセンス情報の検証処理がなされていない場合(すなわち、ライセンス情報出力プログラム本体2aが実行していない場合)の出力状態である。この場合、ライセンス情報出力端子1bへの出力がないため論理値は「L」である。なお、図8では、この状態を通常状態と示す。
(b)は、オブジェクトコード及びライセンス情報の双方が一致した場合の出力状態である。この場合の出力波形は、デューティ(duty)50%の規則的な出力波形を持つ。
(c)は、オブジェクトコードが不一致であり及びライセンス情報が一致する場合の出力状態である。この場合の出力波形は、デューティ50%を超える規則的な出力波形を持つ。
(d)は、オブジェクトコードが一致し及びライセンス情報が不一致である場合の出力状態である。この場合の出力波形は、デューティ50%を下回る規則的な出力波形を持つ。
(e)は、オブジェクトコードが不一致であり及びライセンス情報が不一致である場合の出力状態である。この場合の出力波形は、全体としてデューティ50%であるが、局所的にデューティが変化する規則的な出力波形を持つ。
このように、波形出力回路18が、オブジェクションコード及びライセンス情報の検証結果に応じて、それぞれ異なる波形を出力することにより、例えばライセンス情報出力端子1bにシンクロスコープを接続して出力波形を観測することができるので、ソフトウェアに関するライセンス情報を容易に取得することができる。なお、詳しい解析は、他の方法、例えば第1の実施形態により明らかにすることができる。
また、図8(B)は、波形出力回路18が、ライセンス・レジスタ14の内容に応じて、予め設定された4種類の規則的な音を割り当てた場合の例示である。
なお、本実施形態の4種類の規則的な波形(音)は、例えばモデム装置(modem)による変調音のように、複数の音の組み合わせのように出力される場合として説明する。例えば、周波数の高い変調をかけた音は「ピー音」として聞こえ、周波数の低い変調をかけた音は「ブー音」として聞こえる。
図8(B)における(a)は通常状態の出力波形を示す。この場合、図8(A)で説明した場合と同様の状態である。
(b)は、オブジェクトコード及びライセンス情報の双方が一致した場合の出力状態である。この場合の出力波形は、デューティ(duty)50%の規則的な繰り返し音を発する。
(c)は、オブジェクトコードが不一致であり及びライセンス情報が一致する場合の出力状態である。この場合の出力波形は、デューティ50%を超える規則的な繰り返し音を発する。
(d)は、オブジェクトコードが一致し及びライセンス情報が不一致である場合の出力状態である。この場合の出力波形は、デューティ50%を下回る規則的な繰り返し音を発する。
(e)は、オブジェクトコードが不一致であり及びライセンス情報が不一致である場合の出力状態である。この場合の出力波形は、全体としてデューティ50%であるが、局所的にデューティが変化する規則的な繰り返し音を発する。
このように、波形出力回路18が、オブジェクションコード及びライセンス情報の検証結果に応じて、それぞれ異なる可聴周波数による波形を出力することにより、例えばライセンス情報出力端子1bにコンデンサ等を介してスピーカを接続すれば、ソフトウェアに関するライセンス情報を容易に聞き分けることができる。詳しい解析は、他の方法、例えば第1の実施形態により明らかにすることができる。
以上のように、本実施形態によれば、波形出力回路18が、アプリケーションプログラム2のオブジェクションコード及びライセンス情報に応じて、予め設定された数種類の規則的な波形を出力するため、その出力波形を用いてソフトウェアに関するライセンス情報を容易に認識することができる。
(C)第3の実施形態
次に、第3の実施形態について図面を参照して説明する。第3の実施形態は、移動通信端末(例えば、PHS端末、携帯電話機等)に搭載されているシステムLSIに関し、システムLSIに組み込まれたソフトウェアのライセンス情報を、移動通信端末の通信シーケンス(Sequence)の通信情報に乗せて、外部の通信装置に与える場合の適用について説明する。これにより、外部通信装置と接続するモニタにライセンス情報を表示することができる。
図9は、第3の実施形態の構成を説明する構成図である。図9に示すように、第3の実施形態の構成は、被検証ソフトウェアが組み込まれたシステムLSIを有する被検証側の移動通信装置3、検証側の移動通信装置4、移動通信装置4に接続可能な情報表示装置(モニタ)5を有する。
なお、以下では、移動通信装置3及び4をPHS端末とした場合の適用について説明する。また、移動通信装置3及び4は、図示しないPHS基地局及び移動通信ネットワークを介して、移動通信可能なものである。
移動通信装置3は、被検証ソフトウェアが組み込まれたシステムLSIを有するものである。移動通信装置3が搭載するシステムLSIは、第1及び第2の実施形態で説明したシステムLSI1を適用可能である。
図10は、移動通信装置3の主要な内部構成を示す構成図である。図10に示すように、移動通信装置3は、システムLSI1、通信制御部31、通信部32を備える。
通信制御部31は、PHS通信に係る通信制御を行なうものである。また、通信部32は、通信制御部31の制御の下、システムLSI1から検証結果(オブジェクトコード及びライセンス情報の検証結果)を受け取り、通信シーケンスの際に使用されるメッセージ通知に検証結果を含み、その検証結果を含んだメッセージ通知を送信するものである。
移動通信装置3は、電源投入後、PHS基地局との間で通信の確立を行なう。この際、移動通信装置3からPHS基地局に通信される通信シーケンスに用いられるメッセージ通知に検証結果を挿入する。
図11は、PHSの無線管理(RT:Radio Frequency Transmission Management)で使用されるメッセージのうち、PS−ID通知等に含まれるPS−ID(PS Identifier)のコーディング(coding)方法を示している。
第二世代コードレス電話に関する標準規格(ARIB Standard RCR STD−28 V3.3)によれば、PS−IDの第5オクテット(octet)の上位4ビットは予約領域になっており、通常は何も書き込まれない。
従って、本実施形態では、この予約領域にライセンス情報を組み込む方法を採用する。たとえ予約領域が4ビットであっても、○社のライセンスに係るソフトウェアであるか否かの情報、オブジェクトコードが一致するか否かの情報、若しくはライセンス情報が一致するか否かの情報等を、移動通信装置3は送信できる。
この検証結果の組み込みは、ライセンス情報出力プログラム2aと連帯したMAC層プロトコル・ソフトウェアにより行う。これにより、移動通信装置4は、検証結果を含むPS−IDを受信し、情報表示装置5を用いて検証結果を表示することが可能である。
なお、他の情報要素織別子の予約領域との組み合わせにより、更に詳しいライセンス情報を送信することもできる。この場合、検証結果に限定されず、ソフトウェアのライセンス情報自体を送信するようにしてもよい。
移動通信装置4は、移動通信装置3と無線通信可能であり、移動通信装置3が送信した通信情報を受信し、その受信した通信情報を情報表示装置5に与えるものである。本実施形態では、移動通信装置4をPHS端末として説明するが、移動通信装置3と通信可能であり、通信情報を受信可能な受信機であれば広く適用可能である。
情報表示装置5は、移動通信装置4から受け取った通信情報を表示するものである。情報表示装置5は、例えば、モニタなどが該当する。
このように、本実施形態によれば、システムLSIを搭載する移動通信装置が、ソフトウェアのライセンス情報を通信シーケンスの通信情報に含ませて、外部通信装置に送信することができるので、ソフトウェアのライセンス情報を、モニタを通じて確認することができる。
また、本実施形態によれば、システムLSIの端子に余裕がない場合等、ハードウェア資源を使用せずにライセンス情報を送信することができる。また、本実施形態によれば、一旦モニタ・システム等が確立した場合は、ソフトウェアのライセンス情報を容易にモニタに表示することができるので、組み込みソフトウェアを大量に取り扱う開発者や提供者の便宜である。
(D)他の実施形態
(D−1)上述した第1〜第3の実施形態では、例えば携帯電話などに組み込まれたソフトウェアのライセンス情報等の確認する場合について説明したが、組み込まれたソフトウェアに限らず、広くソフトウェアに適用可能である。
(D−2)上述した第1の実施形態では、ライセンス情報の同一性確認をした後に、オブジェクトコードの同一性確認をするものとして説明したが、この検証の順序は限定されず、オブジェクトコードの同一性確認後に、ライセンス情報の同一性確認をしてもよい。
(D−3)上述した第1〜第3の実施形態で説明した、図3及び図7に示すシステムLSIのハードウェア構成や、図9に示す通信システムの構成は、特に限定されるものではなく、広く適用可能である。
本発明の活用例として、組み込みソフトウェアのライセンス販売における直接の管理方法、特に個々の製品に搭載されたソフトウェアの特定に有効である。従来ソフトウェアの管理はCD−ROM等の記憶装置の外観に表示することが多かった。しかし、本発明では、個々のソフトウェアをその組み込み後においても容易に判別できるので、無形のソフトウェアを無形の形で管理できるという点で、全ての外販ソフトウェアに応用可能な新しい技術である。
第1の実施形態に係るライセンス情報確認方法を体系的に説明する説明図である。 従来の組み込みソフトウェアのライセンス販売の問題点を説明する図である。 第1の実施形態に係るシステムLSIのハードウェア構成を示す内部構成図である。 第1の実施形態に係るライセンス情報及び検証情報の情報例を説明する説明図である。 第1の実施形態に係るライセンス・レジスタ14の構成例を示す構成図である。 第1の実施形態に係るライセンス情報の出力動作を示す動作フローチャートである。 第2の実施形態に係るシステムLSIのハードウェア構成を示す内部構成図である。 第2の実施形態に係る波形出力回路が出力する出力波形の例を示す出力波形図である。 第3の実施形態に係る構成を説明する構成図である。 第3の実施形態に係る移動通信装置に内部構成を示すブロック図である。 第3の実施形態に係る通信フォーマットの構成例を説明する説明図である。
符号の説明
1…システムLSI、1a…出力プログラム起動入力端子、
1b…ライセンス情報出力端子、11…CPU、12…RAM、
13…フラッシュメモリ、14…ライセンス・レジスタ、
15…入出力回路(I/O)、16…データ出力回路、17…内部バス、
18…波形出力回路、2…アプリケーションプログラム、
2a…ライセンス情報出力プログラム、2b…ライセンス情報、
2c…検証情報。


Claims (10)

  1. 実行するソフトウェアが適式なライセンス契約に基づくものであるか否かを確認するライセンス情報確認装置であって、
    上記ソフトウェアに含まれている検証情報との一致性を判断して、上記ソフトウェアの実行の正当性を検証する検証手段と、
    上記検証手段による検証結果を一時的に記憶する記憶手段と、
    読み出し信号が入力されたときに、上記記憶手段から上記検証結果を読み出し、その読み出した検証結果に基づいて、上記ソフトウェアの権利帰属情報及び又はライセンス情報を出力する出力手段と
    を備えることを特徴とするライセンス情報確認装置。
  2. 上記ソフトウェアが、排他的権利の権利帰属情報及びライセンス情報を一部に含むことを特徴とする請求項1に記載のライセンス情報確認装置。
  3. 上記検証手段が、
    上記ソフトウェアのオブジェクトコードの全部又は一部の一致性を確認するオブジェクトコード確認部と、
    上記ソフトウェアの権利帰属情報及びライセンス情報の全部の一致性を確認するライセンス情報確認部と
    を有することを特徴とする請求項1に記載のライセンス情報確認装置。
  4. 上記ソフトウェアのオブジェクトコードに対して所定ビット毎に符号誤り検出ビットを予め割り当て、その割り当てた符号誤り検出ビットからなる符号誤り検出ビットテーブルを上記検証情報とし、
    上記オブジェクトコード確認部が、上記符号誤り検出ビットテーブルと上記符号誤り検出ビットとを照合することで、上記ソフトウェアのオブジェクトコードの一致性を確認することを特徴とする請求項3に記載のライセンス情報確認装置。
  5. 予め設定された一方向性関数値テーブルを上記検証情報とし、
    上記ライセンス情報確認部が、権利帰属情報及びライセンス情報について予め設定された一方向性関数を用いて計算し、その算出結果と上記一方向性関数値テーブルとの照合で、上記ソフトウェアの権利帰属情報及びライセンス情報の一致性を確認することを特徴とする請求項3に記載のライセンス情報確認装置。
  6. 上記出力回路が、上記記憶手段の記憶内容に応じて、予め定められた規則的な波形を出力することを特徴とする請求項1に記載のライセンス情報確認装置。
  7. 上記出力回路が出力する波形が、上記記憶手段の記憶内容に応じて、予め定められた可聴周波数に変調された波形であることを特徴とする請求項6に記載のライセンス情報確認装置。
  8. 上記出力回路が所定の通信方式に従って通信制御する通信制御部を有し、通信制御部が、出力された上記ソフトウェアの権利帰属情報及びライセンス情報を、所定通信方式に基づく通信情報に挿入して外部装置に送信することを特徴とする請求項1に記載のライセンス情報確認装置。
  9. 実行するソフトウェアが適式なライセンス契約に基づくものであるか否かを確認するライセンス情報確認方法であって、
    検証手段が、上記ソフトウェアに含まれている検証情報との一致性を判断して、上記ソフトウェアの実行の正当性を検証し、
    記憶手段が、上記検証手段による検証結果を一時的に記憶し、
    出力手段が、読み出し信号が入力されたときに、上記記憶手段から上記検証結果を読み出し、その読み出した検証結果に基づいて、上記ソフトウェアの権利帰属情報及び又はライセンス情報を出力する
    ことを特徴とするライセンス情報確認方法。
  10. コンピュータに、
    実行するソフトウェアに含まれている検証情報との一致性を判断させて、上記ソフトウェアの実行の正当性を検証させる検証手段、
    上記検証手段による検証結果を一時的に記憶させる記憶手段、
    読み出し信号が入力されたときに、上記記憶手段から上記検証結果を読み出し、その読み出された検証結果に基づいて、上記ソフトウェアの権利帰属情報及び又はライセンス情報を出力させる出力手段
    として機能させるためのものであって、上記ソフトウェアが適式なライセンス契約に基づくものであるか否かを確認させるライセンス情報確認プログラム。

JP2004206219A 2004-07-13 2004-07-13 ライセンス情報確認装置、ライセンス情報確認方法及びライセンス情報確認プログラム Pending JP2006031169A (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2004206219A JP2006031169A (ja) 2004-07-13 2004-07-13 ライセンス情報確認装置、ライセンス情報確認方法及びライセンス情報確認プログラム
CNB2004100979225A CN100565539C (zh) 2004-07-13 2004-12-06 许可证信息确认装置和方法
KR1020050006554A KR101123088B1 (ko) 2004-07-13 2005-01-25 라이센스 정보 확인장치, 라이센스 정보 확인방법 및라이센스 정보 확인 프로그램
US11/065,068 US20060015465A1 (en) 2004-07-13 2005-02-25 Apparatus, method and program for license information ascertainment

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004206219A JP2006031169A (ja) 2004-07-13 2004-07-13 ライセンス情報確認装置、ライセンス情報確認方法及びライセンス情報確認プログラム

Publications (1)

Publication Number Publication Date
JP2006031169A true JP2006031169A (ja) 2006-02-02

Family

ID=35600659

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004206219A Pending JP2006031169A (ja) 2004-07-13 2004-07-13 ライセンス情報確認装置、ライセンス情報確認方法及びライセンス情報確認プログラム

Country Status (4)

Country Link
US (1) US20060015465A1 (ja)
JP (1) JP2006031169A (ja)
KR (1) KR101123088B1 (ja)
CN (1) CN100565539C (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010055525A (ja) * 2008-08-29 2010-03-11 Ricoh Co Ltd 画像形成装置、ライセンス判定方法、プログラム及び記録媒体
JP2013054787A (ja) * 2012-12-21 2013-03-21 Ricoh Co Ltd 情報処理装置、ライセンス判定方法、プログラム、及び記録媒体

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7734549B2 (en) * 2002-12-31 2010-06-08 Motorola, Inc. Methods and apparatus for managing secured software for a wireless device
US8700533B2 (en) * 2003-12-04 2014-04-15 Black Duck Software, Inc. Authenticating licenses for legally-protectable content based on license profiles and content identifiers
US20060116966A1 (en) * 2003-12-04 2006-06-01 Pedersen Palle M Methods and systems for verifying protectable content
US7552093B2 (en) * 2003-12-04 2009-06-23 Black Duck Software, Inc. Resolving license dependencies for aggregations of legally-protectable content
US9489687B2 (en) * 2003-12-04 2016-11-08 Black Duck Software, Inc. Methods and systems for managing software development
US20070124252A1 (en) * 2004-03-31 2007-05-31 Akio Higashi Reception device, transmission device, security module, and digital right management system
US7797245B2 (en) * 2005-03-18 2010-09-14 Black Duck Software, Inc. Methods and systems for identifying an area of interest in protectable content
US8010538B2 (en) * 2006-05-08 2011-08-30 Black Duck Software, Inc. Methods and systems for reporting regions of interest in content files
DE102006038428A1 (de) * 2006-08-17 2008-02-21 Bayerische Motoren Werke Ag Verfahren zur Programmierung eines Steuergerätes eines Kraftfahrzeugs
US7681045B2 (en) * 2006-10-12 2010-03-16 Black Duck Software, Inc. Software algorithm identification
US8010803B2 (en) * 2006-10-12 2011-08-30 Black Duck Software, Inc. Methods and apparatus for automated export compliance
US20110178619A1 (en) * 2007-12-21 2011-07-21 Searete Llc, A Limited Liability Corporation Of The State Of Delaware Security-activated robotic tasks
US8650195B2 (en) * 2010-03-26 2014-02-11 Palle M Pedersen Region based information retrieval system
US9460273B2 (en) * 2014-10-29 2016-10-04 International Business Machines Corporation Automatic generation of license terms for service application marketplaces
US11366879B2 (en) * 2019-07-08 2022-06-21 Microsoft Technology Licensing, Llc Server-side audio rendering licensing

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5438508A (en) * 1991-06-28 1995-08-01 Digital Equipment Corporation License document interchange format for license management system
US5892904A (en) * 1996-12-06 1999-04-06 Microsoft Corporation Code certification for network transmission
US6189146B1 (en) * 1998-03-18 2001-02-13 Microsoft Corporation System and method for software licensing
US7171662B1 (en) * 1998-03-18 2007-01-30 Microsoft Corporation System and method for software licensing
JP3779837B2 (ja) * 1999-02-22 2006-05-31 松下電器産業株式会社 コンピュータ及びプログラム記録媒体
WO2001092993A2 (en) * 2000-06-02 2001-12-06 Vigilant Systems, Inc. System and method for licensing management
JP2003162339A (ja) * 2001-09-14 2003-06-06 Sony Computer Entertainment Inc 認証プログラム,認証プログラムを記憶した記憶媒体,認証サーバ装置,クライアント端末装置,認証システム及び認証方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010055525A (ja) * 2008-08-29 2010-03-11 Ricoh Co Ltd 画像形成装置、ライセンス判定方法、プログラム及び記録媒体
US9131169B2 (en) 2008-08-29 2015-09-08 Ricoh Company, Ltd. Apparatus, license determining method, recording medium
JP2013054787A (ja) * 2012-12-21 2013-03-21 Ricoh Co Ltd 情報処理装置、ライセンス判定方法、プログラム、及び記録媒体

Also Published As

Publication number Publication date
CN1722146A (zh) 2006-01-18
US20060015465A1 (en) 2006-01-19
KR20060005977A (ko) 2006-01-18
KR101123088B1 (ko) 2012-03-15
CN100565539C (zh) 2009-12-02

Similar Documents

Publication Publication Date Title
KR101123088B1 (ko) 라이센스 정보 확인장치, 라이센스 정보 확인방법 및라이센스 정보 확인 프로그램
KR101219819B1 (ko) 디지털 어플리케이션을 라이센싱하기 위한 유연한 라이센싱 아키텍처
KR101514100B1 (ko) 플래쉬 저장 장치를 사용한 소프트웨어 불법 사용 방지
KR102030643B1 (ko) 전자 라이센스 관리
US8781971B2 (en) Method and apparatus for enforcing software licenses
JP4521269B2 (ja) セル電話などの電子デバイスのセキュリティに使用する方法およびデバイス
US8863252B1 (en) Trusted access to third party applications systems and methods
CN102576391B (zh) 嵌入在shell代码中的软件许可
US20050132209A1 (en) Certificate based digital rights management
US20090158036A1 (en) protected computing environment
JP4796050B2 (ja) セキュア処理装置、及びセキュア処理システム
KR20040028597A (ko) 테스트 인에이블된 애플리케이션 실행
JP4647392B2 (ja) デバイス制御装置、デバイス制御方法およびプログラム
JP2005516288A (ja) 電子回路の認可された引渡および課金をするための管理システム、方法および装置
CN107832589A (zh) 软件版权保护方法及其系统
CN108881132B (zh) 应用授权方法、客户端、服务器和计算机可读介质
CN110598377A (zh) 基于区块链的软件序列号管理方法以及装置
JP2003050641A (ja) プログラム管理システム、そのプログラム管理方法、及び情報管理プログラム
CN108229210A (zh) 一种保护数据的方法、终端及计算机可读存储介质
US6654935B2 (en) IP validation method and IP verified by the IP validation method
KR102133251B1 (ko) 애플리케이션 프로그램 보호 방법 및 장치
EP2251816A1 (en) Content distribution system and content distribution method
JP4847827B2 (ja) アクセス制御装置
JP4017149B2 (ja) プログラムの不正実行防止機能付きプロセッサ
JP2005056216A (ja) 音楽データのライセンス管理方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20061017

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20081126

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20090129

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20091006

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20100302