发明内容
以下给出一个或多个方面的简要概述以提供对这些方面的基本理解。此概述不是所有构想到的方面的详尽综览,并且既非旨在指认出所有方面的关键性或决定性要素亦非试图界定任何或所有方面的范围。其唯一的目的是要以简化形式给出一个或多个方面的一些概念以为稍后给出的更加详细的描述之序。
本发明的目的在于解决上述问题,提供了一种安全计算机平台主机插件的防伪方法和系统,通过密文授权处理的方式,进行安全加密处理,从而确保运行的主机插件是正版的或者是授权使用的。
本发明的技术方案为:本发明揭示了一种安全计算机平台主机插件的防伪方法,包括:
主机插件上电后,进行密文数据的循环冗余码校验;
在循环冗余码校验通过后,读取主机插件上的芯片的序列号,并对序列号第一变换处理,并检查第一变换处理的结果与预存在芯片上的密文数据的第一部分是否相同;
若比较结果相同,则使用公钥和解密私钥对密文数据的第二部分进行第二变换处理,并检查第二变换处理的结果与预存在芯片上的授权签名和插件编号是否相同,若相同则防伪验证通过。
根据本发明的安全计算机平台主机插件的防伪方法的一实施例,对主机插件芯片的序列号的第一变换处理是多次DES变换和循环冗余码校验,预存的密文数据的第一部分是预先根据主机插件所使用的芯片的序列号进行多次DES变换和循环冗余码校验后的结果。
根据本发明的安全计算机平台主机插件的防伪方法的一实施例,对密文数据的第二部分进行第二变换处理是指对密文数据的第二部分进行多次RSA变换处理,密文数据的第二部分是使用RSA算法中的公钥和加密私钥对主机插件所使用的芯片的授权签名和插件编号进行多次RSA变换处理后,将授权签名及RSA变换处理结果作为密文数据的第二部分保存。
本发明还揭示了一种安全计算机平台主机插件的防伪系统,包括:
循环冗余码校验模块,在主机插件上电后,进行密文数据的循环冗余码校验;
第一变换校验模块,在循环冗余码校验通过后,读取主机插件上的芯片的序列号,并对序列号第一变换处理,并检查第一变换处理的结果与预存在芯片上的密文数据的第一部分是否相同;
第二变换校验模块,使用公钥和解密私钥对密文数据的第二部分进行第二变换处理,并检查第二变换处理的结果与预存在芯片上的授权签名和插件编号是否相同,若相同则防伪验证通过。
根据本发明的安全计算机平台主机插件的防伪系统的一实施例,在第一变换校验模块中,对主机插件芯片的序列号的第一变换处理是多次DES变换和循环冗余码校验,预存的密文数据的第一部分是预先根据主机插件所使用的芯片的序列号进行多次DES变换和循环冗余码校验后的结果。
根据本发明的安全计算机平台主机插件的防伪系统的一实施例,在第二变换校验模块中,对密文数据的第二部分进行第二变换处理是指对密文数据的第二部分进行多次RSA变换处理,密文数据的第二部分是使用RSA算法中的公钥和加密私钥对主机插件所使用的芯片的授权签名和插件编号进行多次RSA变换处理后,将授权签名及RSA变换处理结果作为密文数据的第二部分保存。
本发明对比现有技术有如下的有益效果:本发明采用了通用算法组合成的加解密的独立处理方法以及密文数据生成及预存、解密比较核对的方法。相较于现有技术,本发明通过预存密文数据的方式,对主机插件进行授权签名检查,尤其是对插件的重要芯片进行识别检查,保证软件运行的硬件环境,能够有效预防假冒伪劣产品。
具体实施方式
在结合以下附图阅读本公开的实施例的详细描述之后,能够更好地理解本发明的上述特征和优点。在附图中,各组件不一定是按比例绘制,并且具有类似的相关特性或特征的组件可能具有相同或相近的附图标记。
安全计算机平台主机插件的防伪方法的实施例
图1示出了本发明的安全计算机平台主机插件的防伪方法的较佳实施例的流程。图2示出了生成密文的流程。
在验证主机插件的步骤之前,系统首先需要生成密文数据,生成密文数据的流程如图2所示。
步骤S21:对主机插件所使用的芯片(Flash芯片)的唯一的序列号(ID)进行多次DES变换和CRC计算处理。
CRC是循环冗余编码(Cyclical Redundancy Check),DES算法是密码体制中的对称密码体制,又被称为美国数据加密标准,是1972年美国IBM公司研制的对称密码体制加密算法,明文按照64位进行分组,密钥长64位,按位替代或交换的方法形成密文组的加密方法。
步骤S22:将多次DES变换和CRC计算处理之后的处理结果作为密文数据的第一部分保存。
步骤S23:使用公钥和加密私钥对授权签名和插件编号进行多次RSA变换处理。
RSA是目前最有影响力的公钥加密算法,能够抵抗到目前为止的绝大多数密码攻击,已经被ISO推荐为公钥数据加密标准。
步骤S24:将授权签名及多次RSA变换处理的处理结果作为密文数据的第二部分保存。
步骤S25:计算保存的密文数据的CRC并作为密文数据的第三部分保存。
在图2所示的生成密文的基础上,图1示出了安全计算机平台主机插件的防伪方法的较佳实施例的流程。
步骤S11:判断密文数据CRC检查是否通过,若不通过则终止运行,若通过则进入步骤S12。
步骤S12:读取芯片序列号进行多次DES变换和CRC计算处理。
步骤S13:将DES变换和CRC计算处理结果与预存的密文数据的第一部分是否一致,若不通过则终止运行,若通过则进入步骤S14。
预存的密文数据的第一部分就是图1所示的预先根据主机插件所使用的芯片的序列号进行多次DES变换和CRC校验后的结果。
步骤S14:使用公钥和解密私钥对密文数据的第二部分进行多次RSA变换处理。
密文数据的第二部分就是图1所示的使用RSA算法中的公钥和加密私钥对主机插件所使用的芯片的授权签名和插件编号进行多次RSA变换处理后,将授权签名和RSA变换处理结果作为密文数据的第二部分保存。
步骤S15:将多次RSA变换处理的结果与预存的授权签名和插件编号是否一致,若不通过则终止运行,如通过则继续防伪验证通过。
安全计算机平台主机插件的防伪系统的实施例
图3示出了本发明的安全计算机平台主机插件的防伪系统的实施例,请参见图3,本实施例的防伪系统包括:循环冗余码校验模块1、第一变换校验模块2以及第三变换校验模块3。
循环冗余码校验模块1在主机插件上电后,进行密文数据的循环冗余码校验。
第一变换校验模块2连接循环冗余码校验模块1,在循环冗余码校验通过后,读取主机插件上的芯片的序列号,并对序列号第一变换处理,并检查第一变换处理的结果与预存在芯片上的密文数据的第一部分是否相同。
对主机插件芯片的序列号的第一变换处理是多次DES变换和循环冗余码校验,预存的密文数据的第一部分是预先根据主机插件所使用的芯片的序列号进行多次DES变换和循环冗余码校验后的结果。
第二变换校验模块3连接第一变换校验模块2,使用公钥和解密私钥对密文数据的第二部分进行第二变换处理,并检查第二变换处理的结果与预存在芯片上的授权签名和插件编号是否相同,若相同则防伪验证通过。
在第二变换校验模块中,对密文数据的第二部分进行第二变换处理是指对密文数据的第二部分进行多次RSA变换处理,密文数据的第二部分是使用RSA算法中的公钥和加密私钥对主机插件所使用的芯片的授权签名和插件编号进行多次RSA变换处理后,将授权签名及RSA变换处理结果作为密文数据的第二部分保存。
尽管为使解释简单化将上述方法图示并描述为一系列动作,但是应理解并领会,这些方法不受动作的次序所限,因为根据一个或多个实施例,一些动作可按不同次序发生和/或与来自本文中图示和描述或本文中未图示和描述但本领域技术人员可以理解的其他动作并发地发生。
本领域技术人员将进一步领会,结合本文中所公开的实施例来描述的各种解说性逻辑板块、模块、电路、和算法步骤可实现为电子硬件、计算机软件、或这两者的组合。为清楚地解说硬件与软件的这一可互换性,各种解说性组件、框、模块、电路、和步骤在上面是以其功能性的形式作一般化描述的。此类功能性是被实现为硬件还是软件取决于具体应用和施加于整体系统的设计约束。技术人员对于每种特定应用可用不同的方式来实现所描述的功能性,但这样的实现决策不应被解读成导致脱离了本发明的范围。
结合本文所公开的实施例描述的各种解说性逻辑板块、模块、和电路可用通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其它可编程逻辑器件、分立的门或晶体管逻辑、分立的硬件组件、或其设计成执行本文所描述功能的任何组合来实现或执行。通用处理器可以是微处理器,但在替换方案中,该处理器可以是任何常规的处理器、控制器、微控制器、或状态机。处理器还可以被实现为计算设备的组合,例如DSP与微处理器的组合、多个微处理器、与DSP核心协作的一个或多个微处理器、或任何其他此类配置。
结合本文中公开的实施例描述的方法或算法的步骤可直接在硬件中、在由处理器执行的软件模块中、或在这两者的组合中体现。软件模块可驻留在RAM存储器、闪存、ROM存储器、EPROM存储器、EEPROM存储器、寄存器、硬盘、可移动盘、CD-ROM、或本领域中所知的任何其他形式的存储介质中。示例性存储介质耦合到处理器以使得该处理器能从/向该存储介质读取和写入信息。在替换方案中,存储介质可以被整合到处理器。处理器和存储介质可驻留在ASIC中。ASIC可驻留在用户终端中。在替换方案中,处理器和存储介质可作为分立组件驻留在用户终端中。
在一个或多个示例性实施例中,所描述的功能可在硬件、软件、固件或其任何组合中实现。如果在软件中实现为计算机程序产品,则各功能可以作为一条或更多条指令或代码存储在计算机可读介质上或藉其进行传送。计算机可读介质包括计算机存储介质和通信介质两者,其包括促成计算机程序从一地向另一地转移的任何介质。存储介质可以是能被计算机访问的任何可用介质。作为示例而非限定,这样的计算机可读介质可包括RAM、ROM、EEPROM、CD-ROM或其它光盘存储、磁盘存储或其它磁存储设备、或能被用来携带或存储指令或数据结构形式的合意程序代码且能被计算机访问的任何其它介质。任何连接也被正当地称为计算机可读介质。例如,如果软件是使用同轴电缆、光纤电缆、双绞线、数字订户线(DSL)、或诸如红外、无线电、以及微波之类的无线技术从web网站、服务器、或其它远程源传送而来,则该同轴电缆、光纤电缆、双绞线、DSL、或诸如红外、无线电、以及微波之类的无线技术就被包括在介质的定义之中。如本文中所使用的盘(disk)和碟(disc)包括压缩碟(CD)、激光碟、光碟、数字多用碟(DVD)、软盘和蓝光碟,其中盘(disk)往往以磁的方式再现数据,而碟(disc)用激光以光学方式再现数据。上述的组合也应被包括在计算机可读介质的范围内。
提供对本公开的先前描述是为使得本领域任何技术人员皆能够制作或使用本公开。对本公开的各种修改对本领域技术人员来说都将是显而易见的,且本文中所定义的普适原理可被应用到其他变体而不会脱离本公开的精神或范围。由此,本公开并非旨在被限定于本文中所描述的示例和设计,而是应被授予与本文中所公开的原理和新颖性特征相一致的最广范围。