一种认证方法、终端、手写笔及系统与流程

文档序号:30157098发布日期:2022-05-26 07:53阅读:132来源:国知局
一种认证方法、终端、手写笔及系统与流程

1.本技术涉及终端技术领域,尤其涉及一种认证方法、终端、手写笔及系统。


背景技术:

2.手写笔签字技术已成为网络系统虚拟环境中确认用户身份的重要技术。手写笔签字技 术指的是用户使用手写笔在终端的触摸面板输入手写签字进行签字认证,终端通过触摸面 板及传感器获取手写签字的相关数据,将其与手写签字模板数据进行对比,以鉴别手写签 字的真伪。其中,手写签字的相关数据可以包括手写签字的图像和手写笔对触摸面板的压 力等信息。
3.目前,当攻击者非法得到用户的手写签字模板数据后,可能会利用该手写签字模板数 据伪造用户的手写签字,从而非法通过手写签字认证。当攻击者非法认证通过后,可以非 法获取用户的隐私数据,进而威胁用户的财产安全。可见,目前手写签字认证方式尚存在 安全性不足的问题。


技术实现要素:

4.本技术提供一种认证方法、终端、手写笔及系统,用于解决目前手写签字技术存在安 全性不足的问题。
5.第一方面,本技术实施例提供一种认证方法,该方法可以应用包括业务模块的终端, 该方法包括:业务模块获取保密数据和手写签字的相关数据;然后业务模块对保密数据和 手写签字的相关数据进行计算,得到待签名数据;业务模块将待签名数据发送至第一签名 模块和第二签名模块,其中,第一签名模块用于使用第一密钥对待签名数据进行签名计算 得到第一签名信息,第二签名模块用于使用第二密钥对待签名数据进行签名计算得到第二 签名信息;业务模块从第一签名模块和第二签名模块获取第一签名信息和第二签名信息; 业务模块向认证服务器发送认证请求消息,认证请求消息包括保密数据和手写签字相关数 据、第一签名信息和第二签名信息;业务模块接收来自认证服务器的认证响应消息,认证 响应消息用于指示认证服务器根据保密数据和手写签字的相关数据、第一签名信息和第二 签名信息对手写签字进行认证的认证结果。
6.另一种可能的场景中,上述业务模块还可能向其它终端的业务模块发送保密数据和手 写签字相关数据、第一签名信息和第二签名信息,其它终端的业务模块向认证服务器发送 认证请求消息,从而其它终端的业务模块获取认证结果。
7.本技术实施例中,使用保密数据和手写签字相关数据、第一签名信息和第二签名信息, 当均认证通过,可以确保手写签字笔迹的输入设备是安全可信设备,输入用户是合法用户, 手写签字的笔迹也是合法用户的合法签字信息,从而提高手写签字的安全性。
8.在一种可能的设计中,第一签名模块和第二签名模块与业务模块均处于同一终端设备 中。也就是说,本技术实施例适用于同一终端上可以生成第一签名信息和第二签名信息的 场景,用户可以通过一个终端就可以顺利完成手写签字,且可以保证签字结果的合法
性。
9.在一种可能的设计中,该方法还包括:第一签名模块获取用户手写签字所用设备的设 备标识,根据设备标识生成第一密钥;第一签名模块使用第一密钥对待签名数据进行签名 计算得到第一签名信息;第二签名模块获取用户的身份标识,根据用户的身份标识生成第 二密钥;第二签名模块使用第二密钥对待签名数据进行签名计算得到第二签名信息。
10.本技术实施例中,终端通过上述方式可以在手写签字的过程中,将手写签字数据绑定 输入手写签字的设备的签名信息和输入手写签字的用户的签名信息,从而确保签字结果的 合法性。
11.在一种可能的设计中,第二签名模块使用第二密钥对待签名数据进行签名计算得到第 二签名信息,包括:第二签名模块使用用户的身份标识对用户的身份进行验证;当验证通 过后,第二签名模块使用第二密钥对待签名数据进行签名计算得到第二签名信息。该方法 中,将手写签字数据与输入手写签字的用户的签名信息进行绑定。
12.在一种可能的设计中,第一签名模块和业务模块处于同一终端设备中,第二签名模块 处于签字笔中。该方法可以适用用户使用专属签字笔在电子设备上进行签字的场景,提高 了手写签字的便利性,且可以保证手写签字结果的合法性。
13.在一种可能的设计中,业务模块是可信执行环境已授权的可信应用。
14.在一种可能的设计中,业务模块生成包括保密数据和手写签字的相关数据的含签文件, 并通过显示屏显示含签文件。该方法有助于用户查看签字结果,且可以实现待签电子文件 和手写签字数据的绑定,以便于后续生成第一签名信息和第二签名信息。
15.在一种可能的设计中,输入手写签字的签字笔包括设备开关;该方法还包括:当设备 开关被打开时,终端与签字笔建立通信连接。该方法有助于提升手写签字的安全性,且有 助于降低手写签字的功耗。
16.第二方面,本技术实施例提供一种终端,包括处理器和存储器,其中,存储器用于存 储一个或多个计算机程序;当存储器存储的一个或多个计算机程序被处理器执行时,使得 该第一电子设备能够实现上述第一方面任意一种可能的设计的方法。
17.第三方面,本技术实施例还提供一种装置,该装置包括执行上述第一方面的任意一种 可能的设计的方法的模块/单元。这些模块/单元可以通过硬件实现,也可以通过硬件执行相 应的软件实现。
18.第四方面,本技术实施例提供一种手写笔,包括:传感器单元、处理器和通信单元;
19.传感器单元,用于当用户通过手写笔在终端的触摸面板上进行签名时,检测手写笔的 运动轨迹信息和压力信息;
20.处理器,用于使用第二签名模块中的第二密钥对来自终端的待签名数据进行签名计算, 得到第二签名信息;
21.通过通信单元将第二签名信息发送至终端。
22.本技术实施例中,该方法可以适用用户使用专属签字笔在电子设备上进行签字的场景, 提高了手写签字的便利性,且可以保证手写签字结果的合法性。
23.第五方面,本技术实施例还提供一种装置,该装置包括执行上述第四方面的任意一种 可能的设计的方法的模块/单元。这些模块/单元可以通过硬件实现,也可以通过硬件执行相 应的软件实现。
信应用(trusted application,ta))的安全执行环境,同时也保护可信应用的资源和数据的 保密性,完整性和访问权限。
48.安全元件(se)可以是软硬件及相关协议结合的安全模块,可嵌入使用的智能卡级应 用程序,如嵌入式se、可插拔内存卡等。可信应用(trusted application,ta)和applet是 一种运行在se中的程序。
49.3)数字签名,指的是使用密钥对数据进行加密保护的方式,以保证数字通信中电子文 档或消息的真实性。数字签名常用于电子商务,软件分发,金融交易和依赖伪造或篡改检 测技术的其他情况。
50.4)手写签字,指的是用户通过手写笔或手指触摸在终端的触摸面板输入手写签字进行 签字认证,终端通过触摸面板及传感器获取手写签字的相关数据,将其与手写签字模板数 据进行对比,以鉴别手写签字的真伪。
51.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行描述。其中, 在本技术实施例的描述中,以下,术语“第一”、“第二”仅用于描述目的,而不能理解为指示 或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二
”ꢀ
的特征可以明示或者隐含地包括一个或者更多个该特征。在本技术实施例的描述中,除非 另有说明,“多个”的含义是两个或两个以上。
52.本技术实施例提供的认证方法可以应用于如图1所示的多个设备基于通信网络互联的 场景。在图1所示的场景中,手写笔200、终端100与认证服务器300之间可以通过通信网 络交互数据,例如交互图片、电子文件、手写签字的相关数据等。
53.本技术实施例中,终端100获取用户采用手写笔200输入的手写签字的相关数据之后, 例如,图1中终端100获取用户通过手写笔签入的姓名的图像信息和手写笔对触摸面板的 压力等信息,终端100将手写签字的相关数据与被签的电子文件相结合得到含签文件,终 端100中的可信应用再对含签文件的哈希值进行设备数字签名(如使用终端100的设备id 对含签文件进行数字签名),以及对含签文件的哈希值进行用户身份数字签名(如使用用户 id对含签文件进行数字签名)。终端100将设备数字签名、身份数字签名,以及签名计算后 的含签文件均发送给认证服务器300(或者是其它验证设备)。服务器300对设备数字签名、 身份数字签名,以及签名计算后的含签文件进行验证,当均验证通过后,才确认用户此次 的手写签字是可信的。
54.示例性的,本技术实施例提供的方法可以应用于银行或电子商务中的电子文件签署。 需要说明的是,本技术实施例中的手写笔200还可以被替换为其它具有手写功能的设备。
55.其中,该通信网络可以是局域网,也可以是通过中继(relay)设备转接的广域网,或 者由局域网和广域网组成的网络。当该通信网络为局域网时,示例性的,该通信网络可以 是wifi热点网络、wifi p2p网络、蓝牙网络、zigbee网络或近场通信(near field communication, nfc)网络等近距离通信网络。当该通信网络为广域网时,示例性的,该通信网络可以是第 三代移动通信技术(3rd-generation wireless telephone technology,3g)网络、第四代移动通 信技术(the 4th generation mobile communication technology,4g)网络、第五代移动通信技 术(5th-generation mobile communication technology,5g)网络、未来演进的公共陆地移动 网络(public land mobile network,
动通信模块350的至少部分功能模块可以被设置于处理器310中。在一些实施例中,移动 通信模块350的至少部分功能模块可以与处理器310的至少部分模块被设置在同一个器件 中。
71.无线通信模块360可以提供应用在终端100上的包括无线局域网(wireless local area networks,wlan)(如无线保真(wireless fidelity,wi-fi)网络)、蓝牙(bluetooth,bt)、全球导 航卫星系统(global navigation satellite system,gnss)、调频(frequency modulation,fm)、近 距离无线通信技术(near field communication,nfc)、红外线(infrared radiation,ir)技术等 无线通信的解决方案。无线通信模块360可以是集成至少一个通信处理模块的一个或多个 器件。无线通信模块360经由天线2接收电磁波,将电磁波信号调频以及滤波处理,将处 理后的信号发送到处理器310。无线通信模块360还可以从处理器310接收待发送的信号, 对其进行调频,放大,经天线2转为电磁波辐射出去。
72.在一些实施例中,终端100的天线1和移动通信模块350耦合,天线2和无线通信模 块360耦合,使得终端100可以通过无线通信技术与网络以及其他设备通信。所述无线通 信技术可以包括全球移动通讯系统(global system for mobile communications,gsm)、通用分 组无线服务(general packet radio service,gprs)、码分多址接入(code division multiple access, cdma)、宽带码分多址(wideband code division multiple access,wcdma)、时分码分多址 (time-division code division multiple access,td-scdma)、长期演进(long term evolution,lte)、 bt、gnss、wlan、nfc、fm、和/或ir技术等。
73.可以理解的是,图3所示的部件并不构成对终端100的具体限定,终端100还可以包 括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布 置。此外,图3中的部件之间的组合/连接关系也是可以调整修改的。
74.手写笔200或终端100的软件系统可以采用分层架构,事件驱动架构,微核架构,微 服务架构,或云架构。本技术实施例以分层架构的android系统为例,示例性说明手写笔 200或终端100的软件结构。
75.若图4是本技术实施例的手写笔200的软件结构框图,该软件架构的软件模块和/或代 码可以存储在存储器202中,当处理器201运行该软件模块或代码时,执行本技术实施例 所提供的认证方法。若图4是本技术实施例的终端100的软件结构框图,该软件架构的软 件模块和/或代码可以存储在内部存储器321中,当内部处理器321运行该软件模块或代码 时,执行本技术实施例所提供的认证方法。
76.分层架构将软件分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件 接口通信。在一些实施例中,将android系统分为四层,从上至下分别为应用程序层,应用 程序框架层,安卓运行时(android runtime)和系统库,以及内核层。
77.应用程序层可以包括一系列应用程序包。
78.如图4所示,应用程序包可以包括电话、相机,图库,日历,通话,地图,导航,wlan, 蓝牙,音乐,视频,短信息等应用程序。
79.应用程序框架层为应用程序层的应用程序提供应用编程接口(application programminginterface,api)和编程框架。应用程序框架层包括一些预先定义的函数。
80.如图4所示,应用程序框架层可以包括窗口管理器,内容提供器,视图系统,电话管 理器,资源管理器,通知管理器等。
81.窗口管理器用于管理窗口程序。窗口管理器可以获取显示屏大小,判断是否有状态栏, 锁定屏幕,截取屏幕等。
82.内容提供器用来存放和获取数据,并使这些数据可以被应用程序访问。所述数据可以 包括视频,图像,音频,拨打和接听的电话,浏览历史和书签,电话簿等。
83.视图系统包括可视控件,例如显示文字的控件,显示图片的控件等。视图系统可用于 构建应用程序。显示界面可以由一个或多个视图组成的。例如,包括短信通知图标的显示 界面,可以包括显示文字的视图以及显示图片的视图。
84.电话管理器用于提供终端100的通信功能。例如通话状态的管理(包括接通,挂断等)。
85.资源管理器为应用程序提供各种资源,比如本地化字符串,图标,图片,布局文件, 视频文件等等。
86.通知管理器使应用程序可以在状态栏中显示通知信息,可以用于传达告知类型的消息, 可以短暂停留后自动消失,无需用户交互。比如通知管理器被用于告知下载完成,消息提 醒等。通知管理器还可以是以图表或者滚动条文本形式出现在系统顶部状态栏的通知,例 如后台运行的应用程序的通知,还可以是以对话窗口形式出现在屏幕上的通知。例如在状 态栏提示文本信息,发出提示音,振动,指示灯闪烁等。
87.android runtime包括核心库和虚拟机。android runtime负责安卓系统的调度和管理。
88.核心库包含两部分:一部分是java语言需要调用的功能函数,另一部分是安卓的核心 库。
89.应用程序层和应用程序框架层运行在虚拟机中。虚拟机将应用程序层和应用程序框架 层的java文件执行为二进制文件。虚拟机用于执行对象生命周期的管理,堆栈管理,线程 管理,安全和异常的管理,以及垃圾回收等功能。
90.系统库可以包括多个功能模块。例如:表面管理器(surface manager),媒体库(medialibraries),三维图形处理库(例如:opengl es),2d图形引擎(例如:sgl)等。
91.表面管理器用于对显示子系统进行管理,并且为多个应用程序提供了2d和3d图层的 融合。
92.媒体库支持多种常用的音频,视频格式回放和录制,以及静态图像文件等。媒体库可 以支持多种音视频编码格式,例如:mpeg4,h.264,mp3,aac,amr,jpg,png等。
93.三维图形处理库用于实现三维图形绘图,图像渲染,合成,和图层处理等。
94.2d图形引擎是2d绘图的绘图引擎。
95.内核层是硬件和软件之间的层。内核层至少包含显示驱动,摄像头驱动,音频驱动, 传感器驱动。其中,硬件可以指的是各类传感器,例如本技术实施例中涉及的加速度传感 器、陀螺仪传感器、触摸传感器、压力传感器等。
96.为解决背景技术中提出的问题,本技术实施例提供一种认证方法,该方法除了对用户 的手写签字进行认证,还同时对用户输入手写签字时所使用的设备和用户身份进行认证, 当均验证通过后,才确认用户此次的手写签字是可信的,从而提高了签字认证结果的可靠 性,以解决目前手写签字技术存在安全性不足的问题。
97.下面先分场景示例性地介绍本技术实施例所提供的方法。
98.场景一
99.图5a示出了一种签字认证方法的流程示意图。该场景一中是以用户使用签字笔在手机 上进行电子文件的签字认证过程为例。该手机中包括签字应用、tee中的安全应用、第一 签名模块、第二签名模块和采集模块。第一签名模块指的是用于认证设备身份的签名模块, 第二签名模块指的是用于认证用户身份的签名模块,第一签名模块使用的密钥称为设备密 钥,将第二签名模块使用的密钥称为身份密钥。具体地,该签字认证方法可以包括如下步 骤:
100.s501至s503、手机的签字应用响应于用户的操作,触发签字应用打开用户需要签字认 证的电子文件,签字应用向可信应用传送需要签字认证的电子文件,可信应用显示待签字 认证的电子文件的文件图层。
101.示例性地,结合图6来说,当手机检测到用户作用于签字应用控件601的操作时,该 操作可以是点击操作或者其它语音指令等,响应于该操作,手机显示如图6所示的签字应 用的界面610。当手机检测到用户作用于签字应用中的打开文档控件611的操作时,手机显 示如图6中的(c)所示的界面620。该界面620为可信用户界面(trust user interface,tui)。 示例性地,界面620中显示有《租房合同》这一电子文件的文档内容,该文档内容所在的 显示图层被定义为tui中的待签电子文件图层,且一般为只读模式,即不允许用户修改文 档内容。
102.在一种可能的实施例中,若界面620的当前界面未完全显示该《租房合同》的全部内 容,则用户还可以继续点击操作界面620中的下一页控件621,响应于用户的这一操作,手 机还可以显示如图6(d)所示的界面630,该界面630定义为tui中的另一待签电子文件 图层,且也为只读模式。该界面630中显示有《租房合同》这一电子文件的剩余的文档内 容。需要说明的是,该实施例仅示例了电子文件分为两页,在其它可能的情况下,电子文 件还可以分为一页或多页,本实施例并不限定分页的数量。
103.s504至s505,手机的可信应用接收用户的操作,如接收用户点击开始签字控件的操作, 可信应用显示待签字认证的电子文件的签字图层。
104.接续上例,当手机检测到用户作用于如图6(d)所示的界面630中的开始签字控件631 的操作时,手机显示如图6(e)所示的界面640,其中,界面640可以被定位为tui中的 签字图层,该图层为可输入模式,即用户可以在该签字图层使用手写笔输入手写签字或者 使用手指滑动输入手写签字。
105.s506至s507,手机的可信应用接收用户使用签字笔(或者用户使用手指)在该签字图 层上输入的手写签字的相关数据,并且手机的可信应用合并两个图层,生成并显示包括电 子文件和手写签字的相关数据的含签文件,生成含签文件的哈希值。
106.接续上例,用户可以使用手写签字笔在图6(e)所示的界面640中签字,例如用户手 写输入用户的名字“王五”。当手机检测到用户作用于界面640中的确定控件641时,手机显 示如图6(f)所示的界面650。该界面650被定义为tui中的含签文件图层,一般为只读 模式。其中,该界面650包括《租房合同》这一电子文件的内容和用户的手写签字信息, 当手机检测到用户作用于界面650中的确定控件651时,手机生成并显示包括电子文件和 手写签字的相关数据的含签文件,生成含签文件的哈希值。
107.具体地,将含签文件进行哈希计算或信息-摘要(message-digest algorithm,md)
信息进行用户身份认证;或者,如果用户点击“人脸识别验证”,则可以输入人脸信息进行用 户身份认证。例如,用户选择了输入人脸信息,则相当于所选择的采集模块为摄像头393, 或者用户选择了输入指纹信息,则相当于所选择的采集模块为指纹传感器380h,等等。用 户选择相应的采集模块后,签字应用可以触发相应的采集模块工作,从而采集用户相关的 签名信息。
121.需要说明的是,当用户选择使用生物特征进行认证的时候,才会触发采集模块进行用 户的生物特征采集,若用户选择使用密码(如锁屏密码)进行认证,则不会触发采集模块 进行用户的生物特征采集。这时,第二签名模块只需要进行密钥比对,生成验证结果。
122.s516,第二签名模块使用用户身份密钥对哈希值进行数字签名。
123.一种可能的情况下,用户身份密钥可以是对用户身份标识执行密钥算法生成的,例如, 若用户选择使用生物特征进行验证,则用户身份标识可以是采集模块所采集到的用户的生 物特征;另一种可能的情况下,若用户使用手写笔进行签字认证,则用户身份标识也可以 是签字笔的设备标识,因不同用户的签字笔的设备标识是不同的,所以可以使用签字笔的 设备标识唯一指代用户标识。其它可能的情况下,若用户使用手指进行输入手写签字,或 者用户使用密码进行认证,则用户身份标识可以是用户登录签字应用的账户id,或者用户 登录手机操作系统的用户id等。
124.s517,第二签名模块向手机的可信应用返回用户身份数字签名。
125.s518,手机的可信应用向签字应用返回含签文件、用户身份数字签名和设备身份数字 签名。
126.可选地,当手机接收到上述含签文件、用户身份数字签名和设备身份数字签名等信息 之后,手机侧的使用用户即完成了手写签字这一过程。手机侧的使用用户可以主动向另一 电子设备(如房产中介公司的电脑)发送上述含签文件、用户身份数字签名和设备身份数 字签名等信息,或者手机自动向该绑定的另一电子设备发送上述信息,已完成手写签字的 认证过程。如图5b所示,具体地,手写签字的认证过程还包括如下步骤:
127.s519,签字应用向另一电子设备发送含签文件、用户身份数字签名和设备身份数字签 名。
128.s520,另一电子设备向签字应用服务器发送含签文件、用户身份数字签名和设备身份 数字签名。
129.s521,签字应用服务器使用预存模板对含签文件、用户身份数字签名和设备身份数字 签名进行验证。
130.示例性地,签字应用服务器使用与手机侧一样的哈希函数对接收到的含签文件计算得 到第一哈希值,使用预先存储的用户身份相关的公钥对用户身份数字签名进行解密,得到 第二哈希值,若第一哈希值与第二哈希值相同,则认定用户身份数字签名是合法的,另外, 签字应用服务器使用设备标识(如imsi)相关的公钥对设备身份数字签名进行解密得到第 三哈希值,若第一哈希值与第三哈希值相同,则认定设备身份数字签名是合法的,另外, 签字应用服务器使用预先存储的手写签字图像模板,以及压力数据模板对含签文件进行匹 配,若匹配成功,则认定含签文件是合法的,当认定用户身份数字签名、设备身份数字签 名和含签文件均是合法的情况下,则签字应用服务器确认验证通过,否则,则确认验证不 通过。
131.s522,签字应用服务器向另一电子设备的签字应用返回签字认证结果。
132.这样,另一电子设备的使用用户就可以从显示界面中查看签字认证成功或失败的结果。
133.需要说明的是,上述s513至s515中第二签名模块对用户的生物特征进行认证的过程 可以发生在用户手写签字之前,如发生在s506之前;或者,可以发生在设备身份数字签名 之前,如发生在s510之前。另外,设备身份数字签名过程也可以发生在用户身份数字签名 过程之后,即s510至s511可以发生在s517之后。
134.本实施例中,适用于第一签名模块和第二签名模块均处于同一设备(如手机)的场景, 在该场景下,用户可以使用手写笔手写签字,也可以使用手指触摸输入手写签字,用户通 过随身携带可以运行上述方法的终端(如手机、pad),就可以随时随地完成手写签字,且 可以保证手写签字认证的安全性。因为只有签字应用服务器(或者可以是其它认证服务器) 认定用户身份数字签名、设备身份数字签名和含签文件均是合法的情况,才认证签字成功, 可以确保手写签字笔迹的输入设备是安全可信设备,输入用户是合法用户,手写签字的笔 迹也是合法用户的合法签字信息,从而提高手写签字的安全性。本实施例结合数字验证的 目的是可以检验数据传输过程中是否被篡改,由于签名数据是通过对保密数据(如设备标 识、用户标识)和手写签字笔迹计算得到,因此所述签名验证可以检验出保密数据或手写 签字笔迹在传给可信应用服务器的过程中是否被篡改。该方法有效地改善目前手写签字技 术存在安全性不足的问题,提高了手写签字认证结果可信度,避免因攻击者非法得到用户 的手写签字模板数据伪造用户的手写签字,非法通过手写签字认证的问题。
135.上述该场景一中,若用户可以使用手写笔手写签字,手写笔和手机可通过蓝牙连接, 当然也可以通过除蓝牙通信协议之外的其他近距离通信协议进行通信,包括但不限于wifi、 红外等。近距离通信协议下面有时也被称之为短距离通信协议。
136.场景二
137.该场景二与场景一的区别在于,该场景二更适用于第一签名模块和第二签名模块处于 不同的设备(如手机)的场景。
138.该场景二中是以用户使用用户专属的签字笔在电子设备(如银行柜台机)上进行电子 文件的签字认证过程为例。电子设备中包括签字应用、tee中的安全应用、第一签名模块 和第一连接模块。签字笔中包括第二签名模块、采集模块和第二连接模块。第一签名模块 指的是用于认证设备身份的签名模块,第二签名模块指的是用于认证用户身份的签名模块, 第一签名模块使用的密钥称为设备密钥,将第二签名模块使用的密钥称为身份密钥。
139.示例性的,如图8a所示,用户携带自身专属的签字笔前往银行柜台机办理银行交易业 务,当银行交易业务发起对用户的手写签字认证时,用户可以使用携带的手写笔在银行的 柜台机上输入手写签字,另外,银行的柜台机生成设备身份签名数据,手写笔生成用户身 份签名数据,并发送至银行柜台机,最终银行柜台机将手写签字数据、设备身份签名数据 和用户身份签名数据发送至银行后台服务器,银行后台服务器对用户的手写签字数据以及 设备身份签名数据和用户身份签名数据进行验证,根据验证结果,确定此次手写签字是否 可信。
140.图8b示出了该场景二下的一种签字认证方法的流程示意图。具体地,可以包括如
下步 骤:
141.s800,签字笔的设备开关被用户打开之后,电子设备可以搜索发现签字笔,并与签字 笔建立安全连接。
142.具体地,电子设备的第一连接模块与签字笔的第二连接模块通过协商交互,完成安全 连接的建立。电子设备和签字笔可以通过蓝牙连接,当然也可以通过除蓝牙通信协议之外 的其他近距离通信协议进行通信,包括但不限于wifi、红外等。在一种可能的实施例中, 若签字笔与电子设备建立安全连接成功,则签字笔的指示灯可以被点亮,以指示用户签字 笔连接成功,处于可使用状态。
143.s801至s803、电子设备的签字应用响应于用户的操作,触发签字应用打开用户需要签 字认证的电子文件,签字应用向可信应用传送需要签字认证的电子文件,可信应用在tui 中显示待签字认证的电子文件的文件图层。
144.示例性地,结合图9a来说,如图9a中的(a)所示,当银行柜台机检测到用户作用于 签字应用控件901的操作时,该操作可以是点击操作或者其它语音指令等,响应于该操作, 银行柜台机显示如图9a中的(b)所示的签字应用的界面910。该界面910为可信用户界 面(trust user interface,tui)。当银行柜台机检测到用户作用于签字应用中的打开文档控件 911的操作时,银行柜台机显示如图9b中的(c)所示的界面920。示例性地,界面920中 显示有《理财合同》这一电子文件的文档内容。该文档内容所在的显示图层被定义为tui 中的待签电子文件图层,且一般为只读模式,即不允许用户修改文档内容。
145.在一种可能的实施例中,若界面920的当前界面未完全显示该《理财合同》的全部内 容,则用户还可以继续点击操作界面920中的下一页控件921,响应于用户的这一操作,银 行柜台机还可以显示如图9b中的(d)所示的界面930。该界面930中显示有《理财房合 同》这一电子文件的剩余的文档内容。需要说明的是,该实施例仅示例了电子文件分为两 页,在其它可能的情况下,电子文件还可以分为一页或多页,本实施例并不限定分页的数 量。
146.s804至s805,银行柜台机的可信应用接收用户的操作,如接收用户点击开始签字控件 的操作,可信应用显示待签字认证的电子文件的签字图层。
147.接续上例,当银行柜台机检测到用户作用于如图9b中的(d)所示的界面930中的开 始签字控件931的操作时,银行柜台机显示如图9c中的(e)所示的界面940,其中,界面 940可以是可信用户(trust-based user interface,tui)界面。该tui界面中显示有签字图层。 用户可以在该签字图层使用手写笔输入手写签字。
148.s806至s807,银行柜台机的可信应用接收用户使用签字笔(或者用户使用手指)在该 签字图层上输入的手写签字的相关数据,并且银行柜台机的可信应用合并两个图层,生成 并显示包括电子文件和手写签字的相关数据的含签文件,生成含签文件的哈希值。
149.接续上例,用户可以使用手写签字笔在图9c中的(e)所示的界面940中签字,例如 用户手写输入用户的名字“王五”。当银行柜台机检测到用户作用于界面940中的确定控件 941时,银行柜台机显示如图9c中的(f)所示的界面950。其中,该界面950包括《理财 合同》这一电子文件的内容和用户的手写签字信息,当银行柜台机检测到用户作用于界面 950中的确定控件951时,银行柜台机生成并显示包括电子文件和手写签字的相关数据的含 签文件,生成含签文件的哈希值。
150.具体地,将含签文件进行哈希计算或信息-摘要(message-digest algorithm,md)或安 全散列(secure hash algorithm,sha)计算得到第一计算值,如采用md5算法、md4算法、 md3算法等算法得到哈希值。
151.需要说明的是,还可以使用其它随机算法生成含签文件的随机数,本实施例对此并不 作限定。
152.s808至s809,当银行柜台机的可信应用接收用户确认完成手写签字的操作时,银行柜 台机的可信应用向银行柜台机的第一签名模块和签字笔的第二签名模块发送含签文件的哈 希值。
153.接续上例,当银行柜台机检测到用户作用于图9c中的(f)所示的界面950中的确定 控件951时,银行柜台机的可信应用向银行柜台机的第一签名模块和签字笔的第二签名模 块传送含签文件的哈希值。
154.s810,银行柜台机的第一签字模块使用设备密钥对含签文件的哈希值进行数字签名。
155.示例性地,银行柜台机的tee或se中的第一签名模块使用自身预设的设备密钥对含 签文件的哈希值进行数字签名。
156.其中,设备密钥可以是对银行柜台机的设备标识执行密钥算法生成的。
157.s811,银行柜台机的第一签名模块向银行柜台机的可信应用反馈设备身份数字签名。
158.示例性地,银行柜台机的tee或se中的第一签名模块向银行柜台机的可信应用反馈 设备身份数字签名。
159.s812,签字笔的第二签名模块触发采集模块进行用户的生物特征采集,以便于进行用 户身份的认证。
160.s813至s814,签字笔的采集模块采集用户的生物特征,向签字笔的第二签名模块发送 用户的生物特征。
161.示例性地,如图10所示,签字笔的采集模块可以是指纹特征采集传感器,当用户的指 腹触摸该传感器区域时,该采集模块可以采集得到用户的指纹特征。从而,指纹特征采集 传感器将采集的指纹特征发送至第二签名模块。
162.s815,签字笔的第二签名模块进行生物特征比对,生成验证结果。当验证通过则执行 s816,否则返回签字认证失败。
163.s816,签字笔的第二签名模块使用用户身份密钥对哈希值进行数字签名。
164.需要说明的是,上述s812至s815是可选步骤。一种可能的情况下,用户身份密钥可 以是对用户身份标识执行密钥算法生成的,例如,若用户选择使用生物特征进行验证,则 用户身份标识可以是采集模块所采集到的用户的生物特征;另一种可能的情况下,用户身 份标识也可以是签字笔的设备标识,因不同用户的签字笔的设备标识是不同的,所以可以 使用签字笔的设备标识唯一指代用户标识。
165.s817,签字笔的第二签名模块向银行柜台机的可信应用返回用户身份数字签名。
166.s818,银行柜台机的可信应用向签字应用返回含签文件、用户身份数字签名和设备身 份数字签名。
167.可选地,该实施例还可以包括如下认证过程,即包括s819至s822。需要说明的是,
该 认证过程与上述手写签字过程是解耦的,两个过程可以单独执行,也可以先后执行。
168.s819,签字应用向银行后台应用服务器发送含签文件、用户身份数字签名和设备身份 数字签名。
169.s820,银行后台应用服务器使用预存模板对含签文件、用户身份数字签名和设备身份 数字签名进行验证。
170.示例性地,银行后台应用服务器使用与银行柜台机侧一样的哈希函数对接收到的含签 文件计算得到第一哈希值,使用预先存储的用户身份相关的公钥对用户身份数字签名进行 解密,得到第二哈希值,若第一哈希值与第二哈希值相同,则认定用户身份数字签名是合 法的,另外,签字应用服务器使用设备标识(如imsi)相关的公钥对设备身份数字签名进 行解密得到第三哈希值,若第一哈希值与第三哈希值相同,则认定含签文件是合法的,当 认定用户身份数字签名、设备身份数字签名和含签文件均是合法的情况下,则银行后台应 用服务器确认验证通过,否则,则确认验证不通过。
171.s821,银行后台应用服务器向签字应用返回签字认证结果。
172.s822,签字应用向用户显示签字认证成功或失败的结果。
173.需要说明的是,上述s813至s815中第二签名模块对用户的生物特征进行认证的过程 可以发生在用户手写签字之前,如发生在s906之前;或者,可以发生在设备身份数字签名 之前,如发生在s910之前。另外,设备身份数字签名过程也可以发生在用户身份数字签名 过程之后,即s910至s911可以发生在s917之后。
174.本实施例中,在该场景下,用户可以使用手写笔在电子设备上进行手写签字,用户通 过随身携带专属的签字笔,就可以随时随地完成手写签字,且可以保证手写签字认证的安 全性。因为只有认证服务器(如银行后台服务器)认定用户身份数字签名、设备身份数字 签名和含签文件均是合法的情况,才认证签字成功,可以确保手写签字笔迹的输入设备是 安全可信设备,输入用户是合法用户,手写签字的笔迹也是合法用户的合法签字信息,从 而提高手写签字的安全性。本实施例结合数字验证的目的是可以检验数据传输过程中是否 被篡改,由于签名数据是通过对保密数据(如设备标识、用户标识)和手写签字笔迹计算 得到,因此所述签名验证可以检验出保密数据或手写签字笔迹在传给可信应用服务器的过 程中是否被篡改。该方法有效地改善目前手写签字技术存在安全性不足的问题,提高了手 写签字认证结果可信度,避免因攻击者非法得到用户的手写签字模板数据伪造用户的手写 签字,非法通过手写签字认证的问题。
175.基于上述场景一和场景二,为本技术实施例提供的一种认证方法流程图,参阅图11所 示,该方法具体包括如下步骤。
176.步骤1101,终端的业务模块获取保密数据和手写签字的相关数据。
177.其中,业务模块可以是可信执行环境已授权的可信应用,也可以是可信执行环境中的 其它安全模块,如第一签名模块或第二签名模块。保密数据可以是签字应用中的电子文件, 如场景一中《租房合同》电子文件,或者如场景二中的《理财合同》电子文件。示例性地, 保密数据和手写签字的相关数据的具体获取方式可以参见上述场景一或场景二的描述,在 此不再重复赘述。
178.步骤1102,终端的业务模块对所述保密数据和手写签字的相关数据进行计算,得到待 签名数据。
块发送签字认证失败通知消息,以及失败原因信息,失败原因信息可以包括设备不合法等。 若认证成功,则认证服务器的设备签名模块可以继续对保密数据和手写签字的相关数据进 行认证,若认证失败,则向业务模块发送签字认证失败通知消息,以及失败原因信息,失 败原因信息可以包括签字笔迹不合法等。若认证成功,通知业务模块该签字认证成功。
193.本实施例中,用户可以使用专属的手写笔在电子设备上随时随地进行手写签字,也可 以通过用户专属的终端随时随地进行手写签字,且可以保证手写签字的认证结果的合法性。 因为只有认证服务器(如银行后台服务器)认定用户身份数字签名、设备身份数字签名和 含签文件均是合法的情况,才认证签字成功,可以确保手写签字笔迹的输入设备是安全可 信设备,输入用户是合法用户,手写签字的笔迹也是合法用户的合法签字信息,从而提高 手写签字的安全性。本实施例结合数字验证的目的是可以检验数据传输过程中是否被篡改, 由于签名数据是通过对保密数据(如设备标识、用户标识)和手写签字笔迹计算得到,因 此所述签名验证可以检验出保密数据或手写签字笔迹在传给可信应用服务器的过程中是否 被篡改。该方法有效地改善目前手写签字技术存在安全性不足的问题,提高了手写签字认 证结果可信度,避免因攻击者非法得到用户的手写签字模板数据伪造用户的手写签字,非 法通过手写签字认证的问题。
194.基于与图11所示方法实施例的同一发明构思,本发明实施例提供一种第一装置,具体 用于实现上述实施例中的方法。
195.当该第一装置包括第一签名模块和第二签名模块时,该装置的结构如图12所示,包括 业务模块1201、第一签名模块1202、第二签名模块1203。
196.业务模块1201,用于获取保密数据和手写签字的相关数据;对所述保密数据和手写签 字的相关数据进行计算,得到待签名数据;将所述待签名数据发送至第一签名模块和第二 签名模块。
197.第一签名模块1202,用于获取用户手写签字所用设备的设备标识,根据所述设备标识 生成所述第一密钥;使用所述第一密钥对所述待签名数据进行签名计算得到所述第一签名 信息。
198.第二签名模块1203,用于获取用户的身份标识,根据所述用户的身份标识生成所述第 二密钥;使用所述第二密钥对所述待签名数据进行签名计算得到所述第二签名信息。
199.业务模块1201,还用于向认证服务器发送认证请求消息,所述认证请求消息包括所述 保密数据和手写签字相关数据、第一签名信息和第二签名信息;以及接收来自所述认证服 务器的认证响应消息,所述认证响应消息用于指示所述认证服务器根据所述保密数据和手 写签字的相关数据、第一签名信息和第二签名信息对所述手写签字的认证结果。
200.在一种可能的实施方式中,第二签名模块1203,还用于使用所述用户的身份标识对所 述用户的身份进行验证;当验证通过后,使用所述第二密钥对所述待签名数据进行签名计 算得到所述第二签名信息。
201.在一种可能的实施方式中,业务模块1201,还用于生成包括所述保密数据和所述手写 签字的相关数据的含签文件,并通过显示屏显示所述含签文件。
202.在一种可能的实施方式中,上述第一装置还包括第一连接模块1204,用于输入所述手 写签字的签字笔的设备开关被打开时,与所述签字笔建立通信连接。
203.基于与图11所示方法实施例的同一发明构思,本发明实施例提供一种第一装置和
第二 装置,具体用于实现上述实施例中的方法。
204.如图13所示,第一装置的结构包括业务模块1301、第一签名模块1302、第一连接模 块1303。第一装置的结构包括第二签名模块1304,以及第二连接模块1305。
205.第一连接模块1303,用于与第二连接模块1305建立安全连接,使得第一装置可以与第 二装置进行通信。一种可能的实施方式中,当第二装置所在签字笔的设备开关被打开时, 与所述签字笔建立通信连接。
206.业务模块1301,用于获取保密数据和手写签字的相关数据;对所述保密数据和手写签 字的相关数据进行计算,得到待签名数据;将所述待签名数据发送至第一签名模块和第二 签名模块。
207.第一签名模块1302,用于获取用户手写签字所用设备的设备标识,根据所述设备标识 生成所述第一密钥;使用所述第一密钥对所述待签名数据进行签名计算得到所述第一签名 信息。
208.第二签名模块1304,用于获取用户的身份标识,根据所述用户的身份标识生成所述第 二密钥;使用所述第二密钥对所述待签名数据进行签名计算得到所述第二签名信息。
209.第二连接模块1305,用于向业务模块1301发送第二签名信息。
210.业务模块1301,还用于向认证服务器发送认证请求消息,所述认证请求消息包括所述 保密数据和手写签字相关数据、第一签名信息和第二签名信息;以及接收来自所述认证服 务器的认证响应消息,所述认证响应消息用于指示所述认证服务器根据所述保密数据和手 写签字的相关数据、第一签名信息和第二签名信息对所述手写签字的认证结果。
211.在一种可能的实施方式中,第二签名模块1304,还用于使用所述用户的身份标识对所 述用户的身份进行验证;当验证通过后,使用所述第二密钥对所述待签名数据进行签名计 算得到所述第二签名信息。
212.在一种可能的实施方式中,业务模块1301,还用于生成包括所述保密数据和所述手写 签字的相关数据的含签文件,并通过显示屏显示所述含签文件。
213.本实施例还提供了一种签字系统,包括上述终端和上述签字笔,以实现上述实施例中 的方法。
214.本实施例还提供一种计算机可读存储介质,该计算机可读存储介质中存储有计算机指 令,当该计算机指令在终端上运行时,使得终端执行上述实施例所执行的一个或多个步骤, 以实现上述实施例中的方法。
215.本实施例还提供了一种程序产品,当该程序产品在计算机上运行时,使得计算机执行 上述实施例中的一个或多个步骤,以实现上述实施例中的方法。
216.另外,本技术的实施例还提供一种装置,这个装置具体可以是芯片系统,组件或模块, 该装置可包括相连的处理器和存储器;其中,存储器用于存储计算机执行指令,当装置运 行时,处理器可执行存储器存储的计算机执行指令,以使芯片执行上述实施例中的一个或 多个步骤,以实现上述实施例中的方法。
217.通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便 和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述 功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以 上描述的全部或者部分功能。上述描述的系统,装置和单元的具体工作过程,可以参
考前 述方法实施例中的对应过程,在此不再赘述。
218.在本技术实施例各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各 个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既 可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
219.所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可 以存储在一个计算机可读取存储介质中。基于这样的理解,本技术实施例的技术方案本质 上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式 体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机 设备(可以是个人计算机,服务器,或者网络设备等)或处理器执行本技术各个实施例所 述方法的全部或部分步骤。而前述的存储介质包括:快闪存储器、移动硬盘、只读存储器、 随机存取存储器、磁碟或者光盘等各种可以存储程序代码的介质。
220.在本说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本技术的一个或多 个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同 之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外 一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施 例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味 着“包括但不限于”,除非是以其他方式另外特别强调。
221.上述本技术提供的实施例中,从终端(例如手机)作为执行主体的角度对本技术实施 例提供的方法进行了介绍。为了实现上述本技术实施例提供的方法中的各功能,终端设备 可以包括硬件结构和/或软件模块,以硬件结构、软件模块、或硬件结构加软件模块的形式 来实现上述各功能。上述各功能中的某个功能以硬件结构、软件模块、还是硬件结构加软 件模块的方式来执行,取决于技术方案的特定应用和设计约束条件。
222.以上实施例中所用,根据上下文,术语“当

时”或“当

后”可以被解释为意思是“如果
…”ꢀ
或“在

后”或“响应于确定
…”
或“响应于检测到
…”
。类似地,根据上下文,短语“在确定
…ꢀ
时”或“如果检测到(所陈述的条件或事件)”可以被解释为意思是“如果确定
…”
或“响应于确 定
…”
或“在检测到(所陈述的条件或事件)时”或“响应于检测到(所陈述的条件或事件)”。 另外,在上述实施例中,使用诸如第一、第二之类的关系术语来区份一个实体和另一个实 体,而并不限制这些实体之间的任何实际的关系和顺序。
223.在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。 当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产 品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部 分地产生按照本技术实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算 机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质 中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算 机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、 数字用户线(dsl))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、 服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用 介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用 介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质 (例
如固态硬盘solid state disk(ssd))等。
224.需要指出的是,本专利申请文件的一部分包含受著作权保护的内容。除了对专利局的 专利文件或记录的专利文档内容制作副本以外,著作权人保留著作权。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1