JP4949911B2 - Real time calibration method of clock in software protection device - Google Patents
Real time calibration method of clock in software protection device Download PDFInfo
- Publication number
- JP4949911B2 JP4949911B2 JP2007096482A JP2007096482A JP4949911B2 JP 4949911 B2 JP4949911 B2 JP 4949911B2 JP 2007096482 A JP2007096482 A JP 2007096482A JP 2007096482 A JP2007096482 A JP 2007096482A JP 4949911 B2 JP4949911 B2 JP 4949911B2
- Authority
- JP
- Japan
- Prior art keywords
- time
- protection device
- software protection
- host
- clock
- 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
Links
- 238000000034 method Methods 0.000 title claims description 17
- 238000012545 processing Methods 0.000 claims description 5
- 230000002159 abnormal effect Effects 0.000 claims description 2
- 230000005856 abnormality Effects 0.000 claims description 2
- 238000005259 measurement Methods 0.000 description 1
Images
Description
本発明は一般にコンピューターのセキュリティ分野に関する。より詳細には、ソフトウェア保護デバイスにおける時計のリアルタイム校正方法に関する。 The present invention relates generally to the field of computer security. More particularly, it relates to a method for real-time calibration of a clock in a software protection device.
コンピューターソフトウェアの著作権に対する保護がますます重視される昨今、新しいソフトウェア保護製品は続々と登場し、機能面とセキュリティレベルは段々と高められつつあるソフトウェア製品自身は、ソフトウェア保護製品に対して様々なニーズがあり、時限制限の要求もある。例えば、ソフトウェアのレンタル、試用、分割払いなどである。これによって、ソフトウェア保護製品は、時間の計測機能が要求される。 With the ever-increasing importance of protecting computer software copyrights, new software protection products are appearing one after another, and software products themselves are becoming increasingly functional and secure. There is a need, and there is a demand for a time limit. For example, software rental, trial use, installment payment, etc. As a result, the software protection product requires a time measurement function.
現在、バッテリを使用するソフトウェア保護装置はある。この種の保護装置は、ソフトウェアの開発の面において、非常に優れた利便性を有するが、バッテリを備えなければならないため、ある程度このソフトウェア保護装置の実用性を制限した。バッテリの使用寿命はいろいろな要因によって影響され、高温又は多湿の環境はバッテリの寿命を短縮させることになる。それに、バッテリ自身の容量も長い年月の使用を果たすことができない。 Currently, there are software protection devices that use batteries. This type of protection device has very good convenience in terms of software development, but since it must be equipped with a battery, the practicality of this software protection device has been limited to some extent. The service life of a battery is affected by various factors, and a high temperature or high humidity environment will shorten the battery life. In addition, the capacity of the battery itself cannot be used for many years.
以上に鑑みて、従来技術の欠点を克服するものが必要とされている。本発明は、このような状況に鑑みてなされたもので、その目的とするものは、ソフトウェアの保護装置における時計のリアルタイム校正方法を提供することにある。 In view of the above, what is needed is a solution to overcome the disadvantages of the prior art. The present invention has been made in view of such a situation, and an object thereof is to provide a real-time calibration method for a timepiece in a software protection device.
前記技術問題を解決するため、下記するステップを含む方法を提供する。 In order to solve the technical problem, a method including the following steps is provided.
ソフトウェア保護装置に電源を投入する時、当該装置内に保存されている時刻から、引続き装置内の時間を累計するステップ1と、所定の時間間隔おきに当該装置内の時刻値を更新し、新たな時刻値を当該装置内の保存エリアに保存するステップ2と、ホストコンピューターが前記保護装置にアクセスする時に、時間校正を行うためにホストのシステム時間を前記装置に転送するステップ3と、前記前記装置内に保存された時間に基づき、ソフトウェア保護操作を実行するステップ4を含むソフトウェア保護装置における時計のリアルタイム校正方法である。 When power is turned on to the software protection device, Step 1 for continuously accumulating the time in the device from the time stored in the device, and updating the time value in the device at predetermined time intervals, Storing a time value in a storage area in the device, transferring a host system time to the device for time calibration when a host computer accesses the protection device, and A method for real-time calibration of a clock in a software protection device comprising step 4 of performing a software protection operation based on a time stored in the device.
前記ステップ3において、ホストコンピューターが前記装置をアクセスする際に、前記装置において、ホストコンピューターが前記装置をアクセスする際、前記装置の内部で、ホストのシステム時間が正当であるかを判断する。正当である場合、ホストの時間を前記装置に保存するが、不正である場合、異常処理操作を実行する。 In the step 3, when the host computer accesses the device, the device determines whether the host system time is valid within the device when the host computer accesses the device. If it is valid, the time of the host is stored in the device, but if it is invalid, an abnormal processing operation is executed.
ホストの時間と前記ソフトウェア保護装置内の時間と比較して、ホストのシステム時間は装置内の時間より進んでいる場合、又は、装置内の時間より所定の誤差の範囲内に遅れている場合、正当と判定し、そうでない場合は不正と判定することによって、前記ホストのシステム時間が正当であるか否かを判断する。 When the host system time is ahead of the time in the device or the time within the predetermined error range compared with the time in the software protection device and the time in the software protection device, If it is determined that the system time of the host is valid, it is determined that the host system is valid.
前記ステップ4におけるソフトウェア保護操作は、操作において時間情報を付加えて、また/且つ前記保護装置内の時間を利用して操作のコントロールを行うことを含む。 The software protection operation in Step 4 includes adding time information in the operation and / or controlling the operation using the time in the protection device.
前記ステップ2において、当該装置内の現在時間を所定の時間間隔おきに、前記装置内の不揮発の保存エリアに保存することによって、前記装置内の時間を更新することができる。 In the step 2, the time in the device can be updated by storing the current time in the device at a predetermined time interval in a nonvolatile storage area in the device.
保護装置内の時間を利用して実行する操作のコントロールは、装置内の複数のソフトウェアモジュールに応じて複数の時間制限を設定し、持続的に更新されている前記装置内の時間を時間制限値と比較することによって、対応の操作を実行する。 The control of the operation to be executed using the time in the protection device sets a plurality of time limits according to a plurality of software modules in the device, and the time in the device that is continuously updated is a time limit value. The corresponding operation is executed by comparing with.
保護装置において、時間を累計するクロックの元は当該装置自身のクロック周波数を採用する。 In the protection device, the clock frequency of the device itself is adopted as the clock source for accumulating the time.
本発明は、ソフトウェア保護装置の内部プロセッサーのクロック周波数を利用して、外部時間に近い近似値を累計する。そして、使用時にホストコンピューター側からリアルタイム時刻を読み込むことにより、持続的に装置内の時計を校正し、比較的に正確な装置内のカレンダー時間を確保する。ソフトウェア開発者が期限を制限する機能を満たせるほか、バッテリの使用寿命に制約されることもなく、高温や多湿の環境の中でも、正常に使用することはできる。従って、ソフトウェア保護装置自身の使用寿命は時間的な制約をうけなくなった。 The present invention accumulates approximate values close to the external time using the clock frequency of the internal processor of the software protection device. Then, by reading the real-time time from the host computer side during use, the clock in the apparatus is continuously calibrated to ensure a relatively accurate calendar time in the apparatus. In addition to being able to satisfy the functions that limit the time limit for software developers, it is not limited by the service life of the battery, and can be used normally even in high temperature and high humidity environments. Therefore, the service life of the software protection device itself is not subject to time constraints.
以下、図面を参照して、本発明を適用できる実施形態を詳細に説明する。 Embodiments to which the present invention can be applied will be described below in detail with reference to the drawings.
本発明を実現できる前記ソフトウェア保護装置を以下「時計錠」と称する。 The software protection device capable of realizing the present invention is hereinafter referred to as “clock lock”.
本発明の一実施例によれば、図1に示されるように、まず、前記時計錠に電源を投入する時、時計錠内に保存されている時刻値から時間を累計する(ステップ101);所定の時間間隔おきに、保護装置内の時刻値を更新し、更新後の新しい時刻値を装置内の保存エリアに保存する(ステップ102)、当該ステップにおいて、時計錠内の時計は、電源が切られるまで、持続的に更新を行い、時計錠内の時計の運行を維持する。時計錠内の計数は当該時計錠に電源を投入してから開始し、累計して計数を実行し、持続的に更新されたデーターを保存エリアに書き込む。ホストコンピューターは前記時計錠にアクセス際(ステップ103)、前記時計錠はホストコンピューターからのリアル時刻値を取得する(ステップ104)。ホスト側はホストコンピューターのシステム時間を時計錠に転送し、時計錠は実際のシステム時間を取得した後、ステップ105でホストコンピューターのシステム時間は正常であるか、不正な改ざんがあるか否かについて判断を行う。YESの場合、ステップ113に移り、異常処理操作を実行するが、NOの場合は、ステップ106に入り、正常なホストコンピューターのシステム時間をもって、時計錠内のカレンダー時間を校正する。例えば、ホストコンピューターが時計錠にアクセスする都度、現在のホストシステム時間を時計錠内のシステム時間と比較し、ホストのシステム時間は時計錠内のシステム時間より遅れている場合、不正使用と判定して、エラーフラッグ・バイトをセットするなどの異常処理を行う。そうでない場合、ホストシステム時間をもって、時計錠内の時間を校正して、時計錠の時間をホストシステム時間と同期させる。
According to one embodiment of the present invention, as shown in FIG. 1, first, when power is applied to the timepiece lock, the time is accumulated from the time value stored in the timepiece lock (step 101); At a predetermined time interval, the time value in the protection device is updated, and the updated new time value is stored in the storage area in the device (step 102). Until it is cut off, it is continuously updated and the clock in the clock lock is maintained. Counting in the clock lock is started after the clock lock is turned on, and the counting is cumulatively performed, and continuously updated data is written in the storage area. When the host computer accesses the clock lock (step 103), the clock lock acquires a real time value from the host computer (step 104). The host side transfers the system time of the host computer to the clock lock, and the clock lock obtains the actual system time, and then in
そして、ホストのシステム時間は時計錠内システム時間より進んでいる場合は、時計錠はこのクロックの元から増量を取得し(ステップ107)、増加した数値を時計錠内現在のカレンダー時間に累計して(ステップ108)、新たなシステムカレンダー時間を生成する(ステップ109)。アクセスする都度に時計錠内のシステム時間を保存エリアに書き込むと、時間上の無駄が生じるので、所定の間隔、たとえば、5分間の間隔おきに、一回書き込みを行う。この場合、ステップ110で時間の記録が必要かを判断する必要はある。必要と判断した場合、保存エリアの書き込み関数をコールし、現在取得したシステム時間値を保存エリアに書き込んで保存する(ステップ111)。記録する必要がないと判断した場合、ステップ112を実行して、取得した現在時計錠内時間を利用して、ユーザの要求したその他の操作を完成する。時計錠内時間を保存した後も、同様にステップ112を実行し、時計錠内のその他の操作を実行する。
If the host system time is ahead of the system time in the clock lock, the clock lock obtains an increase from the source of this clock (step 107) and accumulates the increased value in the current calendar time in the clock lock. (Step 108), a new system calendar time is generated (step 109). When the system time in the watch lock is written in the storage area every time access is made, time is wasted. Therefore, writing is performed once at a predetermined interval, for example, every 5 minutes. In this case, it is necessary to determine in
上述の方法を通じ、ソフトウェア保護装置はバッテリなしで外部時計に近い、比較的に正確な時計を提供することができる。時計錠内の制御モジュールを利用して、コンピューターのオペレーティング・システムと関連しないクロック源をシミュレーションし、クロック源の精度は最低でも1/1000秒に達することができる。また、時計錠が電源を切った後に錠内のカウンターがカウントしないことによって発生した錠内時間の遅れを解決することができるので、錠内時間をホストコンピューターのシステム時間により近づけることができ、錠内時間を概して基本的に正確に保つことができる。 Through the method described above, the software protection device can provide a relatively accurate clock that is close to an external clock without a battery. The control module in the watch lock is used to simulate a clock source not related to the computer operating system, and the clock source accuracy can reach at least 1/1000 second. Also, since the lock time delay caused by the counter in the lock not counting after the watch lock is turned off can be solved, the lock time can be made closer to the system time of the host computer. The internal time can generally be kept essentially accurate.
また、ソフトウェアのモジュールが別々に使用される状況に応じて、複数の計時ユニットを設けることにより、時計錠の柔軟性を高めることができる。具体的にいうと、時間制限を施す必要のあるモジュールに対して、対応の制限値を設置し、共同で対照比較するためのデータユニットを構成する。時計錠内の時間と各データユニットの比較を通じ、各モジュールの使用状況をコントロールする。 Further, by providing a plurality of timing units according to the situation where the software modules are used separately, the flexibility of the timepiece lock can be increased. More specifically, a corresponding limit value is set for a module that needs to be time-limited, and a data unit for comparing and comparing together is configured. The usage status of each module is controlled by comparing the time in the clock lock and each data unit.
以上をもちまして、本発明の提供するソフトウェア保護装置における時計のリアルタイム校正方法を詳細に説明した。具体的な実施例を利用して、本発明の原理及び実施方式について記載したが、前記実施例の説明は本発明の方法及びその中心的な技術構想に対する理解に役立つためのものである。同時に、当該分野の一般の技術者は、本発明の技術構想に基づき、具体的な実施方式および応用範囲において、変更を行うことがあると考えられる。以上を総じて、本明細書の内容は、本発明に対する限定と理解すべきではない。 As described above, the real-time calibration method of the clock in the software protection apparatus provided by the present invention has been described in detail. While the principles and modes of implementation of the present invention have been described using specific embodiments, the description of the embodiments is intended to assist in understanding the method of the present invention and its central technical concept. At the same time, it is considered that a general engineer in the field may make changes in a specific implementation method and application range based on the technical concept of the present invention. In general, the contents of this specification should not be construed as limitations on the present invention.
Claims (6)
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200610066863.4 | 2006-03-31 | ||
CNB2006100668634A CN100362522C (en) | 2006-03-31 | 2006-03-31 | Real time clock correcting method in soft ware protecter |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2007279037A JP2007279037A (en) | 2007-10-25 |
JP4949911B2 true JP4949911B2 (en) | 2012-06-13 |
Family
ID=36923376
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007096482A Expired - Fee Related JP4949911B2 (en) | 2006-03-31 | 2007-04-02 | Real time calibration method of clock in software protection device |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP4949911B2 (en) |
CN (1) | CN100362522C (en) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101324799B (en) * | 2007-06-11 | 2011-08-17 | 群联电子股份有限公司 | Portable memory device and synchronization method thereof |
CN101436861B (en) * | 2007-11-16 | 2010-12-01 | 中国航天科工集团第二研究院二○三所 | Method for scaling picosecond stage time interval |
CN101261667B (en) * | 2008-04-10 | 2011-05-18 | 北京深思洛克软件技术股份有限公司 | A software protection method |
CN101770557B (en) * | 2008-12-30 | 2011-12-14 | 上海茂碧信息科技有限公司 | Method for calculating service time of software in system |
CN101621384B (en) * | 2009-07-24 | 2012-07-04 | 中兴通讯股份有限公司 | Terminal program timing method and terminal program timing device |
CN102999734B (en) * | 2011-09-19 | 2015-12-02 | 比亚迪股份有限公司 | A kind of computing machine term of life limits method and system |
CN103413070B (en) * | 2013-07-09 | 2016-08-10 | 北京深思数盾科技股份有限公司 | A kind of method and device of local clock calibration |
CN104270360A (en) * | 2014-09-28 | 2015-01-07 | 曙光信息产业股份有限公司 | Implementation method for trusteeship service time mechanism in resource trusteeship protocol |
CN109581859A (en) * | 2018-10-18 | 2019-04-05 | 武汉船舶通信研究所(中国船舶重工集团公司第七二二研究所) | A kind of automatic correcting time method and device |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH1144785A (en) * | 1997-07-26 | 1999-02-16 | Victor Co Of Japan Ltd | Time setting apparatus and decoding device using the same |
EP1084470B1 (en) * | 1998-05-26 | 2003-07-23 | Dow Global Technologies Inc. | Distributed computing environment using real-time scheduling logic and time deterministic architecture |
CN1202450C (en) * | 1999-10-28 | 2005-05-18 | 威盛电子股份有限公司 | Circuit for generating programmable frequency and diflective phase-locked loop clock |
JP4148118B2 (en) * | 2003-12-05 | 2008-09-10 | ヤマハ株式会社 | Electronic music apparatus and program |
-
2006
- 2006-03-31 CN CNB2006100668634A patent/CN100362522C/en not_active Expired - Fee Related
-
2007
- 2007-04-02 JP JP2007096482A patent/JP4949911B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2007279037A (en) | 2007-10-25 |
CN1822017A (en) | 2006-08-23 |
CN100362522C (en) | 2008-01-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4949911B2 (en) | Real time calibration method of clock in software protection device | |
CN105308609B (en) | The system and method for storing event data | |
CN105144185B (en) | Access control device code and system start code | |
US6813571B2 (en) | Apparatus and method for seamlessly upgrading the firmware of an intelligent electronic device | |
TWI549136B (en) | Repairing compromised system data in a non-volatile memory | |
US20130339777A1 (en) | Microprocessor-assisted auto-calibration of voltage regulators | |
US11249689B2 (en) | Memory device resilient to cyber-attacks and malfunction | |
US8086841B2 (en) | BIOS switching system and a method thereof | |
EP4031963B1 (en) | Tracing status of a programmable device | |
US20080256288A1 (en) | Microcomputer, electronic instrument, and flash memory protection method | |
US9092322B2 (en) | Processor system and control method thereof | |
US20210117109A1 (en) | Transparently Attached Flash Memory Security | |
US6480933B1 (en) | Disk cache device and method for secure writing of hard disks in mass memory subsystems | |
JP2008009721A (en) | Evaluation system and evaluation method thereof | |
CN112558884B (en) | Data protection method and NVMe-based storage device | |
US8239637B2 (en) | Byte mask command for memories | |
US8122205B2 (en) | Structured virtual registers for embedded controller devices | |
CN113557500A (en) | Multi-mode protected memory | |
JP2017068490A (en) | License management method and semiconductor device suitable for license management | |
JP2005135063A (en) | Information processor and clock abnormality detecting program for information processor | |
JP2011180963A (en) | Semiconductor integrated circuit device | |
EP4296850A1 (en) | Processing system, related integrated circuit, device and method | |
TWI446351B (en) | Data writing method and computer system | |
CN115292761A (en) | Security chip data protection method, security chip and storage medium | |
CN109740350A (en) | A kind of credible platform control device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20091224 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100309 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100609 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100629 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100928 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20110405 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110805 |
|
RD13 | Notification of appointment of power of sub attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7433 Effective date: 20110808 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20110808 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20110829 |
|
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: 20120207 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20120308 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20150316 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4949911 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
S533 | Written request for registration of change of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313533 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |