基于硬件的非易失性计算机系统的加密方法及计算机的制作方法

文档序号:6597582阅读:249来源:国知局
专利名称:基于硬件的非易失性计算机系统的加密方法及计算机的制作方法
技术领域
本发明涉及计算机技术领域,特别涉及一种基于硬件的非易失性计算机系统的加 密方法及计算机。
背景技术
计算机软件的研发投入是非常巨大的,特别是计算机系统软件。然而目前很多地 区的用户对计算机软件的知识产权意识却非常淡薄,致使盗版市场的存在,各软硬件公司 为了防止研发投入不付之东流,不仅要在软件功能上精益求精,还需要在软件加密上绞尽 脑汁。目前常用的软件加密方法有厂商提供序列号加密,或提供USB (Universal Serial Bus,通用串行总线)、LPT(line print terminal,打印终端,)等加密狗加密,网上注册认证 等五花八门的加密方法。另外还有一些加密方法是完全通过BIOS (Basic Input/Output System,基本输 入输出系统),就是加密和解密程序都存放在BIOS中,密码存放在CMOS (Complementary Metal Oxide Semiconductor,互补金属氧化物半导体)中,如果CMOS掉电就会出现密码失 效等问题。在一些情况下,整颗BIOS资料文件容易被别人用机器读出来,造成信息丢失或 被盗用的可能。由此可见,目前的软件加密方法都有或多或少的缺陷,比如我们常见的序列号认 证,它比较容易被人跟踪和破解,网络认证对网络的依赖,也并不太实用,USB、LPT等加密狗 加密不仅增加了成本,而且也较容易被人跟踪和破解,BIOS加密解密容易丢失信息等。

发明内容
本发明提供一种基于硬件的非易失性计算机系统的加密方法及计算机,以提供一 种成本低、安全性高、不易遗失的计算机系统加密方法。为了实现上述目的,本发明提供以下技术方案—种基于硬件的非易失性计算机系统的加密方法,其包括步骤对计算机系统的硬件特征码进行加密;将所述加密之后的硬件特征码生成的二进制加密信息表保存在BIOS中。其中,优选的,所述将所述加密之后的硬件特征码生成的二进制加密信息表保存 在BIOS中之后,进一步包括步骤将解密文件以二进制文件形式存放在所述BIOS中。其中,优选的,所述计算机系统的硬件特征码至少包括磁盘序列号、中央处理器 ID、网卡MAC地址或GPIO状态中的三种或三种以上。其中,优选的,所述对计算机系统的硬件特征码进行加密,之前进一步包括;所述BIOS在上电开机的过程中检测计算机系统的硬件特征码是否已经加密,如 果已经加密,进入解密程序,如果没有加密,提示是否需要加密,选择需要加密,此时根据输 入的许可码进入DOS系统启动加密软件对计算机系统的硬件特征码进行加密。
其中,优选的,对所述计算机系统的多个硬件特征码进行分层递进加密。本发明还提供一种计算机,其包括加密单元,用于对计算机系统的硬件特征码进行加密;信息保存单元,用于将所述加密之后的硬件特征码生成的二进制加密信息表保存 在BIOS中。其中,优选的,所述信息保存单元,还用于将解密文件以二进制文件形式存放在所 述BIOS中。其中,优选的,所述计算机系统的硬件特征码至少包括磁盘序列号、中央处理器 ID、网卡MAC地址或GPIO状态中的三种或三种以上。其中,优选的,该计算机还包括;判断单元,用于通过所述BIOS在上电开机的过程 中检测计算机系统的硬件特征码是否已经加密,如果已经加密,进入解密程序,如果没有加 密,提示是否需要加密,选择需要加密,此时根据输入的许可码进入DOS系统启动加密软件 对计算机系统的硬件特征码进行加密。其中,优选的,所述加密单元,用于对所述多个计算机系统的硬件特征码进行分层 递进加密。通过以上技术方案可以看出,本发明提供基于硬件的非易失性计算机系统的加密 方法及计算机,加密软件和解密程序分开进行,但是又相互紧密联系,通过在DOS下使用应 用软件进行加密,灵活方便,操作简单,可以对整个计算机系统的硬件特征码进行加密。将 多个硬件特征码一起加密,显著增强了破解的难度。同时把加密之后的信息表保存为二进 制文件,写进BIOS存储芯片,不容易丢失,也很难跟踪。而解密程序则放在BIOS中,先编译 成二进制文件,然后和BIOS源代码一起编译,嵌入在BIOS中,开机过程中进行分段解密,基 本上没有办法做到动态跟踪,所以安全性较其它方法有明显增强,成本更加低廉。


图1为本发明实施例提供的基于硬件的非易失性计算机系统逐级嵌套加密方法 流程图;图2为本发明实施例提供的基于硬件的非易失性计算机系统逐级嵌套加密方法 流程图;图3为本发明实施例提供的基于硬件的非易失性计算机系统加密方法工作流程 图;图4为本发明实施例提供的计算机结构示意图。
具体实施例方式为了更好的理解本发明的技术方案,下面结合附图详细描述本发明提供的实施 例。对计算机系统的硬件特征码进行加密,将所述加密之后的硬件特征码生成的二进 制加密信息表保存在BIOS中,将解密文件以二进制文件形式存放在所述BIOS中,以进行解 密,如图1所示。具体为
通过加密软件对计算机系统的硬件特征码进行加密,加密软件是存放在可启动到 DOS的磁盘系统中,比如U盘、CF卡(Compact Flash,用于便携式电子设备的数据存储设 备)、硬盘等存储设备上。这些关键设备可以保存在特殊的人手里或特殊的地方,不但容易 保存,而且保密性好。另外,每台计算机都会有一个连接硬件和操作系统的firmware (是固 化在了硬件中的软件),我们称谓BIOS存储芯片,里面存放BIOS资料,把解密程序先编译 成一个二进制文件,然后把二进制文件和BIOS源代码一起编译成一颗完整的BIOS文件,在 BIOS开机的过程中,对每一个硬件设备例如CPU(中央处理器)、芯片组、以及硬盘等进 行检测并初始化完成之后,再运行我们的解密程序,进行分段解密,以判断是否是合法用户 的系统。对计算机系统的加密是在DOS系统中进行,当需要对计算机系统加密的时候,重 新启动计算机系统进入DOS系统,启动应用软件对整个计算机系统的硬件特征码进行加 密,加密之后生成一个二进制的加密信息表,写入到BIOS存储芯片中,在BIOS的存储芯片 中预先留出一块空间,用来存储加密信息表。BIOS在上电开机的过程中检测计算机系统的硬件特征码是否已经加密,如果已 经加密,进入解密程序,如果没有加密,提示是否需要加密,选择需要加密,此时需要输入许 可码进入DOS系统启动加密软件进行加密,我们的加密方法根据计算机系统的硬件特征码 [例如磁盘序列号、中央处理器ID、网卡MAC (Media Access Control,媒体访问控制)地 址、GP 1/0 (General Purposehput/Output、通用输入/输出或总线扩展器利用工业标准) 状态等],不同的硬件特征码采用不同的加密算法。磁盘序列号、中央处理器ID等,利用 字符串与数据进行异或,并进行字节移位加密,并互相产生关联文件,在磁盘序列号中加入 CPUID (用户计算机当前的中央处理器的信息)、GP 1/0状态等信息,解密磁盘序列号,需要 读取到正确的CPUID和GP 1/0状态等才能解密,否则,磁盘数据将无法被读取和识别。网 卡MAC地址通过读取EEPROM中的MAP文件,对MAC地址以及整个的寄存器进行逐个加密, 产生一个校验码,GP 1/0状态根据硬件的电平进行移位组合,电平反向,读取CPUID的最后 两个参数进行电平使能等操作进行加密,通过读取内存SPD(SERIALPRESENCE DETECT,模组 存在的串行检测)中的Memory (记忆)频率来控制芯片组中的USB控制器、声卡控制器、显 卡控制器等等,如果Memory频率解密之后运行正确,BIOS才会打开相应控制器,主板才会 正常使用,由于BIOS开机过程中,设备的初始化是有先后顺序的,所以在进行加密算法的 时候,后面初始化的设备关联前面初始化的设备进行加密,以此类推,整个计算机系统的硬 件特征码互相关联加密,层层递进加密,只有满足所有条件,所有计算机系统设备安装在一 起,才可以成功解密,相反,任何一个设备在其它地方都不能使用。最后使用4个双字(1 位)的数作为产生随机数的种子,再加上第五个双字来做XOR操作。这个算法产生了一系 列的随机数,然后生成一个二进制加密信息表写入到BIOS存储芯片中,然后软件启动校验 程序,判断加密是否成功,如果没有成功加密计算机硬件特征码则自动启动加密软件进行 加密,直到成功加密,成功加密之后,重启计算机系统,如图1和图3所示。当计算机系统工作时,计算机认证该硬件特征码是否匹配,对系统解密,具体为完成上述加密工作后,现在的计算机系统已经加密,解密程序以二进制文件存放 在BIOS中,BIOS开机过程中,当初始化完第一个加密的硬件特征码之后,根据存放在BIOS中的加密信息表进行解密,接着初始化到第二个加密的硬件特征码之后,进行第二个硬件 特征码进行解密,由于第二个硬件特征码和第一个硬件特征码关联,所以需要对第一个硬 件特征码和第二个硬件特征码同时进行解密,以此类推,逐级分段进行解密,直到整个计算 机系统的硬件特征码被全部解密。如果解码匹配,在第一个设备解码时候提示输入用户许 可码,用户许可码正确则启动解码算法解密,否则计算机系统重启,完整成功解密之后进入 操作系统,本解密算法采用逐级分段解密,破解难度高,解密算法效率高。如图2所示。本发明实施例还提供一种计算机,如图4所示,其包括加密单元401,用于对计算机系统的硬件特征码进行加密;具体的,所述加密单元 401,用于对所述多个计算机系统的硬件特征码进行分层递进加密。信息保存单元402,用于将所述加密之后的硬件特征码生成的二进制加密信息表 保存在BIOS中。进一步的实施例中,所述信息保存单元402,还用于将解密文件以二进制文件形式 存放在所述BIOS中。其中,所述计算机系统的硬件特征码至少包括磁盘序列号、中央处理器ID、网卡 MAC地址或GP I/O状态中的两种。其中,进一步实施例中,该计算机还包括;判断单元403,用于通过所述BIOS在上 电开机的过程中检测计算机系统的硬件特征码是否已经加密,如果已经加密,进入解密程 序,如果没有加密,提示是否需要加密,选择需要加密,此时根据输入的许可码进入DOS系 统启动加密软件对计算机系统的硬件特征码进行加密。以上对本发明实施例所提供的一种基于硬件的非易失性计算机系统的加密方法 及计算机进行了详细介绍,对于本领域的一般技术人员,依据本发明实施例的思想,在具体 实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的 限制。
权利要求
1.一种基于硬件的非易失性计算机系统的加密方法,其特征在于,包括步骤对计算机系统的多个硬件特征码进行加密;将所述加密之后的硬件特征码生成的二进制加密信息表保存在BIOS中。
2.如权利要求1所述加密方法,其特征在于,所述将所述加密之后的硬件特征码生成 的二进制加密信息表保存在BIOS中之后,进一步包括步骤将解密文件以二进制文件形式存放在所述BIOS中。
3.如权利要求1所述加密方法,其特征在于,所述计算机系统的硬件特征码至少包括 磁盘序列号、中央处理器ID、网卡MAC地址或GPIO状态中的三种或三种以上。
4.如权利要求1所述加密方法,其特征在于,所述对计算机系统的硬件特征码进行加 密,之前进一步包括;所述BIOS在上电开机的过程中检测计算机系统的硬件特征码是否已经加密,如果已 经加密,进入解密程序,如果没有加密,提示是否需要加密,选择需要加密,此时根据输入的 许可码进入DOS系统启动加密软件对计算机系统的硬件特征码进行加密。
5.如权利要求3所述加密方法,其特征在于,对所述计算机系统的多个硬件特征码进 行分层递进加密。
6.一种计算机,其特征在于,包括加密单元,用于对计算机系统的硬件特征码进行加密;信息保存单元,用于将所述加密之后的硬件特征码生成的二进制加密信息表保存在 BIOS 中。
7.如权利要求6所述计算机,其特征在于,所述信息保存单元,还用于将解密文件以二 进制文件形式存放在所述BIOS中。
8.如权利要求6所述计算机,其特征在于,所述计算机系统的硬件特征码至少包括磁 盘序列号、中央处理器ID、网卡MAC地址或GPIO状态中的三种或三种以上。
9.如权利要求6所述计算机,其特征在于,还包括;判断单元,用于通过所述BIOS在上 电开机的过程中检测计算机系统的硬件特征码是否已经加密,如果已经加密,进入解密程 序,如果没有加密,提示是否需要加密,选择需要加密,此时根据输入的许可码进入DOS系 统启动加密软件对计算机系统的硬件特征码进行加密。
10.如权利要求8所述计算机,其特征在于,所述加密单元,用于对所述多个计算机系 统的硬件特征码进行分层递进加密。
全文摘要
本发明提供一种基于硬件的非易失性计算机系统的加密方法及计算机,该方法包括步骤对计算机系统的多个硬件特征码进行加密;将所述加密之后的硬件特征码生成的二进制加密信息表保存在BIOS中。以提供一种成本低、安全性高、不易遗失的计算机系统加密方法和计算机。
文档编号G06F9/445GK102129535SQ201010044459
公开日2011年7月20日 申请日期2010年1月20日 优先权日2010年1月20日
发明者谭刚 申请人:深圳华北工控股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1