CN110826092A - 一种文件签名处理系统 - Google Patents

一种文件签名处理系统 Download PDF

Info

Publication number
CN110826092A
CN110826092A CN201810925018.0A CN201810925018A CN110826092A CN 110826092 A CN110826092 A CN 110826092A CN 201810925018 A CN201810925018 A CN 201810925018A CN 110826092 A CN110826092 A CN 110826092A
Authority
CN
China
Prior art keywords
signature
target file
value
public key
information
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
CN201810925018.0A
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.)
Beijing Kingsoft Office Software Inc
Zhuhai Kingsoft Office Software Co Ltd
Guangzhou Kingsoft Mobile Technology Co Ltd
Original Assignee
Beijing Kingsoft Office Software Inc
Zhuhai Kingsoft Office Software Co Ltd
Guangzhou Kingsoft Mobile Technology 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 Beijing Kingsoft Office Software Inc, Zhuhai Kingsoft Office Software Co Ltd, Guangzhou Kingsoft Mobile Technology Co Ltd filed Critical Beijing Kingsoft Office Software Inc
Priority to CN201810925018.0A priority Critical patent/CN110826092A/zh
Publication of CN110826092A publication Critical patent/CN110826092A/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/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/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Storage Device Security (AREA)

Abstract

本发明实施例提供了一种文件签名处理系统。该系统包括:签名设备和签名验证设备;签名设备,用于确定待进行数字签名的目标文件,计算目标文件的第一信息摘要值;获得签名者的第一私钥和第一公钥;利用第一私钥对第一信息摘要值进行加密计算,得到第一数字签名;将第一数字签名、第一信息摘要值和第一公钥对应存储至区块链分布式账本中;签名验证设备,用于当接收到验证指令时,计算目标文件的第二信息摘要值;判断区块链分布式账本中是否存在第二信息摘要值;若否,确定目标文件被篡改。这样,可以将数字签名存储至区块链分布式账本中,从而确保数字签名的有效性,提高了数据的安全性。并可以对数字签名进行验证,从而可以验证文件是否被篡改。

Description

一种文件签名处理系统
技术领域
本发明涉及计算机技术领域,特别是涉及一种文件签名处理系统。
背景技术
文件签名是指对文件进行数字签名。其中,数字签名是附加在文件中的一些数据,而且数字签名常常附加在文件尾部。这样,文件的接收者能够根据附加的数据来验证:该文件是否确实是签名者发送的,以及该文件的文件内容是否被篡改。
例如,张三利用私钥对文件A进行数字签名。其中,签名后的文件A的尾部写入有该数字签名。然后,张三将签名后的文件A发送给李四。李四在接收到签名后的文件A后,可以利用张三的公钥解密该数字签名。若李四能够利用张三的公钥解密得到文件A的哈希值,则证明文件A确实是张三发送的。并且,可以对接收到的文件A进行哈希计算,并将计算得到的哈希值与解密得到的哈希值进行比对。若比对结果一致,则表明文件A未被篡改,若比对结果不一致,则表明文件A被篡改。
但是,该种将数字签名附加在文件中的方式,使得数字签名容易被恶意用户篡改,无法保证数字签名的有效性,从而使用户数据的安全受到威胁。
发明内容
本发明实施例的目的在于提供一种文件签名处理系统,以可以确保数字签名的有效性,提高用户数据的安全性,并且可以对数字签名进行验证,从而可以验证文件是否被篡改。具体技术方案如下:
本发明实施例提供了一种文件签名处理系统,该系统可以包括:签名设备和签名验证设备;
签名设备用于:确定待进行数字签名的目标文件,并根据预设的信息摘要算法计算目标文件的第一信息摘要值;获得要对目标文件进行数字签名的签名者的第一私钥和第一公钥;利用第一私钥对第一信息摘要值进行加密计算,得到签名者的第一数字签名;将第一数字签名、第一信息摘要值和第一公钥对应存储至区块链分布式账本中;
签名验证设备用于:当接收到针对目标文件的数字签名的验证指令时,根据信息摘要算法计算目标文件的第二信息摘要值;判断区块链分布式账本中是否存在第二信息摘要值;若不存在,确定目标文件被篡改。
可选地,在本发明实施例中,签名设备还可以用于:
在将第一数字签名、第一信息摘要值和第一公钥对应存储至区块链分布式账本中之后,在目标文件中写入签名标记;其中,签名标记中携带有第一公钥;
相应地,签名验证设备还可以用于:当区块链分布式账本中存在第二信息摘要值时,判断区块链分布式账本中与第二信息摘要值对应存储的第二公钥是否与签名标记中携带的第一公钥匹配;若不匹配,确定目标文件被篡改。
可选地,在本发明实施例中,签名验证设备还可以用于:
若与第二信息摘要值对应存储的第二公钥与签名标记中携带的第一公钥匹配,利用第二公钥对区块链分布式账本中与第二信息摘要值对应存储的第二数字签名进行解密;若解密失败,确定目标文件被篡改。
可选地,在本发明实施例中,签名验证设备还可以用于:
若解密成功,判断解密得到的第三信息摘要值是否与第二信息摘要值相同;若相同,确定目标文件未被篡改;若不相同,确定目标文件被篡改。
可选地,签名标记中还可以携带有第一信息摘要值、第一数字签名的签名时间和签名者的身份标识中的至少一项。
可选地,当签名标记中携带有第一摘要信息值时,签名验证设备具体可以用于:
在根据信息摘要算法计算目标文件的第二信息摘要值之后,确定签名标记中携带的第一信息摘要值是否与第二信息摘要值相等;若相等,判断区块链分布式账本中是否存在第二信息摘要值;若不相等,确定目标文件被篡改。
可选地,当签名标记中携带有第一数字签名的签名时间时,签名验证设备具体可以用于:
当区块链分布式账本中存在第二信息摘要值时,确定区块链分布式账本中所存储的第二信息摘要值所对应的存储时间戳;判断存储时间戳与签名时间的时间间隔是否小于预设阈值;若大于等于预设阈值,则确定目标文件被篡改;若小于预设阈值,判断区块链分布式账本中与第二信息摘要值对应存储的第二公钥是否与签名标记中携带的第一公钥匹配。
可选地,当签名标记中携带有签名者的身份标识时,签名验证设备具体可以用于:
当接收到针对目标文件的数字签名的验证指令时,向用户展示身份标识;当用户对身份标识进行确认之后,根据信息摘要算法计算目标文件的第二信息摘要值;当用户对身份标识进行否认时,确定目标文件被篡改。
可选地,在本发明实施例中,该签名设备具体可以用于:
从区块链私钥公钥对存储软件中,加载要对目标文件进行数字签名的签名者的私钥加密文件和第一公钥;
利用用户输入的解密密钥对私钥加密文件进行解密,得到第一公钥对应的第一私钥。
可选地,在本发明实施例中,签名设备具体可以用于:
调用区块链私钥公钥对生成软件,生成要对目标文件进行数字签名的签名者的第一私钥和第一公钥。
在本发明实施例中,文件签名处理系统中的签名设备可以确定待进行数字签名的目标文件,并可以根据预设的信息摘要算法计算得到该目标文件的第一信息摘要值。然后,可以获得要对该目标文件进行数字签名的签名者的第一私钥和公钥。之后,利用该第一私钥对信息摘要值进行加密计算,得到该签名者的第一数字签名。在得到第一数字签名后,将该第一数字签名、第一信息摘要值和第一公钥对应存储至区块链分布式账本中。这样,可以将第一数字签名存储至区块链分布式账本中。其中,由于区块链分布式账本是集体维护的分布式数据库,并具有去中心化和信息不可篡改性等特点。因而,可以避免现有技术中将数字签名写在目标文件尾部所造成的数字签名容易被篡改的情况发生,确保了该第一数字签名的有效性,从而可以保证用户数据的安全
该文件签名处理系统中的签名验证设备,可以在接收到针对目标文件的数字签名的验证指令时,根据该预设的信息摘要算法计算该目标文件的第二信息摘要值。然后,判断区块链分布式账本中是否存在该第二信息摘要值。若不存在,则可以确定该目标文件被篡改。这样,可以通过签名验证设备来对数字签名进行验证,从而验证目标文件是否被篡改。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例所提供的一种文件签名处理系统的结构示意图;
图2为本发明实施例所提供的文件签名处理系统进行文件签名及签名验证的一个流程图;
图3为本发明实施例所提供的签名设备的结构示意图;
图4为本发明实施例所提供的签名验证设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为了解决现有技术中存在的技术问题,本发明实施例提供了一种文件签名处理系统。
下面结合图1和图2对本发明实施例提供的文件签名处理系统进行说明。
参见图1,本发明实施例提供的文件签名处理系统100包括:签名设备101和签名验证设备102。其中,签名设备101和签名验证设备102可以为同一个设备,也可以为不同设备,这都是合理的。
另外,本发明实施例中的目标文件包括但并不局限于:WPS文件、PPT文件和PDF文件,当然并不局限于此。
参见图2,签名设备101用于执行如下步骤:
S101:确定待进行数字签名的目标文件,并根据预设的信息摘要算法计算目标文件的第一信息摘要值;
预设的信息摘要算法包括但并不局限于:CRC(Cyclic Redundancy Check,循环冗余校验)算法、SHA(Secure Hash Algorithm,安全散列算法)算法、RIPEMD(RACE IntegrityPrimitives Evaluation Message Digest,RACE原始完整性校验消息摘要)算法、MD4(Message-Digest Algorithm 4,信息摘要算法版本4)算法,以及MD5(Message-DigestAlgorithm 5,信息摘要算法版本5)算法。
其中,计算目标文件的第一信息摘要值具体可以是指:对目标文件的文件内容进行信息摘要计算。
S102:获得要对目标文件进行数字签名的签名者的第一私钥和第一公钥;
当要对目标文件进行数字签名的签名者已经有私钥公钥对时,可以直接从区块链私钥公钥对存储软件中,加载该签名者的私钥加密文件和第一公钥。
然后,利用用户输入的解密密钥对私钥加密文件进行解密,得到第一公钥对应的第一私钥。其中,该种加载私钥加密文件的方式,可以避免直接加载签名者的第一私钥,从而可以避免第一私钥泄露,提高私钥的安全性。
该区块链私钥公钥对存储软件包括但并不局限于数字钱包。其中,数字钱包为现有概念,在此不对数字钱包进行详细描述。
当要对目标文件进行数字签名的签名者还没有私钥公钥对时,可以调用区块链私钥公钥对生成软件,生成该签名者的第一私钥和第一公钥。
其中,区块链私钥公钥对生成软件可以为包括:任意可以生成区块链私钥公钥对的软件。
S103:利用第一私钥对第一信息摘要值进行加密计算,得到签名者的第一数字签名;
举例而言,当第一信息摘要值为MD5值时,可以利用第一私钥对该MD5值进行加密计算,从而可以得到该签名者的第一数字签名。
S104:将第一数字签名、第一信息摘要值和第一公钥对应存储至区块链分布式账本中;
具体地,可以利用该签名者的第一数字签名、该目标文件的第一信息摘要值和该签名者的第一公钥来构建一个区块链发布块,实现第一数字签名、第一信息摘要值和第一公钥的对应存储。然后,调用区块链SDK(Software Development Kit,软件开发工具包)将该发布块存储至区块链分布式账本中,从而实现该发布块的全网发布。其中,该区块链SDK为任意可以将发布块存储至区块链分布式账本中的软件,在此不做详述。
由于区块链分布式账本是集体维护的分布式数据库,具有去中心化和信息不可篡改性等特点。因而,使得存储至该区块链分布式账本中的第一数字签名是不可篡改的,保证了该第一数字签名的有效性,即保证了数字签名的安全性。进而,可以避免将信息泄露给恶意用户的情况发生,保证了数据的安全性。
对于背景技术所举的示例而言,现有技术中在使用数字签名过程中,常需要依赖数字证书来证明李四得到的公钥确实为张三的公钥,从而在一定程度上来确保张三的数字签名的有效性。其中,数字证书是证书授权中心机构进行数字签名的、包含公钥拥有者信息以及公钥的文件,该数字证书可以用于证明:公钥拥有者合法拥有该证书中列出的公钥。
但是,证书授权中心机构是中心化机构,该机构很可能会遭受到黑客的攻击。当该机构遭到攻击时,该机构所颁发的数字证书很可能是被黑客篡改的证书。并且,当该机构所颁发的张三的数字证书被黑客篡改时,此时无法确保张三的数字签名的有效性,使数据的安全受到威胁。
而在本发明实施例中,由于存储在该区块链分布式账本中的第一数字签名以及对应存储的第一公钥是不可篡改的,因而能够确保存储至区块链分布式账本中的该第一数字签名即为该第一公钥所对应的签名者的数字签名,从而可以保证该第一数字签名的有效性。
参见图2,签名验证设备102用于执行如下步骤:
S105:当接收到针对目标文件的数字签名的验证指令时,根据该信息摘要算法计算目标文件的第二信息摘要值;
在将第一数字签名、第一信息摘要值和第一公钥对应存储至区块链分布式账本中之后,接收到针对目标文件的数字签名的验证指令时,可以采用计算第一信息摘要值的信息摘要算法对目标文件当前的文件内容进行信息摘要计算,得到第二信息摘要值。
S106:判断区块链分布式账本中是否存在第二信息摘要值;若不存在,执行步骤S107;
S107:确定目标文件被篡改。
在计算得到目标文件的第二信息摘要值之后,可以查找区块链分布式账本中是否存在该第二信息摘要值。若不存在该第二信息摘要值,表明目标文件的文件内容发生了变化,从而导致第二信息摘要值与第一信息摘要值不匹配。此时,可以确定目标文件的文件内容被篡改。若存在该第二信息摘要值,在一种实现方式中,可以直接确定该目标文件未被篡改。当然,在确定目标文件未被篡改之前,还可以执行其他验证操作,后续再对该种实现方式进行详述。
该种数字签名验证方式可以在签名验证设备本地进行签名验证,而不需要依赖证书授权中心机构来进行签名验证,节约了签名验证的成本。另外,当数字签名处于验证有效期内时,证书授权中心机构才会对该数字签名进行验证,而本发明实施例提供的签名验证设备可以在任意时间对该数字签名进行验证,实现永久验证。
在本发明实施例中,文件签名处理系统中的签名设备可以确定待进行数字签名的目标文件,并可以根据预设的信息摘要算法计算得到该目标文件的第一信息摘要值。然后,可以获得要对该目标文件进行数字签名的签名者的第一私钥和公钥。之后,利用该第一私钥对信息摘要值进行加密计算,得到该签名者的第一数字签名。在得到第一数字签名后,将该第一数字签名、第一信息摘要值和第一公钥对应存储至区块链分布式账本中。这样,可以将第一数字签名存储至区块链分布式账本中。其中,由于区块链分布式账本是集体维护的分布式数据库,并具有去中心化和信息不可篡改性等特点。因而,可以避免现有技术中将数字签名写在目标文件尾部所造成的数字签名容易被篡改的情况发生,确保了该第一数字签名的有效性,从而可以保证用户数据的安全
该文件签名处理系统中的签名验证设备,可以在接收到针对目标文件的数字签名的验证指令时,根据该预设的信息摘要算法计算该目标文件的第二信息摘要值。然后,判断区块链分布式账本中是否存在该第二信息摘要值。若不存在,则可以确定该目标文件被篡改。这样,可以通过签名验证设备来对数字签名进行验证,从而验证目标文件是否被篡改。
下面以PDF文件为示例,对本发明实施例提供的文件签名处理系统进行说明。
其中,本发明实施例提供的文件签名处理系统中的签名设备和签名验证设备可以为同一设备,也可以为不同设备,这都是合理的。
假设该签名设备和签名验证设备为同一设备K。此时,设备K既可以用于对文件进行数字签名,又可以用于对进行了数字签名的文件进行数字签名验证,从而验证该文件是否被篡改。
假设设备K中打开有目标PDF文件。当用户A想要对该目标PDF文件进行数字签名时,该设备K可以根据MD5算法来计算该目标PDF文件的第一MD5值。
然后,该设备K还可以获得用户A的第一私钥和第一公钥。具体地,该设备K可以询问用户A是否存在区块链公钥和私钥。若用户A存在区块链公钥和私钥,则从用户A用于存储公钥和私钥的区块链私钥公钥对存储软件中加载该用户A的第一私钥和第一公钥。其中,为了保证第一私钥的安全,可以加载私钥加密文件,然后根据用户A输入的解密秘钥解密得到第一私钥。
若用户A不存在区块链公钥和私钥,则可以调用区块链私钥公钥对生成软件来生成用户A的第一私钥和第一公钥。然后,设备K可以利用所生成的第一私钥对第一MD5值进行数字签名。
其中,在生成用户A的第一私钥和第一公钥之后,设备K还可以获得用户A的身份标识。然后,将用户A的身份标识和用户A的第一公钥对应存储至区块链分布式账本中。这样,使得区块链分布式账本中可以记录有:用户A的身份标识和用户A的第一公钥的对应关系。也就是说,此时全网可以证明:用户A合法拥有该第一公钥,避免了用户A的第一公钥被冒充。
该设备K在获得用户A的第一私钥后,可以利用所获得的第一私钥对该MD5值进行加密计算,从而得到针对该目标PDF文件的第一数字签名。进而,将该第一数字签名、第一MD5值和第一公钥对应存储至区块链分布式账本中。这样,不需要将第一数字签名写在目标PDF文件的尾部。而且,将第一数字签名写在区块链分布式账本中的方式可以避免第一数字签名被篡改,确保了第一数字签名的有效性。
其中,将该第一数字签名、第一MD5值和第一公钥对应存储至区块链分布式账本中,可以便于后续利用该第一MD5值和第一公钥对该第一数字签名进行验证。另外,为了便于后续对目标PDF文件的第一数字签名进行验证,还可以给该目标PDF文件标记一个签名标记,以标记该目标PDF文件已经完成了数字签名。
其中,该签名标记中还可以携带有第一公钥、第一MD5值、第一数字签名的签名时间和用户A的身份标识中的至少一项,当然并不局限于此。为了签名标记中所携带的内容不被恶意用户篡改,还可以利用用户A的私钥对该签名标记中所携带的内容进行数字签名,这是合理的。
这样,在完成对该目标PDF文件的数字签名之后,该设备K还可以通过该目标PDF文件中记录的签名标记,识别该目标PDF文件是经过数字签名的文件。
而且,设备K在接收到针对该目标PDF文件的数字签名的验证指令时,可以计算该目标PDF文件当前的MD5值作为第二MD5值。然后,调用区块链SDK查找区块链分布式账本中的、与当前的第二MD5值匹配的MD5值。当在该区块链分布式账本中查找不到与当前的第二MD5值匹配的MD5值时,则表明该目标PDF文件的文件内容被篡改。
其中,当签名标记中携带有用户A的身份标识时,设备K也可以在接收到针对该目标PDF文件的数字签名的验证指令时,先向用户展示该用户A的身份标识。当用户对该身份标识进行确认之后,即在用户确认是用户A的数字签名后,设备K可以计算该目标PDF文件当前的MD5值,并将该MD5值作为第二MD5值。反之,当用户对该身份标识进行否认时,则确定该目标PDF文件被篡改。
当该签名标记中还携带有第一MD5值时,在计算得到目标PDF文件当前的第二MD5值之后,该设备K还可以确定签名标记中携带的第一MD5值是否与该第二MD5值相等。若不相等,则确定该目标PDF文件被篡改。若相等,则相当,则调用区块链SDK查找区块链分布式账本中的、与当前的第二MD5值匹配的MD5值。
当该签名标记中还携带有第一数字签名的签名时间时,而且,在该区块链分布式账本中能查找到与当前的第二MD5值匹配的MD5值时,该设备K还可以确定区块链分布式账本中所存储的第二MD5值所对应的存储时间戳。并判断该存储时间戳与签名时间的时间间隔是否小于预设阈值。若大于等于预设阈值,则确定目标PDF文件被篡改。其中,该预设阈值可以由本领域技术人员根据实际情况进行设定,在此不做限定。
反之,若小于预设阈值,则可以确定目标PDF文件未被篡改。其中,当该签名标记中还携带有第一数字签名的第一公钥时,还可以判断区块链分布式账本中与第二MD5值对应存储的第二公钥是否与该签名标记中携带的第一公钥匹配。若不匹配,则确定该目标文件被篡改。
若匹配,则利用第二公钥对区块链分布式账本中与第二MD5值对应存储的第二数字签名进行解密。若解密失败,确定目标文件被篡改。若解密成功,判断解密得到的第三MD5值是否与第二MD5值相同。若相同,确定目标PDF文件未被篡改。若不相同,则表明该第二数字签名很可能是恶意用户伪造的数字签名。此时,为了保证用户A的数字签名的有效性,可以重新对利用上述数字签名方式对该目标PDF文件进行数字签名。
综上,由于区块链分布式账本是集体维护的分布式数据库,并具有去中心化和信息不可篡改性等特点。因而,应用本发明实施例提供的文件签名处理系统中的签名设备进行数字签名,可以确保数字签名的有效性,即可以保证该数字签名不被篡改,从而提高了数据的安全性。另外,应用本发明实施例提供的文件签名处理系统中的签名验证设备,可以对签名设备所得到数字签名进行验证,从而可以验证文件是否被篡改。
其中,本发明实施例提供的签名设备可以参见图3,包括处理器301、通信接口302、存储器303和通信总线304,其中,处理器301,通信接口302,存储器303通过通信总线304完成相互间的通信,
存储器303,用于存放计算机程序;
处理器301,用于执行存储器303上所存放的程序时,执行上述步骤S101~S104。
在本发明实施例中,文件签名处理系统中的签名设备可以确定待进行数字签名的目标文件,并可以根据预设的信息摘要算法计算得到该目标文件的第一信息摘要值。然后,可以获得要对该目标文件进行数字签名的签名者的第一私钥和公钥。之后,利用该第一私钥对信息摘要值进行加密计算,得到该签名者的第一数字签名。在得到第一数字签名后,将该第一数字签名、第一信息摘要值和第一公钥对应存储至区块链分布式账本中。这样,可以将第一数字签名存储至区块链分布式账本中。其中,由于区块链分布式账本是集体维护的分布式数据库,并具有去中心化和信息不可篡改性等特点。因而,可以避免现有技术中将数字签名写在目标文件尾部所造成的数字签名容易被篡改的情况发生,确保了该第一数字签名的有效性,从而可以保证用户数据的安全
本发明实施例提供的签名验证设备可以参见图4,包括处理器401、通信接口402、存储器403和通信总线404,其中,处理器401,通信接口402,存储器403通过通信总线404完成相互间的通信,
存储器403,用于存放计算机程序;
处理器401,用于执行存储器403上所存放的程序时,执行上述步骤S105~S107。
在本发明实施例中,该文件签名处理系统中的签名验证设备,可以在接收到针对目标文件的数字签名的验证指令时,根据该预设的信息摘要算法计算该目标文件的第二信息摘要值。然后,判断区块链分布式账本中是否存在该第二信息摘要值。若不存在,则可以确定该目标文件被篡改。这样,可以通过签名验证设备来对数字签名进行验证,从而验证目标文件是否被篡改。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

Claims (10)

1.一种文件签名处理系统,其特征在于,所述系统包括:签名设备和签名验证设备;
所述签名设备用于:确定待进行数字签名的目标文件,并根据预设的信息摘要算法计算所述目标文件的第一信息摘要值;获得要对所述目标文件进行数字签名的签名者的第一私钥和第一公钥;利用所述第一私钥对所述第一信息摘要值进行加密计算,得到所述签名者的第一数字签名;将所述第一数字签名、所述第一信息摘要值和所述第一公钥对应存储至区块链分布式账本中;
所述签名验证设备用于:当接收到针对所述目标文件的数字签名的验证指令时,根据所述信息摘要算法计算所述目标文件的第二信息摘要值;判断所述区块链分布式账本中是否存在所述第二信息摘要值;若不存在,确定所述目标文件被篡改。
2.根据权利要求1所述的系统,其特征在于,所述签名设备还用于:
在将所述第一数字签名、所述第一信息摘要值和所述第一公钥对应存储至区块链分布式账本中之后,在所述目标文件中写入签名标记;其中,所述签名标记中携带有所述第一公钥;
所述签名验证设备还用于:当所述区块链分布式账本中存在所述第二信息摘要值时,判断所述区块链分布式账本中与所述第二信息摘要值对应存储的第二公钥是否与所述签名标记中携带的所述第一公钥匹配;若不匹配,确定所述目标文件被篡改。
3.根据权利要求2所述的系统,其特征在于,所述签名验证设备还用于:
若与所述第二信息摘要值对应存储的第二公钥与所述签名标记中携带的所述第一公钥匹配,利用所述第二公钥对所述区块链分布式账本中与所述第二信息摘要值对应存储的第二数字签名进行解密;若解密失败,确定所述目标文件被篡改。
4.根据权利要求3所述的系统,其特征在于,所述签名验证设备还用于:
若解密成功,判断解密得到的第三信息摘要值是否与所述第二信息摘要值相同;若相同,确定所述目标文件未被篡改;若不相同,确定所述目标文件被篡改。
5.根据权利要求2所述的系统,其特征在于,所述签名标记中还携带有所述第一信息摘要值、所述第一数字签名的签名时间和所述签名者的身份标识中的至少一项。
6.根据权利要求5所述的系统,其特征在于,当所述签名标记中携带有所述第一摘要信息值时,所述签名验证设备具体用于:
在根据所述信息摘要算法计算所述目标文件的第二信息摘要值之后,确定所述签名标记中携带的第一信息摘要值是否与所述第二信息摘要值相等;若相等,判断所述区块链分布式账本中是否存在所述第二信息摘要值;若不相等,确定所述目标文件被篡改。
7.根据权利要求5所述的系统,其特征在于,当所述签名标记中携带有所述第一数字签名的签名时间时,所述签名验证设备具体用于:
当所述区块链分布式账本中存在所述第二信息摘要值时,确定所述区块链分布式账本中所存储的第二信息摘要值所对应的存储时间戳;判断所述存储时间戳与签名时间的时间间隔是否小于预设阈值;若大于等于预设阈值,则确定所述目标文件被篡改;若小于预设阈值,判断所述区块链分布式账本中与所述第二信息摘要值对应存储的第二公钥是否与所述签名标记中携带的所述第一公钥匹配。
8.根据权利要求5所述的系统,其特征在于,当所述签名标记中携带有所述签名者的身份标识时,所述签名验证设备具体用于:
当接收到针对所述目标文件的数字签名的验证指令时,向用户展示所述身份标识;当用户对所述身份标识进行确认之后,根据所述信息摘要算法计算所述目标文件的第二信息摘要值;当用户对所述身份标识进行否认时,确定所述目标文件被篡改。
9.根据权利要求1-8中任一项所述的系统,其特征在于,所述签名设备具体用于:
从区块链私钥公钥对存储软件中,加载要对所述目标文件进行数字签名的签名者的私钥加密文件和第一公钥;
利用用户输入的解密密钥对所述私钥加密文件进行解密,得到所述第一公钥对应的第一私钥。
10.根据权利要求1-8中任一项所述的系统,其特征在于,所述签名设备具体用于:
调用区块链私钥公钥对生成软件,生成要对所述目标文件进行数字签名的签名者的第一私钥和第一公钥。
CN201810925018.0A 2018-08-14 2018-08-14 一种文件签名处理系统 Pending CN110826092A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810925018.0A CN110826092A (zh) 2018-08-14 2018-08-14 一种文件签名处理系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810925018.0A CN110826092A (zh) 2018-08-14 2018-08-14 一种文件签名处理系统

Publications (1)

Publication Number Publication Date
CN110826092A true CN110826092A (zh) 2020-02-21

Family

ID=69547299

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810925018.0A Pending CN110826092A (zh) 2018-08-14 2018-08-14 一种文件签名处理系统

Country Status (1)

Country Link
CN (1) CN110826092A (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111510445A (zh) * 2020-04-09 2020-08-07 杭州涂鸦信息技术有限公司 一种网络摄像机防盗刷方法、装置、设备、介质
CN111756545A (zh) * 2020-05-29 2020-10-09 中山大学深圳研究院 一种基于区块链数字签名技术的合同认证方法
CN112422290A (zh) * 2020-10-27 2021-02-26 中思博安科技(北京)有限公司 基于区块链的数据上链方法、装置及系统
CN112434279A (zh) * 2020-12-08 2021-03-02 北京万协通信息技术有限公司 一种基于嵌入式间账本的双向认证方法
CN112507391A (zh) * 2020-12-01 2021-03-16 杭州企达信息技术有限公司 基于区块链的电子签章方法、系统、装置及可读存储介质
CN113507509A (zh) * 2021-06-25 2021-10-15 中标慧安信息技术股份有限公司 基于区块链的物联网数据保密存储方法和系统
CN113761578A (zh) * 2021-09-10 2021-12-07 马治国 一种基于区块链的文书验真方法
CN115865362A (zh) * 2022-11-22 2023-03-28 北京航空航天大学 一种面向跨链的通用数字签名系统与方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104618107A (zh) * 2014-12-29 2015-05-13 广东信鉴信息科技有限公司 数字签名方法和系统
US20160218879A1 (en) * 2015-01-23 2016-07-28 Daniel Robert Ferrin Method and apparatus for the limitation of the mining of blocks on a block chain
CN106161037A (zh) * 2016-08-19 2016-11-23 北京小米移动软件有限公司 数字签名方法及装置
CN106485168A (zh) * 2016-10-17 2017-03-08 成都知道创宇信息技术有限公司 一种采用md5值验证合同文件是否被修改的方法
CN107832624A (zh) * 2017-10-25 2018-03-23 济南浪潮高新科技投资发展有限公司 一种基于区块链的可视化签名系统和方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104618107A (zh) * 2014-12-29 2015-05-13 广东信鉴信息科技有限公司 数字签名方法和系统
US20160218879A1 (en) * 2015-01-23 2016-07-28 Daniel Robert Ferrin Method and apparatus for the limitation of the mining of blocks on a block chain
CN106161037A (zh) * 2016-08-19 2016-11-23 北京小米移动软件有限公司 数字签名方法及装置
CN106485168A (zh) * 2016-10-17 2017-03-08 成都知道创宇信息技术有限公司 一种采用md5值验证合同文件是否被修改的方法
CN107832624A (zh) * 2017-10-25 2018-03-23 济南浪潮高新科技投资发展有限公司 一种基于区块链的可视化签名系统和方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
张立宪等: "《读库1802》", 30 April 2018 *

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111510445A (zh) * 2020-04-09 2020-08-07 杭州涂鸦信息技术有限公司 一种网络摄像机防盗刷方法、装置、设备、介质
CN111756545A (zh) * 2020-05-29 2020-10-09 中山大学深圳研究院 一种基于区块链数字签名技术的合同认证方法
CN112422290A (zh) * 2020-10-27 2021-02-26 中思博安科技(北京)有限公司 基于区块链的数据上链方法、装置及系统
CN112507391A (zh) * 2020-12-01 2021-03-16 杭州企达信息技术有限公司 基于区块链的电子签章方法、系统、装置及可读存储介质
CN112507391B (zh) * 2020-12-01 2024-01-30 杭州企达信息技术有限公司 基于区块链的电子签章方法、系统、装置及可读存储介质
CN112434279A (zh) * 2020-12-08 2021-03-02 北京万协通信息技术有限公司 一种基于嵌入式间账本的双向认证方法
CN113507509A (zh) * 2021-06-25 2021-10-15 中标慧安信息技术股份有限公司 基于区块链的物联网数据保密存储方法和系统
CN113761578A (zh) * 2021-09-10 2021-12-07 马治国 一种基于区块链的文书验真方法
WO2023035477A1 (zh) * 2021-09-10 2023-03-16 马治国 一种基于区块链的文书验真方法
CN115865362A (zh) * 2022-11-22 2023-03-28 北京航空航天大学 一种面向跨链的通用数字签名系统与方法
CN115865362B (zh) * 2022-11-22 2024-07-30 北京航空航天大学 一种面向跨链的通用数字签名系统与方法

Similar Documents

Publication Publication Date Title
CN110826092A (zh) 一种文件签名处理系统
CN107342867B (zh) 签名验签方法和装置
CN110225063B (zh) 汽车车载系统的升级方法、升级系统、服务器及车载终端
US8392709B1 (en) System and method for a single request—single response protocol with mutual replay attack protection
CN110830256A (zh) 一种文件签名方法、装置、电子设备及可读存储介质
CN106295407B (zh) 一种检测文件是否被篡改的方法及装置
CN110826091B (zh) 一种文件签名方法、装置、电子设备及可读存储介质
CN108734018B (zh) 认证方法、装置、系统和计算机可读存储介质
CN110830257B (zh) 一种文件签名方法、装置、电子设备及可读存储介质
US8341616B2 (en) Updating digitally signed active content elements without losing attributes associated with an original signing user
KR20080030359A (ko) 컴퓨팅 플랫폼의 설정 정보를 은닉하면서 무결성 보증을제공하는 방법
CN110826107A (zh) 一种文件签名方法、装置、电子设备及可读存储介质
US11943339B2 (en) Information processing apparatus, information processing method, and program
CN113225324B (zh) 区块链匿名账户创建方法、系统、设备及存储介质
CN109214146A (zh) 应用软件的签名方法、验签方法和装置
CN111598681A (zh) 信用评估方法、信用评估系统及可读存储介质
CN115514492A (zh) Bios固件验证方法、装置、服务器、存储介质和程序产品
CN110826034B (zh) 一种文件签名方法、装置、电子设备及可读存储介质
JP4208082B2 (ja) データ改ざん検出方法、データ改ざん検出装置及びデータ改ざん検出プログラム
CN111148213B (zh) 5g用户终端的注册方法、用户终端设备及介质
CN110602051B (zh) 基于共识协议的信息处理方法及相关装置
CN109756344B (zh) 一种文档的数字签名及其验证方法和装置
CN109905408B (zh) 网络安全防护方法、系统、可读存储介质及终端设备
CN101661573B (zh) 电子印章制章方法和电子印章使用方法
CN111079155A (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
RJ01 Rejection of invention patent application after publication

Application publication date: 20200221

RJ01 Rejection of invention patent application after publication