基于PoW算法的设备标识构造方法、装置及计算机可读存储介质转让专利

申请号 : CN201910477555.8

文献号 : CN110290113A

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 刘智聪

申请人 : 深圳巴克云网络科技有限公司

摘要 :

本发明公开了一种基于PoW算法的设备标识构造方法、装置及计算机可读存储介质,该方法包括:步骤S10、构造PeerInfo,生成非对称加密的密钥对,其中,所述非对称加密的密钥对包括公钥匙(Public Key)和私钥匙(Private Key);步骤S20、根据信息摘要算法对PeerInfo中的不可变部分进行计算,得到PeerID;步骤S30、接收到来节点设备加入P2P网络的请求后,根据请求加入P2P网络的节点设备的PeerID对请求加入P2P网络的节点设备进行验证;步骤S40、当对请求加入P2P网络的节点设备验证通过后,将验证通过的节点设备加入P2P网络;步骤S50、已经加入P2P网络的设备在本地持续地执行PoW过程。本发明可以不经过中心服务器构造PeerID,及解决冒名顶替问题。

权利要求 :

1.一种基于PoW算法的设备标识构造方法,应用于P2P网络中,所述P2P网络包括多个节点设备,每一节点设备包括节点设备完整信息(PeerInfo),其特征在于,所述方法包括:步骤S10:构造PeerInfo,生成非对称加密的密钥对,其中,所述非对称加密的密钥对包括公钥匙(Public Key)和私钥匙(Private Key);

步骤S20:根据信息摘要算法对PeerInfo中的不可变部分进行计算,得到PeerID;

步骤S30:接收到来节点设备加入P2P网络的请求后,根据请求加入P2P网络的节点设备的PeerID对请求加入P2P网络的节点设备进行验证;

步骤S40:当对请求加入P2P网络的节点设备验证通过后,将验证通过的节点设备加入P2P网络;

步骤S50:已经加入P2P网络的设备在本地持续地执行PoW过程。

2.如权利要求1所述的基于PoW算法的设备标识构造方法,其特征在于,所述P2P网络包括节点P1和请求加入所述P2P网络的节点设备P2(以下简称节点P2),所述节点P2包括Public Key和Privat Key,所述步骤S30包括:步骤31:当接收到节点P2的加入请求后,节点P1获取节点P2的PeerID2和PeerInfo2;

步骤32:节点P1对PeerID2进行验证,当节点P1对PeerID2验证通过时,执行步骤33;

步骤33:节点P1生成一个对称加密秘钥K。

3.如权利要求2所述的基于PoW算法的设备标识构造方法,其特征在于,在所步骤33之后,所述步骤S30还包括:步骤34:用节点P2的Public Key将所述对称加密秘钥K进行加密,获得加密的对称加密秘钥K’;

步骤35:用加密的对称加密秘钥K’加密PeerID1和PeerInfo1,获得加密的PeerID1’和PeerInfo1’;

步骤36:节点P1把加密的对称加密秘钥K’、加密的PeerID1’和PeerInfo1’发送给节点P2。

4.如权利要求3所述的基于PoW算法的设备标识构造方法,其特征在于,在所步骤36之后,所述步骤S30还包括:步骤37:节点P2接收到加密的对称加密秘钥K’、加密的PeerID1’和PeerInfo1’后,用自己持有的、对应的Privat Key对K’解密获得对称加密秘钥K,及用解密获得的K将加密的PeerID1’和PeerInfo1’进行解密、以获得解密出的PeerID1和PeerInfo1。

5.如权利要求4所述的基于PoW算法的设备标识构造方法,其特征在于,在所步骤37之后,所述步骤S30还包括:步骤38:节点P2验证解密出的PeerID1是否等于解密出的PeerInfo1中不可变信息的Hash,如果解密出的PeerID1等于解密出的PeerInfo1中不可变信息的Hash,则执行步骤39;

步骤39:节点P2验证解密出的PeerInfo1中的可变部分的签名。

6.如权利要求1~5任一项所述的基于PoW算法的设备标识构造方法,其特征在于,所述步骤S50包括以下步骤:步骤S51:节点设备连续地构造8字节的字符串;其中,所述8字节的字符串为nonce;

步骤S52:将nonce与PeerInfo中不可变部分进行合并。

7.如权利要求6所述的基于PoW算法的设备标识构造方法,其特征在于,在所步骤52之后,所述步骤S50还包括:步骤S53:将合并后的nonce与PeerInfo中不可变部分应用信息摘要算法计算,以获取一计算结果值;

步骤S54:判断所述计算结果值是否小于预设的难度数值;如果判断所述计算结果值小于预设的难度数值,则执行步骤S55;

步骤S55:判断节点设备获得了一个符合该难度要求的nonce。

8.如权利要求1~5任一项所述的基于PoW算法的设备标识构造方法,其特征在于,所述步骤S20中的信息摘要算法是SHA-256算法。

9.一种基于PoW算法的设备标识构造装置,其特征在于,所述装置包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的基于PoW算法的设备标识构造程序,所述基于PoW算法的设备标识构造程序被所述处理器执行时实现如权利要求1至8中任一项所述的基于PoW算法的设备标识构造方法的步骤。

10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有基于PoW算法的设备标识构造程序,所述基于PoW算法的设备标识构造程序可被一个或者多个处理器执行,以实现如权利要求1至8中任一项所述的基于PoW算法的设备标识构造方法的步骤。

说明书 :

基于PoW算法的设备标识构造方法、装置及计算机可读存储

介质

技术领域

[0001] 本发明涉及计算机技术领域,尤其涉及一种基于PoW算法的设备标识构造方法、装置及计算机可读存储介质。

背景技术

[0002] 身份认证也可以称为身份验证或身份鉴别,是指在计算机及计算机网络系统中确认操作者身份的过程,从而确定该用户是否具有对某种资源的访问和使用权限,进而使计算机和网络系统的访问策略能够可靠、有效地执行,防止攻击者假冒合法用户获得资源的访问权限,保证系统和数据的安全。
[0003] 通常情况下,数据的完整性依赖于对系统中心或第三方实体的信任,如系统的主节点、中心数据库,以及系统的负责人、数据库的管理员等,一旦上述系统中心不再可信(例如管理员被收买或数据库遭入侵),将会破坏数据的完整性,且很难被发现。
[0004] 现有的网络设备信息完整性保护方法基于公钥基础设施(PKI,Public Key Infrastructure),它利用公钥密码学的特点,通过第三方可信机构,即证书授权中心(Certificate Authority,CA),建立一套证书发放、管理和使用的体系,来支持和完成网络系统中的身份认证、信息加密,从而保证数据完整性和抗抵赖。这种基于公钥基础设施的数据保护方法中,其高度中心化的证书授权中心会产生以下几个问题:第一,当通信过程中产生的问题,证书授权中心无法做出相应的解决对策时,通信双方将无法解决这个问题,导致最后问题的不了了之;第二,证书授权中心一旦遭受攻击,网络系统将会受到很大的损害;第三,容易受到分布式拒绝服务(Distributed Denial of Service,DDoS)的攻击。

发明内容

[0005] 本发明提供一种基于PoW算法的设备标识构造方法、装置及计算机可读存储介质,其主要目的在于提供一种去中心化、无CA安全通信、可以降低DDoS攻击的设备标识构造方法。
[0006] 为实现上述目的,本发明还提供一种基于PoW算法的设备标识构造方法应用于P2P网络中,所述P2P网络包括多个节点设备,每一节点设备包括节点设备完整信息(PeerInfo),所述方法包括:
[0007] 步骤S10:构造PeerInfo,生成非对称加密的密钥对,其中,所述非对称加密的密钥对包括公钥匙(Public Key)和私钥匙(Private Key);
[0008] 步骤S20:根据信息摘要算法对PeerInfo中的不可变部分进行计算,得到PeerID;
[0009] 步骤S30:接收到来节点设备加入P2P网络的请求后,根据请求加入P2P网络的节点设备的PeerID对请求加入P2P网络的节点设备进行验证;
[0010] 步骤S40:当对请求加入P2P网络的节点设备验证通过后,将验证通过的节点设备加入P2P网络;
[0011] 步骤S50:已经加入P2P网络的设备在本地持续地执行PoW过程。
[0012] 可选地,所述P2P网络包括节点P1和请求加入所述P2P网络的节点设备P2(以下简称节点P2),所述节点P2包括Public Key和Privat Key,所述步骤S30包括:
[0013] 步骤31:当接收到节点P2的加入请求后,节点P1获取节点P2的PeerID2和PeerInfo2;
[0014] 步骤32:节点P1对PeerID2进行验证,当节点P1对PeerID2验证通过时,执行步骤33;
[0015] 步骤33:节点P1生成一个对称加密秘钥K。
[0016] 可选地,在所步骤33之后,所述步骤S30还包括:
[0017] 步骤34:用节点P2的Public Key将所述对称加密秘钥K进行加密,获得加密的对称加密秘钥K’;
[0018] 步骤35:用加密的对称加密秘钥K’加密PeerID1和PeerInfo1,获得加密的PeerID1’和PeerInfo1’;
[0019] 步骤36:节点P1把加密的对称加密秘钥K’、加密的PeerID1’和PeerInfo1’发送给节点P2。
[0020] 可选地,在所步骤36之后,所述步骤S30还包括:
[0021] 步骤37:节点P2接收到加密的对称加密秘钥K’、加密的PeerID1’和PeerInfo1’后,用自己持有的、对应的Privat Key对K’解密获得对称加密秘钥K,及用解密获得的K将加密的PeerID1’和PeerInfo1’进行解密、以获得解密出的PeerID1和PeerInfo1。
[0022] 可选地,在所步骤37之后,所述步骤S30还包括:
[0023] 步骤38:节点P2验证解密出的PeerID1是否等于解密出的PeerInfo1中不可变信息的Hash,如果解密出的PeerID1等于解密出的PeerInfo1中不可变信息的Hash,则执行步骤39;
[0024] 步骤39:节点P2验证解密出的PeerInfo1中的可变部分的签名。
[0025] 可选地,所述步骤S50包括以下步骤:
[0026] 步骤S51:节点设备连续地构造8字节的字符串;其中,所述8字节的字符串为nonce;
[0027] 步骤S52:将nonce与PeerInfo中不可变部分进行合并。
[0028] 可选地,在所步骤52之后,所述步骤S50还包括:
[0029] 步骤S53:将合并后的nonce与PeerInfo中不可变部分应用信息摘要算法计算,以获取一计算结果值;
[0030] 步骤S54:判断所述计算结果值是否小于预设的难度数值;如果判断所述计算结果值小于预设的难度数值,则执行步骤S55;
[0031] 步骤S55:判断节点设备获得了一个符合该难度要求的nonce。
[0032] 可选地,所述步骤S20中的信息摘要算法是SHA-256算法。
[0033] 为实现上述目的,本发明还提供一种基于PoW算法的设备标识构造装置,其特征在于,所述装置包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的基于PoW算法的设备标识构造程序,所述基于PoW算法的设备标识构造程序被所述处理器执行时实现上述的基于PoW算法的设备标识构造方法的步骤。
[0034] 此外,为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有基于PoW算法的设备标识构造程序,所述基于PoW算法的设备标识构造程序可被一个或者多个处理器执行,以实现如上所述的基于PoW算法的设备标识构造方法的步骤。
[0035] 本发明提出的基于PoW算法的设备标识构造方法、装置及计算机可读存储介质,通过构造PeerInfo、生成非对称加密的密钥对,并根据信息摘要算法对PeerInfo中的不可变部分进行计算、得到PeerID,在接收到来节点设备加入P2P网络的请求后,根据请求加入P2P网络的节点设备的PeerID对请求加入P2P网络的节点设备进行验证,并在对请求加入P2P网络的节点设备验证通过后,将验证通过的节点设备加入P2P网络,最后在本地对节点设备持续地执行PoW过程;通过本发明的技术方案,可以不经过中心服务器构造PeerID,及解决冒名顶替问题,也能实现安全的P2P信息加密传输。

附图说明

[0036] 图1为本发明一实施例提供的基于PoW算法的设备标识构造方法的流程示意图;
[0037] 图2为图1中的步骤S30的的流程示意图;
[0038] 图3为图1中的步骤S50的的流程示意图;
[0039] 图4为本发明一实施例提供的基于PoW算法的设备标识构造装置的内部结构示意图;
[0040] 图5为本发明一实施例提供的基于PoW算法的设备标识构造装置中基于PoW算法的设备标识构造程序的模块示意图。
[0041] 本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。

具体实施方式

[0042] 应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0043] 本发明提供一种基于PoW算法的设备标识构造方法方法,应用于P2P(Peer to Peer,又叫点对点或对等网络)中。PoW,全称Proof of Work,即工作量证明,又称挖矿,或PoW共识机制。大部分公有链或虚拟货币,如比特币、以太坊,均基于PoW算法,来实现其共识机制。
[0044] 所述P2P网络包括多个节点设备,每一节点设备包括节点设备完整信息(PeerInfo)。PeerID是网络中节点设备的唯一标识,是PeerInfo中不可变部分的Hash(哈希),是P2P网络中数据传输的来源与目的地址。PeerInfo中不可变的部分包括节点设备的硬件信息(deviceID)、和用于非对称加密的公钥匙(Public Key)。
[0045] 参照图1所示,为本发明一实施例提供的基于PoW算法的设备标识构造方法的流程示意图。该方法可以由一个装置执行,该装置可以由软件和/或硬件实现。
[0046] 步骤S10:构造PeerInfo,生成非对称加密的密钥对;其中,所述非对称加密的密钥对包括公钥匙(Public Key)和私钥匙(Private Key)。
[0047] 本实施例中,为了数据安全,节点设备应妥善保管Privte Key,使PrivateKey永远不会在网络上传输。
[0048] 步骤S20:根据信息摘要算法对PeerInfo中的不可变部分进行计算,得到PeerID。
[0049] 其中,所述信息摘要算法可以根据应用场景进行选择,本发明不做限制。本实施例中,以SHA-256算法进行举例说明。
[0050] 进一步地,所述节点设备还可以构造一个带签名的可变部分,例如是节点设备的当前所属用户信息。为了保证信息不容易被随意修改,当这个可变部分的信息修改后,必须使用Private Key签名才有效,从而保证了只有拥有节点设备的操作人员才能修改改信息。
[0051] 步骤S30:接收到来节点设备加入P2P网络的请求后,根据请求加入P2P网络的节点设备的PeerID对请求加入P2P网络的节点设备进行验证。
[0052] 步骤S40:当对请求加入P2P网络的节点设备验证通过后,将验证通过的节点设备加入P2P网络。
[0053] 进一步地,为了解决冒名顶替问题和安全通信问题,在所述步骤S30中,以节点P1和请求加入P2P网络的节点设备P2(以下简称节点P2)进行举例说明,其中,节点P1是已存在于P2P网络中的节点设备,节点P2是待加入到P2P网络的节点设备。在P2P网络中,每一节点对应一设备,每一节点与其中一设备之间是一一对应的。节点P2包括Public Key和Privat Key。进一步地,请参照图2,所述步骤S30包括:
[0054] 步骤31:当接收到节点P2的加入请求后,节点P1获取节点P2的PeerID2和PeerInfo2。
[0055] 步骤32:节点P1对PeerID2进行验证,当节点P1对PeerID2验证通过时,执行步骤33;当节点P1对PeerID2验证不通过时,进行步骤31。在本实施例中,所述节点P1判断PeerID2是否等于PeerInfo2的Hash。当节点P1判断PeerID2等于PeerInfo2的Hash时,节点P1对PeerID2验证通过,则进行步骤33。如果节点P1判断PeerID2不等于PeerInfo2的Hash时,节点P1对PeerID2验证不通过,则执行步骤31。
[0056] 步骤33:节点P1生成一个对称加密秘钥K。在本实施例中,当节点P1判断PeerID2等于PeerInfo 2的Hash,则节点P1对PeerID2进行第一次验证通过,即节点P1验证PeerID2通过;所述第一次验证通过后节点P1生成一个对称加密秘钥K。
[0057] 步骤34:用节点P2的Public Key将所述对称加密秘钥K进行加密,获得加密的对称加密秘钥K’。
[0058] 步骤35:用加密的对称加密秘钥K’加密PeerID1和PeerInfo1,获得加密的PeerID1’和PeerInfo1’。
[0059] 步骤36:节点P1把加密的对称加密秘钥K’、加密的PeerID1’和PeerInfo1’发送给节点P2。
[0060] 步骤37:节点P2接收到加密的对称加密秘钥K’、加密的PeerID1’和PeerInfo1’后,用自己持有的、对应的Privat Key对K’解密获得对称加密秘钥K,及用解密获得的K将加密的PeerID1’和PeerInfo1’进行解密、以获得解密出的PeerID1和PeerInfo1。
[0061] 步骤38:节点P2验证解密出的PeerID1是否等于解密出的PeerInfo1中不可变信息的Hash,如果解密出的PeerID1等于解密出的PeerInfo1中不可变信息的Hash,则执行步骤39;如果解密出的PeerID1不等于解密出的PeerInfo1中不可变信息的Hash,则重复执行步骤38。
[0062] 步骤39:节点P2验证解密出的PeerInfo1中的可变部分的签名。
[0063] 当上述步骤39执行完之后,节点P1和节点P2之间均验证了对方的身份。后续节点P1和节点P2之间的所有通信数据都使用对称加密秘钥K加密后发送。由于对称加密秘钥K从来没有在网络上传输过,因此,在整个信道传输中的内容既不会被窃听,也不会被中间人修改。
[0064] 因为PeerID作为地址本身就已经包含了身份校验信息,所以并不需要传统的CA(Certificate Authority)系统来进行证书管理,进而实现了去中心化系统中的可靠身份校验与安全通信。
[0065] 步骤S50:已经加入P2P网络的设备在本地持续地执行PoW过程。其中,所述PoW过程是一个构造符合难度的nonce(数值)的过程。
[0066] 进一步地,请参照图3,所述步骤S50包括以下步骤:
[0067] 步骤S51:节点设备连续地构造8字节的字符串;其中,所述8字节的字符串为nonce。
[0068] 步骤S52:将nonce与PeerInfo中不可变部分进行合并。
[0069] 进一步地,在所述步骤S52之后,所述步骤S50还包括以下步骤:
[0070] 步骤S53:将合并后的nonce与PeerInfo中不可变部分应用信息摘要算法计算,以获取一计算结果值;其中,所述信息摘要算法可以根据应用场景进行选择,本发明不做限制;本实施例中,以SHA-512算法进行举例说明。
[0071] 步骤S54:判断所述计算结果值是否小于预设的难度数值没,如果判断所述计算结果值小于预设的难度数值,则执行步骤S55;如果判断所述计算结果值不小于预设的难度数值,则执行步骤S51;其中,本发明对所述难度数值不做限制,在本实施例中,所述难度数值以unsigned int 512(无符号整型512)的数字进行举例说明。
[0072] 步骤S55:判断节点设备获得了一个符合该难度要求的nonce。
[0073] 上述步骤S51至步骤S55构成PoW过程。具体地,为了便于描述难度,我们可以设difficult(难度)=2^(512-n)。这样就可以只用一个[0-512]的整数n来描述当前难度了。在目前的主流x86计算机上,得到一个符合40难度的nonce,大概需要计算20分钟。
[0074] 在本发明中,为了更好地防止分布式拒绝服务(Distributed Denial ofService,DDoS)攻击,例如当有黑客H通过DDoS攻击服务S时,即当黑客H控制了一组Peer、从不同的主机上开始向服务S发起攻击时,服务S侦测到黑客H的恶意后可以要求Peer出示符合难度N的nonce(N的取值可以随着系统风险的上升而上升,也可以通过网络广播得到一个网络平均值),并在后续发现Peer做了恶意行为后,可以把该Peer的PeerID加入黑名单。通过上述手段,黑客H的攻击成本直线上升:在其持有的Peer被封后,需要消耗大量资源才能构造出一个符合难度的新Peer,从而加大黑客H的攻击成本,降低了系统被黑客H进行DDoS攻击的风险。
[0075] 本实施例提出的基于PoW算法的设备标识构造方法,通过构造PeerInfo、生成非对称加密的密钥对,并根据信息摘要算法对PeerInfo中的不可变部分进行计算、得到PeerID,在接收到来节点设备加入P2P网络的请求后,根据请求加入P2P网络的节点设备的PeerID对请求加入P2P网络的节点设备进行验证,并在对请求加入P2P网络的节点设备验证通过后,将验证通过的节点设备加入P2P网络,最后在本地对节点设备持续地执行PoW过程;本发明可以不经过中心服务器构造PeerID,及解决冒名顶替问题;通过本发明的技术方案,可以不架设中心化的证书管理服务或机构,也能实现安全的P2P信息加密传输。通过本发明的去中心化的PeerID的构造算法,在P2P网络中使用基于nonce的PoW过程来识别更有信用的节点。本发明还可以降低DDoS攻击的风险。
[0076] 本发明还提供一种基于PoW算法的设备标识构造装置。参照图4所示,为本发明一实施例提供的基于PoW算法的设备标识构造装置的内部结构示意图。
[0077] 在本实施例中,基于PoW算法的设备标识构造装置可以是PC(Personal Computer,个人电脑),也可以是智能手机、平板电脑、便携计算机等终端设备。该基于PoW算法的设备标识构造装置至少包括存储器11、处理器12,通信总线13,以及网络接口14。
[0078] 其中,存储器11至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、磁性存储器、磁盘、光盘等。存储器11在一些实施例中可以是基于PoW算法的设备标识构造装置的内部存储单元,例如该基于PoW算法的设备标识构造装置的硬盘。存储器11在另一些实施例中也可以是基于PoW算法的设备标识构造装置的外部存储设备,例如基于PoW算法的设备标识构造装置上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,存储器11还可以既包括基于PoW算法的设备标识构造装置的内部存储单元也包括外部存储设备。存储器11不仅可以用于存储安装于基于PoW算法的设备标识构造装置的应用软件及各类数据,例如基于PoW算法的设备标识构造程序的代码等,还可以用于暂时地存储已经输出或者将要输出的数据。
[0079] 处理器12在一些实施例中可以是一中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器或其他数据处理芯片,用于运行存储器11中存储的程序代码或处理数据,例如执行基于PoW算法的设备标识构造程序等。
[0080] 通信总线13用于实现这些组件之间的连接通信。
[0081] 网络接口14可选的可以包括标准的有线接口、无线接口(如WI-FI接口),通常用于在该基于PoW算法的设备标识构造装置与其他电子设备之间建立通信连接。
[0082] 可选地,该基于PoW算法的设备标识构造装置还可以包括用户接口,用户接口可以包括显示器(Display)、输入单元比如键盘(Keyboard),可选的用户接口还可以包括标准的有线接口、无线接口。可选地,在一些实施例中,显示器可以是LED显示器、液晶显示器、触控式液晶显示器以及OLED(Organic Light-Emitting Diode,有机发光二极管)触摸器等。其中,显示器也可以适当的称为显示屏或显示单元,用于显示在基于PoW算法的设备标识构造装置中处理的信息以及用于显示可视化的用户界面。
[0083] 图4仅示出了具有组件11-14以及基于PoW算法的设备标识构造程序的基于PoW算法的设备标识构造装置,本领域技术人员可以理解的是,图1示出的结构并不构成对基于PoW算法的设备标识构造装置的限定,可以包括比图示更少或者更多的部件,或者组合某些部件,或者不同的部件布置。
[0084] 在图4所示的基于PoW算法的设备标识构造装置实施例中,存储器11中存储有基于PoW算法的设备标识构造程序;处理器12执行存储器11中存储的基于PoW算法的设备标识构造程序时实现如下步骤:
[0085] 步骤S10:构造PeerInfo,生成非对称加密的密钥对,其中,所述非对称加密的密钥对包括公钥匙(Public Key)和私钥匙(Private Key);
[0086] 步骤S20:根据信息摘要算法对PeerInfo中的不可变部分进行计算,得到PeerID;
[0087] 步骤S30:接收到来节点设备加入P2P网络的请求后,根据请求加入P2P网络的节点设备的PeerID对请求加入P2P网络的节点设备进行验证;
[0088] 步骤S40:当对请求加入P2P网络的节点设备验证通过后,将验证通过的节点设备加入P2P网络;
[0089] 步骤S50:在本地对节点设备持续地执行PoW过程。
[0090] 可选地,在其他实施例中,基于PoW算法的设备标识构造程序还可以被分割为一个或者多个模块,一个或者多个模块被存储于存储器11中,并由一个或多个处理器(本实施例为处理器12)所执行以完成本发明,本发明所称的模块是指能够完成特定功能的一系列计算机程序指令段,用于描述基于PoW算法的设备标识构造程序在基于PoW算法的设备标识构造装置中的执行过程。
[0091] 例如,参照图5所示,为本发明基于PoW算法的设备标识构造装置一实施例中的基于PoW算法的设备标识构造程序的程序模块示意图,该实施例中,基于PoW算法的设备标识构造程序可以被分割为构造模块10、计算模块20、验证模块30、节点管理模块40和执行模块50,示例性地:
[0092] 构造模块10,用于构造PeerInfo,及用于生成非对称加密的密钥对,其中,所述非对称加密的密钥对包括公钥匙(Public Key)和私钥匙(Private Key);
[0093] 计算模块20,用于根据信息摘要算法对PeerInfo中的不可变部分进行计算,得到PeerID;
[0094] 验证模块30,用于接收到来节点设备加入P2P网络的请求后,根据请求加入P2P网络的节点设备的PeerID对请求加入P2P网络的节点设备进行验证;
[0095] 节点管理模块40,用于当对请求加入P2P网络的节点设备验证通过后,将验证通过的节点设备加入P2P网络;
[0096] 执行模块50,用于在本地对节点设备持续地执行PoW过程。
[0097] 上述构造模块10、计算模块20、验证模块30、节点管理模块40和执行模块50等程序模块被执行时所实现的功能或操作步骤与上述实施例大体相同,在此不再赘述。
[0098] 此外,本发明实施例还提出一种计算机可读存储介质,所述计算机可读存储介质上存储有基于PoW算法的设备标识构造程序,所述基于PoW算法的设备标识构造程序可被一个或多个处理器执行,以实现如下操作:
[0099] 步骤S10:构造PeerInfo,生成非对称加密的密钥对,其中,所述非对称加密的密钥对包括公钥匙(Public Key)和私钥匙(Private Key);
[0100] 步骤S20:根据信息摘要算法对PeerInfo中的不可变部分进行计算,得到PeerID;
[0101] 步骤S30:接收到来节点设备加入P2P网络的请求后,根据请求加入P2P网络的节点设备的PeerID对请求加入P2P网络的节点设备进行验证;
[0102] 步骤S40:当对请求加入P2P网络的节点设备验证通过后,将验证通过的节点设备加入P2P网络;
[0103] 步骤S50:已经加入P2P网络的设备在本地持续地执行PoW过程。
[0104] 本发明计算机可读存储介质具体实施方式与上述基于PoW算法的设备标识构造方法和装置各实施例基本相同,在此不作累述。
[0105] 需要说明的是,上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。并且本文中的术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一……”限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。
[0106] 通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
[0107] 以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。