(57)【要約】【課題】コンピューターのセキュリティ分野において、特にソフトウェア保護装置における時計のリアルタイム校正方法を提供する。【解決手段】ソフトウェア保護装置の内部プロセッサーのクロック周波数を利用して、外部時間に近い近似値を累計する。そして、使用時にホストコンピューター側から時計のリアルタイムを読み込むことにより、持続的に装置内の時計を校正し、比較的に正確な装置内のカレンダー時間を確保する。ソフトウェア開発者が期限を制限する機能を満たせるほか、バッテリの使用寿命に制約されることもなく、高温や多湿の環境の中でも、正常に使用することはできる。従って、ソフトウェア保護装置自身の使用寿命は時間的な制約をうけなくなった。【選択図】図１
2007279037.tif 000002
【特許請求の範囲】
【請求項１】
ソフトウェア保護装置における時計のリアルタイム校正方法において、前記ソフトウェア保護装置に電源を投入する時、当該装置内に保存されている時刻値から、引続き装置内の時間を累計するステップ１と、所定の時間間隔おきに当該装置内の時刻値を更新し、新たな時刻値を当該装置内の保存エリアに保存するステップ２と、ホストコンピューターが前記保護装置にアクセスする時に、時間校正を行うためにホストのシステム時間を前記装置に転送するステップ３と、前記装置内に保存された時間に基づき、ソフトウェア保護操作を実行するステップ４を含むことを特徴とする時計のリアルタイム校正方法。
【請求項２】
ホストコンピューターが前記ソフトウェア保護装置にアクセスする時に、時間校正を行うためにホストのシステム時間を前記装置に転送する前記ステップ３において、ホストコンピューターが前記装置をアクセスする際、前記装置の内部で、ホストのシステム時間が正当であるかを判断する。正当である場合、ホストの時間を前記装置に保存するが、不正である場合、異常処理操作を実行することを特徴とする請求項１に記載の時計のリアルタイム校正方法。
【請求項３】
ホストの時間と前記ソフトウェア保護装置内の時間と比較して、ホストのシステム時間は装置内の時間より進んでいる場合、又は、装置内の時間より所定の誤差の範囲内に遅れている場合、正当と判定し、そうでない場合は不正と判定することによって、前記ホストのシステム時間が正当であるか否かを判断することを特徴とする請求項２に記載の時計のリアルタイム校正方法。
【請求項４】
前記ソフトウェア保護装置内に保存された時間に基づき、ソフトウェア保護操作を実行する前記ステップ４におけるソフトウェア保護操作は、操作において時間情報を付加えて、また／且つ前記保護装置内の時間を利用して操作のコントロールを行うことを含むことを特徴とする請求項１、請求項２又は請求項３のいずれか１項に記載の時計のリアルタイム校正方法。
【請求項５】
所定の時間間隔おきにソフトウェア保護装置内の時刻値を更新し、新たな時刻値を当該装置内の保存エリアに保存する前記ステップ２において、当該装置内の現在時間を所定の時間間隔おきに、前記装置内の不揮発の保存エリアに保存することによって、前記装置内の時間を更新することを特徴とする請求項１、請求項２又は請求項３のいずれか１項に記載の時計のリアルタイム校正方法。
【請求項６】
前記ソフトウェア保護装置内の時間を利用して実行する操作のコントロールは、装置内の複数のソフトウェアモジュールに応じて複数の時間制限を設定し、持続的に更新されている前記装置内の時間を時間制限値と比較することによって、対応の操作を実行することを特徴とする請求項４に記載の時計のリアルタイム校正方法。
【請求項７】
前記ソフトウェア保護装置において、時間を累計するクロックの元は当該装置自身のクロック周波数を採用することを特徴とする請求項１、請求項２又は請求項３のいずれか１項に記載の時計のリアルタイム校正方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は一般にコンピューターのセキュリティ分野に関する。より詳細には、ソフトウェア保護デバイスにおける時計のリアルタイム校正方法に関する。
【背景技術】
【０００２】
コンピューターソフトウェアの著作権に対する保護がますます重視される昨今、新しいソフトウェア保護製品は続々と登場し、機能面とセキュリティレベルは段々と高められつつあるソフトウェア製品自身は、ソフトウェア保護製品に対して様々なニーズがあり、時限制限の要求もある。例えば、ソフトウェアのレンタル、試用、分割払いなどである。これによって、ソフトウェア保護製品は、時間の計測機能が要求される。
【０００３】
現在、バッテリを使用するソフトウェア保護装置はある。この種の保護装置は、ソフトウェアの開発の面において、非常に優れた利便性を有するが、バッテリを備えなければならないため、ある程度このソフトウェア保護装置の実用性を制限した。バッテリの使用寿命はいろいろな要因によって影響され、高温又は多湿の環境はバッテリの寿命を短縮させることになる。それに、バッテリ自身の容量も長い年月の使用を果たすことができない。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
以上に鑑みて、従来技術の欠点を克服するものが必要とされている。本発明は、このような状況に鑑みてなされたもので、その目的とするものは、ソフトウェアの保護装置における時計のリアルタイム校正方法を提供することにある。
【課題を解決するための手段】
【０００５】
前記技術問題を解決するため、下記するステップを含む方法を提供する。
【０００６】
ソフトウェア保護装置に電源を投入する時、当該装置内に保存されている時刻から、引続き装置内の時間を累計するステップ１と、所定の時間間隔おきに当該装置内の時刻値を更新し、新たな時刻値を当該装置内の保存エリアに保存するステップ２と、ホストコンピューターが前記保護装置にアクセスする時に、時間校正を行うためにホストのシステム時間を前記装置に転送するステップ３と、前記前記装置内に保存された時間に基づき、ソフトウェア保護操作を実行するステップ４を含むソフトウェア保護装置における時計のリアルタイム校正方法である。
【０００７】
前記ステップ３において、ホストコンピューターが前記装置をアクセスする際に、前記装置において、ホストコンピューターが前記装置をアクセスする際、前記装置の内部で、ホストのシステム時間が正当であるかを判断する。正当である場合、ホストの時間を前記装置に保存するが、不正である場合、異常処理操作を実行する。
【０００８】
ホストの時間と前記ソフトウェア保護装置内の時間と比較して、ホストのシステム時間は装置内の時間より進んでいる場合、又は、装置内の時間より所定の誤差の範囲内に遅れている場合、正当と判定し、そうでない場合は不正と判定することによって、前記ホストのシステム時間が正当であるか否かを判断する。
【０００９】
前記ステップ４におけるソフトウェア保護操作は、操作において時間情報を付加えて、また／且つ前記保護装置内の時間を利用して操作のコントロールを行うことを含む。
【００１０】
前記ステップ２において、当該装置内の現在時間を所定の時間間隔おきに、前記装置内の不揮発の保存エリアに保存することによって、前記装置内の時間を更新することができる。
【００１１】
保護装置内の時間を利用して実行する操作のコントロールは、装置内の複数のソフトウェアモジュールに応じて複数の時間制限を設定し、持続的に更新されている前記装置内の時間を時間制限値と比較することによって、対応の操作を実行する。
【００１２】
保護装置において、時間を累計するクロックの元は当該装置自身のクロック周波数を採用する。
【００１３】
本発明は、ソフトウェア保護装置の内部プロセッサーのクロック周波数を利用して、外部時間に近い近似値を累計する。そして、使用時にホストコンピューター側からリアルタイム時刻を読み込むことにより、持続的に装置内の時計を校正し、比較的に正確な装置内のカレンダー時間を確保する。ソフトウェア開発者が期限を制限する機能を満たせるほか、バッテリの使用寿命に制約されることもなく、高温や多湿の環境の中でも、正常に使用することはできる。従って、ソフトウェア保護装置自身の使用寿命は時間的な制約をうけなくなった。
【発明を実施するための最良の形態】
【００１４】
以下、図面を参照して、本発明を適用できる実施形態を詳細に説明する。
【００１５】
本発明を実現できる前記ソフトウェア保護装置を以下「時計錠」と称する。
【００１６】
本発明の一実施例によれば、図１に示されるように、まず、前記時計錠に電源を投入する時、時計錠内に保存されている時刻値から時間を累計する（ステップ101）；所定の時間間隔おきに、保護装置内の時刻値を更新し、更新後の新しい時刻値を装置内の保存エリアに保存する（ステップ102）、当該ステップにおいて、時計錠内の時計は、電源が切られるまで、持続的に更新を行い、時計錠内の時計の運行を維持する。時計錠内の計数は当該時計錠に電源を投入してから開始し、累計して計数を実行し、持続的に更新されたデーターを保存エリアに書き込む。ホストコンピューターは前記時計錠にアクセス際（ステップ103）、前記時計錠はホストコンピューターからのリアル時刻値を取得する（ステップ104）。ホスト側はホストコンピューターのシステム時間を時計錠に転送し、時計錠は実際のシステム時間を取得した後、ステップ105でホストコンピューターのシステム時間は正常であるか、不正な改ざんがあるか否かについて判断を行う。YESの場合、ステップ113に移り、異常処理操作を実行するが、NOの場合は、ステップ106に入り、正常なホストコンピューターのシステム時間をもって、時計錠内のカレンダー時間を校正する。例えば、ホストコンピューターが時計錠にアクセスする都度、現在のホストシステム時間を時計錠内のシステム時間と比較し、ホストのシステム時間は時計錠内のシステム時間より遅れている場合、不正使用と判定して、エラーフラッグ・バイトをセットするなどの異常処理を行う。そうでない場合、ホストシステム時間をもって、時計錠内の時間を校正して、時計錠の時間をホストシステム時間と同期させる。
【００１７】
そして、ホストのシステム時間は時計錠内システム時間より進んでいる場合は、時計錠はこのクロックの元から増量を取得し（ステップ107）、増加した数値を時計錠内現在のカレンダー時間に累計して（ステップ108）、新たなシステムカレンダー時間を生成する（ステップ109）。アクセスする都度に時計錠内のシステム時間を保存エリアに書き込むと、時間上の無駄が生じるので、所定の間隔、たとえば、5分間の間隔おきに、一回書き込みを行う。この場合、ステップ110で時間の記録が必要かを判断する必要はある。必要と判断した場合、保存エリアの書き込み関数をコールし、現在取得したシステム時間値を保存エリアに書き込んで保存する（ステップ111）。記録する必要がないと判断した場合、ステップ112を実行して、取得した現在時計錠内時間を利用して、ユーザの要求したその他の操作を完成する。時計錠内時間を保存した後も、同様にステップ112を実行し、時計錠内のその他の操作を実行する。
【００１８】
上述の方法を通じ、ソフトウェア保護装置はバッテリなしで外部時計に近い、比較的に正確な時計を提供することができる。時計錠内の制御モジュールを利用して、コンピューターのオペレーティング・システムと関連しないクロック源をシミュレーションし、クロック源の精度は最低でも1／1000秒に達することができる。また、時計錠が電源を切った後に錠内のカウンターがカウントしないことによって発生した錠内時間の遅れを解決することができるので、錠内時間をホストコンピューターのシステム時間により近づけることができ、錠内時間を概して基本的に正確に保つことができる。
【００１９】
また、ソフトウェアのモジュールが別々に使用される状況に応じて、複数の計時ユニットを設けることにより、時計錠の柔軟性を高めることができる。具体的にいうと、時間制限を施す必要のあるモジュールに対して、対応の制限値を設置し、共同で対照比較するためのデータユニットを構成する。時計錠内の時間と各データユニットの比較を通じ、各モジュールの使用状況をコントロールする。
【００２０】
以上をもちまして、本発明の提供するソフトウェア保護装置における時計のリアルタイム校正方法を詳細に説明した。具体的な実施例を利用して、本発明の原理及び実施方式について記載したが、前記実施例の説明は本発明の方法及びその中心的な技術構想に対する理解に役立つためのものである。同時に、当該分野の一般の技術者は、本発明の技術構想に基づき、具体的な実施方式および応用範囲において、変更を行うことがあると考えられる。以上を総じて、本明細書の内容は、本発明に対する限定と理解すべきではない。
【図面の簡単な説明】
【００２１】
【図１】本発明のステップを示すフロー図である。
【図１】
2007279037.tif 000003