位置:51电子网 » 技术资料 » 单 片 机

SmartLock并口单片机软件狗加密技术

发布时间:2007/9/10 0:00:00 访问次数:960

    摘要:介绍一套单片机软件狗加密系统——SmartLock。它安装在微机并行口上,通过并口与加密软件进行通信,主要使用代码移植的方法实现软件加密。该系统具有加密可靠、使用方便、兼容性好等特点。

    关键词:软件加密 并行口 单片机 代码移值

由于加密给软件开发者和用户带来了许多不便和麻烦,因此,全球软件业的趋势是开发不加密软件,依靠版权法来保持软件开发者的权益。但对于一些大型的工程应用软件系统如:AutoCAD、Xilinx FPGA开发系统等,由于销量小、成本高,不得已仍然需要使用软件加密技术。另外,对于某些敏感行业的应用软件也必须实行软件加密,对程序代码进行保护。

早期的软件加密方法有:软盘或硬盘加密、加密卡等,由于加密性能、兼容性能或使用不方便等方面的原因被淘汰。目前广流行的是软件狗硬件电路加密法,其中又以使用单片机的加密技术最为可靠。其硬件通常带有智能抗分析技术,不可复制,且加密方式灵活、工作可靠、运行速度快、使用方便,不失为软件加密的一种优选方法。

SmartLock软件狗加密系统的硬件部分外形类似火柴盒,两头分别带有一个IEEE-1284并行口的公头和母头,串接在并行口和打印机之间。软件狗使用的是Atmel公司的89C2051单片机,芯片从微机并行口取电,通过并口与加密软件进行通信,系统主要使用代码移值技术实现软件加密。

1 Smart Lock系统的硬件设计

通过研究微机打印口接口电路、IEEE-1284并口通信标准和89C2051型单片机特性,设计出SmartLock加密系统的硬件电路如图1所示。有89C2051单片机、3个锗二极管、1个12MHz晶振、2个30pF瓷片电容和1个电阻共8个元件。系统从并行口中共引出了11根端口线,其中有8根数据线D0~D7、1根状态线ACK(低电平有效,当打印机接收完一字节数据允许微机发送下一字节数据时,发给微机ACK信号)、1根控制线AUTOFEED(低电平有效,打印机自动换行信号)和地线GND。

微机的标准并口并不提供+5V电源,所以只有从驱动能力较强的数据口“借电”。依据IBM PC AT/XT设计标准,并行口数据位的高电平(4.5V)输出电流为2.5mA(旧式的TTL型)或15mA(CMOS型),而89C2051单片机的典型工作电流为5.5mA/3V,工作频率为12MHz。所以使用D4~D6三根数据线经锗二极管并在一起作为单片机电源(采用锗管的原因是因为它的压降较小,只有0.4V)。同时为减少软件狗硬件的功耗,电路设计得极其简洁,除了单片机,没有其它有源器件。

单片机复位使用的是上电自动复位电路。因此微机对并行口供电几百毫秒之后,单片机才进入正常工作状态。

2 并口通信协议

软件狗使用数据口的D0~D3及D7作为微机向单片机传送数据的前向数据通道(一次送半字节数据,用D7位标志高/低半字节);并口控制/状态信号中的AUTOFEED和ACK平时不常用,所以这里用来作为微机向单片机传送数据时的握手信号。AUTOFEED信号为高电平,则表示微机已准备好待传送数据,此协议中称为DR(data ready)信号;ACK信号为低电平,表示单片机已准备好接收数据,此协议中称为PR(peripheral ready)信号。

    软件狗从微机接收数据的时序如图2所示。具体步骤是:

(1)微机中的加密程序将DR(AutoFeed)控制线设置为0,然后在并口的D4~D6数据线

    摘要:介绍一套单片机软件狗加密系统——SmartLock。它安装在微机并行口上,通过并口与加密软件进行通信,主要使用代码移植的方法实现软件加密。该系统具有加密可靠、使用方便、兼容性好等特点。

    关键词:软件加密 并行口 单片机 代码移值

由于加密给软件开发者和用户带来了许多不便和麻烦,因此,全球软件业的趋势是开发不加密软件,依靠版权法来保持软件开发者的权益。但对于一些大型的工程应用软件系统如:AutoCAD、Xilinx FPGA开发系统等,由于销量小、成本高,不得已仍然需要使用软件加密技术。另外,对于某些敏感行业的应用软件也必须实行软件加密,对程序代码进行保护。

早期的软件加密方法有:软盘或硬盘加密、加密卡等,由于加密性能、兼容性能或使用不方便等方面的原因被淘汰。目前广流行的是软件狗硬件电路加密法,其中又以使用单片机的加密技术最为可靠。其硬件通常带有智能抗分析技术,不可复制,且加密方式灵活、工作可靠、运行速度快、使用方便,不失为软件加密的一种优选方法。

SmartLock软件狗加密系统的硬件部分外形类似火柴盒,两头分别带有一个IEEE-1284并行口的公头和母头,串接在并行口和打印机之间。软件狗使用的是Atmel公司的89C2051单片机,芯片从微机并行口取电,通过并口与加密软件进行通信,系统主要使用代码移值技术实现软件加密。

1 Smart Lock系统的硬件设计

通过研究微机打印口接口电路、IEEE-1284并口通信标准和89C2051型单片机特性,设计出SmartLock加密系统的硬件电路如图1所示。有89C2051单片机、3个锗二极管、1个12MHz晶振、2个30pF瓷片电容和1个电阻共8个元件。系统从并行口中共引出了11根端口线,其中有8根数据线D0~D7、1根状态线ACK(低电平有效,当打印机接收完一字节数据允许微机发送下一字节数据时,发给微机ACK信号)、1根控制线AUTOFEED(低电平有效,打印机自动换行信号)和地线GND。

微机的标准并口并不提供+5V电源,所以只有从驱动能力较强的数据口“借电”。依据IBM PC AT/XT设计标准,并行口数据位的高电平(4.5V)输出电流为2.5mA(旧式的TTL型)或15mA(CMOS型),而89C2051单片机的典型工作电流为5.5mA/3V,工作频率为12MHz。所以使用D4~D6三根数据线经锗二极管并在一起作为单片机电源(采用锗管的原因是因为它的压降较小,只有0.4V)。同时为减少软件狗硬件的功耗,电路设计得极其简洁,除了单片机,没有其它有源器件。

单片机复位使用的是上电自动复位电路。因此微机对并行口供电几百毫秒之后,单片机才进入正常工作状态。

2 并口通信协议

软件狗使用数据口的D0~D3及D7作为微机向单片机传送数据的前向数据通道(一次送半字节数据,用D7位标志高/低半字节);并口控制/状态信号中的AUTOFEED和ACK平时不常用,所以这里用来作为微机向单片机传送数据时的握手信号。AUTOFEED信号为高电平,则表示微机已准备好待传送数据,此协议中称为DR(data ready)信号;ACK信号为低电平,表示单片机已准备好接收数据,此协议中称为PR(peripheral ready)信号。

    软件狗从微机接收数据的时序如图2所示。具体步骤是:

(1)微机中的加密程序将DR(AutoFeed)控制线设置为0,然后在并口的D4~D6数据线

相关IC型号

Warning: Undefined variable $stockkeys in G:\website_51dzw\www.51dzw.com\code\tech\view.php on line 152

热门点击

 

推荐技术资料

硬盘式MP3播放器终级改
    一次偶然的机会我结识了NE0 2511,那是一个远方的... [详细]
版权所有:51dzw.COM
深圳服务热线:13751165337  13692101218
粤ICP备09112631号-6(miitbeian.gov.cn)
公网安备44030402000607
深圳市碧威特网络技术有限公司
付款方式


 复制成功!