基于STM32F107VC单片机的智能软件狗设计
介绍一种基于
STM32F107VC单片机93C46串行EEPROM智能型软件狗的硬件和软件设计。本软件狗利用微控制器的特点,利用简化的DES算法进行加密,增加了软件狗的破解难度。单片机软件狗数据加密随着各种计算机应用软件、工具软件的涌现,由此引起的计算机知识产权案件层出不穷,引出了计算机安全保密技术在计算机软件版权保护中应用的新课题。实现计算机版权保护的技术方法很多,概括起来可以分为三大类:软件法、硬件法、软硬件结合法。软硬件结合法结合了软件法和硬件法的特点。从软件设计上增加反跟踪的难度,从硬件上增加仿制和状态分析难度。
本文介绍的软件狗使用软硬件结合法,属于第五代软件狗。硬件原理由于软件狗插在PC打印口上,因此软件狗的硬件设计除了满足其软件保护功能外,还必须着力解决如下三个问题:由于PC的打印口没有提供电源线,要使单片机和串行EEPROM芯片工作,就必须想办法为它们提供电源,并且必须采用低功耗设计;不能影响PC对打印机的正常操作;硬件成本必须足够低。
STM32F107VC系列单片机是使用Harvard总线和RISC结构的单片机,具有功耗低、高速、开发容易、价位低、体积小等特点。93C46B是采用CMOS工艺制造的64%26;#215;16bit结构8引脚的串行可用电擦除可编程只读存储器,同样具有功耗低、价位低、体积小等特点。这两种器件能够满足对硬件设计的低功耗和低成本的要求。
PC打印口中数据线和控制线为输出线,控制线的驱动能力较强。为了不影响打印机的工作,只能选择一根不常用并且不会让打印机误动作的控制线(初始化线IP)为软件狗提供电源。但单片机对串行EEPROM编程时系统需要的功率比较大,因此在软件狗工作时又用了一根数据线(D7)提供更大的电源电流。本软件狗工作于三种状态:当IP和D7都为低电平时,软件狗不工作;当IP为高电平时,软件狗工作于低功耗状态:当IP和D7都为高电平时,软件狗工作于正常状态,此时可以对软件狗进行任何操作。由于IP信号只有在PC系统启动时为高电平,一般情况下驱动程序和应用软件很少对此信号线进行操作,平时此信号线一般保持低电平。因此软件狗控制软件可以将此信号线置为高电平使单片机可靠复位,并进行一定的初始化工作。
单片机程序包括对93C46的操作、与PC通讯接口、数据编码、工作状态控制等功能。PC程序包括本软件狗开发用的测试工具程序、用户定制软件狗的工具程序、软件狗随用户程序发行时的动态链接库程序。PC向软件狗送数据时使用并口的选择输入线,数据线的D3~D0。单片机在PCRDY信号的下降沿读取数据,每一个字节分两次发送,先发低四位,后发高四位。软件狗向PC方向发送数据时使用并口的选择输入线、应答(ACK,这里称之为DO)线、选择线。软件狗向PC发送数据时按先发低位后发高位的顺序串行地将数据发给PC,一个字节分8次发完。对DES加密算法分析后进行了简化,用来对数据进行加密。DES加密算法的核心思想是使加密后的数据没有显著的变化规律,一个方面使不同被加密数据加密后,原始数据一位的变化会引起后密后数据多处无明显规律变化,即变化扩展原则;另一方面使用密钥,密钥的作用是将被加密数据与之进行运算以改变原始数据。综合这两个方面的原则,采取了将被加密数据“换位一与密钥异或”8次的加密方法。
北京首矽致芯科技有限公司
技术支持:010-57436216 15313166209 Q Q:1002668449
联系 Q Q:1002668449
联系邮箱:1002668449@qq.com
传真: 010--89146454
地址:北京市昌平区北清路1号珠江摩尔国际中心6号楼1单元1105 邮编:10220