论文部分内容阅读
【摘要】采用单片机和片外存储设备实现的电子密码锁,存在着密码放置在外部芯片,容易通过外部芯片读取密码造成密码的丢失与扩散。本文论述的一种新型密码锁的设计,密码经过加密存储于控制芯片内部EEPROM,同时设计有芯片插拔逻辑控制,可以防止拆解电路等暴力破解造成的密码丢失与扩散。
【关键词】单片机 密码保护 密码锁
【中图分类号】TN918.2 【文献标识码】A 【文章编号】1009-9646(2008)11(a)-0234-01
1 引言
在一些需要密码保护的场合,比如门禁系统、考勤系统、工业控制柜等场所,需要密码进行控制,传统的机械锁由于操作复杂、故障率高、易被破解、精度差等缺点已逐步淡出应用领域。取而代之的是采用单片机和外部存储器搭接的电子密码锁,电子密码锁具有操作方便、设备简单可靠的优点。当时采用上述形势的电子密码锁存在着一个重要的安全隐患,就是当外部存储芯片被人取走后密码也就公开了,这样所有的密码系统密码必须重新设置,因此设计一种密码保护型的密码锁电路就显得十分必要。
2 设计思路
密码丢失扩散的主要原因在于密码的存储位置,国内最常见的普通51系列单片机内部仅有可在线编程的flash程序存储器却不具有非易失的可在程序编程的数据存储设备,然而密码在使用过程中是需要用户更新与维护的,所以大部分51体系的单片机密码锁设计中都采用了外置式的密码存储电路,例如外置的IIC串行总线EEPROM芯片24Cxx。这些芯片独立设在电路之中,非法用户如果一旦取得并采用普通编程器读出内设的密码,那么系统密码就存在扩散的危险,这时受到威胁的不仅仅是这个被破解的电路,而是整个密码系统的安全。如果采用加密的方式存放密码,情况会得到一些改善,但是仅仅也只是增加了非法用户的破解工序而已。由于单片机本身的运算能力所限,不能采用很强大的机密措施,所以这样的方法安全性也很值得怀疑。
Atmel公司生产的AVR-mega系列单片机内部除了传统单片都具有有可在线编程的flash程序存储器,还在芯片内部设置了512字节的EEPROM非易失可在程序编程的数据存储器。这样的设计为其用于具有密码保护功能的密码锁电路提供了很大的方便与设计灵活性。由于AVR-mega采用的程序存储器保护熔丝位深埋技术,使得其内部可在线编程的flash程序存储器被非法破解的可能性几乎不存在。如果我们在flash程序存储器中设置一段芯片掉电监测程序,当电路被非法操作时(例如:未经授权打开机柜)进入中断程序对内置的EEPROM数据存储器也就是密码部分进行擦除操作,这样密码就得到了保护。由于AVR-mega系列单片机的EEPROM数据存储器在芯片内部,而且AVR-mega系列单片机的供电电压可以低至2.7V,所以可在单个芯片上设置一个电池作为后备电源,这样即使侵入者切断外部供电,密码保护动作也可以继续正常执行。
3 具体设计
3.1 软件设计
AVR-mega系列单片机支持高级语言编程,可使用的有BASIC和C语言。同时片上拥有一个硬件比较器可以产生一个独立中断。所以在进行普通的密码锁设计的程序基础上只需要增加一个简单的中断服务子程序,就可以在非法操作时的对密码进行擦除动作。
具体程序流程如下:
3.2 硬件设计
由于密码保护是建立在用户非法入侵时密码擦除的方法上的。因此,后备电源的设计就显得十分重要。对于AVR-mega系列单片机而言,工作电压可以为2.7V~5V。同时,入侵检测的电压比较由其内部比较器完成。所以,在电路板上仅需一个普通的电池作为单片机后被供电电源即可。电路采用标准5V供电,通过2个4148进行简单的降压,这样在电池端获得3.6V的电压,在平时4148导通给电池充电,当外电源被切断时由电池继续对密码保护电路部分继续供电。
入侵检测采用微动开关s1电路完成,比较器AIN0脚接电位器RD1获得一个中间电位。当入侵发生时,微动开关由原来的闭合状态变为释放状态,导致比较器的AIN1脚电平由3.6V跌落至0V,中断产生,进入密码擦除工作方式。
4 总结
本设计利用了AVR-mega单片机片上资源丰富的优势,使得平常的密码锁程序控制部分、入侵检测部分、密码保护部分都统一的使用单芯片完成,这样的后备电源设计变得十分简单,电路的可靠性和密码的安全性得到极大的保证,实际制作结果也验证了密码保护的有效性。
参考文献
[1] 张宇,陈明,瞿赟.基于ARM7的嵌入式数据采集系统设计[J].电子测量技术, 2007,(01).
[2] AVR单片机ATmega8产品手册.
[3] 马潮,AVR单片机嵌入式系统原理与应用实践.
【关键词】单片机 密码保护 密码锁
【中图分类号】TN918.2 【文献标识码】A 【文章编号】1009-9646(2008)11(a)-0234-01
1 引言
在一些需要密码保护的场合,比如门禁系统、考勤系统、工业控制柜等场所,需要密码进行控制,传统的机械锁由于操作复杂、故障率高、易被破解、精度差等缺点已逐步淡出应用领域。取而代之的是采用单片机和外部存储器搭接的电子密码锁,电子密码锁具有操作方便、设备简单可靠的优点。当时采用上述形势的电子密码锁存在着一个重要的安全隐患,就是当外部存储芯片被人取走后密码也就公开了,这样所有的密码系统密码必须重新设置,因此设计一种密码保护型的密码锁电路就显得十分必要。
2 设计思路
密码丢失扩散的主要原因在于密码的存储位置,国内最常见的普通51系列单片机内部仅有可在线编程的flash程序存储器却不具有非易失的可在程序编程的数据存储设备,然而密码在使用过程中是需要用户更新与维护的,所以大部分51体系的单片机密码锁设计中都采用了外置式的密码存储电路,例如外置的IIC串行总线EEPROM芯片24Cxx。这些芯片独立设在电路之中,非法用户如果一旦取得并采用普通编程器读出内设的密码,那么系统密码就存在扩散的危险,这时受到威胁的不仅仅是这个被破解的电路,而是整个密码系统的安全。如果采用加密的方式存放密码,情况会得到一些改善,但是仅仅也只是增加了非法用户的破解工序而已。由于单片机本身的运算能力所限,不能采用很强大的机密措施,所以这样的方法安全性也很值得怀疑。
Atmel公司生产的AVR-mega系列单片机内部除了传统单片都具有有可在线编程的flash程序存储器,还在芯片内部设置了512字节的EEPROM非易失可在程序编程的数据存储器。这样的设计为其用于具有密码保护功能的密码锁电路提供了很大的方便与设计灵活性。由于AVR-mega采用的程序存储器保护熔丝位深埋技术,使得其内部可在线编程的flash程序存储器被非法破解的可能性几乎不存在。如果我们在flash程序存储器中设置一段芯片掉电监测程序,当电路被非法操作时(例如:未经授权打开机柜)进入中断程序对内置的EEPROM数据存储器也就是密码部分进行擦除操作,这样密码就得到了保护。由于AVR-mega系列单片机的EEPROM数据存储器在芯片内部,而且AVR-mega系列单片机的供电电压可以低至2.7V,所以可在单个芯片上设置一个电池作为后备电源,这样即使侵入者切断外部供电,密码保护动作也可以继续正常执行。
3 具体设计
3.1 软件设计
AVR-mega系列单片机支持高级语言编程,可使用的有BASIC和C语言。同时片上拥有一个硬件比较器可以产生一个独立中断。所以在进行普通的密码锁设计的程序基础上只需要增加一个简单的中断服务子程序,就可以在非法操作时的对密码进行擦除动作。
具体程序流程如下:
3.2 硬件设计
由于密码保护是建立在用户非法入侵时密码擦除的方法上的。因此,后备电源的设计就显得十分重要。对于AVR-mega系列单片机而言,工作电压可以为2.7V~5V。同时,入侵检测的电压比较由其内部比较器完成。所以,在电路板上仅需一个普通的电池作为单片机后被供电电源即可。电路采用标准5V供电,通过2个4148进行简单的降压,这样在电池端获得3.6V的电压,在平时4148导通给电池充电,当外电源被切断时由电池继续对密码保护电路部分继续供电。
入侵检测采用微动开关s1电路完成,比较器AIN0脚接电位器RD1获得一个中间电位。当入侵发生时,微动开关由原来的闭合状态变为释放状态,导致比较器的AIN1脚电平由3.6V跌落至0V,中断产生,进入密码擦除工作方式。
4 总结
本设计利用了AVR-mega单片机片上资源丰富的优势,使得平常的密码锁程序控制部分、入侵检测部分、密码保护部分都统一的使用单芯片完成,这样的后备电源设计变得十分简单,电路的可靠性和密码的安全性得到极大的保证,实际制作结果也验证了密码保护的有效性。
参考文献
[1] 张宇,陈明,瞿赟.基于ARM7的嵌入式数据采集系统设计[J].电子测量技术, 2007,(01).
[2] AVR单片机ATmega8产品手册.
[3] 马潮,AVR单片机嵌入式系统原理与应用实践.