一种用于发现设备的用户的方法和用户设备
技术领域
本发明涉及通信领域,尤其涉及一种用于发现设备的用户的方法和用户设备。
背景技术
社交无线保真(Wireless Fidelity,WiFi)是一种支持WiFi功能的用不用户设备之间通过WiFi接口感知彼此的存在,并通过WiFi接口来完成组网和通信的技术。
在社交WiFi朋友发现应用中,为了使得每个用户设备能够发现并识别其它用户设备,每个用户设备都要广播自身的标识信息。现有技术中,社交WiFi是通过无线网络直达(Wireless Fidelity Direct,WiFi Direct)实现的,该WiFi Direct也称为无线对等网络(Wirelesspeer-to-peer,WiFi P2P),在WiFi Direct中,用户设备通过发送探测请求(Probe Request)帧来广播自己的存在,进而完成用户设备发现或服务发现。
现有的WiFi机制中,每个用户设备采用明文广播自身的标识信息,不能保证用户标识信息的安全性,会导致隐私泄露等问题的出现。
发明内容
本发明的实施例提供一种用于发现设备的用户的方法和用户设备,以提高用户标识信息的安全性,使得用户设备之间安全的发现对方。
为达到上述目的,本发明的实施例采用如下技术方案:
第一方面,提供了一种用于发现设备的用户的方法,该方法应用于第一用户设备,所述第一用户设备中存储有所述第一用户设备和至少一个其他用户设备的用户标识和隐式用户标识信息的对应关系,所述方法包括:
接收第二用户设备发送的至少包含所述第二用户设备的隐式用户标识信息的第一消息;
根据所述第一用户设备存储的所述对应关系,获得与所述第二用户设备的隐式用户标识信息对应的用户标识;
从与所述第二用户设备的隐式用户标识信息对应的用户标识中,确定出所述第二用户设备的用户标识,进而发现所述第二用户设备的用户;
其中,所述第一/第二用户设备的用户标识为所述第一/第二用户设备的用户标识的明文用户标识,所述第一/第二用户设备的隐式用户标识信息为利用预定函数或预定算法对至少所述第一/第二用户设备的用户标识进行处理后得到的信息;或者,所述第一/第二用户设备的用户标识和隐式用户标识信息分别为服务器为所述第一/第二用户设备分配的对应于同一用户设备的两个标识。
根据第一方面,在第一方面的第一种可能的实现方式中,所述预定函数具体为哈希函数,所述第一/第二用户设备的隐式用户标识信息具体为对至少所述第一/第二用户设备的用户标识利用哈希函数进行哈希变换后得到的信息。
根据第一方面,在第一方面的第二种可能的实现方式中,所述预定算法具体为公私钥算法,所述第一/第二用户设备的隐式用户标识信息为对所述第一/第二用户设备的用户标识采用公私钥算法映射生成的密钥;或者,
所述预定算法具体为基于公私钥算法的加密算法,所述第一/第二用户设备的隐式用户标识信息具体为对所述第一/第二用户设备的用户标识采用公私钥算法映射生成的密钥对所述第一/第二用户设备的用户标识加密得到的加密值。
结合第一方面或第一方面的第一种可能的实现方式或第一方面的第二种可能的实现方式,在第一方面的第三种可能的实现方式中,所述方法还包括:
向所述第二用户设备发送至少包含所述第一用户设备的隐式用户标识信息的第二消息,以使得所述第二用户设备根据所述第二用户设备中存储的所述第二用户设备和至少一个其他用户设备的用户标识和隐式用户标识信息的对应关系,获得与所述第一用户设备的隐式用户标识信息对应的用户标识,从与所述第一用户设备的隐式用户标识信息对应的用户标识中,确定出所述第一用户设备的用户标识,进而发现所述第一用户设备的用户。
根据第一方面的第三种可能的实现方式,在第一方面的第四种可能的实现方式中,所述方法还包括:
利用所述第一用户设备的用户标识和所述与所述第二用户设备的隐式用户标识信息对应的用户标识,对所述与所述第二用户设备的隐式用户标识信息对应的用户标识进行加密,获得第一加密值;
向所述第二用户设备发送所述第一加密值;
所述以使得所述第二用户设备从与所述第一用户设备的隐式用户标识信息对应的用户标识中,确定出所述第一用户设备的用户标识具体为,以使得所述第二用户设备利用与所述第一用户设备的隐式用户标识信息对应的用户标识和所述第二用户设备的用户标识对所述第一加密值进行解密,进而确定出所述第一用户设备的用户标识;
所述方法还包括,以使得所述第二用户设备获得所述第一用户设备的用户标识后,利用所述第二用户设备的用户标识和所述获得的第一用户设备的用户标识,对所述确定的第一用户设备的用户标识进行加密,获得第二加密值,并向所述第一用户设备发送所述第二加密值;
接收所述第二用户设备发送的所述第二加密值;
所述从与所述第二用户设备的隐式用户标识信息对应的用户标识中,确定出所述第二用户设备的用户标识具体为:利用所述第一用户设备的用户标识和所述与所述第二用户设备的隐式用户标识信息对应的用户标识,对所述第二加密值进行解密,获得解密结果,若所述解密结果中包括所述第一用户设备的用户标识,则解密结果正确,所述第一用户设备将对应的与所述第二用户设备的隐式用户标识信息对应的用户标识确定为所述第二用户设备的用户标识。
结合第一方面或第一方面的第一种可能的实现方式至第一方面的第四种可能的实现方式,在第一方面的第五种可能的实现方式中,所述第一消息中还包括第二用户设备的用户标识类型和/或第一用户设备的隐式用户标识信息;或,
还包括第二用户设备的用户标识类型,和/或,第一用户设备的隐式用户标识信息和第一用户设备的用户标识类型。
结合第一方面的第三种可能的实现方式至第一方面的第五种可能的实现方式,在第一方面的第六种可能的实现方式中,所述第二消息中还包括指示所述第一用户设备的用户标识类型为所述隐式用户标识信息的指示信息。
第二方面,本发明提供了一种用于发现设备的用户的用户设备,所述用户设备为第一用户设备,所述第一用户设备包括:存储单元、接收单元、获得单元和确定单元;所述存储单元中存储有所述第一用户设备和至少一个其他用户设备的用户标识和隐式用户标识信息的对应关系;
所述接收单元,用于接收第二用户设备发送的至少包括所述第二用户设备的隐式用户标识信息的第一消息;
所述获得单元,用于根据所述存储单元存储的所述对应关系,获得与所述第二用户设备的隐式用户标识信息对应的用户标识;
所述确定单元,用于从与所述第二用户设备的隐式用户标识信息对应的用户标识中,确定出所述第二用户设备的用户标识,进而发现所述第二用户设备的用户;
其中,所述第一/第二用户设备的用户标识为所述第一/第二用户设备的用户标识的明文用户标识,所述第一/第二用户设备的隐式用户标识信息为利用预定函数或预定算法对至少所述第一/第二用户设备的用户标识进行处理后得到的信息;或者,所述第一/第二用户设备的用户标识和隐式用户标识信息分别为服务器为所述第一/第二用户设备分配的对应于同一用户设备的两个标识。
根据第二方面,在第二方面的第一种可能的实现方式中,所述预定函数具体为哈希函数,所述第一/第二用户设备的隐式用户标识信息具体为对至少所述第一/第二用户设备的用户标识利用哈希函数进行哈希变换后得到的信息。
根据第二方面,在第二方面的第二种可能的实现方式中,所述预定算法为公私钥算法,所述第一/第二用户设备的隐式用户标识信息为对所述第一/第二用户设备的用户标识采用公私钥算法映射生成的密钥;或者,
所述预定算法具体为基于公私钥算法的加密算法,所述第一/第二用户设备的隐式用户标识信息具体为对所述第一/第二用户设备的用户标识采用公私钥算法映射生成的密钥对所述第一/第二用户设备的用户标识加密得到的加密值。
结合第二方面或第二方面的第一种可能的实现方式或第二方面的第二种可能的实现方式,在第二方面的第三种可能的实现方式中,所述第一用户设备还包括:发送单元;
所述发送单元,用于向所述第二用户设备发送至少包含所述第一用户设备的隐式用户标识信息的第二消息,以使得所述第二用户设备根据所述第二用户设备中存储的所述第二用户设备和至少一个其他用户设备的用户标识和隐式用户标识信息的对应关系,获得与所述第一用户设备的隐式用户标识信息对应的用户标识,从与所述第一用户设备的隐式用户标识信息对应的用户标识中,确定出所述第一用户设备的用户标识,进而发现所述第一用户设备的用户。
根据第二方面的第三种可能的实现方式,在第二方面的第四种可能的实现方式中,所述第一用户设备还包括:加密单元;
所述加密单元,用于利用所述第一用户设备的用户标识和所述与所述第二用户设备的隐式用户标识信息对应的用户标识,对所述与所述第二用户设备的隐式用户标识信息对应的用户标识进行加密,获得第一加密值;
所述发送单元,还用于向所述第二用户设备发送所述第一加密值;
所述以使得所述第二用户设备从与所述第一用户设备的隐式用户标识信息对应的用户标识中,确定出所述第一用户设备的用户标识具体为,以使得所述第二用户设备利用与所述第一用户设备的隐式用户标识信息对应的用户标识和所述第二用户设备的用户标识对所述第一加密值进行解密,进而确定出所述第一用户设备的用户标识;
所述接收单元,还用于以使得所述第二用户设备获得所述第一用户设备的用户标识后,利用所述第二用户设备的用户标识和所述获得的第一用户设备的用户标识,对所述确定的第一用户设备的用户标识进行加密,获得第二加密值之后,接收所述第二用户设备发送的所述第二加密值;
所述确定单元,具体用于利用所述第一用户设备的用户标识和所述与所述第二用户设备的隐式用户标识信息对应的用户标识,对所述第二加密值进行解密,获得解密结果,若所述解密结果中包括所述第一用户设备的用户标识,则解密结果正确,所述第一用户设备将对应的与所述第二用户设备的隐式用户标识信息对应的用户标识确定为所述第二用户设备的用户标识。
结合第二方面或第二方面的第一种可能的实现方式至第二方面的第四种可能的实现方式,在第二方面的第五种可能的实现方式中,所述第一消息中还包括第二用户设备的用户标识类型和/或第一用户设备的隐式用户标识信息;或,
还包括第二用户设备的用户标识类型,和/或,第一用户设备的隐式用户标识信息和第一用户设备的用户标识类型。
结合第二方面的第三种可能的实现方式至第一方面的第五种可能的实现方式,在第二方面的第六种可能的实现方式中,所述第二消息中还包括指示所述第一用户设备的用户标识类型为所述隐式用户标识信息的指示信息。
本发明实施例提供一种用于发现设备的用户的方法和用户设备,接收第二用户设备发送的至少包含所述第二用户设备的隐式用户标识信息的第一消息;根据所述第一用户设备存储的所述对应关系,获得与所述第二用户设备的隐式用户标识信息对应的用户标识;从与所述第二用户设备的隐式用户标识信息对应的用户标识中,确定出所述第二用户设备的用户标识,进而发现所述第二用户设备的用户。通过该方案,对第一用户设备和第二用户设备的用户标识进行处理,在第一用户设备和第二用户设备进行交互时,利用第一用户设备的隐式用户标识信息和第二用户设备的隐式用户标识信息,能够保证用户设备的用户标识信息的安全性,使得用户设备之间安全的发现对方。
附图说明
图1为本发明实施例提供的一种用于发现设备的用户的方法的流程示意图;
图2为本发明实施例提供的另一种用于发现设备的用户的方法的流程示意图;
图3为本发明实施例提供的一种用于发现设备的用户的方法的交互示意图;
图4为本发明实施例提供的另一种用于发现设备的用户的方法的交互示意图;
图5为本发明实施例提供的一种用户设备的结构示意图;
图6为本发明实施例提供的另一种用户设备的结构示意图;
图7为本发明实施例提供的又一种用户设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一、
现有技术中,用户设备之间利用WiFi P2P互相识别时,每个用户设备通过ProbeRequest帧广播感兴趣的服务或用户设备信息。
在朋友发现应用中利用WiFi P2P技术时,由于用户设备之间互相识别的目的是确定对方是否为自身的朋友,因此,每个用户设备广播的Probe Request帧中携带有自身的用户设备标识信息。
而若每个用户设备广播的自身的用户设备标识信息都为该用户设备的明文标识,则会存在伪装攻击和隐私泄露的问题。
当然,上述的描述中虽然主要针对应用WiFi P2P技术的朋友发现应用,但上述的描述并不能限定本发明仅局限于应用WiFi P2P技术的朋友发现应用,而是对用户设备间采用用户标识进行识别的各种场景,都适用本发明实施例提出的方法。
基于上述描述,本发明实施例提供了一种用于发现设备的用户的方法,如图1所示,该方法的执行主体是第一用户设备,所述第一用户设备中存储有所述第一用户设备和至少一个其他用户设备的用户标识和隐式用户标识信息的对应关系,该方法包括:
101、接收第二用户设备发送的至少包含所述第二用户设备的隐式用户标识信息的第一消息。
其中,所述第一/第二用户设备的用户标识可以为所述第一/第二用户设备的用户标识的明文用户标识,所述第一/第二用户设备的隐式用户标识信息为利用预定函数或预定算法对至少所述第一/第二用户设备的用户标识进行处理后得到的信息。
可选的,所述第一/第二用户设备的用户标识和隐式用户标识信息可以分别为服务器为所述第一/第二用户设备分配的对应于同一用户设备的两个标识。其中,该两个标识之间存在映射关系。例如,应用服务器为每个第二用户设备分配第一标识和第二标识,且所述第一标识和第二标识均可由应用服务器进行更新。
102、根据所述第一用户设备存储的所述对应关系,获得与所述第二用户设备的隐式用户标识信息对应的用户标识。
具体的,所述第一用户设备将所述第二用户设备的隐式用户标识信息与所述第一用户设备存储的所述第一用户设备和至少一个其他用户设备的用户标识和隐式用户标识信息的对应关系进行匹配。若匹配到所述第二用户设备的隐式用户标识信息,根据所述对应关系,获得与所述第二用户设备的隐式用户标识信息对应的用户标识。
103、从与所述第二用户设备的隐式用户标识信息对应的用户标识中,确定出所述第二用户设备的用户标识,进而发现所述第二用户设备的用户。
当所述第一用户设备根据所述第一用户设备存储的所述对应关系,获得与所述第二用户设备的隐式用户标识信息对应的用户标识仅有一个时,该用户标识即为第二用户设备的用户标识,所述第一用户设备成功发现所述第二用户设备的用户。当所述第一用户设备根据所述第一用户设备存储的所述对应关系,获得与所述第二用户设备的隐式用户标识信息对应的用户标识有多个时,所述第一用户设备可以利用与所述第二用户设备的隐式用户标识信息对应的用户标识和所述第一用户设备的用户标识对所述第二用户设备进行交互,进一步完成对第二用户设备的验证,从而确定出所述第二用户设备的用户标识。
本发明实施例提供一种用于发现设备的用户的方法,接收第二用户设备发送的至少包含所述第二用户设备的隐式用户标识信息的第一消息;根据所述第一用户设备存储的所述对应关系,获得与所述第二用户设备的隐式用户标识信息对应的用户标识;从与所述第二用户设备的隐式用户标识信息对应的用户标识中,确定出所述第二用户设备的用户标识,进而发现所述第二用户设备的用户。通过该方案,对第一用户设备的用户标识和第二用户设备的用户标识处理为第一用户设备的隐式用户标识信息和第二用户设备的隐式用户标识信息,在第一用户设备和第二用户设备进行发现时,利用第一用户设备的隐式用户标识信息和第二用户设备的隐式用户标识信息,能够保证用户设备的用户标识信息的安全性,使得用户设备之间安全的发现对方。
实施例二、
本发明实施例提供一种用于发现设备的用户的方法,如图2所示,该方法包括:
201、第二用户设备广播第一消息,所述第一消息中至少包含所述第二用户设备的隐式用户标识信息。
具体的,所述第二用户设备通过广播消息广播至少包含所述第二用户设备的隐式用户标识信息的第一消息,当所述第一用户设备处于所述第二用户设备广播的范围内时,可以接收到所述第二用户设备的广播的第一消息。
所述第一/第二用户设备的用户标识可以有以下两种情况:
第一种情况,所述第一/第二用户设备的用户标识可以为所述第一/第二用户设备的用户标识的明文用户标识,所述第一/第二用户设备的隐式用户标识信息为利用预定函数或预定算法对至少所述第一/第二用户设备的用户标识进行处理后得到的信息。
所述预定函数可以为哈希函数,则所述第一/第二用户设备的隐式用户标识信息具体为对至少所述第一/第二用户设备的用户标识利用哈希函数进行哈希变换后得到的信息。
其中,哈希变换为将一个或多个信息作为输入,通过散列算法,变换成固定长度的输出,该输出即为散列值。不同的输入可能会散列成相同的输出,而不可能从散列值确定唯一的输入值。
具体的,所述第二用户设备的隐式用户标识信息可以为利用一个或多个不同的哈希函数对至少所述第二用户设备的用户标识进行哈希变换的信息、或第二用户设备的明文标识和其它数值进行哈希变换的信息。
举例来说,若所述第二用户设备的用户标识为ID2,第一用户设备的用户标识为ID1,则,所述哈希变换可以为Hash()、Hash1()、Hash2()或Hash3()等,所述第二用户设备的隐式用户标识信息可以为:Hash(ID2),或Hash1(ID2)、Hash2(ID2)、Hash3(ID2)等;或者,Hash(ID2,ID1),或Hash1(ID2,ID1)、Hash2(ID2,ID1)、Hash3(ID2,ID1)等;或者,Hash(ID2,1),或Hash1(ID2,1)、Hash2(ID2,1)、Hash3(ID2,1)等。
可选的,所述预定算法可以为公私钥算法,所述第一/第二用户设备的隐式用户标识信息为对所述第一/第二用户设备的用户标识采用公私钥算法映射生成的密钥;或者,所述预定算法具体为基于公私钥算法的加密算法,所述第一/第二用户设备的隐式用户标识信息具体为对所述第一/第二用户设备的用户标识采用公私钥算法映射生成的密钥对所述第一/第二用户设备的用户标识加密得到的加密值。
其中,公私钥算法是一种很常用的加密算法,该算法的基本思想是使用私钥生成公钥,公钥可以对外公开,用户设备必须保留私钥,利用公钥加密的报文只能利用私钥解开。
具体的,若预定算法为公私钥算法,所述第一/第二用户设备的隐式用户标识信息可以为将第一/第二用户设备的用户标识作为私钥,利用公私钥算法生成的公钥。若预定算法为公私钥算法的加密算法,所述第一/第二用户设备的隐式用户标识信息可以为将第一/第二用户设备的用户标识作为私钥,利用公私钥算法生成的公钥,然后利用所述公钥对对应的第一/第二用户设备的用户标识进行加密后的加密值。
第二种情况,所述第一/第二用户设备的用户标识和隐式用户标识信息可以分别为服务器为所述第一/第二用户设备分配的对应于同一用户设备的两个标识。其中,该两个标识之间存在映射关系。例如,应用服务器为每个第二用户设备分配第一标识和第二标识,且所述第一标识和第二标识均可由应用服务器进行更新。
进一步的,为了使得第一用户设备能够根据所述第二用户设备的隐式用户标识信息快速的从存储的所述第一用户设备和至少一个其他用户设备的用户标识和隐式用户标识信息的对应关系中,获得与所述第二用户设备的隐式用户标识信息对应的用户标识,所述第一消息中还包括:第二用户设备的标识类型。
更进一步的,在所述第一消息中包含第一用户设备的隐式用户标识信息时,为了使得第一用户设备根据所述第一消息快速的判断自身是否为所述第二用户设备查找的特定的用户设备,所述第一消息中还包含:所述第一用户设备的用户标识类型。
需要说明的是,所述第一/第二用户设备的用户标识为使用该第一/第二用户设备的用户的标识。具体的,所述第一/第二用户设备的用户标识可以为暗语,该第一用户设备的用户标识可以包含该第一用户设备和第二用户设备预先协商的暗语、暗号,该暗语、暗号用于安全发现所述第一用户设备和所述第二用户设备,示例的,该暗语可以为“今天天气很好”;所述第一/第二用户设备的用户标识也可以是数字和字母等信息,服务信息、地理位置信息、社区团体信息、职务信息、关键字、名片信息、匹配信息等发现词,示例的,所述第一/第二用户设备的用户标识可以为使用该第一/第二用户设备的用户的电话号码、QQ号码、邮箱等用户的个人信息,也可以为上述电话号码、QQ号码、邮箱等用户的个人信息的组合信息。所述第一/第二用户设备的用户标识类型可以为QQ号码、电话号码、邮箱用户名等,也可以为QQ号码、电话号码、邮箱用户名等标识的组合。
在以下两种不同的场景中,所述第一消息包含的内容可以不同。
第一种场景:所述第二用户设备需要发现广播消息覆盖范围内的与自身有朋友关系的所有第一用户设备。在该场景中,所述第一消息中仅包括所述第二用户设备的相关信息,此时,所述第二用户设备的隐式用户标识信息中不包括所述第一用户设备的用户标识的相关信息。
在该第一种场景下,所述第二用户设备的隐式用户标识信息为对所述第二用户设备的用户标识利用哈希函数进行哈希变换后得到的信息;或者,对所述第二用户设备的用户标识采用公私钥算法映射生成的密钥;或者,对所述第二用户设备的用户标识采用公私钥算法映射生成的密钥对所述第二用户设备的用户标识加密得到的加密值;或者,服务器为所述第二用户设备分配的两个标识之一。
第二种场景:所述第二用户设备仅需要发现与所述第二用户设备的用户有朋友关系的特定几个第一用户设备。在该场景中,所述第一消息中包括所述第二用户设备的用户标识的相关信息之外,还需要包括第一用户设备的用户标识的相关信息。
在该第二种场景下,所述第一消息中可以包括所述第二用户设备的隐式用户标识信息,所述第二用户设备的隐式用户标识信息为对所述第二用户设备的用户标识和所述特定几个第一用户设备的用户标识利用哈希函数进行哈希变换后得到的信息;或者,所述第一消息中可以包括所述第二用户设备的隐式用户标识信息和所述特定几个第一用户设备的隐式用户标识信息。
202、所述第一用户设备根据所述第一用户设备存储的所述对应关系,获得与所述第二用户设备的隐式用户标识信息对应的用户标识。
具体的,所述第一用户设备将所述第二用户设备的隐式用户标识信息与所述第一用户设备存储的所述第一用户设备和至少一个其他用户设备的用户标识和隐式用户标识信息的对应关系进行匹配。若匹配到所述第二用户设备的隐式用户标识信息,根据所述对应关系,获得与所述第二用户设备的隐式用户标识信息对应的用户标识。
203、所述第一用户设备从与所述第二用户设备的隐式用户标识信息对应的用户标识中,确定出所述第二用户设备的用户标识,进而发现所述第二用户设备的用户。
当所述第一用户设备根据所述第一用户设备存储的所述对应关系,获得与所述第二用户设备的隐式用户标识信息对应的用户标识仅有一个时,该用户标识即为第二用户设备的用户标识,所述第一用户设备成功发现所述第二用户设备的用户。当所述第一用户设备根据所述第一用户设备存储的所述对应关系,获得与所述第二用户设备的隐式用户标识信息对应的用户标识有多个时,所述第一用户设备可以利用与所述第二用户设备的隐式用户标识信息对应的用户标识和所述第一用户设备的用户标识对所述第二用户设备进行交互,进一步完成对第二用户设备的验证,从而确定出所述第二用户设备的用户标识。
在上述过程中,第二用户设备通过广播自身的隐式用户标识信息,使得第一用户设备确定了第二用户设备的用户标识,即第一用户设备确定了第二用户设备的用户身份,第一用户设备成功发现了第二用户设备。为了使得第二用户设备发现第一用户设备,确定第一用户设备的用户标识,所述方法还可以包括以下步骤:
204、所述第一用户设备向所述第二用户设备发送至少包含所述第一用户设备的隐式用户标识信息的第二消息。
此时,所述第二消息中可以仅包括所述第一用户设备的用户标识的相关信息。
具体的,所述第一用户设备的隐式用户标识信息为对所述第一用户设备的用户标识利用哈希函数进行哈希变换后得到的信息;或者,对所述第一用户设备的用户标识采用公私钥算法映射生成的密钥;或者,对所述第一用户设备的用户标识采用公私钥算法映射生成的密钥对所述第一用户设备的用户标识加密得到的加密值;或者,服务器为所述第一用户设备分配的两个标识之一。
当然,为了使得第二用户设备能够确认第一用户设备发现的用户是否为所述第二用户设备的用户,所述第二消息中也可以包括利用所述第一用户设备的用户标识和所述第一用户设备确定的第二用户设备的用户标识的相关信息。
具体的,所述第二消息中可以包括所述第一用户设备的隐式用户标识信息,所述第一用户设备的隐式用户标识信息为对所述第一用户设备的用户标识和所述第一用户设备确定的第二用户设备的用户标识利用哈希函数进行哈希变换后得到的信息;或者,所述第二消息中可以包括所述第一用户设备的隐式用户标识信息和所述第一用户设备确定的第二用户设备的隐式用户标识信息。
205、所述第二用户设备根据所述第二用户设备存储的所述第二用户设备和至少一个其他用户设备的用户标识和隐式用户标识信息的对应关系,获得与所述第一用户设备的隐式用户标识信息对应的用户标识。
所述第一用户设备将所述第一用户设备的隐式用户标识信息与所述第二用户设备存储的设备的隐式用户标识信息进行匹配;若匹配到所述第一用户设备的隐式用户标识信息,根据所述对应关系,获得与所述第一用户设备的隐式用户标识信息对应的用户标识。
具体的,所述第二用户设备判断是否存储有所述接收到的第一用户设备的隐式用户标识信息。若存储有所述接收到的第一用户设备的隐式用户标识信息,所述第二用户设备匹配到所述第一用户设备的隐式用户标识信息。若匹配到所述第一用户设备的隐式用户标识信息,所述第二用户设备将存储的所述第一用户设备的隐式用户标识信息对应的设备的用户标识,作为与所述第一用户设备的隐式用户标识信息对应的用户标识。
206、所述第二用户设备从与所述第一用户设备的隐式用户标识信息对应的用户标识中,确定出所述第一用户设备的用户标识,进而发现所述第一用户设备的用户。
当所述第二用户设备根据所述第二用户设备存储的所述对应关系,获得与所述第一用户设备的隐式用户标识信息对应的用户标识仅有一个时,该用户标识即为第一用户设备的用户标识,所述第二用户设备成功发现所述第一用户设备。当所述第二用户设备根据所述第二用户设备存储的所述对应关系,获得与所述第一用户设备的隐式用户标识信息对应的用户标识有多个时,所述第二用户设备可以利用与所述第一用户设备的隐式用户标识信息对应的用户标识和所述第二用户设备的用户标识对所述第一用户设备进行交互,进一步完成对第一用户设备的验证,从而确定出所述第一用户设备的用户标识。
需要说明的是,当所述第二用户设备从与所述第一用户设备的隐式用户标识信息对应的用户标识中,确定出所述第一用户设备的用户标识之后,所述第二用户设备确定了所述第一用户设备的用户身份,即所述第二用户设备成功发现了所述第一用户设备。
进一步的,为了使得所述第二用户设备能够快速的确定所述第一用户设备的用户标识,所述第二消息中还包括所述第一用户设备的用户标识类型。
需要说明的是,当所述第一用户设备中存储的第二用户设备的隐式用户标识信息对应的用户标识仅有一个时,所述第一用户设备可以将与所述第二用户设备的隐式用户标识信息对应的用户标识直接确定为所述第二用户设备的用户标识。而当所述第一用户设备中存储的第二用户设备的隐式用户标识信息对应的用户标识有至少两个时,所述第一用户设备需要进一步从与所述第二用户设备的隐式用户标识信息对应的用户标识中,确定出所述第二用户设备的用户标识。
具体的,当所述第二用户设备的隐式用户标识信息为利用哈希函数对所述第二用户设备的用户标识进行哈希变换后得到的信息时,由于哈希变换不同的输入可能会散列成相同的输出,而不可能从散列值确定唯一的输入值的特性,不同的用户设备的用户标识可能获得同一第二用户设备的隐式用户标识信息。举例来说,若第一用户设备中存储的用户设备的明文标识分别为:ID21、ID22、ID23、ID24、ID25,第一用户设备对存储的用户设备的明文标识进行哈希处理,得到ID21、ID22、ID23的散列值与接收到的第二用户设备的隐式用户标识信息相同,则与所述第二用户设备的隐式用户标识信息对应的用户标识为:ID21、ID22、ID23。因此,当所述第一用户设备获得的与所述第二用户设备的隐式用户标识信息对应的用户标识为多个时,所述第一用户设备无法从与所述第二用户设备的隐式用户标识信息对应的用户标识中,确定出所述第二用户设备的用户标识。
为了使得所述第一用户设备能够从与所述第二用户设备的隐式用户标识信息对应的用户标识中,确定出所述第二用户设备的用户标识,进而发现所述第二用户设备的用户,如图3所示,所述方法包括:
301、第二用户设备广播第一消息,所述第一消息中至少包含所述第二用户设备的隐式用户标识信息。
302、第一用户设备接收所述第二用户设备广播的第一消息,所述第一消息中至少包含所述第二用户设备的隐式用户标识信息。
具体的,第二用户设备通过广播消息广播自身的隐式用户标识信息,第一用户设备处于第二用户设备广播的范围内时,可以接收到第二用户设备的广播消息。
303、所述第一用户设备根据所述第一用户设备存储的所述对应关系,获得与所述第二用户设备的隐式用户标识信息对应的用户标识。
具体的,所述第一用户设备将所述第二用户设备的隐式用户标识信息与所述第一用户设备存储的所述第一用户设备和至少一个其他用户设备的用户标识和隐式用户标识信息的对应关系进行匹配。若匹配到所述第二用户设备的隐式用户标识信息,根据所述对应关系,获得与所述第二用户设备的隐式用户标识信息对应的用户标识。
304、所述第一用户设备利用所述第一用户设备的用户标识和所述与所述第二用户设备的隐式用户标识信息对应的用户标识,对所述与所述第二用户设备的隐式用户标识信息对应的用户标识进行加密,获得第一加密值。
具体的,所述第一用户设备以确定的解密密钥构造加密密钥,然后,利用加密算法和构造的加密密钥对所述与所述第二用户设备的隐式用户标识信息对应的用户标识进行加密,获得第一加密值。
其中,所述确定的解密密钥指以第一用户设备的用户标识和与所述第二用户设备的隐式用户标识信息对应的用户标识作为第一解密函数的输入获得的输出值。
对于对称加密算法,加密密钥和解密密钥相同;对于非对称算法,必须根据解密密钥构造加密密钥,使得解密密钥为所述确定的解密密钥。
以对称加密算法为例,所述第一用户设备将第一用户设备的用户标识和与所述第二用户设备的隐式用户标识信息对应的用户标识作为第一解密函数的输入获得的输出值,作为加密密钥,利用该加密密钥和加密算法,对与所述第二用户设备的隐式用户标识信息对应的用户标识进行加密,获得第一加密值。
举例来说,若与所述第二用户设备的隐式用户标识信息对应的用户标识有多个,分别为ID21、ID22、ID23,第一用户设备的用户标识为ID1,f(x,y)为构成加密密钥的函数,则第一用户设备的用户标识和与所述第二用户设备的隐式用户标识信息对应的用户标识组成的加密密钥分别为:f(ID1,ID21)、f(ID1,ID22)、f(ID1,ID23)。若加密算法为E(f(x,y),y),则第一加密值为:E(f(ID1,ID21),ID21)、E(f(ID1,ID22),ID22)、E(f(ID1,ID23),ID23)。
305、向所述第二用户设备发送至少包含所述第一用户设备的隐式用户标识信息的第二消息和所述第一加密值。
具体的,所述第一用户设备可以先向所述第二用户设备发送至少包含所述第一用户设备的隐式用户标识信息的第二消息,再向所述第二用户设备发送所述第一加密值;也可以同时向所述第二用户设备发送至少包含所述第一用户设备的隐式用户标识信息和所述第一加密值的第二消息。
306、所述第二用户设备根据所述第二用户设备存储的所述第二用户设备和至少一个其他用户设备的用户标识和隐式用户标识信息的对应关系,获得与所述第一用户设备的隐式用户标识信息对应的用户标识。
需要说明的是,所述第二用户设备根据所述第二用户设备存储的所述第二用户设备和至少一个其他用户设备的用户标识和隐式用户标识信息的对应关系,获得与所述第一用户设备的隐式用户标识信息对应的用户标识的方法,与所述第一用户设备根据所述第一用户设备存储的所述第一用户设备和至少一个其他用户设备的用户标识和隐式用户标识信息的对应关系,获得与所述第二用户设备的隐式用户标识信息对应的用户标识的方法可以相同,本发明实施例在此不再赘述。
307、所述第二用户设备利用与所述第一用户设备的隐式用户标识信息对应的用户标识和所述第二用户设备的用户标识对所述第一加密值进行解密,进而确定出所述第一用户设备的用户标识。
所述第二用户设备接收到所述第一加密值之后,可以将与所述第一用户设备的隐式用户标识信息对应的用户标识和第二用户设备的用户标识作为第二解密函数的输入获得的输出值,作为所述第一加密值的解密密钥,对所述第一加密值进行解密。
具体的,将与所述第一用户设备的隐式用户标识信息对应的用户标识和第二用户设备的用户标识作为第二解密函数的输入获得的输出值,作为所述第一加密值的解密密钥,对所述第一加密值进行解密,获得解密结果。
若所述解密结果中包括所述第二用户设备的用户标识,则解密结果正确,所述第二用户设备根据所述第一加密值的解密密钥,获得第一用户设备的用户标识,执行步骤308-310。
若所述解密结果中不包括所述第二用户设备的用户标识,则解密结果不正确,执行步骤311。
以上过程使得第二用户设备确定出第一用户设备的用户标识,进而发现了第一用户设备,为了使得第一用户设备能够确定出第二用户设备的用户设备,进而发现第二用户设备,该方法还包括以下步骤:
308、所述第二用户设备利用所述第二用户设备的用户标识和所述获得的第一用户设备的用户标识,对所述确定的第一用户设备的用户标识进行加密,获得第二加密值。
在所述第二用户设备获得第一用户设备的用户标识后,以约定的解密密钥构造加密密钥,然后,利用加密算法和构造的加密密钥对所述获得的与所述第一用户设备的隐式用户标识信息对应的用户标识进行加密,获得第二加密值。
其中,所述确定的解密密钥指以第二用户设备的用户标识和获得的与所述第一用户设备的隐式用户标识信息对应的用户标识作为第二解密函数的输入获得的输出值。
以对称加密算法为例,所述第二用户设备将所述第二用户设备的用户标识和第一用户设备的用户标识作为第二解密函数的输入获得的输出值,作为加密密钥,利用该加密密钥和加密算法,对获得的与所述第一用户设备的隐式用户标识信息对应的用户标识进行加密,获得第二加密值。
举例来说,若确定的所述第一用户设备的用户标识为ID1,第二用户设备的用户标识为ID2,g(x,y)为构成加密密钥的函数,则第二用户设备的用户标识和获得的与所述第一用户设备的隐式用户标识信息对应的用户标识组成的加密密钥为:g(ID2,ID1)。若加密算法为E(g(x,y),x),则第二加密值为:E(g(ID2,ID1),ID1)。
309、所述第二用户设备向所述第一用户设备发送所述第二加密值。
310、所述第一用户设备利用所述第一用户设备的用户标识和所述与所述第二用户设备的隐式用户标识信息对应的用户标识,对所述第二加密值进行解密,获得解密结果。
所述第一用户设备接收到所述第二加密值之后,可以将所述与所述第二用户设备的隐式用户标识信息对应的用户标识和第一用户设备的用户标识作为第一解密函数的输入获得的输出值,作为所述第二加密值的解密密钥,对所述第二加密值进行解密,获得解密结果,并根据所述解密结果,获得所述第二用户设备的用户标识。
若所述解密结果中包括所述第一用户设备的用户标识,则解密结果正确,所述第一用户设备将对应的第一解密函数的输入中的与所述第二用户设备的隐式用户标识信息对应的用户标识确定为所述第二用户设备的用户标识,执行步骤313。
若所述解密结果中不包括所述第一用户设备的用户标识,则解密结果不正确,执行步骤312。
311、所述第二用户设备向所述第一用户设备发送发现失败的消息。
此时,所述第一用户设备和第二用户设备的发现失败,发现过程结束。
312、所述第一用户设备向所述第二用户设备发送发现失败的消息。
313、所述第一用户设备向所述第二用户设备发送发现成功的消息。
可选的,为了节省第一用户设备的运算量,使得用户设备之间能够更快的互相识别,所述第一设备中存储的对应关系中还可以包括:对第二加密值解密的解密密钥和对第一用户设备的用户标识加密的加密值。
则,当所述第一用户设备接收到所述第二加密值之后,对所述第二加密值进行匹配;若匹配到所述第二加密值,将所述第二加密值对应的用户设备的用户标识,作为所述第二用户设备的用户标识。
具体的,所述第一用户设备接收到所述第二加密值之后,根据存储的对第一用户设备的用户标识加密的加密值,判断所述第二加密值是否存储在所述第一用户设备中;若所述第二加密值存储在所述第一用户设备中,将存储的所述第二加密值对应的用户设备的用户标识,作为所述第二用户设备的用户标识。而不用利用解密密钥和解密函数对所述第二加密值进行解密,减少了第一用户设备的运算量,同时,提高了第一用户设备和第二用户设备之间的识别速度。
进一步可选的,为了减少第一用户设备的加密时的运算量,所述对应关系中还可以包括:对第二用户设备的用户标识加密的加密值、或对第二用户设备的用户标识加密的加密值和对第一加密值解密的解密密钥。
则,当所述第一用户设备获得与所述第二用户设备的隐式用户标识信息对应的用户标识,对与所述第二用户设备的隐式用户标识信息对应的用户标识进行加密时,所述第一用户设备将所述与所述第二用户设备的隐式用户标识信息对应的用户标识对应的加密值作为所述第一加密值。而不用在第一用户设备要获得第一加密值时,才利用加密密钥和加密函数获得第一加密值,减少了第一用户设备的运算量,提高了第一用户设备和第二用户设备之间的识别速度。
为了防止伪装攻击,减少第一用户设备和第二用户设备之间发生误判的情况,可以在第一用户设备与第二用户设备之间的通信信息中加入验证值,该验证值可以为至少一个随机数;如图4所示,以在第一用户设备和第二用户设备之间交互的信息中加入第一用户设备产生的验证值的相关信息,以及第二用户设备产生的验证值的相关信息,使得第一用户设备和第二用户设备对对方设备的用户进行验证,该方法包括:
401、第二用户设备发送广播消息,所述广播消息中包括第二用户设备的隐式用户标识信息。
402、第一用户设备接收所述第二用户设备发送的广播消息,所述广播消息中包括第二用户设备的隐式用户标识信息。
403、所述第一用户设备根据所述第一用户设备存储的所述对应关系,获得与所述第二用户设备的隐式用户标识信息对应的用户标识。
404、所述第一用户设备生成第一验证值。
405、所述第一用户设备利用所述第一用户设备的用户标识和所述与所述第二用户设备的隐式用户标识信息对应的用户标识,对与所述第二用户设备的隐式用户标识信息对应的用户标识和所述第一验证值进行加密,获得第一加密值。
所述第一用户设备可以利用加密密钥和加密算法对所述与所述第二用户设备的隐式用户标识信息对应的用户标识和所述第一验证值分别作为加密算法的输入,分别进行加密;所述第一用户设备也可以利用加密密钥和加密算法对所述与所述第二用户设备的隐式用户标识信息对应的用户标识和所述第一验证值同时作为加密算法的输入进行加密。
具体的加密过程参照本发明前述实施例所述,本发明实施例在此不再赘述。
406、所述第一用户设备向所述第二用户设备发送至少包含所述第一用户设备的隐式用户标识信息的第二消息、所述第一加密值和所述第一验证值。
具体的,所述第一用户设备可以先向所述第二用户设备发送至少包含所述第一用户设备的隐式用户标识信息的第二消息,再向所述第二用户设备发送所述第一加密值和所述第一验证值;也可以同时向所述第二用户设备发送至少包含所述第一用户设备的隐式用户标识信息、所述第一加密值和所述第一验证值的第二消息。
407、所述第二用户设备根据所述第二用户设备存储的所述第二用户设备和至少一个其他用户设备的用户标识和隐式用户标识信息的对应关系,获得与所述第一用户设备的隐式用户标识信息对应的用户标识。
408、所述第二用户设备利用与所述第一用户设备的隐式用户标识信息对应的用户标识和所述第二用户设备的用户标识对所述第一加密值进行解密,进而确定出所述第一用户设备的用户标识。
若所述解密结果中包括所述第二用户设备的用户标识和所述第一验证值,解密结果正确,所述第二用户设备获得第一用户设备的用户标识,执行步骤409-412。
若所述解密结果中不包括所述第二用户设备的用户标识和所述第一验证值,解密结果不正确,执行步骤413。
409、所述第二用户设备生成第二验证值。
410、所述第二用户设备利用所述第二用户设备的用户标识和所述获得的第一用户设备的用户标识,对所述确定的第一用户设备的用户标识进行加密,获得第二加密值。
所述第二用户设备可以利用加密密钥和加密算法对所述第一用户设备的用户标识和所述第二验证值分别作为加密算法的输入,分别进行加密;所述第二用户设备也可以利用加密密钥和加密算法对所述第一用户设备的用户标识和所述第二验证值同时作为加密算法的输入进行加密。
411、所述第二用户设备向所述第一用户设备发送所述第二加密值和所述第二验证值。
412、所述第一用户设备利用所述第一用户设备的用户标识和所述与所述第二用户设备的隐式用户标识信息对应的用户标识,对所述第二加密值进行解密,获得解密结果。
若所述解密结果中包括所述第一用户设备的用户标识和所述第二验证值,解密结果正确,所述第一用户设备获得第二用户设备的用户标识,执行步骤415。
若所述解密结果中不包括所述第一用户设备的用户标识和所述第二验证值,解密结果不正确,执行步骤414。
413、所述第二用户设备向所述第一用户设备发送发现失败的消息,发现过程结束。
414、所述第一用户设备向所述第二用户设备发送发现失败的消息,发现过程结束。
415、所述第一用户设备向所述第二用户设备发送发现成功的消息。
当然,也可以在第一用户设备和第二用户设备之间交互的信息中包括验证值时,同一验证值在第一用户设备和第二用户设备之间交互的信息中,需要第一用户设备和第二用户设备中的至少一个用户设备对该验证值进行加密,使得第二用户设备发现第一用户设备时,如果第一用户设备是伪装的用户设备,则第一用户设备不能够准确解密第二用户设备发送的验证值的相关信息;同样的,对于第一用户设备发现第二用户设备时,如果第二用户设备是伪装的用户设备,则第二用户设备不能够准确解密第一用户设备发送的验证值的相关信息,进而使得判断伪装攻击。
本发明技术领域人员可以理解的是,在第一用户设备和第二用户设备之间交互的信息中加入验证值,以防止伪装攻击的方法是本技术领域人员常用的方式,本发明实施例对第一用户设备和第二用户设备之间交互的信息中加入验证值,防止伪装攻击的方式不作具体限定。
需要说明的是,本发明涉及的对用户标识和验证值进行加密获得加密值具体可以是对用户标识和验证值一起加密获得加密值,也可以是对用户标识和验证值分别加密获得加密值。
本发明实施例提供一种用于发现设备的用户的方法,接收第二用户设备发送的至少包含所述第二用户设备的隐式用户标识信息的第一消息;根据所述第一用户设备存储的所述对应关系,获得与所述第二用户设备的隐式用户标识信息对应的用户标识;从与所述第二用户设备的隐式用户标识信息对应的用户标识中,确定出所述第二用户设备的用户标识,进而发现所述第二用户设备的用户。通过该方案,对第一用户设备和第二用户设备的用户标识进行处理,在第一用户设备和第二用户设备进行交互时,利用第一用户设备的隐式用户标识信息和第二用户设备的隐式用户标识信息,能够保证用户设备的用户标识信息的安全性,使得用户设备之间安全的发现对方。
实施例三、
本发明实施例提供一种用户设备,所述用户设备为第一用户设备,如图5所示,所述第一用户设备50包括:存储单元54、接收单元51、获得单元52和确定单元53。
所述存储单元54中存储有所述第一用户设备和至少一个其他用户设备的用户标识和隐式用户标识信息的对应关系。
所述接收单元51,用于接收第二用户设备发送的至少包括所述第二用户设备的隐式用户标识信息的第一消息。
所述获得单元52,用于根据所述存储单元存储的所述对应关系,获得与所述第二用户设备的隐式用户标识信息对应的用户标识。
所述确定单元53,用于从与所述第二用户设备的隐式用户标识信息对应的用户标识中,确定出所述第二用户设备的用户标识,进而发现所述第二用户设备的用户。
其中,所述第一/第二用户设备的用户标识为所述第一/第二用户设备的用户标识的明文用户标识,所述第一/第二用户设备的隐式用户标识信息为利用预定函数或预定算法对至少所述第一/第二用户设备的用户标识进行处理后得到的信息;或者,所述第一/第二用户设备的用户标识和隐式用户标识信息分别为服务器为所述第一/第二用户设备分配的对应于同一用户设备的两个标识。
进一步的,所述预定函数具体为哈希函数,所述第一/第二用户设备的隐式用户标识信息具体为对至少所述第一/第二用户设备的用户标识利用哈希函数进行哈希变换后得到的信息。
进一步的,所述预定算法为公私钥算法,所述第一/第二用户设备的隐式用户标识信息为对所述第一/第二用户设备的用户标识采用公私钥算法映射生成的密钥;或者,
所述预定算法具体为基于公私钥算法的加密算法,所述第一/第二用户设备的隐式用户标识信息具体为对所述第一/第二用户设备的用户标识采用公私钥算法映射生成的密钥对所述第一/第二用户设备的用户标识加密得到的加密值。
进一步的,如图6所示,所述第一用户设备50还包括:发送单元55。
所述发送单元55,用于向所述第二用户设备发送至少包含所述第一用户设备的隐式用户标识信息的第二消息,以使得所述第二用户设备根据所述第二用户设备中存储的所述第二用户设备和至少一个其他用户设备的用户标识和隐式用户标识信息的对应关系,获得与所述第一用户设备的隐式用户标识信息对应的用户标识,从与所述第一用户设备的隐式用户标识信息对应的用户标识中,确定出所述第一用户设备的用户标识。
更进一步的,如图6所示,所述第一用户设备50还包括:加密单元56。
所述加密单元56,用于利用所述第一用户设备的用户标识和所述与所述第二用户设备的隐式用户标识信息对应的用户标识,对所述与所述第二用户设备的隐式用户标识信息对应的用户标识进行加密,获得第一加密值。
所述发送单元55,还用于向所述第二用户设备发送所述第一加密值。
所述以使得所述第二用户设备从与所述第一用户设备的隐式用户标识信息对应的用户标识中,确定出所述第一用户设备的用户标识具体为,以使得所述第二用户设备利用与所述第一用户设备的隐式用户标识信息对应的用户标识和所述第二用户设备的用户标识对所述第一加密值进行解密,进而确定出所述第一用户设备的用户标识,进而发现所述第一用户设备的用户。
所述接收单元51,还用于以使得所述第二用户设备获得所述第一用户设备的用户标识后,利用所述第二用户设备的用户标识和所述获得的第一用户设备的用户标识,对所述确定的第一用户设备的用户标识进行加密,获得第二加密值之后,接收所述第二用户设备发送的所述第二加密值。
所述确定单元53,具体用于利用所述第一用户设备的用户标识和所述与所述第二用户设备的隐式用户标识信息对应的用户标识,对所述第二加密值进行解密,获得解密结果,若所述解密结果中包括所述第一用户设备的用户标识,则解密结果正确,所述第一用户设备将对应的与所述第二用户设备的隐式用户标识信息对应的用户标识确定为所述第二用户设备的用户标识。
进一步的,所述第一消息中还包括第二用户设备的用户标识类型和/或第一用户设备的隐式用户标识信息;或,还包括第二用户设备的用户标识类型,和/或,第一用户设备的隐式用户标识信息和第一用户设备的用户标识类型。
进一步的,所述第二消息中还包括指示所述第一用户设备的用户标识类型为所述隐式用户标识信息的指示信息。
本发明实施例提供一种第一用户设备,所述接收单元接收第二用户设备发送的至少包含所述第二用户设备的隐式用户标识信息的第一消息;所述获得单元根据所述第一用户设备存储的所述对应关系,获得与所述第二用户设备的隐式用户标识信息对应的用户标识;所述确定单元从与所述第二用户设备的隐式用户标识信息对应的用户标识中,确定出所述第二用户设备的用户标识,进而发现所述第二用户设备的用户。通过该方案,对第一用户设备和第二用户设备的用户标识进行处理,在第一用户设备和第二用户设备进行交互时,利用第一用户设备的隐式用户标识信息和第二用户设备的隐式用户标识信息,能够保证用户设备的用户标识信息的安全性,使得用户设备之间安全的发现对方。
实施例四、
本发明实施例提供一种用户设备,所述用户设备为第一用户设备,如图7所示,所述第一用户设备70包括:存储器73、收发器71和处理器72。
所述存储器73中存储有所述第一用户设备和至少一个其他用户设备的用户标识和隐式用户标识信息的对应关系。
所述收发器71,用于接收第二用户设备发送的至少包括所述第二用户设备的隐式用户标识信息的第一消息。
所述处理器72,用于根据所述存储单元存储的所述对应关系,获得与所述第二用户设备的隐式用户标识信息对应的用户标识。
所述处理器72,还用于从与所述第二用户设备的隐式用户标识信息对应的用户标识中,确定出所述第二用户设备的用户标识,进而发现所述第二用户设备的用户。
其中,所述第一/第二用户设备的用户标识为所述第一/第二用户设备的用户标识的明文用户标识,所述第一/第二用户设备的隐式用户标识信息为利用预定函数或预定算法对至少所述第一/第二用户设备的用户标识进行处理后得到的信息;或者,所述第一/第二用户设备的用户标识和隐式用户标识信息分别为服务器为所述第一/第二用户设备分配的对应于同一用户设备的两个标识。
进一步的,所述预定函数具体为哈希函数,所述第一/第二用户设备的隐式用户标识信息具体为对至少所述第一/第二用户设备的用户标识利用哈希函数进行哈希变换后得到的信息。
进一步的,所述预定算法为公私钥算法,所述第一/第二用户设备的隐式用户标识信息为对所述第一/第二用户设备的用户标识采用公私钥算法映射生成的密钥;或者,
所述预定算法具体为基于公私钥算法的加密算法,所述第一/第二用户设备的隐式用户标识信息具体为对所述第一/第二用户设备的用户标识采用公私钥算法映射生成的密钥对所述第一/第二用户设备的用户标识加密得到的加密值。
进一步的,所述收发器71,还用于向所述第二用户设备发送至少包含所述第一用户设备的隐式用户标识信息的第二消息,以使得所述第二用户设备根据所述第二用户设备中存储的所述第二用户设备和至少一个其他用户设备的用户标识和隐式用户标识信息的对应关系,获得与所述第一用户设备的隐式用户标识信息对应的用户标识,从与所述第一用户设备的隐式用户标识信息对应的用户标识中,确定出所述第一用户设备的用户标识,进而发现所述第一用户设备的用户。
更进一步的,所述处理器72,还用于利用所述第一用户设备的用户标识和所述与所述第二用户设备的隐式用户标识信息对应的用户标识,对所述与所述第二用户设备的隐式用户标识信息对应的用户标识进行加密,获得第一加密值。
所述收发器71,还用于向所述第二用户设备发送所述第一加密值。
所述以使得所述第二用户设备从与所述第一用户设备的隐式用户标识信息对应的用户标识中,确定出所述第一用户设备的用户标识具体为,以使得所述第二用户设备利用与所述第一用户设备的隐式用户标识信息对应的用户标识和所述第二用户设备的用户标识对所述第一加密值进行解密,进而确定出所述第一用户设备的用户标识。
所述收发器71,还用于以使得所述第二用户设备获得所述第一用户设备的用户标识后,利用所述第二用户设备的用户标识和所述获得的第一用户设备的用户标识,对所述确定的第一用户设备的用户标识进行加密,获得第二加密值之后,接收所述第二用户设备发送的所述第二加密值。
所述处理器72,具体用于利用所述第一用户设备的用户标识和所述与所述第二用户设备的隐式用户标识信息对应的用户标识,对所述第二加密值进行解密,获得解密结果,若所述解密结果中包括所述第一用户设备的用户标识,则解密结果正确,所述第一用户设备将对应的与所述第二用户设备的隐式用户标识信息对应的用户标识确定为所述第二用户设备的用户标识。
进一步的,所述第一消息中还包括第二用户设备的用户标识类型和/或第一用户设备的隐式用户标识信息;或,还包括第二用户设备的用户标识类型,和/或,第一用户设备的隐式用户标识信息和第一用户设备的用户标识类型。
进一步的,所述第二消息中还包括指示所述第一用户设备的用户标识类型为所述隐式用户标识信息的指示信息。
本发明实施例提供一种第一用户设备,所述收发器接收第二用户设备发送的至少包含所述第二用户设备的隐式用户标识信息的第一消息;所述处理器根据所述第一用户设备存储的所述对应关系,获得与所述第二用户设备的隐式用户标识信息对应的用户标识;所述处理器从与所述第二用户设备的隐式用户标识信息对应的用户标识中,确定出所述第二用户设备的用户标识,进而发现所述第二用户设备的用户。通过该方案,对第一用户设备和第二用户设备的用户标识进行处理,在第一用户设备和第二用户设备进行交互时,利用第一用户设备的隐式用户标识信息和第二用户设备的隐式用户标识信息,能够保证用户设备的用户标识信息的安全性,使得用户设备之间安全的发现对方。
需要说明的是,本文中所述“第一”、“第二”等均只为了进行区分之用,并无其他特定含义。
需说明的是,以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。另外,本发明提供的装置实施例附图中,模块之间的连接关系表示它们之间具有通信连接,具体可以实现为一条或多条通信总线或信号线。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件的方式来实现,当然也可以通过专用硬件包括专用集成电路、专用CPU、专用存储器、专用元器件等来实现。一般情况下,凡由计算机程序完成的功能都可以很容易地用相应的硬件来实现,而且,用来实现同一功能的具体硬件结构也可以是多种多样的,例如模拟电路、数字电路或专用电路等。但是,对本发明而言更多情况下软件程序实现是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在可读取的存储介质中,如计算机的软盘,U盘、移动硬盘、只读存储器(Read-OnlyMemory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等,包括若干指令用以使得一台计算机用户设备(可以是个人计算机,服务器,或者网络用户设备等)执行本发明各个实施例所述的方法。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。