CN114528533A - 一种认证方法、终端、手写笔及系统 - Google Patents

一种认证方法、终端、手写笔及系统 Download PDF

Info

Publication number
CN114528533A
CN114528533A CN202011196096.5A CN202011196096A CN114528533A CN 114528533 A CN114528533 A CN 114528533A CN 202011196096 A CN202011196096 A CN 202011196096A CN 114528533 A CN114528533 A CN 114528533A
Authority
CN
China
Prior art keywords
signature
module
terminal
data
user
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.)
Pending
Application number
CN202011196096.5A
Other languages
English (en)
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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN202011196096.5A priority Critical patent/CN114528533A/zh
Publication of CN114528533A publication Critical patent/CN114528533A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Collating Specific Patterns (AREA)

Abstract

本申请提供了一种认证方法、终端、手写笔及系统,该方法可以提高手写签字认证的安全性。该方法将手写签字与数字签名相结合,手写笔获取与用户的手写签字的数据信息对应的待签名数据之后,手写笔使用用户身份相关的第二密钥对手写签字的数据信息对应的待签名数据进行数字签名,再将生成的第二签名信息发送至终端,终端使用设备标识对应的第一密钥对待签名数据进行数字签名,再将生成第一签名信息,以及第二签名信息,以及手写签字的相关数据发送至认证服务器进行认证,当均认证通过,可以确保手写签字笔迹的输入设备是安全可信设备,输入用户是合法用户,手写签字的笔迹也是合法用户的合法签字信息,从而提高手写签字的安全性。

Description

一种认证方法、终端、手写笔及系统
技术领域
本申请涉及终端技术领域,尤其涉及一种认证方法、终端、手写笔及系统。
背景技术
手写笔签字技术已成为网络系统虚拟环境中确认用户身份的重要技术。手写笔签字技 术指的是用户使用手写笔在终端的触摸面板输入手写签字进行签字认证,终端通过触摸面 板及传感器获取手写签字的相关数据,将其与手写签字模板数据进行对比,以鉴别手写签 字的真伪。其中,手写签字的相关数据可以包括手写签字的图像和手写笔对触摸面板的压 力等信息。
目前,当攻击者非法得到用户的手写签字模板数据后,可能会利用该手写签字模板数 据伪造用户的手写签字,从而非法通过手写签字认证。当攻击者非法认证通过后,可以非 法获取用户的隐私数据,进而威胁用户的财产安全。可见,目前手写签字认证方式尚存在 安全性不足的问题。
发明内容
本申请提供一种认证方法、终端、手写笔及系统,用于解决目前手写签字技术存在安 全性不足的问题。
第一方面,本申请实施例提供一种认证方法,该方法可以应用包括业务模块的终端, 该方法包括:业务模块获取保密数据和手写签字的相关数据;然后业务模块对保密数据和 手写签字的相关数据进行计算,得到待签名数据;业务模块将待签名数据发送至第一签名 模块和第二签名模块,其中,第一签名模块用于使用第一密钥对待签名数据进行签名计算 得到第一签名信息,第二签名模块用于使用第二密钥对待签名数据进行签名计算得到第二 签名信息;业务模块从第一签名模块和第二签名模块获取第一签名信息和第二签名信息; 业务模块向认证服务器发送认证请求消息,认证请求消息包括保密数据和手写签字相关数 据、第一签名信息和第二签名信息;业务模块接收来自认证服务器的认证响应消息,认证 响应消息用于指示认证服务器根据保密数据和手写签字的相关数据、第一签名信息和第二 签名信息对手写签字进行认证的认证结果。
另一种可能的场景中,上述业务模块还可能向其它终端的业务模块发送保密数据和手 写签字相关数据、第一签名信息和第二签名信息,其它终端的业务模块向认证服务器发送 认证请求消息,从而其它终端的业务模块获取认证结果。
本申请实施例中,使用保密数据和手写签字相关数据、第一签名信息和第二签名信息, 当均认证通过,可以确保手写签字笔迹的输入设备是安全可信设备,输入用户是合法用户, 手写签字的笔迹也是合法用户的合法签字信息,从而提高手写签字的安全性。
在一种可能的设计中,第一签名模块和第二签名模块与业务模块均处于同一终端设备 中。也就是说,本申请实施例适用于同一终端上可以生成第一签名信息和第二签名信息的 场景,用户可以通过一个终端就可以顺利完成手写签字,且可以保证签字结果的合法性。
在一种可能的设计中,该方法还包括:第一签名模块获取用户手写签字所用设备的设 备标识,根据设备标识生成第一密钥;第一签名模块使用第一密钥对待签名数据进行签名 计算得到第一签名信息;第二签名模块获取用户的身份标识,根据用户的身份标识生成第 二密钥;第二签名模块使用第二密钥对待签名数据进行签名计算得到第二签名信息。
本申请实施例中,终端通过上述方式可以在手写签字的过程中,将手写签字数据绑定 输入手写签字的设备的签名信息和输入手写签字的用户的签名信息,从而确保签字结果的 合法性。
在一种可能的设计中,第二签名模块使用第二密钥对待签名数据进行签名计算得到第 二签名信息,包括:第二签名模块使用用户的身份标识对用户的身份进行验证;当验证通 过后,第二签名模块使用第二密钥对待签名数据进行签名计算得到第二签名信息。该方法 中,将手写签字数据与输入手写签字的用户的签名信息进行绑定。
在一种可能的设计中,第一签名模块和业务模块处于同一终端设备中,第二签名模块 处于签字笔中。该方法可以适用用户使用专属签字笔在电子设备上进行签字的场景,提高 了手写签字的便利性,且可以保证手写签字结果的合法性。
在一种可能的设计中,业务模块是可信执行环境已授权的可信应用。
在一种可能的设计中,业务模块生成包括保密数据和手写签字的相关数据的含签文件, 并通过显示屏显示含签文件。该方法有助于用户查看签字结果,且可以实现待签电子文件 和手写签字数据的绑定,以便于后续生成第一签名信息和第二签名信息。
在一种可能的设计中,输入手写签字的签字笔包括设备开关;该方法还包括:当设备 开关被打开时,终端与签字笔建立通信连接。该方法有助于提升手写签字的安全性,且有 助于降低手写签字的功耗。
第二方面,本申请实施例提供一种终端,包括处理器和存储器,其中,存储器用于存 储一个或多个计算机程序;当存储器存储的一个或多个计算机程序被处理器执行时,使得 该第一电子设备能够实现上述第一方面任意一种可能的设计的方法。
第三方面,本申请实施例还提供一种装置,该装置包括执行上述第一方面的任意一种 可能的设计的方法的模块/单元。这些模块/单元可以通过硬件实现,也可以通过硬件执行相 应的软件实现。
第四方面,本申请实施例提供一种手写笔,包括:传感器单元、处理器和通信单元;
传感器单元,用于当用户通过手写笔在终端的触摸面板上进行签名时,检测手写笔的 运动轨迹信息和压力信息;
处理器,用于使用第二签名模块中的第二密钥对来自终端的待签名数据进行签名计算, 得到第二签名信息;
通过通信单元将第二签名信息发送至终端。
本申请实施例中,该方法可以适用用户使用专属签字笔在电子设备上进行签字的场景, 提高了手写签字的便利性,且可以保证手写签字结果的合法性。
第五方面,本申请实施例还提供一种装置,该装置包括执行上述第四方面的任意一种 可能的设计的方法的模块/单元。这些模块/单元可以通过硬件实现,也可以通过硬件执行相 应的软件实现。
第六方面,本申请实施例还提供一种签名认证系统,包括如第二方面的终端,以及第 五方面的手写笔。
第七方面,本申请实施例中还提供一种计算机可读存储介质,所述计算机可读存储介 质包括计算机程序指令,当计算机程序指令在终端上运行时,使得所述终端执行上述第一 方面任意一种可能的设计的方法。
第八方面,本申请实施例还提供一种包含计算机程序产品,当所述计算机程序产品在 终端上运行时,使得所述终端执行上述第一方面的任意一种可能的设计的方法。
第九方面,本申请实施例还提供一种芯片,所述芯片与存储器耦合,用于执行所述存 储器中存储的计算机程序,以执行上述任一方面的任意一种可能的设计的方法。
以上第二方面至第九方面中任一方面中的各种设计可以达到的技术效果,请参照上述 第一方面中各个设计分别可以达到的技术效果描述,这里不再重复赘述。
附图说明
图1为本申请实施例提供的一种通信场景示意图;
图2为本申请实施例提供的一种手写笔的结构示意图;
图3为本申请实施例提供的一种终端硬件结构示意图;
图4为本申请实施例提供的一种终端软件结构示意图;
图5A为本申请实施例提供的一种手写签字认证方法交互示意图;
图5B为本申请实施例提供的另一种手写签字认证方法交互示意图;
图6为本申请实施例提供的一组界面示意图;
图7为本申请实施例提供的一个界面示意图;
图8A为本申请实施例提供的一种手写签字场景程示意图;
图8B为本申请实施例提供的另一种手写签字认证方法交互示意图;
图9A至图9C为本申请实施例提供的另一组界面示意图;
图10为本申请实施例提供的一个界面示意图;
图11为本申请实施例提供的另一种手写签字方法流程示意图;
图12为本申请实施例提供的一种第一装置结构示意图;
图13为本申请实施例提供的一种第二装置和第二装置结构示意图。
具体实施方式
以下,先对本申请实施例中的部分用语进行解释说明,以便于本领域技术人员理解。
1)、本申请实施例涉及的APP,简称应用,为能够实现某项或多项特定功能的软件程 序。通常,终端设备中可以安装多个应用。比如,签字应用、相机应用、邮箱应用等。本 申请实施例中的签字应用,指的是支持用户在应用内打开的电子文件上手写签字的应用。
2)、可信执行环境(trusted execution environment,TEE)是一种隔离的执行环境。TEE 与富操作系统(rich execution environment,REE)并行运行,并为REE提供安全服务,可 以对REE下的软硬件安全资源和应用程序,实现隔离访问和保护。
其中,TEE所能访问的软硬件资源是与REE是分离的。TEE提供了授权安全软件(可信应用(trusted application,TA))的安全执行环境,同时也保护可信应用的资源和数据的 保密性,完整性和访问权限。
安全元件(SE)可以是软硬件及相关协议结合的安全模块,可嵌入使用的智能卡级应 用程序,如嵌入式SE、可插拔内存卡等。可信应用(trusted application,TA)和Applet是 一种运行在SE中的程序。
3)数字签名,指的是使用密钥对数据进行加密保护的方式,以保证数字通信中电子文 档或消息的真实性。数字签名常用于电子商务,软件分发,金融交易和依赖伪造或篡改检 测技术的其他情况。
4)手写签字,指的是用户通过手写笔或手指触摸在终端的触摸面板输入手写签字进行 签字认证,终端通过触摸面板及传感器获取手写签字的相关数据,将其与手写签字模板数 据进行对比,以鉴别手写签字的真伪。
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。其中, 在本申请实施例的描述中,以下,术语“第一”、“第二”仅用于描述目的,而不能理解为指示 或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二” 的特征可以明示或者隐含地包括一个或者更多个该特征。在本申请实施例的描述中,除非 另有说明,“多个”的含义是两个或两个以上。
本申请实施例提供的认证方法可以应用于如图1所示的多个设备基于通信网络互联的 场景。在图1所示的场景中,手写笔200、终端100与认证服务器300之间可以通过通信网 络交互数据,例如交互图片、电子文件、手写签字的相关数据等。
本申请实施例中,终端100获取用户采用手写笔200输入的手写签字的相关数据之后, 例如,图1中终端100获取用户通过手写笔签入的姓名的图像信息和手写笔对触摸面板的 压力等信息,终端100将手写签字的相关数据与被签的电子文件相结合得到含签文件,终 端100中的可信应用再对含签文件的哈希值进行设备数字签名(如使用终端100的设备ID 对含签文件进行数字签名),以及对含签文件的哈希值进行用户身份数字签名(如使用用户 ID对含签文件进行数字签名)。终端100将设备数字签名、身份数字签名,以及签名计算后 的含签文件均发送给认证服务器300(或者是其它验证设备)。服务器300对设备数字签名、 身份数字签名,以及签名计算后的含签文件进行验证,当均验证通过后,才确认用户此次 的手写签字是可信的。
示例性的,本申请实施例提供的方法可以应用于银行或电子商务中的电子文件签署。 需要说明的是,本申请实施例中的手写笔200还可以被替换为其它具有手写功能的设备。
其中,该通信网络可以是局域网,也可以是通过中继(relay)设备转接的广域网,或 者由局域网和广域网组成的网络。当该通信网络为局域网时,示例性的,该通信网络可以 是wifi热点网络、wifi P2P网络、蓝牙网络、zigbee网络或近场通信(near fieldcommunication, NFC)网络等近距离通信网络。当该通信网络为广域网时,示例性的,该通信网络可以是第 三代移动通信技术(3rd-generation wireless telephone technology,3G)网络、第四代移动通 信技术(the 4th generation mobile communicationtechnology,4G)网络、第五代移动通信技 术(5th-generation mobile communicationtechnology,5G)网络、未来演进的公共陆地移动 网络(public land mobile network,PLMN)或因特网等。
参见图2,为本申请实施例提供的一种手写笔200的结构示意图,主要包括:处理器201、存储器202和无线通信模块203。
存储器202一般包括内存和外存。内存可以为随机存储器(random accessmemory, RAM)、双倍速率随机存储器(DDR RAM)、只读存储器(read only memory,ROM)或者高速缓存器(CACHE)等。外存可以为硬盘、光盘、通用串行总线(universal serial bus,USB)、闪存(FLASH)、软盘或磁带机等。存储器202用于存储计算机程序(包含各种固 件、操作系统等)和用户输入的手写签字的相关数据等。
处理器201用于读取存储器202中的计算机程序,然后执行计算机程序。可选的,处理器201可以包括一个或多个通用处理器,还可以包括一个或多个数字信号处理器(digital signal processor,DSP),用于执行相关操作,以实现本申请实施例所提供的认证方法。
无线通信模块203可以通过多种制式的无线通信网络进行信息收发,多种制式的无线 通信网络包括但不限于为无线局域网(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)技术等。无线通 信模块203可以是集成至少一个通信处理模块的一个或多个器件。无线通信模块203经由 天线接收电磁波,将电磁波信号调频以及滤波处理,将处理后的信号发送到处理器201。无 线通信模块203还可以从处理器201接收待发送的信号,对其进行调频,放大,经天线转 为电磁波辐射出去。本申请实施例中,无线通信模块203可以是蓝牙模块,例如,手写笔 200通过无线通信模块203接收终端100发送的含签文件的哈希值;或者手写笔200通过无 线通信模块203向终端100发送第二签名信息,如用户身份签名数据。
可选的,该手写笔还可以包括:传感器、电源、天线等部件。在本申请实施例中,传感器可以是压力传感器,压力感器可检测手写笔200作用于终端100的触摸板上的压力大小。
可以理解的是,本申请实施例示意的结构并不构成对手写笔200的具体限定。其可以 具有比图2中所示出的更多的或者更少的部件,可以组合两个或更多的部件,或者可以具 有不同的部件配置。例如,该手写笔200还可以包括开关、指示灯(可以指示手写笔200的电量或工作状态)等部件。图2中所示出的各种部件可以在包括一个或多个信号处理或专用集成电路在内的硬件、软件、或硬件和软件的组合中实现。
本申请实施例中的终端可以是手机(mobile phone)、平板电脑(pad)、带无线收发功能 的电脑、虚拟现实(virtual reality,VR)设备、增强现实(augmented reality,AR)设备、 工业控制(industrial control)中的无线设备、无人驾驶(self driving)中的无线设备、远程 医疗(remote medical)中的无线设备、智能电网(smart grid)中的无线设备、运输安全 (transportation safety)中的无线设备、智慧城市(smart city)中的无线设备、智慧家庭(smart home)中的无线设备等等。参见图3,为本申请实施例提供的一种终端100的硬件结构示 意图。
终端100可包括处理器310、外部存储器接口320、内部存储器321、通用串行总线(universal serial bus,USB)接口330、充电管理模块340、电源管理模块341,电池342、天线1、天线2、移动通信模块350、无线通信模块360、音频模块370、扬声器370A、受话 器370B、麦克风370C、耳机接口370D、传感器模块380、按键390、马达391、指示器392、 摄像头393、显示屏394、以及用户标识模块(subscriber identification module,SIM)卡接 口395等。其中传感器模块380可以包括压力传感器380A、陀螺仪传感器380B、气压传感 器380C、磁传感器380D、加速度传感器380E、距离传感器380F、接近光传感器380G、 指纹传感器380H、温度传感器380J、触摸传感器380K、环境光传感器380L、骨传导传感 器380M等。
可以理解的是,本申请实施例示意的结构并不构成对终端100的具体限定。在本申请 另一些实施例中,终端100可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
处理器310可以包括一个或多个处理单元,例如:处理器310可以包括应用处理器(application processor,AP)、调制解调处理器、图形处理器(graphics processingunit,GPU)、 图像信号处理器(image signal processor,ISP)、控制器、视频编解码器、数字信号处理器 (digital signal processor,DSP)、基带处理器、和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个 或多个处理器中。
终端100通过GPU,显示屏394,以及应用处理器等实现显示功能。GPU为图像处理的微处理器,连接显示屏394和应用处理器。GPU用于执行数学和几何计算,用于图形渲 染。处理器310可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。
终端100可以通过ISP、摄像头393、视频编解码器、GPU、显示屏394以及应用处理器等实现拍摄功能。
SIM卡接口395用于连接SIM卡。SIM卡可以通过插入SIM卡接口395,或从SIM卡 接口395拔出,实现和终端100的接触和分离。终端100可以支持1个或N个SIM卡接口, N为大于1的正整数。SIM卡接口395可以支持Nano SIM卡、Micro SIM卡、SIM卡等。 同一个SIM卡接口395可以同时插入多张卡。所述多张卡的类型可以相同,也可以不同。 SIM卡接口395也可以兼容不同类型的SIM卡。SIM卡接口395也可以兼容外部存储卡。 终端100通过SIM卡和网络交互,实现通话以及数据通信等功能。在一些实施例中,终端 100采用eSIM,即:嵌入式SIM卡。
终端100的无线通信功能可以通过天线1、天线2、移动通信模块350、无线通信模块360、调制解调处理器以及基带处理器等实现。天线1和天线2用于发射和接收电磁波信号。终端100中的每个天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。例如:可以将天线1复用为无线局域网的分集天线。在另外一些实施例中,天线可以和调谐开关结合使用。
移动通信模块350可以提供应用在终端100上的包括2G/3G/4G/5G等无线通信的解决 方案。移动通信模块350可以包括至少一个滤波器、开关、功率放大器、低噪声放大器(low noise amplifier,LNA)等。移动通信模块350可以由天线1接收电磁波,并对接收的电磁波 进行滤波,放大等处理,传送至调制解调处理器进行解调。移动通信模块350还可以对经 调制解调处理器调制后的信号放大,经天线1转为电磁波辐射出去。在一些实施例中,移动通信模块350的至少部分功能模块可以被设置于处理器310中。在一些实施例中,移动 通信模块350的至少部分功能模块可以与处理器310的至少部分模块被设置在同一个器件中。
无线通信模块360可以提供应用在终端100上的包括无线局域网(wireless localarea networks,WLAN)(如无线保真(wireless fidelity,Wi-Fi)网络)、蓝牙(bluetooth,BT)、全球导 航卫星系统(global navigation satellite system,GNSS)、调频(frequencymodulation,FM)、近 距离无线通信技术(near field communication,NFC)、红外线(infrared radiation,IR)技术等 无线通信的解决方案。无线通信模块360可以是集成至少一个通信处理模块的一个或多个 器件。无线通信模块360经由天线2接收电磁波,将电磁波信号调频以及滤波处理,将处 理后的信号发送到处理器310。无线通信模块360还可以从处理器310接收待发送的信号, 对其进行调频,放大,经天线2转为电磁波辐射出去。
在一些实施例中,终端100的天线1和移动通信模块350耦合,天线2和无线通信模块360耦合,使得终端100可以通过无线通信技术与网络以及其他设备通信。所述无线通 信技术可以包括全球移动通讯系统(global system for mobile communications,GSM)、通用分 组无线服务(general packet radio service,GPRS)、码分多址接入(code divisionmultiple 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技术等。
可以理解的是,图3所示的部件并不构成对终端100的具体限定,终端100还可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。此外,图3中的部件之间的组合/连接关系也是可以调整修改的。
手写笔200或终端100的软件系统可以采用分层架构,事件驱动架构,微核架构,微服务架构,或云架构。本申请实施例以分层架构的Android系统为例,示例性说明手写笔200或终端100的软件结构。
若图4是本申请实施例的手写笔200的软件结构框图,该软件架构的软件模块和/或代 码可以存储在存储器202中,当处理器201运行该软件模块或代码时,执行本申请实施例 所提供的认证方法。若图4是本申请实施例的终端100的软件结构框图,该软件架构的软件模块和/或代码可以存储在内部存储器321中,当内部处理器321运行该软件模块或代码时,执行本申请实施例所提供的认证方法。
分层架构将软件分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件 接口通信。在一些实施例中,将Android系统分为四层,从上至下分别为应用程序层,应用 程序框架层,安卓运行时(Android runtime)和系统库,以及内核层。
应用程序层可以包括一系列应用程序包。
如图4所示,应用程序包可以包括电话、相机,图库,日历,通话,地图,导航,WLAN,蓝牙,音乐,视频,短信息等应用程序。
应用程序框架层为应用程序层的应用程序提供应用编程接口(applicationprogramming interface,API)和编程框架。应用程序框架层包括一些预先定义的函数。
如图4所示,应用程序框架层可以包括窗口管理器,内容提供器,视图系统,电话管理器,资源管理器,通知管理器等。
窗口管理器用于管理窗口程序。窗口管理器可以获取显示屏大小,判断是否有状态栏, 锁定屏幕,截取屏幕等。
内容提供器用来存放和获取数据,并使这些数据可以被应用程序访问。所述数据可以 包括视频,图像,音频,拨打和接听的电话,浏览历史和书签,电话簿等。
视图系统包括可视控件,例如显示文字的控件,显示图片的控件等。视图系统可用于 构建应用程序。显示界面可以由一个或多个视图组成的。例如,包括短信通知图标的显示 界面,可以包括显示文字的视图以及显示图片的视图。
电话管理器用于提供终端100的通信功能。例如通话状态的管理(包括接通,挂断等)。
资源管理器为应用程序提供各种资源,比如本地化字符串,图标,图片,布局文件,视频文件等等。
通知管理器使应用程序可以在状态栏中显示通知信息,可以用于传达告知类型的消息, 可以短暂停留后自动消失,无需用户交互。比如通知管理器被用于告知下载完成,消息提 醒等。通知管理器还可以是以图表或者滚动条文本形式出现在系统顶部状态栏的通知,例 如后台运行的应用程序的通知,还可以是以对话窗口形式出现在屏幕上的通知。例如在状 态栏提示文本信息,发出提示音,振动,指示灯闪烁等。
Android Runtime包括核心库和虚拟机。Android runtime负责安卓系统的调度和管理。
核心库包含两部分:一部分是java语言需要调用的功能函数,另一部分是安卓的核心 库。
应用程序层和应用程序框架层运行在虚拟机中。虚拟机将应用程序层和应用程序框架 层的java文件执行为二进制文件。虚拟机用于执行对象生命周期的管理,堆栈管理,线程 管理,安全和异常的管理,以及垃圾回收等功能。
系统库可以包括多个功能模块。例如:表面管理器(surface manager),媒体库(Media Libraries),三维图形处理库(例如:OpenGL ES),2D图形引擎(例如:SGL)等。
表面管理器用于对显示子系统进行管理,并且为多个应用程序提供了2D和3D图层的 融合。
媒体库支持多种常用的音频,视频格式回放和录制,以及静态图像文件等。媒体库可 以支持多种音视频编码格式,例如:MPEG4,H.264,MP3,AAC,AMR,JPG,PNG等。
三维图形处理库用于实现三维图形绘图,图像渲染,合成,和图层处理等。
2D图形引擎是2D绘图的绘图引擎。
内核层是硬件和软件之间的层。内核层至少包含显示驱动,摄像头驱动,音频驱动, 传感器驱动。其中,硬件可以指的是各类传感器,例如本申请实施例中涉及的加速度传感 器、陀螺仪传感器、触摸传感器、压力传感器等。
为解决背景技术中提出的问题,本申请实施例提供一种认证方法,该方法除了对用户 的手写签字进行认证,还同时对用户输入手写签字时所使用的设备和用户身份进行认证, 当均验证通过后,才确认用户此次的手写签字是可信的,从而提高了签字认证结果的可靠 性,以解决目前手写签字技术存在安全性不足的问题。
下面先分场景示例性地介绍本申请实施例所提供的方法。
场景一
图5A示出了一种签字认证方法的流程示意图。该场景一中是以用户使用签字笔在手机 上进行电子文件的签字认证过程为例。该手机中包括签字应用、TEE中的安全应用、第一 签名模块、第二签名模块和采集模块。第一签名模块指的是用于认证设备身份的签名模块, 第二签名模块指的是用于认证用户身份的签名模块,第一签名模块使用的密钥称为设备密 钥,将第二签名模块使用的密钥称为身份密钥。具体地,该签字认证方法可以包括如下步 骤:
S501至S503、手机的签字应用响应于用户的操作,触发签字应用打开用户需要签字认 证的电子文件,签字应用向可信应用传送需要签字认证的电子文件,可信应用显示待签字 认证的电子文件的文件图层。
示例性地,结合图6来说,当手机检测到用户作用于签字应用控件601的操作时,该操作可以是点击操作或者其它语音指令等,响应于该操作,手机显示如图6所示的签字应用的界面610。当手机检测到用户作用于签字应用中的打开文档控件611的操作时,手机显示如图6中的(c)所示的界面620。该界面620为可信用户界面(trust user interface,TUI)。 示例性地,界面620中显示有《租房合同》这一电子文件的文档内容,该文档内容所在的 显示图层被定义为TUI中的待签电子文件图层,且一般为只读模式,即不允许用户修改文 档内容。
在一种可能的实施例中,若界面620的当前界面未完全显示该《租房合同》的全部内 容,则用户还可以继续点击操作界面620中的下一页控件621,响应于用户的这一操作,手 机还可以显示如图6(d)所示的界面630,该界面630定义为TUI中的另一待签电子文件图层,且也为只读模式。该界面630中显示有《租房合同》这一电子文件的剩余的文档内 容。需要说明的是,该实施例仅示例了电子文件分为两页,在其它可能的情况下,电子文 件还可以分为一页或多页,本实施例并不限定分页的数量。
S504至S505,手机的可信应用接收用户的操作,如接收用户点击开始签字控件的操作, 可信应用显示待签字认证的电子文件的签字图层。
接续上例,当手机检测到用户作用于如图6(d)所示的界面630中的开始签字控件631 的操作时,手机显示如图6(e)所示的界面640,其中,界面640可以被定位为TUI中的 签字图层,该图层为可输入模式,即用户可以在该签字图层使用手写笔输入手写签字或者 使用手指滑动输入手写签字。
S506至S507,手机的可信应用接收用户使用签字笔(或者用户使用手指)在该签字图 层上输入的手写签字的相关数据,并且手机的可信应用合并两个图层,生成并显示包括电 子文件和手写签字的相关数据的含签文件,生成含签文件的哈希值。
接续上例,用户可以使用手写签字笔在图6(e)所示的界面640中签字,例如用户手写输入用户的名字“王五”。当手机检测到用户作用于界面640中的确定控件641时,手机显示如图6(f)所示的界面650。该界面650被定义为TUI中的含签文件图层,一般为只读 模式。其中,该界面650包括《租房合同》这一电子文件的内容和用户的手写签字信息, 当手机检测到用户作用于界面650中的确定控件651时,手机生成并显示包括电子文件和 手写签字的相关数据的含签文件,生成含签文件的哈希值。
具体地,将含签文件进行哈希计算或信息-摘要(message-digest algorithm,MD)或安 全散列(secure hash algorithm,SHA)计算得到第一计算值,如采用MD5算法、MD4算法、 MD3算法等算法得到哈希值。
需要说明的是,还可以使用其它随机算法生成含签文件的随机数,本实施例对此并不 作限定。
S508至S509,当手机的可信应用接收用户确认完成手写签字的操作时,手机的可信应 用向手机的第一签名模块和第二签名模块发送含签文件的哈希值。
接续上例,当手机检测到用户作用于图6(f)所示的界面650中的确定控件651时,手机的可信应用向手机的第一签名模块和第二签名模块传送含签文件的哈希值。
S510,第一认证模式使用设备密钥对含签文件的哈希值进行数字签名。
示例性地,手机的TEE或SE中的第一签名模块使用用户签字所用手机的设备密钥对 含签文件的哈希值进行数字签名。
其中,手机设备密钥可以是对手机的设备标识执行密钥算法生成的,例如,设备标识 可以包括国际移动用户识别码(international mobile subscriber identificationnumber,IMSI)、 永久设备标识(permanet equipment identifier,PEI)、用户永久性标识(subscriber permanent identifier,SUPI)、用户隐藏标识(subscriber concealedidentifier,SUCI)、临时移动用户标 识(temporary mobile subscriber identity,TMSI)、IP多媒体公共标识(IP multimedia public identity,IMPU)、媒体接入控制(mediaaccess control,MAC)地址、IP地址、手机号码或 全球唯一临时UE标识(globally uniquetemporary UE identity,GUTI)中的至少一项。例如 终端标识只包括IMSI,或者只包括PEI和SUPI,或者只包括PEI、TMSI和IMPU,或者包 括IMSI、PEI、SUPI、SUCI、TMSI、IMPU、MAC地址、IP地址、手机号码和GUTI。其 中,PEI为终端设备的固定标识;IMSI为在LTE系统中用户的唯一永久标识;SUPI为5G 系统中用户的永久标识;SUCI为对SUPI进行签名计算后得到的用户标识。
S511,第一签名模块向手机的可信应用反馈设备身份数字签名。
示例性地,手机的TEE或SE中的第一签名模块向手机的可信应用反馈设备身份数字 签名。
S512,第二签名模块触发采集模块进行用户的生物特征采集,以便于进行用户身份的 认证。
S513至S514,采集模块采集用户的生物特征,向第二签名模块发送用户的生物特征。
S515,第二签名模块进行生物特征比对,生成验证结果。当验证通过则执行S516,否 则返回签字认证失败。
需要说明的是,上述S512至S515是可选步骤。针对上述S512至S515,示例性地, 当手机检测到用户作用于图6(f)所示的界面650中的确定控件651时,手机显示如图7 所示的界面700。假设,签字应用提供的默认认证方式为界面700中的输入指纹验证的方式, 那么用户可点击图7所示的“点击进行指纹验证”控件701,输入用户的指纹信息进行用户身 份认证,当验证通过则继续执行S516,否则返回签字认证失败。
再比如,用户也可以点击图7所示的“更多”控件702,之后,界面700会新增显示“密码验证”、“人脸识别验证”和“取消”等输入框,如果用户点击“密码验证”,则可以输入密码信息进行用户身份认证;或者,如果用户点击“人脸识别验证”,则可以输入人脸信息进行用户身份认证。例如,用户选择了输入人脸信息,则相当于所选择的采集模块为摄像头393,或者用户选择了输入指纹信息,则相当于所选择的采集模块为指纹传感器380H,等等。用户选择相应的采集模块后,签字应用可以触发相应的采集模块工作,从而采集用户相关的签名信息。
需要说明的是,当用户选择使用生物特征进行认证的时候,才会触发采集模块进行用 户的生物特征采集,若用户选择使用密码(如锁屏密码)进行认证,则不会触发采集模块 进行用户的生物特征采集。这时,第二签名模块只需要进行密钥比对,生成验证结果。
S516,第二签名模块使用用户身份密钥对哈希值进行数字签名。
一种可能的情况下,用户身份密钥可以是对用户身份标识执行密钥算法生成的,例如, 若用户选择使用生物特征进行验证,则用户身份标识可以是采集模块所采集到的用户的生 物特征;另一种可能的情况下,若用户使用手写笔进行签字认证,则用户身份标识也可以 是签字笔的设备标识,因不同用户的签字笔的设备标识是不同的,所以可以使用签字笔的 设备标识唯一指代用户标识。其它可能的情况下,若用户使用手指进行输入手写签字,或 者用户使用密码进行认证,则用户身份标识可以是用户登录签字应用的账户ID,或者用户 登录手机操作系统的用户ID等。
S517,第二签名模块向手机的可信应用返回用户身份数字签名。
S518,手机的可信应用向签字应用返回含签文件、用户身份数字签名和设备身份数字 签名。
可选地,当手机接收到上述含签文件、用户身份数字签名和设备身份数字签名等信息 之后,手机侧的使用用户即完成了手写签字这一过程。手机侧的使用用户可以主动向另一 电子设备(如房产中介公司的电脑)发送上述含签文件、用户身份数字签名和设备身份数 字签名等信息,或者手机自动向该绑定的另一电子设备发送上述信息,已完成手写签字的 认证过程。如图5B所示,具体地,手写签字的认证过程还包括如下步骤:
S519,签字应用向另一电子设备发送含签文件、用户身份数字签名和设备身份数字签 名。
S520,另一电子设备向签字应用服务器发送含签文件、用户身份数字签名和设备身份 数字签名。
S521,签字应用服务器使用预存模板对含签文件、用户身份数字签名和设备身份数字 签名进行验证。
示例性地,签字应用服务器使用与手机侧一样的哈希函数对接收到的含签文件计算得 到第一哈希值,使用预先存储的用户身份相关的公钥对用户身份数字签名进行解密,得到 第二哈希值,若第一哈希值与第二哈希值相同,则认定用户身份数字签名是合法的,另外, 签字应用服务器使用设备标识(如IMSI)相关的公钥对设备身份数字签名进行解密得到第 三哈希值,若第一哈希值与第三哈希值相同,则认定设备身份数字签名是合法的,另外, 签字应用服务器使用预先存储的手写签字图像模板,以及压力数据模板对含签文件进行匹 配,若匹配成功,则认定含签文件是合法的,当认定用户身份数字签名、设备身份数字签 名和含签文件均是合法的情况下,则签字应用服务器确认验证通过,否则,则确认验证不 通过。
S522,签字应用服务器向另一电子设备的签字应用返回签字认证结果。
这样,另一电子设备的使用用户就可以从显示界面中查看签字认证成功或失败的结果。
需要说明的是,上述S513至S515中第二签名模块对用户的生物特征进行认证的过程 可以发生在用户手写签字之前,如发生在S506之前;或者,可以发生在设备身份数字签名 之前,如发生在S510之前。另外,设备身份数字签名过程也可以发生在用户身份数字签名 过程之后,即S510至S511可以发生在S517之后。
本实施例中,适用于第一签名模块和第二签名模块均处于同一设备(如手机)的场景, 在该场景下,用户可以使用手写笔手写签字,也可以使用手指触摸输入手写签字,用户通 过随身携带可以运行上述方法的终端(如手机、PAD),就可以随时随地完成手写签字,且可以保证手写签字认证的安全性。因为只有签字应用服务器(或者可以是其它认证服务器)认定用户身份数字签名、设备身份数字签名和含签文件均是合法的情况,才认证签字成功,可以确保手写签字笔迹的输入设备是安全可信设备,输入用户是合法用户,手写签字的笔迹也是合法用户的合法签字信息,从而提高手写签字的安全性。本实施例结合数字验证的目的是可以检验数据传输过程中是否被篡改,由于签名数据是通过对保密数据(如设备标识、用户标识)和手写签字笔迹计算得到,因此所述签名验证可以检验出保密数据或手写签字笔迹在传给可信应用服务器的过程中是否被篡改。该方法有效地改善目前手写签字技术存在安全性不足的问题,提高了手写签字认证结果可信度,避免因攻击者非法得到用户的手写签字模板数据伪造用户的手写签字,非法通过手写签字认证的问题。
上述该场景一中,若用户可以使用手写笔手写签字,手写笔和手机可通过蓝牙连接, 当然也可以通过除蓝牙通信协议之外的其他近距离通信协议进行通信,包括但不限于WiFi、 红外等。近距离通信协议下面有时也被称之为短距离通信协议。
场景二
该场景二与场景一的区别在于,该场景二更适用于第一签名模块和第二签名模块处于 不同的设备(如手机)的场景。
该场景二中是以用户使用用户专属的签字笔在电子设备(如银行柜台机)上进行电子 文件的签字认证过程为例。电子设备中包括签字应用、TEE中的安全应用、第一签名模块 和第一连接模块。签字笔中包括第二签名模块、采集模块和第二连接模块。第一签名模块 指的是用于认证设备身份的签名模块,第二签名模块指的是用于认证用户身份的签名模块, 第一签名模块使用的密钥称为设备密钥,将第二签名模块使用的密钥称为身份密钥。
示例性的,如图8A所示,用户携带自身专属的签字笔前往银行柜台机办理银行交易业 务,当银行交易业务发起对用户的手写签字认证时,用户可以使用携带的手写笔在银行的 柜台机上输入手写签字,另外,银行的柜台机生成设备身份签名数据,手写笔生成用户身 份签名数据,并发送至银行柜台机,最终银行柜台机将手写签字数据、设备身份签名数据 和用户身份签名数据发送至银行后台服务器,银行后台服务器对用户的手写签字数据以及 设备身份签名数据和用户身份签名数据进行验证,根据验证结果,确定此次手写签字是否 可信。
图8B示出了该场景二下的一种签字认证方法的流程示意图。具体地,可以包括如下步 骤:
S800,签字笔的设备开关被用户打开之后,电子设备可以搜索发现签字笔,并与签字 笔建立安全连接。
具体地,电子设备的第一连接模块与签字笔的第二连接模块通过协商交互,完成安全 连接的建立。电子设备和签字笔可以通过蓝牙连接,当然也可以通过除蓝牙通信协议之外 的其他近距离通信协议进行通信,包括但不限于WiFi、红外等。在一种可能的实施例中, 若签字笔与电子设备建立安全连接成功,则签字笔的指示灯可以被点亮,以指示用户签字 笔连接成功,处于可使用状态。
S801至S803、电子设备的签字应用响应于用户的操作,触发签字应用打开用户需要签 字认证的电子文件,签字应用向可信应用传送需要签字认证的电子文件,可信应用在TUI 中显示待签字认证的电子文件的文件图层。
示例性地,结合图9A来说,如图9A中的(a)所示,当银行柜台机检测到用户作用于签字应用控件901的操作时,该操作可以是点击操作或者其它语音指令等,响应于该操作,银行柜台机显示如图9A中的(b)所示的签字应用的界面910。该界面910为可信用户界 面(trust user interface,TUI)。当银行柜台机检测到用户作用于签字应用中的打开文档控件 911的操作时,银行柜台机显示如图9B中的(c)所示的界面920。示例性地,界面920中 显示有《理财合同》这一电子文件的文档内容。该文档内容所在的显示图层被定义为TUI 中的待签电子文件图层,且一般为只读模式,即不允许用户修改文档内容。
在一种可能的实施例中,若界面920的当前界面未完全显示该《理财合同》的全部内 容,则用户还可以继续点击操作界面920中的下一页控件921,响应于用户的这一操作,银 行柜台机还可以显示如图9B中的(d)所示的界面930。该界面930中显示有《理财房合同》这一电子文件的剩余的文档内容。需要说明的是,该实施例仅示例了电子文件分为两页,在其它可能的情况下,电子文件还可以分为一页或多页,本实施例并不限定分页的数量。
S804至S805,银行柜台机的可信应用接收用户的操作,如接收用户点击开始签字控件 的操作,可信应用显示待签字认证的电子文件的签字图层。
接续上例,当银行柜台机检测到用户作用于如图9B中的(d)所示的界面930中的开始签字控件931的操作时,银行柜台机显示如图9C中的(e)所示的界面940,其中,界面 940可以是可信用户(trust-based user interface,TUI)界面。该TUI界面中显示有签字图层。用户可以在该签字图层使用手写笔输入手写签字。
S806至S807,银行柜台机的可信应用接收用户使用签字笔(或者用户使用手指)在该 签字图层上输入的手写签字的相关数据,并且银行柜台机的可信应用合并两个图层,生成 并显示包括电子文件和手写签字的相关数据的含签文件,生成含签文件的哈希值。
接续上例,用户可以使用手写签字笔在图9C中的(e)所示的界面940中签字,例如用户手写输入用户的名字“王五”。当银行柜台机检测到用户作用于界面940中的确定控件941时,银行柜台机显示如图9C中的(f)所示的界面950。其中,该界面950包括《理财 合同》这一电子文件的内容和用户的手写签字信息,当银行柜台机检测到用户作用于界面 950中的确定控件951时,银行柜台机生成并显示包括电子文件和手写签字的相关数据的含 签文件,生成含签文件的哈希值。
具体地,将含签文件进行哈希计算或信息-摘要(message-digest algorithm,MD)或安 全散列(secure hash algorithm,SHA)计算得到第一计算值,如采用MD5算法、MD4算法、 MD3算法等算法得到哈希值。
需要说明的是,还可以使用其它随机算法生成含签文件的随机数,本实施例对此并不 作限定。
S808至S809,当银行柜台机的可信应用接收用户确认完成手写签字的操作时,银行柜 台机的可信应用向银行柜台机的第一签名模块和签字笔的第二签名模块发送含签文件的哈 希值。
接续上例,当银行柜台机检测到用户作用于图9C中的(f)所示的界面950中的确定控件951时,银行柜台机的可信应用向银行柜台机的第一签名模块和签字笔的第二签名模块传送含签文件的哈希值。
S810,银行柜台机的第一签字模块使用设备密钥对含签文件的哈希值进行数字签名。
示例性地,银行柜台机的TEE或SE中的第一签名模块使用自身预设的设备密钥对含 签文件的哈希值进行数字签名。
其中,设备密钥可以是对银行柜台机的设备标识执行密钥算法生成的。
S811,银行柜台机的第一签名模块向银行柜台机的可信应用反馈设备身份数字签名。
示例性地,银行柜台机的TEE或SE中的第一签名模块向银行柜台机的可信应用反馈 设备身份数字签名。
S812,签字笔的第二签名模块触发采集模块进行用户的生物特征采集,以便于进行用 户身份的认证。
S813至S814,签字笔的采集模块采集用户的生物特征,向签字笔的第二签名模块发送 用户的生物特征。
示例性地,如图10所示,签字笔的采集模块可以是指纹特征采集传感器,当用户的指 腹触摸该传感器区域时,该采集模块可以采集得到用户的指纹特征。从而,指纹特征采集 传感器将采集的指纹特征发送至第二签名模块。
S815,签字笔的第二签名模块进行生物特征比对,生成验证结果。当验证通过则执行 S816,否则返回签字认证失败。
S816,签字笔的第二签名模块使用用户身份密钥对哈希值进行数字签名。
需要说明的是,上述S812至S815是可选步骤。一种可能的情况下,用户身份密钥可以是对用户身份标识执行密钥算法生成的,例如,若用户选择使用生物特征进行验证,则用户身份标识可以是采集模块所采集到的用户的生物特征;另一种可能的情况下,用户身份标识也可以是签字笔的设备标识,因不同用户的签字笔的设备标识是不同的,所以可以使用签字笔的设备标识唯一指代用户标识。
S817,签字笔的第二签名模块向银行柜台机的可信应用返回用户身份数字签名。
S818,银行柜台机的可信应用向签字应用返回含签文件、用户身份数字签名和设备身 份数字签名。
可选地,该实施例还可以包括如下认证过程,即包括S819至S822。需要说明的是,该 认证过程与上述手写签字过程是解耦的,两个过程可以单独执行,也可以先后执行。
S819,签字应用向银行后台应用服务器发送含签文件、用户身份数字签名和设备身份 数字签名。
S820,银行后台应用服务器使用预存模板对含签文件、用户身份数字签名和设备身份 数字签名进行验证。
示例性地,银行后台应用服务器使用与银行柜台机侧一样的哈希函数对接收到的含签 文件计算得到第一哈希值,使用预先存储的用户身份相关的公钥对用户身份数字签名进行 解密,得到第二哈希值,若第一哈希值与第二哈希值相同,则认定用户身份数字签名是合 法的,另外,签字应用服务器使用设备标识(如IMSI)相关的公钥对设备身份数字签名进 行解密得到第三哈希值,若第一哈希值与第三哈希值相同,则认定含签文件是合法的,当 认定用户身份数字签名、设备身份数字签名和含签文件均是合法的情况下,则银行后台应 用服务器确认验证通过,否则,则确认验证不通过。
S821,银行后台应用服务器向签字应用返回签字认证结果。
S822,签字应用向用户显示签字认证成功或失败的结果。
需要说明的是,上述S813至S815中第二签名模块对用户的生物特征进行认证的过程 可以发生在用户手写签字之前,如发生在S906之前;或者,可以发生在设备身份数字签名 之前,如发生在S910之前。另外,设备身份数字签名过程也可以发生在用户身份数字签名 过程之后,即S910至S911可以发生在S917之后。
本实施例中,在该场景下,用户可以使用手写笔在电子设备上进行手写签字,用户通 过随身携带专属的签字笔,就可以随时随地完成手写签字,且可以保证手写签字认证的安 全性。因为只有认证服务器(如银行后台服务器)认定用户身份数字签名、设备身份数字签名和含签文件均是合法的情况,才认证签字成功,可以确保手写签字笔迹的输入设备是安全可信设备,输入用户是合法用户,手写签字的笔迹也是合法用户的合法签字信息,从而提高手写签字的安全性。本实施例结合数字验证的目的是可以检验数据传输过程中是否被篡改,由于签名数据是通过对保密数据(如设备标识、用户标识)和手写签字笔迹计算 得到,因此所述签名验证可以检验出保密数据或手写签字笔迹在传给可信应用服务器的过程中是否被篡改。该方法有效地改善目前手写签字技术存在安全性不足的问题,提高了手写签字认证结果可信度,避免因攻击者非法得到用户的手写签字模板数据伪造用户的手写签字,非法通过手写签字认证的问题。
基于上述场景一和场景二,为本申请实施例提供的一种认证方法流程图,参阅图11所 示,该方法具体包括如下步骤。
步骤1101,终端的业务模块获取保密数据和手写签字的相关数据。
其中,业务模块可以是可信执行环境已授权的可信应用,也可以是可信执行环境中的 其它安全模块,如第一签名模块或第二签名模块。保密数据可以是签字应用中的电子文件, 如场景一中《租房合同》电子文件,或者如场景二中的《理财合同》电子文件。示例性地, 保密数据和手写签字的相关数据的具体获取方式可以参见上述场景一或场景二的描述,在 此不再重复赘述。
步骤1102,终端的业务模块对所述保密数据和手写签字的相关数据进行计算,得到待 签名数据。
示例性地,终端的可信应用对包括保密数据和手写签字的相关数据的含签文件进行计 算,得到哈希值。
步骤1103,终端业务模块将所述待签名数据发送至第一签名模块和第二签名模块。
示例性地,接续上例终端的TA向APPLET发送设备签名请求,该设备签名请求中包括 哈希值,以及终端的TA向签字笔的第二签名模块发送用户身份签名请求,该用户身份签名 请求中包括该哈希值。
步骤1104,第一签名模块使用第一密钥对该待签名数据进行签名计算得到第一签名信 息,第一签名模块将该第一签名信息发送至终端的业务模块。
其中,第一密钥是与终端的设备标识相关的密钥,即根据终端的设备标识所生成的密 钥。第一签名信息可以是与终端的设备标识相关的数字签名,如上述场景一或场景二中的 设备身份数字签名。
步骤1105,第二签名模块使用第二密钥对待签名数据进行签名计算得到第二签名信息, 第二签名模块将该第二签名信息发送至终端的业务模块。
在一种可能的实施例中,第二签名模块使用所述用户的身份标识对所述用户的身份进 行验证;当验证通过后,第二签名模块使用所述第二密钥对所述待签名数据进行签名计算 得到第二签名信息。当验证失败后,第二签名模块则通知业务模块签字认证失败。
本申请实施例并不限定上述步骤1104和步骤1105的先后执行顺序,可以先执行步骤 1104,再执行步骤1105,也可以先执行步骤1105,再执行步骤1104,或者步骤1104和步骤1105同时执行。
上述步骤1104和步骤1105中可以采用数字签名的方式生成第一签名信息和第二签名信 息,具体示例可以参见上述场景一或场景二。需要说明的是,本申请实施例除了采用数字 签名方式,也可以采用其他加解密方式,例如对称加密方式、非对称加密方式等方式,对 于加解密方式不做限制。在本文的介绍中,主要以采用数字签名为例。
另外,上述步骤1104中第一签名模块和步骤1105和第二签名模块可以均处于同一设备 中,如场景一所述;或者,上述步骤1104中第一签名模块和步骤1105和第二签名模块可以 处于不同的设备中,如场景二所述。
步骤1106,业务模块向认证服务器发送手写签字的认证请求消息,该认证请求消息包 括所述保密数据和手写签字相关数据、第一签名信息和第二签名信息。
也就是说,业务模块在获取了保密数据和手写签字的相关数据、第一签名信息和第二 签名信息之后,发起手写签字的认证请求,从而触发认证服务器对本次的手写签字进行认 证。
步骤1107,认证服务器根据所述保密数据和手写签字的相关数据、第一签名信息和第 二签名信息对所述手写签字进行认证,向终端的业务模块发送包括认证结果的认证响应消 息。
一种可能的实施方式,认证服务器的身份签名模块可以先对第二签名信息(即用户的 身份(如用户的ID或生物特征))进行认证,若认证失败,则向业务模块发送签字认证失 败通知消息,以及失败原因信息,失败原因信息可以包括指纹验证失败等。若认证成功,则认证服务器的设备签名模块可以再对第一签名信息进行认证,若认证失败,则向业务模块发送签字认证失败通知消息,以及失败原因信息,失败原因信息可以包括设备不合法等。若认证成功,则认证服务器的设备签名模块可以继续对保密数据和手写签字的相关数据进行认证,若认证失败,则向业务模块发送签字认证失败通知消息,以及失败原因信息,失 败原因信息可以包括签字笔迹不合法等。若认证成功,通知业务模块该签字认证成功。
本实施例中,用户可以使用专属的手写笔在电子设备上随时随地进行手写签字,也可 以通过用户专属的终端随时随地进行手写签字,且可以保证手写签字的认证结果的合法性。 因为只有认证服务器(如银行后台服务器)认定用户身份数字签名、设备身份数字签名和 含签文件均是合法的情况,才认证签字成功,可以确保手写签字笔迹的输入设备是安全可 信设备,输入用户是合法用户,手写签字的笔迹也是合法用户的合法签字信息,从而提高 手写签字的安全性。本实施例结合数字验证的目的是可以检验数据传输过程中是否被篡改, 由于签名数据是通过对保密数据(如设备标识、用户标识)和手写签字笔迹计算得到,因 此所述签名验证可以检验出保密数据或手写签字笔迹在传给可信应用服务器的过程中是否 被篡改。该方法有效地改善目前手写签字技术存在安全性不足的问题,提高了手写签字认 证结果可信度,避免因攻击者非法得到用户的手写签字模板数据伪造用户的手写签字,非 法通过手写签字认证的问题。
基于与图11所示方法实施例的同一发明构思,本发明实施例提供一种第一装置,具体 用于实现上述实施例中的方法。
当该第一装置包括第一签名模块和第二签名模块时,该装置的结构如图12所示,包括 业务模块1201、第一签名模块1202、第二签名模块1203。
业务模块1201,用于获取保密数据和手写签字的相关数据;对所述保密数据和手写签 字的相关数据进行计算,得到待签名数据;将所述待签名数据发送至第一签名模块和第二 签名模块。
第一签名模块1202,用于获取用户手写签字所用设备的设备标识,根据所述设备标识 生成所述第一密钥;使用所述第一密钥对所述待签名数据进行签名计算得到所述第一签名 信息。
第二签名模块1203,用于获取用户的身份标识,根据所述用户的身份标识生成所述第 二密钥;使用所述第二密钥对所述待签名数据进行签名计算得到所述第二签名信息。
业务模块1201,还用于向认证服务器发送认证请求消息,所述认证请求消息包括所述 保密数据和手写签字相关数据、第一签名信息和第二签名信息;以及接收来自所述认证服 务器的认证响应消息,所述认证响应消息用于指示所述认证服务器根据所述保密数据和手 写签字的相关数据、第一签名信息和第二签名信息对所述手写签字的认证结果。
在一种可能的实施方式中,第二签名模块1203,还用于使用所述用户的身份标识对所 述用户的身份进行验证;当验证通过后,使用所述第二密钥对所述待签名数据进行签名计 算得到所述第二签名信息。
在一种可能的实施方式中,业务模块1201,还用于生成包括所述保密数据和所述手写 签字的相关数据的含签文件,并通过显示屏显示所述含签文件。
在一种可能的实施方式中,上述第一装置还包括第一连接模块1204,用于输入所述手 写签字的签字笔的设备开关被打开时,与所述签字笔建立通信连接。
基于与图11所示方法实施例的同一发明构思,本发明实施例提供一种第一装置和第二 装置,具体用于实现上述实施例中的方法。
如图13所示,第一装置的结构包括业务模块1301、第一签名模块1302、第一连接模块1303。第一装置的结构包括第二签名模块1304,以及第二连接模块1305。
第一连接模块1303,用于与第二连接模块1305建立安全连接,使得第一装置可以与第 二装置进行通信。一种可能的实施方式中,当第二装置所在签字笔的设备开关被打开时, 与所述签字笔建立通信连接。
业务模块1301,用于获取保密数据和手写签字的相关数据;对所述保密数据和手写签 字的相关数据进行计算,得到待签名数据;将所述待签名数据发送至第一签名模块和第二 签名模块。
第一签名模块1302,用于获取用户手写签字所用设备的设备标识,根据所述设备标识 生成所述第一密钥;使用所述第一密钥对所述待签名数据进行签名计算得到所述第一签名 信息。
第二签名模块1304,用于获取用户的身份标识,根据所述用户的身份标识生成所述第 二密钥;使用所述第二密钥对所述待签名数据进行签名计算得到所述第二签名信息。
第二连接模块1305,用于向业务模块1301发送第二签名信息。
业务模块1301,还用于向认证服务器发送认证请求消息,所述认证请求消息包括所述 保密数据和手写签字相关数据、第一签名信息和第二签名信息;以及接收来自所述认证服 务器的认证响应消息,所述认证响应消息用于指示所述认证服务器根据所述保密数据和手 写签字的相关数据、第一签名信息和第二签名信息对所述手写签字的认证结果。
在一种可能的实施方式中,第二签名模块1304,还用于使用所述用户的身份标识对所 述用户的身份进行验证;当验证通过后,使用所述第二密钥对所述待签名数据进行签名计 算得到所述第二签名信息。
在一种可能的实施方式中,业务模块1301,还用于生成包括所述保密数据和所述手写 签字的相关数据的含签文件,并通过显示屏显示所述含签文件。
本实施例还提供了一种签字系统,包括上述终端和上述签字笔,以实现上述实施例中 的方法。
本实施例还提供一种计算机可读存储介质,该计算机可读存储介质中存储有计算机指 令,当该计算机指令在终端上运行时,使得终端执行上述实施例所执行的一个或多个步骤, 以实现上述实施例中的方法。
本实施例还提供了一种程序产品,当该程序产品在计算机上运行时,使得计算机执行 上述实施例中的一个或多个步骤,以实现上述实施例中的方法。
另外,本申请的实施例还提供一种装置,这个装置具体可以是芯片系统,组件或模块, 该装置可包括相连的处理器和存储器;其中,存储器用于存储计算机执行指令,当装置运 行时,处理器可执行存储器存储的计算机执行指令,以使芯片执行上述实施例中的一个或 多个步骤,以实现上述实施例中的方法。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便 和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述 功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以 上描述的全部或者部分功能。上述描述的系统,装置和单元的具体工作过程,可以参考前 述方法实施例中的对应过程,在此不再赘述。
在本申请实施例各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各 个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既 可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可 以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质 上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式 体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机 设备(可以是个人计算机,服务器,或者网络设备等)或处理器执行本申请各个实施例所 述方法的全部或部分步骤。而前述的存储介质包括:快闪存储器、移动硬盘、只读存储器、 随机存取存储器、磁碟或者光盘等各种可以存储程序代码的介质。
在本说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本申请的一个或多 个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同 之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外 一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施 例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味 着“包括但不限于”,除非是以其他方式另外特别强调。
上述本申请提供的实施例中,从终端(例如手机)作为执行主体的角度对本申请实施 例提供的方法进行了介绍。为了实现上述本申请实施例提供的方法中的各功能,终端设备 可以包括硬件结构和/或软件模块,以硬件结构、软件模块、或硬件结构加软件模块的形式 来实现上述各功能。上述各功能中的某个功能以硬件结构、软件模块、还是硬件结构加软 件模块的方式来执行,取决于技术方案的特定应用和设计约束条件。
以上实施例中所用,根据上下文,术语“当…时”或“当…后”可以被解释为意思是“如果…” 或“在…后”或“响应于确定…”或“响应于检测到…”。类似地,根据上下文,短语“在确定… 时”或“如果检测到(所陈述的条件或事件)”可以被解释为意思是“如果确定…”或“响应于确 定…”或“在检测到(所陈述的条件或事件)时”或“响应于检测到(所陈述的条件或事件)”。 另外,在上述实施例中,使用诸如第一、第二之类的关系术语来区份一个实体和另一个实 体,而并不限制这些实体之间的任何实际的关系和顺序。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。 当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产 品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部 分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算 机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质 中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算 机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、 数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质 (例如固态硬盘Solid State Disk(SSD))等。
需要指出的是,本专利申请文件的一部分包含受著作权保护的内容。除了对专利局的 专利文件或记录的专利文档内容制作副本以外,著作权人保留著作权。

Claims (19)

1.一种认证方法,应用于包括业务模块的终端,其特征在于,所述方法包括:
所述业务模块获取保密数据和手写签字的相关数据;
所述业务模块对所述保密数据和手写签字的相关数据进行计算,得到待签名数据;
所述业务模块将所述待签名数据发送至第一签名模块和第二签名模块,其中,所述第一签名模块用于使用第一密钥对所述待签名数据进行签名计算得到第一签名信息,所述第二签名模块用于使用第二密钥对所述待签名数据进行签名计算得到第二签名信息;
所述业务模块从所述第一签名模块和所述第二签名模块获取所述第一签名信息和所述第二签名信息;
所述业务模块向认证服务器发送认证请求消息,所述认证请求消息包括所述保密数据和手写签字相关数据、第一签名信息和第二签名信息;
所述业务模块接收来自所述认证服务器的认证响应消息,所述认证响应消息用于指示所述认证服务器根据所述保密数据和手写签字的相关数据、第一签名信息和第二签名信息对所述手写签字进行认证的认证结果。
2.根据权利要求1所述的方法,其特征在于,所述第一签名模块和所述第二签名模块与所述业务模块均处于同一终端设备中。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
所述第一签名模块获取用户手写签字所用设备的设备标识,根据所述设备标识生成所述第一密钥;
所述第一签名模块使用所述第一密钥对所述待签名数据进行签名计算得到所述第一签名信息;
所述第二签名模块获取用户的身份标识,根据所述用户的身份标识生成所述第二密钥;
所述第二签名模块使用所述第二密钥对所述待签名数据进行签名计算得到所述第二签名信息。
4.根据权利要求3所述的方法,其特征在于,所述第二签名模块使用所述第二密钥对所述待签名数据进行签名计算得到所述第二签名信息,包括:
所述第二签名模块使用所述用户的身份标识对所述用户的身份进行验证;
当验证通过后,所述第二签名模块使用所述第二密钥对所述待签名数据进行签名计算得到所述第二签名信息。
5.根据权利要求1所述的方法,其特征在于,所述第一签名模块和所述业务模块处于同一终端设备中,所述第二签名模块处于签字笔中。
6.根据权利要求1至5任一项所述的方法,其特征在于,
所述业务模块是可信执行环境已授权的可信应用。
7.根据权利要求1至5任一项所述的方法,其特征在于,所述方法还包括:
所述业务模块生成包括所述保密数据和所述手写签字的相关数据的含签文件,并通过显示屏显示所述含签文件。
8.根据权利要求1至5任一项所述的方法,其特征在于,输入所述手写签字的签字笔包括设备开关;
所述方法还包括:
当所述设备开关被打开时,所述终端与所述签字笔建立通信连接。
9.一种终端,其特征在于,所述终端包括触摸面板、显示面板、传感器、处理器、存储器;
所述触摸面板,用于接收用户输入的手写签字的相关数据;
所述显示面板,用于显示所述保密数据和手写签字的相关数据;
所述存储器存储有程序指令;
所述处理器用于运行所述存储器存储的所述程序指令,使得所述终端执行:
所述终端的业务模块获取保密数据和手写签字的相关数据;
所述终端的业务模块对所述保密数据和手写签字的相关数据进行计算,得到待签名数据;
所述终端的业务模块将所述待签名数据发送至第一签名模块和第二签名模块,其中,所述第一签名模块用于使用第一密钥对所述待签名数据进行签名计算得到第一签名信息,所述第二签名模块用于使用第二密钥对所述待签名数据进行签名计算得到第二签名信息;
所述终端的业务模块从所述第一签名模块和所述第二签名模块获取所述第一签名信息和所述第二签名信息;
所述终端的业务模块向认证服务器发送认证请求消息,所述认证请求消息包括所述保密数据和手写签字相关数据、第一签名信息和第二签名信息;
所述终端的业务模块接收来自所述认证服务器的认证响应消息,所述认证响应消息用于指示所述认证服务器根据所述保密数据和手写签字的相关数据、第一签名信息和第二签名信息对所述手写签字进行认证的认证结果。
10.根据权利要求9所述的终端,其特征在于,所述第一签名模块和所述第二签名模块与所述业务模块均处于同一终端设备中。
11.根据权利要求10所述的终端,其特征在于,所述处理器用于运行所述存储器存储的所述程序指令,使得所述终端执行:
所述终端的所述第一签名模块获取用户手写签字所用设备的设备标识,根据所述设备标识生成所述第一密钥;
所述终端的所述第一签名模块使用所述第一密钥对所述待签名数据进行签名计算得到所述第一签名信息;
所述终端的所述第二签名模块获取用户的身份标识,根据所述用户的身份标识生成所述第二密钥;
所述终端的所述第二签名模块使用所述第二密钥对所述待签名数据进行签名计算得到所述第二签名信息。
12.根据权利要求11所述的终端,其特征在于,所述处理器用于运行所述存储器存储的所述程序指令,使得所述终端还执行:
所述终端的所述第二签名模块使用所述用户的身份标识对所述用户的身份进行验证;
当验证通过后,所述终端的第二签名模块使用所述第二密钥对所述待签名数据进行签名计算得到所述第二签名信息。
13.根据权利要求9所述的终端,其特征在于,所述第一签名模块和所述业务模块处于同一终端设备中,所述第二签名模块处于签字笔中。
14.根据权利要求9至13任一项所述的终端,其特征在于,所述业务模块是可信执行环境已授权的可信应用。
15.根据权利要求9至13任一项所述的终端,其特征在于,所述处理器用于运行所述存储器存储的所述程序指令,使得所述终端还执行:
所述终端的业务模块生成包括所述保密数据和所述手写签字的相关数据的含签文件,并通过显示屏显示所述含签文件。
16.根据权利要求9至13任一项所述的终端,其特征在于,输入所述手写签字的签字笔包括设备开关;所述终端还包括通信单元;
所述处理器用于运行所述存储器存储的所述程序指令,使得所述终端还执行:
当所述设备开关被打开时,通过所述通信单元与所述签字笔建立通信连接。
17.一种手写笔,其特征在于,所述手写笔包括:传感器单元、处理器和通信单元;
所述传感器单元,用于当用户通过手写笔在终端的触摸面板上进行签名时,检测手写笔的运动轨迹信息和压力信息;
所述处理器,用于使用第二签名模块中的第二密钥对来自终端的待签名数据进行签名计算,得到第二签名信息;
通过所述通信单元将所述第二签名信息发送至所述终端。
18.一种签名认证系统,其特征在于,包括如权利要求9或13-16任一项所述的终端,以及如权利要求17任一项所述的手写笔。
19.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质包括程序指令,当所述程序指令在终端上运行时,使得所述终端执行如权利要求1至8任一项所述的方法。
CN202011196096.5A 2020-10-31 2020-10-31 一种认证方法、终端、手写笔及系统 Pending CN114528533A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011196096.5A CN114528533A (zh) 2020-10-31 2020-10-31 一种认证方法、终端、手写笔及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011196096.5A CN114528533A (zh) 2020-10-31 2020-10-31 一种认证方法、终端、手写笔及系统

Publications (1)

Publication Number Publication Date
CN114528533A true CN114528533A (zh) 2022-05-24

Family

ID=81619257

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011196096.5A Pending CN114528533A (zh) 2020-10-31 2020-10-31 一种认证方法、终端、手写笔及系统

Country Status (1)

Country Link
CN (1) CN114528533A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115361174A (zh) * 2022-07-26 2022-11-18 电子科技大学 一种基于热成像的辅助认证方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115361174A (zh) * 2022-07-26 2022-11-18 电子科技大学 一种基于热成像的辅助认证方法
CN115361174B (zh) * 2022-07-26 2024-02-23 电子科技大学 一种基于热成像的辅助认证方法

Similar Documents

Publication Publication Date Title
CN110826043B (zh) 一种数字身份申请系统及方法、身份认证系统及方法
JP2019083536A (ja) モバイルアプリケーションの安全性を確保する方法および装置
CN104579649A (zh) 身份识别方法和系统
CN111465536B (zh) 一种业务处理方法及设备
CA2904150A1 (en) Method, system, and device for generating, storing, using, and validating nfc tags and data
US20110239281A1 (en) Method and apparatus for authentication of services
CN113259301B (zh) 一种账号数据共享方法及电子设备
WO2017206833A1 (zh) 支付方法、支付设备和支付服务器
TW200910894A (en) Authentication system and method thereof for wireless networks
AU2019204724B2 (en) Cryptography chip with identity verification
CN104363589A (zh) 一种身份认证的方法、装置和终端
CN110795737A (zh) 对电子身份证的业务适用范围进行升级的方法和终端设备
CN114172544B (zh) 一种复制智能卡的方法、电子设备及存储介质
EP4280646A1 (en) In-vehicle infotainment product connection method and apparatus
CN106778295B (zh) 文件存储、显示方法、装置及终端
CN111860016A (zh) 近场通信nfc的信息显示方法、装置及电子设备
WO2017211201A1 (zh) 数据的传输方法、数据发送端、数据接收端及系统
CN110876144A (zh) 一种身份凭证的移动应用方法、装置及系统
CN114528533A (zh) 一种认证方法、终端、手写笔及系统
CN110602689B (zh) 一种设备安全操作的方法和装置
CN104320261A (zh) 金融智能卡上实现身份认证的方法、金融智能卡和终端
CN113468606A (zh) 一种应用程序的访问方法及电子设备
US20140259155A1 (en) Process authentication method and electronic device implementing the same
US20140109221A1 (en) User device, method of using function lock of the same and computer-readable recording medium
CN116485403A (zh) 一种支付方法及电子设备

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination