一种采用多用途辅助单片机的系统加密方法

文档序号:6533921阅读:86来源:国知局
专利名称:一种采用多用途辅助单片机的系统加密方法
技术领域
本发明涉及一种计算机程序加密方法,特别是涉及一种采用多用途辅助单片机的系统加密方法。
背景技术
目前,采用微处理器的复杂控制系统中,由于软件程序量大,所需的程序存储器(ROM)也相对要求较大,通常采用的架构是微处理器+程序存储器的两片结构。同时从开发的方便性及生产可操作性出发,程序存储器一般采用可擦写程序存储器(FLASH ROM)。由于FLASH ROM本身所固有的特点,程序能够被读出复制,使得系统在硬件被拷贝的情况下毫无保密可言。为解决该问题,通常在微处理器和FLASH ROM之间数据读取引进可编程逻辑器件来加密,但是,由于可编程逻辑器件价格昂贵、使用方便性差,而且需要增加硬件电路,使得系统复杂,可维护性相对较差。
现有的复杂控制系统通常由主处理器1′、程序存储器2′(ROM/Flash)和辅助单片机3′组成,系统示意框图如

图1所示,主处理器1′完成主要的数据运算处理及控制功能,ROM/Flash是主处理器的程序存储器2′,辅助单片机3′用来完成系统待机时的各种控制及其他简单的控制功能,辅助单片机3′与主处理器1′之间采用I2C总线通讯。现有的这种系统的保密性是非常低的,对于硬件电路,要COPY是非常简单的,我们所说的保密性一般都是针对软件程序方面的。在这个系统中,主处理器1′的软件程序存储在程序存储器2′(ROM/Flash)中,而由于ROM/Flash的本身特性,存储在其内部的软件程序很容易被COPY的;辅助单片机3′的软件程序存储在其内部集成的程序存储器中,如果不采取防COPY措施,也很容易被COPY,就算使用烧死(防读出)程序存储器的方法来防止程序被COPY,但由于辅助单片机3′功能简单,软件程序量小,要编写出与主处理器1′相匹配的程序也很容易,所需时间也很少,甚至某些系统在去掉辅助单片机3′的情况下还能完成系统的主要功能,如此要COPY整个系统是非常简单的。

发明内容
本发明的目的在于克服现有技术之不足,提供一种采用多用途辅助单片机的系统加密方法,在使用带内置烧死(防读出)程序存储器的单片机的基础上,通过在主处理器程序和辅助单片机程序中增加约定加密协议算法的密码校验的方式,使得系统在密码出错时启动保护功能,达到系统加密的目的。
本发明解决其技术问题所采用的技术方案是一种采用多用途辅助单片机的系统加密方法,它包括如下步骤a.将设有约定加密协议算法的主处理器程序和辅助单片机程序分别存入主处理器的程序存储器和单片机的程序存储器中,所述的约定加密协议算法为可逆算法或不可逆算法;在主处理器程序中设有一个或多个进入运行加密协议通讯的校验点;所述的辅助单片机程序采用烧死方式固化于单片机的程序存储器中;b.启动系统工作,主处理器运行主处理器程序,辅助单片机运行辅助单片机程序;c.主处理器程序运行至校验点时,由主处理器产生一随机数作为明码通过主处理器与辅助单片机之间的通信总线发送给辅助单片机;d.辅助单片机将收到的由主处理器发送过来的明码按所述的约定加密协议算法加密生成密码,并将密码通过主处理器与辅助单片机之间的通信总线发送给主处理器;e.主处理器将辅助单片机发送的密码按所述的约定加密协议算法解密还原成明码,并将解密还原的明码与原先产生的明码进行比较核对;或主处理器将自身所产生的随机数按所述的约定加密协议算法加密生成一密码,并将该密码与由辅助单片机发送过来的密码进行比较核对;f.当对应的两明码或两密码相一致时,主处理器继续运行后续程序或包括重复步骤c;当对应的两明码或两密码不一致时,主处理器拒绝运行后续程序,系统结束运行。
本发明的系统加密方法,是在现有的复杂控制系统的硬件电路中将辅助单片机更改为带内置烧死(防读出)程序存储器的单片机,其他硬件结构完全一样,程序上则在主处理器与辅助单片机之间的通讯中采用一个加密协议,从而来实现系统加密的目的。
本发明的系统加密方法,其校验点可以设置一个,比如设定在系统需执行任务之前;校验点也可以设置多个,比如设定在程序运行的过程中。
当程序运行到校验点时,由主处理器生成一个随机数发送给辅助单片机,辅助单片机接收到此随机数后按照约定加密协议算法生成一个密码发回给主处理器。在主处理器中,根据约定加密协议算法中的可逆算法或不可逆算法,分别采取对应的方式进行比较核对,当约定加密协议算法是选用可逆算法时,主处理器按照约定加密协议算法将辅助单片机发送过来的密码解密还原成明码,并将此明码与主处理器原先产生的随机数即明码进行比较核对,如果相等则表示通讯成功,主处理器执行相应的任务,如果不相等则表示通讯失败,主处理器不执行相应的任务;当约定加密协议算法是选用不可逆算法时,主处理器按照约定加密协议算法将其生成的随机数转换成密码,并将此密码与辅助单片机发回的密码相比较,如果相等则表示通讯成功,主处理器执行相应的任务,如果不相等则表示通讯失败,主处理器不执行相应的任务。本发明的系统加密方法,在防COPY方面,虽然ROM/Flash中的主处理器的程序可以COPY出来,但由于辅助单片机采用的是带内置烧死(防读出)程序存储器的单片机,其程序不能被COPY,而且在没有辅助单片机的情况下整个系统不能工作,如果想通过自己编写辅助单片机程序来使系统工作,由于通讯时的密码是由随机数经过加密协议生成的,破解的难度非常大,所以整个系统具有非常高的安全系数,大大减小了系统被COPY的概率。
本发明的系统加密方法,其主处理器及外挂的程序存储器采用未加密的方式通讯和存储,可便于软件的修改升级等维护工作。主处理器的软件运行中的关键点都进行密码校验,也即将校验点设在程序运行的关键点处。
本发明的有益效果是,由于采用了在多微处理器系统中,取功能相对简单、软件程序量小的辅助微处理器(例如电源管理辅助微处理器)用带内置烧死(防读出)程序存储器的单片机替代,在主处理器程序和辅助单片机程序中增加约定加密协议算法的密码校验,由于辅助单片机采用的是带内置烧死(防读出)程序存储器的单片机,其程序不能被COPY,而且在没有辅助单片机的情况下整个系统不能工作,如果想通过自己编写辅助单片机程序来使系统工作,由于通讯时的密码是由随机数经过加密协议生成的,破解的难度非常大,所以整个系统具有非常高的安全系数,大大减小了系统被COPY的概率。
采用本发明的系统加密方法,具有如下优点1)采用算法加密,使用成熟的权威算法,确保系统不易受通讯波形分析和复制等攻击;2)使用安全的小单片机,无法读取和破解信息,并且试图研磨打开芯片时,芯片破碎无法判读,提高了数据的安全性;3)辅助单片机同时承担其它任务,使用极小的成本完成较高安全的加密,大大提高了解密的成本和代价;4)加密的过程简单,不影响原来硬件的设计和主处理器程序的修改,升级等生产和售后维护工作。
以下结合附图及实施例对本发明作进一步详细说明;但本发明的一种采用多用途辅助单片机的系统加密方法不局限于实施例。
图1是现有复杂控制系统的构成示意图;图2是本发明的系统构成示意图;图3是实施例一本发明的系统加密/校验示意流程图;图4是实施例一本发明的不可逆算法的加密示意流程图;图5是LCD TV的系统结构框图。
图6是实施例二本发明的可逆算法的加密示意流程图。
具体实施例方式
实施例一,参见图2至图4所示,本发明的一种采用多用途辅助单片机的系统加密方法,是在使用带内置烧死(防读出)程序存储器的单片机的基础上,通过在主处理器程序和辅助单片机程序中增加约定加密协议算法的密码校验的方式,使得系统程序不能够被读出而无法复制,达到系统加密的目的,其系统硬件通常包括主处理器1、ROM/Flash程序存储器2、辅助单片机3,在主处理器1及外挂的程序存储器2之间采用未加密的方式通讯和存储,这样,可便于软件的修改升级等维护工作。在主处理器1的软件运行中的关键点都进行密码校验,也即将校验点设在程序运行的关键点处。
系统加密方法包括如下步骤步骤a.将设有约定加密协议算法的主处理器程序和辅助单片机程序分别存入主处理器1的程序存储器2和单片机3的程序存储器中,所述的约定加密协议算法为不可逆算法;在主处理器程序中设有多个进入运行加密协议通讯的校验点;所述的辅助单片机程序采用烧死方式固化于单片机3的程序存储器中;步骤b.启动系统工作,主处理器1运行主处理器程序,辅助单片机3运行辅助单片机程序,如框101、框102所示;步骤c.主处理器程序运行至校验点时,由主处理器1产生一随机数作为明码通过主处理器1与辅助单片机3之间的通信总线I2C发送给辅助单片机3,如框103、框104、框105所示;步骤d.辅助单片机3将收到的由主处理器1发送过来的明码按所述的约定加密协议算法加密生成密码,并将密码通过主处理器1与辅助单片机3之间的通信总线I2C发送给主处理器1,如框106、框107、框108所示;步骤e.主处理器1将自身所产生的随机数按所述的约定加密协议算法加密生成一密码,并将该密码与由辅助单片机3发送过来的密码进行比较核对,如框109、框110、框111所示;f.当对应的两密码相一致时,主处理器1继续运行后续程序并包括重复步骤c,如框112所示;当对应的两密码不一致时,主处理器1拒绝运行后续程序,系统结束运行。
图4为不可逆算法的加密示意流程图;其中,
明码=Random16密钥=0x55aa加密算法密码=(明码>>1)^密钥=(Random16>>1)^0x55aa在主处理器1中,首先由主处理器1随机产生一个16位的数,见框201所示;这个16位的随机数作为明码发送给辅助单片机3,见框202所示;在辅助单片机3中,对由主处理器1发来的明码进行加密处理,即,将随机数先右移一位后,再与0x55aa异或后形成密码,见框203所示;然后,将密码发回主处理器1,见框204所示;在主处理器1中,将自身产生的16位随机数采用与辅助单片机3中相同的加密算法对随机数进行加密处理,即,将随机数先右移一位后,再与0x55aa异或后形成密码,见框205所示;然后,主处理器1将本身的密码和单片机3的密码进行比较核对,见框206所示,如果相等则表示正确,主处理器1继续运行,见框207所示,如果不相等则表示不正确,主处理器1拒绝运行,见框208所示。
该过程由I2C总线直接快速完成。由于随机数的参与,使得企图通过I2C总线通讯波形逻辑分析破解的代价大大提高。
采用本发明的系统加密方法,在防COPY方面,虽然ROM/Flash中的主处理器的程序可以COPY出来,但由于辅助单片机3采用的是带内置烧死(防读出)程序存储器的单片机,其程序很难被COPY,而且在没有辅助单片机3的情况下整个系统不能工作,如果想通过自己编写辅助单片机程序来使系统工作,由于通讯时的密码是由随机数经过加密协议生成的,破解的难度非常大,所以整个系统具有非常高的安全系数,大大减小了系统被COPY的概率。
比如可将本发明的加密方法用在LCD TV中,如图5所示,LCD TV系统的各种通道(RF、AV、VGA、HDTV等)的视频信号经过必要的处理或直接连接到SWITCH通道选择控制IC,SWITCH通道选择控制IC将被选定的通道的视频信号输送给主处理器Scaler,主处理器Scaler将视频信号经过各种优化处理后输出到液晶显示屏上显示出图像。此系统中的核心是主处理器,它完成绝大部分的控制和图像处理功能,主处理器Scaler外挂有ROM/Flash,用于存储主处理器程序,主处理器Scaler通过I2C总线与辅助单片机相连接。采用本发明的加密方法,则辅助单片机采用带内置烧死(防读出)程序存储器的单片机,在主处理器程序和辅助单片机程序中增加约定加密协议算法的密码校验,这样,虽然主处理器的程序可以被COPY,但由于辅助单片机的程序无法COPY,则主处理器与辅助单片机之间无法建立正常通讯,所以主处理器不会执行任何任务,整个系统无法正常工作。因此,可以有效防止LCD TV中主处理器程序被COPY使用的现象发生。
实施例二,参见图6所示,本发明的一种采用多用途辅助单片机的系统加密方法,与实施例一的不同之处在于,所采用的加密协议算法为可逆算法;因此,在步骤e中主处理器1将辅助单片机3发送的密码按所述的可逆算法的加密协议算法解密还原成明码,并将解密还原的明码与原先产生的明码进行比较核对;在步骤f中当对应的两明码相一致时,主处理器1继续运行后续程序或包括重复步骤c;当对应的两明码不一致时,主处理器1拒绝运行后续程序,系统结束运行。
图6为可逆算法的加密示意流程图;其中,明码=Random16
密钥=0x55aa加密算法密码=明码^密钥=Random16^0x55aa解密算法明码=密码^密钥=(Random16^0x55aa)^0x55aa在主处理器1中,首先由主处理器1随机产生一个16位的数,见框301所示;这个16位的随机数作为明码发送给辅助单片机3,见框202所示;在辅助单片机3中,对由主处理器1发来的明码进行加密处理,即,将随机数与0x55aa异或后形成密码,见框303所示;然后,将密码发回主处理器1,见框204所示;在主处理器1中,将辅助单片机3发来的密码进行解密处理,即,将辅助单片机3的密码再次与0x55aa异或后还原成明码,见框305所示;主处理器1将其自身随机产生的16位的数(即发送给单片机的明码)与辅助单片机3发来的密码被解码后还原成的明码进行比较核对,见框306所示,如果相等则表示正确,主处理器1继续运行,见框307所示,如果不相等则表示不正确,主处理器1拒绝运行,见框308所示。
权利要求
1.一种采用多用途辅助单片机的系统加密方法,其特征在于它包括如下步骤a.将设有约定加密协议算法的主处理器程序和辅助单片机程序分别存入主处理器的程序存储器和单片机的程序存储器中,所述的约定加密协议算法为可逆算法或不可逆算法;在主处理器程序中设有一个或多个进入运行加密协议通讯的校验点;所述的辅助单片机程序采用烧死方式固化于单片机的程序存储器中;b.启动系统工作,主处理器运行主处理器程序,辅助单片机运行辅助单片机程序;c.主处理器程序运行至校验点时,由主处理器产生一随机数作为明码通过主处理器与辅助单片机之间的通信总线发送给辅助单片机;d.辅助单片机将收到的由主处理器发送过来的明码按所述的约定加密协议算法加密生成密码,并将密码通过主处理器与辅助单片机之间的通信总线发送给主处理器;e.主处理器将辅助单片机发送的密码按所述的约定加密协议算法解密还原成明码,并将解密还原的明码与原先自身产生的明码进行比较核对;或主处理器将本身所产生的随机数按所述的约定加密协议算法加密生成一密码,并将该密码与由辅助单片机发送过来的密码进行比较核对;f.当对应的两明码或两密码相一致时,主处理器继续运行后续程序或包括重复步骤c;当对应的两明码或两密码不一致时,主处理器拒绝运行后续程序,系统结束运行。
全文摘要
本发明公开了一种采用多用途辅助单片机的系统加密方法,是在多微处理器系统中,取功能相对简单、软件程序量小的辅助微处理器(例如电源管理辅助微处理器)用带内置烧死(防读出)程序存储器的单片机替代,在主处理器程序和辅助单片机程序中增加按照约定加密协议算法的密码校验,使得程序不能够被读出而无法复制,从而达到系统加密的目的。
文档编号G06F1/00GK1971470SQ20051004542
公开日2007年5月30日 申请日期2005年11月24日 优先权日2005年11月24日
发明者林耀亮, 范锦华, 曾庆将 申请人:厦门华侨电子股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1