CN109687967B - 电子签名方法和设备 - Google Patents

电子签名方法和设备 Download PDF

Info

Publication number
CN109687967B
CN109687967B CN201710971647.2A CN201710971647A CN109687967B CN 109687967 B CN109687967 B CN 109687967B CN 201710971647 A CN201710971647 A CN 201710971647A CN 109687967 B CN109687967 B CN 109687967B
Authority
CN
China
Prior art keywords
key
file
public media
public
placing
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
CN201710971647.2A
Other languages
English (en)
Other versions
CN109687967A (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.)
Crosbil Ltd
Original Assignee
Crosbil 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 Crosbil Ltd filed Critical Crosbil Ltd
Priority to CN201710971647.2A priority Critical patent/CN109687967B/zh
Priority to EP18867546.6A priority patent/EP3700122B1/en
Priority to PCT/CN2018/084095 priority patent/WO2019076019A1/zh
Priority to JP2020542481A priority patent/JP7066863B2/ja
Priority to US16/757,424 priority patent/US11258613B2/en
Publication of CN109687967A publication Critical patent/CN109687967A/zh
Application granted granted Critical
Publication of CN109687967B publication Critical patent/CN109687967B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • H04L9/3239Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0637Modes of operation, e.g. cipher block chaining [CBC], electronic codebook [ECB] or Galois/counter mode [GCM]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0825Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/083Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0866Generation of secret information including derivation or calculation of cryptographic keys or passwords involving user or device identifiers, e.g. serial number, physical or biometrical information, DNA, hand-signature or measurable physical characteristics
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • H04L9/3242Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving keyed hash functions, e.g. message authentication codes [MACs], CBC-MAC or HMAC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees

Abstract

本发明公开了一种电子签名方法和设备。该电子签名方法包括对为用户创建的第一密钥和所述用户的用户标识求哈希;基于所得的哈希值、所述用户标识和当前密钥生成所述第一密钥的密钥证书;将所述密钥证书放置到公共媒体上,其中所述公共媒体能够确保公布在其上的信息不可篡改;使用所述第一密钥对文件进行签名并将所得的文件签名和所述文件放置到所述公共媒体上;以及在所述文件已存在于所述公共媒体上之后将所述第一密钥放置到所述公共媒体上。采用本公开内容的技术方案能够有效地利用密钥。

Description

电子签名方法和设备
技术领域
本发明涉及电子签名技术领域,尤其涉及一种电子签名方法和设备。
背景技术
随着电子信息技术和网络技术的飞速发展,人们越来越多地通过网络来传递信息。为了保证网上传递的信息的真实性、有效性和完整性,通常对所传递的信息进行电子签名。电子签名的一种最为普遍和成熟的实现方式是数字签名技术。数字签名技术是依靠密钥加密技术来实现的。现有数字签名技术主要有非对称密码技术、对称加密技术等等。目前广泛使用的是非对称密码技术。非对称密码技术采用了公钥和私钥对,利用了私钥在多项式时间内不易被破解的性质。然而量子计算机以及舒尔(Shor)算法的出现意味着此类方法的不可破解性质也并非安全。
现今人们已大量研究不易受量子计算攻击的签名模型和非对称密码术,但是收效甚微。其中基于格的密码术(lattice-based cryptography)似乎最具有前景,但是目前还尚不成熟。
通常情况下,在创建密钥的时候,会创建多个密钥,并为每个密钥确定一个公布时间,即在公布时间到时将密钥公布出来。这可能会存在密钥还未被使用但其公布时间已到而不得不将该密钥公布出来的问题,从而造成密钥的浪费。这里的公布时间是指释放密钥的时间,详见本发明人于2017年9月6日提交的申请号为PCT/CN2017/100685的PCT申请,该申请的全部内容通过引用而并入本文。
发明内容
鉴于上述技术问题,本公开内容提出了一种能够有效运用密钥的电子签名方法和设备。
在本公开内容的一个方面,提供了一种电子签名方法,其包括对为用户创建的第一密钥和所述用户的用户标识求哈希;基于所得的哈希值、所述用户标识和当前密钥生成所述第一密钥的密钥证书;将所述密钥证书放置到公共媒体上,其中所述公共媒体能够确保公布在其上的信息不可篡改;使用所述第一密钥对文件进行签名并将所得的文件签名和所述文件放置到所述公共媒体上;以及在所述文件已存在于所述公共媒体上之后将所述第一密钥放置到所述公共媒体上。
在一些实施方式中,所述公共媒体可以为区块链。
在一些实施方式中,所述公共媒体可以为由可信第三方操作的公告牌。
在一些实施方式中,所述公共媒体可以为只写数据库,并且写入所述只写数据库中的每个数据块不可撤回且在所有用户之间达成了共识。
在一些实施方式中,所述文件的数目可以为一个。
在一些实施方式中,在所述文件已存在于所述公共媒体上之后将所述第一密钥放置到所述公共媒体上可以进一步包括在所述文件已存在于所述公共媒体上之后,使用所述第一密钥对表明所述文件的数目的消息进行签名并将所得的消息签名和所述消息放置到所述公共媒体上;以及将所述第一密钥放置到所述公共媒体上。
在一些实施方式中,在所述文件已存在于所述公共媒体上之后将所述第一密钥放置到所述公共媒体上可以进一步包括在所述文件已存在于所述公共媒体上之后,使用所述第一密钥对表明不再使用所述第一密钥对文件进行签名的消息进行签名并将所得的消息签名和所述消息放置到所述公共媒体上;以及将所述第一密钥放置到所述公共媒体上。
在一些实施方式中,所述电子签名方法还可以包括在使用所述第一密钥对文件进行签名之前对所述密钥证书进行验证。
在本公开内容的另一方面,还提供了一种电子签名设备,其包括公共媒体和处理器,其中所述公共媒体能够确保公布在其上的信息不可篡改,并且所述处理器可以用于:对为用户创建的第一密钥和所述用户的用户标识求哈希;基于所得的哈希值、所述用户标识和当前密钥生成所述第一密钥的密钥证书;将所述密钥证书放置到所述公共媒体上;使用所述第一密钥对文件进行签名并将所得的文件签名和所述文件放置到所述公共媒体上;以及在所述文件已存在于所述公共媒体上之后将所述第一密钥放置到所述公共媒体上。
在一些实施方式中,所述公共媒体可以为区块链。
在一些实施方式中,所述公共媒体可以为由可信第三方操作的公告牌。
在一些实施方式中,所述公共媒体可以为只写数据库,并且写入所述只写数据库中的每个数据块不可撤回且在所有用户之间达成了共识。
在一些实施方式中,所述文件的数目可以为一个。
在一些实施方式中,在所述文件已存在于所述公共媒体上之后将所述第一密钥放置到所述公共媒体上可以进一步包括在所述文件已存在于所述公共媒体上之后,使用所述第一密钥对表明所述文件的数目的消息进行签名并将所得的消息签名和所述消息放置到所述公共媒体上;以及将所述第一密钥放置到所述公共媒体上。
在一些实施方式中,在所述文件已存在于所述公共媒体上之后将所述第一密钥放置到所述公共媒体上可以进一步包括在所述文件已存在于所述公共媒体上之后,使用所述第一密钥对表明不再使用所述第一密钥对文件进行签名的消息进行签名并将所得的消息签名和所述消息放置到所述公共媒体上;以及将所述第一密钥放置到所述公共媒体上。
在一些实施方式中,所述处理器还可以用于在使用所述第一密钥对文件进行签名之前对所述密钥证书进行验证。
在本公开内容的再一方面,还提供了一种机器可读存储介质,其上存储有计算机程序,其中所述计算机程序在由处理器执行时实现如上文所述的电子签名方法。
与现有技术相比,本公开内容的有益效果为:
首先,本公开内容的技术方案是将密钥证书放置到公共媒体上,而密钥证书是基于第一密钥与用户标识的哈希值、所述用户标识和当前密钥而生成的,并未涉及第一密钥的公布时间。用户可以使用第一密钥对文件进行签名,待看到所签名的文件存在于公共媒体上之后,才将第一密钥放置到公共媒体上,即公布出来,从而使得第一密钥的公布不受限于其公布时间,避免了诸如第一密钥等密钥尚未被使用但因其公布时间已到而不得不将该第一密钥公布出来的情况,因此能够有效运用密钥而不会造成密钥浪费。
其次,由于依据本公开内容的一个技术方案中文件的数目为一个,这表明一个密钥仅用来对一个文件进行签名,如果还有其他用该密钥进行签名的文件则必定是假冒的,从而可以解决密钥被放置到公共媒体上的过程中因被劫持而窃用的情况。在文件的数目为不止一个的情况下,依据本公开内容的另一技术方案可以在将第一密钥放置到公共媒体上之前,将表明所签名的文件的数目的消息或者不再使用该第一密钥进行签名的消息放置到公共媒体上,从而可以通过使在此之后用该第一密钥进行签名的文件不会被接受来解决第一密钥被放置到公共媒体上的过程中因被劫持而窃用的情况。
附图说明
在所附权利要求书中具体阐述了本发明的新颖特征。通过参考对在其中利用到本发明原理的说明性实施方式加以阐述的以下详细描述和附图,将会对本发明的特征和优点获得更好的理解。附图仅用于示出实施方式的目的,而并不应当认为是对本发明的限制。而且在整个附图中,用相同的附图标记表示相同的元素,在附图中:
图1示出了依据本公开内容示例性实施方式的电子签名方法的流程图;以及
图2示出了依据本公开内容示例性实施方式的电子签名设备的结构示意图。
具体实施方式
下面将参照附图更详细地描述本公开内容的示例性实施方式。虽然附图中显示了本公开内容的示例性实施方式,然而应当理解,可以以各种形式实现本公开内容而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了能够更透彻地理解本公开内容,并且能够将本公开内容的范围完整地传达给本领域技术人员。在以下详细描述中没有任何内容旨在表明任何特定组件、特征或步骤对于本发明是必不可少的。本领域技术人员将会理解,在不脱离本公开内容的范围内各种特征或步骤可以彼此替代或结合。
图1示出了依据本公开内容示例性实施方式的电子签名方法的流程图。如图1所示,一种电子签名方法可以包括以下步骤:
步骤S101:对为用户创建的第一密钥和所述用户的用户标识求哈希;
步骤S102:基于所得的哈希值、所述用户标识和当前密钥生成所述第一密钥的密钥证书;
步骤S103:将所述密钥证书放置到公共媒体上,其中所述公共媒体能够确保公布在其上的信息不可篡改;
步骤S104:使用所述第一密钥对文件进行签名并将所得的文件签名和所述文件放置到所述公共媒体上;以及
步骤S105:在所述文件已存在于所述公共媒体上之后,将所述第一密钥放置到所述公共媒体上。
由上述可知,依据本公开内容示例性实施方式的电子签名方法首先对第一密钥和用户标识求哈希,然后再基于所得的哈希值、用户标识和当前密钥生成第一密钥的密钥证书。这里的第一密钥可以指为用户新创建的任何密钥,其可以由用户自己创建,也可以由可信第三方创建,或者采用本领域现在已知或者将来可知的任何方式创建,本发明在此方面并不作出限制。这里的当前密钥可以是指用户当前使用的有效密钥,其可以是由可信第三方签名的初始密钥,也可以是在第一密钥创建之前创建的密钥。假定第一密钥为密钥k,且密钥k所属用户的用户标识为A,则对密钥k和用户标识A求哈希,即hash(A,k)。第一密钥的密钥证书是基于hash(A,k)、用户标识A和当前密钥k0生成的,换言之,其是用当前密钥k0对用户标识A和hash(A,k)(即,(A,hash(A,k)))进行签名而得到的。在第一密钥的密钥证书放置到公共媒体上之后,用户就可以使用第一密钥对文件进行签名了,待看到所签名的文件已在公共媒体上之后用户就可以将第一密钥放置到公共媒体上,即公布出来。由于第一密钥的密钥证书的生成并未涉及到第一密钥的公布时间,并且第一密钥是待看到所签名的文件存在于公共媒体上之后才被放置到公共媒体上的,因而第一密钥的公布并不受限于其公布时间,从而避免了第一密钥尚未被使用但因其公布时间已到而不得不将第一密钥公布出来的情况,因此能够有效运用密钥而不会造成密钥浪费。
在一些实施方式中,公共媒体可以为区块链。众所周知区块链是将数据以一系列区块的方式按时间顺序相连形成的一种链式数据结构,并且还是以密码学方式保证数据的不可篡改和不可伪造的分布式账本。区块链利用诸如哈希和签名等加密技术以及共识算法建立信任机制,让抵赖、篡改和欺诈行为的成本巨大,保证了数据的不可篡改和不可伪造。可以认识到,区块链可以采用本领域现在已知或者将来可知的任何方式来实现,例如比特币(Bitcoin)、以太坊(Ethereum)等等。
在另一些实施方式中,公共媒体可以为由可信第三方(TTP,trusted thirdparty)操作的公告牌(BBS,bulletin board system),也就是说由可信第三方来保证公布于BBS上的数据的不可篡改性,其中TTP是通过法律、行政、商业等等途径得到可信资质,接受有关国家管理部门的监督,为各种系统提供维护运行服务的机构。在又一些实施方式中,公共媒体可以为只写数据库,并且写入该只写数据库中的每个数据块不可撤回且在所有用户之间达成了共识。该只写数据库表示只能向其中写入数据的数据库。达成共识表示在所有用户之间都认可写入的数据的真实性,是未经篡改的。可以理解,公共媒体可以采用本领域已知的任何方式来实现,只要能够保证不可篡改即可,本发明在此方面并不作出限制。
在一些实施方式中,所述文件的数目可以为一个,即表明一个密钥仅用来对一个文件进行签名,如果还有其他用该密钥进行签名的文件则必定是假冒的,从而可以解决密钥被放置到公共媒体上的过程中因被劫持而窃用的情况。在一些情况下,可以使公共媒体仅接受第一个用该密钥进行签名的文件,这样即使在密钥k被放置到公共媒体的过程中被用户B劫持了,并且用户B用该密钥k对文件b进行了签名并向公共媒体上放置,公共媒体检查发现其上已经存在一个用密钥k进行签名的文件,则会拒绝存放文件b。例如,可以通过区块链的共识机制来防止对密钥k的二次使用。
对于用密钥k(第一密钥)对不止一个文件进行了签名的情况,在一些实施方式中,步骤S105在所述文件已存在于所述公共媒体上之后,将所述第一密钥放置到所述公共媒体上可以进一步包括:在所述文件已存在于所述公共媒体上之后,使用所述第一密钥对表明所述文件的数目的消息进行签名并将所得的消息签名和所述消息放置到所述公共媒体上;以及将所述第一密钥放置到所述公共媒体上。
由此可知,假定用户使用密钥k对若干个文件进行了签名,当看到这些文件都已存在于公共媒体上之后,用户使用密钥k对表明文件的数目的消息进行签名并将所得的消息签名和所述消息放置到公共媒体上,在这之后再将密钥k放置到公共媒体上。对于表明文件的数目的消息,即该消息中包含有关于用密钥k对多少个文件进行了签名的信息,例如,假定用户Alice(用户标识为A)用密钥k对23个文件进行了签名,则该消息可以为“Alice hassigned 23files with hash(A,k)(对于hash(A,k),爱丽丝已经对23个文件进行了签名)”。本领域技术人员可以理解,对于表明文件的数目的消息,可以采用本领域现在已知或者将来可知的任何方式来实现,只要能够表明文件的数目即可,本发明在此方面并不作出限制。诸如区块链和/或公告牌等公共媒体可以计算其上与hash(A,k)相关的文件数目,并将所计算的文件数目与上面消息中的数字进行比较,如果相等则接受向其上放置的密钥k,并且拒绝接受该消息之后的那些用密钥k进行签名的文件,这例如可以通过区块链和/或公告牌的一旦写入且达成共识就不可改变且永久存在的性质来实现。
对于用密钥k(第一密钥)对不止一个文件进行了签名的情况,在另一些实施方式中,步骤S105在所述文件已存在于所述公共媒体上之后,将所述第一密钥放置到所述公共媒体上还可以进一步包括:在所述文件已存在于所述公共媒体上之后,使用所述第一密钥对表明不再使用所述第一密钥对文件进行签名的消息进行签名并将所得的消息签名和所述消息放置到所述公共媒体上;以及将所述第一密钥放置到所述公共媒体上。换言之,在用密钥k签名的所有文件都已在公共媒体上之后,且在将密钥k放置到公共媒体上之前,将会用密钥k对表明不再使用密钥k对文件进行签名的消息进行签名并将该消息和所得的消息签名放置到公共媒体上,其中该消息例如可以为“No more signatures with hash(A,k)(不再有与hash(A,k)有关的签名)”,从而可以解决密钥被放置到公共媒体上的过程中因被劫持而窃用的情况。对于表明不再使用密钥k对文件进行签名的消息,可以采用本领域现在已知或者将来可知的任何方式来实现,只要能够表明不再使用密钥k即可,本发明在此方面并不作出限制。
在一些实施方式中,依据本公开内容示例性实施方式的电子签名方法还可以包括在使用所述第一密钥对文件进行签名之前对所述密钥证书进行验证。对密钥证书进行验证的目的是为了证明第一密钥确实为该用户所有。通常情况下,用户的初始密钥可以由可信第三方签名,因此初始密钥可以得到验证。随后创建的密钥可由此前创建的密钥进行签名。例如第n个密钥由第n-1个密钥进行签名,这些签名都公布在公共媒体上。在第n-1个密钥公布之后,其他用户即可验证第n个密钥的签名,从而验证第n个密钥的密钥证书。举例而言,在当前密钥k0公布之后,其他用户就可以利用当前密钥k0来验证第一密钥的密钥证书,即验证该用户的身份。
图2示出了依据本公开内容示例性实施方式的电子签名设备的结构示意图。如图2所示,该电子签名设备可以包括公共媒体201和处理器202,其中公共媒体201能够确保公布在其上的信息不可篡改,并且处理器202可以用于:对为用户创建的第一密钥和所述用户的用户标识求哈希;基于所得的哈希值、所述用户标识和当前密钥生成所述第一密钥的密钥证书;将所述密钥证书放置到公共媒体201上,其中所述公共媒体201能够确保公布在其上的信息不可篡改;使用所述第一密钥对文件进行签名并将所得的文件签名和所述文件放置到所述公共媒体201上;以及在所述文件已存在于所述公共媒体201上之后将所述第一密钥放置到所述公共媒体201上。
由上述可知,依据本公开内容示例性实施方式的电子签名设备首先对第一密钥和用户标识求哈希,然后再基于所得的哈希值、用户标识和当前密钥生成第一密钥的密钥证书。这里的第一密钥可以指为用户新创建的任何密钥,其可以由用户自己创建,也可以由可信第三方创建,或者采用本领域现在已知或者将来可知的任何方式创建,本发明在此方面并不作出限制。这里的当前密钥可以是指用户当前使用的有效密钥,其可以是由可信第三方签名的初始密钥,也可以是在第一密钥创建之前创建的密钥。假定第一密钥为密钥k,且密钥k所属用户的用户标识为A,则对密钥k和用户标识A求哈希,即hash(A,k)。第一密钥的密钥证书是基于hash(A,k)、用户标识A和当前密钥k0生成的,换言之,其是用当前密钥k0对用户标识A和hash(A,k)进行签名而得到的。在第一密钥的密钥证书放置到公共媒体201上之后,用户就可以使用第一密钥对文件进行签名了,待看到所签名的文件已在公共媒体201上之后用户就可以将第一密钥放置到公共媒体201上,即公布出来。由于第一密钥的密钥证书的生成并未涉及到第一密钥的公布时间,并且第一密钥是待看到所签名的文件存在于公共媒体201上之后才被放置到公共媒体201上的,因而第一密钥的公布并不受限于其公布时间,从而避免了第一密钥尚未被使用但因其公布时间已到而不得不将第一密钥公布出来的情况,因此能够有效运用密钥而不会造成密钥浪费。
在一些实施方式中,公共媒体201可以为区块链。众所周知区块链是将数据以一系列区块的方式按时间顺序相连形成的一种链式数据结构,并且还是以密码学方式保证数据的不可篡改和不可伪造的分布式账本。区块链利用诸如哈希和签名等加密技术以及共识算法建立信任机制,让抵赖、篡改和欺诈行为的成本巨大,保证了数据的不可篡改和不可伪造。可以认识到,区块链可以采用本领域现在已知或者将来可知的任何方式来实现,例如比特币、以太坊等等。
在另一些实施方式中,公共媒体201可以为由可信第三方(TTP,trusted thirdparty)操作的公告牌(BBS,bulletin board system),也就是说由可信第三方来保证公布于BBS上的数据的不可篡改性,其中TTP是通过法律、行政、商业等等途径得到可信资质,接受有关国家管理部门的监督,为各种系统提供维护运行服务的机构。在又一些实施方式中,公共媒体201可以为只写数据库,并且写入该只写数据库中的每个数据块不可撤回且在所有用户之间达成了共识。该只写数据库表示只能向其中写入数据的数据库。达成共识表示在所有用户之间都认可写入的数据的真实性,是未经篡改的。可以理解,公共媒体201可以采用本领域已知的任何方式来实现,只要能够保证不可篡改即可,本发明在此方面并不作出限制。
在一些实施方式中,所述文件的数目可以为一个,即表明一个密钥仅用来对一个文件进行签名,如果还有其他用该密钥进行签名的文件则必定是假冒的,从而可以解决密钥被放置到公共媒体201上的过程中因被劫持而窃用的情况。在一些情况下,可以使公共媒体201仅接受第一个用该密钥k进行签名的文件,这样即使在密钥k被放置到公共媒体201的过程中被用户B劫持了,并且用户B用该密钥k对文件b进行了签名并向公共媒体201上放置,公共媒体201检查发现其上已经存在一个用密钥k进行签名的文件,则会拒绝存放文件b。例如,可以通过区块链的共识机制来防止对密钥k的二次使用。
对于用密钥k(第一密钥)对不止一个文件进行了签名的情况,在一些实施方式中,在所述文件已存在于所述公共媒体201上之后,将所述第一密钥放置到所述公共媒体201上可以进一步包括:在所述文件已存在于所述公共媒体201上之后,使用所述第一密钥对表明所述文件的数目的消息进行签名并将所得的消息签名和所述消息放置到所述公共媒体201上;以及将所述第一密钥放置到所述公共媒体201上。
由此可知,假定用户使用密钥k(第一密钥)对若干个文件进行了签名,当看到这些文件都已存在于公共媒体201上之后,用户使用密钥k对表明文件的数目的消息进行签名并将所得的消息签名和所述消息放置到公共媒体201上,在这之后再将密钥k放置到公共媒体201上。对于表明文件的数目的消息,即该消息中包含有关于用密钥k对多少个文件进行了签名的信息,例如,假定用户Alice(用户标识为A)用密钥k对23个文件进行了签名,则该消息可以为“Alice has signed 23files with hash(A,k)(对于hash(A,k),爱丽丝已经对23个文件进行了签名)”。本领域技术人员可以理解,对于表明文件的数目的消息,可以采用本领域现在已知或者将来可知的任何方式来实现,只要能够表明文件的数目即可,本发明在此方面并不作出限制。诸如区块链和/或公告牌等公共媒体201可以计算其上与hash(A,k)相关的文件数目,并将所计算的文件数目与上面消息中的数字进行比较,如果相等则接受向其上放置的密钥k,并且拒绝接受该消息之后的那些用密钥k进行签名的文件,这例如可以通过区块链和/或公告牌的一旦写入且达成共识就不可改变且永久存在的性质来实现。
对于用密钥k(第一密钥)对不止一个文件进行了签名的情况,在另一些实施方式中,在所述文件已存在于所述公共媒体201上之后,将所述第一密钥放置到所述公共媒体201上还可以进一步包括:在所述文件已存在于所述公共媒体201上之后,使用所述第一密钥对表明不再使用所述第一密钥对文件进行签名的消息进行签名并将所得的消息签名和所述消息放置到所述公共媒体201上;以及将所述第一密钥放置到所述公共媒体201上。换言之,在用密钥k签名的所有文件都已在公共媒体201上之后,且在将密钥k放置到公共媒体201上之前,将会用密钥k对表明不再使用密钥k对文件进行签名的消息进行签名并将该消息和所得的消息签名放置到公共媒体201上,其中该消息例如可以为“No more signatureswith hash(A,k)(不再有与hash(A,k)有关的签名)”,从而可以解决密钥被放置到公共媒体上的过程中因被劫持而窃用的情况。对于表明不再使用密钥k对文件进行签名的消息,可以采用本领域现在已知或者将来可知的任何方式来实现,只要能够表明不再使用密钥k即可,本发明在此方面并不作出限制。
在一些实施方式中,处理器202还可以用于在使用所述第一密钥对文件进行签名之前对所述密钥证书进行验证。对密钥证书进行验证的目的是为了证明第一密钥确实为该用户所有。通常情况下,用户的初始密钥可以由可信第三方签名,因此初始密钥可以得到验证。随后创建的密钥可由此前创建的密钥进行签名。例如第n个密钥由第n-1个密钥进行签名,这些签名都公布在公共媒体201上。在第n-1个密钥公布之后,其他用户即可验证第n个密钥哈希值的签名,从而验证第n个密钥的密钥证书。举例而言,在当前密钥k0公布之后,其他用户就可以利用当前密钥k0来验证第一密钥的密钥证书,即验证该用户的身份。
总的来说,采用本公开内容的技术方案,是在看到用第一密钥进行签名的文件都已在公共媒体201上之后,才将第一密钥放置到公共媒体201上。这样用户可以自行决定用一个密钥对多少个文件进行签名,并且可以在不想用这个密钥的时候,再创建另一个密钥,即创建一个密钥,使用该密钥,然后再创建另一个密钥,接着使用该另一个密钥等等,而不必预先创建多个密钥。
在本公开内容的一个方面,还提供了一种机器可读存储介质,该机器可读存储介质上存储有计算机程序,其中所述计算机程序在由处理器执行时实现上文所描述的电子签名方法。对于电子签名方法的技术方案,在上文已经进行了详细描述,在此不再赘述。在一些实施方式中,机器可读存储介质是数字处理设备的有形组件。在另一些实施方式中,机器可读存储介质可选地是可从数字处理设备移除的。在一些实施方式中,举非限制性示例而言,机器可读存储介质可以包括U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、闪速存储器、可编程只读存储器(PROM)、可擦除可编程只读存储器(EPROM)、固态存储器、磁碟、光盘、云计算系统或服务等。
应当理解,本公开内容的方法实施方式中记载的各个步骤可以按照不同的顺序执行,和/或并行执行。此外,方法实施方式可以包括附加的步骤和/或省略执行示出的步骤。本发明的范围在此方面不受限制。
在本文所提供的说明书中,说明了大量具体细节。然而,应当理解,本公开内容的实施方式可以在没有这些具体细节的情况下实践。在一些实施方式中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
虽然本文已经示出和描述了本发明的示例性实施方式,但对于本领域技术人员显而易见的是,这样的实施方式只是以示例的方式提供的。本领域技术人员现将会在不偏离本发明的情况下想到许多更改、改变和替代。应当理解,在实践本发明的过程中可以采用对本文所描述的本发明实施方式的各种替代方案。以下权利要求旨在限定本发明的范围,并因此覆盖这些权利要求范围内的方法和结构及其等同项。

Claims (15)

1.一种电子签名方法,包括:
对为用户创建的第一密钥和所述用户的用户标识求哈希;
基于所得的哈希值、所述用户标识和当前密钥生成所述第一密钥的密钥证书;
将所述密钥证书放置到公共媒体上,其中所述公共媒体能够确保公布在其上的信息不可篡改;
使用所述第一密钥对文件进行签名并将所得的文件签名和所述文件放置到所述公共媒体上;以及
在所述文件已存在于所述公共媒体上之后将所述第一密钥放置到所述公共媒体上;
其中在所述文件已存在于所述公共媒体上之后将所述第一密钥放置到所述公共媒体上进一步包括:
在所述文件已存在于所述公共媒体上之后,使用所述第一密钥对表明所述文件的数目的消息进行签名并将所得的消息签名和所述消息放置到所述公共媒体上;以及
将所述第一密钥放置到所述公共媒体上。
2.如权利要求1所述的电子签名方法,其中所述公共媒体为区块链。
3.如权利要求1所述的电子签名方法,其中所述公共媒体为由可信第三方操作的公告牌。
4.如权利要求1所述的电子签名方法,其中所述公共媒体为只写数据库,并且写入所述只写数据库中的每个数据块不可撤回且在所有用户之间达成了共识。
5.如权利要求1至4中任一项所述的电子签名方法,其中所述文件的数目为一个。
6.如权利要求1至4中任一项所述的电子签名方法,其中在所述文件已存在于所述公共媒体上之后将所述第一密钥放置到所述公共媒体上进一步包括:
在所述文件已存在于所述公共媒体上之后,使用所述第一密钥对表明不再使用所述第一密钥对文件进行签名的消息进行签名并将所得的消息签名和所述消息放置到所述公共媒体上;以及
将所述第一密钥放置到所述公共媒体上。
7.如权利要求1至4中任一项所述的电子签名方法,还包括在使用所述第一密钥对文件进行签名之前对所述密钥证书进行验证。
8.一种电子签名设备,包括公共媒体和处理器,其中所述公共媒体能够确保公布在其上的信息不可篡改,并且所述处理器用于:
对为用户创建的第一密钥和所述用户的用户标识求哈希;
基于所得的哈希值、所述用户标识和当前密钥生成所述第一密钥的密钥证书;
将所述密钥证书放置到所述公共媒体上;
使用所述第一密钥对文件进行签名并将所得的文件签名和所述文件放置到所述公共媒体上;以及
在所述文件已存在于所述公共媒体上之后将所述第一密钥放置到所述公共媒体上;
其中在所述文件已存在于所述公共媒体上之后将所述第一密钥放置到所述公共媒体上进一步包括:
在所述文件已存在于所述公共媒体上之后,使用所述第一密钥对表明所述文件的数目的消息进行签名并将所得的消息签名和所述消息放置到所述公共媒体上;以及
将所述第一密钥放置到所述公共媒体上。
9.如权利要求8所述的电子签名设备,其中所述公共媒体为区块链。
10.如权利要求8所述的电子签名设备,其中所述公共媒体为由可信第三方操作的公告牌。
11.如权利要求8所述的电子签名设备,其中所述公共媒体为只写数据库,并且写入所述只写数据库中的每个数据块不可撤回且在所有用户之间达成了共识。
12.如权利要求8至11中任一项所述的电子签名设备,其中所述文件的数目为一个。
13.如权利要求8至11中任一项所述的电子签名设备,其中在所述文件已存在于所述公共媒体上之后将所述第一密钥放置到所述公共媒体上进一步包括:
在所述文件已存在于所述公共媒体上之后,使用所述第一密钥对表明不再使用所述第一密钥对文件进行签名的消息进行签名并将所得的消息签名和所述消息放置到所述公共媒体上;以及
将所述第一密钥放置到所述公共媒体上。
14.如权利要求8至11中任一项所述的电子签名设备,其中所述处理器还用于在使用所述第一密钥对文件进行签名之前对所述密钥证书进行验证。
15.一种机器可读存储介质,其上存储有计算机程序,其中所述计算机程序在由处理器执行时实现如权利要求1至7中任一项所述的电子签名方法。
CN201710971647.2A 2017-10-18 2017-10-18 电子签名方法和设备 Active CN109687967B (zh)

Priority Applications (5)

Application Number Priority Date Filing Date Title
CN201710971647.2A CN109687967B (zh) 2017-10-18 2017-10-18 电子签名方法和设备
EP18867546.6A EP3700122B1 (en) 2017-10-18 2018-04-23 Method and device for electronic signature
PCT/CN2018/084095 WO2019076019A1 (zh) 2017-10-18 2018-04-23 电子签名方法和设备
JP2020542481A JP7066863B2 (ja) 2017-10-18 2018-04-23 電子署名方法及び装置
US16/757,424 US11258613B2 (en) 2017-10-18 2018-04-23 Method and device for electronic signature

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710971647.2A CN109687967B (zh) 2017-10-18 2017-10-18 电子签名方法和设备

Publications (2)

Publication Number Publication Date
CN109687967A CN109687967A (zh) 2019-04-26
CN109687967B true CN109687967B (zh) 2022-02-08

Family

ID=66173526

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710971647.2A Active CN109687967B (zh) 2017-10-18 2017-10-18 电子签名方法和设备

Country Status (5)

Country Link
US (1) US11258613B2 (zh)
EP (1) EP3700122B1 (zh)
JP (1) JP7066863B2 (zh)
CN (1) CN109687967B (zh)
WO (1) WO2019076019A1 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110378133B (zh) * 2019-06-28 2023-05-05 深圳市元征科技股份有限公司 一种文件保护方法、装置、电子设备及存储介质
CN112583603B (zh) * 2020-12-08 2022-07-12 上海市数字证书认证中心有限公司 可视化签名方法、装置、电子设备和计算机可读存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1784643A (zh) * 2003-06-04 2006-06-07 国际商业机器公司 用于控制信息公开时间的方法及系统
WO2017065389A1 (ko) * 2015-10-16 2017-04-20 (주)코인플러그 블록체인을 기반으로 하는 공인인증서 발급시스템과 이를 이용한 블록체인을 기반으로 하는 공인인증서 발급방법 및 블록체인을 기반으로 하는 공인인증서 인증시스템과 이를 이용한 블록체인을 기반으로 하는 공인인증서 인증방법
CN106789041A (zh) * 2017-02-15 2017-05-31 江苏信源久安信息科技有限公司 一种去中心化证书可信区块链方法
CN107171806A (zh) * 2017-05-18 2017-09-15 北京航空航天大学 基于区块链的移动终端网络密钥协商方法

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1018239A4 (en) 1997-09-22 2005-07-13 Proofspace Inc METHOD AND SYSTEM FOR DIGITAL HORODATORS WITH TRANSIENT KEYS
DE602006006454D1 (de) 2006-10-10 2009-06-04 Ntt Docomo Inc Verfahren und Vorrichtung zur Authentifizierung
JP5459176B2 (ja) 2010-04-07 2014-04-02 株式会社デンソー 無線通信装置およびデータ通信装置
US20120250865A1 (en) * 2011-03-23 2012-10-04 Selerity, Inc Securely enabling access to information over a network across multiple protocols
JP2012248915A (ja) 2011-05-25 2012-12-13 Takeshi Mizunuma 識別名管理システム
US9106611B2 (en) 2012-06-27 2015-08-11 GM Global Technology Operations LLC Method for efficient message verification on resource-constrained platforms for real-time tracking applications
AU2016288644A1 (en) * 2015-07-02 2018-02-22 Nasdaq, Inc. Systems and methods of secure provenance for distributed transaction databases
CN105592098B (zh) * 2016-01-16 2018-09-14 杭州复杂美科技有限公司 区块链上的投票及ca证书的管理方法
US10108812B2 (en) * 2016-01-28 2018-10-23 Nasdaq, Inc. Systems and methods for securing and disseminating time sensitive information using a blockchain
US10063529B2 (en) * 2016-03-28 2018-08-28 Accenture Global Solutions Limited Secure 3D model sharing using distributed ledger
US20200394652A1 (en) * 2017-03-08 2020-12-17 Ip Oversight Corporation A method for creating commodity assets from unrefined commodity reserves utilizing blockchain and distributed ledger technology
CN107196966B (zh) * 2017-07-05 2020-04-14 北京信任度科技有限公司 基于区块链的多方信任的身份认证方法和系统
CN107508686B (zh) * 2017-10-18 2020-07-03 克洛斯比尔有限公司 身份认证方法和系统以及计算设备和存储介质

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1784643A (zh) * 2003-06-04 2006-06-07 国际商业机器公司 用于控制信息公开时间的方法及系统
WO2017065389A1 (ko) * 2015-10-16 2017-04-20 (주)코인플러그 블록체인을 기반으로 하는 공인인증서 발급시스템과 이를 이용한 블록체인을 기반으로 하는 공인인증서 발급방법 및 블록체인을 기반으로 하는 공인인증서 인증시스템과 이를 이용한 블록체인을 기반으로 하는 공인인증서 인증방법
CN106789041A (zh) * 2017-02-15 2017-05-31 江苏信源久安信息科技有限公司 一种去中心化证书可信区块链方法
CN107171806A (zh) * 2017-05-18 2017-09-15 北京航空航天大学 基于区块链的移动终端网络密钥协商方法

Also Published As

Publication number Publication date
JP7066863B2 (ja) 2022-05-13
EP3700122B1 (en) 2023-09-06
JP2020537859A (ja) 2020-12-24
EP3700122A1 (en) 2020-08-26
US11258613B2 (en) 2022-02-22
EP3700122A4 (en) 2021-06-23
US20200344064A1 (en) 2020-10-29
CN109687967A (zh) 2019-04-26
WO2019076019A1 (zh) 2019-04-25

Similar Documents

Publication Publication Date Title
CN107342867B (zh) 签名验签方法和装置
CN107196966B (zh) 基于区块链的多方信任的身份认证方法和系统
CN108111314B (zh) 数字证书的生成和校验方法及设备
CN111130795B (zh) 一种基于区块链技术的多级签名方法
CN111027036B (zh) 一种基于区块链的身份关联方法
CN108696356B (zh) 一种基于区块链的数字证书删除方法、装置及系统
GB2487503A (en) Authentication of digital files and associated identities using biometric information
CN106897761A (zh) 一种二维码生成方法及装置
CN111130770A (zh) 基于区块链的信息存证方法、系统、用户终端、电子设备及存储介质
CN108768975A (zh) 支持密钥更新和第三方隐私保护的数据完整性验证方法
CN111815321A (zh) 交易提案的处理方法、装置、系统、存储介质和电子装置
CN104601563B (zh) 基于mle的可公开验证云存储数据持有性的方法
CN109687967B (zh) 电子签名方法和设备
CN113761578A (zh) 一种基于区块链的文书验真方法
CN108540447B (zh) 一种基于区块链的证书验证方法及系统
CN110417555A (zh) 一种个人电子签名的安全加密方法和系统
US20210281417A1 (en) Methods and devices for generating and verifying passwords
CN111984959B (zh) 一种匿名信息发布及验证方法、装置
CN108664814A (zh) 一种基于代理的群组数据完整性验证方法
CN110781526A (zh) 数字奖章创建方法、装置、电子设备及介质
CN116069856A (zh) 一种基于区块链的数据完整性验证方法及系统
CN115118433A (zh) 客户授权方法及装置、隐私保护集合交集计算方法及装置
CN112307445B (zh) 一种基于区块链的身份管理方法及装置
CN105119921B (zh) 适用于服务器集群的可追踪电子签章管理方法
CN115299010A (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
GR01 Patent grant
GR01 Patent grant