JP3979782B2 - 情報処理装置、データ使用期限制御方法およびその方法をコンピュータに実行させるプログラムを記録したコンピュータ読み取り可能な記録媒体 - Google Patents

情報処理装置、データ使用期限制御方法およびその方法をコンピュータに実行させるプログラムを記録したコンピュータ読み取り可能な記録媒体 Download PDF

Info

Publication number
JP3979782B2
JP3979782B2 JP2000377791A JP2000377791A JP3979782B2 JP 3979782 B2 JP3979782 B2 JP 3979782B2 JP 2000377791 A JP2000377791 A JP 2000377791A JP 2000377791 A JP2000377791 A JP 2000377791A JP 3979782 B2 JP3979782 B2 JP 3979782B2
Authority
JP
Japan
Prior art keywords
data
time
date
predetermined
determination
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.)
Expired - Fee Related
Application number
JP2000377791A
Other languages
English (en)
Other versions
JP2002182762A (ja
Inventor
泰崇 佐藤
Original Assignee
株式会社トリニティーセキュリティーシステムズ
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 株式会社トリニティーセキュリティーシステムズ filed Critical 株式会社トリニティーセキュリティーシステムズ
Priority to JP2000377791A priority Critical patent/JP3979782B2/ja
Publication of JP2002182762A publication Critical patent/JP2002182762A/ja
Application granted granted Critical
Publication of JP3979782B2 publication Critical patent/JP3979782B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Description

【0001】
【発明の属する技術分野】
この発明は、情報処理装置内に記憶されたデータに使用期限の制御をおこなう情報処理装置、データ使用期限制御方法およびその方法をコンピュータに実行させるプログラムを記録したコンピュータ読み取り可能な記録媒体に関する。
【0002】
【従来の技術】
従来、アプリケーションソフトウエアなどのプログラムデータは、いわゆる「お試し版」として、使用者に使用期限付きで使用させ、所定の期限を経過するとその使用が不能となるものがある。このような「お試し版」のプログラムデータは、そのデータ内にタイマーデータを備えており、そのデータが所定の期限を過ぎると、起動を停止するものであったり、操作に必要な(プログラム)データの全部または一部を変更あるいは消去するものであった。
【0003】
ここで、上記「お試し版」の目的は、使用者に対して所定期間だけ試用させ、その後は、当該プログラムデータの使用料を徴収しようとするものである。したがって、所定期間経過後は、使用料を支払うことなしに当該プログラムデータの使用を確実に制限できる(不能とする)ことが望まれる。そして、上記「お試し版」の目的を達成するために、期限が経過後は、プログラムデータを再び復元できないように変容したり、破壊したり、または消去したりするものがある。
【0004】
【発明が解決しようとする課題】
しかしながら、期限経過にともない、プログラムデータを復元できないようにするため、当該プログラムデータを継続して使用したいという要望がある場合でも、上記プログラムデータとは別のデータを再度インストールする必要がある。したがって、それまで上記プログラムデータを使用することによって作成したデータなども破壊等されてしまうため、使用期限付きで使用していた状態を保持したまま継続して使用することができないという問題点があった。
【0005】
また、継続して使用することを前提として、期限経過後はとりあえず容易に戻せる程度の変容のみを施したのでは、その変容を容易に復元されてしまい、不正使用を許容してしまうという問題点があった。
【0006】
この発明は、上記に鑑みてなされたものであって、期限付きで使用を許可するプログラムを含むデータを、そのデータ・サイズを増大させることなく、使用ができないように内容を変容することで、確実にデータの使用を不能にすることが可能であるとともに、いったん使用を制限したデータをその後に再び使用を可能とする情報処理装置、データ使用期限制御方法およびその方法をコンピュータに実行させるプログラムを記録したコンピュータ読み取り可能な記録媒体を提供することを目的とする。
【0007】
【課題を解決するための手段】
上記の目的を達成するために、請求項1に記載の発明にかかる情報処理装置は、データを記憶する記憶手段と、現在日時を取得する日時取得手段と、前記記憶手段に記憶するデータを受信する受信手段と、前記受信手段によって受信したデータから、当該データに対して受信時に付与された受信日時に関する情報を取得する受信日時取得手段と、前記受信日時取得手段によって取得された前記データの受信日時と、前記日時取得手段によって取得した現在日時とに所定時間以上の違いがあるか否かを判断する受信日時判断手段と、前記受信日時判断手段によって前記受信日時と現在日時とに所定時間以上の違いがないと判断された場合に、前記日時取得手段によってあらたに取得した現在日時を、前記データの一部に書き込む書き込み手段と、前記書き込み手段によって書き込まれた現在日時からの経過時間を計時する計時手段と、前記計時手段によって計時された経過時間が、あらかじめ設定された期限を経過しているか否かを判断する期限判断手段と、前記期限判断手段によって前記期限を経過したと判断された場合に、前記記憶手段によって記憶されたデータの全部または一部であって、連続するディジタルデータを順次読み込む第1の読込手段と、前記第1の読込手段によって読み込まれたディジタルデータが所定の連続パターンの配列であるか否かを判定する第1の判定処理手段と、前記第1の判定処理手段によって判定された結果、前記所定の連続パターンの配列であると判定されたディジタルデータの後に連続する所定数のディジタルデータの全部または一部に対して、所定の値を加算または減算し、当該加算または減算より前記ディジタルデータが所定のデータ量が増減した場合は、増減分のデータを演算結果とする第1の演算処理手段と、前記第1の演算処理手段によって演算処理されたデータを前記記憶手段へ出力する第1の出力手段と、を備えることを特徴とする。
【0008】
また、請求項2に記載の発明にかかる情報処理装置は、請求項1に記載の発明において、前記記憶手段が、記憶されていた前記データに、前記第1の出力手段によって出力されたデータを上書きすることを特徴とする。
【0009】
また、請求項3に記載の発明にかかる情報処理装置は、請求項1または2に記載の発明において、コードを入力する入力手段と、前記入力手段によって入力されたコードが所定のコードであるか否かを判断するコード判断手段と、前記コード判断手段による判断の結果、前記入力手段によって入力されたコードが所定のコードであると判断された場合に、前記記憶手段によって記憶された、前記第1の出力手段によって出力されたデータの全部または一部であって、前記連続するディジタルデータを順次読み込む第2の読込手段と、前記第2の読込手段によって読み込まれたディジタルデータが前記所定の連続パターンの配列であるか否かを判定する第2の判定処理手段と、前記第2の判定処理手段によって判定された結果、前記所定の連続パターンの配列であると判定されたディジタルデータの後に連続する前記所定数のディジタルデータの全部または一部に対して、前記所定の値を減算または加算し、当該減算または加算より前記ディジタルデータが所定のデータ量が増減した場合は、増減分のデータを演算結果とする第2の演算処理手段と、前記第2の演算処理手段によって演算処理されたデータを前記記憶手段へ出力する第2の出力手段と、を備えたことを特徴とする。
【0010】
また、請求項4に記載の発明にかかる情報処理装置は、請求項3に記載の発明において、前記記憶手段が、記憶されていた前記第1の出力手段から出力されたデータに、前記第2の出力手段によって出力されたデータを上書きすることを特徴とする。
【0012】
また、請求項5に記載の発明にかかる情報処理装置は、請求項1〜4のいずれか一つに記載の発明において、さらに、前記記憶手段に記憶するデータであって圧縮されたデータを受信または読み取るデータ取得手段と、前記データ取得手段によって受信または読み取られたデータの解凍処理をおこなう解凍手段と、を備え、前記受信日時判断手段は、前記解凍手段によって前記データの解凍処理がおこなわれた日時と、前記日時取得手段によって取得した現在日時とに所定時間以上の違いがあるか否かを判断することを特徴とする。
【0013】
また、請求項6に記載の発明にかかる情報処理装置は、請求項3または4に記載の発明において、前記第1の演算処理手段および前記第2の演算処理手段は、所定の連続パターンの配列からなる8ビットのバイナリーコードを前記所定の値として、加算または減算の対象となるディジタルデータに順次加算または減算することを特徴とする。
【0015】
また、請求項7に記載の発明にかかるデータ使用制限方法は、受信手段と、受信日時判断手段と、日時取得手段と、日時取得手段と、受信日時判断手段と、書き込み手段と、期限判断手段と、第1の読込手段と、第1の判定処理手段と、第1の演算処理手段と、第1の出力手段と、を備えた情報処理装置の記憶手段に記憶されたデータの使用期限を制御するデータ使用期限制御方法において、前記受信手段が、前記記憶手段に記憶するデータを受信する受信工程と、前記受信日時取得手段が、前記受信工程によって受信したデータから、当該データに対して受信時に付与された受信日時に関する情報を取得する受信日時取得工程と、前記日時取得手段が、現在日時を取得する日時取得工程と、前記受信日時判断手段が、前記受信日時取得工程によって取得された前記データの受信日時と、前記日時取得工程によって取得した現在日時とに所定時間以上の違いがあるか否かを判断する受信日時判断工程と、前記受信日時判断手段によって前記受信日時と現在日時とに所定時間以上の違いがないと判断された場合に、前記書き込み手段が、前記日時取得工程によってあらたに取得した現在日時を、前記データの一部に書き込む書き込み工程と、前記計時手段が、前記書き込み手段によって書き込まれた現在日時からの経過時間を計時する計時工程と、前記期限判断手段が、前記計時工程によって計時された経過時間が、あらかじめ設定された期限を経過しているか否かを判断する期限判断工程と、前記期限判断工程によって前記期限を経過したと判断された場合に、前記第1の読込手段が、前記期限を経過したときまたは前記期限経過後に、前記記憶手段に記憶されていたデータの全部または一部であって、連続するディジタルデータを順次読み込む第1の読込工程と、前記第1の判定処理手段が、前記第1の読込工程によって読み込まれたディジタルデータが所定の連続パターンの配列であるか否かを判定する第1の判定工程と、前記第1の判定工程によって判定された結果、前記第1の演算手段が、前記所定の連続パターンの配列であると判定されたディジタルデータの後に連続する所定数のディジタルデータの全部または一部に対して、所定の値を加算または減算し、当該加算または減算より前記ディジタルデータが所定のデータ量が増減した場合は、増減分のデータを最下位のデータに加算または減算する第1の演算工程と、前記第1の演算工程によって演算処理されたデータを前記第1の出力手段が、前記記憶手段へ出力する第1の出力工程と、を含んだことを特徴とする。
【0016】
また、請求項8に記載の発明にかかるデータ使用制限制御方法は、請求項7に記載の発明において、前記記憶手段に記憶されていた前記データに、前記第1の出力工程によって出力されたデータを上書きすることを特徴とする。
【0017】
また、請求項9に記載の発明にかかるデータ使用制限制御方法は、請求項7または8に記載の発明において、前記情報処理装置は、さらに入力手段と、コード判断手段と、第2の読込手段と、第2の判定手段と、第2の演算手段と、第2の出力手段とを備え、前記入力手段が、コードを入力する入力工程と、前記コード判断手段が、前記入力工程によって入力されたコードが所定のコードであるか否かを判断するコード判断工程と、前記コード判断工程による判断の結果、前記入力工程によって入力されたコードが所定のコードであると判断された場合に、前記第2の読込手段が、前記記憶手段によって記憶された、前記第1の出力工程によって出力されたデータの全部または一部であって、前記連続するディジタルデータを順次読み込む第2の読込工程と、前記第2の判定手段が、前記第2の読込工程によって読み込まれたディジタルデータが前記所定の連続パターンの配列であるか否かを判定する第2の判定工程と、前記第2の判定工程によって判定された結果、前記第2の演算手段が、前記所定の連続パターンの配列であると判定されたディジタルデータの後に連続する前記所定数のディジタルデータの全部または一部に対して、前記所定の値を減算または加算し、当該減算または加算より前記ディジタルデータが所定のデータ量が増減した場合は、増減分のデータを演算結果とする第2の演算工程と、前記第2の出力手段が、前記第2の演算工程によって演算処理されたデータを前記記憶手段へ出力する第2の出力工程と、を含んだことを特徴とする。
【0018】
また、請求項10に記載の発明にかかるデータ利用期限制御方法は、請求項9に記載の発明において、前記記憶手段に記憶されていた前記第1の出力工程によって出力されたデータに、前記第2の出力工程によって出力されたデータを上書きすることを特徴とする。
【0020】
また、請求項11に記載の発明にかかるデータ使用期限制御方法は、請求項7〜10のいずれか一つに記載の発明において、さらに、前記情報処理装置は、データ取得手段と、解凍手段と、を備え、前記データ取得手段が、前記記憶手段に記憶するデータであって圧縮されたデータを受信または読み取るデータ取得工程と、前記解凍手段が、前記データ取得工程によって受信または読み取られたデータの解凍処理をおこなう解凍工程と、を含み、前記受信日時判断工程は、前記解凍工程によって前記データの解凍処理がおこなわれた日時と、前記日時取得工程によって取得した現在日時とに所定時間以上の違いがあるか否かを判断することを特徴とする。
【0021】
また、請求項12に記載の発明にかかるデータ使用制限制御方法は、請求項9または10に記載の発明において、前記第1の演算工程および前記第2の演算工程は、所定の連続パターンの配列からなる8ビットのバイナリーコードを前記所定の値として、加算または減算の対象となるディジタルデータに順次加算または減算することを特徴とする。
【0023】
また、請求項13に記載の発明にかかる記録媒体は、請求項7〜12のいずれか一つに記載された方法をコンピュータに実行させるプログラムを記録したことを特徴とする。これによって、当該プログラムをコンピュータによって読み取ることが可能となり、これによって、請求項7〜12の動作をコンピュータによって実現することが可能である。
【0024】
【発明の実施の形態】
以下、この発明にかかる情報処理装置、データ使用制限制御方法およびその方法をコンピュータに実行させるプログラムを記録したコンピュータ読み取り可能な記録媒体の好適な実施の形態について添付図面を参照し、詳細に説明する。なお、この実施の形態によってこの発明が限定されるものではない。
【0025】
〔実施の形態〕
(情報処理装置の内部構成)
まず、この発明の実施の形態にかかる情報処理装置のハードウエア構成について説明する。情報処理装置は、たとえば、パーソナルコンピュータ、ワークステーションであり、パーソナルコンピュータは、ディスクトップ型、ノート型、あるいはモバイル型のものが含まれる。また、携帯電話機やPDA(Personal Digital Assistant)などの携帯情報端末などであってもよく、さらには、テレビゲーム機であってもよい。
【0026】
図1は、この発明の実施の形態にかかる情報処理装置のハードウエア構成を示すブロック図である。図1のブロック図において、情報処理装置は、CPU101と、ROM102と、RAM103と、HDD(ハードディスクドライブ)104と、HD(ハードディスク)105と、FDD(フロッピーディスクドライブ)106と、着脱可能な記録媒体の一例としてのFD(フロッピーディスク)107と、ディスプレイ108と、I/F(インタフェース)109と、キーボード111と、マウス112と、スキャナ113と、プリンタ114と、(PC)タイマー115と、を備えている。また、各構成部はバス100によってそれぞれ接続されている。
【0027】
ここで、CPU101は、情報処理装置全体の制御を司る。ROM102は、ブートプログラムなどのプログラムを記憶している。RAM103は、CPU101のワークエリアとして使用される。HDD104は、CPU101の制御にしたがってHD105に対するデータのリード/ライトを制御する。HD105は、HDD104の制御で書き込まれたデータを記憶する。
【0028】
FDD106は、CPU101の制御にしたがってFD107に対するデータのリード/ライトを制御する。FD107は、FDD106の制御で書き込まれたデータを記憶する。着脱可能な記録媒体として、FD107の他、CD−ROM(CD−R、CD−RW)、MO、DVD(Digital Versatile Disk)などであってもよい。ディスプレイ108は、カーソル、アイコンあるいはツールボックスをはじめ、文書、画像、機能情報などのデータに関するウインドウ(ブラウザ)を表示する。たとえば、CRT、TFT液晶ディスプレイ、プラズマディスプレイなどである。
【0029】
I/F(インタフェース)109は、通信回線110を通じてLANやインターネットなどのネットワークに接続され、ネットワークを介して、他のサーバや情報処理装置に接続される。そして、I/F109は、ネットワークと内部とのインタフェースを司り、他のサーバや端末装置からのデータの入出力を制御する。たとえば、モデムなどである。また、情報処理装置が携帯電話機のように無線通信をおこなう場合には、I/F109が通信機(無線送受信機)としての機能も備える。
【0030】
キーボード111は、文字、数字、各種指示などの入力のためのキーを備え、データの入力をおこなう。タッチパネル式の入力パッドなどであってもよい。マウス112は、カーソルの移動や範囲選択、あるいはウインドウの移動やサイズの変更などをおこなう。ポインティングデバイスとして同様の機能を備えるものであれば、トラックボール、ジョイスティックなどであってもよい。
【0031】
スキャナ113は、画像を光学的に読み取り、情報処理装置内に画像データを取り込む。また、プリンタ114は、画像データや文書データを印刷する。たとえば、レーザプリンタ、インクジェットプリンタなどである。
【0032】
また、タイマー115は、情報処理装置に内蔵されている時計であり、情報処理装置内の西暦、月日、時分秒を管理する。情報処理装置は、このタイマー115が示す時刻に基づいて、各種処理の制御をおこなう。
【0033】
(情報処理装置の機能的構成)
つぎに、この発明の実施の形態にかかる情報処理装置の機能的構成について説明する。図2は、この発明の実施の形態にかかる情報処理装置の構成を機能的に示すブロック図である。
【0034】
図2のブロック図において、情報処理装置は、圧縮データ受信部201、圧縮データ読取部202と、解凍処理部203と、データ記憶部204と、タイマー設定部205と、PCタイマー206と、判断部207と、入力部208と、解除コード処理部209と、起動処理部210と、データ防護処理部211と、表示部212と、から構成される。
【0035】
圧縮データ受信部201は、ネットワークから、通常のデータのほか、圧縮されたプログラムデータを含む各種データを受信する。圧縮データ受信部201は、たとえば、図1に示したI/F109によってその機能を実現する。また、圧縮データ読取部202は、CD−ROMやFDなどから、通常のデータのほか、圧縮されたプログラムデータを含む各種データを読み取る。圧縮データ読み取り部202は、たとえば、FDD106によってその機能を実現する。
【0036】
解凍処理部203は、圧縮データ受信部201および圧縮データ読取部202によって受信されまたは読み取られた圧縮データの解凍処理をおこなう。また、解凍処理がおこなわれたことをタイマー設定部205に通知する。解凍処理部203は、ROM102、RAM103、HD105、FD107などにあらかじめ記憶されたプログラムをCPU101が実行することによって上記機能(解凍処理)を実現する。
【0037】
データ記憶部204は、解凍処理部203によって解凍されたデータを記憶する。また、プログラムデータであれば、データ記憶部204に起動指示にしたがって起動ができるような状態で記憶される。データ記憶部204は、HDD104およびHD105によってその機能を実現する。
【0038】
タイマー設定部205は、PCタイマー206からタイマーデータを受信し、受信したタイマーデータを、解凍処理部203によって解凍処理され、データ記憶部204に記憶されたデータのタイマーを設定する。タイマー設定部205は、ROM102、RAM103、HD105、FD107などにあらかじめ記憶されたプログラムをCPU101が実行することによって上記機能を実現する。また、PCタイマー206は、時間を掲示するものであり、たとえば、図1に示したタイマー115によってその機能を実現する。
【0039】
判断部207は、タイマー設定部205から時間に関する情報を取得し、あらかじめ設定された期限を経過しているか否かを判断する。判断部207は、ROM102、RAM103、HD105、FD107などにあらかじめ記憶されたプログラムをCPU101が実行することによって上記機能を実現する。
【0040】
入力部208は、解除データを入力する。また、入力部208はプログラムの起動指示に関する情報も入力する。入力部208は、たとえば、キーボード111またはマウス112などによってその機能を実現する。
【0041】
解除コード処理部209は、解除コードが入力された場合には、データ防護処理部211に対して、防護キーの除去処理をおこなうように通知する。また、入力部208から起動指示があった場合に、解除コードがすでに入力されているか否かを判断する。そして、すでに解除コードが入力されている場合には、データ防護処理をおこなわずに、プログラムの起動処理をおこなうように起動処理部210へ通知する。また、解除コードが入力されていない場合には、その旨を判断部207へ通知する。判断部207は、その通知があった場合に、上述のように、あらかじめ設定された期限を経過しているか否かを判断するようにする。解除コード処理部209は、ROM102、RAM103、HD105、FD107などにあらかじめ記憶されたプログラムをCPU101が実行することによって上記機能を実現する。
【0042】
起動処理部210は、起動指示があった場合に、データ記憶部204に記憶されたプログラムを所定の手順で起動する。起動処理部210は、ROM102、RAM103、HD105、FD107などにあらかじめ記憶されたプログラムをCPU101が実行することによって上記機能を実現する。
【0043】
データ防護処理部211は、データ記憶部204に記憶された(プログラム)データに対して防護キー付加処理および防護キー除去処理をおこなう。データ防護処理部211は、ROM102、RAM103、HD105、FD107などにあらかじめ記憶されたプログラムをCPU101が実行することによって上記機能を実現する。なお、その詳細については、後述する。
【0044】
表示部212は、図5に示す解除コード入力画面500、またはエラーメッセージの表示などをおこなう。表示部212は、たとえば、図1に示すディスプレイ108によってその機能を実現する。
【0045】
(プログラムデータのダウンロード・セットアップの内容)
つぎに、この発明の実施の形態にかかる情報処理装置におけるプログラムデータのダウンロード・セットアップの内容(手順)について説明する。図3は、この発明の実施の形態にかかる情報処理装置におけるプログラムデータのダウンロードおよびセットアップの内容(手順)を示すフローチャートである。
【0046】
図3のフローチャートにおいて、まず、ネットワークを通じて圧縮されたプログラムデータ(以下「圧縮データ」という)を受信する(ステップS301)。また、ここでは、ネットワークを通じて圧縮データを受信する代わりに、CD−ROMなどの着脱可能な記録媒体からデータを読み取ることによって、圧縮データを入力(取り込み)することができる。
【0047】
つぎに、ステップS301において受信または入力された圧縮データの解凍処理を実行する(ステップS302)。その後、PCタイマー206から、情報処理装置が持っているタイマーデータ(日時、時刻データ)を取得する(ステップS303)。そして、取得したタイマーデータとあらかじめ上記プログラムデータに設定されていたタイマーデータとを比較する(ステップS304)。あらかじめ上記プログラムデータに設定されていたタイマーデータとは、圧縮データをダウンロードする際にスタンプされた日時、時刻に関するデータである。
【0048】
両者を比較して、両者間に一定時間(日数)以上の違いがあるか否かを判断する(ステップS305)。そして、一定時間以上の違いがある場合(ステップS305:Yes)は、セットアッププログラムを停止し(ステップS306)、すべての処理を終了する。これは、情報処理装置内のタイマーを不正に変更し、当該プログラムの使用期限を不当に延長させることを防止するためである。
【0049】
各情報処理装置内のタイマーは、情報処理装置ごとに独自のクロックによって作動しているため多少の時刻の誤差は生じる。そのようにして生じた誤差については許容範囲とする。また、悪意を持ってタイマーを変更したのではない場合を考慮し、ステップS306において、たとえば「タイマーの時刻を再設定した後、もう一度セットアップをやり直してください。」というメッセージを表示した後、セットアッププログラムを停止するようにしてもよい。その場合、タイマーの時刻を調整した後、再度、同様の操作をおこなうことによって、セットアップを完了することができる。
【0050】
ステップS305において、一定時間以上の違いがなかった場合(ステップS305:No)は、情報処理装置内のタイマーデータを上記プログラムデータの所定領域にコピー(上書き)する(ステップS307)。そして、コピーされたタイマーデータの時刻からタイマーを始動する(ステップS308)。その後、(プログラム)データを記憶部204によって記憶する(ステップS309)。
【0051】
また、ステップS304において、CD−ROMなどからプログラムデータが読み取られた場合は、読み取られた時刻(日時)を知り得ない。その場合は、セットアップ有効期限としてあらかじめ設定した時刻(日時)に関するデータをCD−ROMのプログラムデータ内に格納し、その時刻に関するデータと、情報処理装置内のタイマーデータとを比較する。そして、上記設定した時刻前であれば、上記情報処理装置内のタイマーデータをコピーする。あるいは、CD−ROMなどからのセットアップの場合は、ステップS304〜S306の各ステップをスキップするようにしてもよい。
【0052】
これによって、解凍されたプログラムデータは、データ記憶部204に記憶され、起動可能な状態となる。このようにして、プログラムデータのダウンロードおよびセットアップを完了することができる。
【0053】
(プログラムの起動の内容)
つぎに、図3のフローチャートで示したような手順でセットアップを完了したプログラムデータの起動の内容(手順)について説明する。図4は、この発明の実施の形態にかかる情報処理装置におけるプログラムのデータ起動の内容(手順)を示すフローチャートである。
【0054】
図4のフローチャートにおいて、まず、操作者によるプログラムデータの起動の指示(あるいは他のプログラムによる起動命令など)があったか否かを判断する(ステップS401)。ここで、起動の指示を待って、指示があった場合(ステップS401:Yes)は、つぎに、すでに解除コードが入力されているか否かを判断する(ステップS402)。ここで、すでに解除コードが入力されている場合(ステップS402:Yes)は、ステップS414へ移行する。解除コードについての詳細は後述する。
【0055】
一方、ステップS402において、未だ解除コードが入力されていない場合(ステップS402:No)は、つぎに、タイマーを参照する(ステップS403)。そして、タイマーが正常に作動しているか否かを判断する(ステップS404)。より具体的には、タイマーデータを改変したか否かを判断し、改変された記録がなければ正常に作動していると判断する。これは、タイマーデータの改変による当該プログラムの使用期限が不当に延長されるのを防止するためである。
【0056】
ここで、正常に作動していないと判断した場合(ステップS404:No)は、すべての処理を終了し、プログラムの起動処理は実行されない。一方、正常に動作している場合(ステップS404:Yes)は、つぎに、当該プログラムの使用期限がすでに期限切れになっているか否かを判断する(ステップS405)。当該プログラムの使用期限はあらかじめ設定されており、その使用期限が、たとえば、タイマー始動から30日となっている場合には、タイマーが始動した日時から現在の日時(起動指示があった日時)まで、すでに30日を経過しているか否かで判断する。
【0057】
また、たとえば、使用期限が2000年12月31日まで、といった使用期限である場合には、タイマーの現在の日時(起動指示があった日時)が、2000年12月31日よりも後か否かで判断する。なお、使用期限が期限切れか否かの判断については、その他の方法であって、周知技術として一般に知られているものであってもよい。
【0058】
ここで、期限切れでない場合(ステップS405:No)は、ステップS414へ移行し、起動処理を実行する。一方、期限切れである場合(ステップS406:Yes)は、つぎに、ステップS407においておこなう防護キー付加処理をすでにおこなっているか否かを判断する(ステップS406)。すでに防護キー付加処理がおこなわれた場合には、データの所定の位置にフラグをたてておく。そして、そのフラグの有無によって、すでに防護キー付加処理がおこなわれたか否かを容易に判断することができる。なお、防護キー付加処理の詳細については後述するが、すでに防護キー付加処理が施されたデータに対して、再度の防護キー付加処理をおこなってしまうと、防護キー除去処理によってもとの正常なデータへ復元できなくなってしまう。そのため、複数回にわたって防護キー付加処理をおこなわないようにする。
【0059】
ステップS406において、すでに防護キー付加処理がおこなわれている場合(ステップS406:Yes)は、防御キー付加処理(ステップS407)はおこなわずに、ステップS408へ移行する。一方、未だ防護キー付加処理がおこなわれていない場合(ステップS406:No)は、防御キー付加処理をおこなう(ステップS407)。なお、ステップS407の防護キー付加処理の内容についての詳細は後述する。
【0060】
ステップS407において防護キー付加処理がおこなわれた後、つぎに、解除コード入力画面を表示する(ステップS408)。解除コード入力画面は、たとえば図5に示すポップアップウインドウ500よって表示部212(ディスプレイ108)に表示される。図5において、501は解除コード入力欄であり、この入力欄にプログラムデータの提供者から提供された解除コードを入力する。解除コードは、たとえば、代金支払いにともなう当該プログラムの継続使用許諾を受けた場合に提供者から提供される。また、解除コードは、複数桁の英数文字からなり、カーソルを解除コード入力欄501の所定位置に移動させた後、操作者がキーボード111をもちいて入力する。解除コードの入力後、「OK」ボタン502をマウス112またはキーボード111などでクリックすることによって、解除コードの入力が完了することになる。
【0061】
そして、解除コードが入力されたか否かを判断し(ステップS409)、解除コードが入力されていない場合(ステップS409:No)は、図5に示す「キャンセル」ボタン503が押下(クリック)されたか否かを判断する(ステップS410)。そして、「キャンセル」ボタン503が押下されなければ(ステップS410:No)、ステップS409へ移行し、ステップS409とステップS410の各処理を繰り返しおこなう。一方、「キャンセル」ボタン503が押下された場合(ステップS410:Yes)は、すべての処理を終了する。
【0062】
ステップS409において、解除コードが入力された場合(ステップS409:Yes)、より具体的には、解除コード入力欄501に解除コードが入力された後、「OK」ボタン502が押下された場合は、入力された解除コードが正しいか否か、すなわち、あらかじめ格納された解除コードと、入力された解除コードの全部または一部が一致するか否かを判断する(ステップS411)。ここで、正しくない場合(ステップS411:No)は、たとえば「解除コードが正しくありません。もう一度入力し直してください。」というエラーメッセージを表示し(ステップS412)、ステップS408へ移行し、再度解除コード入力画面を表示する(ステップS408)。
【0063】
そして、入力された解除コードが正しい場合(ステップS411:Yes)は、つぎに、防護キー除去処理をおこなう(ステップS413)。なお、防護キー除去処理の詳細な内容については後述する。その度、起動処理をおこない(ステップS414)、すべての処理を終了する。起動処理は通常の技術をもちいるものとし、その説明は省略する。
【0064】
なお、図4のフローチャートにおいては、プログラムの起動指示があった場合に、期限切れであれば、防護キー付加処理をおこなうようにしたが、プログラムの起動指示とは無関係に、常に、タイマーを監視し、期限切れになった際、直ちに、防護キー付加処理をおこなうようにしてもよい。
【0065】
(時間の経過にともなうプログラムデータの状態)
つぎに、時間の経過にともない、解凍処理され、データ記憶部204に記憶されたプログラムデータがどのような状態になっているかについて説明する。図6は、この発明の実施の形態にかかる情報処理装置のデータ記憶部204に記憶されたプログラムデータの時間の経過にともなう状態の変化を示す説明図である。
【0066】
図6において、ダウンロード・セットアップがおこなわれた際にデータ記憶部204に記憶されたプログラムデータは、正常の状態であり、通常に起動処理によってアプリケーションが立ち上がる。そして、所定の期限が経過し期限切れになったのち、最初に起動処理がなされた場合に、図5においても説明したように、防護キー付加され、それによって、正常データが変容データに変えられる。そして、変容されたプログラムデータは、そのままでは、起動することができない。したがって、データ記憶部204に記憶されたプログラムデータをコピーして、別の情報処理装置で起動させることができない。
【0067】
そして、解除コードが入力された際、防護キーが除去され、再び、変容されたプログラムデータは正常のデータに戻される。一度、解除コードが入力された後は、プログラムデータは正常な状態を保持するため、再度、解除コードを入力する必要はない。このようにして、使用期限が切れた後、解除コードを入力するまでの、当該プログラムデータの使用権限がない間は、当該プログラムデータを起動させることができないだけでなく、プログラムデータ自体が変容してしまっているので、そのプログラムデータをコピーして他の情報処理装置にて起動させるという不正な使用を確実に防止することができる。
【0068】
(防護キー付加処理の内容)
つぎに、実施の形態にかかる情報処理装置が備えるデータ防護処理部211がおこなう防護キー付加処理の内容について説明する。実施の形態にかかる情報処理装置のデータ防護処理部211は、シリアル入力されるビットデータ列に対してバイト変換をおこなうことでバイト列を取得する。そして、取得したバイト列に含まれる所定のバイトデータの存在を条件として、バイトコードから所定範囲にわたるバイトデータに対して所定の防護キー値を加算(減算)することで符号化をおこなうことを特徴としている。また、図11に示すように、逆の手順(防護キー除去処理)によって復号化をおこなうことを特徴とする。
【0069】
図7は、この発明の本実施の形態にかかるデータ防護処理部211の構成を示すブロック図である。図7において、データ防護処理部211は、第1バッファ701と、防護キー付加位置判定部702と、防護キー付加処理部703と、第2バッファ704と、付加条件/付加範囲/防護キー記憶部705と、を備える構成となっている。
【0070】
ここで、付加条件/付加範囲/防護キー記憶部705は、付加条件、付加範囲および防護キー値を記憶するものである。ここで、付加条件とは、バイトデータが、どのバイトコードを示した場合にそのバイトデータからいくつ後のバイトデータに対して防護キー値の加算をおこなうかを示すものである。したがって、この付加条件は、所定のバイトコードと加算開始位置を示す数値とから構成される。
【0071】
また、付加範囲とは、付加条件によって示される加算開始位置から、いくつのバイトデータにわたって防護キー値を加算するかを示すものであり、その範囲を示す数値によって表わされる。防護キー値とは、上記したように、バイトデータに加算する数値を表わすものである。
【0072】
第1バッファ701は、データ記憶部204から受け取った(プログラム)データ、特にシリアルビットデータを、少なくとも複数のバイトが構成できる容量分のデータを蓄積する記憶部である。また、この第1バッファ701は、ディジタルデータのシリアル−パラレル変換を可能としたFIFO(First In First Out)メモリとしての機能を果たす。
【0073】
防護キー付加位置判定部702は、第1バッファ701に蓄積されたバイトデータをその蓄積順に取り出し、取り出したバイトデータが、上記した付加条件によって示されるバイトコードに一致するか否かを判定するものである。防護キー付加位置判定部702は、第1バッファ701から取り出したバイトデータが上記付加条件を満たす場合には、たとえば、その旨を示す付加フラグをON状態にしたり、後述するように付加カウンタをカウントアップする。
【0074】
防護キー付加処理部703は、第1バッファ701から取り出されたバイトデータを、防護キー付加位置判定部702を介して受け取り、受け取ったバイトデータが上記付加条件を満たす場合に、そのバイトデータに上記防護キー値を加算する。具体的には、防護キー付加処理部703は、上記付加フラグや付加カウンタの状態に応じて、バイトデータに対して防護キー値を加算するか否かを判定する。
【0075】
第2バッファ704は、防護キー付加処理部703において付加処理が施されたバイトデータおよび付加処理が施されなかったバイトデータを蓄積する記憶部である。また、この第2バッファ704は、ディジタルデータのパラレル−シリアル変換を可能としたFIFOメモリとしての機能を果たす。したがって、データ防護理部211は、第1バッファ701が受け取ったデータに対し、所定の条件を満たすデータ部のみを変容させることになる。特に、その変容前後において、データサイズに変化がないことを特徴としている。
【0076】
つぎに、このデータ防護処理部211の動作について説明する。ここでは、説明を簡単にするために、上記した付加条件のうち加算開始位置を1とする。これは、付加条件によって示されるバイトコード、すなわち付加処理を実行するきっかけとなるバイトデータのつぎに位置するバイトデータから防護キー値の加算または減算をおこなうことを意味する。
【0077】
図8は、この発明の本実施の形態にかかる情報処理装置のデータ防護処理部211の符号化処理を示すフローチャートである。データ防護処理部211は、符号化処理を開始するにあたって、まず、符号化の対象となるデータ記憶部204に記憶された(プログラム)データを第1バッファ701に取りこむ(ステップS801)。そして、防護キー付加位置判定部702が、第1バッファ701から1バイト分のデータを読み出す(ステップS802)。また、防護キー付加位置判定部702は、自身が管理する付加カウンタが0より大きい値を示しているか否かを判定する(ステップS803)。
【0078】
ステップS803において付加カウンタが0である場合(ステップS803:No)には、防護キー付加位置判定部702は、第1バッファ701から読み出したバイトデータに対して付加処理を施す必要はないと判断し、現在読み出しているバイトデータが防護キー付加条件、すなわち上記したバイトコードと一致するか否かを判定する(ステップS808)。
【0079】
ステップS808において、バイトデータが防護キー付加条件と一致しない場合(ステップS808:No)には、防護キー付加位置判定部702は、現在読み出しているバイトデータをそのまま次段の防護キー付加処理部703に渡し、防護キー付加処理部703は付加処理を実行することなく、そのバイトデータを第2バッファ704に書き込む(ステップS810)。
【0080】
ステップS808において、バイトデータが防護キー付加条件と一致する場合(ステップS808:Yes)には、防護キー付加位置判定部702は、上記した付加カウンタを1にセットし(ステップS809)、その後、ステップS810の処理をおこなう。
【0081】
一方、ステップS803において、付加カウンタが0より大きい場合(ステップS803:Yes)には、防護キー付加位置判定部702は、第1バッファ701から読み出したバイトデータに対して付加処理を施す必要があると判断し、次段の防護キー付加処理部703に、現在読み出しているバイトデータを渡すとともに、付加処理を依頼する。これによって、防護キー付加処理部703は、受け取ったバイトデータに、付加条件/付加範囲/防護キー記憶部705に記憶されている防護キー値を加算する(ステップS804)。
【0082】
図9は、防護キー値の加算処理(付加処理)を説明するための説明図である。ステップS804における加算処理は、たとえば、図9に示すように、防護キー値がヘキサコード“1E”で表わされ、第1バッファ701から読み出したデータがバイナリコードで“10110010”と表わされたバイトデータ、すなわちヘキサコード“B2”で表わされる場合、バイトデータ“B2”に防護キー値“1E”を加算することによりおこなう。したがって、この場合、加算結果として、バイナリコード“11010000”と表わされたバイトデータ、すなわちヘキサコード“D0”を得ることができる。
【0083】
防護キー付加位置判定部702は、防護キー付加処理部703による加算処理が終わると、または防護キー付加処理部703に対して加算処理を依頼すると、付加カウンタが付加条件/付加範囲/防護キー記憶部705に記憶されている付加範囲を超えているか否かを判定する(ステップS805)。
【0084】
ステップS805において、付加カウンタが付加範囲を超えていない場合(ステップS805:No)は、防護キー付加位置判定部702は、付加カウンタの値をインクリメントし(ステップS807)、その後、ステップS810の処理をおこなう。一方、ステップS805において付加カウンタが付加範囲を超えている場合(ステップS805:Yes)は、防護キー付加位置判定部702は、付加カウンタの値をリセットし(ステップS806)、その後、ステップS810の処理をおこなう。
【0085】
ステップS810の処理後、第2バッファ704のデータを順次、データ記憶部204へ送出する(ステップS811)。そして、送出されたデータがデータ記憶部204に書き込まれる(上書きされる)(ステップS812)。
【0086】
以上の処理によって、データ防護処理部211は、第1バッファ701に蓄積されたバイトデータに対し、付加条件/付加範囲/防護キー記憶部705に記憶された諸条件にしたがった符号化を実現する。図10は、符号化処理によって得られるバイトデータ列の例を示す図である。
【0087】
図10に示すように、付加条件がバイトコード“5D”のつぎからとし、防護キー値を“1E”、付加範囲を3とした場合には、データ防護処理部211の符号化処理によって、“5D 9B 11 40 A9”の部分は、“5D B92F 5E A9”に変容され、“5D 88 FA 1B 33”の部分は、“5D A6 19 39 33”に変容される。ここで、“FA”から“19”に変容されているように、防護キー値を加算した結果が、1バイトで表わされる数値範囲を超える場合には、その超えた部分の数値を加算結果とする。
【0088】
また、上記の例においては、防護キー値を一種類のみ設定していたが、防護キー値を複数の値から構成されるデータパターンとして用意しておき、付加範囲の先頭から順に、そのデータパターンが順次示す値を、加算または減算するようにしてもよい。たとえば、図10に示した例で、付加条件および付加範囲は同じで、防護キー値を“1E,AB,7F”とすると、“5D”のつぎの“9B”に対して、“1E”を加算され、つぎの“11”に対して“AB”を加算し、つぎの“40”に対して“7F”を加算する。
【0089】
また、付加条件、付加範囲の設定方法については、以下のような方法であってもよい。たとえば、付加条件を“5D”のつぎとそのつぎをとばして3つ先からとし、付加範囲を一つおきに3バイトとする。それによって、図10に示した例をもちいると、加算の対象となるのは、(“9B”と“11”をとばした3つ先の)“40”と“DD”と“38”ということになる。いずれにせよ、所定の数値のバイトデータの後に連続する所定数のバイトデータの全部または一部であれば、その内容についてはどのようなものであってもよい。
【0090】
プログラムは、基本的には8ビットコードの配列として表現されており、そのソースでコマンド等を構成するアルファベットや数値を表わすのに、8ビットコードのうち7ビットしかもちいておらず、最上位ビットである8ビット目を“1”に置換すると、コンピュータ上で認識できないコードになる。したがって、対象のデータがプログラムである場合は、防護キー値として、8ビット目を“1”に置換するようなヘキサコードとして、“80”〜”FF”のいずれかをもちいるとより有効である。
【0091】
(防護データ除去処理の内容)
図11は、この発明の本実施の形態にかかるデータ防護処理部211の別の構成を示すブロック図である。図11において、データ防護処理部211は、第3バッファ1101と、防護キー除去位置判定部1102と、防護キー除去処理部1103と、第4バッファ1104と、付加条件/付加範囲/防護キー記憶部1105と、を備える構成となっており、上述した防護キー付加処理におけるデータ防御処理部211と逆の処理をおこなう。なお、付加条件/付加範囲/防護キー記憶部1105は、付加条件/付加範囲/防護キー記憶部705と別個に設ける必要はなく、兼用してもよい。
【0092】
第3バッファ1101は、上記した第1バッファ701と同様の機能を果たす記憶部である。防護キー除去位置判定部1102は、第3バッファ1101に蓄積されたバイトデータをその蓄積順に取り出し、取り出したバイトデータが、上記した付加条件によって示されるバイトコードに一致するか否かを判定するものである。防護キー除去位置判定部1102は、第3バッファ1101から取り出したバイトデータが上記付加条件を満たす場合には、たとえば、その旨を示す付加フラグをON状態にしたり、後述するように付加カウンタをカウントアップする。したがって、この防護キー除去位置判定部1102は、機能としては上記した防護キー付加位置判定部702と同じであり、復号化処理部において防護キー除去位置判定部1102を設けずに、防護キー付加位置判定部702を兼用してもよい。
【0093】
防護キー除去処理部1103は、第3バッファ1101から取り出されたバイトデータを、防護キー除去位置判定部1102を介して受け取り、受け取ったバイトデータが上記付加条件を満たす場合に、そのバイトデータから上記防護キー値を差し引く。具体的には、防護キー除去処理部1103は、上記付加フラグや付加カウンタの状態に応じて、バイトデータに対して防護キー値を差し引くか否かを判定する。
【0094】
第4バッファ1104は、防護キー除去処理部1103において除去処理が施されたバイトデータおよび除去処理が施されなかったバイトデータを蓄積する記憶部である。また、この第4バッファ1104は、ディジタルデータのパラレル−シリアル変換を可能としたFIFOメモリとしての機能を果たす。したがって、データ防御処理部211は、第3バッファ1101が受け取ったデータに対し、所定の条件を満たすデータ部のみを変容させることになる。すなわち、上記した防護キー付加処理によって符号化され変容されたデータに対しては復号化処理を施すことになる。
【0095】
したがって、データ防護処理部211によって防護キーが付加されたプログラムデータは、再びデータ防護処理部211をもちいて防護キーの除去をおこなわなければ、その内容を正しく取得することはできない。すなわち、データ防護処理部211は、符号化/復号化処理を、付加条件/付加範囲/防護キー記憶部705,1105に記憶された内容にしたがってデータサイズを増減させることなく実行することができる。
【0096】
つぎに、データ防護処理部211の防護キー除去(復号化)処理について説明する。図12は、この発明の本実施の形態にかかる情報処理装置のデータ防護処理部211の復号化処理を示すフローチャートである。図12において、データ防護処理部211が、復号化処理を開始するにあたって、まず、復号化の対象となる、防護キー付加処理がなされたプログラムデータを第3バッファ1101に取りこむ(ステップS1201)。
【0097】
そして、防護キー除去位置判定部1102が、第3バッファ1101から1バイト分のデータを読み出す(ステップS1202)。また、防護キー除去位置判定部1102は、自身が管理する付加カウンタが0より大きい値を示しているか否かを判定する(ステップS1203)。
【0098】
ステップS1203において、付加カウンタが0である場合(ステップS1203:No)には、防護キー除去位置判定部1102は、第3バッファ1101から読み出したバイトデータに対して除去処理を施す必要はないと判断し、現在読み出しているバイトデータが防護キー付加条件、すなわち上記したバイトコードと一致するか否かを判定する(ステップS1208)。
【0099】
ステップS1208において、バイトデータが防護キー付加条件と一致しない場合(ステップS1208:No)には、防護キー除去位置判定部1102は、現在読み出しているバイトデータをそのまま次段の防護キー除去処理部1103に渡す。そして、防護キー除去処理部1103は除去処理を実行することなく、そのバイトデータを第4バッファ1104に書き込む(ステップS1210)。
【0100】
ステップS1208において、バイトデータが防護キー付加条件と一致する場合(ステップS1208:Yes)には、防護キー除去位置判定部1102は、上記した付加カウンタを1にセットし(ステップS1209)、ステップS1210の処理をおこなう。
【0101】
一方、ステップS1203において、付加カウンタが0より大きい場合(ステップS1203:Yes)には、防護キー除去位置判定部1102は、第3バッファ1101から読み出したバイトデータに対して減算処理を施す必要があると判断し、次段の防護キー除去処理部1103に、現在読み出しているバイトデータを渡すとともに、減算処理を依頼する。
【0102】
これによって、防護キー除去処理部1103は、受け取ったバイトデータから、付加条件/付加範囲/防護キー記憶部1105に記憶されている防護キー値を差し引く(ステップS1204)。なお、この減算処理は、図9に示した加算処理と逆の処理であるので、ここではその説明を省略する。
【0103】
防護キー除去位置判定部1102は、防護キー除去処理部1103による減算処理が終わると、または防護キー除去処理部1103に対して減算処理を依頼すると、付加カウンタが付加条件/付加範囲/防護キー記憶部1105に記憶されている付加範囲を超えているか否かを判定する(ステップS1205)。
【0104】
ステップS1205において、付加カウンタが付加範囲を超えていない場合(ステップS1205:No)は、防護キー除去位置判定部1102は、付加カウンタの値をインクリメントし(ステップS1207)、その後、ステップS1210の処理をおこなう。一方、ステップS1205において、付加カウンタが付加範囲を超えている場合(ステップS1205:Yes)は、防護キー除去位置判定部1102は、付加カウンタの値をリセットし(ステップS1206)、その後、ステップS1210の処理をおこなう。
【0105】
ステップS1210の処理後、第4バッファ1104のデータが、補助記憶装置からの読み出しデータとして順次送出される(ステップS1211)。以上の処理によって、データ防護処理部211は、第3バッファ1101に蓄積されたバイトデータに対し、付加条件/付加範囲/防護キー記憶部1105に記憶された諸条件にしたがった復号化を実現する。
【0106】
また、上記付加条件/付加範囲/防護キーを、入力された解除コードの全部または一部に基づいて設定するようにしてもよい。すなわち、上記付加条件/付加範囲/防護キーと上記解除コードの全部または一部を対応させておく。具体的には、解除コードのn番目およびn+1番目の英数文字を付加条件とし、解除コードのm番目およびm+1番目の英数文字を防護キー値とし、さらに、解除コードのp番目の数字を付加範囲とする。
【0107】
これによって、図4に示したフローチャートのうちの、ステップS411およびステップS412の各ステップを省略することができる。ただし、いったん解除コードの入力を誤ってしまうと、誤った付加条件/付加範囲/防護キーにて防護キー解除(付加)処理が施されてしまうため、変容したプログラムデータを元の正常なデータに戻すことができなくなる。そのため、解除コードの入力の際には、誤入力をしないように操作者に警告を促す必要がある。また、いたずらや不正な方法によっておこなおうとした防護キー除去処理を排除できる。
【0108】
以上に説明したように、本実施の形態にかかる情報処理装置によれば、所定の期限が経過した場合に、防護キー付加処理の対象となるデータにかかるシリアルデータをバイトごとに監視して、そのバイトデータが所定のバイトコードに一致しているか否かを判定し、一致している場合には、その一致箇所から所定の個数後に受け取ったバイトデータを開始位置として、その開始位置にあるバイトデータから所定の個数にわたるバイトデータに所定の値を加算することで符号化を実現しているので、データの符号化をデータサイズの変化なくデータの内容を変容することができ、それによって、当該データは使用不能となる。
【0109】
また、防護キー除去処理の対象となるデータにかかるシリアルデータをバイトごとに監視して、そのバイトデータが所定のバイトコードに一致しているか否かを判定し、一致している場合には、その一致箇所から所定の個数後に受け取ったバイトデータを開始位置として、その開始位置にあるバイトデータから所定の個数にわたるバイトデータから所定の値を差し引くことで、上記した符号化に対応した復号化を実現することができるので、解除コードの入力などによって、一度変容して使用不能となったデータを再び使用可能にすることができる。
【0110】
したがって、本実施の形態にかかる情報処理装置は、対象となるデータのすべてをデータ記憶部204から受け取らずとも、実際に受け取った部分から順に符号化/復号化処理を実行することが可能になるので、バッファとして大容量のものを必要とすることなく、装置構成を安価にすることができる。
【0111】
なお、以上に説明した本実施の形態では、符号化処理において防護キー値を加算し、復号化処理において防護キー値を減算するとしたが、逆に、符号化処理において防護キー値を減算し、復号化処理において防護キー値を加算するようにしてもよい。
【0112】
また、本実施の形態で説明したデータ防護処理方法は、あらかじめ用意されたプログラムをパーソナルコンピュータやワークステーション等の情報処理装置(コンピュータ)で実行することにより実現するようにしてもよい。このプログラムは、ハードディスク、フロッピーディスク、CD−ROM、MO、DVD等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。またこのプログラムは、伝送媒体として、または上記記録媒体を介して、インターネット等のネットワークを介して配布することができる。
【0113】
【発明の効果】
以上説明したように、この発明にかかる情報処理装置またはデータ使用期限制御方法およびその方法をコンピュータに実行させるプログラムを記録したコンピュータ読み取り可能な記録媒体によれば、期限付きで使用を許可するプログラムを含むデータを、そのデータ・サイズを増大させることなく、使用ができないように内容を変容することで、確実にデータの使用を不能にすることが可能であるとともに、いったん使用を制限したデータをその後に再び使用可能とすることができる。
【図面の簡単な説明】
【図1】この発明の実施の形態にかかる情報処理装置のハードウエア構成を示すブロック図である。
【図2】この発明の実施の形態にかかる情報処理装置の構成を機能的に示すブロック図である。
【図3】この発明の実施の形態にかかる情報処理装置のデータのダウンロードおよびセットアップの内容を示すフローチャートである。
【図4】この発明の実施の形態にかかる情報処理装置のプログラムの起動処理の内容を示すフローチャートである。
【図5】この発明の実施の形態にかかる情報処理装置の解除コード入力画面の一例を示す説明図である。
【図6】この発明の実施の形態にかかる情報処理装置のデータの状態の推移を示す説明図である。
【図7】この発明の実施の形態にかかる情報処置装置のデータ防護処理部の構成を示すブロック図である。
【図8】この発明の実施の形態にかかる情報処理装置のデータ防護処理部の符号化処理の内容を示すフローチャートである。
【図9】この発明の実施の形態にかかる情報処理装置のデータ防護処理部において、防護キー値の加算処理を説明するための説明図である。
【図10】この発明の実施の形態にかかる情報処理装置の符号化処理によって得られるバイトデータ列の一例を示す説明図である。
【図11】この発明の実施の形態にかかる情報処置装置のデータ防護処理部の別の構成を示すブロック図である。
【図12】この発明の実施の形態にかかる情報処理装置のデータ防護処理部の復号化処理の内容を示すフローチャートである。
【符号の説明】
100 バス
101 CPU
102 ROM
103 RAM
104 HDD
105 HD
106 FDD
107 FD
108 ディスプレイ
109 I/F
110 通信回線
111 キーボード
112 マウス
113 スキャナ
114 プリンタ
115 タイマー
201 圧縮データ受信部
202 圧縮データ読取部
203 解凍処理部
204 データ記憶部
205 タイマー設定部
206 PCタイマー
207 判断部
208 入力部
209 解除コード処理部
210 起動処理部
211 データ防護処理部
212 表示部
500 解除キー入力画面
701 第1バッファ
702 防護キー付加位置判定部
703 防護キー付加処理部
704 第2バッファ
705,1105 付加条件/付加範囲/防護キー記憶部
1101 第3バッファ
1102 防護キー除去位置判定部
1103 防護キー除去処理部
1104 第4バッファ

Claims (13)

  1. データを記憶する記憶手段と、
    現在日時を取得する日時取得手段と、
    前記記憶手段に記憶するデータを受信する受信手段と、
    前記受信手段によって受信したデータから、当該データに対して受信時に付与された受信日時に関する情報を取得する受信日時取得手段と、
    前記受信日時取得手段によって取得された前記データの受信日時と、前記日時取得手段によって取得した現在日時とに所定時間以上の違いがあるか否かを判断する受信日時判断手段と、
    前記受信日時判断手段によって前記受信日時と現在日時とに所定時間以上の違いがないと判断された場合に、前記日時取得手段によってあらたに取得した現在日時を、前記データの一部に書き込む書き込み手段と、
    前記書き込み手段によって書き込まれた現在日時からの経過時間を計時する計時手段と、
    前記計時手段によって計時された経過時間が、あらかじめ設定された期限を経過しているか否かを判断する期限判断手段と、
    前記期限判断手段によって前記期限を経過したと判断された場合に、前記記憶手段によって記憶されたデータの全部または一部であって、連続するディジタルデータを順次読み込む第1の読込手段と、
    前記第1の読込手段によって読み込まれたディジタルデータが所定の連続パターンの配列であるか否かを判定する第1の判定処理手段と、
    前記第1の判定処理手段によって判定された結果、前記所定の連続パターンの配列であると判定されたディジタルデータの後に連続する所定数のディジタルデータの全部または一部に対して、所定の値を加算または減算し、当該加算または減算より前記ディジタルデータが所定のデータ量が増減した場合は、増減分のデータを演算結果とする第1の演算処理手段と、
    前記第1の演算処理手段によって演算処理されたデータを前記記憶手段へ出力する第1の出力手段と、
    を備えることを特徴とする情報処理装置。
  2. 前記記憶手段は、記憶されていた前記データに、第1の出力手段によって出力されたデータを上書きすることを特徴とする請求項1に記載の情報処理装置。
  3. コードを入力する入力手段と、
    前記入力手段によって入力されたコードが所定のコードであるか否かを判断するコード判断手段と、
    前記コード判断手段による判断の結果、前記入力手段によって入力されたコードが所定のコードであると判断された場合に、前記記憶手段によって記憶された、前記第1の出力手段によって出力されたデータの全部または一部であって、前記連続するディジタルデータを順次読み込む第2の読込手段と、
    前記第2の読込手段によって読み込まれたディジタルデータが前記所定の連続パターンの配列であるか否かを判定する第2の判定処理手段と、
    前記第2の判定処理手段によって判定された結果、前記所定の連続パターンの配列であると判定されたディジタルデータの後に連続する前記所定数のディジタルデータの全部または一部に対して、前記所定の値を減算または加算し、当該減算または加算より前記ディジタルデータが所定のデータ量が増減した場合は、増減分のデータを演算結果とする第2の演算処理手段と、
    前記第2の演算処理手段によって演算処理されたデータを前記記憶手段へ出力する第2の出力手段と、
    を備えたことを特徴とする請求項1または2に記載の情報処理装置。
  4. 前記記憶手段は、記憶されていた前記第1の出力手段から出力されたデータに、前記第2の出力手段によって出力されたデータを上書きすることを特徴とする請求項3に記載の情報処理装置。
  5. さらに、前記記憶手段に記憶するデータであって圧縮されたデータを受信または読み取るデータ取得手段と、
    前記データ取得手段によって受信または読み取られたデータの解凍処理をおこなう解凍手段と、を備え、
    前記受信日時判断手段は、前記解凍手段によって前記データの解凍処理がおこなわれた日時と、前記日時取得手段によって取得した現在日時とに所定時間以上の違いがあるか否かを判断することを特徴とする請求項1〜4のいずれか一つに記載の情報処理装置。
  6. 前記第1の演算処理手段および前記第2の演算処理手段は、所定の連続パターンの配列からなる8ビットのバイナリーコードを前記所定の値として、加算または減算の対象となるディジタルデータに順次加算または減算することを特徴とする請求項3または4に記載の情報処理装置。
  7. 受信手段と、受信日時判断手段と、日時取得手段と、日時取得手段と、受信日時判断手段と、書き込み手段と、期限判断手段と、第1の読込手段と、第1の判定処理手段と、第1の演算処理手段と、第1の出力手段と、を備えた情報処理装置の記憶手段に記憶されたデータの使用期限を制御するデータ使用期限制御方法において、
    前記受信手段が、前記記憶手段に記憶するデータを受信する受信工程と、
    前記受信日時取得手段が、前記受信工程によって受信したデータから、当該データに対して受信時に付与された受信日時に関する情報を取得する受信日時取得工程と、
    前記日時取得手段が、現在日時を取得する日時取得工程と、
    前記受信日時判断手段が、前記受信日時取得工程によって取得された前記データの受信日時と、前記日時取得工程によって取得した現在日時とに所定時間以上の違いがあるか否かを判断する受信日時判断工程と、
    前記受信日時判断手段によって前記受信日時と現在日時とに所定時間以上の違いがないと判断された場合に、前記書き込み手段が、前記日時取得工程によってあらたに取得した現在日時を、前記データの一部に書き込む書き込み工程と、
    前記計時手段が、前記書き込み手段によって書き込まれた現在日時からの経過時間を計時する計時工程と、
    前記期限判断手段が、前記計時工程によって計時された経過時間が、あらかじめ設定された期限を経過しているか否かを判断する期限判断工程と、
    前記期限判断工程によって前記期限を経過したと判断された場合に、前記第1の読込手段が、前記期限を経過したときまたは前記期限経過後に、前記記憶手段に記憶されていたデータの全部または一部であって、連続するディジタルデータを順次読み込む第1の読込工程と、
    前記第1の判定処理手段が、前記第1の読込工程によって読み込まれたディジタルデータが所定の連続パターンの配列であるか否かを判定する第1の判定工程と、
    前記第1の判定工程によって判定された結果、前記第1の演算手段が、前記所定の連続パターンの配列であると判定されたディジタルデータの後に連続する所定数のディジタルデータの全部または一部に対して、所定の値を加算または減算し、当該加算または減算より前記ディジタルデータが所定のデータ量が増減した場合は、増減分のデータを最下位のデータに加算または減算する第1の演算工程と、
    前記第1の演算工程によって演算処理されたデータを前記第1の出力手段が、前記記憶手段へ出力する第1の出力工程と、
    を含んだことを特徴とするデータ使用期限制御方法。
  8. 前記記憶手段に記憶されていた前記データに、前記第1の出力工程によって出力されたデータを上書きすることを特徴とする請求項7に記載のデータ使用期限制御方法。
  9. 前記情報処理装置は、さらに入力手段と、コード判断手段と、第2の読込手段と、第2の判定手段と、第2の演算手段と、第2の出力手段とを備え、
    前記入力手段が、コードを入力する入力工程と、
    前記コード判断手段が、前記入力工程によって入力されたコードが所定のコードであるか否かを判断するコード判断工程と、
    前記コード判断工程による判断の結果、前記入力工程によって入力されたコードが所定のコードであると判断された場合に、前記第2の読込手段が、前記記憶手段によって記憶された、前記第1の出力工程によって出力されたデータの全部または一部であって、前記連続するディジタルデータを順次読み込む第2の読込工程と、
    前記第2の判定手段が、前記第2の読込工程によって読み込まれたディジタルデータが前記所定の連続パターンの配列であるか否かを判定する第2の判定工程と、
    前記第2の判定工程によって判定された結果、前記第2の演算手段が、前記所定の連続パターンの配列であると判定されたディジタルデータの後に連続する前記所定数のディジタルデータの全部または一部に対して、前記所定の値を減算または加算し、当該減算または加算より前記ディジタルデータが所定のデータ量が増減した場合は、増減分のデータを演算結果とする第2の演算工程と、
    前記第2の出力手段が、前記第2の演算工程によって演算処理されたデータを前記記憶手段へ出力する第2の出力工程と、
    を含んだことを特徴とする請求項7または8に記載のデータ使用期限制御方法。
  10. 前記記憶手段に記憶されていた前記第1の出力工程によって出力されたデータに、前記第2の出力工程によって出力されたデータを上書きすることを特徴とする請求項9に記載のデータ使用期限制御方法。
  11. さらに、前記情報処理装置は、データ取得手段と、解凍手段と、を備え、
    前記データ取得手段が、前記記憶手段に記憶するデータであって圧縮されたデータを受信または読み取るデータ取得工程と、
    前記解凍手段が、前記データ取得工程によって受信または読み取られたデータの解凍処理をおこなう解凍工程と、
    を含み、
    前記受信日時判断工程は、前記解凍工程によって前記データの解凍処理がおこなわれた日時と、前記日時取得工程によって取得した現在日時とに所定時間以上の違いがあるか否かを判断することを特徴とする請求項7〜10のいずれか一つに記載のデータ使用期限制御方法。
  12. 前記第1の演算工程および前記第2の演算工程は、所定の連続パターンの配列からなる8ビットのバイナリーコードを前記所定の値として、加算または減算の対象となるディジタルデータに順次加算または減算することを特徴とする請求項9または10に記載のデータ使用期限制御方法。
  13. 前記請求項7〜12のいずれか一つに記載された方法をコンピュータに実行させるプログラムを記録したことを特徴とするコンピュータ読み取り可能な記録媒体。
JP2000377791A 2000-12-12 2000-12-12 情報処理装置、データ使用期限制御方法およびその方法をコンピュータに実行させるプログラムを記録したコンピュータ読み取り可能な記録媒体 Expired - Fee Related JP3979782B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2000377791A JP3979782B2 (ja) 2000-12-12 2000-12-12 情報処理装置、データ使用期限制御方法およびその方法をコンピュータに実行させるプログラムを記録したコンピュータ読み取り可能な記録媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000377791A JP3979782B2 (ja) 2000-12-12 2000-12-12 情報処理装置、データ使用期限制御方法およびその方法をコンピュータに実行させるプログラムを記録したコンピュータ読み取り可能な記録媒体

Publications (2)

Publication Number Publication Date
JP2002182762A JP2002182762A (ja) 2002-06-26
JP3979782B2 true JP3979782B2 (ja) 2007-09-19

Family

ID=18846462

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000377791A Expired - Fee Related JP3979782B2 (ja) 2000-12-12 2000-12-12 情報処理装置、データ使用期限制御方法およびその方法をコンピュータに実行させるプログラムを記録したコンピュータ読み取り可能な記録媒体

Country Status (1)

Country Link
JP (1) JP3979782B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005033333A (ja) 2003-07-08 2005-02-03 Toshiba Corp 画像形成システムおよび画像形成装置の制御方法
JP4994970B2 (ja) * 2006-08-21 2012-08-08 株式会社リコー 画像処理システム、画像処理装置、プログラム管理方法及びプログラムを管理する管理プログラム
JP5064348B2 (ja) * 2008-09-26 2012-10-31 京セラ株式会社 電子機器
JP5372843B2 (ja) * 2010-06-18 2013-12-18 武史 藤田 コンテンツ利用装置及びプログラム

Also Published As

Publication number Publication date
JP2002182762A (ja) 2002-06-26

Similar Documents

Publication Publication Date Title
US7203313B2 (en) Protecting decrypted compressed content and decrypted decompressed content at a digital rights management client
EP1366404B1 (en) Digital data protection arrangement
EP2437196A1 (en) Secure module and information processing apparatus
US20020049881A1 (en) Information processing apparatus, information processing apparatus control method and storage medium
JP4596538B2 (ja) 情報処理装置、記録媒体、およびプログラム
US20090183229A1 (en) License Authentication Device and License Authentication Method
EP1072979A2 (en) Method of monitoring runtime usage of demo evaluation software
US20070101131A1 (en) Trusted store tamper detection
JP3979782B2 (ja) 情報処理装置、データ使用期限制御方法およびその方法をコンピュータに実行させるプログラムを記録したコンピュータ読み取り可能な記録媒体
JP4728650B2 (ja) ソフトウェアプロテクト方法及びソフトウェアプロテクト機能を有する事務コンピュータ
CA2840158C (en) Information processing device, control method therefor, program, and information storage medium
JP2007065953A (ja) データ管理システム及びデータ管理のための消滅プログラム
JP4638158B2 (ja) 著作権保護システム
WO2003075132A2 (en) Protecting computer software
JP3990863B2 (ja) Cd−rom、cd−romドライブ装置、情報処理装置、cd−rom作成方法、cd−rom読出方法およびそれらの方法をコンピュータに実行させるプログラムを記録したコンピュータ読み取り可能な記録媒体
JP2005352902A (ja) 情報処理装置及びその制御方法
JP2007012022A (ja) セキュリティプログラム及びセキュリティシステム
JP4510368B2 (ja) 著作権保護システム及び該プログラムを記録した記録媒体
WO2018053988A1 (zh) 安全输入系统、方法及智能终端、存储介质
JP2007334821A (ja) アプリケーション保護装置、アプリケーション保護方法およびアプリケーション保護プログラム
JP4013747B2 (ja) 情報処理装置およびプログラム
JP2002116834A (ja) ソフトウェアの使用許諾方法と使用許諾システム及びコンピュータ読み取り可能な記録媒体
JP2007188324A (ja) データの不正使用防止方法
JP2004240748A (ja) 出力データ処理装置およびプログラム
JP4647768B2 (ja) 補助記憶装置制御回路、ideコントローラ、scsiコントローラ、usbコントローラ、マルチi/oコントローラ、情報処理装置、補助記憶装置制御方法およびその方法をコンピュータに実行させるプログラムを記録したコンピュータ読み取り可能な記録媒体

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20041105

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20060707

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20060719

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20061010

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20061206

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070306

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070420

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20070529

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070626

R150 Certificate of patent or registration of utility model

Ref document number: 3979782

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100706

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100706

Year of fee payment: 3

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100706

Year of fee payment: 3

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100706

Year of fee payment: 3

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100706

Year of fee payment: 3

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130706

Year of fee payment: 6

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees