数字签名装置和数字签名方法

文档序号:7694973阅读:203来源:国知局
专利名称:数字签名装置和数字签名方法
技术领域
本发明涉及一种数字签名装置和一种数字签名方法,具体来说, 涉及一种能够实现签名数据确认的数字签名装置及其数字签名方法。
背景技术
随着电子商务和信息安全技术的迅速发展,数字签名由于其唯一 性、不可抵赖性、安全性,已被广泛采用为无纸化交易各方对交易确 认的法律依据。计算机终端由于其自身软硬件方面的缺陷,是一种不 安全的计算环境,用于计算数字签名存在很多安全隐患,存在如签名 私钥的安全存储和携带问题、进行签名运算时泄漏私钥问题、被签名 的数据可能是遭受篡改的等问题,可能导致违背用户意愿的数字签 名。
由于计算机终端无法保证数字签名计算的安全,就需要采用辅助
装置帮助其安全完成数字签名计算。智能电子钥匙(USB Key )和 智能卡是目前使用最多的数字签名计算辅助装置。由于智能电子钥匙
(USB Key )和智能卡的硬件结构简单,接口功能单一,其内置操 作系统软件也远比计算机终端软件简单,易于测试,因此,智能电子 钥匙(USBKey )和智能卡能够保证密钥存储和数据运算的安全性。 但由于需要签名的数据来自于计算机终端,目前的智能电子钥匙
(USB Key )和智能卡都不对需要签名的数据进行显示以让用户确 认,大多数的智能电子钥匙(USB Key )和智能卡都通过计算机终 端输入私钥密码(pin),因此整个签名过程可受到如下攻击
4(1)计算机终端上的木马程序截获用户私钥密码(pin),如果 用户不及时取走智能电子钥匙(USB Key )和智能卡,那么木马程 序可以通过截获的用户私钥密码(pin)来取得用户合法的数字签名。 (2)即使在智能电子钥匙(USB Key )上设置输入用户私钥密 码(pin)的按键,用户私钥密码(pin)不能被计算机终端上的木马 程序获取,木马程序在发现用户进行数字签名计算时,篡改签名内容, 由于目前的智能电子钥匙(USB Key )和智能卡都不对需要签名的 数据进行显示,如果发生签名内容被替换的事情,用户是毫不知情的。 即使在计算机终端再次确认签名内容,这时木马程序已经取得用户合 法的数字签名。
由此可见,目前的智能电子钥匙(USB Key)和智能卡并不能保 证数字签名结果确实是用户想要的。

发明内容
本发明的目的是克服目前的智能电子钥匙(USB Key)的不足, 提供一种具有更高安全级别的数字签名装置,实现用户的"所见即所 签"功能。本发明的目的是以如下技术方案予以实现的。
按照本发明的一个方面,提供了一种数字签名装置,用于对主机 装置上的数字内容进行数字签名,包括主控单元;显示单元;输入 单元,用于接收用户输入并将所接收的用户输入传送给主控单元;和 接口单元,用于将主控单元连接到主机装置上,其中主控单元通过接 口单元接收来自主机装置的签名指令和需要数字签名的内容,控制显 示单元显示所述需要数字签名的内容;并且,所述主控单元根据来自 输入单元的用户输入对需要数字签名的内容进行数字签名,并通过接 口单元将数字签名返回给主机装置。
最好,所述主控单元是主控芯片。最好,所述主控芯片是智能电子钥匙专用芯片。
最好,所述显示单元是液晶显示器、等离子体显示器或TFT显 不器。
最好,所述输入单元是键盘、按钮、开关、线控、遥控器、触摸 屏、语音识别装置。
最好,所述接口单元是USB接口。 最好,所述主机装置是计算机终端。
最好,所述主控单元还检查所述签名指令和需要数字签名的内容 是否符合预先定义的语法和语义规约。
按照本发明的另 一个方面,还提供了 一种利用所述数字签名装置
的数字签名方法,包括
步骤l:等待签名指令及需要数字签名的内容; 步骤2:接收所述签名指令及需要数字签名的内容; 歩骤3:显示需要数字签名的内容,并且等待来自用户的指令; 步骤4:接收用户指令, (4-a)如果用户指令是拒绝签名指令,则丢弃所述签名指令及
需要数字签名的内容、返回出错信息并且返回到步骤l,
(4-b)如果用户指令是同意签名指令,则继续进行步骤5;
步骤5,要求用户输入个人识别码,并对用户输入的个人识别码 进行验证,
(5-a)如果用户输入的个人识别码与预先储存的个人识别码不 一致,则返回错误信息并提示重新输入,若多次验证不通过,则丢弃 所述签名指令及需要数字签名的内容、返回出错信息,并且返回到步 骤l,
(5-b)如果用户输入的个人识别码与预先储存的个人识别码一 致,则完成数字签名并且返回到步骤l。最好,所述数字签名方法,此外还包括介于步骤2和步骤3之间
的步骤检査所述签名指令及需要数字签名的内容是否符合预先定义 的语法和语义规约;(a)如果不符合预先定义的语法和语义规约,则 丢弃所述签名指令及需要数字签名的内容、返回出错信息并且返回到 步骤l; (b)如果符合预先定义的语法和语义规约,则继续进行步骤 3。
本发明的有益效果在于本发明具有目前的智能电子钥匙(USB Key )的全部功能,克服了其安全性的不足,提供了更高安全性。 这主要体现在本发明能有效防范针对智能电子钥匙(USB Key )的 两种可能攻击方式。
针对智能电子钥匙(USB Key )的一种可能攻击方式是使用 智能电子钥匙(USBKey )签名时,由于智能电子钥匙(USB Key ) 的用户私钥密码(pin)需要在计算机终端上输入,潜伏于计算机终 端上的木马程序可以截获用户私钥密码(pin),并通过截获的用户私 钥密码(pin)来取得用户合法的数字签名。而使用本发明签名时, 由于本发明的用户私钥密码(pin)通过本发明的输入装置输入,不 通过计算机终端,不存在被潜伏于计算机终端上的木马程序截获的可 能性。
针对智能电子钥匙(USB Key )的另一种可能攻击方式是使 用智能电子钥匙(USB Key )签名时,潜伏于计算机终端上的木马 程序在发现用户进行数字签名计算时,篡改签名内容,由于目前的智 能电子钥匙(USB Key )不能显示需要签名的内容,如果发生签名 内容被替换的事情,用户是毫不知情的。因此木马程序可以非法获取 用户的数字签名。而使用本发明签名时,由于本发明将签名内容在本 发明的显示装置显示出来,用户可以看到签名内容是否与其在计算机 终端上的输入一致,如果不一致,用户可以拒绝签名。杜绝了木马程序在用户不知情的情况下非法获取用户的数字签名的可能。
因此,本发明用于数字签名,可以解除用户对不安全的计算机终 端可能发出非其意愿的数字签名的担忧,保证数字签名确实是用户意 愿的真实表示。


下面,将参照附图以举例的方式介绍本发明的实施方式,其中 图l是按照本发明的数字签名装置的外观图;和 图2是按照本发明的数字签名装置的框图。
具体实施例方式
按照本发明的优选实施方式,按照本发明的用于对主机装置上的 数字内容进行数字签名的数字签名装置包括主控单元、显示单元、用 于接收用户输入并将所接收的用户输入传送给主控单元的输入单元 以及用于将主控单元连接到主机装置上的接口单元,其中,主控单元 通过接口单元接收来自主机装置的签名指令和需要数字签名的内容, 控制显示单元显示所述需要数字签名的内容,并且根据来自输入单元 的用户输入对需要数字签名的内容进行数字签名,并通过接口单元将 数字签名返回给主机装置。
具体来说,参照图l,按照本发明的数字签名装置l从外表看包 括显示屏(显示单元)2、键盘(输入单元)3和USB接口 (接口单 元)4。在使用该数字签名装置1时,通过USB接口 4将该数字签名 装置1与计算机终端(主机装置)连接起来。显示屏2用于在操作时 显示签名内容(签名数据)。键盘3用于接收用户的输入,以实现对 数字签名处理流程的控制。需要注意的是,显示单元可以是液晶显示 器,也可以是等离子体显示器、TFT显示器之类的适当显示器。输入单元不仅可以是键盘,也可以是按钮、开关、线控、遥控器、触摸屏、
语音输入装置之类的适当输入装置。接口单元是USB接口。主机装
置是计算机终端。
参照图2,按照本发明的数字签名装置1包括显示单元2、输入 单元3、 USB接口 4和主控单元5。其中,显示单元2可以是适合适 当类型的显示屏,输入单元3可以是键盘、按钮、开关、触摸屏、线 控、遥控器等等,主控单元5可以是主控芯片或任何适当类型的控制 单元或控制器。主控芯片可以是智能电子钥匙(USB Key)专用芯片。
智能电子钥匙(USB Key )专用芯片5包含中央处理器(CPU)、 易失性静态存储器(SRAM)、电可擦写可编程只读存储器 (EEPROM)、非易失性闪速存储器(FlashMemory)、通用串行总线接 口(USB)、异步串行输入输出口(UART)、同步串行输入输出口(SPI)、 通用输入输出口 (GPIO)、随机数发生器、密码协处理器等。此外, 智能电子钥匙(USBKey )专用芯片5还包括一些外围电路。
智能电子钥匙(USBKey )专用芯片5中包含的闪速存储器(Flash Memory)可以用于存储芯片操作系统(COS),电可擦写可编程只读 存储器(EEPROM)可以用于存储密钥对、根证书、初始私钥密码(pin) 等。只需简单的外围电路,该智能电子钥匙(USBKey )专用芯片5 在上电后就能够对数字签名处理进行管理和控制。
智能电子钥匙(USBKey )专用芯片5通过USB接口与计算机 终端相连接,从而与计算机终端进行通信,并且用来管理与计算机终 端之间的通信和对来自计算机终端的命令进行解释执行。
显示屏2用于在智能电子钥匙(USB Key )专用芯片5的控制 下显示用户的签名内容(签名数据)。该显示屏2可以显示字符或者 图形。显示屏2可以是液晶显示器之类的装置。显示屏2可以通过同 步串行输入输出口 (SPI)或者通用输入输出口 (GPIO)与智能电子钥匙(USB Key )专用芯片5相连。显示屏2可以在智能电子钥匙 (USB Key )专用芯片5的控制下显示指定的内容。
键盘3用于接收用户输入并且将所接收的用户输入传送给智能 电子钥匙(USB Key )专用芯片5,从而智能电子钥匙(USB Key ) 专用芯片5根据用户的输入来控制数字签名处理的流程。根据需要, 键盘3也可以由按钮或开关代替。键盘3可以通过异步串行输入输出 口 (UART)或者通用输入输出口 (GPIO)与智能电子钥匙(USB Key ) 专用芯片5相连。
下面介绍按照本发明的数字签名装置的操作过程。
首先,将按照本发明的数字签名装置1与计算机终端通过USB 接口连接。随后,按照本发明的数字签名装置l进行初始化。此时, 按照本发明的数字签名装置1可以是通过USB接口获得供电的,也 可以是以其它方式获得供电的,例如电池供电等。初始化结束后等待 计算机终端发来指令。
计算机终端在网上交易等活动中,如果需要数字签名,将签名指 令及需要数字签名的内容按预先定义的语法和语义规约编码,然后通 过通用串行总线(USB)接口发送到数字签名装置。
数字签名装置接收到签名指令及需要数字签名的内容,检査是否 符合预先定义的语法和语义规约,如果不符合,丢弃指令,返回出错 信息给计算机终端,继续等待计算机终端发来指令。
如果签名指令及需要数字签名的内容符合预先定义的语法和语 义规约,数字签名装置按预定格式将数字签名的内容发送到显示部件 显示,让用户确认需要签名内容的真实性和完整性。
如果用户发现显示部件显示的需要签名内容与其在计算机终端 从事的活动不一致或不同意签名,则从用户操作部件发出拒签指令, 数字签名装置丢弃指令,返回出错信息给计算机终端,继续等待计算
10机终端发来指令。
如果用户发现显示部件显示的需要签名内容与其在计算机终端 从事的活动一致并同意签名,用户从用户操作部件发出签名指令。此 时数字签名装置要求用户输入个人识别码(PIN ),并对个人识别码
(PIN )进行验证。
如果用户输入的个人识别码(PIN )与智能卡中储存的个人识别 码(PIN )不一致,数字签名装置返回错误信息,提示重新输入。若 多次验证不通过,数字签名装置丢弃指令,返回出错信息给计算机终 端,继续等待计算机终端发来指令。
如果用户输入的个人识别码(PIN )与智能卡中储存的个人识别 码(PIN ) —致,主控芯片使用存储于其内的私钥完成数字签名,并 发送回计算机终端。并继续等待计算机终端发来指令。
下面介绍按照本发明的数字签名处理的流程。本发明的数字签名 装置通过以下的处理流程实现数字签名
在步骤1中,等待签名指令及需要数字签名的内容。
在步骤2中,接收所述签名指令及需要数字签名的内容。
在步骤3中,检査所述签名指令及需要数字签名的内容是否符合 预先定义的语法和语义规约。如果不符合预先定义的语法和语义规 约,则丢弃所述签名指令及需要数字签名的内容、返回出错信息并且 返回到步骤l。如果符合预先定义的语法和语义规约,则继续进行步 骤4。此处需要注意,步骤3也可以是由主机装置完成的。
在步骤4中,显示需要数字签名的内容,并且等待来自用户的指令。
在步骤5中,接收用户指令,如果用户指令是拒绝签名指令,则 丢弃所述签名指令及需要数字签名的内容、返回出错信息并且返回到 步骤l。如果用户指令是同意签名指令,则继续进行步骤6。
ii在步骤6中,要求用户输入个人识别码(PIN ),并对用户输入 的个人识别码(PIN )进行验证。如果用户输入的个人识别码(PIN ) 与预先储存的个人识别码(PIN )不一致,则返回错误信息并提示重 新输入。若多次验证不通过,则丢弃所述签名指令及需要数字签名的 内容、返回出错信息并且返回到步骤l。如果用户输入的个人识别码 (PIN )与预先储存的个人识别码(PIN ) —致,则完成数字签名 并且返回到步骤l。
因此,本发明用于数字签名,可以解除用户对不安全的计算机终 端可能发出非其意愿的数字签名的担忧,保证数字签名确实是用户意 愿的真实表示。
在权利要求书和说明书中,词"包括"并不排除存在权利要求中未 列出的元件或步骤的情况。置于元件之前的词"一个"或"一"并不排除 存在多个此种元件的情况。本发明可以借助包括数个性质不同的元件 的硬件来实现,并且可以借助适当程控的计算机来实现。在列举出数 个装置的产品权利要求中,这些装置中的若干个可以通过硬件的一个 且同一部分来实现。在相互不同的从属权利要求中引用特定的手段这 一表面现象并不表明这些手段的结合形式无益于实现优点。
权利要求
1、一种数字签名装置,用于对主机装置上的数字内容进行数字签名,所述数字签名装置包括主控单元,显示单元,输入单元,用于接收用户输入并将所接收的用户输入传送给主控单元,和接口单元,用于将主控单元连接到主机装置上;其中,所述主控单元通过所述接口单元接收来自主机装置的签名指令和需要数字签名的内容,控制所述显示单元显示需要数字签名的内容;并且,所述主控单元根据来自所述输入单元的用户输入对需要数字签名的内容进行数字签名,并通过所述接口单元将数字签名返回给主机装置。
2、 按照权利要求1所述的数字签名装置,其中,所述主控单元是主控芯片。
3、 按照权利要求2所述的数字签名装置,其中,所述主控芯片是智能电子钥匙专用芯片。
4、 按照权利要求1所述的数字签名装置,其中,所述显示单元是液晶显示器、等离子体显示器、或TFT显示器。
5、 按照权利要求1所述的数字签名装置,其中,所述输入单元是键盘、按钮、开关、线控、遥控器、触摸屏、语音识别装置。
6、 按照权利要求1所述的数字签名装置,其中,所述接口单元是USB接口。
7、 按照权利要求1所述的数字签名装置,其中,所述主机装置是计算机终端。
8、 按照权利要求1所述的数字签名装置,其中,所述主控单元还检查所述签名指令和需要数字签名的内容是否符合预先定义的语法和语义规约。
9、 一种利用如1 8所述的数字签名装置的数字签名方法,所述数字签名方法包括步骤l:等待签名指令及需要数字签名的内容;步骤2:接收所述签名指令及需要数字签名的内容;步骤3:显示需要数字签名的内容,并且等待来自用户的指令;步骤4:接收用户指令,(4-a)如果用户指令是拒绝签名指令,则丢弃所述签名指令及需要数字签名的内容、返回出错信息并且返回到步骤l,(4-b)如果用户指令是同意签名指令,则继续进行步骤5;步骤5:要求用户输入个人识别码,并对用户输入的个人识别码进行验证,(5-a)如果用户输入的个人识别码与预先储存的个人识别码不一致,则返回错误信息并提示重新输入,若多次验证不通过,则丢弃所述签名指令及需要数字签名的内容、返回出错信息并且返回到步骤1,(5-b)如果用户输入的个人识别码与预先储存的个人识别码一致,则完成数字签名并且返回到步骤l。
10、 按照权利要求9所述的数字签名方法,此外,还包括介于步骤2和步骤3之间的步骤检査所述签名指令及需要数字签名的内容是否符合预先定义的语法和语义规约,(a) 如果不符合预先定义的语法和语义规约,则丢弃所述签名指令及需要数字签名的内容、返回出错信息并且返回到步骤1,(b) 如果符合预先定义的语法和语义规约,则继续进行步骤3。
全文摘要
本发明涉及一种数字签名装置,用于对主机装置上的数字内容进行数字签名,包括主控单元、显示单元、输入单元和接口单元;其中,所述主控单元通过所述接口单元接收来自主机装置的签名指令和需要数字签名的内容,控制所述显示单元显示需要数字签名的内容;并且,所述主控单元根据来自所述输入单元的用户输入对需要数字签名的内容进行数字签名,并通过所述接口单元将数字签名返回给主机装置。本发明用于数字签名,可以解除用户对不安全的计算机终端可能发出非其意愿的数字签名的担忧,保证数字签名确实是用户意愿的真实表示。
文档编号H04L9/32GK101593251SQ200810113000
公开日2009年12月2日 申请日期2008年5月27日 优先权日2008年5月27日
发明者阳雪林 申请人:中信国安信息科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1