CN110198214A - 身份标识生成方法、验证方法及装置 - Google Patents
身份标识生成方法、验证方法及装置 Download PDFInfo
- Publication number
- CN110198214A CN110198214A CN201910473978.2A CN201910473978A CN110198214A CN 110198214 A CN110198214 A CN 110198214A CN 201910473978 A CN201910473978 A CN 201910473978A CN 110198214 A CN110198214 A CN 110198214A
- Authority
- CN
- China
- Prior art keywords
- character string
- identity
- private key
- equipment
- obtains
- 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.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key 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/0825—Key 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0866—Generation 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3247—Cryptographic 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3263—Cryptographic 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 certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Mobile Radio Communication Systems (AREA)
- Storage Device Security (AREA)
Abstract
本申请实施例提供了一种身份标识生成方法、验证方法及装置,该方法包括:获取第一设备的用于表征第一设备身份的身份数据,并用身份数据组成第一字符串;利用不对称加密算法对第一字符串进行处理,获得第一字符串的私钥;根据第一字符串的私钥以及身份数据,得到第二字符串;对第二字符串进行加密处理得到第三字符串;从第三字符串中提取连续的预设数量个字符作为标识符,其中,预设数量为能反映标识符唯一性的数量;利用第一字符串的私钥对第三字符串进行数字签名,得到签名字段;将第一字符串、标识符以及签名字段串联作为第一设备的身份标识。生成第一设备的身份标识,然后再将身份标识在不同的平台间传递,利于设备的统一识别。
Description
技术领域
本申请涉及物联网技术领域,具体而言,涉及一种身份标识生成方法、验证方法及装置。
背景技术
在物联网领域,由于各个设备厂商通常是基于某个平台进行物联网设备的开发,因此物联网设备通常不能在另外的平台被识别和互联,使得不同的设备厂商的设备在平台间无法进行统一识别后再进行互联。
发明内容
有鉴于此,本申请实施例提供了一种身份标识生成方法、验证方法及装置,以改善现有技术中不同的设备厂商的设备在平台间无法统一识别的问题。
第一方面,本申请实施例提供了一种身份标识生成方法,所述方法包括:获取第一设备的用于表征第一设备身份的身份数据,并用所述身份数据组成第一字符串;利用不对称加密算法对所述第一字符串进行处理,获得所述第一字符串的私钥;根据所述第一字符串的私钥以及所述身份数据,得到第二字符串;对所述第二字符串进行加密处理得到第三字符串;从所述第三字符串中提取连续的预设数量个字符作为标识符,其中,所述预设数量为能反映所述标识符唯一性的数量;利用所述第一字符串的私钥对所述第三字符串进行数字签名,得到签名字段;将所述第一字符串、标识符以及签名字段串联作为所述第一设备的身份标识。
在上述实施方式中,先利用第一设备的身份数据组成第一字符串,然后通过不对称加密算法依据第一字符串生成私钥,根据私钥和身份数据得到第二字符串,然后再对第二字符串进行加密处理得到第三字符串。根据第三字符串分别生成标识符和签名字段,然后再将第一字符串、标识符以及签名字段串联组成第一设备的身份标识。通过上述方式生成的第一设备的身份标识包含着第一设备的相关信息,然后再将表征第一设备的身份标识在不同的平台间传递,利于不同的设备厂商的设备在平台间进行统一识别。
在一个可能的设计中,所述身份数据包括厂商标识和设备类型中的至少一个以及媒体访问控制(Media Access Control Address,简称MAC)地址;所述获取第一设备的用于表征第一设备身份的身份数据,并用所述身份数据组成第一字符串,包括:获取所述厂商标识和所述设备类型中的至少一个以及所述MAC地址;将所述厂商标识和所述设备类型中的至少一个与所述MAC地址串联得到所述第一字符串。
MAC地址可作为第一设备的区别性标识,将MAC地址与厂商标识以及设备类型中的至少一个串联得到的第一字符串可以作为该第一设备区别于其他设备的标识。
在一个可能的设计中,所述根据所述第一字符串的私钥以及所述身份数据,得到第二字符串,包括:对所述第一字符串进行非线性变换得到非线性私钥;将所述非线性私钥与所述身份数据串联得到所述第二字符串。
非线性私钥依然可以表征私钥却不会暴露私钥包含的信息,非线性私钥与身份数据串联可得到第二字符串。
在一个可能的设计中,所述身份数据包括厂商标识和设备类型中的至少一个以及MAC地址;所述将所述非线性私钥与所述身份数据串联得到所述第二字符串,包括:将所述厂商标识和所述设备类型中的至少一个以及所述MAC地址与所述非线性私钥串联得到所述第二字符串。
MAC地址可作为区别性标识,将MAC地址与厂商标识以及设备类型中的至少一个串联得到身份数据,该身份数据可将第一设备与其他设备相区别,然后再将非线性私钥与上述的身份数据串联得到第二字符串。
在一个可能的设计中,所述对所述第二字符串进行加密处理得到第三字符串,包括:对所述第二字符串进行哈希运算得到第三字符串。
具体可以通过哈希运算的方式由第二字符串得到第三字符串,第二字符串的内容在进行哈希运算后得到了压缩,且第三字符串依然与第二字符串对应,但第三字符串并不像第二字符串一样包含第一设备的厂商标识或设备类型以及MAC地址等敏感信息。
第二方面,本申请实施例提供了一种身份标识验证方法,所述方法包括:接收第一设备的身份标识;从所述身份标识提取所述签名字段,利用与所述第一字符串的私钥对应的公钥对所述签名字段解密,得到解密消息;判断所述解密消息中是否存在连续的预设数量个字符与所述身份标识中的标识符相同;若是,确定所述身份标识未被篡改。
在上述的实施例中,由于原始的签名字段是根据私钥对第三字符串进行数字签名获得的,因此,若签名字段未被篡改,则与私钥对应的公钥对签名字段进行解密时,得到的解密消息依然是第三字符串的内容。原始的标识符为第三字符串中连续的预设数量个字符,在签名字段或标识符其一未被篡改时,解密消息中存在与标识符相同的连续的预设数量个字符。
在一个可能的设计中,所述接收第一设备的身份标识之前,所述方法还包括:接收广播的数字证书,其中,所述数字证书包括所述第一字符串的私钥对应的公钥。
在上述的实施例中,第一字符串的公钥可以在接收数字证书的广播时获得,可以依据公钥对设备的身份标识进行验证,提高身份标识的安全性。
第三方面,本申请实施例提供了一种身份标识生成装置,所述装置包括:第一字符串模块,用于获取第一设备的用于表征第一设备身份的身份数据,并用所述身份数据组成第一字符串;私钥获得模块,用于利用不对称加密算法对所述第一字符串进行处理,获得所述第一字符串的私钥;第二字符串模块,用于根据所述第一字符串的私钥以及所述身份数据,得到第二字符串;第三字符串模块,用于对所述第二字符串进行加密处理得到第三字符串;标识符提取模块,用于从所述第三字符串中提取连续的预设数量个字符作为标识符;签名字段获得模块,用于利用所述第一字符串的私钥对所述第三字符串进行数字签名,得到签名字段;身份标识串联模块,用于将所述第一字符串、标识符以及签名字段串联作为所述第一设备的身份标识。
在一个可能的设计中,所述第二字符串模块包括:非线性变换子模块,用于对所述第一字符串进行非线性变换得到非线性私钥;串联子模块,用于将所述非线性私钥与所述身份数据串联得到所述第二字符串。
在一个可能的设计中,所述第一字符串模块包括:信息获取子模块,用于获取所述厂商标识和所述设备类型中的至少一个以及所述MAC地址;信息串联子模块,用于将所述厂商标识和所述设备类型中的至少一个与所述MAC地址串联得到所述第一字符串。
在一个可能的设计中,所述第三字符串模块具体用于对所述第二字符串进行哈希运算得到第三字符串。
第四方面,本申请实施例提供了一种身份标识验证装置,所述装置包括:身份标识接收模块,用于接收第一设备的身份标识;解密消息获得模块,用于从所述身份标识提取所述签名字段,利用与所述第一字符串的私钥对应的公钥对所述签名字段解密,得到解密消息;解密消息判断模块,用于判断所述解密消息中是否存在连续的预设数量个字符与所述身份标识中的标识符相同;判定模块,用于确定所述身份标识未被篡改。
在一个可能的设计中,所述装置还包括:证书接收模块,用于接收广播的数字证书,其中,所述数字证书包括所述第一字符串的私钥对应的公钥。
第五方面,本申请提供一种电子设备,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当所述电子设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行第一方面或第一方面的任一可选的实现方式所述的方法。
第六方面,本申请提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行第一方面或第一方面的任一可选的实现方式所述的方法。
第七方面,本申请提供一种计算机程序产品,所述计算机程序产品在计算机上运行时,使得计算机执行第一方面或第一方面的任意可能的实现方式中的方法。
为使本申请实施例所要实现的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚的说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的身份标识生成方法的流程图;
图2是图1中步骤S130的具体步骤示意图;
图3是本申请实施例提供的身份标识验证方法的流程图;
图4是本申请实施例提供的身份标识生成装置的结构框图;
图5是本申请实施例提供的电子设备的结构框图。
具体实施方式
在介绍本申请的具体实施例之前,先对本申请的应用场景进行简单介绍。
在物联网领域,不同的设备厂商或平台通常会根据各自的编码格式对自家的物联网设备进行身份标识的标注,例如,对于设备厂商A,可以根据设备的MAC地址以及设备产地的组合对设备厂商A旗下的物联网设备进行身份标识的标注;对于平台B,可以根据设备的生产时间与设备所属的型号对平台B旗下的物联网设备进行身份标识的标注。因此对于普通消费者而言,若要体验设备间的无缝协作,往往只能选择同一个厂商或同一个平台提供商的设备。每个厂商或平台提供商的物联网作为独立的管理域,都拥有大量的物联网设备,且各自均有独立的域内通信协议与管理方式。不同物联网之间的域内组织和管理机制方面存在较大的差异,物联网中的合作问题尚未得到有效解决。例如,若平台B旗下的控制器欲对设备厂商A旗下的物联网设备a进行控制,则可能由于物联网设备a的身份标识的格式与平台B所定义的身份标识的格式不一致,导致平台B无法对物联网设备a进行识别。
现有技术中存在的上述缺陷,均是申请人在经过实践并仔细研究后得出的结构,因此,上述问题的发现过程以及下文中本申请实施例针对上述问题所提出的解决方案,都应该是申请人在本申请过程中对本申请做出的贡献。
请参见图1,图1示出了本申请实施例提供的身份标识生成方法的流程示意图,应理解,图1所示的方法可以由电子设备执行,该电子设备可以与下文中的图5所示的电子设备对应,该电子设备可以是能够执行该方法的各种设备,可以是区块链网络中多个节点中的某个节点,例如,可以为个人计算机、服务器或网络设备等,该节点具体可以是设备厂商的控制设备,本申请实施例并不限于此,具体包括如下步骤:
步骤S110,获取第一设备的用于表征第一设备身份的身份数据,并用所述身份数据组成第一字符串。
第一设备可以是任意设备厂商生产的物联网设备,第一设备具有身份数据,身份数据包括厂商标识和设备类型中的至少一个以及MAC地址。厂商标识表示生产第一设备的设备厂商,设备类型为第一设备所属的类别,厂商标识和设备类型均可以由多个设备厂商之间共同协商得到,例如,厂商标识可以由三个字符表示,设备类型可以由两个字符表示。
例如对于如下五家设备厂商:设备厂商A、设备厂商B、设备厂商C、设备厂商D、设备厂商E,可以共同约定设备厂商A的厂商标识为001,约定设备厂商B的厂商标识为002,约定设备厂商C的厂商标识为003,约定设备厂商D的厂商标识为004,约定设备厂商E的厂商标识为005。例如,对于台灯、电视和空调三种物联网设备,五家设备厂商可以共同约定台灯的设备类型为JD1,约定电视的设备类型为JD2,约定空调的设备类型为JD3。
在一种具体实施方式中,步骤S110可以包括:获取所述厂商标识和所述设备类型中的至少一个以及所述MAC地址;将所述厂商标识和所述设备类型中的至少一个与所述MAC地址串联得到所述第一字符串。
可选地,身份数据可以是厂商标识与MAC地址两者的组合,也可以是设备类型与MAC地址两者的组合,还可以是厂商标识、设备类型以及MAC地址三者的组合。可以将身份数据包括的内容串联组成第一字符串。
MAC地址可作为第一设备的区别性标识,将MAC地址与厂商标识以及设备类型中的至少一个串联得到的第一字符串可以作为该第一设备区别于其他设备的标识。
步骤S120,利用不对称加密算法对所述第一字符串进行处理,获得所述第一字符串的私钥。
可选地,可以从第一字符串中连续截取一定长度的字符,将该段字符作为私钥;也可以先对第一字符串进行脱敏处理,然后从进行过脱敏处理的第一字符串中连续截取一定长度的字符,将这段字符作为私钥。在生成私钥的同时,可以根据不对称加密算法计算出与私钥相对应的公钥。例如,不妨设私钥包括字符串n与字符串p,公钥包括字符串q。其中,n=p*q。
步骤S130,根据所述第一字符串的私钥以及所述身份数据,得到第二字符串。
可选地,可以直接将私钥与身份数据串联,并把串联后得到的字符串作为第二字符串。
请参见图2,在一种具体实施方式中,步骤S130可以包括:
步骤S131,对所述第一字符串进行非线性变换得到非线性私钥。
步骤S132,将所述非线性私钥与所述身份数据串联得到所述第二字符串。
可选地,可以通过S盒(Substitution-box,简称S-BOX)对第一字符串进行非线性变换。S-BOX置换是对称密钥加密算法执行替换计算的基本结构。S-BOX接受特定数量的输入比特m,并将其转换为特定数量的输出比特n,其中n可以等于m,也可以不等于m。
在一种具体实施方式中,本申请实施例可以选取8*8的S-BOX进行混淆置换,8*8的S-BOX如下所示:
0x8c,0xb9,0xd5,0xe0,0x4a,0x2c,0xa2,0x1f,0x7b,0xea,0x83,0x2b,0xfd,0xcc,0x00,0x72,
0x26,0xe5,0x12,0xbe,0xad,0xe8,0x1c,0x86,0xda,0x78,0x0d,0x35,0x56,0xba,0x5b,0x69,
0x0b,0x71,0x6d,0xeb,0x53,0x9b,0xbc,0xf6,0xc7,0x2e,0xe4,0x02,0x95,0x3d,0x1a,0xd9,
0x85,0xf2,0x20,0x4e,0x79,0x18,0x67,0xa1,0xe1,0x97,0xab,0x5d,0x80,0xf5,0xb7,0x43,
0xe9,0xd6,0xce,0x4d,0xbb,0x47,0xc0,0x92,0x27,0x9f,0xe2,0x11,0x31,0x49,0x0f,0x7f,
0x41,0xcb,0xd8,0x77,0xb0,0x54,0x0a,0xdf,0xef,0x22,0x46,0xc5,0x03,0x1d,0x7c,0xb1,
0x3c,0x17,0x01,0xf8,0xa4,0x3a,0xa9,0x75,0x44,0xdc,0x88,0x25,0x8e,0x66,0x60,0xb4,
0x4f,0xbd,0xd7,0x2a,0x6c,0x0e,0x13,0xed,0x6a,0xfb,0x3f,0x99,0xd3,0xc4,0x45,0x38,
0xb6,0x8a,0x74,0x91,0xcf,0x21,0x84,0xec,0x55,0x07,0xbf,0x59,0x89,0x6f,0xe6,0x9e,
0x14,0x5f,0x40,0x39,0x37,0xc1,0xca,0xd4,0x08,0x63,0x6e,0xa8,0x05,0xfc,0x30,0x93,
0xf0,0x24,0xee,0x8f,0xaa,0x16,0xdb,0xb3,0x23,0xb2,0x36,0xc8,0x0c,0x98,0x50,0x28,
0xf7,0x09,0xc9,0x58,0xde,0x7a,0x87,0x9a,0x9c,0x10,0xd2,0x65,0xcd,0xaf,0xac,0x3b,
0x9d,0xa7,0x1e,0x52,0xe3,0x15,0xff,0xa0,0x29,0x33,0x7d,0x34,0x5c,0xd1,0x90,0x06,
0xc2,0x2d,0xb5,0xfa,0x5a,0xf9,0x61,0x8b,0x96,0xdd,0x1b,0x48,0x6b,0xe7,0xa3,0x73,
0x32,0x7e,0xc3,0x19,0x4b,0x82,0x4c,0xae,0xb8,0xc6,0xf1,0x62,0x2f,0x70,0x57,0x81,
0xa6,0x51,0x68,0x94,0x76,0x8d,0xf3,0x64,0xf4,0xa5,0x04,0x5e,0x42,0x3e,0xfe,0xd0,
对于8个bit位(即1byte)的输入数据,可以将上述的8个bit位分为高四位和低四位,其中,高四位表征的是0到15的一个十六进制数;低四位表征的也是0到15的一个十六进制数,将高四位作为行编码,低四位作为列编码,从8*8的S-BOX表中选择一个8个bit位的数,该数可作为输出。
例如,若高四位代表的是14,低四位代表的是3,则从上述的S-BOX表中选出第14行第3列的数(即0xb5),该数作为上述的输出。
可选地,可以将厂商标识和所述设备类型中的至少一个以及所述MAC地址与所述非线性私钥串联得到所述第二字符串。
对第一字符串的私钥进行非线性变换可以实现对私钥的脱敏处理,得到的非线性私钥,该非线性私钥依然可以表征私钥却不会暴露私钥包含的信息,非线性私钥与身份数据串联可得到第二字符串。
步骤S140,对所述第二字符串进行加密处理得到第三字符串。
可选地,可以对第二字符串进行哈希运算得到第三字符串。例如,可以利用安全哈希算法(Secure Hash Algorithm,简称SHA1)生成160比特的第三字符串。SHA1是一种密码散列函数,可生成一个被称为消息摘要的160比特的散列值,该散列值通常的呈现形式是40个十六进制数。因此,第三字符串可以是40个十六进制数。
步骤S150,从所述第三字符串中提取连续的预设数量个字符作为标识符,其中,所述预设数量为能反映所述标识符唯一性的数量。
根据哈希算法的雪崩效应,在输入改变1比特时,输出至少改变一半以上,也就是说,对于40个十六进制数组成的第三字符串,在输入改变1比特时,第三字符串中超过20个十六进制数就会发生改变,因此,预设数量可以超过20。可选地,预设数量可以是24,可以取第三字符串的前24个字符,并将其组成标识符。
步骤S160,利用所述第一字符串的私钥对所述第三字符串进行数字签名,得到签名字段。
数字签名是获取目标字符串的摘要,并对摘要进行加密的过程。由于第三字符串可以是由第二字符串通过哈希运算得来,因此第三字符串可看做为第二字符串的摘要。因此,在一种具体实施方式中,可以直接利用私钥对第三字符串加密,得到签名字段。
可选地,也可以先获得第三字符串的摘要,然后再对第三字符串的摘要进行加密得到签名字段。对第三字符串进行数字签名的过程不应理解为是对本申请的限制。
步骤S170,将所述第一字符串、标识符以及签名字段串联作为所述第一设备的身份标识。
将上述步骤分别获得的第一字符串、标识符以及签名字段串联起来,便可以作为第一设备的身份标识。
在一种具体实施方式中,区块链网络中多个节点中的某个节点可以在区块中存储第一设备与第一设备的身份标识的对应关系,区块中存储的设备与身份标识的对应关系达到一定数量时,节点可以将该区块广播出去,让区块链网络中的多个节点均获得设备与身份标识的对应关系。
通过上述方式生成的第一设备的身份标识包含着第一设备的相关信息,然后再将表征第一设备的身份标识在不同的设备厂商或平台间传递,利于不同的设备厂商的设备在平台间进行统一识别。
可选地,在一种具体实施方式中,区块链网络的节点在接收到第一设备发送的消息后,还可以根据消息中包含的身份数据(如厂商标识、设备类型及MAC地址)根据上述步骤S110至步骤S170再次生成一遍第一设备的身份标识,将此次生成的身份标识与先前存储在区块的第一设备的身份标识进行比对,若一致,则可说明是来自第一设备发送。
在另一种具体实施方式中,也可以根据步骤S110至步骤S130得到第二字符串,然后对第二字符串进行哈希运算,判断新生成的字符串是否与第三字符串一致,若一致,则可说明是来自第一设备发送。
请参见图3,本申请实施例还提供了一种身份标识验证方法,图3所示的方法可以由电子设备执行,该电子设备可以是多个节点中除执行图1所示的方法的节点外的其他节点,验证方法可以包括如下步骤:
步骤S210,接收第一设备的身份标识。
步骤S220,从所述身份标识提取所述签名字段,利用与所述第一字符串的私钥对应的公钥对所述签名字段解密,得到解密消息。
步骤S230,判断所述解密消息中是否存在连续的预设数量个字符与所述身份标识中的标识符相同,若是,执行步骤S240。
步骤S240,确定所述身份标识未被篡改。
由于身份标识由第一字符串、标识符以及签名字段三部分组成,在接收第一设备的身份标识之后,可以提取出签名字段,然后利用公约对签名字段进行解密。
由于原始的签名字段是根据私钥对第三字符串进行数字签名获得的,因此,若签名字段未被篡改,则与私钥对应的公钥对签名字段进行解密时,得到的解密消息依然是第三字符串的内容。原始的标识符为第三字符串中连续的预设数量个字符,在签名字段或标识符其一未被篡改时,解密消息中存在与标识符相同的连续的预设数量个字符。
可选地,在步骤S210之前,该身份标识验证方法还可以包括:接收广播的数字证书,其中,所述数字证书包括所述第一字符串的私钥对应的公钥。
第一字符串的公钥可以在接收数字证书的广播时获得,可以依据公钥对设备的身份标识进行验证,提高身份标识的安全性。
请参见图4,图4示出了本申请实施例提供的店铺选址模型的训练装置,应理解,该装置400与上述图1至图2方法实施例对应,能够执行上述方法实施例涉及的各个步骤,该装置400具体的功能可以参见上文中的描述,为避免重复,此处适当省略详细描述。装置400包括至少一个能以软件或固件(firmware)的形式存储于存储器中或固化在装置400的操作系统(operating system,OS)中的软件功能模块。具体地,该装置400包括:
第一字符串模块410,用于获取第一设备的用于表征第一设备身份的身份数据,并用所述身份数据组成第一字符串。
私钥获得模块420,用于利用不对称加密算法对所述第一字符串进行处理,获得所述第一字符串的私钥。
第二字符串模块430,用于根据所述第一字符串的私钥以及所述身份数据,得到第二字符串。
第三字符串模块440,用于对所述第二字符串进行加密处理得到第三字符串。
标识符提取模块450,用于从所述第三字符串中提取连续的预设数量个字符作为标识符。
签名字段获得模块460,用于利用所述第一字符串的私钥对所述第三字符串进行数字签名,得到签名字段。
身份标识串联模块470,用于将所述第一字符串、标识符以及签名字段串联作为所述第一设备的身份标识。
所述第二字符串模块430包括:非线性变换子模块,用于对所述第一字符串进行非线性变换得到非线性私钥;串联子模块,用于将所述非线性私钥与所述身份数据串联得到所述第二字符串。
本申请实施例还提供了一种店铺选址装置,应理解,该装置与上述图3方法实施例对应,能够执行上述方法实施例涉及的各个步骤,该装置具体的功能可以参见上文中的描述,为避免重复,此处适当省略详细描述。装置包括至少一个能以软件或固件(firmware)的形式存储于存储器中或固化在装置的操作系统(operating system,OS)中的软件功能模块。具体地,该装置包括:
身份标识接收模块,用于接收第一设备的身份标识。
解密消息获得模块,用于从所述身份标识提取所述签名字段,利用与所述第一字符串的私钥对应的公钥对所述签名字段解密,得到解密消息。
解密消息判断模块,用于判断所述解密消息中是否存在连续的预设数量个字符与所述身份标识中的标识符相同。
判定模块,用于确定所述身份标识未被篡改。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置的具体工作过程,可以参考前述方法中的对应过程,在此不再过多赘述。
本申请还提供一种电子设备,图5为本申请实施例中的电子设备500的结构框图,如图5所示。电子设备500可以包括处理器510、通信接口520、存储器530和至少一个通信总线540。其中,通信总线540用于实现这些组件直接的连接通信。其中,本申请实施例中设备的通信接口520用于与其他节点设备进行信令或数据的通信。处理器510可以是一种集成电路芯片,具有信号的处理能力。上述的处理器510可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器510也可以是任何常规的处理器等。
存储器530可以是,但不限于,随机存取存储器(Random Access Memory,RAM),只读存储器(Read Only Memory,ROM),可编程只读存储器(Programmable Read-OnlyMemory,PROM),可擦除只读存储器(Erasable Programmable Read-Only Memory,EPROM),电可擦除只读存储器(Electric Erasable Programmable Read-Only Memory,EEPROM)等。存储器530中存储有计算机可读取指令,当所述计算机可读取指令由所述处理器510执行时,电子设备500可以执行上述图1至图3方法实施例涉及的各个步骤。
电子设备500还可以包括存储控制器、输入输出单元、音频单元、显示单元。
所述存储器530、存储控制器、处理器510、外设接口、输入输出单元、音频单元、显示单元各元件相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通信总线540实现电性连接。所述处理器510用于执行存储器530中存储的可执行模块,例如装置400包括的软件功能模块或计算机程序。
输入输出单元用于提供给用户输入数据实现用户与所述服务器(或本地终端)的交互。所述输入输出单元可以是,但不限于,鼠标和键盘等。
音频单元向用户提供音频接口,其可包括一个或多个麦克风、一个或者多个扬声器以及音频电路。
显示单元在所述电子设备与用户之间提供一个交互界面(例如用户操作界面)或用于显示图像数据给用户参考。在本实施例中,所述显示单元可以是液晶显示器或触控显示器。若为触控显示器,其可为支持单点和多点触控操作的电容式触控屏或电阻式触控屏等。支持单点和多点触控操作是指触控显示器能感应到来自该触控显示器上一个或多个位置处同时产生的触控操作,并将该感应到的触控操作交由处理器进行计算和处理。
输入输出单元用于提供给用户输入数据实现用户与处理终端的交互。所述输入输出单元可以是,但不限于,鼠标和键盘等。
可以理解,图5所示的结构仅为示意,所述电子设备500还可包括比图5中所示更多或者更少的组件,或者具有与图5所示不同的配置。图5中所示的各组件可以采用硬件、软件或其组合实现。
本申请还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行方法实施例所述的方法。
本申请还提供一种计算机程序产品,所述计算机程序产品在计算机上运行时,使得计算机执行方法实施例所述的方法。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统的具体工作过程,可以参考前述方法中的对应过程,在此不再过多赘述。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本申请的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应所述以权利要求的保护范围为准。
Claims (10)
1.一种身份标识生成方法,其特征在于,所述方法包括:
获取第一设备的用于表征第一设备身份的身份数据,并用所述身份数据组成第一字符串;
利用不对称加密算法对所述第一字符串进行处理,获得所述第一字符串的私钥;
根据所述第一字符串的私钥以及所述身份数据,得到第二字符串;
对所述第二字符串进行加密处理得到第三字符串;
从所述第三字符串中提取连续的预设数量个字符作为标识符,其中,所述预设数量为能反映所述标识符唯一性的数量;
利用所述第一字符串的私钥对所述第三字符串进行数字签名,得到签名字段;
将所述第一字符串、标识符以及签名字段串联作为所述第一设备的身份标识。
2.根据权利要求1所述的方法,其特征在于,所述身份数据包括厂商标识和设备类型中的至少一个以及媒体访问控制MAC地址;
所述获取第一设备的用于表征第一设备身份的身份数据,并用所述身份数据组成第一字符串,包括:
获取所述厂商标识和所述设备类型中的至少一个以及所述MAC地址;
将所述厂商标识和所述设备类型中的至少一个与所述MAC地址串联得到所述第一字符串。
3.根据权利要求1所述的方法,其特征在于,所述根据所述第一字符串的私钥以及所述身份数据,得到第二字符串,包括:
对所述第一字符串进行非线性变换得到非线性私钥;
将所述非线性私钥与所述身份数据串联得到所述第二字符串。
4.根据权利要求3所述的方法,其特征在于,所述身份数据包括厂商标识和设备类型中的至少一个以及MAC地址;
所述将所述非线性私钥与所述身份数据串联得到所述第二字符串,包括:
将所述厂商标识和所述设备类型中的至少一个以及所述MAC地址与所述非线性私钥串联得到所述第二字符串。
5.根据权利要求1所述的方法,其特征在于,所述对所述第二字符串进行加密处理得到第三字符串,包括:
对所述第二字符串进行哈希运算得到第三字符串。
6.一种身份标识验证方法,其特征在于,所述方法包括:
接收第一设备的身份标识;
从所述身份标识提取所述签名字段,利用与所述第一字符串的私钥对应的公钥对所述签名字段解密,得到解密消息;
判断所述解密消息中是否存在连续的预设数量个字符与所述身份标识中的标识符相同;
若是,确定所述身份标识未被篡改。
7.根据权利要求6所述的方法,其特征在于,所述接收第一设备的身份标识之前,所述方法还包括:
接收广播的数字证书,其中,所述数字证书包括所述第一字符串的私钥对应的公钥。
8.一种身份标识生成装置,其特征在于,所述装置包括:
第一字符串模块,用于获取第一设备的用于表征第一设备身份的身份数据,并用所述身份数据组成第一字符串;
私钥获得模块,用于利用不对称加密算法对所述第一字符串进行处理,获得所述第一字符串的私钥;
第二字符串模块,用于根据所述第一字符串的私钥以及所述身份数据,得到第二字符串;
第三字符串模块,用于对所述第二字符串进行加密处理得到第三字符串;
标识符提取模块,用于从所述第三字符串中提取连续的预设数量个字符作为标识符;
签名字段获得模块,用于利用所述第一字符串的私钥对所述第三字符串进行数字签名,得到签名字段;
身份标识串联模块,用于将所述第一字符串、标识符以及签名字段串联作为所述第一设备的身份标识。
9.根据权利要求8所述的装置,其特征在于,所述第二字符串模块包括:
非线性变换子模块,用于对所述第一字符串进行非线性变换得到非线性私钥;
串联子模块,用于将所述非线性私钥与所述身份数据串联得到所述第二字符串。
10.一种身份标识验证装置,其特征在于,所述装置包括:
身份标识接收模块,用于接收第一设备的身份标识;
解密消息获得模块,用于从所述身份标识提取所述签名字段,利用与所述第一字符串的私钥对应的公钥对所述签名字段解密,得到解密消息;
解密消息判断模块,用于判断所述解密消息中是否存在连续的预设数量个字符与所述身份标识中的标识符相同;
判定模块,用于确定所述身份标识未被篡改。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910473978.2A CN110198214B (zh) | 2019-06-02 | 2019-06-02 | 身份标识生成方法、验证方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910473978.2A CN110198214B (zh) | 2019-06-02 | 2019-06-02 | 身份标识生成方法、验证方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110198214A true CN110198214A (zh) | 2019-09-03 |
CN110198214B CN110198214B (zh) | 2022-02-22 |
Family
ID=67753803
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910473978.2A Active CN110198214B (zh) | 2019-06-02 | 2019-06-02 | 身份标识生成方法、验证方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110198214B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110933063A (zh) * | 2019-11-25 | 2020-03-27 | 中国联合网络通信集团有限公司 | 数据加密方法、数据解密方法及设备 |
CN112232816A (zh) * | 2020-10-15 | 2021-01-15 | 北京新创智链科技有限公司 | 支付交易数据处理方法、装置、设备及存储介质 |
US20210377048A1 (en) * | 2020-12-17 | 2021-12-02 | Beijing Baidu Netcom Science And Technology Co., Ltd. | Digital Signature Method, Signature Information Verification Method, Related Apparatus and Electronic Device |
CN113922970A (zh) * | 2021-10-29 | 2022-01-11 | 许昌许继软件技术有限公司 | 一种用于微服务的特征认证标识系统和方法 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100036862A1 (en) * | 2008-08-08 | 2010-02-11 | Oracle International Corporation | Representing and manipulating RDF data in a relational database management system |
CN103312515A (zh) * | 2013-06-21 | 2013-09-18 | 百度在线网络技术(北京)有限公司 | 授权令牌的生成方法、生成装置、认证方法和认证系统 |
CN103401957A (zh) * | 2013-08-07 | 2013-11-20 | 五八同城信息技术有限公司 | 一种web环境下唯一标识客户端机器的方法 |
US20140089203A1 (en) * | 2007-01-16 | 2014-03-27 | Voltage Security, Inc. | Format-preserving cryptographic systems |
CN106161350A (zh) * | 2015-03-31 | 2016-11-23 | 华为技术有限公司 | 一种管理应用标识的方法及装置 |
CN106788989A (zh) * | 2016-11-30 | 2017-05-31 | 华为技术有限公司 | 一种建立安全加密信道的方法及设备 |
CN107749894A (zh) * | 2017-11-09 | 2018-03-02 | 吴章义 | 一种安全、简单、智能的物联网系统 |
CN109327457A (zh) * | 2018-11-09 | 2019-02-12 | 广州大学 | 一种基于区块链的物联网设备身份认证方法及系统 |
CN109618328A (zh) * | 2018-11-29 | 2019-04-12 | 爱立信(中国)通信有限公司 | 通信方法和通信设备以及记录介质 |
CN109617675A (zh) * | 2018-11-15 | 2019-04-12 | 国网电动汽车服务有限公司 | 一种充放电设施与用户端间的双方标识认证方法及系统 |
-
2019
- 2019-06-02 CN CN201910473978.2A patent/CN110198214B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140089203A1 (en) * | 2007-01-16 | 2014-03-27 | Voltage Security, Inc. | Format-preserving cryptographic systems |
US20100036862A1 (en) * | 2008-08-08 | 2010-02-11 | Oracle International Corporation | Representing and manipulating RDF data in a relational database management system |
CN103312515A (zh) * | 2013-06-21 | 2013-09-18 | 百度在线网络技术(北京)有限公司 | 授权令牌的生成方法、生成装置、认证方法和认证系统 |
CN103401957A (zh) * | 2013-08-07 | 2013-11-20 | 五八同城信息技术有限公司 | 一种web环境下唯一标识客户端机器的方法 |
CN106161350A (zh) * | 2015-03-31 | 2016-11-23 | 华为技术有限公司 | 一种管理应用标识的方法及装置 |
CN106788989A (zh) * | 2016-11-30 | 2017-05-31 | 华为技术有限公司 | 一种建立安全加密信道的方法及设备 |
CN107749894A (zh) * | 2017-11-09 | 2018-03-02 | 吴章义 | 一种安全、简单、智能的物联网系统 |
CN109327457A (zh) * | 2018-11-09 | 2019-02-12 | 广州大学 | 一种基于区块链的物联网设备身份认证方法及系统 |
CN109617675A (zh) * | 2018-11-15 | 2019-04-12 | 国网电动汽车服务有限公司 | 一种充放电设施与用户端间的双方标识认证方法及系统 |
CN109618328A (zh) * | 2018-11-29 | 2019-04-12 | 爱立信(中国)通信有限公司 | 通信方法和通信设备以及记录介质 |
Non-Patent Citations (1)
Title |
---|
郑善双: ""物联网中的"身份证""", 《软件和集成电路》 * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110933063A (zh) * | 2019-11-25 | 2020-03-27 | 中国联合网络通信集团有限公司 | 数据加密方法、数据解密方法及设备 |
CN110933063B (zh) * | 2019-11-25 | 2022-02-18 | 中国联合网络通信集团有限公司 | 数据加密方法、数据解密方法及设备 |
CN112232816A (zh) * | 2020-10-15 | 2021-01-15 | 北京新创智链科技有限公司 | 支付交易数据处理方法、装置、设备及存储介质 |
US20210377048A1 (en) * | 2020-12-17 | 2021-12-02 | Beijing Baidu Netcom Science And Technology Co., Ltd. | Digital Signature Method, Signature Information Verification Method, Related Apparatus and Electronic Device |
CN113922970A (zh) * | 2021-10-29 | 2022-01-11 | 许昌许继软件技术有限公司 | 一种用于微服务的特征认证标识系统和方法 |
CN113922970B (zh) * | 2021-10-29 | 2024-08-13 | 许昌许继软件技术有限公司 | 一种用于微服务的特征认证标识系统和方法 |
Also Published As
Publication number | Publication date |
---|---|
CN110198214B (zh) | 2022-02-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104301113B (zh) | 一种基于多证书多用途的数字签名方法和系统 | |
CN110198214A (zh) | 身份标识生成方法、验证方法及装置 | |
US20100172501A1 (en) | Secure key system | |
EP2442482B1 (en) | Method and device for implementing stream cipher | |
US20240259392A1 (en) | Data Processing Method and Apparatus and Computer-Readable Storage Medium | |
WO2022052859A1 (zh) | 一种数据传输方法及数据传输设备 | |
CN110061848B (zh) | 一种安全导入支付终端密钥的方法、支付终端及系统 | |
CN103051682A (zh) | 车载终端的无线交互方法及系统 | |
Kuznetsov et al. | A new cost function for heuristic search of nonlinear substitutions | |
US12061567B2 (en) | Method, apparatus and system for implementing external device simulating keyboard | |
US20100040226A1 (en) | Device, program and method for generating hash values | |
do Nascimento et al. | FlexAEAD-A lightweight cipher with integrated authentication | |
CN115348101A (zh) | 基于混沌分组密码的数据加密方法及系统 | |
Tang et al. | Awareness and control of personal data Based on the Cyber-I privacy model | |
CN114189324B (zh) | 一种消息安全签名方法、系统、设备及存储介质 | |
CN112528349A (zh) | 一种数据处理方法、装置、电子设备及可读存储介质 | |
Ding et al. | Cryptanalysis of Loiss stream cipher | |
Gueron | White box aes using intel's new aes instructions | |
Maximov | A new stream cipher Mir-1 | |
CN1607764A (zh) | 计算暂时密钥集成协议s盒值的装置及其方法 | |
CN113987589B (zh) | 一种处理数据的方法、装置、计算机可读存储介质及装置 | |
CN114710285B (zh) | 一种面向异构并行架构的高性能sm4比特切片优化方法 | |
Hollestelle et al. | Power analysis on smartcard algorithms using simulation | |
Ali | Generic CPA Decryption Attack on Ascon-128 in Nonce-Misuse Setting by Exploiting XOR Patterns | |
Gutmann et al. | RFC 9500 Standard Public Key Cryptography (PKC) Test Keys |
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 |