基于可编程片上系统的通用串行总线密码锁的制作方法

文档序号:7695993阅读:289来源:国知局
专利名称:基于可编程片上系统的通用串行总线密码锁的制作方法
技术领域
本发明涉及一种基于可编程片上系统的通用串行总线密码锁,属于电子和信息安全技 术领域。
背景技术
可编程片上系统(Programmable System On Chip,简称PSoC)器件是赛普拉斯 (Cypress)半导体器件公司于2003年推出的一种可在系统编程的片上系统。它将一个8 位微控制器与可编程数字阵列、可编程模拟阵列集成在一个芯片上,也称为可配置型混合 信号阵列。PSoC能实现模拟电路、数字电路和微处理器于一体的电子系统的设计,而不 仅仅是模拟或数字电路的设计,使得系统所需的外围器件减少,集成度得到提高,成本减少。硬件密码锁,是用于计算机加解密和身份认证的物理介质。通过内置算法或权威认证 的数字证书,辅以计算功能较强的CPU,硬件密码锁可以在其内部完成全部的加解密和认 证工作,而不需要在计算机内存中保存任何数据,从而大大增强加解密及身份认证的可靠 性和安全性,并很好的弥补传统的口令认证的缺陷。通用串行总线(USB)密码锁是属于硬件密码锁的一种。由于USB技术已经逐步成为 最主流的数据传输方式,再加上USB技术本身具有的即插即用和高速性等特点,以USB 作为计算机接口的产品越来越多,因此USB密码锁就自然成为了硬件密码锁产品中的佼 佼者。名称为"利用USB密钥输入/传输/显示用户信息的方法及装置"的发明专利,公开 号为CN 101013944A,该技术的不足之处在于1、 上述专利使用密码锁上的输入键盘替代普通键盘输入信息并通过网络发送,而未 设置启动密码,当密码锁不慎遗失时,拾取者可以使用密码锁,可能会给用户造成损失。且并未阐明使用键盘具体类型。2、 上述专利使用独立的RSA (Rivest, Shamir, Adleman三人提出的算法)公钥加密认证算法模块实现加解密和认证,相当于增加了额外的处理芯片,加大了成本。3、 上述专利只是使用了现在已经广泛应用的加密与认证算法,并未对这些算法进行 进一步探索,提出改良方案。4、 上述专利没有说明实现密码锁的微处理器的类型。发明内容本发明的目的是通过结合两种常用安全方法即公钥密码与动态密码的优点,克服这两 种技术各自不足之处,提出一种改进的安全方法,并在可编程片上系统中实现该安全方法, 制作了一种USB密码锁。该USB密码锁具有安全性好、成本低的特点。本发明提出的基于可编程片上系统的通用串行总线密码锁,包括输入设备,由12个电容传感器按键组成,用于输入密码锁用户的个人密码,以启动 密码锁,输入设备通过键盘接口与第一可编程片上系统芯片相连;输出设备,由三个发光二极管(LED)和一个液晶显示屏(LCD)组成,其中的三个 发光二极管用于指示密码锁工作状态,液晶显示屏用于显示上述输入设备的输入信息,并 显示系统操作提示信息,三个发光二极管(LED)和一个液晶显示屏(LCD)分别与第一 可编程片上系统芯片相连;第一可编程片上系统芯片(Ul),用于接收上述输入设备的输入信息,并接收通用串 行总线接口发送来的数据,从接收的数据中识别密码锁用户指定的应用服务类型,将应用 服务类型和数据发送至第二可编程系统芯片,第一可编程片上系统芯片通过通信总线与第 二可编程片上系统芯片相连;第二可编程片上系统芯片(U2),用于接收上述第一可编程片上系统芯片的应用服务 类型和数据,并根据其中的应用服务类型对其中的数据进行处理,将处理信息发送至第一 可编程片上系统芯片,并通过第一可编程片上系统芯片的通用串行总线接口将处理信息发 送至密码锁用户的电脑,其中数据处理的具体过程是-当应用服务类型为身份认证时,第二可编程片上系统芯片使用FFS零知识协议算法对 数据进行大数的乘法模除运算;当应用服务类型是数据签名时,第二可编程片上系统芯片使用SHA256散列算法程序 对数据进行数据摘要运算,得到256位的结果数据;当应用服务类型为加、解密时,第二可编程片上系统芯片利用高级加密标准算法对数 据进行加、解密,在每轮加解密运算过程中使用不同密钥,密钥的来源是,由前一密钥使 用SHA256散列算法计算产生后一密钥;USB通信接口,用于使第一可编程片上系统芯片与密码锁用户电脑之间实现通信。本发明提出的基于可编程片上系统的通用串行总线密码锁的优点是1、 本发明使用电容感应按键键盘,且此键盘仅用于密码锁的自身启动过程,数据并 不发送到密码锁以外,即使密码锁不慎遗失,由于拾取者不知道启动密码,无法启动密码 锁,因此可以给予用户充分的时间挂失,最大程度减少用户损失。2、 本发明使用零知识(Zero-Knowledge)协议作为身份认证协议,符合公钥体系(PKI) 标准,即使密码被窃造成损失,由于公、私钥分别由用户和服务器保存,二者并不相同, 所以被窃责任归属明确,不会产生纠纷。3、 本发明使用的对称加密算法使用了动态密钥技术,在每次加解密运算时,使用不 同的加密密钥,体现了动态密钥的特性,使得攻击者难以破解,安全性更好。4、 本发明将公钥认证和动态密钥两种算法合二为一,结合二者的优点。这种尝试在8 位微处理器上取得了优秀的安全性能。5、 本发明算法全部在可编程片上系统芯片的'8位微处理器内部实现,且使用的芯片 可以节省大量外部设备,有效压縮成本。6、 本发明既可用于和密码锁用户电脑之间的本地安全通信,还可通过因特网和安装 有密码锁应用程序的远程电脑之间的安全通信,因此可以用于网络安全通信的场合。


图1是本发明密码锁的结构示意图。图2是本发明密码锁中输入设备的电路图。图3是本发明密码锁的液晶显示器驱动接口原理图。图4是本发明密码锁的I2C接口电路原理图。
具体实施方式
本发明提出的基于可编程片上系统的通用串行总线密码锁,结合附图及实施例详细说 明如下本发明是基于Cypress的PSoC芯片研制的密码锁,采用双芯片方案,融合了公钥体系 和动态密码的特点。本发明密码锁的结构如图1所示包括输入设备,由12个电容传感器按键组成,用于输入密码锁用户的个人密码,以启动 密码锁,输入设备的电路图如图2所示,按键使用3*4形式排列,共有12个按键。分别 连接到芯片U1的P0
P0[7], P1[2] P1[4]和P1[6]端口。输出设备,由三个发光二极管(LED)和一个液晶显示屏(LCD)组成,其中的三个 发光二极管用于指示密码锁工作状态,液晶显示屏用于显示上述输入设备的输入信息,并 显示系统操作提示信息,其中三个发光二极管(LED)的驱动电路为常规驱动电路,每个 LED串联1个lk欧姆的电阻,当输入为高电平时LED点亮,LED的驱动信号连接到芯片 Ul的P4端口。液晶显示屏(LCD)的驱动电路如图3所示,液晶接口连接到芯片U1的 引脚P2
—P2[6],具体连接方式为P2
—P2[3]连接到液晶显示信号输入端DE4—DE7, P2[4]连接到液晶使能端E, P2[5]连接到液晶复位端RS, P2[6]连接到读写控制端R/W。第一可编程片上系统芯片(Ul),用于接收上述输入设备的输入信息,并接收通用串 行总线端口发送来的数据,从接收的数据中识别密码锁用户指定的应用服务类型,将应用 服务类型和数据发送至第二可编程系统芯片。Ul的型号为CY8C24794。第一可编程片上 系统芯片通过通信总线与第二可编程片上系统芯片相连,其中的通信总线电路为I2C总线 电路,如图4所示。图中两个电阻是上拉电阻,阻值为lk欧姆。I2C通信的数据信号SDA 和地址信号SCL分别连接到芯片U1和U2的P1[5], Pl[7]引脚。第二可编程片上系统芯片(U2),用于接收上述第一可编程片上系统芯片的应用服务类型和数据,并根据其中的应用服务类型,对其中的数据进行处理,将处理信息发送至第 一可编程片上系统芯片,并通过第一可编程片上系统芯片的串行总线端口将处理信息发送至密码锁用户的电脑,U2的型号为CY8C29466。其中数据处理的具体过程是当应用服务类型为身份认证时,第二可编程片上系统芯片使用FFS(Fiege-Fiat-Shamir) 零知识(Zero-Knowledge)协议算法对数据进行大数的乘法模除运算;当应用服务类型是数据签名时,第二可编程片上系统芯片使用SHA256散列算法程序 对数据进行数据摘要运算,得到256位的结果数据;当应用服务类型为加、解密时,第二可编程片上系统芯片利用高级加密标准(AES, Advanced Encryption Standard)算法对数据进行加、解密,在每轮加解密运算过程中使用 不同密钥,密钥的来源是,由前一密钥使用SHA256散列算法计算产生后一密钥;这样既 保证了密钥的安全性,又保证了第二可编程片上系统芯片使用的密钥和密钥锁用户电脑中 使用的密钥保持一致。USB通信接口,用于使第一可编程片上系统芯片与密码锁用户电脑之间实现通信。 本发明密码锁的使用过程为用户首5^用电容传感器按键输入用户密码,启动密码锁。 密码锁与密码锁用户的电脑使用FFS (Fiege-Fiat-Shamir)零知识(Zero-Knowledge)协议 相互通信,进行公钥体系身份认证。认证通过后,密码锁与密码锁用户的电脑之间进行通 信,使用高级加密标准算法对通信数据进行加密和解密。这样就在一次完整的使用过程中 融合了公钥体系认证与动态密钥特性。同时使用键盘输入密码启动密码锁这一方法的引 入,可以降低密码锁遗失或被盗后造成的损失。
权利要求
1、一种基于可编程片上系统的通用串行总线密码锁,包括输入设备,由12个电容传感器按键组成,用于输入密码锁用户的个人密码,以启动密码锁,输入设备通过键盘接口与第一可编程片上系统芯片相连;输出设备,由三个发光二极管(LED)和一个液晶显示屏(LCD)组成,其中的三个发光二极管用于指示密码锁工作状态,液晶显示屏用于显示上述输入设备的输入信息,并显示系统操作提示信息,三个发光二极管(LED)和一个液晶显示屏(LCD)分别与第一可编程片上系统芯片相连;第一可编程片上系统芯片(U1),用于接收上述输入设备的输入信息,并接收通用串行总线接口发送来的数据,从接收的数据中识别密码锁用户指定的应用服务类型,将应用服务类型和数据发送至第二可编程系统芯片,第一可编程片上系统芯片通过通信总线与第二可编程片上系统芯片相连;第二可编程片上系统芯片(U2),用于接收上述第一可编程片上系统芯片的应用服务类型和数据,并根据其中的应用服务类型对其中的数据进行处理,将处理信息发送至第一可编程片上系统芯片,并通过第一可编程片上系统芯片的通用串行总线接口将处理信息发送至密码锁用户的电脑,其中数据处理的具体过程是当应用服务类型为身份认证时,第二可编程片上系统芯片使用FFS零知识协议算法对数据进行大数的乘法模除运算;当应用服务类型是数据签名时,第二可编程片上系统芯片使用SHA256散列算法程序对数据进行数据摘要运算,得到256位的结果数据;当应用服务类型为加、解密时,第二可编程片上系统芯片利用高级加密标准算法对数据进行加、解密,在每轮加解密运算过程中使用不同密钥,密钥的来源是,由前一密钥使用SHA256散列算法计算产生后一密钥;USB通信接口,用于使第一可编程片上系统芯片与密码锁用户电脑之间实现通信。
全文摘要
本发明涉及一种基于可编程片上系统的通用串行总线密码锁,属于电子和信息安全技术领域。包括用于输入密码锁用户的个人密码,以启动密码锁的输入设备;用于显示上述输入设备的输入信息,并显示系统操作提示信息的输出设备;根据输入信息和USB接口数据,识别密码锁用户指定的应用服务类型的第一PSoC芯片;对应用服务类型和数据进行运算处理的第二PSoC芯片;以及USB通信接口。本密码锁使用的身份认证协议符合公钥体系标准,因此责任归属明确,不会产生纠纷;数据的加解密算法使用了动态密钥技术,攻击者难以破解,使通信数据的安全性更好;可用于用户电脑之间的本地安全通信,也可通过因特网实现与远程电脑之间的安全通信,应用范围广。
文档编号H04L9/32GK101325492SQ20081011754
公开日2008年12月17日 申请日期2008年8月1日 优先权日2008年8月1日
发明者华成英, 叶朝辉, 冰 肖, 赵彦博, 郝啸林 申请人:清华大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1