CN114125799A - 通信时长计量方法及装置 - Google Patents
通信时长计量方法及装置 Download PDFInfo
- Publication number
- CN114125799A CN114125799A CN202111337333.XA CN202111337333A CN114125799A CN 114125799 A CN114125799 A CN 114125799A CN 202111337333 A CN202111337333 A CN 202111337333A CN 114125799 A CN114125799 A CN 114125799A
- Authority
- CN
- China
- Prior art keywords
- operator
- information
- local time
- time
- signature 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.)
- Granted
Links
- 238000004891 communication Methods 0.000 title claims abstract description 131
- 238000000034 method Methods 0.000 title claims abstract description 65
- 230000004044 response Effects 0.000 claims abstract description 127
- 230000008569 process Effects 0.000 claims abstract description 17
- 238000012790 confirmation Methods 0.000 claims abstract description 14
- 230000005540 biological transmission Effects 0.000 claims description 47
- 230000009471 action Effects 0.000 claims description 10
- 230000007246 mechanism Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 5
- 238000004422 calculation algorithm Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 238000004590 computer program Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 239000000284 extract Substances 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 239000013307 optical fiber Substances 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000005284 excitation Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000001228 spectrum Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/80—Services using short range communication, e.g. near-field communication [NFC], radio-frequency identification [RFID] or low energy communication
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/04—Key management, e.g. using generic bootstrapping architecture [GBA]
- H04W12/041—Key generation or derivation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/06—Authentication
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/60—Context-dependent security
- H04W12/61—Time-dependent
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W56/00—Synchronisation arrangements
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本申请提供了一种通信时长计量方法及装置,该方法包括:在为该用户终端提供通信服务的过程中,基于运营商本地时间Ts1生成目标计时信息;采用运营商节点的私钥对该目标计时信息进行签名生成第一签名信息,并生成包含该第一签名信息的第一心跳请求信息;将该第一心跳请求信息发送至该中继终端;若从中继终端接收到用户终端响应于确认运营商本地时间Ts1所生成的心跳响应信息,则基于用户终端的公钥验证心跳响应信息中第三签名信息的有效性;若第三签名信息验证有效,则将第三签名信息以及运营商本地时间Ts1上链至区块链,以基于区块链记录的运营商本地时间Ts1计算用户终端的通信时长。本申请实施例能够得到可信且无争议的用户终端的通信时长。
Description
技术领域
本申请涉及近域通信领域,具体涉及一种通信时长计量方法及装置。
背景技术
近域通信是一种新型的通信模式,由3GPP提出并定义为一种运行LTE终端之间在没有基础网络设施的情况下,通过共享小区网络资源直接进行设备到设备(D2D)通信的新技术。基于近域通信,用户终端可通过无线技术连接到其他中继终端上,经过中继终端的通信网络服务连接到运营商的通信网络上,以此提升通信系统的频谱效率。
中继终端为用户终端提供服务,需要依靠激励来实现价值变现;同时用户终端也需要准确地知道自己所使用服务的时长。因此,如何准确地对用户终端的通信时长进行计量成为近域通信中需要解决的重要问题。
发明内容
本申请的一个目的在于提出一种通信时长计量方法及装置,能够得到可信且无争议的用户终端的通信时长。
根据本申请实施例的一方面,公开了一种通信时长计量方法,所述方法应用于在中继终端所提供中转服务的作用下为用户终端提供通信服务的运营商节点,所述方法包括:
在为所述用户终端提供通信服务的过程中,基于用于更新通信时长的运营商本地时间Ts1生成目标计时信息;
采用运营商节点的私钥对所述目标计时信息进行签名生成第一签名信息,并生成包含所述第一签名信息的第一心跳请求信息;
将所述第一心跳请求信息发送至所述中继终端,以使得所述中继终端采用中继终端的私钥对所述第一签名信息进行签名生成第二签名信息,并使得所述中继终端将包含所述第二签名信息的第二心跳请求信息发送至所述用户终端,以供所述用户终端基于中继终端的公钥、运营商节点的公钥、所述第二心跳请求信息以及接收到所述第二心跳请求信息时的用户本地时间Ts2对所述运营商本地时间Ts1进行确认;
若从所述中继终端接收到所述用户终端响应于确认所述运营商本地时间Ts1所生成的心跳响应信息,则基于用户终端的公钥验证所述心跳响应信息中第三签名信息的有效性,其中,所述第三签名信息为所述用户终端采用用户终端的私钥对所述第二签名信息进行签名生成的;
若所述第三签名信息验证有效,则将所述第三签名信息以及所述运营商本地时间Ts1上链至区块链,以基于区块链记录的运营商本地时间Ts1计算所述用户终端的通信时长。
根据本申请实施例的一方面,公开了一种通信时长计量方法,所述方法应用于在中继终端所提供中转服务的作用下接受运营商节点所提供通信服务的用户终端,所述方法包括:
在接受所述运营商节点所提供通信服务的过程中,若从所述中继终端接收到包含第二签名信息的第二心跳请求信息,则基于中继终端的公钥、运营商节点的公钥、所述第二心跳请求信息以及接收到所述第二心跳请求信息时的用户本地时间Ts2,对用于更新通信时长的运营商本地时间Ts1进行确认,其中,所述第二签名信息为所述中继终端采用中继终端的私钥对第一签名信息生成的,所述第一签名信息为所述运营商节点采用运营商节点的私钥对目标计时信息生成的,所述目标计时信息为所述运营商节点基于所述运营商本地时间Ts1生成的;
若确认所述运营商本地时间Ts1,则采用用户终端的私钥对所述第二签名信息进行签名生成第三签名信息,并生成包含所述第三签名信息的心跳响应信息;
将所述心跳响应信息通过所述中继终端发送至所述运营商节点,以使得所述运营商节点基于用户终端的公钥验证所述第三签名信息有效后,所述运营商节点将所述第三签名信息以及所述运营商本地时间Ts1上链至区块链,以基于区块链记录的运营商本地时间Ts1计算所述用户终端的通信时长。
根据本申请实施例的一方面,公开了一种通信时长计量装置,所述装置设于在中继终端所提供中转服务的作用下为用户终端提供通信服务的运营商节点,所述装置包括:
目标计时信息生成模块,配置为在为所述用户终端提供通信服务的过程中,基于用于更新通信时长的运营商本地时间Ts1生成目标计时信息;
第一心跳请求生成模块,配置为采用运营商节点的私钥对所述目标计时信息进行签名生成第一签名信息,并生成包含所述第一签名信息的第一心跳请求信息;
第一心跳请求发送模块,配置为将所述第一心跳请求信息发送至所述中继终端,以使得所述中继终端采用中继终端的私钥对所述第一签名信息进行签名生成第二签名信息,并使得所述中继终端将包含所述第二签名信息的第二心跳请求信息发送至所述用户终端,以供所述用户终端基于中继终端的公钥、运营商节点的公钥、所述第二心跳请求信息以及接收到所述第二心跳请求信息时的用户本地时间Ts2对所述运营商本地时间Ts1进行确认;
心跳响应接收模块,配置为若从所述中继终端接收到所述用户终端响应于确认所述运营商本地时间Ts1所生成的心跳响应信息,则基于用户终端的公钥验证所述心跳响应信息中第三签名信息的有效性,其中,所述第三签名信息为所述用户终端采用用户终端的私钥对所述第二签名信息进行签名生成的;
信息上链模块,配置为若所述第三签名信息验证有效,则将所述第三签名信息以及所述运营商本地时间Ts1上链至区块链,以基于区块链记录的运营商本地时间Ts1计算所述用户终端的通信时长。
在本申请的一示例性实施例中,所述装置配置为:
计算所述运营商本地时间Ts1的摘要值,并将所述摘要值作为所述目标计时信息。
在本申请的一示例性实施例中,所述装置配置为:
将所述第一签名信息以及所述运营商本地时间Ts1封装为所述第一心跳请求信息。
在本申请的一示例性实施例中,所述装置配置为:
获取所述运营商节点上次接收到心跳响应信息时的运营商本地时间Tu2;
将所述第一签名信息、所述运营商本地时间Ts1以及所述运营商本地时间Tu2封装为所述第一心跳请求信息。
在本申请的一示例性实施例中,所述装置配置为:
若在将所述第一心跳请求信息发送至所述中继终端后的预设时长内,未从所述中继终端接收到所述心跳响应信息,则停止为所述用户终端提供通信服务。
根据本申请实施例的一方面,公开了一种通信时长计量装置,所述装置设于在中继终端所提供中转服务的作用下接受运营商节点所提供通信服务的用户终端,所述装置包括:
时间确认模块410,配置为在接受所述运营商节点所提供通信服务的过程中,若从所述中继终端接收到包含第二签名信息的第二心跳请求信息,则基于中继终端的公钥、运营商节点的公钥、所述第二心跳请求信息以及接收到所述第二心跳请求信息时的用户本地时间Ts2,对用于更新通信时长的运营商本地时间Ts1进行确认,其中,所述第二签名信息为所述中继终端采用中继终端的私钥对第一签名信息生成的,所述第一签名信息为所述运营商节点采用运营商节点的私钥对目标计时信息生成的,所述目标计时信息为所述运营商节点基于所述运营商本地时间Ts1生成的;
第三签名信息生成模块420,配置为若确认所述运营商本地时间Ts1,则采用用户终端的私钥对所述第二签名信息进行签名生成第三签名信息,并生成包含所述第三签名信息的心跳响应信息;
心跳响应发送模块430,配置为将所述心跳响应信息通过所述中继终端发送至所述运营商节点,以使得所述运营商节点基于用户终端的公钥验证所述第三签名信息有效后,所述运营商节点将所述第三签名信息以及所述运营商本地时间Ts1上链至区块链,以基于区块链记录的运营商本地时间Ts1计算所述用户终端的通信时长。
在本申请的一示例性实施例中,所述装置配置为:
从所述第二心跳请求信息中提取出所述第二签名信息,并采用中继终端的公钥对所述第二签名信息进行解密,得到所述第一签名信息;
采用所述运营商节点的公钥对所述第一签名信息进行解密,得到所述目标计时信息,并基于所述目标计时信息验证所述运营商本地时间Ts1的有效性;
若所述运营商本地时间Ts1验证有效,则基于所述运营商本地时间Ts1与所述用户本地时间Ts2之间的心跳请求传输时间差对所述运营商本地时间Ts1进行确认。
在本申请的一示例性实施例中,所述装置配置为:
若所述心跳请求传输时间差小于或等于预设的第一时间差阈值,则确认所述运营商本地时间Ts1;
若所述心跳请求传输时间差大于所述第一时间差阈值,则拒绝确认所述运营商本地时间Ts1。
在本申请的一示例性实施例中,所述第二心跳请求信息包含所述第二签名信息以及所述运营商节点上次接收到心跳响应信息时的运营商本地时间Tu2,所述装置配置为:
获取所述用户终端上次发送心跳响应信息时的用户本地时间Tu1;
从所述第二心跳请求信息中提取出所述第二签名信息以及所述运营商本地时间Tu2,并采用中继终端的公钥对所述第二签名信息进行解密,得到所述第一签名信息;
采用所述运营商节点的公钥对所述第一签名信息进行解密,得到所述目标计时信息,并基于所述目标计时信息验证所述运营商本地时间Ts1的有效性;
若所述运营商本地时间Ts1验证有效,则基于所述运营商本地时间Ts1与所述用户本地时间Ts2之间的心跳请求传输时间差,以及所述用户本地时间Tu1与所述运营商本地时间Tu2之间的心跳响应传输时间差,对所述运营商本地时间Ts1进行确认。
在本申请的一示例性实施例中,所述装置配置为:
若所述心跳请求传输时间差小于或等于预设的第一时间差阈值,并且所述心跳响应传输时间差小于或等于预设的第二时间差阈值,则确认所述运营商本地时间Ts1;
若所述心跳请求传输时间差大于所述第一时间差阈值,或者所述心跳响应传输时间差大于所述第二时间差阈值,则拒绝确认所述运营商本地时间Ts1。
在本申请的一示例性实施例中,所述装置配置为:
若拒绝确认所述运营商本地时间Ts1,则放弃生成以及发送所述心跳响应信息,或者与所述运营商节点进行时间同步。
在本申请的一示例性实施例中,所述装置配置为:
生成时间同步请求信息,并获取所述用户终端在生成所述时间同步请求信息时的用户本地时间T1;
将所述时间同步请求信息通过所述中继终端发送至所述运营商节点,以使得所述运营商节点基于所述运营商节点接收到所述时间同步请求信息时的运营商本地时间T2生成目标同步信息,并使得所述运营商节点基于运营商节点的私钥对所述目标同步信息进行签名生成第四签名信息,并使得所述运营商节点生成包含所述第四签名信息的时间同步响应信息;
若从所述中继终端接收所述时间同步响应信息,则基于运营商节点的公钥、所述时间同步响应信息、所述用户本地时间T1以及所述用户终端在接收到所述时间同步响应信息时的用户本地时间T3,对所述运营商本地时间T2进行确认;
若确认所述运营商本地时间T2,则按照所述运营商本地时间T2同步所述用户终端的本地时间。
在本申请的一示例性实施例中,所述装置配置为:
从所述时间同步响应信息中提取出所述第四签名信息,并采用运营商节点的公钥对所述第四签名信息进行解密,得到所述目标同步信息;
基于所述目标同步信息验证所述运营商本地时间T2的有效性;
若所述运营商本地时间T2验证有效,则基于所述用户本地时间T1与所述用户本地时间T3之间的本地时间差对所述运营商本地时间T2进行确认。
根据本申请实施例的一方面,公开了一种电子设备,包括:存储器,存储有计算机可读指令;处理器,读取存储器存储的计算机可读指令,以执行以上权利要求中的任一个所述的方法。
根据本申请实施例的一方面,公开了一种计算机程序介质,其上存储有计算机可读指令,当所述计算机可读指令被计算机的处理器执行时,使计算机执行以上权利要求中的任一个所述的方法。
根据本申请实施例的一个方面,提供了一种计算机程序产品或计算机程序,计算机程序产品或计算机程序包括计算机指令,计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取计算机指令,处理器执行计算机指令,使得计算机设备执行上述各种可选实现方式中提供的方法。
本申请实施例中,通过在运营商节点、中继终端以及用户终端共同支持下的心跳机制以及公私钥签名认证机制,保证了用于更新通信时长的运营商本地时间Ts1的可信性。在此基础上结合区块链技术,进一步保证了用于更新通信时长的运营商本地时间Ts1是无争议的,从而使得在区块链记录的运营商本地时间Ts1的基础上,能够计算得到可信且无争议的用户终端的通信时长。
本申请的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本申请的实践而习得。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本申请。
附图说明
通过参考附图详细描述其示例实施例,本申请的上述和其它目标、特征及优点将变得更加显而易见。
图1示出了根据本申请一个实施例的通信时长计量方法的流程图。
图2示出了根据本申请一个实施例的通信时长计量方法的流程图。
图3示出了根据本申请一个实施例的心跳机制流程图。
图4示出了根据本申请一个实施例的时间同步流程图。
图5示出了根据本申请一个实施例的通信时长计量装置的框图。
图6示出了根据本申请一个实施例的通信时长计量装置的框图。
图7示出了根据本申请一个实施例的电子设备硬件图。
具体实施方式
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些示例实施方式使得本申请的描述将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。附图仅为本申请的示意性图解,并非一定是按比例绘制。图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。
此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多示例实施方式中。在下面的描述中,提供许多具体细节从而给出对本申请的示例实施方式的充分理解。然而,本领域技术人员将意识到,可以实践本申请的技术方案而省略所述特定细节中的一个或更多,或者可以采用其它的方法、组元、步骤等。在其它情况下,不详细示出或描述公知结构、方法、实现或者操作以避免喧宾夺主而使得本申请的各方面变得模糊。
附图中所示的一些方框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
本申请提供了一种通信时长计量方法,主要用于近域通信中确定用户终端的通信时长。具体的,近域通信中,用户终端通过无线技术连接到中继终端上,在中继终端所提供中转服务的作用下,用户终端接受运营商节点所提供通信服务。本申请计算得到的用户终端的通信时长,可以为通信计费提供支持,以促进服务提供方(包括中继终端以及运营商节点)的价值变现。
图1示出了本申请提供的一种通信时长计量方法的流程图,该方法应用于运营商节点,该方法包括:
步骤S110、在为该用户终端提供通信服务的过程中,基于用于更新通信时长的运营商本地时间Ts1生成目标计时信息;
步骤S120、采用运营商节点的私钥对该目标计时信息进行签名生成第一签名信息,并生成包含该第一签名信息的第一心跳请求信息;
步骤S130、将该第一心跳请求信息发送至该中继终端,以使得该中继终端采用中继终端的私钥对该第一签名信息进行签名生成第二签名信息,并使得该中继终端将包含该第二签名信息的第二心跳请求信息发送至该用户终端,以供该用户终端基于中继终端的公钥、运营商节点的公钥、该第二心跳请求信息以及接收到该第二心跳请求信息时的用户本地时间Ts2对该运营商本地时间Ts1进行确认;
步骤S140、若从该中继终端接收到该用户终端响应于确认该运营商本地时间Ts1所生成的心跳响应信息,则基于用户终端的公钥验证该心跳响应信息中第三签名信息的有效性,其中,该第三签名信息为该用户终端采用用户终端的私钥对该第二签名信息进行签名生成的;
步骤S150、若该第三签名信息验证有效,则将该第三签名信息以及该运营商本地时间Ts1上链至区块链,以基于区块链记录的运营商本地时间Ts1计算该用户终端的通信时长。
本申请实施例中,通过用于更新通信时长的运营商本地时间Ts1计算用户终端的通信时长。其中,运营商本地时间Ts1一般为在生成第一心跳请求信息时的运营商本地时间。
运营商节点在为用户终端提供通信服务的过程中,确定要生成第一心跳请求信息时,提取当前时刻的运营商本地时间Ts1,进而基于运营商本地时间Ts1生成目标计时信息。其中,目标计时信息主要用于通过与公私钥签名认证机制的结合保证运营商本地时间Ts1的安全性。
运营商节点采用其私钥对目标计时信息进行签名,生成第一签名信息,进而生成包含第一签名信息的第一心跳请求信息。进而运营商节点将第一心跳请求信息发送至中继终端。
中继终端接收到第一心跳请求信息后,从中提取出第一签名信息,进而中继终端采用其私钥对第一签名信息进行签名,得到第二签名信息。进而中继终端生成包含第二签名信息的第二心跳请求信息,并将第二心跳请求信息发送至用户终端。
用户终端接收到第二心跳请求信息后,获取其在接收到第二心跳请求信息时的用户本地时间Ts2。进而用户终端基于中继终端的公钥、运营商节点的公钥、第二心跳请求信息以及用户本地时间Ts2对运营商本地时间Ts1进行确认。其中,各个签名信息主要用于保证运营商本地时间Ts1的可信性,用户本地时间Ts2主要用于供用户终端衡量时间偏差程度,以在运营商本地时间Ts1可信且时间偏差程度可接受时,用户终端对运营商本地时间Ts1进行确认。
若用户终端确定运营商本地时间Ts1,则说明用户终端认可运营商节点使用运营商本地时间Ts1更新用户终端的通信时长;若用户终端拒绝确认运营商本地时间Ts1,则说明用户终端不认可运营商节点使用运营商本地时间Ts1更新用户终端的通信时长。
用户终端确认运营商本地时间Ts1后,采用其私钥对第二签名信息进行签名,得到第三签名信息。进而用户终端生成包含第三签名信息的心跳响应信息,并将心跳响应信息通过中继终端发送至运营商节点。
运营商节点接收到心跳响应信息后,基于用户终端的公钥验证第三签名的有效性。若第三签名信息验证有效,则说明第三签名信息能够证明用户终端认可运营商节点使用运营商本地时间Ts1更新用户终端的通信时长,因此运营商节点将第三签名信息以及运营商本地时间Ts1上链至区块链,保证用户终端、中继终端、运营商节点均对用于更新通信时长的运营商本地时间Ts1可信且无争议。从而能够基于区块链记录的运营商本地时间Ts1计算得到可信且无争议的用户终端的通信时长。
由此可见,本申请实施例中,通过在运营商节点、中继终端以及用户终端共同支持下的心跳机制以及公私钥签名认证机制,保证了用于更新通信时长的运营商本地时间Ts1的可信性。在此基础上结合区块链技术,进一步保证了用于更新通信时长的运营商本地时间Ts1是无争议的,从而使得在区块链记录的运营商本地时间Ts1的基础上,能够计算得到可信且无争议的用户终端的通信时长。
在一实施例中,直接将运营商本地时间Ts1作为目标计时信息。进而第一签名信息为采用运营商节点的私钥对运营商本地时间Ts1进行签名得到的,第二签名信息为采用中继终端的私钥对第一签名信息进行签名得到的。进而用户终端可以采用中继终端的公钥以及运营商节点的公钥依次对第二签名信息进行解密,从而提取得到运营商本地时间Ts1,进而用户终端对运营商本地时间Ts1进行确认。
在一实施例中,计算该运营商本地时间Ts1的摘要值,并将该摘要值作为该目标计时信息。
该实施例中,可以通过Hash算法计算得到运营商本地时间Ts1的Hash值,进而将Hash值作为目标计时信息。进而第一签名信息为采用运营商节点的私钥对Hash值进行签名得到的,第二签名信息为采用中继终端的私钥对第一签名信息进行签名得到的。进而用户终端可以采用中继终端的公钥以及运营商节点的公钥依次对第二签名信息进行解密,从而提取得到Hash值,进而用户终端基于Hash值对运营商本地时间Ts1进行确认。
在一实施例中,直接将第一签名信息封装为第一心跳请求信息。
具体的,直接将运营商本地时间Ts1作为目标计时信息,采用运营商节点的私钥对运营商本地时间Ts1进行签名得到第一签名信息后,直接将第一签名信息封装为第一心跳请求信息。同理,中继终端直接将第二签名信息封装为第二心跳请求信息。
在一实施例中,将该第一签名信息以及该运营商本地时间Ts1封装为该第一心跳请求信息。
该实施例中,第一签名信息可以为采用运营商节点的私钥对运营商本地时间Ts1进行签名得到的,也可以为采用运营商节点的私钥对运营商本地时间Ts1的摘要值进行签名得到的。
具体的,可以通过Hash算法计算得到运营商本地时间Ts1的Hash值,进而将Hash值作为目标计时信息,采用运营商节点的私钥对Hash值进行签名得到第一签名信息后,将第一签名信息以及运营商本地时间Ts1封装为第一心跳请求信息。同理,中继终端将第二签名信息以及运营商本地时间Ts1封装为第二心跳请求信息。
在一实施例中,获取该运营商节点上次接收到心跳响应信息时的运营商本地时间Tu2。将该第一签名信息、该运营商本地时间Ts1以及该运营商本地时间Tu2封装为该第一心跳请求信息。
该实施例中,运营商节点上次接收到心跳响应信息时的运营商本地时间Tu2主要用于供用户终端衡量通信延迟程度。其中,第一签名信息可以为采用运营商节点的私钥对运营商本地时间Ts1进行签名得到的,也可以为采用运营商节点的私钥对运营商本地时间Ts1的摘要值进行签名得到的。
具体的,可以通过Hash算法计算得到运营商本地时间Ts1的Hash值,进而将Hash值作为目标计时信息,采用运营商节点的私钥对Hash值进行签名得到第一签名信息后,将第一签名信息、运营商本地时间Ts1以及运营商本地时间Tu2封装为第一心跳请求信息。同理,中继终端将第二签名信息、运营商本地时间Ts1以及运营商本地时间Tu2封装为第二心跳请求信息。从而用户终端接收到第二心跳请求信息后,根据第二签名信息确认运营商本地时间Ts1是否可信,根据运营商本地时间Ts1以及用户本地时间Ts2衡量通信延迟程度,还可以根据运营商本地时间Tu2以及用户终端上次发送心跳响应信息时的用户本地时间Tu1衡量通信延迟程度。进而在运营商本地时间Ts1可信且通信延迟程度可接受时,用户终端对运营商本地时间Ts1进行确认。
在一实施例中,若在将该第一心跳请求信息发送至该中继终端后的预设时长内,未从该中继终端接收到该心跳响应信息,则停止为该用户终端提供通信服务。
该实施例中,运营商节点将第一心跳请求发送至中继终端后的预设时长内,若未从中继终端接收到用户终端生成的心跳响应信息,则可能是中继终端的缘故用户终端与运营商节点之间存在较大的通信延迟程度,或者可能是用户终端不认可运营商节点使用运营商本地时间Ts1更新用户终端的通信时长。无论是哪一种情况,都不宜再继续为用户终端提供通信服务,因此停止为用户终端提供通信服务。并且,中继终端也停止为用户终端提供中转服务或者近域通信服务。
在一实施例中,在第三签名信息验证有效后,运营商节点将第三签名信息以及运营商本地时间Ts1共同封装到一个交易消息内,进而将交易消息广播到区块链网络中。区块链网络接收到交易消息后,交易消息触发区块链网络中智能合约的执行。智能合约将运营商本地时间Ts1所标识的时间点作为用户终端接受通信服务的最新时间点,并计算与上次的运营商本地时间Ts1相比新增的时间长度。进而按照新增的时间长度扣除用户终端账户中的积分,并将扣除的积分按照预设比例转到中继终端账户以及运营商节点账户。
图2示出了本申请提供的一种通信时长计量方法的流程图,方法应用于用户终端,方法包括:
步骤S210、在接受该运营商节点所提供通信服务的过程中,若从该中继终端接收到包含第二签名信息的第二心跳请求信息,则基于中继终端的公钥、运营商节点的公钥、该第二心跳请求信息以及接收到该第二心跳请求信息时的用户本地时间Ts2,对用于更新通信时长的运营商本地时间Ts1进行确认,其中,该第二签名信息为该中继终端采用中继终端的私钥对第一签名信息生成的,该第一签名信息为该运营商节点采用运营商节点的私钥对目标计时信息生成的,该目标计时信息为该运营商节点基于该运营商本地时间Ts1生成的;
步骤S220、若确认该运营商本地时间Ts1,则采用用户终端的私钥对该第二签名信息进行签名生成第三签名信息,并生成包含该第三签名信息的心跳响应信息;
步骤S230、将该心跳响应信息通过该中继终端发送至该运营商节点,以使得该运营商节点基于用户终端的公钥验证该第三签名信息有效后,该运营商节点将该第三签名信息以及该运营商本地时间Ts1上链至区块链,以基于区块链记录的运营商本地时间Ts1计算该用户终端的通信时长。
本申请实施例中,用户终端在接受运营商节点所提供通信服务的过程中,若从中继终端接收到第二心跳请求信息,则获取接收到第二心跳请求信息的用户本地时间Ts2,进而基于中继终端的公钥、运营商节点的公钥、第二心跳请求信息以及用户本地时间Ts2对用于更新通信时长的运营商本地时间Ts1进行确认。
若用户终端确定运营商本地时间Ts1,则说明用户终端认可运营商节点使用运营商本地时间Ts1更新用户终端的通信时长。在这种情况下,用户终端采用其私钥对第二心跳请求信息中的第二签名信息进行签名,得到第三签名信息,进而生成包含第三签名信息的心跳响应信息。进而用户终端将心跳响应信息通过中继终端发送至运营商节点。
运营商节点接收到心跳响应信息后,基于用户终端的公钥验证心跳响应信息中的第三签名信息有效后,将第三签名信息以及运营商本地时间Ts1上链至区块链,保证用户终端、中继终端、运营商节点均对用于更新通信时长的运营商本地时间Ts1可信且无争议。从而能够基于区块链记录的运营商本地时间Ts1计算得到可信且无争议的用户终端的通信时长。
在一实施例中,从该第二心跳请求信息中提取出该第二签名信息,并采用中继终端的公钥对该第二签名信息进行解密,得到该第一签名信息。采用该运营商节点的公钥对该第一签名信息进行解密,得到该目标计时信息,并基于该目标计时信息验证该运营商本地时间Ts1的有效性。若该运营商本地时间Ts1验证有效,则基于该运营商本地时间Ts1与该用户本地时间Ts2之间的心跳请求传输时间差对该运营商本地时间Ts1进行确认。
该实施例中,用户终端采用中继终端的公钥以及运营商节点的公钥依次对签名信息进行解密得到最内层的目标计时信息,基于目标计时信息验证运营商本地时间Ts1的有效性。
具体的,若运营商节点直接将运营商本地时间Ts1作为目标计时信息,并且直接将第一签名信息封装为第一心跳请求信息,则用户终端直接将解密得到的目标计时信息作为有效的运营商本地时间Ts1;若运营商节点将运营商本地时间Ts1的摘要值作为目标计时信息,并且将第一签名信息以及运营商本地时间Ts1共同封装为第一心跳请求信息,并且中继终端将第二签名信息以及运营商本地时间Ts1共同封装为第二心跳请求信息,则用户终端将解密得到的目标计时信息与从第二心跳请求信息中提取出的运营商本地时间Ts1进行对比,从而根据对比结果验证运营商本地时间Ts1的有效性。
用户终端确认运营商本地时间Ts1有效后,基于运营商本地时间Ts1与用户本地时间Ts2之间的心跳请求传输时间差对运营商本地时间Ts1进行确认。
在一实施例中,若该心跳请求传输时间差小于或等于预设的第一时间差阈值,则确认该运营商本地时间Ts1。若该心跳请求传输时间差大于该第一时间差阈值,则拒绝确认该运营商本地时间Ts1。
该实施例中,若心跳请求传输时间差小于或等于第一时间差阈值,则说明用户终端与运营商节点之间的时间偏差程度在接受范围之内,则用户终端对运营商本地时间Ts1进行确认。反之拒绝确认运营商本地时间Ts1。
在一实施例中,该第二心跳请求信息包含该第二签名信息以及该运营商节点上次接收到心跳响应信息时的运营商本地时间Tu2。获取该用户终端上次发送心跳响应信息时的用户本地时间Tu1。从该第二心跳请求信息中提取出该第二签名信息以及该运营商本地时间Tu2,并采用中继终端的公钥对该第二签名信息进行解密,得到该第一签名信息。采用该运营商节点的公钥对该第一签名信息进行解密,得到该目标计时信息,并基于该目标计时信息验证该运营商本地时间Ts1的有效性。若该运营商本地时间Ts1验证有效,则基于该运营商本地时间Ts1与该用户本地时间Ts2之间的心跳请求传输时间差,以及该用户本地时间Tu1与该运营商本地时间Tu2之间的心跳响应传输时间差,对该运营商本地时间Ts1进行确认。
该实施例中,用户终端确认运营商本地时间Ts1有效后,基于心跳请求传输时间差以及心跳响应传输时间差衡量时间偏差程度,从而根据时间偏差程度对运营商本地时间Ts1进行确认。其中,心跳响应传输时间差指的用户终端上次发送心跳响应信息时的用户本地时间Tu1与运营商节点上次接收到心跳响应信息时的运营商本地是Tu2之间的时间差。
在一实施例中,若该心跳请求传输时间差小于或等于预设的第一时间差阈值,并且该心跳响应传输时间差小于或等于预设的第二时间差阈值,则确认该运营商本地时间Ts1。若该心跳请求传输时间差大于该第一时间差阈值,或者该心跳响应传输时间差大于该第二时间差阈值,则拒绝确认该运营商本地时间Ts1。
该实施例中,若心跳请求传输时间差小于或等于第一时间差阈值,并且心跳响应传输时间差小于或等于第二时间差阈值,则说明时间偏差程度较小,在接受范围之内,则用户终端对运营商本地时间Ts1进行确认;若二者任意一个大于对应的时间差阈值,则说明时间偏差程度至少在一个方向上较大,在接受范围之外,则用户终端拒绝确认运营商本地时间Ts1。
图3示出了本申请一实施例的心跳机制流程图。
实施例中,运营商节点准备第一心跳请求信息M1,获取此时的运营商本地时间Ts1,生成Ts1的Hash值,并采用运营商节点的私钥对Hash值进行签名,得到第一签名信息D1。
运营商节点将D1、运营商本地时间Ts1以及上次收到心跳响应信息时的运营商本地时间Tu2一起放入第一心跳请求信息M1,将第一心跳请求信息M1发送给中继终端。
中继终端接收到M1后,使用运营商节点的公钥对D1进行解密,验证D1的有效性。如果无效则丢弃M1;如果有效则采用中继终端的私钥对D1进行签名,得到第二签名信息D2,并使用D2替换掉M1中的D1,得到第二心跳请求信息M2,将M2发送给用户终端。
用户终端接收到M2后,依次使用中继终端的公钥以及运营商节点的公钥对签名信息进行解密,验证签名信息的有效性。如果D1无效或者D2无效,则丢弃M2;如果D1以及D2均有效,则计算接收到M2时的用户本地时间Ts2与运营商本地时间Ts1之间的时间差,并计算上次发送心跳响应信息时的用户本地时间Tu1与Tu2之间的时间差。若这两个时间差均在可接受范围内,采用用户终端的私钥对D2进行签名,得到第三签名信息D3,并将D3与Ts1共同封装入心跳响应信息R;若这两个时间差中的任意一个超出了可接受范围,则可以选择放弃发送R或者选择开启一次时间同步过程。
用户终端将R发送给中继终端后,中继终端接收到R,使用用户终端的公钥对D3进行解密,验证D3的有效性。如果无效则丢弃R;如果有效则将R发送给运营商节点。
运营商节点接收到R后,使用用户终端的公钥对D3进行解密,验证D3的有效性。如果无效则丢弃R;如果有效则记录接收到R时的新的Tu2,以将新的Tu2填入下次的第一心跳请求信息中,并将D3以及Ts1一起封装到一个交易消息中,进而将交易消息发送到区块链网络。
区块链网络接收到交易消息后,交易消息触发区块链网络中智能合约的执行。智能合约将运营商本地时间Ts1所标识的时间点作为用户终端接受通信服务的最新时间点,并计算与上次的运营商本地时间Ts1相比新增的时间长度。进而按照新增的时间长度扣除用户终端账户中的积分,并将扣除的积分按照预设比例转到中继终端账户以及运营商节点账户。
区块链网络将交易消息和账户状态的改变在整个区块链网络进行共识,记录到区块链账本中。
在一实施例中,若拒绝确认该运营商本地时间Ts1,则放弃生成以及发送该心跳响应信息,或者与该运营商节点进行时间同步。
该实施例中,若用户终端拒绝确认运营商本地时间Ts1,则可以选择放弃生成以及发送心跳响应信息,或者可以选择与运营商节点进行时间同步。
在一实施例中,生成时间同步请求信息,并获取该用户终端在生成该时间同步请求信息时的用户本地时间T1。将该时间同步请求信息通过该中继终端发送至该运营商节点,以使得该运营商节点基于该运营商节点接收到该时间同步请求信息时的运营商本地时间T2生成目标同步信息,并使得该运营商节点基于运营商节点的私钥对该目标同步信息进行签名生成第四签名信息,并使得该运营商节点生成包含该第四签名信息的时间同步响应信息。若从该中继终端接收该时间同步响应信息,则基于运营商节点的公钥、该时间同步响应信息、该用户本地时间T1以及该用户终端在接收到该时间同步响应信息时的用户本地时间T3,对该运营商本地时间T2进行确认。若确认该运营商本地时间T2,则按照该运营商本地时间T2同步该用户终端的本地时间。
该实施例中,用户终端主动向运营商节点发起时间同步请求。
具体的,用户终端生成时间同步请求信息,通过中继终端将时间同步请求信息发送至运营商节点,并记录生成时间同步请求信息时的用户本地时间T1。
运营商节点接收到时间同步请求信息后,记录接收到时间同步请求信息的运营商本地时间T2,并基于运营商本地时间T2生成目标同步信息,并采用其私钥对目标同步信息进行签名生成第四签名信息,并生成包含第四签名信息的时间同步响应信息。进而通过中继终端将时间同步响应信息发送至用户终端。
用户终端接收到时间同步响应信息后,记录接收到时间同步响应信息的用户本地时间T3。基于运营商节点的公钥、时间同步响应信息、用户本地时间T1以及用户本地时间T3对运营商本地时间T2进行确认。其中,第四签名信息主要用于保证运营商本地时间T2的可信性,用户本地时间T1以及用户本地时间T3主要用于供用户终端衡量中继终端的通信延迟程度,以在运营商本地时间T2可信且中继终端的通信延迟程度可接受时,用户终端对运营商本地时间T2进行确认,进而按照运营商本地时间T2同步用户终端的本地时间。
在一实施例中,从该时间同步响应信息中提取出该第四签名信息,并采用运营商节点的公钥对该第四签名信息进行解密,得到该目标同步信息。基于该目标同步信息验证该运营商本地时间T2的有效性。若该运营商本地时间T2验证有效,则基于该用户本地时间T1与该用户本地时间T3之间的本地时间差对该运营商本地时间T2进行确认。
该实施例中,若运营商节点直接将运营商本地时间T2作为目标同步信息,并且直接将第四签名信息封装为时间同步响应信息,则用户终端直接将解密得到的目标同步信息作为有效的运营商本地时间T2;若运营商节点将运营商本地时间T2的摘要值作为目标同步信息,并且将第四签名信息以及运营商本地时间T2共同封装为时间同步响应信息,则用户终端将解密得到的目标同步信息于从时间同步响应信息中提取出的运营商本地时间T2进行对比,从而根据对比结果验证运营商本地时间T2的有效性。
图4示出了本申请一实施例的时间同步流程图。
该实施例中,时间同步由用户终端主动发起,时间同步的发起条件为用户终端刚接入运营商接收所提供的通信服务时,或者用户终端发现Ts1与Ts2之间的时间差超出了可接受范围,或者用户终端发现Tu1与Tu2之间的时间差超出了可接受范围。
用户终端准备时间同步请求信息,记录此时的用户本地时间T1,通过中继终端将时间同步请求发送给运营商节点。
运营商节点准备时间同步响应信息,生成此时的运营商本地时间T2的Hash值,采用运营商节点的私钥对Hash值进行签名,得到第四签名D4,并将D4以及T2共同填入时间同步响应信息,进而通过中继终端将时间同步响应信息发送给用户终端。
用户终端采用运营商节点的公钥对D4进行解密,验证D4的有效性。如果D4无效则丢弃时间同步响应信息;如果D4有效,则获取接收到D4是的用户本地时间T3,进而评估T1与T3之间的差值是否在可接受范围内。如果在可接受范围内,则将用户本地时间与T2进行同步;如果超出可接受范围,则丢弃时间同步响应,重新发起时间同步过程。如果多次时间同步T1与T3之间的差值均超出可接受范围,则选择放弃接收运营商节点所提供通信服务。
图5示出了根据本申请一实施例的通信时长计量装置,所述装置设于在中继终端所提供中转服务的作用下为用户终端提供通信服务的运营商节点,所述装置包括:
目标计时信息生成模块310,配置为在为所述用户终端提供通信服务的过程中,基于用于更新通信时长的运营商本地时间Ts1生成目标计时信息;
第一心跳请求生成模块320,配置为采用运营商节点的私钥对所述目标计时信息进行签名生成第一签名信息,并生成包含所述第一签名信息的第一心跳请求信息;
第一心跳请求发送模块330,配置为将所述第一心跳请求信息发送至所述中继终端,以使得所述中继终端采用中继终端的私钥对所述第一签名信息进行签名生成第二签名信息,并使得所述中继终端将包含所述第二签名信息的第二心跳请求信息发送至所述用户终端,以供所述用户终端基于中继终端的公钥、运营商节点的公钥、所述第二心跳请求信息以及接收到所述第二心跳请求信息时的用户本地时间Ts2对所述运营商本地时间Ts1进行确认;
心跳响应接收模块340,配置为若从所述中继终端接收到所述用户终端响应于确认所述运营商本地时间Ts1所生成的心跳响应信息,则基于用户终端的公钥验证所述心跳响应信息中第三签名信息的有效性,其中,所述第三签名信息为所述用户终端采用用户终端的私钥对所述第二签名信息进行签名生成的;
信息上链模块350,配置为若所述第三签名信息验证有效,则将所述第三签名信息以及所述运营商本地时间Ts1上链至区块链,以基于区块链记录的运营商本地时间Ts1计算所述用户终端的通信时长。
在本申请的一示例性实施例中,所述装置配置为:
计算所述运营商本地时间Ts1的摘要值,并将所述摘要值作为所述目标计时信息。
在本申请的一示例性实施例中,所述装置配置为:
将所述第一签名信息以及所述运营商本地时间Ts1封装为所述第一心跳请求信息。
在本申请的一示例性实施例中,所述装置配置为:
获取所述运营商节点上次接收到心跳响应信息时的运营商本地时间Tu2;
将所述第一签名信息、所述运营商本地时间Ts1以及所述运营商本地时间Tu2封装为所述第一心跳请求信息。
在本申请的一示例性实施例中,所述装置配置为:
若在将所述第一心跳请求信息发送至所述中继终端后的预设时长内,未从所述中继终端接收到所述心跳响应信息,则停止为所述用户终端提供通信服务。
图6示出了本申请一实施例的通信时长计量装置,所述装置设于在中继终端所提供中转服务的作用下接受运营商节点所提供通信服务的用户终端,所述装置包括:
时间确认模块410,配置为在接受所述运营商节点所提供通信服务的过程中,若从所述中继终端接收到包含第二签名信息的第二心跳请求信息,则基于中继终端的公钥、运营商节点的公钥、所述第二心跳请求信息以及接收到所述第二心跳请求信息时的用户本地时间Ts2,对用于更新通信时长的运营商本地时间Ts1进行确认,其中,所述第二签名信息为所述中继终端采用中继终端的私钥对第一签名信息生成的,所述第一签名信息为所述运营商节点采用运营商节点的私钥对目标计时信息生成的,所述目标计时信息为所述运营商节点基于所述运营商本地时间Ts1生成的;
第三签名信息生成模块420,配置为若确认所述运营商本地时间Ts1,则采用用户终端的私钥对所述第二签名信息进行签名生成第三签名信息,并生成包含所述第三签名信息的心跳响应信息;
心跳响应发送模块430,配置为将所述心跳响应信息通过所述中继终端发送至所述运营商节点,以使得所述运营商节点基于用户终端的公钥验证所述第三签名信息有效后,所述运营商节点将所述第三签名信息以及所述运营商本地时间Ts1上链至区块链,以基于区块链记录的运营商本地时间Ts1计算所述用户终端的通信时长。
在本申请的一示例性实施例中,所述装置配置为:
从所述第二心跳请求信息中提取出所述第二签名信息,并采用中继终端的公钥对所述第二签名信息进行解密,得到所述第一签名信息;
采用所述运营商节点的公钥对所述第一签名信息进行解密,得到所述目标计时信息,并基于所述目标计时信息验证所述运营商本地时间Ts1的有效性;
若所述运营商本地时间Ts1验证有效,则基于所述运营商本地时间Ts1与所述用户本地时间Ts2之间的心跳请求传输时间差对所述运营商本地时间Ts1进行确认。
在本申请的一示例性实施例中,所述装置配置为:
若所述心跳请求传输时间差小于或等于预设的第一时间差阈值,则确认所述运营商本地时间Ts1;
若所述心跳请求传输时间差大于所述第一时间差阈值,则拒绝确认所述运营商本地时间Ts1。
在本申请的一示例性实施例中,所述第二心跳请求信息包含所述第二签名信息以及所述运营商节点上次接收到心跳响应信息时的运营商本地时间Tu2,所述装置配置为:
获取所述用户终端上次发送心跳响应信息时的用户本地时间Tu1;
从所述第二心跳请求信息中提取出所述第二签名信息以及所述运营商本地时间Tu2,并采用中继终端的公钥对所述第二签名信息进行解密,得到所述第一签名信息;
采用所述运营商节点的公钥对所述第一签名信息进行解密,得到所述目标计时信息,并基于所述目标计时信息验证所述运营商本地时间Ts1的有效性;
若所述运营商本地时间Ts1验证有效,则基于所述运营商本地时间Ts1与所述用户本地时间Ts2之间的心跳请求传输时间差,以及所述用户本地时间Tu1与所述运营商本地时间Tu2之间的心跳响应传输时间差,对所述运营商本地时间Ts1进行确认。
在本申请的一示例性实施例中,所述装置配置为:
若所述心跳请求传输时间差小于或等于预设的第一时间差阈值,并且所述心跳响应传输时间差小于或等于预设的第二时间差阈值,则确认所述运营商本地时间Ts1;
若所述心跳请求传输时间差大于所述第一时间差阈值,或者所述心跳响应传输时间差大于所述第二时间差阈值,则拒绝确认所述运营商本地时间Ts1。
在本申请的一示例性实施例中,所述装置配置为:
若拒绝确认所述运营商本地时间Ts1,则放弃生成以及发送所述心跳响应信息,或者与所述运营商节点进行时间同步。
在本申请的一示例性实施例中,所述装置配置为:
生成时间同步请求信息,并获取所述用户终端在生成所述时间同步请求信息时的用户本地时间T1;
将所述时间同步请求信息通过所述中继终端发送至所述运营商节点,以使得所述运营商节点基于所述运营商节点接收到所述时间同步请求信息时的运营商本地时间T2生成目标同步信息,并使得所述运营商节点基于运营商节点的私钥对所述目标同步信息进行签名生成第四签名信息,并使得所述运营商节点生成包含所述第四签名信息的时间同步响应信息;
若从所述中继终端接收所述时间同步响应信息,则基于运营商节点的公钥、所述时间同步响应信息、所述用户本地时间T1以及所述用户终端在接收到所述时间同步响应信息时的用户本地时间T3,对所述运营商本地时间T2进行确认;
若确认所述运营商本地时间T2,则按照所述运营商本地时间T2同步所述用户终端的本地时间。
在本申请的一示例性实施例中,所述装置配置为:
从所述时间同步响应信息中提取出所述第四签名信息,并采用运营商节点的公钥对所述第四签名信息进行解密,得到所述目标同步信息;
基于所述目标同步信息验证所述运营商本地时间T2的有效性;
若所述运营商本地时间T2验证有效,则基于所述用户本地时间T1与所述用户本地时间T3之间的本地时间差对所述运营商本地时间T2进行确认。
下面参考图7来描述根据本申请实施例的电子设备50。图7显示的电子设备50仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图7所示,电子设备50以通用计算设备的形式表现。电子设备50的组件可以包括但不限于:上述至少一个处理单元510、上述至少一个存储单元520、连接不同系统组件(包括存储单元520和处理单元510)的总线530。
其中,所述存储单元存储有程序代码,所述程序代码可以被所述处理单元510执行,使得所述处理单元510执行本说明书上述示例性方法的描述部分中描述的根据本发明各种示例性实施方式的步骤。例如,所述处理单元510可以执行如图1或图2中所示的各个步骤。
存储单元520可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(RAM)5201和/或高速缓存存储单元5202,还可以进一步包括只读存储单元(ROM)5203。
存储单元520还可以包括具有一组(至少一个)程序模块5205的程序/实用工具5204,这样的程序模块5205包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
总线530可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、外围总线、图形加速端口、处理单元或者使用多种总线结构中的任意总线结构的局域总线。
电子设备50也可以与一个或多个外部设备600(例如键盘、指向设备、蓝牙设备等)通信,还可与一个或者多个使得用户能与电子设备50交互的设备通信,和/或与使得电子设备50能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口550进行。输入/输出(I/O)接口550与显示单元540相连。并且,电子设备50还可以通过网络适配器560与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器560通过总线530与电子设备50的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备50使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本申请实施方式的技术方案可以以软件产品的形式体现出来,软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、终端装置、或者网络设备等)执行根据本申请实施方式的方法。
在本申请的示例性实施例中,还提供了一种计算机可读存储介质,其上存储有计算机可读指令,当所述计算机可读指令被计算机的处理器执行时,使计算机执行上述方法实施例部分描述的方法。
根据本申请的一个实施例,还提供了一种用于实现上述方法实施例中的方法的程序产品,其可以采用便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,并可以在终端设备,例如个人电脑上运行。然而,本发明的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
所述程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如JAVA、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本申请的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
此外,尽管在附图中以特定顺序描述了本申请中方法的各个步骤,但是,这并非要求或者暗示必须按照特定顺序来执行这些步骤,或是必须执行全部所示的步骤才能实现期望的结果。附加的或备选的,可以省略某些步骤,将多个步骤合并为一个步骤执行,以及/或者将一个步骤分解为多个步骤执行等。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本申请实施方式的技术方案可以以软件产品的形式体现出来,软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、移动终端、或者网络设备等)执行根据本申请实施方式的方法。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由所附的权利要求指出。
Claims (15)
1.一种通信时长计量方法,其特征在于,所述方法应用于在中继终端所提供中转服务的作用下为用户终端提供通信服务的运营商节点,所述方法包括:
在为所述用户终端提供通信服务的过程中,基于用于更新通信时长的运营商本地时间Ts1生成目标计时信息;
采用运营商节点的私钥对所述目标计时信息进行签名生成第一签名信息,并生成包含所述第一签名信息的第一心跳请求信息;
将所述第一心跳请求信息发送至所述中继终端,以使得所述中继终端采用中继终端的私钥对所述第一签名信息进行签名生成第二签名信息,并使得所述中继终端将包含所述第二签名信息的第二心跳请求信息发送至所述用户终端,以供所述用户终端基于中继终端的公钥、运营商节点的公钥、所述第二心跳请求信息以及接收到所述第二心跳请求信息时的用户本地时间Ts2对所述运营商本地时间Ts1进行确认;
若从所述中继终端接收到所述用户终端响应于确认所述运营商本地时间Ts1所生成的心跳响应信息,则基于用户终端的公钥验证所述心跳响应信息中第三签名信息的有效性,其中,所述第三签名信息为所述用户终端采用用户终端的私钥对所述第二签名信息进行签名生成的;
若所述第三签名信息验证有效,则将所述第三签名信息以及所述运营商本地时间Ts1上链至区块链,以基于区块链记录的运营商本地时间Ts1计算所述用户终端的通信时长。
2.根据权利要求1所述的方法,其特征在于,基于用于更新通信时刻的运营商本地时间Ts1生成目标计时信息,包括:
计算所述运营商本地时间Ts1的摘要值,并将所述摘要值作为所述目标计时信息。
3.根据权利要求1所述的方法,其特征在于,生成包含所述第一签名信息的第一心跳请求信息,包括:
将所述第一签名信息以及所述运营商本地时间Ts1封装为所述第一心跳请求信息。
4.根据权利要求1所述的方法,其特征在于,生成包含所述第一签名信息的第一心跳请求信息,包括:
获取所述运营商节点上次接收到心跳响应信息时的运营商本地时间Tu2;
将所述第一签名信息、所述运营商本地时间Ts1以及所述运营商本地时间Tu2封装为所述第一心跳请求信息。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
若在将所述第一心跳请求信息发送至所述中继终端后的预设时长内,未从所述中继终端接收到所述心跳响应信息,则停止为所述用户终端提供通信服务。
6.一种通信时长计量方法,其特征在于,所述方法应用于在中继终端所提供中转服务的作用下接受运营商节点所提供通信服务的用户终端,所述方法包括:
在接受所述运营商节点所提供通信服务的过程中,若从所述中继终端接收到包含第二签名信息的第二心跳请求信息,则基于中继终端的公钥、运营商节点的公钥、所述第二心跳请求信息以及接收到所述第二心跳请求信息时的用户本地时间Ts2,对用于更新通信时长的运营商本地时间Ts1进行确认,其中,所述第二签名信息为所述中继终端采用中继终端的私钥对第一签名信息生成的,所述第一签名信息为所述运营商节点采用运营商节点的私钥对目标计时信息生成的,所述目标计时信息为所述运营商节点基于所述运营商本地时间Ts1生成的;
若确认所述运营商本地时间Ts1,则采用用户终端的私钥对所述第二签名信息进行签名生成第三签名信息,并生成包含所述第三签名信息的心跳响应信息;
将所述心跳响应信息通过所述中继终端发送至所述运营商节点,以使得所述运营商节点基于用户终端的公钥验证所述第三签名信息有效后,所述运营商节点将所述第三签名信息以及所述运营商本地时间Ts1上链至区块链,以基于区块链记录的运营商本地时间Ts1计算所述用户终端的通信时长。
7.根据权利要求6所述的方法,其特征在于,基于中继终端的公钥、运营商节点的公钥、所述第二心跳请求信息以及接收到所述第二心跳请求信息时的用户本地时间Ts2对用于更新通信时长的运营商本地时间Ts1进行确认,包括:
从所述第二心跳请求信息中提取出所述第二签名信息,并采用中继终端的公钥对所述第二签名信息进行解密,得到所述第一签名信息;
采用所述运营商节点的公钥对所述第一签名信息进行解密,得到所述目标计时信息,并基于所述目标计时信息验证所述运营商本地时间Ts1的有效性;
若所述运营商本地时间Ts1验证有效,则基于所述运营商本地时间Ts1与所述用户本地时间Ts2之间的心跳请求传输时间差对所述运营商本地时间Ts1进行确认。
8.根据权利要求7所述的方法,其特征在于,基于所述运营商本地时间Ts1与所述用户本地时间Ts2之间的心跳请求传输时间差对所述运营商本地时间Ts1进行确认,包括:
若所述心跳请求传输时间差小于或等于预设的第一时间差阈值,则确认所述运营商本地时间Ts1;
若所述心跳请求传输时间差大于所述第一时间差阈值,则拒绝确认所述运营商本地时间Ts1。
9.根据权利要求6所述的方法,其特征在于,所述第二心跳请求信息包含所述第二签名信息以及所述运营商节点上次接收到心跳响应信息时的运营商本地时间Tu2,基于中继终端的公钥、运营商节点的公钥、所述第二心跳请求信息以及接收到所述第二心跳请求信息时的用户本地时间Ts2对用于更新通信时长的运营商本地时间Ts1进行确认,包括:
获取所述用户终端上次发送心跳响应信息时的用户本地时间Tu1;
从所述第二心跳请求信息中提取出所述第二签名信息以及所述运营商本地时间Tu2,并采用中继终端的公钥对所述第二签名信息进行解密,得到所述第一签名信息;
采用所述运营商节点的公钥对所述第一签名信息进行解密,得到所述目标计时信息,并基于所述目标计时信息验证所述运营商本地时间Ts1的有效性;
若所述运营商本地时间Ts1验证有效,则基于所述运营商本地时间Ts1与所述用户本地时间Ts2之间的心跳请求传输时间差,以及所述用户本地时间Tu1与所述运营商本地时间Tu2之间的心跳响应传输时间差,对所述运营商本地时间Ts1进行确认。
10.根据权利要求9所述的方法,其特征在于,基于所述运营商本地时间Ts1与所述用户本地时间Ts2之间的心跳请求传输时间差,以及所述运营商用户本地时间Tu1与所述运营商本地时间Tu2之间的心跳响应传输时间差,对所述运营商本地时间Ts1进行确认,包括:
若所述心跳请求传输时间差小于或等于预设的第一时间差阈值,并且所述心跳响应传输时间差小于或等于预设的第二时间差阈值,则确认所述运营商本地时间Ts1;
若所述心跳请求传输时间差大于所述第一时间差阈值,或者所述心跳响应传输时间差大于所述第二时间差阈值,则拒绝确认所述运营商本地时间Ts1。
11.根据权利要求6所述的方法,其特征在于,所述方法还包括:
若拒绝确认所述运营商本地时间Ts1,则放弃生成以及发送所述心跳响应信息,或者与所述运营商节点进行时间同步。
12.根据权利要求11所述的方法,其特征在于,与所述运营商节点进行时间同步,包括:
生成时间同步请求信息,并获取所述用户终端在生成所述时间同步请求信息时的用户本地时间T1;
将所述时间同步请求信息通过所述中继终端发送至所述运营商节点,以使得所述运营商节点基于所述运营商节点接收到所述时间同步请求信息时的运营商本地时间T2生成目标同步信息,并使得所述运营商节点基于运营商节点的私钥对所述目标同步信息进行签名生成第四签名信息,并使得所述运营商节点生成包含所述第四签名信息的时间同步响应信息;
若从所述中继终端接收所述时间同步响应信息,则基于运营商节点的公钥、所述时间同步响应信息、所述用户本地时间T1以及所述用户终端在接收到所述时间同步响应信息时的用户本地时间T3,对所述运营商本地时间T2进行确认;
若确认所述运营商本地时间T2,则按照所述运营商本地时间T2同步所述用户终端的本地时间。
13.根据权利要求11所述的方法,其特征在于,基于运营商节点的公钥、所述时间同步响应信息、所述用户本地时间T1以及所述用户终端在接收到所述时间同步响应信息时的用户本地时间T3,对所述运营商本地时间T2进行确认,包括:
从所述时间同步响应信息中提取出所述第四签名信息,并采用运营商节点的公钥对所述第四签名信息进行解密,得到所述目标同步信息;
基于所述目标同步信息验证所述运营商本地时间T2的有效性;
若所述运营商本地时间T2验证有效,则基于所述用户本地时间T1与所述用户本地时间T3之间的本地时间差对所述运营商本地时间T2进行确认。
14.一种通信时长计量装置,其特征在于,所述装置设于在中继终端所提供中转服务的作用下为用户终端提供通信服务的运营商节点,所述装置包括:
目标计时信息生成模块,配置为在为所述用户终端提供通信服务的过程中,基于用于更新通信时长的运营商本地时间Ts1生成目标计时信息;
第一心跳请求生成模块,配置为采用运营商节点的私钥对所述目标计时信息进行签名生成第一签名信息,并生成包含所述第一签名信息的第一心跳请求信息;
第一心跳请求发送模块,配置为将所述第一心跳请求信息发送至所述中继终端,以使得所述中继终端采用中继终端的私钥对所述第一签名信息进行签名生成第二签名信息,并使得所述中继终端将包含所述第二签名信息的第二心跳请求信息发送至所述用户终端,以供所述用户终端基于中继终端的公钥、运营商节点的公钥、所述第二心跳请求信息以及接收到所述第二心跳请求信息时的用户本地时间Ts2对所述运营商本地时间Ts1进行确认;
心跳响应接收模块,配置为若从所述中继终端接收到所述用户终端响应于确认所述运营商本地时间Ts1所生成的心跳响应信息,则基于用户终端的公钥验证所述心跳响应信息中第三签名信息的有效性,其中,所述第三签名信息为所述用户终端采用用户终端的私钥对所述第二签名信息进行签名生成的;
信息上链模块,配置为若所述第三签名信息验证有效,则将所述第三签名信息以及所述运营商本地时间Ts1上链至区块链,以基于区块链记录的运营商本地时间Ts1计算所述用户终端的通信时长。
15.一种通信时长计量装置,其特征在于,所述装置设于在中继终端所提供中转服务的作用下接受运营商节点所提供通信服务的用户终端,所述装置包括:
时间确认模块,配置为在接受所述运营商节点所提供通信服务的过程中,若从所述中继终端接收到包含第二签名信息的第二心跳请求信息,则基于中继终端的公钥、运营商节点的公钥、所述第二心跳请求信息以及接收到所述第二心跳请求信息时的用户本地时间Ts2,对用于更新通信时长的运营商本地时间Ts1进行确认,其中,所述第二签名信息为所述中继终端采用中继终端的私钥对第一签名信息生成的,所述第一签名信息为所述运营商节点采用运营商节点的私钥对目标计时信息生成的,所述目标计时信息为所述运营商节点基于所述运营商本地时间Ts1生成的;
第三签名信息生成模块,配置为若确认所述运营商本地时间Ts1,则采用用户终端的私钥对所述第二签名信息进行签名生成第三签名信息,并生成包含所述第三签名信息的心跳响应信息;
心跳响应发送模块,配置为将所述心跳响应信息通过所述中继终端发送至所述运营商节点,以使得所述运营商节点基于用户终端的公钥验证所述第三签名信息有效后,所述运营商节点将所述第三签名信息以及所述运营商本地时间Ts1上链至区块链,以基于区块链记录的运营商本地时间Ts1计算所述用户终端的通信时长。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111337333.XA CN114125799B (zh) | 2021-11-12 | 2021-11-12 | 通信时长计量方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111337333.XA CN114125799B (zh) | 2021-11-12 | 2021-11-12 | 通信时长计量方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114125799A true CN114125799A (zh) | 2022-03-01 |
CN114125799B CN114125799B (zh) | 2024-06-07 |
Family
ID=80378830
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111337333.XA Active CN114125799B (zh) | 2021-11-12 | 2021-11-12 | 通信时长计量方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114125799B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1859616A (zh) * | 2006-01-20 | 2006-11-08 | 华为技术有限公司 | 一种校正终端设备本地时间的方法及终端设备 |
CN103684802A (zh) * | 2013-12-05 | 2014-03-26 | 大唐移动通信设备有限公司 | 离线计费的方法及设备 |
US20150177702A1 (en) * | 2015-01-20 | 2015-06-25 | Aidan Kehoe | Device and method to show recipient's local time with real-time communication |
CN106301805A (zh) * | 2015-05-11 | 2017-01-04 | 华为技术有限公司 | 一种策略和计费执行功能装置、在线计费装置及在线计费方法 |
CN108632480A (zh) * | 2018-04-19 | 2018-10-09 | 北京阿尔山金融科技有限公司 | 基于区块链的计费方法及装置 |
-
2021
- 2021-11-12 CN CN202111337333.XA patent/CN114125799B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1859616A (zh) * | 2006-01-20 | 2006-11-08 | 华为技术有限公司 | 一种校正终端设备本地时间的方法及终端设备 |
CN103684802A (zh) * | 2013-12-05 | 2014-03-26 | 大唐移动通信设备有限公司 | 离线计费的方法及设备 |
US20150177702A1 (en) * | 2015-01-20 | 2015-06-25 | Aidan Kehoe | Device and method to show recipient's local time with real-time communication |
CN106301805A (zh) * | 2015-05-11 | 2017-01-04 | 华为技术有限公司 | 一种策略和计费执行功能装置、在线计费装置及在线计费方法 |
CN108632480A (zh) * | 2018-04-19 | 2018-10-09 | 北京阿尔山金融科技有限公司 | 基于区块链的计费方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN114125799B (zh) | 2024-06-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10756908B1 (en) | User authentication with self-signed certificate and identity verification | |
US9524379B2 (en) | Security chip used in a contents data playing device, update management method, and update management program | |
CN108596588B (zh) | 一种区块数据的处理方法、装置、计算设备和存储介质 | |
WO2017028593A1 (zh) | 网络接入设备接入无线网络接入点的方法、网络接入设备、应用程序服务器和非易失性计算机可读存储介质 | |
CN110619520B (zh) | 区块链系统和应用于区块链系统的路由节点的路由方法 | |
CN110362990A (zh) | 应用安装的安全处理方法、装置及系统 | |
US20170093570A1 (en) | Computer-readable recording medium storing update program and update method, and computer-readable recording medium storing management program and management method | |
US20090316909A1 (en) | Utilization apparatus, servicer apparatus, service utilization system, service utilization method, service utilization program, and integrated circuit | |
US10536271B1 (en) | Silicon key attestation | |
US10372440B1 (en) | Tokenized mobile device update systems and methods | |
US20140040997A1 (en) | Self-deleting virtual machines | |
KR102276795B1 (ko) | 블록체인 기반의 무선 충전을 위한 방법 및 이 방법을 수행하는 프로그램이 기록된 컴퓨터 판독 가능한 기록매체 | |
CN112073433B (zh) | 一种ssl证书更新方法、装置、电子设备及存储介质 | |
US20230325178A1 (en) | Tokenized mobile device update systems and methods | |
JP2022541835A (ja) | データ要求を処理するための方法及び装置、電子機器、記憶媒体並びにコンピュータプログラム | |
CN103560887A (zh) | 智能终端远程证明方法和系统 | |
CN108400875B (zh) | 基于键值的授权认证方法、系统、电子设备、存储介质 | |
CN112825522A (zh) | 可信的数据传输方法、系统、电子设备、存储介质 | |
CN115473638A (zh) | 量子密钥加密、解密方法及系统 | |
CN114142995B (zh) | 面向区块链中继通信网络的密钥安全分发方法及装置 | |
CN111045743A (zh) | 操作系统安全启动方法、管理方法、装置、设备 | |
CN113282951B (zh) | 一种应用程序的安全校验方法、装置及设备 | |
CN114125799B (zh) | 通信时长计量方法及装置 | |
CN115174079B (zh) | 基于量子密钥的用户登录认证方法及系统 | |
CN108848094B (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 |