CN1269024C - 保护外围设备附加卡上软件的方法及系统 - Google Patents

保护外围设备附加卡上软件的方法及系统 Download PDF

Info

Publication number
CN1269024C
CN1269024C CN 03101809 CN03101809A CN1269024C CN 1269024 C CN1269024 C CN 1269024C CN 03101809 CN03101809 CN 03101809 CN 03101809 A CN03101809 A CN 03101809A CN 1269024 C CN1269024 C CN 1269024C
Authority
CN
China
Prior art keywords
additional card
microcontroller
software
main frame
microprocessor
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
CN 03101809
Other languages
English (en)
Other versions
CN1517858A (zh
Inventor
刘建兴
陈勇志
沈信成
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.)
WEIDA ELECTRIC CO Ltd
Original Assignee
WEIDA ELECTRIC 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 WEIDA ELECTRIC CO Ltd filed Critical WEIDA ELECTRIC CO Ltd
Priority to CN 03101809 priority Critical patent/CN1269024C/zh
Publication of CN1517858A publication Critical patent/CN1517858A/zh
Application granted granted Critical
Publication of CN1269024C publication Critical patent/CN1269024C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Storage Device Security (AREA)

Abstract

一种保护外围设备附加卡上软件的方法及系统,适用于安装在主机外围总线上的外围设备附加卡。当来自外围总线的第一重置信号解除时,微控制器从非易失性内存读取加密过的特定信息;接着,将加密过的特定信息进行解密,获得已解密的特定信息;之后,微控制器发出一第二重置信号;当微处理器收到第二重置信号时,即从微控制器读取已解密的特定信息;最后,微处理器通过外围总线传送已解密的特定信息到主机进行辨识和验证。若已解密的特定信息通过验证,主机开始执行微处理器专用程序,使外围设备附加卡开始工作。

Description

保护外围设备附加卡上软件的方法及系统
技术领域
本发明涉及有关软件保护方法的领域,特别涉及一种保护外围设备附加卡上执行软件的技术。
背景技术
外围设备附加卡上的控制芯片,一般而言,在主机上均有与之相关的驱动程序或应用程序来和操作系统配合工作,使外围设备附加卡能发挥最佳的功能。除此之外,目前的芯片设计上已向多功能化和系统化的整合趋势发展,为使应用能尽量满足不同客户的不同需求,许多外围设备附加卡上的控制芯片都提供读写非易失性内存的接口,这样驱动程序或应用程序便可指示控制芯片通过接口读写储存在非易失性内存中的必要或客制化的特定数据,如此一来,外围设备附加卡的制造商便可以自行定义和规划,达到产品区别的目的。
然而,通过前述的非易失性内存接口读写数据时,传统的作法并未经过适当的安全加密机制防止数据被窃取。一旦取得非易失性内存里的数据,辛勤研发的外围设备附加卡和搭配的驱动程序或应用程序等软、硬件智慧结晶将很容易遭非法抄袭与大量复制。因此,如何保护这些软、硬件的智慧财产便成为重要的课题。
发明内容
本发明所要解决的技术问题是提供一种保护外围设备附加卡软件的机制,防止储存在非易失性内存的机密数据和程序遭到窃取及抄袭。
本发明所要解决的另一技术问题是提供一种保护外围设备附加卡上软件的系统及其方法,防止外围设备附加卡和搭配的程序等软、硬件遭到非法大量复制。
为实现上述目的,本发明提供一种保护外围设备附加卡软件的方法,适用于安装在主机外围总线上的外围设备附加卡,该外围设备附加卡包括非易失性内存、微控制器以及微处理器,该方法步骤如下:当来自外围总线的第一重置信号解除时,微控制器从非易失性内存读取加密过的特定信息;微控制器接着将此信息进行解密,以获得解密的特定信息;在得到已解密的特定信息之后,微控制器发出第二重置信号;当微处理器收到第二重置信号时,即从微控制器读取已解密的特定信息;然后,微处理器通过外围总线传送已解密的特定信息至主机,进行辨识和验证。主机会对上述已解密的特定信息进行辨识,若验证通过,主机开始执行微处理器专用程序,使外围设备附加卡开始工作。主机所执行的程序通过外围总线和微处理器,定期地向微控制器发出已加密的询问信息;微控制器对此询问信息进行解密,以获得答复信息,然后通过微处理器和外围总线,传回此答复信息至主机;接着,主机所执行的程序验证答复信息;若答复信息无法符合询问询问信息,则主机停止执行程序。
为实现上述目的,本发明还提供一种保护外围设备附加卡软件的系统,由一主机以及一外围设备附加卡组成,其中,主机具有一外围总线,而外围设备附加卡则安装在外围总线上。外围设备附加卡包括一非易失性内存、一微控制器和一微处理器。非易失性内存用来储存加密过的特定信息。微控制器连接非易失性内存,用来在来自外围总线的第一重置信号解除时,读取加密过的特定信息并进行解密,获得已解密的特定信息,再发出第二重置信号。微处理器连接在外围总线和微控制器之间,用来在收到第二重置信号之后,从微控制器读取已解密的特定信息,而且通过外围总线传送已解密的特定信息至主机进行辨识和验证,而且,主机具有微处理器专用程序,当已解密的特定信息通过验证,主机即执行程序,使外围设备附加卡开始工作。
为使本发明的目的、构造特征及其功能有进一步的了解,配合附图详细说明如下:
附图说明
图1是传统的外围设备附加卡通过PCI总线和主机连接的方框示意图;
图2是本发明的外围设备附加卡通过PCI总线和主机连接方框示意图;以及
图3是本发明较佳实施例流程图。
其中,附图标记说明如下:
100、200~主机,102、202~微处理器专用程序,110、210~PCI总线,122、222~微处理器,124、224~非易失性内存,226~微控制器,RST#~第一重置信号,P_RST#~第二重置信号
具体实施方式
参考图1,传统的外围设备附加卡120由微处理器122和非易失性内存124所组成,微处理器122具有接口126连接非易失性内存124用以读写储存其中的数据,而微处理器122可以用特殊应用集成电路(Application SpecificIntegrated Circuit,ASIC)替代,以微处理器为例,主机100由外围零件互连(Peripheral Component Interconnect,PCI)总线110控制外围设备附加卡120上的微处理器122并且与其交换数据。微处理器122专用的驱动程序或应用程序102在开机后加载主机100执行,并且,通过PCI总线110重置信号RST#,对微处理器122进行重置,激活外围设备附加卡120工作。由于通过接口126读写非易失性内存124中的数据时,并未经过适当的安全加密机制防止数据被窃取,因此非易失性内存124的内容很容易被复制,或是以种种手段在接口126上截取非易失性内存124的数据。
本发明采用一内含加/解密机制的微控制器负责非易失性内存中的数据以及外围设备附加卡其相关的软件保护工作。微控制器与微处理器的差异,一般而言,微处理器可以提供较多的功能及较强的运算能力,线路设计上也复杂许多,因此,微处理器需要从外部的非易失性内存加载固化程序或从主机加载专用驱动程序才能工作;反之,微控制器大多仅需精简的固化程序便能工作,而固化程序可以储存在内嵌于微控制器的只读存储器,由于微控制器的设计会针对程序读取进行保护,因此固化程序无法从外界非法得知,所以采用微控制器来负责加/解密工作,能够获得极佳的保密效果。
根据本发明,外围设备附加卡220由微处理器222、非易失性内存224和微控制器226所组成,如图2所示,微控制器226具有接口228连接非易失性内存224来读写储存其中的数据,而微处理器222则通过接口230连接微控制器226并对其进行数据的存取,举例而言,接口230和接口228可以是IC联机总线(Inter-Integrated Circuit Bus,I2C)的双线接口,这样能够简化电路设计。主机200具有如PCI总线的外围总线,一旦微处理器222专用的驱动程序或应用程序202被加载执行,主机200便可通过PCI总线210控制外围设备附加卡220上的微处理器222并且与之交换数据。
为体现本发明的特征,接下来以图2并配合图3中较佳实施例的流程图,进一步地说明本发明。由于PCI规格书中规定主机200必须在PCI总线210的重置信号RST#解除一段时间Trhfa(约0.5秒或1秒,视PCI总线的时钟脉冲频率而定)后,轮询连接在PCI总线210上各系统的系统识别码(Device ID)和销售商识别码(Vendor ID)等组态数据,因此本发明的外围设备附加卡220需在RST#解除后的Trhfa之内得到存放在非易失性内存224中的系统和销售商识别码等组态数据。在激活(booting)阶段,当来自PCI总线210的RST#信号解除时,微控制器226通过接口228从非易失性内存224读取加密过的信息(步骤S301),此信息包括系统识别码和销售商识别码等组态数据。然后,微控制器226将此加密过的信息进行解密获得解密的信息,在得到已解密的组态数据后,微控制器发出重置信号P_RST#(步骤S303)。当收到P_RST#信号时,微处理器222经由接口230从微控制器226读取已解密的组态数据(步骤S305)。如前所述,从RST#信号解除开始到微处理器222得到已解密的信息,全部的时间必须设计在Trhfa之内以满足PCI规格。
接下来,微处理器222通过PCI总线210传送已解密的组态数据至主机200,以进行辨识和验证(步骤S307)。主机200会对已解密的系统和销售商识别码等组态数据进行识别(步骤S309),检查加密过的信息是否经过适当的解密得到正确的组态数据(步骤S311)。如果无法通过验证,有关外围设备附加卡220的执行程序会被停止,使外围设备附加卡220无法工作。由于存放在非易失性内存224中的数据是经过微控制器226加密,也只有通过微控制器226才能正确地加以解密,因此,非易失性内存224中的数据即使遭到窃取或复制,也难以了解其中的内容进行抄袭、篡改。
若验证通过,主机200开始加载执行微处理器专用程序202,以使外围设备附加卡220开始工作(步骤S321)。为进一步提供更严谨的保护措施,主机200所执行的程序202通过PCI总线210和微处理器222,定期向微控制器226发出已加密的询问信息,其中,该询问信息是随机产生并以密钥值K1进行加密(步骤S323)。微控制器226收到加密过的询问信息后,以密钥值K2进行解密获得答复信息,然后再通过微处理器222和PCI总线210传回此答复信息给主机200(步骤S325)。根据本发明,只要事先约定好,加密用的密钥值K1可以和解密用的密钥值K2不相同,当然,两者也可采用同一密钥值;再者,可利用诸如RSA或Deffie-Hellman等类的算法进行数据的加/解密,而加/解密的方法并非本发明的范畴,故此处不做详细说明。
接下来,主机200所执行的程序202验证传回的答复信息(步骤S327)。若验证通过,主机200继续执行微处理器专属程序202,并定期地重复上述步骤;若答复信息无法符合询问信息,则主机200所执行的微处理器专用程序202停止工作(步骤S329)。以此方式,微处理器专用程序202能判断微控制器226是否存在或异常,以确保外围设备附加卡220不是非法仿制品,因此,可以防止外围设备附加卡202和搭配的微处理器专用程序202等智慧结晶遭受非法抄袭与大量复制。
以上所述,仅为本发明较佳实施例,但并非用来限定本发明的实施范围;因此本发明所要求保护的权利要求范围应以权利要求书所申请保护的权利要求为准。

Claims (20)

1.一种保护外围设备附加卡上软件的方法,适用于安装在一主机的一外围总线上的一外围设备附加卡,该外围设备附加卡包括非易失性内存、微控制器以及微处理器,其特征在于该方法包括下列步骤:
当来自外围总线的一第一重置信号解除时,由一微控制器从一非易失性内存读取一加密过的特定信息;
微控制器将加密过的特定信息进行解密,获得一已解密的特定信息;
微控制器得到已解密的特定信息后,即发出一第二重置信号;
一微处理器收到第二重置信号时,从微控制器读取已解密的特定信息;以及
微处理器通过外围总线传送已解密的特定信息至主机,进行辨识和验证。
2.如权利要求1所述保护外围设备附加卡上软件的方法,其特征在于,还包括下列步骤:
如果主机辨识已解密的特定信息,而且验证通过,主机开始执行一微处理器的专用程序,使外围设备附加卡开始工作;
主机所执行的程序通过外围总线和微处理器,定期地向微控制器发出一已加密的询问信息;
微控制器对已加密的询问信息进行解密,以获得一答复信息;
微控制器通过微处理器和外围总线传回答复信息;
主机所执行的程序验证该答复信息;以及
若答复信息无法符合询问信息,则主机所执行的程序停止工作。
3.如权利要求2所述保护外围设备附加卡上软件的方法,其特征在于,主机所执行的程序用一第一密钥值对询问信息进行加密。
4.如权利要求3所述保护外围设备附加卡上软件的方法,其特征在于,微控制器用一第二密钥值进行解密得到答复信息。
5.如权利要求4所述保护外围设备附加卡上软件的方法,其特征在于,第一密钥值和第二密钥值相同。
6.如权利要求4所述保护外围设备附加卡上软件的方法,其特征在于,第一密钥值和第二密钥值不相同但是经事先约定。
7.如权利要求1所述保护外围设备附加卡上软件的方法,其特征在于,已解密的特定信息包括一系统识别码及一销售商识别码,而且系统识别码和销售商识别码遵循外围零件互连PCI规格的定义。
8.如权利要求7所述保护外围设备附加卡上软件的方法,其特征在于,第一重置信号是一外围零件互连PCI重置信号,而且微处理器在外围零件互连PCI重置信号解除后的一特定时间内,从微控制器读取系统识别码及销售商识别码。
9.如权利要求8所述保护外围设备附加卡上软件的方法,其特征在于,特定时间是外围零件互连PCI规格所定义的一段的时间Trhfa。
10.如权利要求2所述保护外围设备附加卡上软件的方法,其特征在于,询问信息是随机产生。
11.一种保护外围设备附加卡上软件的系统,其特征在于包括:
一主机,具有一外围总线;以及
一外围设备附加卡,连接在该外围总线上,包括:
一非易失性内存,用来储存一加密过的特定信息;
一微控制器,连接非易失性内存,用来在来自该外围总线的一第一重置信号解除时,读取加密过的特定信息并进行解密而获得一已解密的特定信息,再发出一第二重置信号;以及
一微处理器,连接在外围总线和微控制器之间,用来在收到第二重置信号之后,从微控制器读取已解密的特定信息,而且通过外围总线传送已解密的特定信息至主机进行辨识和验证。
12.如权利要求11所述保护外围设备附加卡上软件的系统,其特征在于,主机具有微处理器专用的一程序,当已解密的特定信息通过验证,主机开始执行程序,使外围设备附加卡开始工作。
13.如权利要求12所述保护外围设备附加卡上软件的系统,其特征在于,主机所执行的程序具有一第一密钥值,而且定期地以第一密钥值对随机产生的一询问信息进行加密,并通过外围总线和微处理器,向微控制器发出已加密的询问信息。
14.如权利要求13所述保护外围设备附加卡上软件的系统,其特征在于,微控制器具有一第二密钥值,而且微控制器以第二密钥值将已加密的询问信息进行解密得到一答复信息,并通过微处理器和外围总线,传回答复信息。
15.如权利要求14所述保护外围设备附加卡上软件的系统,其特征在于,主机所执行的程序验证答复信息,如果答复信息无法符合询问信息,则主机停止执行程序。
16.如权利要求14所述保护外围设备附加卡上软件的系统,其特征在于,第一密钥值和第二密钥值相同。
17.如权利要求14所述保护外围设备附加卡上软件的系统,其特征在于,第一密钥值和第二密钥值不相同但是经事先约定。
18.如权利要求11所述保护外围设备附加卡上软件的系统,其特征在于,主机的外围总线是遵循外围零件互连PCI规格的总线。
19.如权利要求18所述保护外围设备附加卡上软件的系统,其特征在于,已解密的特定信息是包括—系统识别码及一销售商识别码,而且该系统识别码和销售商识别码均遵循外围零件互连PCI规格的定义。
20.如权利要求19所述保护外围设备附加卡上软件的系统,其特征在于,第一重置信号是一外围零件互连重置信号,而且微处理器在外围零件互连重置信号解除后的一特定时间内,从微控制器读取系统识别码及销售商识别码,而特定时间是外围零件互连PCI规格所定义的一段的时间Trhfa。
CN 03101809 2003-01-16 2003-01-16 保护外围设备附加卡上软件的方法及系统 Expired - Fee Related CN1269024C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 03101809 CN1269024C (zh) 2003-01-16 2003-01-16 保护外围设备附加卡上软件的方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 03101809 CN1269024C (zh) 2003-01-16 2003-01-16 保护外围设备附加卡上软件的方法及系统

Publications (2)

Publication Number Publication Date
CN1517858A CN1517858A (zh) 2004-08-04
CN1269024C true CN1269024C (zh) 2006-08-09

Family

ID=34281470

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 03101809 Expired - Fee Related CN1269024C (zh) 2003-01-16 2003-01-16 保护外围设备附加卡上软件的方法及系统

Country Status (1)

Country Link
CN (1) CN1269024C (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101227596B (zh) * 2007-12-26 2010-06-23 王波 一种dvr视频监控软件加密方法和实现电路
CN102592064A (zh) * 2011-01-07 2012-07-18 深圳同方电子设备有限公司 一种动态密码芯片
CN105631362A (zh) * 2014-10-29 2016-06-01 奇方科技有限公司 微控制器加密的方法
CN112100580B (zh) * 2020-08-13 2022-08-02 宁波吉利汽车研究开发有限公司 一种小内存控制器的验签方法、装置及介质

Also Published As

Publication number Publication date
CN1517858A (zh) 2004-08-04

Similar Documents

Publication Publication Date Title
US7389536B2 (en) System and apparatus for limiting access to secure data through a portable computer to a time set with the portable computer connected to a base computer
US6704872B1 (en) Processor with a function to prevent illegal execution of a program, an instruction executed by a processor and a method of preventing illegal execution of a program
US6032257A (en) Hardware theft-protection architecture
US6463537B1 (en) Modified computer motherboard security and identification system
RU2538329C1 (ru) Устройство создания доверенной среды для компьютеров информационно-вычислительных систем
OA10588A (en) Preboot protection for a data security system
US20050108532A1 (en) Method and system to provide a trusted channel within a computer system for a SIM device
CN1465002A (zh) 处理器中带数据安全的存储器设备
WO1996034334A1 (fr) Dispositif pour l'execution d'un programme chiffre
CN101765845A (zh) 用于数字内容分发的系统和方法
US20080263542A1 (en) Software-Firmware Transfer System
CN102799803A (zh) 安全可携式媒体以及管理安全可携式媒体的方法
US11157181B2 (en) Card activation device and methods for authenticating and activating a data storage device by using a card activation device
US8522351B2 (en) Production security control apparatus for software products and control method thereof
CN100587698C (zh) 保护计算机上的租用资源的方法和系统
JP2002032141A (ja) ソフトウェア構成要素の無許可利用の防止方法
CN113343245B (zh) 芯片安全启动方法、安全芯片及其接收机
CN114785503A (zh) 密码卡及其根密钥保护方法、计算机可读存储介质
CN101615160B (zh) 用于码转储保护的安全系统及安全方法
JPH08508352A (ja) データ処理システムのための安全臨界プロセッサおよび処理方法
CN101447009A (zh) 软件安装方法、装置及系统
CN1269024C (zh) 保护外围设备附加卡上软件的方法及系统
CN102937907B (zh) 利用sd卡片进行授权软体安装更新使用的方法
CN108830114B (zh) 非易失性存储器的数据处理方法与装置、存储介质
CN101627391B (zh) 用于控制对数字内容的存取的方法及系统

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
C19 Lapse of patent right due to non-payment of the annual fee
CF01 Termination of patent right due to non-payment of annual fee