CN114448649B - 一种数据流通方法、系统、存储介质及电子设备 - Google Patents

一种数据流通方法、系统、存储介质及电子设备 Download PDF

Info

Publication number
CN114448649B
CN114448649B CN202210362634.6A CN202210362634A CN114448649B CN 114448649 B CN114448649 B CN 114448649B CN 202210362634 A CN202210362634 A CN 202210362634A CN 114448649 B CN114448649 B CN 114448649B
Authority
CN
China
Prior art keywords
data
circulation
equipment
double
sender
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202210362634.6A
Other languages
English (en)
Other versions
CN114448649A (zh
Inventor
陆舟
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Feitian Technologies Co Ltd
Original Assignee
Feitian Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Feitian Technologies Co Ltd filed Critical Feitian Technologies Co Ltd
Priority to CN202210362634.6A priority Critical patent/CN114448649B/zh
Publication of CN114448649A publication Critical patent/CN114448649A/zh
Application granted granted Critical
Publication of CN114448649B publication Critical patent/CN114448649B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3297Cryptographic 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 time stamps, e.g. generation of time stamps
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • H04L9/3242Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving keyed hash functions, e.g. message authentication codes [MACs], CBC-MAC or HMAC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3263Cryptographic 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
    • H04L9/3268Cryptographic 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 using certificate validation, registration, distribution or revocation, e.g. certificate revocation list [CRL]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Power Engineering (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本申请公开了一种数据流通方法、系统、存储介质及电子设备,其中,方法包括:数据发送方设备接收到的若是双离线数据流通初始化指令,则生成第二随机数,并将该阶段的相关数据发送给数据接收方设备;若是双离线数据流通执行指令,则在信息验证通过后,计算数据新余量,在确定各数据减量凭证中的最后一个数据流通子链的子数据流通量之和大于等于双离线数据流通量时,利用自身生成的会话密钥对数据减量凭证进行加密获得报文验证码,并将双离线数据流通执行的相关数据发送给数据接收方设备;若是双离线数据流通完成指令,则在验证报文验证码正确后保存数据流通结果,完成数据流通。该方法确保了双离线数据流通的真实性、可靠性及不可抵赖性。

Description

一种数据流通方法、系统、存储介质及电子设备
技术领域
本申请涉及数据处理技术领域,尤其涉及一种数据流通方法、系统、存储介质及电子设备。
背景技术
单离线作为当下较常见的一种数据流通方式,其实现数据流通的机制是:数据发送方设备与数据接收方设备中,其中一方设备能够与服务器进行通信,当服务器接收到设备发送过来的数据流出/数据流入请求时对数据进行实时划转,从而实现单离线数据流通。
基于单离线技术发展出的双离线技术则是指在数据流通过程中,数据发送方设备与数据接收方设备双方均不能与服务器进行通信,即在服务器未参与的情况下,数据发送方设备与数据接收方设备之间也能够完成数据流通。因双离线数据流通过程中服务器未参与,如何保证双离线数据流通的真实性、可靠性以及不可抵赖性成为了亟待解决的问题。
发明内容
本申请实施例提供了一种数据流通方法、系统、存储介质及电子设备,所述技术方案如下:
第一方面,本申请实施例提供了一种数据流通方法,所述方法应用于数据发送方设备,包括:
步骤S11:所述数据发送方设备接收指令;
步骤S12:所述数据发送方设备对所述指令的功能进行判断,若是双离线数据流通初始化指令,则执行步骤S13;若是双离线数据流通执行指令,则执行步骤S16;若是双离线数据流通完成指令,则执行步骤S24;
步骤S13:所述数据发送方设备解析所述双离线数据流通初始化指令,获取双离线数据流通量以及第一时间戳;
步骤S14:所述数据发送方设备生成第二随机数,并获取数据发送方设备的标识以及名称、预先存储的数据发送方设备证书,将所述双离线数据流通量、所述第一时间戳、所述第二随机数、所述数据发送方设备的标识以及名称、所述数据发送方设备证书发送给数据接收方设备;
步骤S15:所述数据发送方设备将数据流通状态设置为双离线数据流通状态并结束;
步骤S16:所述数据发送方设备解析所述双离线数据流通执行指令并检测双离线数据流通状态是否设置成功,若是,确定双离线数据流通初始化指令已执行成功,执行步骤S17,否则,返回错误信息并结束;
步骤S17:所述数据发送方设备通过解析所述双离线数据流通执行指令获取到所述数据接收方设备生成的签名数据、第一随机数、第一密钥分散因子、数据接收方设备的标识以及名称、数据接收方设备证书,并对所述签名数据进行验证,若验证通过,执行步骤S18,否则,返回错误信息并结束;
步骤S18:所述数据发送方设备基于数据发送方设备的数据余量以及所述双离线数据流通量,计算数据发送方设备的数据新余量并保存,对数据流通计数器的值增加一,获得第一数值并保存;
步骤S19:所述数据发送方设备生成数据流通索引并保存;
步骤S20:所述数据发送方设备建立数据流通结果以及目标个数的数据减量凭证,计算所述目标个数内的各个数据减量凭证中的最后一个数据流通子链的子数据流通量之和,并判断所述子数据流通量之和是否大于等于所述双离线数据流通量,若等于,执行步骤S21,若大于,计算所述子数据流通量之和与所述双离线数据流通量之间的差值,并对所述差值进行保存,执行步骤S21;
步骤S21:所述数据发送方设备生成第二密钥分散因子,并通过所述第一随机数、所述第二随机数、所述第一密钥分散因子以及所述第二密钥分散因子计算第一加密会话密钥与第一MAC会话密钥,利用所述第一加密会话密钥对所述目标个数的数据减量凭证进行加密,获得数据减量凭证密文,利用所述第一MAC会话密钥对所述第二密钥分散因子与所述数据减量凭证密文进行加密,获得第一报文验证码;
步骤S22:所述数据发送方设备将所述第二密钥分散因子、所述数据减量凭证密文、所述目标个数的数据减量凭证、所述数据流通结果以及所述第一报文验证码发送给所述数据接收方设备;
步骤S23:所述数据发送方设备将数据流通状态设置为双离线数据流通完成状态并结束;
步骤S24:所述数据发送方设备解析所述双离线数据流通完成指令并检测双离线数据流通完成状态是否设置成功,若是,确定双离线数据流通执行指令已执行完成,执行步骤S25,否则,返回错误信息并结束;
步骤S25:所述数据发送方设备通过解析所述双离线数据流通完成指令获取到双离线阶段的数据流通结果、第二报文验证码,利用所述第一MAC会话密钥验证所述第二报文验证码是否正确,若验证正确,则执行步骤S26,否则,返回错误信息并结束;
步骤S26:所述数据发送方设备保存所述双离线阶段的数据流通结果并结束。
第二方面,本申请实施例提供了一种数据流通方法,所述方法应用于数据接收方设备,包括:
步骤S11’:所述数据接收方设备接收数据发送方设备发送的返回数据;
步骤S12’:所述数据接收方设备对所述返回数据进行判断,若是双离线数据流通初始化指令的返回数据,则执行步骤S13’;若是双离线数据流通执行指令的返回数据,则执行步骤S14’;
步骤S13’:所述数据收方设备解析所述双离线数据流通初始化指令的返回数据,从中获取到所述数据发送方设备生成的第二随机数;
步骤S14’:所述数据接收方设备解析所述双离线数据流通指令的返回数据,从中获取到数据减量凭证密文、第一报文验证码以及所述数据发送方设备生成的第二密钥分散因子,执行步骤S15’;
步骤S15’:所述数据接收方设备通过自身生成的第一随机数、自身生成的第一密钥分散因子、所述第二随机数以及所述第二密钥分散因子计算第二加密会话密钥与第二MAC会话密钥,利用所述第二MAC会话密钥对所述第一报文验证码进行验证,若通过,执行步骤S16’,否则,返回错误信息并结束;
步骤S16’:所述数据接收方设备利用所述第二加密会话密钥对所述数据减量凭证密文进行解密,获得目标个数的数据减量凭证;
步骤S17’:所述数据接收方设备采用非对称算法和哈希算法对所述目标个数内的各数据减量凭证中的最后一个数据流通子链的签名数据进行验证,若验证通过,执行步骤S18’,否则,返回错误信息并结束;
步骤S18’:所述数据接收方设备将所述目标个数内的各数据减量凭证中的最后一个数据流通子链的数据流通索引与内部存储的数据流通索引进行比对,若相等,执行步骤S19’,否则,返回错误信息并结束;
步骤S19’:所述数据接收方设备计算所述目标个数内的各个数据减量凭证中的最后一个数据流通子链的子数据流通量之和,并判断所述子数据流通量之和与双离线数据流通量是否相等,若相等,生成数据流通结果,执行步骤S20’,否则,返回错误信息并结束;
步骤S20’:所述数据接收方设备利用所述第二MAC会话密钥对所述数据流通结果进行加密,获得第二报文验证码,将所述数据流通结果与所述第二报文验证码发送给所述数据发送方设备。
第三方面,本申请实施例提供了一种数据流通系统,所述系统包括数据发送方设备与数据接收方设备,其中:
所述数据发送方设备,用于执行上述第一方面所述方法的步骤;
所述数据接收方设备,用于执行上述第二方面所述方法的步骤。
第四方面,本申请实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述第一方面或第二方面所述方法的步骤。
第五方面,本申请实施例提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述第一方面或第二方面所述方法的步骤。
本申请一些实施例提供的技术方案带来的有益效果至少包括:
本申请提供的数据流通方法,数据发送方设备通过建立携带有双离线数据流通量的数据流通凭证并将加密后的数据流通凭证发送给数据接收方设备进行合法性验证,若验证合法且数据接收方设备返回给数据发送方设备的验证信息被数据发送方设备验证正确时,完成双离线数据流通。上述方法中,数据流通凭证经加密后再发送给数据接收方设备、数据接收方设备在接收到加密后的数据流通凭证后再对其进行验证,该过程确保了双离线数据流通的真实性、可靠性,以及,当验证数据流通凭证合法时,其所携带的双离线数据流通量保证了双离线数据流通的不可抵赖性。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1-图2是本申请实施例提供的一种数据流通方法的流程示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施例方式作进一步地详细描述。
下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
在本申请的描述中,需要理解的是,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本申请中的具体含义。此外,在本申请的描述中,除非另有说明,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
在本申请实施例提供的数据流通方法中,数据接收方设备与数据发送方设备均处于离线状态,实现了双离线状态下的数据流通。双方设备之间通过非接触协议、蓝牙通信协议或NFC通信协议实现数据传输。
其中,数据接收方设备与数据发送方设备可以是智能卡,也可以是任意一种能够实现数据流通的智能设备(例如手机、智能手表等)。
下面将结合附图1-图2,对本申请实施例提供的数据流通方法进行详细介绍。
请参见图1-图2,为本申请实施例提供的一种数据流通方法的流程示意图。
图1-图2所示的方法应用于数据发送方设备,包括以下步骤:
步骤S11:数据发送方设备接收指令。
步骤S12:数据发送方设备对指令的功能进行判断,若是双离线数据流通初始化指令,则执行步骤S13;若是双离线数据流通执行指令,则执行步骤S16;若是双离线数据流通完成指令,则执行步骤S25;若是异步更新初始化指令,则执行步骤S28;若是异步更新执行指令,则执行步骤S31;若是异步更新完成指令,则执行步骤S36。
步骤S13:数据发送方设备解析双离线数据流通初始化指令,获取双离线数据流通量以及第一时间戳。
查询数据发送方设备的数据余量,将数据发送方设备拥有的数据余量与双离线数据流通量进行对比,若是数据发送方设备的数据余量大于或者等于双离线数据流通量,则执行步骤S14,否则,返回错误信息并结束。
其中,发送给数据发送方设备的双离线数据流通量是一个6字节的十六进制数据,该十六进制数据在数据接收方设备上可以转换为十进制的数值,精确到两位小数。
时间戳是一串用来表示当前时间的数字。
通过双离线数据流通初始化指令中的第一时间戳,数据发送方设备能够获得双离线数据流通的发起时间,并验证所接收的指令中的数据在生成后是否发生过篡改。
例如,双离线数据流通量具体为:
000000000010(表示十进制的0.16)。
例如,双离线数据流通的发起时间的时间戳具体为:
20200625142300。
以上述双离线数据流通量000000000010为例,当数据发送方设备的数据余量大于或者等于000000000010时,双离线状态下的数据流通可正常进行;否则,返回错误信息并结束。
步骤S14:数据发送方设备生成第二随机数,并获取数据发送方设备的标识以及名称、预先存储的数据发送方设备证书,将双离线数据流通量、第一时间戳、第二随机数、数据发送方设备的标识以及名称、数据发送方设备证书发送给数据接收方设备。
数据发送方设备生成的第二随机数具体为:
88FA5359AA01FAC5。
数据发送方设备的标识可以是:
0041020450230015。
数据发送方设备的名称可以是:
5F0512E4B8ADE8A18CE7A1ACE4BBB6E992B1E58C85。
数据发送方设备证书具体为:
308201BA30820160A00302010202020256300A06082A811CCF55018375303A310B300906035504061302434E3111300F060355040A0C08424F435F746573743118301606035504030C0F424F435F444543505F746573744341301E170D3230303832373032323331375A170D3231303832373032323331375A3036310B300906035504061302434E310C300A060355040A0C03424F433119301706035504030C10303034313032303836343136303038393059301306072A8648CE3D020106082A811CCF5501822D03420004C801C6F38A3A0BFEBA1F2C134F995990770C2FE8ED07777E2A4C8AEEAB22CAAED0C835F13EDB593450C92AECFBA0B1B8ED9F2ADABB2D1EFFB28FCFA10A3FB120A35A305830090603551D1304023000300B0603551D0F0404030205E0301D0603551D0E0416041454A51EC751477340363E50C9B458444795FE9D9B301F0603551D2304183016801440972ED13633D0082EB72260ECDC35AEC6C71D02300A06082A811CCF550183750348003045022100B8C220191E0266550FFFD35AEEF46AD2D765B1CE2DECC017FA6C45A05797C40D02201474711CE627B1B7746E776BCC8E41D78CBA74159E971533A5825D2ED0FD14A5。
其中,数据发送方设备证书是在个人化阶段、由数据发送方设备生成设备公钥并通过服务器签名而获得的。数据发送方设备对该证书进行存储。
步骤S15:数据发送方设备将数据流通状态设置为双离线数据流通状态并结束。
上述初始化阶段对双方在后续双向认证过程中需要用到的认证数据进行交换。
对应地,数据接收方设备在接收到双离线数据流通初始化指令的返回数据时,执行如下步骤:
数据收方设备解析双离线数据流通初始化指令的返回数据,从中获取到数据发送方设备生成的第二随机数。
步骤S16:数据发送方设备解析双离线数据流通执行指令并检测双离线数据流通状态是否设置成功,若是,确定双离线数据流通初始化指令已执行成功,执行步骤S17,否则,返回错误信息并结束。
步骤S17:数据发送方设备通过解析双离线数据流通执行指令获取到数据接收方设备生成的签名数据、第一随机数、第一密钥分散因子、数据接收方设备的标识以及名称、数据接收方设备证书,并利用预先存储的服务器证书对数据接收方设备证书进行合法性验证,若验证通过,则执行步骤S18,否则,返回错误信息并结束。
数据接收方设备的标识具体为:
0041020450230015。
数据接收方设备的名称具体为:
5F0512E4B8ADE8A18CE7A1ACE4BBB6E992B1E58C85。
数据接收方设备证书是利用服务器私钥对数据接收方设备公钥进行签名生成的。
数据接收方设备证书具体为:
308201BA30820160A00302010202020256300A06082A811CCF55018375303A310B300906035504061302434E3111300F060355040A0C08424F435F746573743118301606035504030C0F424F435F444543505F746573744341301E170D3230303832373032323331375A170D3231303832373032323331375A3036310B300906035504061302434E310C300A060355040A0C03424F433119301706035504030C10303034313032303836343136303038393059301306072A8648CE3D020106082A811CCF5501822D0342000439991352ED6A171E63902C6ABCFA7A906155372A11BB6E24F5698FF5B7AAEF9ADE13528B3AB5312F9F4DE8615BD1F77DE0C5387893D1E9600E531AC4DDBE0783A35A305830090603551D1304023000300B0603551D0F0404030205E0301D0603551D0E0416041454A51EC751477340363E50C9B458444795FE9D9B301F0603551D2304183016801440972ED13633D0082EB72260ECDC35AEC6C71D02300A06082A811CCF550183750348003045022100BBBCF1722B55633998128E9D6F74696E472E2563AC804D5F8477B2198E7E77C102205022141F5699BFB80B86FDBFC97A9180B42F4947BB4797090A9A96F2FC287829111111111111111122222222222222222222222222222222EA518165A6FAAEA9EE122DDFB64E6F36581A2AFFCAA152DBF3DC9FD5D6641D888D9F17BEBA7A98363723E2E0C0BB4AEAFD09134E2E97A4BCA5C688B625BB9DD3。
对上述数据接收方设备证书的验证过程如下:
数据发送方设备从预先存储的服务器证书中提取出服务器公钥:EBBDE61CFA439342B80614D1CFE781E6D444F1F5D5F56A2AF60510861FDA5CFF47BFC61512FEE84BF7F0FCC66702A5FA72A267A1A813EFF2338A99584A61BA72,使用SM2+SM3国密算法以及服务器公钥计算出国密椭圆曲线Z值:779C65A1529A24089BD0BEF921723D50E185BD48FBD9DB143D9BE3046FF7CAE2,再对国密椭圆曲线Z值和数据接收方设备证书进行哈希计算得到哈希值α:1F6C80A061A69C3570F80A7E4DADCA2E4FB3C27BF350254207921FBB85F9FAA0,使用服务器公钥和哈希值α对数据接收方设备证书中的签名数据进行验签,若验签通过,则数据接收方设备证书合法,执行步骤S18,若验签失败,则数据接收方设备证书不合法,返回错误信息并结束。
此外,在其他实施例中,上述验证数据接收方设备证书的过程还可以使用国际算法,具体过程如下:
使用SHA256加密算法以及服务器公钥计算出ECC椭圆曲线值:6F2505570CBFACFFC01FB0B95F3FF03BBA46A1EADFFB45BD2D3460647E4C178F,再对ECC椭圆曲线值和数据接收方设备证书进行哈希计算得到哈希值α:DC58CEF0A7AE1023C9F8426649D4D7179449B797AF36C32F0FB5B8397EA61536,使用服务器公钥和哈希值α对数据接收方设备证书中的签名数据进行验签。
步骤S18:数据发送方设备从数据接收方设备证书中提取数据接收方设备公钥,并利用所提取的数据接收方设备公钥对签名数据进行验签,若验签成功,则执行步骤S19,否则,返回错误信息并结束。
验签过程为:数据发送方设备利用国密算法以及所提取的数据接收方设备公钥计算出国密椭圆曲线Z值,再对国密椭圆曲线Z值、第一随机数、第一密钥分散因子以及数据接收方设备证书进行哈希运算,获得哈希值β,利用数据接收方设备公钥和哈希值β对数据发送方设备接收的双离线数据流通执行指令中的签名数据进行验签。若验签通过,则签名数据合法合法,执行步骤S19;若验签失败,则说明签名数据不合法,返回错误信息并结束执行。
步骤S19:数据发送方设备基于数据发送方设备的数据余量以及双离线数据流通量,计算数据发送方设备的数据新余量并保存,对数据流通计数器的值增加一,获得第一数值。
数据发送方设备从数据余量中扣减掉双离线数据流通量,将扣减后最新剩余的数据量作为数据新余量,对数据新余量进行保存。
步骤S20:数据发送方设备生成数据流通索引并保存。
数据流通索引用来保证每次数据流通的数据流通索引惟一性,对于某一次数据流通关联的数据流通凭证及数据流通流水,数据发送方设备和数据接收方设备双方具有相同的数据流通索引。数据流通索引生成规则:第二随机数||第一随机数。
步骤S21:数据发送方设备建立数据流通结果以及目标个数的数据减量凭证,计算目标个数内的各个数据减量凭证中的最后一个数据流通子链的子数据流通量之和,并判断子数据流通量之和是否大于等于双离线数据流通量,若等于,执行步骤S22,若大于,计算子数据流通量之和与双离线数据流通量之间的差值,并对差值进行保存,执行步骤S22。
数据减量凭证的数据结构是一个嵌套格式,包括数据组合、数据流通子链。
其中,数据组合也是一个嵌套的数据结构,包括版本号、冠字号、数据流通标识、面值、服务器标识、发行时间、发行机构保留域、发行机构签名、所有者标识、服务器保留域、服务器签名;数据流通子链的嵌套数据结构括数据流通量、数据流通索引、数据接收方设备公钥、数据发送方设备签名。
数据减量凭证的数据结构如下:
名称 是否嵌套 Tag编码(Hex) 存在性
数据减量凭证 Y 63 M
-数据组合 Y 72 M
-数据流通子链 Y 60 M
其中,数据组合的具体结构如下:
名称 是否嵌套 Tag编码(Hex) 存在性
-数据组合 Y 72 M
-版本 N 41 M
-冠字号 N 42 M
-数据流通标识 N 43 M
-面值 N 44 M
-服务器标识 N 45 M
-发行时间 N 46 M
-发行机构保留域 Y F3 M
-发行机构签名 N 48 M
-所有者标识 N 49 M
-服务器保留域 Y F4 M
-服务器签名 N 4B M
数据流通子链的具体结构如下:
名称 是否嵌套 Tag编码(Hex) 存在性
-数据流通子链 Y 73 M
-数据流通量 N 51 M
-数据流通索引 N 52 M
-数据接收方设备公钥 N 53 M
-数据发送方设备签名 N 54 M
具体的,数据减量凭证可以是:
6382024E728201A6410200014220E2B6643488D30F77DDBF86F973612EA300695719344F7C05A61A5DE30102BAAE432046BC8AB4B7D03CCB0D82D52D4C8FAC35D03FE8A72E8DE8CDE25B0D508DA205134406000000FFFFFF4503000FA0460660C06A59033E47818000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004840987FE99C5DC94714A8ECE704878C22E3215F717A4495EEE2EF12EB69D97E4E05D8FC59568EFA11E06A9659F3CCD0659EE0D294990C30316225ECD614DD0CB82E494037433635765A33373147313865665035534D714A5567625170564D4D5472616E4E6D384F4271594A6575376633523458506632674356366C47544F4D326E78754B405C474C3DFBBD9A08FA326B9D3067930C58AE26CCA4AF2A1DC8B9AB23DBDD78F8B6DDB951DDE5191CEF4120AEAE98EC1055D991EFB6F72B32763CC2D64A828A946081A173819E51060000000000105210E2716E5A9D6A18DC1111111111111111534039991352ED6A171E63902C6ABCFA7A906155372A11BB6E24F5698FF5B7AAEF9ADE13528B3AB5312F9F4DE8615BD1F77DE0C5387893D1E9600E531AC4DDBE078354409B467E71BB9C5DF3DDFF11D356BB4C0EEBAA58686A1D3A8A79A8867A92DBF99F81A50C9284A7080CBF3A48EE54565477D0EF32A076C071AE6427CD4153E8004A。
具体地,步骤S21可包括:
步骤S211:数据发送方设备建立数据流通结果;
步骤S212:从内部存储中获取全部的有效数据余量凭证,并按从大到小的顺序对各有效数据余量凭证中的凭证数据余量进行累加,当累加结果大于等于双离线数据流通量时,记录经过累加的有效数据余量凭证的目标个数;
步骤S213:确定出经过累加的各有效数据余量凭证分别对应的数据减量凭证,得到目标个数的数据减量凭证;
步骤S214:计算目标个数内的各个数据减量凭证中的最后一个数据流通子链的子数据流通量之和,并判断子数据流通量之和是否大于等于双离线数据流通量,若等于,执行步骤S22,若大于,计算子数据流通量之和与双离线数据流通量之间的差值,并对差值进行保存,执行步骤S22。
数据发送方设备内部存储有多个数据余量凭证,从中选出有效的数据余量凭证,并按从大到小的顺序累加有效数据余量凭证中的凭证数据余量,当累加结果大于等于双离线数据流通量时,确定出累加过的有效数据余量凭证的目标个数,根据数据余量凭证与数据减量凭证的一一对应关系,每个有效数据余量凭证都对应着一个使用TLV结构组成的数据减量凭证,可以得到目标个数的数据减量凭证。
实现数据流通的前提是累加的子数据流通量之和应能满足双离线数据流通量,因此,当累加的子数据流通量之和大于双离线数据流通量时,在将累加结果中与双离线数据流通量等值的部分用于数据流通的同时,还需对子数据流通量之和与双离线数据流通量之间的差值进行保存。
若累加完全部有效数据余量凭证中的凭证数据余量,累加结果仍小于双离线数据流通量时,数据流通无法实现,返回错误信息并结束。
本实施例通过数据流通子链中的子数据流通量可以实现对数据发送方的数据流通校对。
此外,每个数据减量凭证中的最后一个数据流通子链的数据发送方设备签名是通过采用非对称算法和哈希算法对数据组合、最后一个数据流通子链之前的所有数据流通子链中的数据发送方设备签名组合、最后一个数据流通子链中的子数据流通量、数据流通索引以及数据接收方设备公钥进行签名获得的。
步骤S22:数据发送方设备生成第二密钥分散因子,并通过第一随机数、第二随机数、第一密钥分散因子以及第二密钥分散因子计算第一加密会话密钥与第一MAC会话密钥,利用第一加密会话密钥对数据流通凭证进行加密,获得数据流通凭证密文,利用第一MAC会话密钥对第二密钥分散因子与数据流通凭证密文进行加密,获得第一报文验证码。
使用SM3国密算法计算会话密钥的过程具体如下:
对第一密钥分散因子:3653B95065E6128FE125E4AA7D4279A4与第二密钥分散因子:22222222222222222222222222222222进行异或运算,获得结果A:14719B7247C430ADC307C6885F605B86,数据ENC&MAC为:454E43264D4143;对第二随机数:88FA5359AA01FAC5与第一随机数:1111111111111111进行异或运算,获得结果B:99EB4248BB10EBD4;对结果A||ENC&MAC||结果B的值执行哈希计算,将哈希结果的左16字节:10C15FDF3432827950D87C288A36C955作为第一加密会话密钥,将哈希结果的右16字节:A2B541B7B1C43895702253D1D6D6AD98作为第一MAC会话密钥。
此外,在其他实施例中,还可以使用SHA256国际加密算法计算会话密钥,通过该算法计算出的第一加密会话密钥为:654748F75621DD199D526B2F8E493058,第一MAC会话密钥为:B8A8AFDF7DD1F6281F6B2174128CACDA。
步骤S23:数据发送方设备将第二密钥分散因子、数据流通凭证密文、数据减量凭证、数据流通结果以及第一报文验证码发送给数据接收方设备。
步骤S24:数据发送方设备将数据流通状态设置为双离线数据流通完成状态并结束。
对应地,数据接收方设备接收到双离线数据流通执行指令的返回数据时,执行如下步骤:
步骤S14’:数据接收方设备通过解析双离线数据流通指令的返回数据,从中获取到数据减量凭证密文、第一报文验证码以及数据发送方设备生成的第二密钥分散因子,执行步骤S15’。
步骤S15’:数据接收方设备通过自身生成的第一随机数、自身生成的第一密钥分散因子、数据发送方设备生成的第二随机数以及数据发送方设备生成的第二密钥分散因子计算第二加密会话密钥与第二MAC会话密钥,利用第二MAC会话密钥对第一报文验证码进行验证,若通过,执行步骤S16’,否则,返回错误信息并结束。
步骤S16’:数据接收方设备利用第二加密会话密钥对数据减量凭证密文进行解密,获得目标个数的数据减量凭证。
步骤S17’:数据接收方设备采用非对称算法和哈希算法对目标个数内的各数据减量凭证中的最后一个数据流通子链的签名数据进行验证,若验证通过,执行步骤S18’,否则,返回错误信息并结束。
签名数据的验证过程具体如下:
数据接收方设备解析每个数据减量凭证的TLV结构,先提取出数据组合,再提取出数据流通链中的所有数据流通子链,截取出最后一个数据流通子链之前所有数据流通子链中的数据发送方设备签名,构成数据发送方设备签名组合;采用非对称算法和哈希算法对从每个数据减量凭证中提取出的数据组合、数据发送方设备签名组合、最后一个数据流通子链中的子数据流通量、数据流通索引以及数据接收方设备公钥进行签名,获得签名结果,将该签名结果与最后一个数据流通子链中的数据发送方设备签名进行比较,若相同,则验签通过,否则,返回错误信息并结束。
步骤S18’:数据接收方设备将目标个数内的各数据减量凭证中的最后一个数据流通子链的数据流通索引与内部存储的数据流通索引进行比对,若相等,执行步骤S19’,否则,返回错误信息并结束。
步骤S19’:数据接收方设备计算目标个数内的各个数据减量凭证中的最后一个数据流通子链的子数据流通量之和,并判断子数据流通量之和与双离线数据流通量是否相等,若相等,生成数据流通结果,执行步骤S20’,否则,返回错误信息并结束。
判断子数据流通量之和与双离线数据流通量相等时,还包括:
数据接收方设备在内部存储中获取无效的数据余量凭证,并将目标个数的数据减量凭证存储至所获取的无效的数据余量凭证中。
更进一步地,还包括:
将已存储数据减量凭证的数据余量凭证的状态设置为有效。
步骤S20’:数据接收方设备利用第二MAC会话密钥对数据流通结果进行加密,获得第二报文验证码,将数据流通结果与第二报文验证码发送给所述数据发送方设备。
步骤S25:数据发送方设备解析双离线数据流通完成指令并检测双离线数据流通完成状态是否设置成功,若是,确定双离线数据流通执行指令已执行完成,执行步骤S26,否则,返回错误信息并结束。
基于步骤S22中各数据的生成方式(例如,数据流通凭证密文是由第一加密会话密钥对数据流通凭证进行加密获得的),数据接收方设备使用与之相对应的报文验证方式对数据发送方设备返回的报文信息进行验证和解密(例如,数据接收方利用自身生成的加密会话密钥对数据流通凭证密文进行解密获得解密后的数据流通凭证),并对解密后的数据流通凭证进行验证。若解密后的数据流通凭证验证通过则表示数据流通过程完成,否则,返回错误信息并结束。
步骤S26:数据发送方设备通过解析双离线数据流通完成指令获取到双离线阶段的数据流通结果以及数据接收方设备生成的第二报文验证码,利用第一MAC会话密钥验证第二报文验证码是否正确,若验证正确,则执行步骤S27,否则,返回错误信息并结束。
步骤S27:数据发送方设备保存双离线阶段的数据流通结果并结束。
更详尽地,在保存数据流通结果的同时还保存数据流通索引、第二数值、数据流通类型以及数据流通状态等。
步骤S28:数据发送方设备解析异步更新初始化指令,获取数据母设备标识和第二时间戳,并从内部存储中获取数据流通计数器的第一数值,对第一数值增加一获得第二数值并保存,利用第二数值生成第二加密会话密钥和第二MAC会话密钥。
异步更新是指将数据发送方设备在双离线数据流通时建立的数据流通凭证,通过在线方式上传到服务器进行更新的过程。也就是数据发送方设备在触网的状态下,向服务器端发起线上上传数据流通凭证的操作。
异步更新初始化阶段用于完成对异步更新过程中各项数据的初始化操作。
数母设备标识是一个8字节数据,例如为:
1122334455667788。
第二时间戳为7字节数据,例如为:
20210625201030。
步骤S29:数据发送方设备将第二数值写回内部存储中,提取数据发送方设备关联码,并将第二数值与数据发送方设备关联码串联成第一明文,使用第二加密会话密钥对数据发送方设备标识、第二时间戳、内部存储的数据流通索引进行加密获得第一密文,使用第二MAC会话密钥对第一明文与第一密文进行加密获得第三报文验证码。
具体地,由第二数值与数据发送方设备关联码串联成的第一明文例如为:
000000031400004002152530。
数据流通计数器的第二数值例如为:
00000003。
数据发送方设备关联码例如为:
1400004002152530。
使用第二加密会话密钥对数据发送方设备标识、第二时间戳、内部存储的数据流通索引进行加密获得的第一密文例如为:
E67707F02124BB2F536DFB4CE4EF7FFE4F4C2294E9E35C0BA39187FCB6F62B249A72894DEF4D79CF0E7C76A6B9FC1296。
上述服务器可以是任意一个运营机构的服务器。
步骤S30:数据发送方设备将第一明文、第一密文以及第三报文验证码发送给服务器,并将双离线数据流通状态设置为异步更新状态,结束。
步骤S31:数据发送方设备解析异步更新执行指令并检测异步更新状态是否设置成功,若是,执行步骤S32,否则,返回错误信息并结束。
步骤S32:数据发送方设备通过解析异步更新执行指令获取到第四报文验证码与第一数据流通索引密文,通过第二MAC会话密钥验证第四报文验证码是否正确,若验证正确,则执行步骤S33,否则,返回错误信息并结束。
步骤S33:数据发送方设备利用第二加密会话密钥对数据流通索引密文进行解密,获得第一数据流通索引明文,比对第一数据流通索引明文与内部存储的数据流通索引,若比对成功,执行步骤S34,否则,返回错误信息并结束。
数据流通索引密文例如为:
4DE6451AEF49909851D242C148C95DFB16E062CB06B91CC52BE75981F0BACB22。
步骤S34:数据发送方设备组织数据流通凭证,利用第二加密会话密钥对数据发送方设备标识、内部存储的数据流通索引、数据流通凭证以及数据流通流水进行加密获得第二密文,使用第二MAC会话密钥对数据发送方设备关联码与第二密文进行加密获得第五报文验证码。
数据流通凭证包括数据减量凭证和数据余量凭证,在异步更新过程中涉及的是数据余量凭证,其由数据组合、数据流通子链和凭证余量(即历史数据余量)串联而成。其中,数据组合也是一个嵌套的数据结构,包括版本号、冠字号、数据流通标识、面值、服务器标识、发行时间、发行机构保留域、发行机构签名、所有者标识、服务器保留域、服务器签名;数据流通子链的嵌套数据结构包括数据流通量、数据流通索引、数据接收方设备公钥、数据发送方设备签名。
利用第二加密会话密钥对数据发送方设备标识、内部存储的数据流通索引、数据流通凭证以及数据流通流水进行加密获得的第二密文例如为:
E67707F02124BB2F536DFB4CE4EF7FFE21D3ACCC4C8FE2B19700BC20DCCA8D4D5A3A3E02B246D8E0B9F97702DDFB1DCED045EADD4F51DFCCB1CA2746FD6EB1DFB841B6A032AB11814392D295BE1080B97F22E4AA0831E8D4E955220CB0E54A0BEF6C4E0B1DF9D56AE68233FF16534598701627D78C0905EB6122FAA40BF215951A60665D01255344601D091F0792BB80D40055ABA91BE1AFFA46A9905695DFDA6BFAC4DDBB64EFA6BF2258F495EBB3FCB7CF219531B0340C53D7E5A42C2B89EEF9280C4E0997F945C4DE29A7814047D6CA8726597EB6B537F6DB96F7145CEA80C0053BF3BDF918E6B355F8B5836C3C4A3ACA642E2AD52C57FEB1A27FAE6BCEB1B1918FFC8750F6005BAC2C0995144E00D9577EC8FAABD9DF69967155F45C8B0F6CC44B3DCDAF2BA14184869C9E725F691C8C4FC6BD686D67F31D0E68D990CC9A5A4BD17861F43AEA43F7E54507161C42061EA687AA9F822D4CCE1F398D05AAF2A8A885C46C9DF50ADEACFF56834066C0BF91ADED7A6C44E09AA71894B0E343E84A61AA41A4F12448E2B514C6FC187498A055194BAC25325F573DC849D4879524D939A9323E76DD54C9B78A72B81A40EE851682983E97157F04944520EEEE47A07DFEFE2E73F72138FB72FB4F3EE72C8CD3F96243C5A69CFFF5C14781943834AC。
进一步地,组织数据流通凭证之前,还包括:
对异步更新过程中接收到的数据、需要设置或处理的数据进行保存。
包括但不限于数据发送方设备的数据母设备标识、第二时间戳、第二数值、第一明文、第一密文、设置的状态等等。
步骤S35:据发送方设备将数据发送方设备关联码、第二密文以及第五报文验证码组成第二返回数据发送给服务器,并将双离线数据流通状态设置为异步更新完成状态,结束。
基于步骤S34中各数据的生成方式,服务器端使用与之相对应的报文验证方式对数据发送方设备返回的报文信息进行验证和解密,并对解密后的数据余量凭证进行验证。如果解密后的数据余量凭证验证通过则表示数据上传/同步过程完成,否则,返回错误信息并结束。
步骤S36:数据发送方设备解析异步更新完成指令并检测异步更新完成状态是否设置成功,若是,执行步骤S37,否则,返回错误信息并结束。
步骤S37:数据发送方设备通过解析异步更新完成指令获取到第六报文验证码、数据流通索引与数据组合的密文,利用第二MAC会话密钥验证第六报文验证码是否正确,若验证正确,则执行步骤S38,否则,返回错误信息并结束。
数据流通索引与数据组合的密文例如为:
4DE6451AEF49909851D242C148C95DFB2989C26553C7F3F8510542E857E95D65A47231602FA3DF0E1F016EFCDDDD7F6087444A90767449D63797DA31A02C7DD295A5C42CD57036B41F7163DB4DA2C53BF9980D0B0D6E7A771E9BBAF8A3A6DAB10DF87FB606C57070B6CBA157B3F0F0E7406E038A89217B3323CB6B85B416274DECA43ADF3C7E1D6F0170EA44A943996280E7602DCE60C3EE1298FDB85450C237199137BE8F3AE786BFC9538A459E76B80DB03BC6F1F898B7B38B9B2AA6D4E9756977F93C2E7C7BAF0A914169B3EF19F641977FF88BF146B5C62A6F5FF5109872F8E11827F36CE357EC1569BD1D2584FEE1061EAA67DE0309C9B542C25A2923FA4FB84A0F4AA0142B81FBFD40A62025E9008DD45A101FE2156316C04A69DC85FF1030C55281941B3B82733F6040BB049E03792A4F157B846B452FA23FFF48B0EC0926973C5898B2C2819ECAA0EDD2FECD45C698857BD925F10CFE4C12233CF5ED0FD4C9E81A98115FD603FA3C635AB0E168A9E6A3AF9BCEEA7B721C0C96F1C1CC77203086A637C304BB8A1CB141A6BF3DC3B625E012AE78991D1981A541F2A9278EC58CD655896E22DC117A7D7D0F57CED325291AC6DD6F5BF5F0B90FF26C8796。
步骤S38:数据发送方设备利用第二加密会话密钥对数据流通索引与数据组合的密文进行解密,获得第二数据流通索引明文与数据组合明文,比对第二数据流通索引明文与内部存储的数据流通索引,若比对成功,执行步骤S39,否则,返回错误信息并结束。
步骤S39:数据发送方设备判断异步更新完成指令中是否存在数据组合,若存在,执行步骤S40,否则,清空数据发送方设备内部存储的数据流通凭证中的数据组合并执行步骤S42。
步骤S40:数据发送方设备从数据组合中提取面值,比对面值与数据发送方设备的数据限量,若面值小于等于数据限量,执行步骤S41,否则,返回错误信息并结束。
步骤S41:数据发送方设备清空数据流通凭证中的数据组合以及数据流通计数器的数值,并将数据组合明文写入数据流通凭证中。
步骤S42:数据发送方设备使用第二加密会话密钥对数据发送方设备标识、内部存储的数据流通索引以及异步更新完成结果进行加密获得第三密文,使用第二MAC会话密钥对数据发送方设备关联码与第三密文进行加密获得第七报文验证码,将数据发送方设备关联码、第三密文以及第七报文验证码组成第三返回数据发送给服务器并结束。
本申请提供的数据流通方法,数据发送方设备通过建立携带有双离线数据流通量的数据流通凭证并将加密后的数据流通凭证发送给数据接收方设备进行合法性验证,若验证合法且数据接收方设备返回给数据发送方设备的验证信息被数据发送方设备验证正确时,完成双离线数据流通。上述方法中,数据流通凭证经加密后再发送给数据接收方设备、数据接收方设备在接收到加密后的数据流通凭证后再对其进行验证,该过程确保了双离线数据流通的真实性、可靠性,以及,当验证数据流通凭证合法时,其所携带的双离线数据流通量保证了双离线数据流通的不可抵赖性。
下述为本申请系统实施例,可以用于执行本申请方法实施例。对于本申请装置实施例中未披露的细节,请参照本申请方法实施例。
本申请提供了一种数据流通系统,该系统包括数据发送方设备与数据接收方设备,其中:
所述数据发送方设备包括如下模块:
指令接收模块,用于接收指令;
指令判断模块,用于对所述指令的功能进行判断,若是双离线数据流通初始化指令,则触发第一数据获取模块;若是双离线数据流通执行指令,则触发第一状态确定模块;若是双离线数据流通完成指令,则触发第二状态确定模块;
第一数据获取模块,用于解析所述双离线数据流通初始化指令,获取双离线数据流通量以及第一时间戳;
第一数据发送模块,用于生成第二随机数,并获取数据发送方设备的标识以及名称、预先存储的数据发送方设备证书,将所述双离线数据流通量、所述第一时间戳、所述第二随机数、所述数据发送方设备的标识以及名称、所述数据发送方设备证书发送给数据接收方设备;
第一状态设置模块,用于将数据流通状态设置为双离线数据流通状态并结束;
第一状态确定模块,用于解析所述双离线数据流通执行指令并检测双离线数据流通状态是否设置成功,若是,确定双离线数据流通初始化指令已执行成功,触发第一验签模块,否则,返回错误信息并结束;
第一验签模块,用于通过解析所述双离线数据流通执行指令获取到所述数据接收方设备生成的签名数据、第一随机数、第一密钥分散因子、数据接收方设备的标识以及名称、数据接收方设备证书,并对所述签名数据进行验证,若验签成功,触发余量计算模块,否则,返回错误信息并结束;
余量计算模块,用于基于数据发送方设备的数据余量以及所述双离线数据流通量,计算数据发送方设备的数据新余量并保存,对数据流通计数器的值增加一,获得第一数值并保存;
索引生成模块,用于生成数据流通索引并保存;
数据流通校对模块,用于建立数据流通结果以及目标个数的数据减量凭证,计算所述目标个数内的各个数据减量凭证中的最后一个数据流通子链的子数据流通量之和,并判断所述子数据流通量之和是否大于等于所述双离线数据流通量,若等于,触发报文验证码获取模块,若大于,计算所述子数据流通量之和与所述双离线数据流通量之间的差值,并对所述差值进行保存,触发报文验证码获取模块;
验证码获取模块,用于生成第二密钥分散因子,并通过所述第一随机数、所述第二随机数、所述第一密钥分散因子以及所述第二密钥分散因子计算第一加密会话密钥与第一MAC会话密钥,利用所述第一加密会话密钥对所述目标个数的数据减量凭证进行加密,获得数据减量凭证密文,利用所述第一MAC会话密钥对所述第二密钥分散因子与所述数据减量凭证密文进行加密,获得第一报文验证码;
第二数据发送模块,用于将所述第二密钥分散因子、所述数据减量凭证密文、所述目标个数的数据减量凭证、所述数据流通结果以及所述第一报文验证码发送给所述数据接收方设备;
第二状态设置模块,用于将数据流通状态设置为双离线数据流通完成状态并结束;
第二状态确定模块,用于解析所述双离线数据流通完成指令并检测双离线数据流通完成状态是否设置成功,若是,确定双离线数据流通执行指令已执行完成,触发报文验证码验证模块,否则,返回错误信息并结束;
第一验证模块,用于通过解析所述双离线数据流通完成指令获取到双离线阶段的数据流通结果、第二报文验证码,利用所述第一MAC会话密钥验证所述第二报文验证码是否正确,若验证正确,则触发结果保存模块,否则,返回错误信息并结束;
结果保存模块,用于保存所述双离线阶段的数据流通结果并结束。
所述数据发送方设备包括如下模块:
数据接收模块,用于接收数据发送方设备发送的返回数据;
数据判断模块,用于对所述返回数据进行判断,若是双离线数据流通初始化指令的返回数据,则触发第一数据获取模块;若是双离线数据流通执行指令的返回数据,则触发第二数据获取模块;
第二数据获取模块,用于解析所述双离线数据流通初始化指令的返回数据,从中获取到所述数据发送方设备生成的第二随机数;
第三数据获取模块,用于通过解析所述双离线数据流通指令的返回数据,从中获取到数据减量凭证密文、第一报文验证码以及所述数据发送方设备生成的第二密钥分散因子,触发第二验证模块;
第二验证模块,用于通过自身生成的第一随机数、自身生成的第一密钥分散因子、所述第二随机数以及所述第二密钥分散因子计算第二加密会话密钥与第二MAC会话密钥,利用所述第二MAC会话密钥对所述第一报文验证码进行验证,若通过,触发凭证获取模块,否则,返回错误信息并结束;
凭证获取模块,用于利用所述第二加密会话密钥对所述数据减量凭证密文进行解密,获得目标个数的数据减量凭证;
第二验签模块,用于采用非对称算法和哈希算法对所述目标个数内的各数据减量凭证中的最后一个数据流通子链的签名数据进行验证,若验证通过,触发索引比对模块,否则,返回错误信息并结束;
索引比对模块,用于将所述目标个数内的各数据减量凭证中的最后一个数据流通子链的数据流通索引与内部存储的数据流通索引进行比对,若相等,触发流通量判断模块,否则,返回错误信息并结束;
流通量判断模块,用于计算所述目标个数内的各个数据减量凭证中的最后一个数据流通子链的子数据流通量之和,并判断所述子数据流通量之和与双离线数据流通量是否相等,若相等,生成数据流通结果,触发第三数据发送模块,否则,返回错误信息并结束;
第三数据发送模块,用于利用所述第二MAC会话密钥对所述数据流通结果进行加密,获得第二报文验证码,将所述数据流通结果与所述第二报文验证码发送给所述数据发送方设备。
需要说明的是,上述实施例提供的数据流通系统在执行数据流通方法时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的数据流通系统与数据流通方法实施例属于同一构思,其体现实现过程详见方法实施例,这里不再赘述。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
本申请中,数据发送方设备通过建立携带有双离线数据流通量的数据流通凭证并将加密后的数据流通凭证发送给数据接收方设备进行合法性验证,若验证合法且数据接收方设备返回给数据发送方设备的验证信息被数据发送方设备验证正确时,完成双离线数据流通。数据流通凭证经加密后再发送给数据接收方设备、数据接收方设备在接收到加密后的数据流通凭证后再对其进行验证,该过程确保了双离线数据流通的真实性、可靠性,以及,当验证数据流通凭证合法时,其所携带的双离线数据流通量保证了双离线数据流通的不可抵赖性。
本申请实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现前述任一实施例方法的步骤。其中,计算机可读存储介质可以包括但不限于任何类型的盘,包括软盘、光盘、DVD、CD-ROM、微型驱动器以及磁光盘、ROM、RAM、EPROM、EEPROM、DRAM、VRAM、闪速存储器设备、磁卡或光卡、纳米系统(包括分子存储器IC),或适合于存储指令和/或数据的任何类型的媒介或设备。
本申请实施例还提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行程序时实现上述任一实施例方法的步骤。
本申请实施例提供了一种电子设备包括:处理器和存储器。
本申请实施例中,处理器为计算机系统的控制中心,可以是实体机的处理器,也可以是虚拟机的处理器。处理器可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central Processing Unit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。
存储器可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在本申请的一些实施例中,存储器中的非暂态的计算机可读存储介质用于存储至少一个指令,该至少一个指令用于被处理器所执行以实现本申请实施例中的方法。
一些实施例中,数据发送方设备还包括有:外围设备接口和至少一个外围设备。处理器、存储器和外围设备接口之间可以通过总线或信号线相连。各个外围设备可以通过总线、信号线或电路板与外围设备接口相连。具体地,外围设备包括:显示屏、摄像头和音频电路中的至少一种。
外围设备接口可被用于将I/O(Input/Output,输入/输出)相关的至少一个外围设备连接到处理器和存储器。在本申请的一些实施例中,处理器、存储器和外围设备接口被集成在同一芯片或电路板上;在本申请的一些其他实施例中,处理器、存储器和外围设备接口中的任意一个或两个可以在单独的芯片或电路板上实现。本申请实施例对此不作具体限定。
显示屏用于显示UI(User Interface,用户界面)。该UI可以包括图形、文本、图标、视频及其它们的任意组合。当显示屏是触摸显示屏时,显示屏还具有采集在显示屏的表面或表面上方的触摸信号的能力。该触摸信号可以作为控制信号输入至处理器进行处理。此时,显示屏还可以用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。在本申请的一些实施例中,显示屏可以为一个,设置于数据发送方设备的前面板;在本申请的另一些实施例中,显示屏可以为至少两个,分别设置在数据发送方设备的不同表面或呈折叠设计;在本申请的再一些实施例中,显示屏可以是柔性显示屏,设置在数据发送方设备的弯曲表面上或折叠面上。甚至,显示屏还可以设置成非矩形的不规则图形,也即异形屏。显示屏可以采用LCD(Liquid Crystal Display,液晶显示屏)、OLED(Organic Light-Emitting Diode,有机发光二极管)等材质制备。
摄像头用于采集图像或视频。可选地,摄像头包括前置摄像头和后置摄像头。通常,前置摄像头设置在客户端的前面板,后置摄像头设置在客户端的背面。在一些实施例中,后置摄像头为至少两个,分别为主摄像头、景深摄像头、广角摄像头、长焦摄像头中的任意一种,以实现主摄像头和景深摄像头融合实现背景虚化功能、主摄像头和广角摄像头融合实现全景拍摄以及VR(Virtual Reality,虚拟现实)拍摄功能或者其它融合拍摄功能。在本申请的一些实施例中,摄像头还可以包括闪光灯。闪光灯可以是单色温闪光灯,也可以是双色温闪光灯。双色温闪光灯是指暖光闪光灯和冷光闪光灯的组合,可以用于不同色温下的光线补偿。
音频电路可以包括麦克风和扬声器。麦克风用于采集用户及环境的声波,并将声波转换为电信号输入至处理器进行处理。出于立体声采集或降噪的目的,麦克风可以为多个,分别设置在数据发送方设备的不同部位。麦克风还可以是阵列麦克风或全向采集型麦克风。
电源用于为数据发送方设备中的各个组件进行供电。电源可以是交流电、直流电、一次性电池或可充电电池。当电源包括可充电电池时,该可充电电池可以是有线充电电池或无线充电电池。有线充电电池是通过有线线路充电的电池,无线充电电池是通过无线线圈充电的电池。该可充电电池还可以用于支持快充技术。
本申请实施例中示出的客户端结构框图并不构成对数据发送方设备的限定,数据发送方设备可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
在本申请中,术语“第一”、“第二”等仅用于描述的目的,而不能理解为指示或暗示相对重要性或顺序;术语“多个”则指两个或两个以上,除非另有明确的限定。术语“安装”、“相连”、“连接”、“固定”等术语均应做广义理解,例如,“连接”可以是固定连接,也可以是可拆卸连接,或一体地连接;“相连”可以是直接相连,也可以通过中间媒介间接相连。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本申请中的具体含义。
本申请的描述中,需要理解的是,术语“上”、“下”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本申请和简化描述,而不是指示或暗示所指的装置或单元必须具有特定的方向、以特定的方位构造和操作,因此,不能理解为对本申请的限制。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,依本申请权利要求所作的等同变化,仍属本申请所涵盖的范围。

Claims (13)

1.一种数据流通方法,其特征在于,所述方法应用于数据发送方设备,包括:
步骤S11:所述数据发送方设备接收指令;
步骤S12:所述数据发送方设备对所述指令的功能进行判断,若是双离线数据流通初始化指令,则执行步骤S13;若是双离线数据流通执行指令,则执行步骤S16;若是双离线数据流通完成指令,则执行步骤S24;
步骤S13:所述数据发送方设备解析所述双离线数据流通初始化指令,获取双离线数据流通量以及第一时间戳;
步骤S14:所述数据发送方设备生成第二随机数,并获取数据发送方设备的标识以及名称、预先存储的数据发送方设备证书,将所述双离线数据流通量、所述第一时间戳、所述第二随机数、所述数据发送方设备的标识以及名称、所述数据发送方设备证书发送给数据接收方设备;
步骤S15:所述数据发送方设备将数据流通状态设置为双离线数据流通状态并结束;
步骤S16:所述数据发送方设备解析所述双离线数据流通执行指令并检测双离线数据流通状态是否设置成功,若是,确定双离线数据流通初始化指令已执行成功,执行步骤S17,否则,返回错误信息并结束;
步骤S17:所述数据发送方设备通过解析所述双离线数据流通执行指令获取到所述数据接收方设备生成的签名数据、第一随机数、第一密钥分散因子、数据接收方设备的标识以及名称、数据接收方设备证书,并对所述签名数据进行验证,若验签成功,执行步骤S18,否则,返回错误信息并结束;
步骤S18:所述数据发送方设备基于数据发送方设备的数据余量以及所述双离线数据流通量,计算数据发送方设备的数据新余量并保存,对数据流通计数器的值增加一,获得第一数值并保存;
步骤S19:所述数据发送方设备生成数据流通索引并保存;
步骤S20:所述数据发送方设备建立数据流通结果以及目标个数的数据减量凭证,计算所述目标个数内的各个数据减量凭证中的最后一个数据流通子链的子数据流通量之和,并判断所述子数据流通量之和是否大于等于所述双离线数据流通量,若等于,执行步骤S21,若大于,计算所述子数据流通量之和与所述双离线数据流通量之间的差值,并对所述差值进行保存,执行步骤S21;
步骤S21:所述数据发送方设备生成第二密钥分散因子,并通过所述第一随机数、所述第二随机数、所述第一密钥分散因子以及所述第二密钥分散因子计算第一加密会话密钥与第一MAC会话密钥,利用所述第一加密会话密钥对所述目标个数的数据减量凭证进行加密,获得数据减量凭证密文,利用所述第一MAC会话密钥对所述第二密钥分散因子与所述数据减量凭证密文进行加密,获得第一报文验证码;
步骤S22:所述数据发送方设备将所述第二密钥分散因子、所述数据减量凭证密文、所述目标个数的数据减量凭证、所述数据流通结果以及所述第一报文验证码发送给所述数据接收方设备;
步骤S23:所述数据发送方设备将数据流通状态设置为双离线数据流通完成状态并结束;
步骤S24:所述数据发送方设备解析所述双离线数据流通完成指令并检测双离线数据流通完成状态是否设置成功,若是,确定双离线数据流通执行指令已执行完成,执行步骤S25,否则,返回错误信息并结束;
步骤S25:所述数据发送方设备通过解析所述双离线数据流通完成指令获取到双离线阶段的数据流通结果、第二报文验证码,利用所述第一MAC会话密钥验证所述第二报文验证码是否正确,若验证正确,则执行步骤S26,否则,返回错误信息并结束;
步骤S26:所述数据发送方设备保存所述双离线阶段的数据流通结果并结束。
2.根据权利要求1所述的方法,其特征在于,所述数据发送方设备对指令的功能进行判断,还包括:若是异步更新初始化指令,则执行步骤S27;若是异步更新执行指令,则执行步骤S30;若是异步更新完成指令,则执行步骤S35;
步骤S27:所述数据发送方设备解析所述异步更新初始化指令,获取所述数据发送方设备的数据母设备标识和第二时间戳,并从内部存储中获取所述第一数值,对所述第一数值增加一获得第二数值并保存,利用所述第二数值生成第二加密会话密钥和第二MAC会话密钥;
步骤S28:所述数据发送方设备将所述第二数值写回内部存储中,提取数据发送方设备关联码,并将所述第二数值与所述数据发送方设备关联码串联成第一明文,使用所述第二加密会话密钥对所述数据发送方设备标识、所述第二时间戳、内部存储的数据流通索引进行加密获得第一密文,使用所述第二MAC会话密钥对所述第一明文与所述第一密文进行加密获得第三报文验证码;
步骤S29:所述数据发送方设备将所述第一明文、所述第一密文以及所述第三报文验证码发送给服务器,将双离线数据流通状态设置为异步更新状态并结束;
步骤S30:所述数据发送方设备解析所述异步更新执行指令并检测异步更新状态是否设置成功,若是,执行步骤S31,否则,返回错误信息并结束;
步骤S31:所述数据发送方设备通过解析所述异步更新执行指令获取到第四报文验证码与数据流通索引密文,通过所述第二MAC会话密钥验证所述第四报文验证码是否正确,若验证正确,则执行步骤S32,否则,返回错误信息并结束;
步骤S32:所述数据发送方设备利用所述第二加密会话密钥对所述数据流通索引密文进行解密,获得第一数据流通索引明文,比对所述第一数据流通索引明文与内部存储的数据流通索引,若比对成功,执行步骤S33,否则,返回错误信息并结束;
步骤S33:所述数据发送方设备组织数据流通凭证,利用所述第二加密会话密钥对所述数据发送方设备标识、内部存储的数据流通索引、所述数据流通凭证以及数据流通流水进行加密获得第二密文,使用所述第二MAC会话密钥对所述数据发送方设备关联码与所述第二密文进行加密获得第五报文验证码;
步骤S34:所述数据发送方设备将所述数据发送方设备关联码、所述第二密文以及所述第五报文验证码组成第二返回数据发送给服务器,将双离线数据流通状态设置为异步更新完成状态并结束;
步骤S35:所述数据发送方设备解析所述异步更新完成指令并检测异步更新完成状态是否设置成功,若是,执行步骤S36,否则,返回错误信息并结束;
步骤S36:所述数据发送方设备通过解析所述异步更新完成指令获取到第六报文验证码、数据流通索引与数据组合的密文,利用所述第二MAC会话密钥验证所述第六报文验证码是否正确,若验证正确,则执行步骤S37,否则,返回错误信息并结束;
步骤S37:所述数据发送方设备利用所述第二加密会话密钥对所述数据流通索引与数据组合的密文进行解密,获得第二数据流通索引明文与数据组合明文,比对第二数据流通索引明文与内部存储的数据流通索引,若比对成功,执行步骤S38,否则,返回错误信息并结束;
步骤S38:所述数据发送方设备判断所述异步更新完成指令中是否存在数据组合,若存在,则从所述数据组合中提取面值,比对所述面值与所述数据发送方设备的数据限量,若所述面值小于等于所述数据限量,执行步骤S39,否则,返回错误信息并结束;
步骤S39:所述数据发送方设备清空所述数据流通凭证中的数据组合以及所述数据流通计数器的数值,并将所述数据组合明文写入所述数据流通凭证中;
步骤S40:所述数据发送方设备使用所述第二加密会话密钥对所述数据发送方设备标识、内部存储的数据流通索引以及异步更新完成结果进行加密获得第三密文,使用所述第二MAC会话密钥对所述数据发送方设备关联码与所述第三密文进行加密获得第七报文验证码,将所述数据发送方设备关联码、所述第三密文以及所述第七报文验证码组成第三返回数据发送给服务器并结束。
3.根据权利要求1所述的方法,其特征在于,所述步骤S20包括:
步骤S201:所述数据发送方设备建立数据流通结果;
步骤S202:从内部存储中获取全部的有效数据余量凭证,并按从大到小的顺序对各有效数据余量凭证中的凭证数据余量进行累加,当累加结果大于等于所述双离线数据流通量时,记录经过累加的有效数据余量凭证的目标个数;
步骤S203:确定出经过累加的各有效数据余量凭证分别对应的数据减量凭证,得到目标个数的数据减量凭证;
步骤S204:计算所述目标个数内的各个数据减量凭证中的最后一个数据流通子链的子数据流通量之和,并判断所述子数据流通量之和是否大于等于所述双离线数据流通量,若等于,执行步骤S22,若大于,计算所述子数据流通量之和与所述双离线数据流通量之间的差值,并对所述差值进行保存,执行步骤S22。
4.根据权利要求1所述的方法,其特征在于,所述对所述签名数据进行验证,包括:
步骤S17-1:所述数据发送方设备利用预先存储的服务器证书对所述数据接收方设备证书进行合法性验证,若验证通过,则执行步骤S17-2,否则,返回错误信息并结束;
步骤S17-2:所述数据发送方设备从所述数据接收方设备证书中提取数据接收方设备公钥,并利用所提取的数据接收方设备公钥对所述签名数据进行验签,若验签成功,则执行步骤S18,否则,返回错误信息并结束。
5.根据权利要求4所述的方法,其特征在于,所述步骤S17-1包括:
所述数据发送方设备从所述服务器证书中提取出服务器公钥,基于预设算法与所述服务器公钥计算获得目标值,对所述目标值与所述数据接收方设备证书进行哈希计算获得哈希值,使用所述服务器公钥和所述哈希值对所述数据接收方设备证书中的签名数据进行验签,若验签通过,则所述数据接收方设备证书合法,执行步骤S17-2,否则,所述数据接收方设备证书不合法,返回错误信息并结束。
6.根据权利要求1所述的方法,其特征在于,所述数据发送方设备生成数据流通索引,包括:
所述数据发送方设备按第一预设规则对所述第一随机数、所述第二随机数进行数据处理,生成数据流通索引。
7.根据权利要求1所述的方法,其特征在于,所述通过所述第一随机数、所述第二随机数、所述第一密钥分散因子以及所述第二密钥分散因子计算第一加密会话密钥与第一MAC会话密钥,包括:
对所述第一密钥分散因子与所述第二密钥分散因子进行异或运算,获得第一运算结果与第一数据,对所述第一随机数与所述第二随机数进行异或运算,获得第二运算结果;
基于所述第一运算结果、所述第一数据以及所述第二运算结果生成第二数据,对所述第二数据进行哈希运算,获得哈希结果;
按第二预设规则从所述哈希结果中获取第一加密会话密钥与第一MAC会话密钥。
8.根据权利要求2所述的方法,其特征在于,所述数据发送方设备判断所述异步更新完成指令中是否存在数据组合,还包括:
若不存在,则清空数据发送方设备内部存储的数据流通凭证中的数据组合并执行步骤S40。
9.一种数据流通方法,其特征在于,所述方法应用于数据接收方设备,包括:
步骤S11’:所述数据接收方设备接收数据发送方设备发送的返回数据;
步骤S12’:所述数据接收方设备对所述返回数据进行判断,若是双离线数据流通初始化指令的返回数据,则执行步骤S13’;若是双离线数据流通执行指令的返回数据,则执行步骤S14’;
步骤S13’:所述数据收方设备解析所述双离线数据流通初始化指令的返回数据,从中获取到所述数据发送方设备生成的第二随机数;
步骤S14’:所述数据接收方设备解析所述双离线数据流通指令的返回数据,从中获取到数据减量凭证密文、第一报文验证码以及所述数据发送方设备生成的第二密钥分散因子,执行步骤S15’;
步骤S15’:所述数据接收方设备通过自身生成的第一随机数、自身生成的第一密钥分散因子、所述第二随机数以及所述第二密钥分散因子计算第二加密会话密钥与第二MAC会话密钥,利用所述第二MAC会话密钥对所述第一报文验证码进行验证,若通过,执行步骤S16’,否则,返回错误信息并结束;
步骤S16’:所述数据接收方设备利用所述第二加密会话密钥对所述数据减量凭证密文进行解密,获得目标个数的数据减量凭证;
步骤S17’:所述数据接收方设备采用非对称算法和哈希算法对所述目标个数内的各数据减量凭证中的最后一个数据流通子链的签名数据进行验证,若验证通过,执行步骤S18’,否则,返回错误信息并结束;
步骤S18’:所述数据接收方设备将所述目标个数内的各数据减量凭证中的最后一个数据流通子链的数据流通索引与内部存储的数据流通索引进行比对,若相等,执行步骤S19’,否则,返回错误信息并结束;
步骤S19’:所述数据接收方设备计算所述目标个数内的各个数据减量凭证中的最后一个数据流通子链的子数据流通量之和,并判断所述子数据流通量之和与双离线数据流通量是否相等,若相等,生成数据流通结果,执行步骤S20’,否则,返回错误信息并结束;
步骤S20’:所述数据接收方设备利用所述第二MAC会话密钥对所述数据流通结果进行加密,获得第二报文验证码,将所述数据流通结果与所述第二报文验证码发送给所述数据发送方设备。
10.根据权利要求9所述的方法,其特征在于,所述生成数据流通结果之前,还包括:
所述数据接收方设备在内部存储中获取无效的数据余量凭证,并将所述目标个数的数据减量凭证存储至所述无效的数据余量凭证中。
11.一种数据流通系统,其特征在于,所述系统包括数据发送方设备与数据接收方设备,其中:
所述数据发送方设备,用于执行权利要求1-8中任一项所述方法的步骤;
所述数据接收方设备,用于执行权利要求9-10中任一项所述方法的步骤。
12.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现所述权利要求1-8或所述权利要求9-10中任一项所述方法的步骤。
13.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现所述权利要求1-8或所述权利要求9-10中任一项所述方法的步骤。
CN202210362634.6A 2022-04-08 2022-04-08 一种数据流通方法、系统、存储介质及电子设备 Active CN114448649B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210362634.6A CN114448649B (zh) 2022-04-08 2022-04-08 一种数据流通方法、系统、存储介质及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210362634.6A CN114448649B (zh) 2022-04-08 2022-04-08 一种数据流通方法、系统、存储介质及电子设备

Publications (2)

Publication Number Publication Date
CN114448649A CN114448649A (zh) 2022-05-06
CN114448649B true CN114448649B (zh) 2022-06-28

Family

ID=81359805

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210362634.6A Active CN114448649B (zh) 2022-04-08 2022-04-08 一种数据流通方法、系统、存储介质及电子设备

Country Status (1)

Country Link
CN (1) CN114448649B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114928456B (zh) * 2022-07-21 2022-10-04 飞天诚信科技股份有限公司 一种基于用户端本地证书实现数据流通的方法及系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104901722A (zh) * 2014-12-26 2015-09-09 腾讯科技(深圳)有限公司 一种双离线场景下的数据处理方法、装置和系统
CN111131278A (zh) * 2019-12-27 2020-05-08 京东数字科技控股有限公司 数据处理方法及装置、计算机存储介质、电子设备
CN111901283A (zh) * 2019-05-05 2020-11-06 腾讯科技(深圳)有限公司 资源转移方法、装置、终端及存储介质
CN113379414A (zh) * 2020-03-09 2021-09-10 新开普电子股份有限公司 一种适用于双离线交易的身份核实方法及终端

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10958433B2 (en) * 2017-01-31 2021-03-23 Arris Enterprises Llc Origin certificate based online certificate issuance

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104901722A (zh) * 2014-12-26 2015-09-09 腾讯科技(深圳)有限公司 一种双离线场景下的数据处理方法、装置和系统
CN111901283A (zh) * 2019-05-05 2020-11-06 腾讯科技(深圳)有限公司 资源转移方法、装置、终端及存储介质
CN111131278A (zh) * 2019-12-27 2020-05-08 京东数字科技控股有限公司 数据处理方法及装置、计算机存储介质、电子设备
CN113379414A (zh) * 2020-03-09 2021-09-10 新开普电子股份有限公司 一种适用于双离线交易的身份核实方法及终端

Also Published As

Publication number Publication date
CN114448649A (zh) 2022-05-06

Similar Documents

Publication Publication Date Title
EP3742696B1 (en) Identity management method, equipment, communication network, and storage medium
US20210406882A1 (en) Systems and methods for secure communication
EP3657370B1 (en) Methods and devices for authenticating smart card
CN111079103B (zh) 一种身份认证方法和设备
CN108604338B (zh) 验证对安全装置功能性的在线访问
CN110245144B (zh) 协议数据管理方法、装置、存储介质及系统
US20150213433A1 (en) Secure provisioning of credentials on an electronic device using elliptic curve cryptography
JP6552714B2 (ja) データ処理方法およびシステム、ならびにウェアラブル電子デバイス
CN112055019B (zh) 一种建立通信信道的方法及用户终端
CN111404991A (zh) 获取云服务的方法、装置、电子设备及介质
CN114448649B (zh) 一种数据流通方法、系统、存储介质及电子设备
CN111654481B (zh) 一种身份认证方法、装置和存储介质
CN104735064B (zh) 一种标识密码系统中标识安全撤销并更新的方法
CN111212074A (zh) 基于区块链的资格认定方法、装置、设备及存储介质
WO2024109441A1 (zh) 一种解析pb格式流通数据的方法及系统
CN107659409B (zh) 用于在至少两个通信伙伴之间提供经认证的连接的方法
CN102761544A (zh) 具备隐私保护功能的公共终端可信性验证方法
CN116208411A (zh) 加密方法、装置和电子设备
CN115147103A (zh) 数字人民币的支付方法、装置和电子设备
CN115706993A (zh) 认证方法、可读介质和电子设备
CN114928456B (zh) 一种基于用户端本地证书实现数据流通的方法及系统
TWI705347B (zh) 身份認證方法和設備
KR101828685B1 (ko) 오티피토큰의 배터리 교체 관리 방법
CN114679281B (zh) 一种基于rsa的联合签名生成方法及装置
CN109327310B (zh) 一种基于无证书的链路保护方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant