CN111222178B - 一种数据签名方法及装置 - Google Patents

一种数据签名方法及装置 Download PDF

Info

Publication number
CN111222178B
CN111222178B CN202010048154.3A CN202010048154A CN111222178B CN 111222178 B CN111222178 B CN 111222178B CN 202010048154 A CN202010048154 A CN 202010048154A CN 111222178 B CN111222178 B CN 111222178B
Authority
CN
China
Prior art keywords
data
hash value
signature
service
signing
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.)
Active
Application number
CN202010048154.3A
Other languages
English (en)
Other versions
CN111222178A (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.)
Asiainfo Security Technology Co ltd
Asiainfo Technologies (chengdu) Inc
Original Assignee
Asiainfo Technologies (chengdu) Inc
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 Asiainfo Technologies (chengdu) Inc filed Critical Asiainfo Technologies (chengdu) Inc
Priority to CN202010048154.3A priority Critical patent/CN111222178B/zh
Publication of CN111222178A publication Critical patent/CN111222178A/zh
Application granted granted Critical
Publication of CN111222178B publication Critical patent/CN111222178B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • 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
    • G06F21/34User authentication involving the use of external additional devices, e.g. dongles or smart cards
    • 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)
  • Storage Device Security (AREA)

Abstract

本发明的实施例公开一种数据签名方法及装置,涉及信息安全领域。能够解决当待签名数据部分真实数据被抹除或篡改时,造成的真实数据无法显示给用户的问题。该方法包括:数据签名装置在确定获取的签名封装数据合法后,生成业务概述的概览图片,并为用户显示;其中,签名封装数据包括需用户确认的待签名数据;待签名数据包括业务概述以及业务数据的第一hash值;当数据签名装置接收用户输入的验证信息后,对概览图片以及业务数据的第一hash值分别进行签名。本发明实施例应用于网络系统。

Description

一种数据签名方法及装置
技术领域
本发明的实施例涉及信息安全领域,尤其涉及一种数据签名方法及装置。
背景技术
进入移动互联网时代以后,能够在智能终端上完成的业务越来越多,在数据签名方面,现有技术主要是通过用户对智能终端上的业务应用显示的待签名数据确认无误后,连接智能终端上安装的移动盾完成数据签名操作。在该操作过程中,待签名数据的传输是由后端的业务服务器传输至智能终端的业务应用并显示给用户。然而,当业务应用或业务服务器被恶意攻击后,那么在业务应用上显示给用户的待签名数据很可能抹除了一部分重要数据,例如,网银转账,页面显示向用户A转账1000元,但数字摘要被替换成向用户A转账10000元(业务应用被篡改,10000元最后一个0被颜色值隐藏,用户看到的是1000,实际值是10000),用户签名后的业务数据就是向A转帐10000元。但用户并不能发现在业务应用上直接确认的待签名数据与真实的待签名数据是不同的,从而造成安全隐患。
发明内容
本发明提供一种数据签名方法及装置,能够解决当待签名数据部分真实数据被抹除或篡改时,造成的真实数据无法显示给用户的问题。
为达到上述目的,本发明采用如下技术方案:
第一方面,提供一种数据签名方法,该方法包括:数据签名装置在确定获取的签名封装数据合法后,生成业务概述的概览图片,并为用户显示;其中,签名封装数据包括需用户确认的待签名数据;待签名数据包括业务概述以及业务数据的第一hash值;之后,该数据签名装置接收用户输入的验证信息后,对概览图片以及业务数据的第一hash值分别进行签名。
在上述方法中,由于考虑到待签名数据有可能被部分抹除或篡改,用户无法确认所做的待签名数据是否是真实的业务数据的问题;因此本申请在数据签名装置确定签名封装数据合法后,生成该签名封装数据中包含的业务概述的概览图片,以供用户进一步确认需要待签名数据的真伪;通过概览图片的显示方式能够防止为用户显示的待签名数据是篡改或抹除了部分重要数据,从而实现所见即所签的目的。然后,数据签名装置在用户确认信息无误后,对业务数据的第一hash值以及用户所看到的概览图片分别进行签名,以实现数据传输的双签名操作,从而杜绝了数据在传输的过程中被篡改或仿冒的可能。
第二方面,提供一种数据签名装置,该装置包括:接收单元,用于获取业务的签名封装数据;其中,签名封装数据包括需用户确认的待签名数据;待签名数据包括业务概述以及业务数据的第一hash值;处理单元,用于确定接收单元获取的签名封装数据合法后,生成业务概述的概览图片,并为用户显示;接收单元,用于处理单元为用户显示概览图片后,接收用户输入的验证信息,并对概览图片以及业务数据的第一hash值分别进行签名。
可以理解地,上述提供的数据签名装置用于执行上文所提供的第一方面对应的方法,因此,其所能达到的有益效果可参考上文第一方面对应的方法以及下文具体实施方式中对应的方案的有益效果,此处不再赘述。
第三方面,提供了一种数据签名装置,该数据签名装置的结构中包括处理器,处理器用于执行程序指令,使得该数据签名装置执行第一方面的方法。
第四方面,提供一种计算机可读存储介质,计算机可读存储介质中存储有计算机程序代码,当计算机程序代码在数据签名装置上运行时,使得该数据签名装置执行上述第一方面的方法。
第五方面,提供一种计算机程序产品,该计算机程序产品储存有上述计算机软件指令,当计算机软件指令在数据签名装置上运行时,使得该数据签名装置执行如上述第一方面的方法的程序。
附图说明
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本发明实施例提供的一种数据签名系统的结构示意图;
图2为本发明的实施例提供的又一种数据签名系统的结构示意图;
图3为本发明实施例提供的再一种数据签名系统的结构示意图;
图4为本申请实施例提供的一种数据签名装置的硬件结构示意图;
图5为本发明的实施例提供的一种数据签名方法的流程示意图;
图6为本发明的实施例提供的又一种数据签名装置的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。
需要说明的是,本发明实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本发明实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
在本申请的实施例中,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本申请的描述中,除非另有说明,“多个”的含义是两个或两个以上。
为了便于理解本申请的技术方案,下面先对本申请所涉及的术语进行简单介绍。
1、二维码
二维码(2-dimensional bar code)是用某种特定的几何图形按一定规律在平面(二维方向上)分布的黑白相间的图形记录数据符号信息的;在代码编制上巧妙地利用构成计算机内部逻辑基础的“0”、“1”比特流的概念,使用若干个与二进制相对应的几何形体来表示文字数值信息,通过图像输入设备或光电扫描设备自动识读以实现信息自动处理。它具有传统条码技术的一些共性:每种码制有其特定的字符集,每个字符占有一定的宽度,具有一定的校验功能等,同时还具有对不同行的信息自动识别功能、及处理图形旋转变化点。二维码作为一种全新的信息存储、传递和识别技术,显示载体通用性广,使用十份方便,因此自诞生之日起就得到了世界上许多国家的关注和广泛的应用。
2、数字签名
数字签名是数字世界里一种类似人们写在纸上的普通物理签名的技术,使用了非对称密钥加密技术与数字摘要技术的实现,用于鉴别数字信息的方法;一套数字签名通常定义两种互补的运算,一个用于签名,另一个用于验证。通过数字签名,可以产生只有信息的发送者才能产生的别人无法伪造的信息串,这段信息串同时也是对信息的发送者发送信息真实性的一个有效证明,也就是说在数字化业务中可以做到防篡改,防抵赖,各国政府都对电子签名做出了法律层面的认可。
示例性的,非对称密钥的加密技术的实现方式如下所示:假设A、B双方均拥有一对公私钥(PUB_A、PRI_A、PUB_B、PRI_B)。
A向B发送信息Message的整个签名和加密的过程如下:
1)A先使用HASH对Message生成一个固定长度的信息摘要Message_hash_A。
2)A使用A的私钥PRI_A对Message_hash_A进行签名得到Message_sign。
3)A接着使用B的公钥PUB_B对信息Message和信息Message_sign进行加密得到Message_RSA,这时A将Message_RSA发送给B。
当B接收到A的信息Message_RSA后,获取Message的步骤如下:
1)B用自己的私钥PRI_B解密得到明文:Message和Message_sign。
2)然后B使用A的公钥PUB_A解Message_sign得到Message_hash_A;同时,B再对Message使用与A相同的HASH得到Message_hash_B。
3)如果Message_hash_A与Message_hash_B相同,则说明Message没有被篡改过。
3、数字证书
也称公钥证书,由证书认证机构(CA)签名的包含公开密钥拥有者信息、公开密钥、签发者信息、有效期以及扩展信息的一种数据结构。按类别可分为个人证书、机构证书和设备证书,按用途可分为签名证书和加密证书。
4、公钥密码
公钥密码技术用来解决单钥密码体制中最难解决的两个问题:密钥分配和数字签名;在公钥密码体制中,每个用户拥有一对密钥:私钥和公钥,其中私钥由用户秘密保存,公钥可以公开发布,由其他人使用,不用担心泄露的问题。最有名也最流利公钥密码算法有基于大数分解难题的RSA算法和基于椭圆曲线离散对数难题的椭圆曲线密码学(ellipticcurve cryptography,ECC)。其中RSA是目前使用最广泛的公钥密码体制之一。它是1977年由罗纳德·李维斯特(Ron Rivest)、阿迪·萨莫尔(Adi Shamir)和伦纳德·阿德曼(Leonard Adleman)一起提出的。当时他们三人都在麻省理工学院工作。RSA就是他们三人姓氏开头字母拼在一起组成的。这两种算法都能用于公钥加密/私钥解密和私钥签名/公钥验签;我们国家的国密SM2算法也是一种基于ECC演变过来的公钥密码算法。
5、盾
盾作为一种安全外设,连接在计算机上供应用使用,硬件设备和应用程序的多样性,就有一种相对规范的使用界面定义,来隔离不同硬件带来的影响,如果每一厂商的“盾”设备都有着各自的驱动层接口,那就会导致应用需要很多的适配,并且不能保证对新设备的兼容;目前在计算机端形成了两套规范化接口定义:CSP和P11,有力促进了“盾”在桌面和服务端的应用。
以上是对本申请实施例所涉及的术语的介绍,下文中不再赘述。
参照图1,本申请实施例提供技术方案所适用的一种数据签名系统TX的结构示意图。该系统包括移动终端10、业务终端20、业务服务器30以及后端服务器40。示例性的,该移动终端10可以是智能手机、平板电脑、可穿戴电子设备等便携式设备,也可以是车载设备、智能机器人等可移动性设备。业务终端20可以是智能手机、平板电脑、可穿戴电子设备等便携式设备,也可以是车载设备、智能机器人等设备,还可以是个人计算机(personalcomputer,PC)、个人数字助理(personal digital assistant,PDA)、上网本等计算设备。
示例一,当移动终端10与业务终端20为不同终端时,可参照图1的结构示意图,该数据签名系统TX所包含设备之间的信息传输方式可以是由业务终端20收集用户所需要办理业务的业务数据,并将该业务数据发送至业务服务器30,业务服务器30生成该业务数据的第一hash值以及业务概述,并发送至后端服务器40;后端服务器40对第一hash值以及业务概述进行相关处理后生成该业务对应的二维码,将该二维码发送至业务服务器30,并通过业务终端20显示,移动终端10可以通过扫描业务终端20上显示的二维码来获取业务的相关数据,并进行后续的处理。
示例二,参照图2,当移动终端10与业务终端20为一个终端120时;那么,移动终端10所对应的功能实现可由终端120中的第三方应用1201以及该终端120中安装的移动盾1203来实现;业务终端20所对应的功能实现可由终端120中的业务应用1202实现;例如智能手机的不同应用APP。因此该数据签名系统TX所包含设备之间的信息传输方式可以是由终端120中的业务应用1202收集用户所需要办理业务的业务数据,并将该业务数据发送至业务服务器30,业务服务器30生成该业务数据的第一hash值以及业务概述,并发送至后端服务器40;后端服务器40对第一hash值以及业务概述进行相关处理后生成该业务对应的二维码,将该二维码发送至业务服务器30,通过终端120的业务应用1202显示。对于如何通过第三方应用1201来识别二维码,以获取该业务的相关数据,并利用移动盾1203来实现该相关数据的验签以及签名等操作,本发明实施例提供两种示例性的实现方式:一种是可将该二维码打印出来,并用第三方应用1201扫描识别该二维码;另一种,可以将该二维码的图片进行保存至终端120的相册,并通过第三方应用识别图片中的二维码。示例性的,移动盾1203可以是安全数码(secure digital,SD)卡盾,音频盾,蓝牙盾,用户身份识别(subscriberidentity modula,SIM)卡盾,手机内置集成盾等安装于移动终端中的盾。
示例三,参照图3,当移动终端10与业务终端20为一个终端120,且业务的相关数据的获取和发送由同一应用(这里以业务应用1202为例进行说明)实现,验签和签名均由该终端120中安装的移动盾1203来实现。因此,该数据签名系统TX所包含设备之间的信息传输方式可以是由终端120的业务应用1202收集用户所需要办理业务的业务数据,并将该业务数据发送至业务服务器30,业务服务器30生成该业务数据的第一hash值以及业务概述,并发送至后端服务器40;后端服务器40对第一hash值以及业务概述进行相关处理后生成该业务对应的二维码,将该二维码发送至业务服务器30,通过终端120的业务应用1202显示。而业务应用1202可以通过自带二维码识别功能识别该二维码获取该业务的相关数据,并通过移动盾1203来实现该相关数据的验签和签名等操作。
另外,上述的数据签名系统TX所包含的业务服务器30和后端服务器40也可以是同一服务器,而最优的实现方式为业务服务器30和后端服务器40各自对应实现上述的示例一、示例二和示例三中的功能。这样也能进一步的防止业务服务器30若对应实现后端服务器40的相关功能的过程中被攻击导致相关数据被篡改。
这里,本发明实施例描述的系统架构以及业务场景是为了更加清楚的说明本申请实施例的技术方案,并不构成对于本申请实施例提供的技术方案的限定,本领域普通技术人员可知,随着网络架构的演变和新业务场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。
可选的,示例性的,本申请实施例以图1中的移动终端10为例,该移动终端10具体可以为图4所示的数据签名装置400,也可以为包括图1所示的数据签名装置400的设备(例如:数据签名装置400为移动终端10的芯片系统/片上系统)。图4为本申请实施例提供的数据签名装置400的组成示意图,该数据签名装置400可以用于实现本申请实施例提供的数据签名方法。
如图4所示,该数据签名装置400包括至少一个处理器401,通信线路402,存储器403以及至少一个通信接口404。
处理器401可以是一个通用中央处理器(central processing unit,CPU),微处理器,特定应用集成电路(application-specific integrated circuit,ASIC),或一个或多个用于控制本申请方案程序执行的集成电路。
通信线路402可包括一通路,在上述组件之间传送信息。
通信接口404,使用任何收发器一类的装置,用于与其他设备或通信网络通信,如以太网,无线接入网(radio access network,RAN),无线局域网(wireless local areanetworks,WLAN)等。
存储器403可以是只读存储器(read-only memory,ROM)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory,RAM)或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(electricallyerasable programmable read-only memory,EEPROM)、只读光盘(compact disc read-only memory,CD-ROM)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器可以是独立存在,通过通信线路402与处理器相连接。存储器也可以和处理器集成在一起。
其中,存储器403用于存储执行本申请方案的计算机执行指令,并由处理器401来控制执行。处理器401用于执行存储器403中存储的计算机执行指令,从而实现本申请下述实施例提供的报文传输方法。
可选的,本申请实施例中的计算机执行指令也可以称之为应用程序代码,本申请实施例对此不作具体限定。
在具体实现中,作为一种实施例,处理器401可以包括一个或多个CPU,例如图4中的CPU0和CPU1。
在具体实现中,作为一种实施例,数据签名装置400可以包括多个处理器,例如图4中的处理器401和处理器407。这些处理器中的每一个可以是一个单核(single-CPU)处理器,也可以是一个多核(multi-CPU)处理器。这里的处理器可以指一个或多个设备、电路、和/或用于处理数据(例如计算机程序指令)的处理核。
在具体实现中,作为一种实施例,数据签名装置400还可以包括输出设备405和输入设备406。输出设备405和处理器401通信,可以以多种方式来显示信息。例如,输出设备405可以是液晶显示器(liquid crystal display,LCD),发光二级管(light emittingdiode,LED)显示设备,阴极射线管(cathode ray tube,CRT)显示设备,或投影仪(projector)等。输入设备406和处理器401通信,可以以多种方式接收用户的输入。例如,输入设备406可以是鼠标、键盘、触摸屏设备或传感设备等。
下面结合图1、图2、图3和图4,对本申请实施例提供的一种数据签名方法,该方法为了解决在业务应用上显示给用户的待签名数据很可能抹除了一部分重要数据,但用户并不能发现在业务应用上直接确认的待签名数据与真实的待签名数据是不同的,从而造成安全问题。如图5所示,该数据签名方法包括:
501、数据签名装置获取业务的签名封装数据。
其中,签名封装数据包括需用户确认的待签名数据;所述待签名数据包括业务概述以及业务数据的第一hash值。
在一种实现方式中,数据签名装置可以通过扫描后端服务器生成的业务的二维码来获取业务的签名封装数据。而后端服务器生成业务的二维码的方式具体包括:后端服务器获取业务概述以及业务数据的第一hash值,并将业务概述以及业务数据的第一hash值进行封装生成待签名数据后;对待签名数据进行hash计算生成待签名数据的第二hash值,并利用第二私钥对第二hash值进行签名生成待签名数据的第二加密hash值;之后,后端服务器利用第一公钥对第二加密hash值以及待签名数据加密生成签名封装数据,并对签名封装数据进行编码转化生成业务的二维码。需要说明的是,该二维码由后端服务期生成后,通过业务服务器发送至业务终端进行显示。需要说明的是,第二私钥为后端服务器的私钥;第一公钥为数据签名装置的公钥,具体可以是数据签名装置中移动盾的公钥。
在另一种实现方式中,数据签名装置可以通过扫描后端服务器生成的业务的二维码来获取签名封装数据的标识ID,并向后端服务器发起查询申请,后端服务器根据该ID将对应的签名封装数据发送至数据签名装置。而后端服务器生成业务的二维码的方式具体包括:后端服务器获取业务概述以及业务数据的第一hash值,并将业务概述以及业务数据的第一hash值并将业务概述以及业务数据的第一hash值进行封装生成待签名数据后;对待签名数据进行hash计算生成待签名数据的第二hash值,并利用第二私钥对第二hash值进行签名生成待签名数据的第二加密hash值;之后,后端服务器利用第一公钥对第二加密hash值以及待签名数据加密生成签名封装数据以及该签名封装数据的ID,并对该签名封装数据的ID进行编码转化生成业务的二维码。需要说明的是,该方式中的二维码由后端服务期生成后,通过业务服务器发送至业务终端进行显示。
在又一种实现方式中,当数据签名装置所属的终端与业务终端为一个终端时,这里以智能手机中的不同应用为例,例如,终端中的第三方应用,与移动盾实现数据签名装置所做的工作,业务应用实现业务终端所做的工作。业务应用通过直接打开第三方应用的方式将后端服务器生成的签名封装数据发送至第三方应用。而后端服务器生成签名封装数据具体包括:后端服务器获取业务概述以及业务数据的第一hash值,并将业务概述以及业务数据的第一hash值并将业务概述以及业务数据的第一hash值进行封装生成待签名数据后;对待签名数据进行hash计算生成待签名数据的第二hash值,并利用第二私钥对第二hash值进行签名生成待签名数据的第二加密hash值;之后,后端服务器利用第一公钥对第二加密hash值以及待签名数据加密生成签名封装数据。
示例性的,后端服务器获取业务概述以及业务数据的第一hash值的流程可以是:首先由业务终端采集用户所需办理业务的业务数据,并将该业务数据传输至业务服务器。然后由该业务服务器提取业务数据中的业务概述;例如对一份电子租房合同来说,其业务概述可以是这样:甲方/乙方/房址/月租金/开始日期/合同日期。业务数据的第一hash值通过使用MD5信息摘要算法(MD5 message-digest algorithm)、安全散列算法(secure hashalgorithm,SHA)或国产哈希算法SM3等散列技术计算生成。最后,业务服务器将业务概述以及业务数据的第一hash值发送至后端服务器。
示例性,数据签名装置扫描后端服务器生成业务的二维码的具体包括:后端服务器生成二维码后,将该二维码发送至业务服务器,然后通过业务终端进行显示,以供数据签名装置进行扫描识别。
此外,本发明实施例提供用于将签名封装数据进行编码转化生成二维码的部分程序。二维码表示的结构化签名数据技术:从移动互联网和智能物联网的使用场景出发,改变传统使用移动盾的方式,变直接为间接,通过合理的结构定义和安全技术手段,形成可信的签名二维码,从而大大简化了使用方式,并可以适应未来的各类场景。本发明的二维码结构化数据概念定义,以JSON表示。
{
“ClassCode”:”xxxxxx”,
“BodyText”:”xxxxxx”,
“SignData”:”xxxxxx”
}
ClassCode:类别码
BodyText:数据体,业务定义
Sign:SM2Sign(SM3(ClassCode+BodyText))签名体
其中Body应包含:
事务标识TransactionID,应用标识APPID,应用名称APPName,时间戳Timestamp,业务摘要BZDigest,业务概述BZKeyword。
SM2Sign(ClassCode+BodyText),也可以使用SHA摘要算法,
业务概述使用JSON表示。
{
“TransactionID”:”xxxxxx”,
“APPID”:”xxxxxx”,
“APPName”:”xxxxxx”,
“Timestamp”:”xxxxxx”,
“BZDigest”:”xxxxxx”,
“BZKeyword”:”xxxxxx”,
}
整体数据格式定义如下:
Figure BDA0002370168000000121
502、数据签名装置确定签名封装数据合法后,生成业务概述的概览图片,并为用户显示。
具体的,数据签名装置对签名封装数据验签,若签名封装数据未被篡改,则确定签名封装数据的合法。
更进一步的,数据签名装置利用私钥对签名封装数据进行解密,获得待签名数据的第二加密hash值以及待签名数据;并利用公钥对第二加密hash值解密生成第二hash值;以及对待签名数据进行hash计算生成第三hash值,数据签名装置通过将第二hash值与第三hash值进行对比。若果一样则说明该二维码未被篡改,否则确定该二维码被篡改。需要说明的是,数据签名装置中实现该步骤的模块为移动盾,而该移动盾中包含有一对密钥,该对密钥包括私钥和第一公钥,用于对数据进行加密解密。另外,而后端服务器也包含有一对密钥,该对密钥包括第二私钥和公钥。
503、数据签名装置接收所述用户输入的验证信息后,对所述概览图片以及所述业务数据的第一hash值分别进行签名。
在一种实现方式中,数据签名装置对概览图片进行hash计算生成第四hash值;并利用私钥对第四hash值以及第一hash值分别进行签名生成第四加密hash值以及第一加密hash值;之后,数据签名装置利用公钥对第一加密hash值、第四加密hash值以及概览图片进行签名。
示例性的,这里所指的验证信息可以是,但不限于用户输入的PIN码、验证码或验证图片等。
在一种实现方式中,本申请实施例的实现流程中数据签名装置对应实现的过程可以由专用的手机APP和移动盾的支持,为了使得方案具有最广泛的可行性,移动盾可以是SIM卡盾,手机APP可以是微信小程序:SIM卡盾具有最大的普遍性,微信也在手机终端具有极大的通用性,通过微信的扫一扫功能(同一手机的APP则通过进程间通信直接调用微信小程序)即可实现移动盾的数字签名,从而使得本发明所实现的方法做到真正的通用、易用、合法、合规,并且适用范围广。
另外,本发明实施例提供两种数据签名方法所适用的场景:
场景一:电子审批
现有的数据签名方法中除了网银业务外,电子公文、合同、财务等的签字审批是移动盾最常用的场景,原有的应用与盾直联的使用方式限制设备和工作地点、流程较繁琐;使用本申请所提供的数据签名方法后,不管应用是在什么类型终端上,需要做签名签章时,只需要拿出手机,扫屏上显示的二维码即可完成,对于应用方来说,不再需要去与用户端的硬件做IO连接,不再需要调用复杂的证书相关的API,云端WEB页面也可轻易完成用户的移动盾的数字签名;对用户来说,任何时间与地点都可以执行签名签章操作,类似于用户随身带了签字笔,任何时候有需要都可以拿出直接签。
另外,对一些重要文件的多方会签,也是日常工作常遇到的事,而采用移动盾的传统使用模式实现多方会签,同样流程较长,对使用环境也有要求,使用本发明实施例所提供的数据签名方法后,类似现实生活中的多方签名会十分简单快捷,比如一份电子房租合同,只需要中介、房东、租房人三者分别拿出手机扫一下合同的二维码,就完成了三方签名。
场景二:自助业务的电子签名
随着运营成本的不断上升,业务的自助办理成为各提供商越来越多的选择,但对于涉及到需要手写签名的业务,还是不得不依靠人工来办理,服务商不可能在公共的自助服务设备上让用户插入移动盾来使用。现在一些商业银行提供了自助设备的自助开户或高安全等级的帐户服务,由于没有有效的电子签名手段,基本上只能在自助机上做人脸识别,手写板输写,实时视频采集等手段,但所有这些手段,都比不上在营业窗口一份用户手写签名的业务合同有效力;而采用本申请实施例所提供的数据签名方法,在无人值守的自助服务设备上,也可以很方便的实现电子签名操作,法律效力跟用户在线下营业窗口在纸质合同上签名是一样的。
综上,本申请实施例提供的一种数据签名方法,由于考虑到待签名数据有可能被部分抹除或篡改,用户无法确认所做的待签名数据否是真实的业务数据的问题;因此本申请在数据签名装置确定签名封装数据合法后,生成该签名封装数据中包含的业务概述的概览图片,以供用户进一步确认需要待签名数据的真伪;通过概览图片的显示方式能够防止为用户显示的待签名数据是篡改或抹除了部分重要数据,从而实现所见即所签的目的。然后,数据签名装置在用户确认信息无误后,对业务数据的第一hash值以及用户所看到的概览图片分别进行签名,以实现数据传输的双签名操作,从而杜绝了数据在传输的过程中被篡改或仿冒的可能。
上述主要从方法的角度对本申请实施例提供的方案进行了介绍。为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,本申请能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本申请实施例可以根据上述方法示例对数据签名装置进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。需要说明的是,本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
在采用对应各个功能划分各个功能模块的情况下,图6给出了上述实施例中涉及的数据签名装置400的一种可能的结构示意图,该数据签名装置400具体对应实现图1中移动终端10的功能,该数据签名装置400包括:
接收单元601,用于获取业务的签名封装数据;其中,签名封装数据包括需用户确认的待签名数据;待签名数据包括业务概述以及业务数据的第一hash值。
处理单元602,用于确定接收单元601获取的签名封装数据合法后,生成业务概述的概览图片,并为用户显示。
接收单元601,用于处理单元602为用户显示概览图片后,接收用户输入的验证信息,并对概览图片以及业务数据的第一hash值分别进行签名。
在一种示例性的方案中,处理单元602,具体用于对签名封装数据验签,若签名封装数据未被篡改,则确定签名封装数据合法。
在一种示例性的方案中,处理单元602,具体同于利用私钥对签名封装数据进行解密,获得待签名数据的第二加密hash值以及待签名数据。
处理单元602,还用于利用公钥对第二加密hash值解密生成第二hash值。
处理单元602,还用于对待签名数据进行hash计算生成第三hash值,并将第二hash值与第三hash值进行对比。
在一种示例性的方案中,处理单元602,具体用于对概览图片进行hash计算生成第四hash值;并利用私钥对第四hash值以及第一hash值分别进行签名生成第四加密hash值以及第一加密hash值。
处理单元602,还用于利用公钥对第一加密hash值、第四加密hash值以及概览图片进行加密。
其中,上述方法实施例涉及的各步骤的所有相关内容均可以援引到对应功能模块的功能描述,其作用在此不再赘述。
当然,本发明实施例提供的数据签名装置400包括但不限于上述模块,例如数据签名装置400还可以包括存储单元603。存储单元603可以用于存储该数据签名装置400的程序代码,还可以用于存储数据签名装置400在运行过程中生成的数据,如写请求中的数据等。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何在本发明揭露的技术范围内的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

Claims (8)

1.一种数据签名方法,其特征在于,包括:
获取业务的签名封装数据;其中,签名封装数据包括需用户确认的待签名数据;所述待签名数据包括业务概述以及业务数据的第一hash值;
确定所述签名封装数据合法后,生成所述业务概述的概览图片,并为用户显示;
接收所述用户输入的验证信息后,对所述概览图片以及所述业务数据的第一hash值分别进行签名;
所述对所述概览图片以及所述业务数据的第一hash值分别进行签名,具体包括:
对所述概览图片进行hash计算生成第四hash值;并利用私钥对所述第四hash值以及所述第一hash值分别进行签名生成第四加密hash值以及第一加密hash值;
利用公钥对所述第一加密hash值、所述第四加密hash值以及所述概览图片进行加密。
2.根据权利要求1所述的数据签名方法,其特征在于,根据所述签名封装数据确认所述签名封装数据合法,具体包括:
对所述签名封装数据验签,若所述签名封装数据未被篡改,则确定所述签名封装数据合法。
3.根据权利要求2所述的数据签名方法,其特征在于,对所述签名封装数据验签,具体包括:
利用私钥对所述签名封装数据进行解密,获得所述待签名数据的第二加密hash值以及所述待签名数据;
利用公钥对所述第二加密hash值解密生成第二hash值;
对所述待签名数据进行hash计算生成第三hash值,并将所述第二hash值与所述第三hash值进行对比。
4.一种数据签名装置,其特征在于,包括:
接收单元,用于获取业务的签名封装数据;其中,签名封装数据包括需用户确认的待签名数据;所述待签名数据包括业务概述以及业务数据的第一hash值;
处理单元,用于确定所述接收单元获取的所述签名封装数据合法后,生成所述业务概述的概览图片,并为用户显示;
接收单元,用于所述处理单元为用户显示概览图片后,接收所述用户输入的验证信息,并对所述概览图片以及所述业务数据的第一hash值分别进行签名;
所述处理单元,具体用于对所述概览图片进行hash计算生成第四hash值;并利用私钥对所述第四hash值以及所述第一hash值分别进行签名生成第四加密hash值以及第一加密hash值;
所述处理单元,还用于利用公钥对所述第一加密hash值、所述第四加密hash值以及所述概览图片进行加密。
5.根据权利要求4所述的数据签名装置,其特征在于,包括:
所述处理单元,具体用于对所述签名封装数据验签,若所述签名封装数据未被篡改,则确定所述签名封装数据合法。
6.根据权利要求5所述的数据签名装置,其特征在于,包括:
所述处理单元,具体同于利用私钥对所述签名封装数据进行解密,获得所述待签名数据的第二加密hash值以及所述待签名数据;
所述处理单元,还用于利用公钥对所述第二加密hash值解密生成第二hash值;
所述处理单元,还用于对所述待签名数据进行hash计算生成第三hash值,并将所述第二hash值与所述第三hash值进行对比。
7.一种数据签名装置,其特征在于,所述数据签名装置的结构中包括处理器,所述处理器用于执行程序指令,使得所述数据签名装置执行如权利要求1-3任一项所述的数据签名方法。
8.一种计算机可读存储介质,其特征在于,计算机可读存储介质中存储有计算机程序代码,当计算机程序代码在数据签名装置上运行时,使得所述数据签名装置执行如权利要求1-3任一项所述的数据签名方法。
CN202010048154.3A 2020-01-16 2020-01-16 一种数据签名方法及装置 Active CN111222178B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010048154.3A CN111222178B (zh) 2020-01-16 2020-01-16 一种数据签名方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010048154.3A CN111222178B (zh) 2020-01-16 2020-01-16 一种数据签名方法及装置

Publications (2)

Publication Number Publication Date
CN111222178A CN111222178A (zh) 2020-06-02
CN111222178B true CN111222178B (zh) 2022-08-02

Family

ID=70832399

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010048154.3A Active CN111222178B (zh) 2020-01-16 2020-01-16 一种数据签名方法及装置

Country Status (1)

Country Link
CN (1) CN111222178B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111817858A (zh) * 2020-07-27 2020-10-23 北京金仓幸福科技有限公司 一种基于多重签名的区块链数据安全方法
CN112491552A (zh) * 2020-11-18 2021-03-12 江苏先安科技有限公司 一种防止数字签名钓鱼攻击的方法
CN112543454B (zh) * 2020-11-30 2022-11-15 亚信科技(成都)有限公司 一种认证方法及设备
CN114650140A (zh) * 2020-12-21 2022-06-21 国民科技(深圳)有限公司 执行电子签名的移动终端、服务器和执行电子签名的方法
CN115529140B (zh) * 2022-09-15 2024-06-18 北京天威诚信电子商务服务有限公司 一种基于微信小程序的数字签名协同生成方法及系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6157410A (en) * 1996-05-17 2000-12-05 Sony Corporation Processing and display of images retrieved from digital still image files generated from digital moving images
CN101849404A (zh) * 2007-07-27 2010-09-29 拉加维林有限公司 便携式发送器的设备、方法、系统和用户界面
CN102541864A (zh) * 2010-12-15 2012-07-04 北京航天长峰科技工业集团有限公司 一种公安业务信息管理方法
CN102681885A (zh) * 2011-03-18 2012-09-19 新奥特(北京)视频技术有限公司 一种业务分离的媒资系统
CN110380846A (zh) * 2019-06-28 2019-10-25 杭州师范大学 一种电子病历患者签名方法及系统

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102045715B (zh) * 2009-10-12 2013-03-13 中国移动通信集团公司 一种移动签名实现方法、装置与系统
CN101820346B (zh) * 2010-05-04 2012-06-27 飞天诚信科技股份有限公司 一种安全数字签名方法
US10282562B1 (en) * 2015-02-24 2019-05-07 ImageKeeper LLC Secure digital data collection
CN110493268B (zh) * 2019-09-24 2022-06-24 腾讯科技(深圳)有限公司 一种基于区块链网络的数据处理方法、装置、设备及存储介质

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6157410A (en) * 1996-05-17 2000-12-05 Sony Corporation Processing and display of images retrieved from digital still image files generated from digital moving images
CN101849404A (zh) * 2007-07-27 2010-09-29 拉加维林有限公司 便携式发送器的设备、方法、系统和用户界面
CN102541864A (zh) * 2010-12-15 2012-07-04 北京航天长峰科技工业集团有限公司 一种公安业务信息管理方法
CN102681885A (zh) * 2011-03-18 2012-09-19 新奥特(北京)视频技术有限公司 一种业务分离的媒资系统
CN110380846A (zh) * 2019-06-28 2019-10-25 杭州师范大学 一种电子病历患者签名方法及系统

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
《A Robust Perceptual Audio Hashing using Balanced Multiwavelets》;L.Ghouti等;《2006 IEEE International Conference on Acoustics Speech and Signal Processing Proceedings》;20060724;全文 *
基于图像哈希签名的数字水印;贾松浩等;《计算机应用与软件》;20090401;第26卷(第01期);全文 *
高性能计算中一种改进的数据访问节能技术研究;邓定胜;《计算机科学》;20150215;第42卷(第02期);全文 *

Also Published As

Publication number Publication date
CN111222178A (zh) 2020-06-02

Similar Documents

Publication Publication Date Title
CN111222178B (zh) 一种数据签名方法及装置
US11799668B2 (en) Electronic identification verification methods and systems with storage of certification records to a side chain
TWI748209B (zh) 基於安全應用的二維碼防偽方法、設備及系統
WO2018145127A1 (en) Electronic identification verification methods and systems with storage of certification records to a side chain
CN109064324A (zh) 基于联盟链的交易方法、电子装置及可读存储介质
CN104021482A (zh) 基于标识认证技术的证件防伪鉴真方法
US20140289129A1 (en) Method for secure contactless communication of a smart card and a point of sale terminal
CN107508685B (zh) 一种云计算环境中应用电子签名服务系统的实现方法
CN110290134A (zh) 一种身份认证方法、装置、存储介质及处理器
CN110401542A (zh) 电子身份凭证生成方法、终端及服务器
US20160055473A1 (en) Transaction device, transaction system using the same and transaction method using the same
CN106603496A (zh) 一种数据传输的保护方法、智能卡、服务器及通信系统
CN104809490A (zh) 一种基于多维码的证卡防伪系统及其认证方法
CN110942301B (zh) 基于区块链的数据处理方法、装置、计算机以及存储介质
CN110910109B (zh) 基于区块链的电子资源转移方法及装置
CN110417557B (zh) 智能终端外设数据安全控制方法及装置
US11070378B1 (en) Signcrypted biometric electronic signature tokens
CN112667743A (zh) 应用于传输终端的数据上链方法、系统、设备、存储介质
CN116962021A (zh) 金融合作机构中用户实名认证的方法、装置、设备和介质
CN115147103A (zh) 数字人民币的支付方法、装置和电子设备
CN115174260B (zh) 数据验证方法、装置、计算机、存储介质和程序产品
USRE49968E1 (en) Electronic identification verification methods and systems with storage of certification records to a side chain
US20240177155A1 (en) Decentralized information transmission system and method thereof
US20230144774A1 (en) System for secure multi-protocol processing of cryptographic data
CN114022259B (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
CB03 Change of inventor or designer information

Inventor after: Xu Fei

Inventor after: Liu Qianming

Inventor after: Zou Ning

Inventor after: Tan Kehua

Inventor after: Tang Lei

Inventor before: Xu Fei

Inventor before: Liu Qianming

Inventor before: Zou Ning

Inventor before: Tan Kehua

Inventor before: Tang Lei

CB03 Change of inventor or designer information
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20230619

Address after: 12 / F, Dongfang hope scientific research building, No.3, Gaopeng Avenue, high tech Zone, Chengdu, Sichuan 610041

Patentee after: ASIAINFO TECHNOLOGIES (CHENGDU), Inc.

Patentee after: AsiaInfo Security Technology Co.,Ltd.

Address before: 12 / F, Dongfang hope scientific research building, No.3, Gaopeng Avenue, high tech Zone, Chengdu, Sichuan 610041

Patentee before: ASIAINFO TECHNOLOGIES (CHENGDU), Inc.

TR01 Transfer of patent right