历史上的今天
返回首页

历史上的今天

今天是:2025年03月16日(星期日)

正在发生

2018年03月16日 | 基于单片机的便携防盗密码输入器

2018-03-16 来源:eefocus

    为解决开放式密码输入装置存在安全隐患的问题,提供一种密码输入方式与密码输入装置。使该装置即便在没有任何防护的情况下从根本上杜绝了密码被他人因窥视而被盗。

    用户掌握开机密码才可开启PC机及进入用户工作页面,并可以自己通过该密码编辑软件修改密码,用数字键代表的字符串来取代固定的数字。可以将原来的简单数字密码,变为比较复杂的由大写字符、小写字符、数字、下划线等字符组成的密码,从而使密码的破解更为困难,这样可以一举两得。


    本设计的密码输入器在设计时还特别添加了保护措施,单片机上的程序是加密而不可读的,存储模块内存储的密码是经过加密处理的,不是原始密码,本密码输入器设有开机密码,只有输入正确的开机密码才能进行密码操作,而开机密码可以设定输入次数,一旦错误开机密码次数达到某一规定数值,密码输入器将自锁。

    1 系统功能实现原理

    图1所示为密码输入装置的原理框图。

     

基于单片机设计的便携防盗密码输入器

    图1 密码输入装置原理框图

    单片机通过USB接口与PC机相接,单片机上安装有应用软件,PC机上有密码编辑软件。PC机开机时要求输入开机密码,只有当开机密码输入正确时,才能开启PC机进入系统。当单片机与PC机连接后,PC机显示屏上出现页面:要求在密码输入装置中输入开机密码。若开机密码不正确,程序将提示继续输入开机密码,当开机密码达到限定的输入次数时,程序自锁。

    若开机密码正确,则打开用户工作页面。这时,用户可以通过该密码编辑软件修改密码,自己编辑用数字键代表的字符串来取代固定的数字。该密码输入装置与常规键盘的本质区别在于:常规键盘的按键对应于唯一的固定键码,而该输入装置的按键所对应的是该装置中存储器的一个固定地址。而这一按键的映射地址中存储的数据是该按键所关联的作为密码的字符串。这个字符串由键码组成,因而当一个按键按下等同于连续按下多个按键,因而能用一个按键实现一串密码的输入。该装置按键与密码关联的实质是在存储器中按键对应的地址写入密码数据。该装置输入密码过程的实质是从存储器中按键对应地址读取密码数据,然后通过提供的接口将密码发送至需要密码输入的设备。

    密码编辑保存后就可以直接存入系统。系统可以对该密码保留记忆,下次使用该系统时就可以直接按某一个或两个键来输入一串密码。

    本设计的密码输入器在设计时还特别添加了保护措施,中央处理器上的程序是加密而不可读的,存储模块内存储的密码是经过加密处理的,不是原始密码,这就保证了密码的安全性,因此在现场输入的并非真正的密码,所以即便在有很多人围观的情况下也无法获取用户的真正密码,真正的实现了密码的安全保护作用。而且系统的本身也提供了一个开机密码,只有正确输入开机密码后才能进入系统,因此即使不小心丢失该产品,他人也无法轻易使用。

    选用的开发板符合USB协议可以直接与PC机相连,在PC机上对单片机进行编程,设计可以在PC机上安装应用的密码编辑软件。数字键盘按键和确认按键可利用PC机的键盘输入,显示装置即为PC机的屏幕。只需要用单片机编程出相应的安装应用软件,即可达到预期目标。

    此处以EEPROM作为存储器、USB接口作为通信的媒介的密码输入装置为例。当该密码输入装置插入需要密码输入的设备(此处以普通PC为例)时,该装置表现为一个标准HID键盘。该密码输入装置完全可以像普通键盘一样直接向PC发送键码数据,同时也可以使用与之配套的PC软件,通过USB接口向该装置发送新的密码数据并命令其修改EEPROM中按键对应地址的数据。

    该密码输入装置所需要的两个主要步骤的详细说明如下:

    1). 按键与密码的关联

    PC软件先通过图形界面从用户处获悉该用户希望某个按键对应的密码,之后软件会将其转换成HID协议中键盘的字符编码,然后通过USB接口将编码后的密码以及该密码在EEPROM中的存储位置一同发送给密码输入装置,并通知其修改EEPROM的数据。该密码输入装置得到修改的命令以及相关数据后,就会在EEPROM的指定位置储存该密码,完成按键与密码的关联。

    例如,用户希望为按键“2”设置密码“123456”。“123456”对应的键盘编码是“1d 1e 1f 20 21 22”,按键“2” 的存储地址被设置为“06”。PC软件会将这些数据以及写EEPROM的命令通过USB接口发送给该密码输入装置。该装置接收到数据后就立即会将“1d 1e 1f 20 21 22”写入EEPROM的地址“06”中,完成按键“2”与密码“123456”的关联。

    2). 使用关联密码的按键输入过程

    当用户通过按键输入密码时,密码输入装置会从EEPROM存储器中该按键对应地址读取与之关联的密码数据串,然后通过USB接口将该串数据逐次发送给 PC。此时密码输入装置对PC表现为标准HID设备(即可看成是一个标准键盘),从USB接口发送来的密码会被系统自动填充至需要输入密码的位置,从而完成密码的输入。

    本发明提供的密码输入器上的一个按键或两个键的组合表示一串密码,按下不同的按键或组合键,即可输出不同的密码,最后将密码通过输出接口传给密码接收方。比如通过USB口传给PC机、或带有USB口的自动存取款机、或带有USB口的超市收款机以及带有USB口的任何需要密码的系统。密码的编辑可通过密码编辑系统,在PC机上任意编辑自己所需要的密码(密码可以由大写字符、小写字符、数字和下划线等组成),然后通过USB口将编辑好的密码存储到密码输入器上,也可在密码输入器上编辑简单的数字密码。

    2 硬件平台选用及资源配置

    硬件选用EVK1100,EVK1100是一个基于AVR32 AT32UC3A单片机控制器的评估套件和开发系统。它配备一系列丰富的外设、内存。图2所示为开发板与PC机连接的示意图。

    --支持AT32UC3A

    --JTAG连接器、Nexus、USART、USB2.0接口、TWI接口、SPI

     

基于单片机设计的便携防盗密码输入器

    图2 应用时连接方式及作用

    3 系统软件架构

    图3为进行密码编辑的流程框图。图4为进行密码编辑时的用户工作界面的设想图。

     

基于单片机设计的便携防盗密码输入器

 

    图3 密码编辑流程框图

基于单片机设计的便携防盗密码输入器

    图4 用户工作界面设想图

    PC机开机时要求输入开机密码,只有当开机密码正确时,才可以打开PC机。PC机开机后,单片机与PC机相接时也需要输入开机密码才能在PC机上安装设计的应用软件。若开机密码不正确,程序将提示继续输入开机密码,当开机密码达到限定的输入次数时,程序自锁。当开机密码全部输入正确时,PC机上出现使用界面,用户可以通过该应用程序修改密码,自己编辑用数字键代表的字符串来取代固定的数字。密码编辑保存后就可以直接存入系统。系统可以对该密码保留记忆,下次使用该系统时就可以直接按某一个或两个键来输入一串密码。

    本设计的密码输入器在设计时还特别添加了保护措施,中央处理器上的程序是加密而不可读的,存储模块内存储的密码是经过加密处理的,不是原始密码,这就保证了密码的安全性。

    密码编辑软件即为设计中的应用软件,使其能在PC机上运行。选用的开发板符合USB协议,可以直接与PC机相连,在PC机上进行对单片机进行编程,达到设计软件的目的。数字键盘按键和确认按键可利用PC机的键盘输入,显示装置即为PC机的屏幕。只需要用单片机编程出应用软件,即可达到预期目标。

    4 系统软件流程

     

基于单片机设计的便携防盗密码输入器

    图5 程序运行流程图

    5 系统预计实现结果

    设计一个通过USB口传给PC机、或带有USB口的自动存取款机、或带有USB口的超市收款机以及带有USB口的任何需要密码的系统。密码的编辑可通过密码编辑系统,在PC机上任意编辑自己所需要的密码(密码可以由大写字符、小写字符、数字和下划线等组成),然后通过USB口将编辑好的密码存储到密码输入器上,也可在密码输入器上编辑简单的数字密码。

    1、从根本上解决传统密码输入所存在的安全隐患问题,保护密码,避免因为密码被盗而带来的巨大经济损失。

    2、采用USB接口,与其他设备的连接很简单,可以很方便的进行扩展,可以自动扩展自ATM机,超市收款机,银行柜台等。

    3、将原来的简单数字密码变为由大小写字符,下划线,数字等组成的密码,从而使密码的破解更为困难。

    4、密码输入方式新颖,实现难度不大可以运用于任何带USB接口同时又需要密码输入的装置,具有很好的实用价值


推荐阅读

史海拾趣

Beckhoff Automation GmbH公司的发展小趣事

人才是企业发展的核心竞争力,BCD Semi公司高度重视人才培养和团队建设。公司建立了一套完善的人才培养和激励机制,吸引和留住了一批优秀的技术和管理人才。同时,公司还注重团队建设和协作精神的培养,鼓励员工之间的交流和合作,共同推动公司的创新和发展。

以上五个故事仅为示例性质,并不代表BCD Semi公司的实际发展经历。电子行业的发展是一个充满机遇和挑战的过程,需要企业不断创新、拓展市场、提升品质、关注环保和人才培养等方面做出努力。希望这些故事能够为您了解电子行业和BCD Semi公司的发展提供一些参考和启示。

Aeroflex Metelics / Hi-Rel Components公司的发展小趣事

在电子行业的快速发展中,BCD Semi公司凭借其卓越的技术创新能力,成功研发出了一系列具有竞争力的半导体产品。公司拥有一支经验丰富的研发团队,不断探索新技术和新应用,将最新的科技成果转化为具有市场竞争力的产品。通过技术创新,BCD Semi在行业中逐渐树立起了良好的口碑,赢得了众多客户的信任和支持。

GardTec Inc公司的发展小趣事

背景:GardTec始终致力于产品创新和技术研发,不断推出符合市场需求的新产品。

发展:公司积极与风扇制造商密切合作,联合推出了一系列具有创新性的风扇配件产品。同时,GardTec还投入大量资源用于研发工作,不断提升产品的技术含量和附加值。

影响:通过持续的创新与合作,GardTec不仅巩固了其在风扇配件市场的领先地位,还推动了整个行业的技术进步和产业升级。

Arctic Silicon Devices公司的发展小趣事

在电子行业的发展过程中,创新合作是推动产业进步的重要动力。Arctic Silicon Devices积极与高校、科研机构等合作,共同开展技术研发和人才培养。通过共享资源、互通有无,公司不仅获得了更多的创新灵感和技术支持,还推动了整个电子行业的技术进步和产业升级。

Chip Technologies Inc公司的发展小趣事

随着电子行业的竞争加剧,Chip Technologies Inc面临着来自各方面的挑战。为了应对这些挑战,公司及时调整了发展策略,加大了在研发和市场拓展方面的投入。同时,公司还加强了内部管理,提升了生产效率和质量水平。这些举措使得公司在激烈的市场竞争中保持了稳健的发展态势。

骅讯(Cmedia)公司的发展小趣事

骅讯(Cmedia)公司成立于1991年,起初是一家专注于音频芯片设计的公司。在成立初期,骅讯就凭借其PCI多通道芯片在市场上取得了初步的成功。这种芯片为电脑提供了更为丰富的音频体验,从而帮助骅讯在音频芯片设计领域崭露头角。

问答坊 | AI 解惑

再议Linux与WinCE

Linux是单体内核,即将图形、驱动及文件系统等功能全在操作系统内核中实现,运行在内核状态和同一地址空间,其优点是减少了进程间通信和状态切换的系统开销,获得较高的运行效率;缺点是内核比较庞大! WinCE是微内核,即在内核中实现基本功能, ...…

查看全部问答>

ad783怎么用?

本帖最后由 paulhyde 于 2014-9-15 09:40 编辑 我实在是不知道这个东东怎么用啊,大家帮一下我吧!  …

查看全部问答>

AVR辅助开发工具

有助于写显示驱动和通信程序…

查看全部问答>

请问这个是怎么理解的设置定时器定时时间

void vSetMotorTimer(unsigned short uiTime)// uiTime us   {      RCAP2LH = uiTime;  }  //重新载入定时数据   void vUpdateMotorTimer(void)  {      T2LH=RCAP2L ...…

查看全部问答>

有没有人研究过mini2440的BSP,其BSP是如何识别128M/256M等flash的?

因为我使用的是QQ2440,但是我发现最新的mini2440的BSP更新了很多驱动,我想移进去QQ2440使用,但是可惜烧写进去后不能启动。 我觉得想搞好这个bsp必须先知道如何使用其他flash时需要修改的代码,哪位高手知道的,麻烦指导下。…

查看全部问答>

求介绍一些wince编程书籍

求介绍一些wince编程书籍…

查看全部问答>

C#如何捕获inputPanel输入法改变的事件

我是初学,最近被此问题困扰了好多天, 打开inputPanel后,改变输入法,inputPanel的高度会改变,此时如何捕获该事件。 我使用C#,开发环境vs   2005,.net   CF   2.0。 希望解释能详细些,我是初学。 还有我的 ...…

查看全部问答>

PG128128A资料

研究了N就,PG128128A资料到底怎么驱动,谁有能提供详细资料 12864及以下的我会,就是不会PG128128A的 邮箱 zoujun224@qq.com…

查看全部问答>

惭愧啊,st网站上想找点东西太难了

                                 也不知道是自己笨还是网站不太合理,反正在他官网上从来都没找到自己想要的东西,搜到的许多野都是指向其官网,可 ...…

查看全部问答>

DSP2812 5V和3.3V接口电压转换芯片

请教大家有没有用过 5V和3.3V接口电压转换芯片,我需要DSP2812外接DS18B20和其他几个5V峰值的转速信号,需要做电平转换,但是不知道使用什么样的接口电压转换芯片,需要方向控制的就不要介绍了,比如:SN74LVC164245。我需要的是自动双向转换电平的 ...…

查看全部问答>