CN101325492B - 基于可编程片上系统的通用串行总线密码锁 - Google Patents

基于可编程片上系统的通用串行总线密码锁 Download PDF

Info

Publication number
CN101325492B
CN101325492B CN2008101175417A CN200810117541A CN101325492B CN 101325492 B CN101325492 B CN 101325492B CN 2008101175417 A CN2008101175417 A CN 2008101175417A CN 200810117541 A CN200810117541 A CN 200810117541A CN 101325492 B CN101325492 B CN 101325492B
Authority
CN
China
Prior art keywords
chip
data
programmable system
application service
service type
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CN2008101175417A
Other languages
English (en)
Other versions
CN101325492A (zh
Inventor
叶朝辉
华成英
赵彦博
郝啸林
肖冰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tsinghua University
Original Assignee
Tsinghua University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tsinghua University filed Critical Tsinghua University
Priority to CN2008101175417A priority Critical patent/CN101325492B/zh
Publication of CN101325492A publication Critical patent/CN101325492A/zh
Application granted granted Critical
Publication of CN101325492B publication Critical patent/CN101325492B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Storage Device Security (AREA)

Abstract

本发明涉及一种基于可编程片上系统的通用串行总线密码锁,属于电子和信息安全技术领域。包括:用于输入密码锁用户的个人密码,以启动密码锁的输入设备;用于显示上述输入设备的输入信息,并显示系统操作提示信息的输出设备;根据输入信息和USB接口数据,识别密码锁用户指定的应用服务类型的第一PSoC芯片;对应用服务类型和数据进行运算处理的第二PSoC芯片;以及USB通信接口。本密码锁使用的身份认证协议符合公钥体系标准,因此责任归属明确,不会产生纠纷;数据的加解密算法使用了动态密钥技术,攻击者难以破解,使通信数据的安全性更好;可用于用户电脑之间的本地安全通信,也可通过因特网实现与远程电脑之间的安全通信,应用范围广。

Description

基于可编程片上系统的通用串行总线密码锁
技术领域
本发明涉及一种基于可编程片上系统的通用串行总线密码锁,属于电子和信息安全技术领域。
背景技术
可编程片上系统(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)分别与第一可编程片上系统芯片相连;
第一可编程片上系统芯片(U1),用于接收上述输入设备的输入信息,并接收通用串行总线接口发送来的数据,从接收的数据中识别密码锁用户指定的应用服务类型,将应用服务类型和数据发送至第二可编程系统芯片,第一可编程片上系统芯片通过通信总线与第二可编程片上系统芯片相连;
第二可编程片上系统芯片(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[0]~P0[7],P1[2]~P1[4]和P1[6]端口。
输出设备,由三个发光二极管(LED)和一个液晶显示屏(LCD)组成,其中的三个发光二极管用于指示密码锁工作状态,液晶显示屏用于显示上述输入设备的输入信息,并显示系统操作提示信息,其中三个发光二极管(LED)的驱动电路为常规驱动电路,每个LED串联1个1k欧姆的电阻,当输入为高电平时LED点亮,LED的驱动信号连接到芯片U1的P4端口。液晶显示屏(LCD)的驱动电路如图3所示,液晶接口连接到芯片U1的引脚P2[0]-P2[6],具体连接方式为:P2[0]-P2[3]连接到液晶显示信号输入端DE4-DE7,P2[4]连接到液晶使能端E,P2[5]连接到液晶复位端RS,P2[6]连接到读写控制端R/W。
第一可编程片上系统芯片(U1),用于接收上述输入设备的输入信息,并接收通用串行总线端口发送来的数据,从接收的数据中识别密码锁用户指定的应用服务类型,将应用服务类型和数据发送至第二可编程系统芯片。U1的型号为CY8C24794。第一可编程片上系统芯片通过通信总线与第二可编程片上系统芯片相连,其中的通信总线电路为I2C总线电路,如图4所示。图中两个电阻是上拉电阻,阻值为1k欧姆。I2C通信的数据信号SDA和地址信号SCL分别连接到芯片U1和U2的P1[5],P1[7]引脚。
第二可编程片上系统芯片(U2),用于接收上述第一可编程片上系统芯片的应用服务类型和数据,并根据其中的应用服务类型,对其中的数据进行处理,将处理信息发送至第一可编程片上系统芯片,并通过第一可编程片上系统芯片的串行总线端口将处理信息发送至密码锁用户的电脑,U2的型号为CY8C29466。其中数据处理的具体过程是:
当应用服务类型为身份认证时,第二可编程片上系统芯片使用FFS(Fiege-Fiat-Shamir)零知识(Zero-Knowledge)协议算法对数据进行大数的乘法模除运算;
当应用服务类型是数据签名时,第二可编程片上系统芯片使用SHA256散列算法程序对数据进行数据摘要运算,得到256位的结果数据;
当应用服务类型为加、解密时,第二可编程片上系统芯片利用高级加密标准(AES,Advanced Encryption Standard)算法对数据进行加、解密,在每轮加解密运算过程中使用不同密钥,密钥的来源是,由前一密钥使用SHA256散列算法计算产生后一密钥;这样既保证了密钥的安全性,又保证了第二可编程片上系统芯片使用的密钥和密钥锁用户电脑中使用的密钥保持一致。
USB通信接口,用于使第一可编程片上系统芯片与密码锁用户电脑之间实现通信。
本发明密码锁的使用过程为:用户首先用电容传感器按键输入用户密码,启动密码锁。密码锁与密码锁用户的电脑使用FFS(Fiege-Fiat-Shamir)零知识(Zero-Knowledge)协议相互通信,进行公钥体系身份认证。认证通过后,密码锁与密码锁用户的电脑之间进行通信,使用高级加密标准算法对通信数据进行加密和解密。这样就在一次完整的使用过程中融合了公钥体系认证与动态密钥特性。同时使用键盘输入密码启动密码锁这一方法的引入,可以降低密码锁遗失或被盗后造成的损失。

Claims (1)

1.一种基于可编程片上系统的通用串行总线密码锁,包括:
输入设备,由12个电容传感器按键组成,用于输入密码锁用户的个人密码,以启动密码锁,输入设备通过键盘接口与第一可编程片上系统芯片相连;
输出设备,由三个发光二极管(LED)和一个液晶显示屏(LCD)组成,其中的三个发光二极管用于指示密码锁工作状态,液晶显示屏用于显示上述输入设备的输入信息,并显示系统操作提示信息,三个发光二极管(LED)和一个液晶显示屏(LCD)分别与第一可编程片上系统芯片相连;
第一可编程片上系统芯片(U1),用于接收上述输入设备的输入信息,并接收通用串行总线接口发送来的数据,从接收的数据中识别密码锁用户指定的应用服务类型,将应用服务类型和数据发送至第二可编程片上系统芯片,第一可编程片上系统芯片通过通信总线与第二可编程片上系统芯片相连;
第二可编程片上系统芯片(U2),用于接收上述第一可编程片上系统芯片的应用服务类型和数据,并根据其中的应用服务类型对其中的数据进行处理,将处理信息发送至第一可编程片上系统芯片,并通过第一可编程片上系统芯片的通用串行总线接口将处理信息发送至密码锁用户的电脑,其中数据处理的具体过程是:
当应用服务类型为身份认证时,第二可编程片上系统芯片使用FFS零知识协议算法对数据进行大数的乘法模除运算;
当应用服务类型是数据签名时,第二可编程片上系统芯片使用SHA256散列算法程序对数据进行数据摘要运算,得到256位的结果数据;
当应用服务类型为加、解密时,第二可编程片上系统芯片利用高级加密标准算法对数据进行加、解密,在每轮加解密运算过程中使用不同密钥,密钥的来源是,由前一密钥使用SHA256散列算法计算产生后一密钥;
通用串行总线接口,用于使第一可编程片上系统芯片与密码锁用户电脑之间实现通信。
CN2008101175417A 2008-08-01 2008-08-01 基于可编程片上系统的通用串行总线密码锁 Expired - Fee Related CN101325492B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2008101175417A CN101325492B (zh) 2008-08-01 2008-08-01 基于可编程片上系统的通用串行总线密码锁

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2008101175417A CN101325492B (zh) 2008-08-01 2008-08-01 基于可编程片上系统的通用串行总线密码锁

Publications (2)

Publication Number Publication Date
CN101325492A CN101325492A (zh) 2008-12-17
CN101325492B true CN101325492B (zh) 2011-08-17

Family

ID=40188843

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2008101175417A Expired - Fee Related CN101325492B (zh) 2008-08-01 2008-08-01 基于可编程片上系统的通用串行总线密码锁

Country Status (1)

Country Link
CN (1) CN101325492B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110154496A1 (en) * 2009-12-23 2011-06-23 Chun Hsiang Cheng Removable Apparatus and Method for Verifying an Executable File in a Computing Apparatus and Computer-Readable Medium Thereof
CN103136575A (zh) * 2011-12-05 2013-06-05 朱洪强 动静态码组在智能卡、锁等方面的应用方法和产品集成

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN2491897Y (zh) * 2001-07-30 2002-05-15 冯宇彦 信息钥匙
CN2667807Y (zh) * 2004-01-08 2004-12-29 中国工商银行 网上银行利用USBKey加密、认证的装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN2491897Y (zh) * 2001-07-30 2002-05-15 冯宇彦 信息钥匙
CN2667807Y (zh) * 2004-01-08 2004-12-29 中国工商银行 网上银行利用USBKey加密、认证的装置

Also Published As

Publication number Publication date
CN101325492A (zh) 2008-12-17

Similar Documents

Publication Publication Date Title
US8504838B2 (en) Integrity protected smart card transaction
JP3676735B2 (ja) 2つのデータ処理ユニットの相互認証を行なう方法および装置
US8307210B1 (en) Method and apparatus for secure validation of tokens
US20080179401A1 (en) Card reader for use with web based transactions
US20050050330A1 (en) Security token
CN109361508B (zh) 数据传输方法、电子设备及计算机可读存储介质
CN101197667A (zh) 一种动态口令认证的方法
CN107809311A (zh) 一种基于标识的非对称密钥签发的方法及系统
CN105450420A (zh) 基于二维码实现一次性密码验证的方法和系统
CN111695097A (zh) 登录检验方法、装置及计算机可读存储介质
WO2016122844A1 (en) Portable security device
WO2009069872A1 (en) System and method for authenticating one-time virtual secret information
CN109510711B (zh) 一种网络通信方法、服务器、客户端及系统
CN101325492B (zh) 基于可编程片上系统的通用串行总线密码锁
CN107948213A (zh) 一种加密认证方法、系统、装置及计算机可读存储介质
CN109644137B (zh) 具有签名消息的基于令牌的认证的方法
CN103346886B (zh) 一种发送签名数据的方法和电子签名令牌
CN108460299A (zh) 一种基于非对称算法的键盘加密系统及键盘加密方法
US11741214B2 (en) Passcode authentication based data storage device
CN112150151B (zh) 安全支付方法、装置、电子设备及存储介质
CN103186736A (zh) 指纹key装置
CN108877916A (zh) 信息安全保存方法及装置
CN112449143B (zh) 一种安全视频的实现方法及实现系统
CN117852109A (zh) 基于密码键盘的键盘驱动方法、装置、设备及存储介质
CN118041808A (zh) 密码应用的安全评估方法和密码应用的安全评估装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20110817

Termination date: 20120801