CN1152363A - 执行加密程序的装置 - Google Patents
执行加密程序的装置 Download PDFInfo
- Publication number
- CN1152363A CN1152363A CN96190418A CN96190418A CN1152363A CN 1152363 A CN1152363 A CN 1152363A CN 96190418 A CN96190418 A CN 96190418A CN 96190418 A CN96190418 A CN 96190418A CN 1152363 A CN1152363 A CN 1152363A
- Authority
- CN
- China
- Prior art keywords
- program
- encipheror
- cache
- decrypted
- deciphering
- 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.)
- Granted
Links
- 238000003860 storage Methods 0.000 claims abstract description 16
- 230000002401 inhibitory effect Effects 0.000 claims abstract description 5
- 238000000034 method Methods 0.000 claims description 33
- 230000006870 function Effects 0.000 claims description 30
- 230000005055 memory storage Effects 0.000 claims description 15
- GOLXNESZZPUPJE-UHFFFAOYSA-N spiromesifen Chemical compound CC1=CC(C)=CC(C)=C1C(C(O1)=O)=C(OC(=O)CC(C)(C)C)C11CCCC1 GOLXNESZZPUPJE-UHFFFAOYSA-N 0.000 claims description 9
- 238000004364 calculation method Methods 0.000 claims description 8
- 238000010586 diagram Methods 0.000 description 6
- 230000006386 memory function Effects 0.000 description 6
- 230000005764 inhibitory process Effects 0.000 description 4
- 230000014759 maintenance of location Effects 0.000 description 4
- 239000004065 semiconductor Substances 0.000 description 4
- 238000010276 construction Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000000151 deposition Methods 0.000 description 2
- 230000007717 exclusion Effects 0.000 description 2
- 230000008520 organization Effects 0.000 description 2
- 238000012856 packing Methods 0.000 description 2
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 238000003825 pressing Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
- G06F21/12—Protecting executable software
- G06F21/121—Restricting unauthorised execution of programs
- G06F21/125—Restricting unauthorised execution of programs by manipulating the program code, e.g. source code, compiled code, interpreted code, machine code
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
- G06F21/12—Protecting executable software
- G06F21/121—Restricting unauthorised execution of programs
- G06F21/123—Restricting unauthorised execution of programs by using dedicated hardware, e.g. dongles, smart cards, cryptographic processors, global positioning systems [GPS] devices
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Technology Law (AREA)
- Multimedia (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Remote Sensing (AREA)
- Radar, Positioning & Navigation (AREA)
- Storage Device Security (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
单片微机接收装在存储设备中的加密程序的加密部分,并根据预先存储在ROM中、不能读出到外部总线的解密程序将其解密。解密后的程序存储在超高速缓冲存储器中,并根据解密后的程序在超高速缓冲存储器中的存储区在控制寄存器中设置超高速缓存功能禁止标志。因此,解密后的程序禁止被读出到外部总线。解密后的程序与存储设备中存储的程序非加密部分相结合,并且结合的程序由CPU执行。阻止加密程序被非法拷贝。
Description
本发明涉及装入计算机中执行加密程序的装置或具有解密加密程序并执行被解密程序的功能的类似装置。
由于计算机的广泛应用,最近已设计多种类型的软件,并且它们不管计算机的类型能用作通用目的软件。然而软件的非法拷贝正在增加,因而必须立即采取一些措施来阻止非法拷贝。
作为防止软件被非法拷贝的一种措施,就是拷贝防止方法,即将软件加密并且只有授权用户知道解密程序,加密软件在执行前被解密。
传统加密主要利用软件转换算法来进行。转换算法越复杂,软件的解密便越困难,然而实际上很难建立这样的加密算法。而且,传统的加密方法有以下缺点:解密程序本身被拷贝并对加密软件解密,而后拷贝解密后的程序并加以使用,等等。
提出另一方法,即在传统系统中通过使用口令的软件方法来阻止软件的拷贝。然而该软件方法并非万全之策,不能完全阻止非法拷贝。完整地拷贝该软件是可能的。完整的拷贝与原程序并没有什么区别。
基于以上考虑提出了本发明,其目的是提供一种能阻止加密程序被拷贝和使用的加密程序执行装置。
按照本发明的第一方面,提供一种执行加密程序的装置,用来执行其中至少一部分被加密的加密程序,该装置包括用于存储解密程序的第一存储装置,用于通过利用存储在第一存储装置中的解密程序对加密程序解密的装置,用于存储由解密装置解密的程序的第二存储装置,及用于禁止存储在第二存储装置中解密后的程序被读出的装置。
按照本发明的第二方面,提供一种根据第一方面的被加密的程序,其中解密装置包括一成形于LSI中的CPU,用于执行存储在第一存储装置中的解密程序,及第二存储装置包括一成形于该LSI中的超高速缓冲存储器。
按照本发明的第三方面,提供一种根据第二方面的加密程序,其中禁止装置包括一成形于该LSI中的控制寄存器,当执行解密程序时在其中设置一禁止标志,并且如果禁止标志设置于控制寄存器中则阻止超高速缓冲存储器的超高速缓冲存储功能。
按照本发明的第四方面,提供一种根据第二方面的加密程序,其中禁止装置包括一成形于该LSI中的触发器,当CPU执行指令将解密程序写入超高速缓冲存储器时在其中设置一禁止标志,并且如果禁止标志设置于触发器中则阻止超高速缓冲存储器的超高缓冲存储功能。
按照本发明的第五方面,提供一种按照第二方面的加密程序,它还包括用来输入程序的装置,用来存储该装置的特定信息的第三存储装置;以及在其中当输入装置输入一包括被加密的口令计算程序的程序时,CPU解密口令计算程序,在第二存储器置中存储解密的口令计算程序,使用解密的口令计算程序根据该特定信息计算该口令,并比较计算出的口令和由用户输入的口令。
按照本发明的第六方面,提供一种按照第二方面的加密程序,它还包括用来输入程序的装置;以及在其中当输入装置输入一包括一显示版权要求信息的版权要求程序和一其中至少一部分被加密的处理程序的程序时,CPU解密加密的版权要求程序并显示版权要求信息。
图1是按照本发明的第一实施例表示装有加密程序执行装置的计算机的方框图;
图2是表示按照本发明的第一实施例的加密程序执行顺序的流程图;
图3是表示按照本发明的第二实施例的装有如密程序执行装置的计算机的方框图;
图4是表示按照本发明的第二实施例的加密程序执行顺序的流程图;
图5是表示按照本发明的第三实施例的装有加密程序执行装置的计算机的方框图;
图6是表示按照本发明的第三实施例的加密程序执行顺序的流程图;
图7是表示按照本发明的第四实施例的装有加密程序执行装置的计算机的方框图;
图8是表示按照本发明的第四实施例的加密程序执行顺序的流程图。
现在将参照附图说明按照本发明的加密程序执行装置的优选实施例。
图1是按照本发明的第一实施例的装有加密程序执行装置的计算机的完整结构方框图。该计算机包括单片微机10和外部存储设备15。单片微机10包括CPU(中央处理器)11,用来控制整个装置。CPU11按照预先存储于内部ROM(只读存储器)12中的程序控制计算机中各个电路的运行。单片微机10还包括超高速缓冲存储器13和用于存储控制超高速缓冲存储器13的超高速缓冲存储功能的控制数据的控制寄存器14。ROM12和超高速缓冲存储器13通过由数据总线、地址总线和控制总线形成的系统总线16与CPU11相连接。
超高速缓冲存储器13这样构成,以便按照控制寄存器14里存储的和一存储区相应的一置“1”或复位“0”标志来禁止或允许该存储区的超高速缓冲存储功能(数据的清除和写入)。当给定区的超高速缓冲存储功能被禁止时,该区存储的数据可为常驻数据。CPU设置和重新设置该标志。
单片微机10的系统总线16经-I/O缓冲器17与存储设备15相连。I/O缓冲器17和存储设备15之间的一部分总线称为外部总线。存储设备15存储两种程序,它们包括必须在执行前被解密的加密程序和非加密程序。不必对整个程序加密,只对至少一部分程序加密便够了。存储设备15不限于半导体存储设备,也可是存储器卡,硬盘驱动器和软盘驱动器。从网络上下载程序到存储设备15也是可能的。
当CPU11读取存储设备15中存储的程序时,它按该程序进行控制操作。ROM12中预先写入一解密程序。当读取加密程序时,该程序只能在其加密部分被解密后才能执行。解密的程序存储在超高速缓冲存储器13中作为常驻文件。如果从存储设备15读取的程序是非加密程序,CPU11使用超高速缓冲存储器13所有区的超高速缓冲存储功能执行该程序。由于I/O缓冲器17连接于系统总线16和外部总线(存储设备15)之间,因而含有解密程序的ROM12内容不能从单片微机10中读出。
现在将按照第一实施例,说明装有上述结构的加密程序执行装置的计算机中执行加密程序的运行。
图2是表明按照第一实施例装有加密程序执行装置的计算机中执行加密程序的过程的流程图。
在步骤S11,必须解密的加密程序装入存储设备15。不管命令、数据和表示加密程序加到程序头或诸如此类上的信息,将整个程序或一部分加密。根据加到程序头或诸如此类上的信息,CPU11确定从存储设备15读出的程序是一加密程序。
在步骤S12,将所读程序的加密部分放入CPU11。在步骤S13,将加密部分解密。
当程序的加密部分装入CPU11时,按照ROM12中存储的解密程序将加密部分解密。在步骤S14将解密后的程序写入超高速缓冲存储器13。
如上所述,由于ROM12的内容不能读出到外部总线,由第三方分析出解密程序的算法是不可能的。
在加密程序的加密部分被解密以及该解密的程序被写入超高速缓冲存储器13之后,在步骤13设置一超高速缓冲存储禁止标志,存储于控制寄存器14中并控制超高速缓冲存储功能,例如在写入该解密后的程序的存储器13的存储区中清除数据。因此,该解密后的程序禁止被读出到外部总线。
写入超高速缓冲存储器13的超高速缓存功能禁止区的解密后的程序与装在存储设备15的加密程序的非加密部分相结合。该结合程序由CPU11执行(步骤S16)。装在存储设备15中的加密程序的加密部分被解密并存储在超高速缓冲存储器13中作为常驻文件,而其非加密部分使用超高速缓冲存储器13的剩余部分通过正常超高速缓存功能来执行。
当加密程序不必执行时,清除超高速缓冲存储器13中存储的解密的部分,并且按照对应于解密程序的存储区在控制寄存器14中设置的超高速缓存功能禁止标志被重新设置,以解除超高速缓存功能禁止。
根据按第一实施例的装有加密程序执行装置的计算机,存储设备15中装载的加密程序的加密部分被装入单片微机11中,并根据预先存储在ROM12中的、不能读出到外部总线的解密程序进行解密。解密后的程序写入超高速缓冲存储器13,并设置一存储于控制寄存器14中且与该解密后的程序存储区相对应的标志,由此禁止存储区的超高速缓存功能并禁止解密的程序被读出到外部总线。在超高速缓冲存储器13中存储的解密后的程序和在存储设备15存储的非加密程序相结合,由CPU11执行。因此,传统上的缺点,即解密程序本身被拷贝并且加密程序被解密或解密后的程序被拷贝并使用,能通过对计算机结构的简单修改得以消除。
当加密程序由特定计算机中它的专用的解密程序解密时,能提供一种高可靠性的加密程序执行装置,它阻止该解密程序或解密后的程序由第三方读出。
在上述实施例中,当解密后的程序写入超高速缓冲存储器13时,由控制寄存器14禁止其存储区的超高速缓存功能,并且该解密后的程序禁止读出到外部总线。如果,如同在按图3和图4所示本发明第二实施例的加密程序执行装置一样,CPU21的系统程序中包括了将解密后的程序写入超高速缓冲存储器13并同时加上一超高速缓存禁止标志的指令(强迫写指令),则前述用于禁止超高速缓冲存储功能并解除该禁止的控制寄存器14是不需要的,因而使得读出该解密后的程序更为困难。
将说明按本发明加密程序执行装置的其它实施例。
图3是按照本发明的第二实施例装有加密程序执行装置的计算机的整体结构方框图。计算机包括一单片微机20和一外部存储设备25。单片微机20包括CPU21,用来控制整个装置,CPU21按照预先存储于内部ROM22中的程序控制计算机中各个电路的运行。单片微机20还包括超高速缓冲存储器23和用于存储控制超高速缓冲存储器23的超高速缓存功能的控制数据的触发器27。ROM22和超高速缓冲存储器23通过由数据总线、地址总线和控制总线形成的系统总线26与CPU21相连接。
超高速缓冲存储器23这样构成,以使当数据由CPU21用强迫写指令写入存储区时禁止预定存储区的超高速缓存功能(清除和写数据)。所提供的触发器27与数据在强迫写指令下写入的超高速缓冲存储器23的预定存储区相一致。因此,当CPU21在强迫写指令下将数据写入超高速缓冲存储器23时,在解发器27中设置标志,这样禁止超高速缓冲存储器23的超高速缓存功能。当超高速缓存功能被禁止时,超高速缓冲存储器23中的数据可为常驻数据。
单片微机20的系统总线26经I/O缓冲器28与存储设备25相连。I/O缓冲器28和存储设备25之间的一部分总线被称为外部总线。存储设备25存储两种程序,包括必须在执行前解密的加密程序和非加密程序。不必对整个程序加密,只对至少一部分程序加密便够了。存储设备25不限于半导体存储设备,也可是存储器卡、硬盘驱动器和软盘驱动器。从网络上下载程序到存储设备25也是可能的。
当CPU21读取在存储设备25中存储的程序时,它按该程序进行控制操作,ROM22中预先写入一解密程序。当读取加密程序时,该程序只能在其加密部分被解密后才能执行。解密的程序存储在超高速缓冲存储器23中作为常驻文件。如果从存储设备25中读取的程序是非加密程序,CPU21使用超高速缓冲存储器23所有区的超高速缓冲存功能执行该程序。由于I/O缓冲器28连接于系统总线26和外部总线(存储设备15)之间,因而含有解密程序的ROM22内容不能从单片微机20中读出。
现在将按照第二实施例,说明装有上述结构的加密程序执行装置的计算机中执行加密程序的运行。
图4是表示按照第二实施例在装有加密程序执行装置的计算机中执行加密程序的过程的流程图。
在步骤S21,必须解密的加密程序装入存储设备25。不管命令、数据和表示加密程序加到程序头或诸如此类上的信息,将整个程序或一部分加密。根据加到程序头或诸如此类上的信息,CPU21确定从存储设备25读出的程序是一加密程序。
在步骤S22,将所读程序的加密部分装入CPU21。在步骤S23,将加密部分解密。
当程序的加密部分装入CPU21时,按照ROM22中存储的解密程序将加密部分解密。在步骤24将解密的程序写入超高速缓冲存储器23的预定存储区。该数据写入由CPU21的强迫写指令来进行,并在触发器27以及此数据写入中设置超高速缓存禁止标志,这样解密后的程序禁止被读出到外部总线。
如上所述,由于ROM22的内容不能读出到外部总线,由第三方分析出解密程序的算法是不可能的。
写入超高速缓冲存储器13的超高速缓存禁止区的加密程序的已解密部分与装在存储设备25的加密程序的非加密部分相结合。该结合的程序由CPU21执行(步骤S25)。装在存储设备15中的加密程序的加密部分被解密并存储在超高速缓冲存储器23中作为常驻文件,而其非加密部分使用超高速缓冲存储器13的剩余部分通过正常超高速缓冲存功能来执行。
当加密程序不必执行时,重新设置在触发器27中设置的超高速缓存功能禁止标志,并清除超高速缓冲存储器23中存储的已解密程序。
根据按第二实施例的装有加密程序执行装置的计算机,存储设备25中装载的加密程序的加密部分被装入单片微机20中,并根据预先存储在ROM12中的、不能读出到外部总线的解密程序进行解密。解密后的程序在强迫写指令下写入超高速缓冲存储器23,并在触发器27中设置一标志,用于禁止超高速缓冲存储器23的存储区的超高速缓存功能。存储在超高速缓冲存储器23中的已解密程序和存储在存储设备25中的非加密程序相结合并由CPU21执行。因此,传统上的缺点,即解密程序本身被拷贝并且加密程序被解密或解密后的程序被拷贝并使用,能通过对计算机结构的简单修改得以消除。
本实施例使用存储超高速缓存禁止标志的触发器27代替第一实施例的控制寄存器14。控制寄存器14可从外部访问并可重新设置超高速缓存禁止标志。然而,触发器27不能从外部访问。
如上所述,先有技术有一缺点:完全拷贝(dead copy)同原程序不能区别。下面描述的是第三实施例,它使用执行该程序的设备的特定数据来查验非法拷贝程序的非法执行。
图5是按照本发明的第三实施例装有加密程序执行装置的计算机的整体结构方框图。计算机包括一单片微机30和一外部存储设备35。单片微机30包括CPU31,用来控制整个装置。CPU31按照预先存储于内部ROM32中的程序控制计算机中各个电路的运行。单片微机30还包括超高速缓冲存储器33、用于存储该设备的特定数据,例如计算机编号的固定存储器34和用于存储控制超高速缓冲存储器33的超高速缓冲存功能的控制数据的触发器37。ROM32、超高速缓冲存储器33和固定存储器34通过数据总线、地址总线和控制总线形成的系统总线36与CPU31相连接。
超高速缓冲存储器33这样构成,以便当数据由CPU31用强迫写指令写入存储区时禁止预定存储区的超高速缓存功能(清除和写数据)。所提供的触发器37与数据在强迫写指令下写入的超高速缓冲存储器33的预定存储区相一致。因此,当CPU31在强迫写指令下将数据写入超高速缓冲存储器33时,在触发器37中设置标志,这样为来禁止超高速缓冲存储器33的超高速缓存功能。当超高速缓存功能被禁止时,超高速缓冲存储器33中的数据可为驻留数据。
单片微机30的系统总线36经I/O缓冲器38与存储设备35相连。I/O缓冲器27和存储设备25之间的一部分总线被称为外部总线。存储设备35存储从软件公司购买的软件程序(其中至少一部分被加密)、在购买时由软件公司确定的口令及加密的比较程序。存储设备35不限于半导体存储设备,也可是存储器卡、硬盘驱动器和软盘驱动器。从网络上下载程序到存储设备35也是可能的。
当CPU31读取在存储设备35中存储的程序时,它按程序进行控制操作。ROM32中预先写入一解密程序。当读出加密程序时,该程序只能在其加密部分被解密后才能执行。解密的程序存储在超高速缓冲存储器33中作为驻留文件。如果从存储设备35中读取的程序是非加密程序,CPU引使用超高速缓冲存储器33所有区的超高速缓存功能执行该程序。由I/O缓冲器38连接于系统总线36和外部总线(存储设备35)之间,因而含有解密程序的ROM32的内容不能从单片微机30中读出。
现在参照图6所示的流程图说明按照第三实施例装有具备上述结构的加密程序执行装置的计算机中检查非法拷贝软件的执行的操作情况。
如步骤S31所示,用户在购买软件时将作为特定数据的计算机编号告知软件公司或软件商店。
在步骤S32,软件公司或软件商店使用预定的程序根据编号确定口令并告知用户该口令。事实上,口令被写入用户购买的软件程序中,已购买的程序还有一比较程序(随后将说明其功能),它包括以加密形式的上述预定程序。
当使用软件时如步骤S33所示,在存储设备35中安装该软件并启动。
在启动程序之后,马上在步骤S34,将软件程序中的加密比较程序装入单片微机30并利用R0M32中存储的解密程序进行解密。解密后的比较程序存储在超高速缓冲存储器33中作为常驻文件。
当比较程序启动时,在步骤S35显示提示用户输入口令的信息。
输入口令后,在步骤S36按照预定程序计算存储器34中的特定数据,以得到口令。将计算所得的口令与输入口令相比较。由于口令是根据特定数据计算的,因而有可能检验输入口令,也就是,通过参照特定数据执行软件的用户是软件的购买者。此口令不必由用户输入但能自动从存储器35中读取。
如果此验证被确认,在步骤S37正常地执行软件。如果此验证未确认,则在步骤S38禁止软件的执行。
按照第三实施例,需要作为计算机特定数据的编号和从该编号得到的口令来执行软件。由不是软件购买时登记的硬件执行该软件是禁止的。能阻止在简单硬件上非法拷贝软件。由于包括计算口令的预定程序的比较程序被加密,既使知道编号也决不可能计算出口令。
特定数据不限于编号。在电子笔记本的情况下,登记所有者的姓名。因此,所有者姓名也能是特定数据。
上述说明是对用户在商店购买软件包的情形作出的。也可能从通信网络下载软件程序。例如,在Internet上在软件公司的内部页(home page)上引用需要的软件。网络的用户发布软件定单。将硬件或卡的所有者姓名加到定单上。按照所有者姓名计算口令。当完成定单后,软件下载到存储设备35上。在软件下载之时,口令被加密并且此加密口令附加到软件上。如果将下载的程序安装到硬件上,比较程序启动以检验硬件的所有者姓名,因此,如果下载的程序安装到另一硬件上,比较程序发出一NG结果,由此阻止非法安装。由于这样的系统,用户不会意识到比较程序。
下面描述的是作为对程序的非法完全拷贝的防范措施的第四实施例。
图7是按照本发明的第四实施例装有加密程序执行装置的计算机的整体结构方框图。单片微机4 0包括CPU41,用来控制整个装置。CPU41按照预先存储在内部ROM42中的程序控制计算机中各个电路的运行。单片微机40还包括超高速缓冲存储器43、显示控制器44及用于存储控制超高速缓冲存储器43的超高速缓存功能的控制数据的触发器47。ROM42,超高速缓冲存储器43和显示控制器44通过数据总线、地址总线和控制总线形成的系统总线46与CPU41相连接。
超高速缓冲存储器43这样构成,以便当数据由CPU41用强迫写指令写入存储区时禁止预定存储区的超高速缓存功能(清除和写数据)。所提供的触发器47与数据在强迫写指令下写入的超高速缓冲存储器43的预定存储区相一致。因此,当CPU41在强迫写指令下将数据写入超高速缓冲存储器43时,在触发器47中设置标志,这样禁止超高速缓冲存储器43的超高速缓存功能。当超高速缓存功能被禁止时,超高速缓冲存储器43中的数据可为驻留数据。
单片微机40的系统总线46经I/O缓冲器48与外部ROM45相连。I/O缓冲器48和外部ROM45之间一部分总线被称为外部总线。外部ROM45存储从软件公司购买的软件程序(至少其中一部分被加密)以及也被加密的版权要求程序。外部ROM45不限于半导体存储设备,也可是存储器卡。从网络上下载程序到外部ROM45也是可能的。
当CPU41读取存储在外部ROM45中的程序时,CPU41按照程序进行控制操作。解密程序预先写在ROM42中。当读取加密程序(版权要求程序和至少一部分软件程序)时,该程序在其加密部分被解密后才能执行。解密的程序存储在超高速缓冲存储器43中作为常驻文件。如果从外部ROM45中读取的程序是非加密程序,CPU41使用超高速缓冲存储器43所有区的超高速缓存功能执行该程序。由于I/O缓冲器48连接于系统总线46和外部总线(外部ROM45)之间,因而含有解密程序的ROM42的内容不能从单片微机40中读出。
现在将参照图8所示的流程图说明按照第四实施例,装有上述结构的加密程序执行装置的计算机的软件执行过程。
当在步骤S41软件启动时,加密的版权要求程序被装入单片微机40并利用ROM42中存储的解密程序来解密,如步骤S42所示。解密后的版权要求程序存储到超高速缓冲存储器43作为驻留文件。
当在步骤S43版权要求程序启动时,在显示器47上显示版权要求信息,例如“Super Software Ver.2。0,CopyrightCASIO Co.,Ltd.”。
然后在步骤S44正常地执行软件。
按照第四实施例,用户能知道软件的版权并在执行软件前认识到非法拷贝软件侵犯了版权。由于下列原因,只拷贝软件而将版权要求程序排除在外以便避开版权要求信息是不可能的。由于不仅版权要求程序而且需要执行软件的一部分程序均被加密,因而删除加密部分是不可能的。而且,类似于在上述实施例中加密的部分不能解密,因此,避开版权要求信息是不可能的。
按照本发明的加密程序执行装置,由解密程序解密的程序存储在存储器中。解密后的程序禁止被读出,从而禁止被拷贝。验证该装置的特定信息以及不同于特定信息和给与加密程序的法定用户的识别信息,这样允许/禁止执行加密程序并禁止非法使用加密程序。
只要不偏离同所附权利要求定义的本发明概念的精神或范围及其等同物,可作不同的修改。例如,各实施例能相互结合。
Claims (6)
1、一种加密程序执行装置,用来执行其中至少一部分被加密的加密程序,该装置包括:
第一存储装置,用于存储一解密程序;
用于通过使用存储在所述第一存储装置中的解密程序对该加密程序解密的装置;
第二存储装置,用于存储由所述解密装置解密后的程序;及
用于禁止存储在所述第二存储装置中的解密后的程序被读出的装置。
2、根据权利要求1的加密程序执行装置,其中
所述解密装置包括一成形于LSI中的CPU,用来执行存储在所述第一存储装置中的解密程序,及
所述第二存储装置包括成形于该LSI中的超高速缓冲存储器。
3、根据权利要求2的加密程序执行装置,其中所述禁止装置包括一成形于该LSI中的控制寄存器,当执行所述解密程序时在其中设置一禁止标志,并且如果在所述控制寄存器里设置禁止标志,则禁止所述超高速缓冲存储器的超高速缓存功能。
4、根据权利要求2的加密程序执行装置,其中所述禁止装置包括一成形于该LSI中的触发器,当所述CPU执行将解密的程序写入超高速缓冲存储器的指令时,在其中设置一禁止标志,并且如果在所述触发器中设置了该禁止标志则禁止所述超高速缓冲存储器的超高速缓存功能。
5、根据权利要求1的加密程序执行装置,它还包括:
用于输入程序的装置;
第三存储装置,用于存储该装置的特定信息,及其中
当所述输入装置输入一包括被加密的口令计算程序的程序时,所述CPU对该口令计算程序进行解密,在所述第二存储装置中存储解密后的口令计算程序,使用解密后的口令计算程序根据该特定信息计算该口令,并比较该计算的口令和由用户输入的口令。
6、根据权利要求1的加密程序执行装置,它还包括用来输入程序的装置,及其中
当所述输入装置输入一包括用来显示版权要求信息的版权要求程序和至少其中一部分被加密的处理程序的程序时,所述CPU解密该加密的版权要求程序并显示该版权要求信息。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP104048/1995 | 1995-04-27 | ||
JP104048/95 | 1995-04-27 | ||
JP7104048A JPH08305558A (ja) | 1995-04-27 | 1995-04-27 | 暗号化プログラム演算装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1152363A true CN1152363A (zh) | 1997-06-18 |
CN1148645C CN1148645C (zh) | 2004-05-05 |
Family
ID=14370339
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB961904186A Expired - Lifetime CN1148645C (zh) | 1995-04-27 | 1996-04-18 | 执行加密程序的装置 |
Country Status (11)
Country | Link |
---|---|
US (1) | US5982887A (zh) |
EP (1) | EP0768601B1 (zh) |
JP (1) | JPH08305558A (zh) |
CN (1) | CN1148645C (zh) |
AU (1) | AU690840B2 (zh) |
CA (1) | CA2193114C (zh) |
DE (1) | DE69619186T2 (zh) |
MX (1) | MX9606515A (zh) |
NZ (1) | NZ305469A (zh) |
TW (1) | TW302459B (zh) |
WO (1) | WO1996034334A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100440140C (zh) * | 2003-02-11 | 2008-12-03 | Vi实验室有限公司 | 用于调节计算机软件的执行的系统和方法 |
Families Citing this family (48)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6185306B1 (en) | 1995-12-07 | 2001-02-06 | Hyperlock Technologies, Inc. | Method of secure server control of local media via a trigger through a network for local access of encrypted data on an internet webpage |
US7770230B2 (en) * | 2002-04-22 | 2010-08-03 | Arvato Digital Services Canada, Inc. | System for dynamically encrypting content for secure internet commerce and providing embedded fulfillment software |
WO1998024037A2 (en) * | 1996-11-25 | 1998-06-04 | Hyperlock Technologies, Inc. | Method for securely triggering the playing of crippled local media through the web |
JP3877388B2 (ja) * | 1997-09-16 | 2007-02-07 | 三菱電機株式会社 | 情報提供システム |
US6223288B1 (en) * | 1998-05-22 | 2001-04-24 | Protexis Inc. | System for persistently encrypting critical software file to prevent installation of software program on unauthorized computers |
US6775778B1 (en) * | 1998-05-29 | 2004-08-10 | Texas Instruments Incorporated | Secure computing device having boot read only memory verification of program code |
DE19824814C2 (de) * | 1998-06-03 | 2000-06-21 | Siemens Ag | Einrichtung zur Ermittlung von freizugebenden Funktionen in einer Telekommunikationsanlage |
US6681212B1 (en) | 1999-04-23 | 2004-01-20 | Nianning Zeng | Internet-based automated system and a method for software copyright protection and sales |
FR2793049B1 (fr) * | 1999-04-28 | 2001-08-17 | Fingerprint | Procede pour securiser l'utilisation d'un logiciel a partir d'une unite de traitement et de memorisation d'un secret et systeme en faisant application |
FR2793050B1 (fr) * | 1999-04-28 | 2001-08-17 | Fingerprint | Procede pour securiser un logiciel d'utilisation a partir d'une unite de traitement et de memorisation d'un secret et systeme en faisant application |
US6449720B1 (en) * | 1999-05-17 | 2002-09-10 | Wave Systems Corp. | Public cryptographic control unit and system therefor |
JP2001043139A (ja) * | 1999-07-29 | 2001-02-16 | Pioneer Electronic Corp | 信号処理装置及びそれに用いる情報記録媒体 |
WO2001043339A1 (fr) * | 1999-12-07 | 2001-06-14 | Sanyo Electric Co., Ltd. | Dispositif de reproduction de donnees |
US20010034838A1 (en) * | 2000-01-14 | 2001-10-25 | Motoshi Ito | Control program, device including the control program, method for creating the control program, and method for operating the control program |
US7270193B2 (en) | 2000-02-14 | 2007-09-18 | Kabushiki Kaisha Toshiba | Method and system for distributing programs using tamper resistant processor |
EP1168185A3 (en) * | 2000-05-08 | 2004-01-02 | Nokia Corporation | Method for protecting a memory card, and a memory card |
US6895506B1 (en) * | 2000-05-16 | 2005-05-17 | Loay Abu-Husein | Secure storage and execution of processor control programs by encryption and a program loader/decryption mechanism |
US6986052B1 (en) | 2000-06-30 | 2006-01-10 | Intel Corporation | Method and apparatus for secure execution using a secure memory partition |
JP4892167B2 (ja) * | 2000-07-18 | 2012-03-07 | シンプレックス メジャー センドリアン ベルハッド | ディジタル・データ保護構成 |
JP2002169620A (ja) * | 2000-12-01 | 2002-06-14 | Konami Co Ltd | ゲーム装置の管理システム、ゲーム装置、制御方法、ソフトウェア記録媒体 |
JP3970040B2 (ja) * | 2001-01-31 | 2007-09-05 | 株式会社ソニー・コンピュータエンタテインメント | コンピュータシステム及びその使用方法 |
GB0103119D0 (en) * | 2001-02-08 | 2001-03-28 | Comodo Technology Dev Ltd | Improvements in and relating to software modification |
US7039814B2 (en) * | 2001-03-07 | 2006-05-02 | Sony Corporation | Method for securing software via late stage processor instruction decryption |
US7051332B2 (en) * | 2001-05-21 | 2006-05-23 | Cyberscan Technology, Inc. | Controller having a restart engine configured to initiate a controller restart cycle upon receipt of a timeout signal from a watchdog timer |
US7478266B2 (en) * | 2001-05-21 | 2009-01-13 | Mudalla Technology, Inc. | Method and apparatus for fast transaction commit over unreliable networks |
US7979740B2 (en) * | 2001-05-21 | 2011-07-12 | Mudalla Technology, Inc. | Gaming machine having game play suspension and resumption features using biometrically-based authentication and method of operating same |
US6996725B2 (en) | 2001-08-16 | 2006-02-07 | Dallas Semiconductor Corporation | Encryption-based security protection for processors |
WO2003023577A1 (en) * | 2001-11-12 | 2003-03-20 | Network Research Lab Limited | Method and device for protecting information against unauthorised use |
US20030126454A1 (en) * | 2001-12-28 | 2003-07-03 | Glew Andrew F. | Authenticated code method and apparatus |
JP3548829B2 (ja) * | 2002-01-10 | 2004-07-28 | オムロン株式会社 | ユニット及びplc並びにユーザプログラムの処理方法 |
FR2838894A1 (fr) * | 2002-04-19 | 2003-10-24 | St Microelectronics Sa | Chiffrement du contenu d'une memoire externe a un processeur |
JP2004054834A (ja) * | 2002-07-24 | 2004-02-19 | Matsushita Electric Ind Co Ltd | プログラム開発方法、プログラム開発支援装置およびプログラム実装方法 |
JP4349788B2 (ja) * | 2002-10-31 | 2009-10-21 | パナソニック株式会社 | 半導体集積回路装置 |
JP3946624B2 (ja) * | 2002-11-29 | 2007-07-18 | 株式会社東芝 | Av通信制御集積回路及びav通信制御プログラム |
JP4252828B2 (ja) * | 2003-03-19 | 2009-04-08 | 株式会社日立製作所 | キャッシュ制御方法、ノード装置、プログラム |
JP4335707B2 (ja) * | 2004-02-06 | 2009-09-30 | Necエレクトロニクス株式会社 | プログラム改竄検出装置、及びプログラム改竄検出プログラムおよびプログラム改竄検出方法 |
CN1279458C (zh) * | 2004-08-03 | 2006-10-11 | 威盛电子股份有限公司 | 数据加密/解密方法及其装置 |
JP2006190119A (ja) * | 2005-01-07 | 2006-07-20 | Hitachi Industrial Equipment Systems Co Ltd | プログラマブルコントローラ |
JP4669934B2 (ja) * | 2005-06-10 | 2011-04-13 | 国立大学法人 奈良先端科学技術大学院大学 | プログラム変換装置、実行支援装置、それらの方法およびそれらのコンピュータ・プログラム |
US8782433B2 (en) * | 2008-09-10 | 2014-07-15 | Inside Secure | Data security |
DE102009019981A1 (de) * | 2009-05-05 | 2010-11-11 | Giesecke & Devrient Gmbh | Verfahren zum Schutz von auf einem tragbaren Datenträger gespeicherter Software und tragbarer Datenträger |
JP4865839B2 (ja) * | 2009-06-02 | 2012-02-01 | パナソニック株式会社 | 半導体集積回路装置 |
US8756434B2 (en) * | 2011-04-08 | 2014-06-17 | Apple Inc. | System and method for executing an encrypted binary from a memory pool |
US9158924B2 (en) | 2011-05-25 | 2015-10-13 | Panasonic Intellectual Property Management Co., Ltd. | Information processing apparatus and information processing method |
US20120303533A1 (en) | 2011-05-26 | 2012-11-29 | Michael Collins Pinkus | System and method for securing, distributing and enforcing for-hire vehicle operating parameters |
US20130253999A1 (en) | 2012-03-22 | 2013-09-26 | Frias Transportation Infrastructure Llc | Transaction and communication system and method for vendors and promoters |
US10534725B2 (en) * | 2017-07-25 | 2020-01-14 | International Business Machines Corporation | Computer system software/firmware and a processor unit with a security module |
DE102023102691A1 (de) | 2023-02-03 | 2024-08-08 | btv technologies gmbh | Verfahren zum Beschreiben von Daten auf einen IC sowie System zur Ausführung des Verfahrens |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4168396A (en) * | 1977-10-31 | 1979-09-18 | Best Robert M | Microprocessor for executing enciphered programs |
US4433207A (en) * | 1981-09-10 | 1984-02-21 | Best Robert M | Cryptographic decoder for computer programs |
US4442486A (en) * | 1981-11-25 | 1984-04-10 | U.S. Philips Corporation | Protected programmable apparatus |
JPS59212954A (ja) * | 1983-05-18 | 1984-12-01 | Toshimi Onodera | 電子回路におけるプログラム盗難防止装置 |
JPS59229646A (ja) * | 1983-06-10 | 1984-12-24 | Fanuc Ltd | 暗号化されたプログラムの無断使用禁止装置 |
EP0137995B1 (en) * | 1983-10-14 | 1990-10-17 | Kabushiki Kaisha Toshiba | Single-chip microcomputer with encryptable function on program memory |
US4633388A (en) * | 1984-01-18 | 1986-12-30 | Siemens Corporate Research & Support, Inc. | On-chip microprocessor instruction decoder having hardware for selectively bypassing on-chip circuitry used to decipher encrypted instruction codes |
JPH03148734A (ja) * | 1989-11-06 | 1991-06-25 | Toshiba Corp | キャッシュメモリ制御装置 |
JPH04149652A (ja) * | 1990-10-09 | 1992-05-22 | Mitsubishi Electric Corp | マイクロコンピュータ |
JPH04268924A (ja) * | 1991-02-25 | 1992-09-24 | Hitachi Ltd | 逆アセンブル保護方法 |
JPH04287124A (ja) * | 1991-03-15 | 1992-10-12 | Daikin Ind Ltd | 計算機システムにおけるソフトウェア無断使用禁止方法およびその装置 |
JP2942837B2 (ja) * | 1992-01-31 | 1999-08-30 | 株式会社セガ・エンタープライゼス | セキュリティチェック方法及びゲーム装置並びにそれらに用いられる情報記憶媒体 |
JP2576385B2 (ja) * | 1993-10-28 | 1997-01-29 | 日本電気株式会社 | データ保護装置 |
-
1995
- 1995-04-27 JP JP7104048A patent/JPH08305558A/ja active Pending
-
1996
- 1996-04-18 NZ NZ305469A patent/NZ305469A/en unknown
- 1996-04-18 WO PCT/JP1996/001051 patent/WO1996034334A1/ja active IP Right Grant
- 1996-04-18 DE DE69619186T patent/DE69619186T2/de not_active Expired - Lifetime
- 1996-04-18 CN CNB961904186A patent/CN1148645C/zh not_active Expired - Lifetime
- 1996-04-18 MX MX9606515A patent/MX9606515A/es unknown
- 1996-04-18 CA CA002193114A patent/CA2193114C/en not_active Expired - Fee Related
- 1996-04-18 US US08/765,861 patent/US5982887A/en not_active Expired - Lifetime
- 1996-04-18 EP EP96910189A patent/EP0768601B1/en not_active Expired - Lifetime
- 1996-04-18 AU AU53464/96A patent/AU690840B2/en not_active Ceased
- 1996-04-24 TW TW085104892A patent/TW302459B/zh not_active IP Right Cessation
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100440140C (zh) * | 2003-02-11 | 2008-12-03 | Vi实验室有限公司 | 用于调节计算机软件的执行的系统和方法 |
Also Published As
Publication number | Publication date |
---|---|
AU5346496A (en) | 1996-11-18 |
EP0768601B1 (en) | 2002-02-13 |
EP0768601A1 (en) | 1997-04-16 |
JPH08305558A (ja) | 1996-11-22 |
CN1148645C (zh) | 2004-05-05 |
EP0768601A4 (en) | 1999-05-12 |
NZ305469A (en) | 1998-05-27 |
DE69619186D1 (de) | 2002-03-21 |
MX9606515A (es) | 1997-05-31 |
WO1996034334A1 (fr) | 1996-10-31 |
DE69619186T2 (de) | 2002-11-14 |
US5982887A (en) | 1999-11-09 |
TW302459B (zh) | 1997-04-11 |
CA2193114A1 (en) | 1996-10-31 |
CA2193114C (en) | 2000-06-13 |
AU690840B2 (en) | 1998-04-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1148645C (zh) | 执行加密程序的装置 | |
CN1097772C (zh) | 在安全存储区中保护应用程序数据的方法和装置 | |
JP4702957B2 (ja) | 耐タンパ・トラステッド仮想マシン | |
CN1150468C (zh) | 计算机系统及内容保护方法 | |
US8234638B2 (en) | Creating a relatively unique environment for computing platforms | |
KR101014179B1 (ko) | 플래시 대용량 저장 메모리를 가진 보안 장치를 위한 보안 및 적응형 시스템 구조 | |
CN101946252B (zh) | 信息处理装置及其控制方法 | |
KR101081118B1 (ko) | 보안되는 프로그램을 복원하는 컴퓨터 구현 방법, 정보 처리 시스템 및 컴퓨터 판독 가능한 기록 매체 | |
US20080263366A1 (en) | Self-verifying software to prevent reverse engineering and piracy | |
US20070147605A1 (en) | System and Method for Authenticating Software Using Protected Master Key | |
US20020073326A1 (en) | Protect by data chunk address as encryption key | |
KR101054981B1 (ko) | 프로그램의 콘텍스트를 보안적으로 저장하는 컴퓨터 구현 방법, 정보 처리 시스템 및 컴퓨터 판독 가능한 기록 매체 | |
CN1647443A (zh) | 初始化、维护、更新和恢复利用数据访问控制功能的集成系统中的安全操作 | |
CN1928881A (zh) | 一种计算机数据安全防护方法 | |
US9137015B2 (en) | Protection scheme for AACS keys | |
JP2005536951A (ja) | デジタル機器においてデジタル文書にセキュリティ保護を施す装置、システムおよび方法 | |
KR20090045340A (ko) | 숨겨진 중간 키들을 사용하여 소프트웨어를 인증하기 위한 시스템 및 방법 | |
US9256756B2 (en) | Method of encryption and decryption for shared library in open operating system | |
CN104834835A (zh) | 一种Windows平台下的通用数字版权保护方法 | |
US7325115B2 (en) | Encryption of system paging file | |
CN1177142A (zh) | 计算机软件的防复制方法 | |
US20060015860A1 (en) | System and method for storing attributes in a file for processing an operating system | |
CN110298175B (zh) | 一种dll文件的处理方法及相关装置 | |
JP2009059008A (ja) | ファイル管理システム | |
US11829454B2 (en) | Method and apparatus for preventing and investigating software piracy |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
ASS | Succession or assignment of patent right |
Owner name: KNOWLEDGE VENTURE HOLDINGS 56 CO.,LTD. Free format text: FORMER OWNER: CASIO COMPUTER CO., LTD. Effective date: 20090417 |
|
C41 | Transfer of patent application or patent right or utility model | ||
TR01 | Transfer of patent right |
Effective date of registration: 20090417 Address after: Nevada Patentee after: Casio Computer Co., Ltd. Address before: Tokyo, Japan Patentee before: Casio Computer Co., Ltd. |
|
CX01 | Expiry of patent term |
Granted publication date: 20040505 |
|
EXPY | Termination of patent right or utility model |