数据处理方法、装置、电子设备及计算机存储介质
阅读说明:本技术 数据处理方法、装置、电子设备及计算机存储介质 (Data processing method and device, electronic equipment and computer storage medium ) 是由 严更贵 于 2020-05-28 设计创作,主要内容包括:本发明实施例提供了一种数据处理方法、装置、电子设备及计算机存储介质。其中,方法应用于云平台票务系统,方法包括:获取用于生成票据的唯一识别码的软证书,其中,软证书中包含第一加密数据和用于验证第一加密数据的第二加密数据,第一加密数据中至少包含票据的售卖方的第一标识和生成票据的云平台票务系统的第二标识;使用软证书的生成方发送的第二公钥对第二加密数据进行解密,获得验证数据;若根据验证数据确定第一加密数据满足合法性条件,则使用云平台票务系统存储的第一私钥对第一加密数据进行解密,以使用部分解密结果生成票据的唯一识别码,并根据唯一识别码生成票据。通过本发明实施例,可以是使用软证书。(The embodiment of the invention provides a data processing method and device, electronic equipment and a computer storage medium. The method is applied to a cloud platform ticketing system and comprises the following steps: acquiring a soft certificate used for generating a unique identification code of a bill, wherein the soft certificate comprises first encrypted data and second encrypted data used for verifying the first encrypted data, and the first encrypted data at least comprises a first identification of a seller of the bill and a second identification of a cloud platform ticketing system for generating the bill; decrypting the second encrypted data by using a second public key sent by a generator of the soft certificate to obtain verification data; and if the first encrypted data meets the legitimacy condition according to the verification data, decrypting the first encrypted data by using a first private key stored in the cloud platform ticketing system so as to generate a unique identification code of the bill by using a part of decryption result, and generating the bill according to the unique identification code. By the embodiment of the invention, the soft certificate can be used.)
技术领域
本发明实施例涉及计算机技术领域,尤其涉及一种数据处理方法、装置、电子设备及计算机存储介质。
背景技术
现有技术中,为了便于对电影票房进行统计和监管,影院售出的电子凭证(例如电影票)均需要设置对应的唯一识别标识(例如二维码),该唯一识别标识需要使用由监管部门统一配发的硬件数字证书(也称“硬ukey”)才能生成。
通过云平台售票系统基于这种硬ukey进行售票时,每次售出一张票,就需要云平台售票系统与场馆配置的用于安装硬ukey的服务器进行至少一次通信,才能生成与该票对应的唯一识别标识。这种方式不仅效率比较低、性能差,而且稳定性也不高,如经常出现因为硬ukey问题导致唯一识别标识生成失败,从而使得售票失败的情况。同时,其可靠性还会受场馆网络环境的影响,如果场馆网络异常,也会导致云平台售票系统调用不到硬ukey而失败。
此外,因为上报票房过程中强依赖硬ukey,导致上报票房给监管部门时也会存在失败的情况。
综上,由于硬ukey存在比较明显的限制,降低了云平台售票系统售票的成功率以及可靠性。
发明内容
有鉴于此,本发明实施例提供一种数据处理方案,以解决上述部分或全部问题。
根据本发明实施例的第一方面,提供了一种数据处理方法,应用于云平台票务系统,所述方法包括:获取用于生成票据的唯一识别码的软证书,其中,所述软证书中包含第一加密数据和用于验证所述第一加密数据的第二加密数据,所述第一加密数据中至少包含所述票据的售卖方的第一标识和生成所述票据的所述云平台票务系统的第二标识;使用所述软证书的生成方发送的第二公钥对所述第二加密数据进行解密,获得验证数据;若根据所述验证数据确定所述第一加密数据满足合法性条件,则使用所述云平台票务系统存储的第一私钥对所述第一加密数据进行解密,以使用解密获得的所述第一标识和所述第二标识生成所述票据的唯一识别码,并根据所述唯一识别码生成所述票据。
根据本发明实施例的第二方面,提供了一种数据处理方法,应用于软证书的生成方的证书生成设备,所述方法包括:接收来自于票据的售卖方的证书生成请求,所述证书生成请求中携带有所述售卖方的第一标识和用于生成票据的云平台票务系统的第二标识;根据所述第一标识确定与所述售卖方对应的唯一编码和数据传输密钥,所述数据传输密钥用于对传输至所述证书生成设备的至少部分数据进行加密;以所述第一标识、所述第二标识、所述唯一编码和所述数据传输密钥作为原始数据,使用与所述第二标识对应的第一公钥,生成与所述原始数据对应的第一加密数据;根据与所述证书生成设备对应的第二私钥和所述第一加密数据,获得与所述第一加密数据对应的第二加密数据,并根据所述第一加密数据和所述第二加密数据获得与所述第一标识指示的售卖方对应的软证书。
根据本发明实施例的第三方面,提供了一种软证书生成系统,包括云平台票务系统、票据的售卖方设备和证书生成设备;所述云平台票务系统,用于根据所述售卖方设备的请求,向所述售卖方设备发送与所述售卖方设备对应的第一标识和所述云平台票务系统的第二标识;所述售卖方设备,用于根据所述第一标识和所述第二标识生成软证书生成请求,并发送至所述证书生成设备;所述证书生成设备,用于响应于所述软证书生成请求,生成与所述第一标识对应的原始数据,并使用与所述第二标识对应的第一公钥对所述原始数据进行加密,生成第一加密数据,使用所述证书生成设备的第二私钥对所述第一加密数据的验证数据进行签名,生成第二加密数据;所述证书生成设备,还用于根据所述第一加密数据和所述第二加密数据生成与所述第一标识对应的软证书。
根据本发明实施例的第四方面,提供了一种数据处理装置,配置于云平台票务系统,所述装置包括:第一获取模块,用于获取用于生成票据的唯一识别码的软证书,其中,所述软证书中包含第一加密数据和用于验证所述第一加密数据的第二加密数据,所述第一加密数据中至少包含所述票据的售卖方的第一标识和生成所述票据的所述云平台票务系统的第二标识;第二获取模块,用于使用所述软证书的生成方发送的第二公钥对所述第二加密数据进行解密,获得验证数据;解密及生成模块,用于若根据所述验证数据确定所述第一加密数据满足合法性条件,则使用所述云平台票务系统存储的第一私钥对所述第一加密数据进行解密,以使用解密获得的所述第一标识和所述第二标识生成所述票据的唯一识别码,并根据所述唯一识别码生成所述票据。
根据本发明实施例的第五方面,提供了一种数据处理装置,配置于软证书的生成方的证书生成设备,所述装置包括:接收模块,用于接收来自于票据的售卖方的证书生成请求,所述证书生成请求中携带有所述售卖方的第一标识和用于生成票据的云平台票务系统的第二标识;第三获取模块,用于根据所述第一标识确定与所述售卖方对应的唯一编码和数据传输密钥,所述数据传输密钥用于对传输至所述证书生成设备的至少部分数据进行加密;第一数据加密模块,用于以所述第一标识、所述第二标识、所述唯一编码和所述数据传输密钥作为原始数据,使用与所述第二标识对应的第一公钥,生成与所述原始数据对应的第一加密数据;第二数据加密模块,用于根据与所述证书生成设备对应的第二私钥和所述第一加密数据,获得与所述第一加密数据对应的第二加密数据,并根据所述第一加密数据和所述第二加密数据获得与所述第一标识指示的售卖方对应的软证书。
根据本发明实施例的第六方面,提供了一种电子设备,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行如第一方面或第二方便所述的数据处理方法对应的操作。
根据本发明实施例的第七方面,提供了一种计算机存储介质,其上存储有计算机程序,该程序被处理器执行时实现如第一方面或第二方面所述的数据处理方法。
根据本发明实施例提供的数据处理方案,云平台票务系统在获得售卖方发送的软证书后,使用第二公钥对第二加密数据进行解密获得验证数据,通过验证数据对第一加密数据的合法性条件进行验证,在确定第一加密数据满足合法性条件的情况下,使用第一私钥对第一加密数据进行解密,以获得第一标识和第二标识,从而在需要时使用第一标识和第二标识生成唯一标识码,进而生成票据。这样在生成票据的过程中无需与售卖方的服务器通信,从而提升了生成票据的成功率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明实施例中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。
图1a为根据本发明实施例一的一种数据处理方法的步骤流程图;
图1b为根据本发明实施例一的一种数据处理方法的使用场景图;
图2a为根据本发明实施例二的一种数据处理方法的步骤流程图;
图2b为根据本发明实施例二的一种数据处理方法的使用场景图;
图3a根据本发明实施例三的一种数据处理方法的步骤流程图;
图3b根据本发明实施例三的一种数据处理方法的使用场景图;
图4a根据本发明实施例四的一种数据处理方法的步骤流程图;
图4b根据本发明实施例四的一种软证书生成系统的使用场景图;
图5为根据本发明实施例五的一种数据处理装置的结构框图;
图6为根据本发明实施例六的一种数据处理装置的结构框图;
图7为根据本发明实施例七的一种电子设备的结构示意图。
具体实施方式
为了使本领域的人员更好地理解本发明实施例中的技术方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明实施例一部分实施例,而不是全部的实施例。基于本发明实施例中的实施例,本领域普通技术人员所获得的所有其他实施例,都应当属于本发明实施例保护的范围。
下面结合本发明实施例附图进一步说明本发明实施例具体实现。
实施例一
参照图1a,示出了根据本发明实施例一的一种数据处理方法的步骤流程图。
本实施例的数据处理方法的应用场景可以是云平台票务系统,当然,在其他实施例中,该方法也可以应用到其他场景中,本实施例对此不作限制。
现有技术中,用户通过云平台票务系统购买某一售卖方(如某影院、某场馆等)的票据时,云平台票务系统在生成票据的过程中需要生成票据对应的唯一识别码(例如二维码),该唯一识别码中需要包含一些必要信息(如售卖方信息等),从而保证能够根据唯一识别码追溯到票据的售卖方和生成其的云平台票务系统,以防止销售量作假。
票据可以是任何能够作为凭证使用的票据,其可以是,但不限于:电影票据、话剧票据、相声票据、体育赛事票据、演唱会票据等纸质,电子票。
唯一标识码中的必要信息需要从售卖方的硬证书中获取,因此,每次生成票据时,云平台票务系统均需要与售卖方配置硬证书的服务器进行通信,以获得硬证书中的必要信息。而一旦出现硬证书故障、或者网络故障等情况,云平台票务系统就无法获得必要信息,导致票据生成失败,即对硬证书的强依赖降低了云平台售票系统售票的成功率以及可靠性。
为此,在本实施例中,云平台票务系统应用本实施例的方法,获得售卖方的软证书,以尽量避免上述问题的出现。所述方法包括以下步骤:
步骤S102:获取用于生成票据的唯一识别码的软证书。
该软证书可以是票据的实际售卖方(如某影院、某剧场等)向软证书的生成方(例如对应的监管部门)请求获得的数字证书。云平台票务系统从售卖方获取其发送的软证书。
在本实施例中,所述软证书中包含第一加密数据和用于验证所述第一加密数据的第二加密数据。所述第一加密数据中至少包含所述票据的售卖方的第一标识和生成所述票据的所述云平台票务系统的第二标识。
其中,为了确保云平台票务系统获得第一加密数据后能够正确对其解密,并获得其中包含的第一标识等信息,在一具体实现中,第一加密数据通过使用与云平台票务系统的第二标识对应的第一公钥对第一标识、第二标识等信息进行加密的方式生成。
第一公钥与第一私钥对应,其可以由云平台票务系统生成,第一私钥由云平台票务系统保存,并将第一公钥发送至生成方。这样通过第一公钥加密获得的第一加密数据,仅有持有第一私钥的云平台票务系统可以解密,从而保证了数据的安全性。
第一标识可以是售卖方在云平台票务系统中的标识(也可以称为影院内码,IN-ID)。例如,在云平台票务系统中存在两个售卖方,分别记作售卖方A和B,那么针对每个售卖方,云平台票务系统均可以为其分配对应的第一标识,如售卖方A的第一标识为“01”,售卖方B的第一标识为“02”等。
第二标识用于指示云平台票务系统。针对生成方而言,不同的云平台票务系统具有不同的第二标识,例如,云平台票务系统为两个,分别记作云平台票务系统A和B,则用于生成软证书的生成方(如监管部门)可以为每个云平台票务系统分配对应的、唯一的第二标识。如,云平台票务系统A对应的第二标识为“YUN01”,云平台票务系统B对应的第二标识为“YUN02”等。
第二加密数据用于验证第一加密数据的合法性,以保证云平台票务系统获取的软证书中的第一加密数据未被篡改。在一具体实现中,第二加密数据可以是使用生成方的第二私钥对第一加密数据的验证数据进行加密获得的数据。
第二私钥与第二公钥对应,可以是生成方生成的一对密钥,第二私钥由生成方保存,第二公钥可以发送至云平台票务系统。由于第二加密数据使用第二私钥进行加密,因而本身具有安全性和防篡改性,而且通过解密第二加密数据后获得的第一加密数据的验证数据,也可以验证第一加密数据的合法性,在第一加密数据被篡改时可以及时发现。
步骤S104:使用所述软证书的生成方发送的第二公钥对所述第二加密数据进行解密,获得验证数据。
在本实施例中,云平台票务系统在获得软证书后,通过使用从生成方获取的第二公钥对第二加密数据进行解密,如果能够正确解密,并获得第一加密数据的验证数据,表示第二加密数据是由生成方生成的、且未被篡改的数据。反之,表示第二加密数据可能被篡改,不具有安全性,云平台票务系统可以通知售卖方重新向生成方请求软证书。
步骤S106:若根据所述验证数据确定所述第一加密数据满足合法性条件,则使用所述云平台票务系统存储的第一私钥对所述第一加密数据进行解密,以使用解密获得的所述第一标识和所述第二标识生成所述票据的唯一识别码,并根据所述唯一识别码生成所述票据。
在一具体实现中,若验证数据是第一加密数据的摘要数据,则通过验证数据验证第一加密数据是否满足合法性条件的方式可以是:
通过预设的摘要算法,获取第一加密技术的待比对摘要数据,由于不同的数据内容生成的摘要数据不同,因此,通过将待比对摘要数据与验证数据进行比对根据两者是否一致确定第一加密数据是否满足合法性条件。如果两者一致,表示第一加密数据未被篡改,满足合法性条件,反之,则表示第一加密数据被篡改,不满足合法性条件。
在确定第一加密数据满足合法性条件时,可以使用云平台票务系统保存的第一私钥对第一加密数据进行解密,从而获得其中包含的第一标识等信息,从而在后续生成票据的过程中,至少使用第一标识和第二标识生成票据的唯一标识码,从而使得生成的票据能够通过唯一标识码追溯到售卖方(通过第一标识确定)和生成票据的云平台票务系统(通过第二标识确定)。
这样云平台票务系统可以直接使用售卖方发送的软证书生成票据,而无需每次生成票据时都与售卖方配置硬证书的服务器进行通信,既避免了由于硬证书或者网络的影响导致票据生成失败,又可以保证能够追溯每个票据的售卖方和云平台票务系统,防止票据销售数据造假。
下面结合一个具体使用场景,以生成票据为例,对上述数据处理方法的实现过程进行说明如下:
如图1b所示,售卖方(例如影院)在售卖票据之前,为了保证软证书的生成方(例如监管部门)能够监管票据的销售量,售卖方向生成方请求软证书,以便后续通过软证书生成票据。
生成方响应于售卖方的请求,生成与售卖方对应的软证书,并将其发送给售卖方。
在本使用场景中,软证书中包含第一加密数据和第二加密数据。第一加密数据中至少包含第一标识和第二标识。第一标识用于在云平台票务系统中指示售卖方,其也可以称为影院内码(IN-ID),在一个云平台票务系统中,不同的售卖方具有不同的第一标识。第二标识用于指示云平台票务系统。当然,根据需要的不同,第一加密数据中还可以包括其他数据,本实施例对此不作限制。
第二加密数据中包含验证数据,验证数据用于验证第一加密数据的合法性,以保证第一加密数据未被篡改。在本使用场景中,验证数据例如为使用摘要算法(如MD5)获得的第一加密数据的摘要数据等。第二加密数据可以是使用生成方的第二私钥对验证数据进行加密获得的数据,由于第二私钥只有生成方持有,因此可以防止篡改验证数据。
售卖方在获得软证书后可以将软证书发送给对应的云平台票务系统,以便云平台票务系统能够使用软证书生成票据。当售卖方与多个云平台票务系统合作时,可以针对每个云平台票务系统均请求一个对应的软证书,并将软证书发送给对应的云平台票务系统。
一种可行的使用验证数据对第一加密数据的合法性进行验证的方式中,云平台票务系统包括处理器和存储器,存储器中存储有云平台票务系统的第一私钥以及生成方发送的第二公钥。
云平台票务系统在获得售卖方发送的软证书后,处理器使用生成方的第二公钥对第二加密数据进行解密。如果能够正确解密获得验证数据,则表示第二加密数据是由生成方合法生成的、未被篡改的数据,可以使用解密获得的验证数据对第一加密数据的合法性进行验证;反之,如果使用第二公钥无法正确对第二加密数据进行解密,表示第二加密数据可能被篡改,可以直接通知售卖方,软证书不合法,使其重新请求软证书。
使用验证数据进行验证时,使用与生成验证数据的摘要算法相同的摘要算法对第一加密数据进行数字摘要提取,获得待比对摘要数据。比较验证数据和待比对摘要数据是否一致,若一致则第一加密数据满足合法性条件,反之,则不满足合法性条件。
在满足合法性条件的情况下,使用第一私钥对第一加密数据进行解密获得解密结果(解密结果中可以包括第一标识和第二标识等信息),以使用解密结果中的至少部分信息生成唯一标识码,或者,也可以将解密获取的第一标识等存储到存储器中。
售卖方获得软证书后可以发送给云平台票务系统,由于软证书不存在硬证书存在的必须与硬件绑定、不能复制的问题,因而使云平台票务系统可以采用软证书生成票据,不用每次生成票据时都需要与售卖方的服务器通信,避免了硬证书故障、服务器故障、通信网络故障等导致的票据生成失败的问题。而且由于唯一标识码中包含第一标识、第二标识等信息,因而也可以防止售卖方和云平台票务系统联合进行票据销售数据造假,逃避监管。
通过本实施例,云平台票务系统在获得售卖方发送的软证书后,使用第二公钥对第二加密数据进行解密获得验证数据,通过验证数据对第一加密数据的合法性条件进行验证,在确定第一加密数据满足合法性条件的情况下,使用第一私钥对第一加密数据进行解密,以获得第一标识和第二标识,从而在需要时使用第一标识和第二标识生成唯一标识码,进而生成票据。这样在生成票据的过程中无需与售卖方的服务器通信,从而提升了生成票据的成功率。
本实施例的数据处理方法可以由任意适当的具有数据处理能力的电子设备执行,包括但不限于:服务器、移动终端(如平板电脑、手机等)和PC机等。
实施例二
参照图2a,示出了根据本发明实施例二的一种数据处理方法的步骤流程图。
本实施例的数据处理方法包括以下步骤:
步骤S202:获取用于生成票据的唯一识别码的软证书。
在一具体实例中,软证书中的第一加密数据和第二加密数据按照约定的规则组合形成软证书,这样可以便于云平台票务系统方便地提取出第一加密数据和第二加密数据。
例如,以第一加密数据、分隔符、第二加密数据的方式组合形成软证书,这样云平台票务系统在获得软证书后,根据分隔符就可以快速定位并获得第一加密数据和第二加密数据。
在本实施例中,第一加密数据中除了包含第一标识和第二标识外,还可以包含唯一编码和数据传输密钥。唯一编码可以是生成方针对售卖方分配的一个八位标识,不同售卖方的唯一编码不同,这样就能够区分不同的售卖方。数据传输密钥是生成方为售卖方分配的、用于对发送至所述生成方的至少部分数据进行加密的密钥,这样在向生成方发送数据时,可以防止其他人篡改数据,而且还可以根据数据传输密钥确定发送数据的售卖方或者云平台票务系统。
步骤S204:使用所述软证书的生成方发送的第二公钥对所述第二加密数据进行解密,获得验证数据。
第二公钥可以是由生成方生成,并预先发送给云平台票务系统的,第二公钥与第二私钥对应,第二私钥由生成方保存,第二公钥发送给云平台票务系统和售卖方等。
在本实施例中,第二加密数据是生成方使用第二私钥对验证数据进行加密获得的。验证数据可以是生成方使用预设的摘要算法(例如MD5)对第一加密数据进行数字摘要提取获得的。
由于第一加密数据被篡改后使用相同的摘要算法获得的摘要数据与验证数据不同,因此通过验证数据可以确定第一加密数据是否被篡改。通过使用第二私钥对验证数据进行加密,使得能够确定第二加密数据的生成者的身份,从而避免篡改验证数据。获取验证数据之后可以执行步骤S206,以根据验证数据确定第一加密数据是否满足合法性条件。
步骤S206:若根据所述验证数据确定所述第一加密数据满足合法性条件,则使用所述云平台票务系统存储的第一私钥对所述第一加密数据进行解密,以使用解密获得的所述第一标识和所述第二标识生成所述票据的唯一识别码,并根据所述唯一识别码生成所述票据。
在步骤S206中,若根据所述验证数据确定所述第一加密数据满足合法性条件,则使用所述云平台票务系统存储的第一私钥对所述第一加密数据进行解密,可以包括以下子步骤S2061、S2062、S2063:
子步骤S2061:使用预设摘要算法对所述第一加密数据进行数字摘要提取,获取与所述第一加密数据对应的待比对摘要数据。
预设摘要算法可以与生成验证数据使用的摘要算法一致,例如,可以为MD5算法等。
子步骤S2062:确定所述待比对摘要数据和所述验证数据是否匹配。
若待比对摘要数据和验证数据匹配(例如两者一致),表示云平台票务系统获得的第一加密数据与生成方生成的原始第一加密数据是一致的,未被篡改,可以执行步骤S2063。
反之,若待比对摘要数据和验证数据不匹配(例如两者不一致),表示平台票务系统获得的第一加密数据可能在传输过程中遭到了篡改,并非生成方原始的第一加密数据,其中的信息不可靠,云平台票务系统可以向售卖方发送消息,指示其重新请求软证书。
子步骤S2063:若匹配,则确定所述第一加密数据满足合法性条件,使用所述第一私钥对所述第一加密数据进行解密,获得所述第一标识、所述第二标识、与所述第一标识指示的售卖方对应的唯一编码和数据传输密钥。
所述数据传输密钥用于对发送至所述生成方的至少部分数据进行加密。
在确定第一加密数据满足合法性的情况下,使用第一私钥对第一加密数据进行解密获得解密结果。在本实施例中,解密结果包括第一标识、第二标识、唯一编码和数据传输密钥。
如果获得的第一标识指示的售卖方与发送软证书的售卖方一致,则表示软证书正确,可以根据需要直接使用获得的解密结果生成唯一标识码,再根据唯一标识码生成票据,并可以继续执行步骤S208。
步骤S208:将所述第一标识、所述唯一编码和所述数据传输密钥记录到所述云平台票务系统的注册表中。
需要说明的是,本步骤S208为可选步骤。
若云平台票务系统中配置有用于存储不同的售卖方的解密结果的注册表,则获取软证书的解密结果(即对第一加密数据进行解密获得的结果)后,可以将解密结果中的第一标识、唯一编码和数据传输密钥等保存到注册表中,这样后续生成票据时可以直接从注册表中读取出对应的售卖方对应的解密结果,然后使用该解密结果生成票据的唯一标识码,以避免每次都从软证书中解密出解密结果,提升生成效率。
针对云平台票务系统中的各售卖方的解码结果可以均保存到一个注册表中,或者针对不同的售卖方可以创建不同的注册表,等等,本实施例对此不作限制。
可选地,在获得解密结果后,如果使用该解密结果生成票据,则使用解密获得的所述第一标识和所述第二标识生成所述票据的唯一识别码,并根据所述唯一识别码生成所述票据的过程可以包括下述步骤S210~步骤S214。
步骤S210:根据接收的票据的生成请求,确定与所述生成请求对应的目标售卖方。
观众通过云平台票务系统购买票据(以电影票为例)时,云平台票务系统接收到生成请求,生成请求中包含观众选择的观影的场馆、座位和时间等等购票信息。云平台票务系统在获得生成请求后可以从生成请求中获得观影的场馆对应的目标售卖方(例如某个影院)。
步骤S212:根据所述第一加密数据解密后的结果,获取与所述目标售卖方对应的所述第一标识、以及与所述第一标识对应的唯一编码,并使用所述云平台票务系统的第一私钥对所述第一标识、所述唯一编码和所述云平台票务系统对应的第二标识进行加密,以获得云加密数据。
根据目标售卖方可以确定对应的解密结果,进而确定对应的第一标识和唯一编码。
根据规定生成的唯一标识码中应包含售卖方的信息(例如第一标识和唯一编码)、云平台系统的信息(例如第二标识)、以及其他需要包含的信息。而为了确定唯一标识码不是第三方冒名生成的,云平台票务系统使用自己保存的第一私钥对第一标识、唯一编码和第二标识进行加密获得云加密数据,后续使用云加密数据生成唯一标识码。
由于第一私钥是只有云平台票务系统持有的,因此,生成方如果想验证唯一标识码是否是第三方冒名生成的,只需要使用与第一私钥对应的第一公钥对唯一标识码中的云加密数据进行解密,如果能够正确解密,表示不是冒名生成的,反之如果不能解密,表示并非使用第一私钥加密,即可能是冒名生成的,这样就可以在保证生成唯一标识码的云平台票务系统可追溯的同时防止第三方冒名生成。
步骤S214:调用标识码生成接口,根据所述云加密数据生成唯一标识码,以根据所述唯一标识码生成与所述票据生成请求对应的票据。
标识生成接口可以是生成方提供的接口,这样保证不同的云平台票务系统使用相同的接口生成唯一标识码,从而保证唯一标识码的生成较为规范和一致。例如,标识码生成接口可以是生成方提供的二维码生成接口,当然,在其他实施例中,如果需要生成不同类型的唯一标识码,则可以使用其他适当的接口。
由于唯一标识码是根据云加密数据生成的,因此唯一标识码的售卖方和生成其的云平台票务系统均可追溯,因而防止了销售造假。
在生成唯一标识码后,可以根据该唯一标识码生成票据。
可选地,为了便于生成方监管票据的销售数据,云平台票务系统可以向生成方发送销售数据,以方便生成方对销售数据进行核查以及监管。例如,在一具体实现中,上报数据过程可以包括步骤S216~步骤S220。
步骤S216:获取数据上报请求。
该数据上报请求可以是云平台票务系统的工作人员通过操作云平台票务系统生成的请求。
所述数据上报请求用于指示将所述云平台票务系统中与目标售卖方对应的票据的销售数据上报至所述生成方。
需要说明的是,数据上报请求中还可以包括票据对应的演出剧目。
例如,数据上报请求指示将某个时间段内、某个目标售卖方的某个演出剧目的销售数据上报至生成方。
又例如,数据上报请求指示将某个时间段内、某个目标售卖方的所有销售数据上报至生成方,等等。
步骤S218:根据所述数据上报请求,从已生成的票据中获取与所述数据上报请求对应的票据的第一销售数据,并使用与所述目标售卖方对应的第一标识对应的数据传输密钥对所述第一销售数据进行加密,获得第一加密销售数据。
例如,数据上报请求指示将目标售卖方A的演出剧目A的第一销售数据上报,则云平台票务系统从已生成的票据中检索出所有售卖方为目标售卖方A、演出剧目为演出剧目A的票据数据作为第一销售数据。
为了防止第三方篡改上报的第一销售数据或者冒名上报第一销售数据,获取目标售卖方A的第一标识对应的数据传输密钥,使用数据传输密钥对第一销售数据进行加密,获得第一加密销售数据。这样生成方接收到云平台票据系统上报的第一加密销售数据后,使用对应的密钥对第一加密销售数据进行解密,如果能够正确解密则表示第一销售数据是真实的、且未被篡改的,反之,则可以确定第一销售数据并非云平台票据系统上报的原始的第一销售数据。
步骤S220:调用预设的上报数据接口,将所述第一加密销售数据发送至所述生成方。
上报数据接口可以是生成方提供的接口,通过调用上报数据接口可以保证可以规范、稳定地将第一加密销售数据发送到生成方。
可选地,为了使生成方的监管更加便捷,能够根据需要随时获取云平台票务系统中的销售数据,所述方法还可以包括步骤S222~步骤S226。
步骤S222:接收所述生成方通过调用所述云平台票务系统的用于获取第二销售数据的监管接口发送的数据查询请求。
云平台票务系统中配置有监管接口,生成方可以通过调用监管接口的方式向云平台票务系统发送数据查询请求。
数据查询请求中用于指示获取目标售卖方的销售数据。例如,数据查询请求指示获取某一时间段内、某个目标售卖方的某个演出剧目的销售数据。或者,指示获取某一时间段内、某个目标售卖方的所有销售数据等等。
步骤S224:获取与所述数据查询请求对应的第二销售数据,并使用所述云平台票务系统的第一私钥对所述票据的第二销售数据进行加密,生成第二加密销售数据。
以数据查询请求指示获取某一时间段内、某个目标售卖方的某个演出剧目的销售数据为例,云平台票务系统从已生成的票据数据中检索出满足数据查询请求的要求的第二销售数据。
为了使生成方可以确定上报第二销售数据的云平台票据系统,而且可以避免第三方篡改第二销售数据,云平台票据系统使用自身保存的第一私钥对第二销售数据进行加密,获得第二加密销售数据。
步骤S226:将所述第二加密销售数据发送至所述生成方。
云平台票据系统可以通过网络直接将第二加密销售数据发送至生成方,以便于生成方对第二销售数据进行审查、保存等处理。
需要说明的是,上述的步骤可以并行执行、或者串行执行,或者部分并行执行。此外,根据需要实现的功能不同,上述部分或者全部步骤可以进行适当组合。
下面结合一具体使用场景,对云平台票据系统存储售卖方发送的软证书,并使用该软证书生成票据的过程进行详细说明如下:
在本使用场景中,如图2b所示,观众通过终端设备中的购票界面购买票据时,在购票界面中选择想要观看的电影、演出场次(即观看时间)并选择观看的影院,选择完成后终端设备向云平台票务系统发送票据的生成请求。该生成请求中至少包含目标售卖方的信息(即用于指示观看场馆)。
当然,在其他使用场景中,云平台票务系统也可以为售卖方提供能够配置在售卖方自有的终端设备上的应用程序,该应用程序可以供售卖方通过自有的终端设备与云平台票务系统通信,这样售卖方可以利用应用程序向云平台票务系统发送票据的售卖数据,或者通过售卖方可以直接向观众售卖票据,并根据观众的购买信息生成票据的生成请求,并将票据的生成请求发送给云平台票务系统,由云平台票务系统生成票据后发送给售卖方,再由售卖方发送给购票观众。
在本使用场景中,云平台票务系统包含处理器和存储器等。存储器中存储有第一私钥和注册表,注册表中保存有第一加密数据的至少部分解密结果,如第一标识、唯一编码和数据传输密钥等。
处理器根据该生成请求,从第一加密数据的解密结果中获取与目标售卖方对应的第一标识和唯一编码,此外还可以从存储器中获取云平台票务系统对应的第一私钥和第二标识,并将第一标识、唯一编码和用于指示云平台票务系统的第二标识一起使用第一私钥进行加密,获得云加密数据。
之后,调用标识码生成接口(例如生成方提供的二维码生成接口),根据云加密数据以及其他根据规定必须包含的数据一起生成唯一标识码。
之后,根据唯一标识码生成票据,并将票据发送给终端设备。
在生成票据的过程中,云平台票务系统只需要使用自身存储的软证书即可,无需与目标售卖方的配置硬证书的服务器通信,因而避免了硬证书故障等导致的票据生成失败。此外,由于云平台票务系统和售卖方之间使用软证书,售卖方也可以省略服务器专门用于配置硬证书,可以减少运营成本。
此外,云平台票务系统可以根据设定每隔一段时间就上报一次销售数据。
例如,若确定时间到达,则根据预设的规则自动生成数据上报请求,或者根据工作人员的操作生成数据上报请求。
在本使用场景中,数据上报请求中包括上报时间段、目标售卖方、演出剧目等信息。当然,在其他使用场景中可以仅包括上述的部分信息,或者包括其他信息,本使用场景对此不作限制。
根据数据上报请求,从已生成的票据中获取满足数据上报请求的票据的第一销售数据(例如为目标售卖方A在2020-01-10至2020-02-01这一时间段内售出的演出剧目A的销售数据),并使用与目标售卖方对应的第一标识,确定供目标售卖方上报使用的数据传输密钥,使用该数据传输密钥对第一销售数据进行加密,获得第一加密销售数据。
云平台票务系统通过预设的上报数据接口,将第一加密数据发送到生成方,以供生成方对第一加密销售数据进行审查、记录等。
由于使用上报的第一加密销售数据使用了数据传输密钥进行加密,因此,生成方在获得第一加密销售数据后可以验证其发送者的身份,从而避免冒名发送或者篡改上报数据。
可选地,为了更加便于监管,使生成方能够根据需要实时地获取销售数据,云平台票务系统还提供有供生成方调用的、用于获取第二销售数据的监管接口。生成方需要某一目标售卖方在某一时间段内针对某一演出剧目的销售数据时,可以通过调用监管接口向云平台票务系统发送数据查询请求。
数据查询请求中包括监管时间段(如2020-01-01至2020-02-01)、目标售卖方、演出剧目等信息。云平台票务系统根据数据查询请求从已生成的票据中检索出满足数据查询请求的第二销售数据,并使用第一私钥对第二销售数据进行加密,获得第二加密销售数据。之后,将第二销售加密数据发送给生成方,以供生成方保存、审查等。
由于第二销售数据使用第一私钥加密,使得第二加密销售数据在传输过程中不会泄露,保证了数据安全性,而生成方可以通过第一公钥对接收到的第二加密销售数据进行解密,如果能够正确解密表示第二加密数据是云平台票务系统发送的数据,而非第三方冒名发送的数据,从而保证了第二加密销售数据的来源可以验证。
通过本实施例,云平台票务系统在获得售卖方发送的软证书后,使用第二公钥对第二加密数据进行解密获得验证数据,通过验证数据对第一加密数据的合法性条件进行验证,在确定第一加密数据满足合法性条件的情况下,使用第一私钥对第一加密数据进行解密,以获得第一标识和第二标识,从而在需要时使用第一标识和第二标识生成唯一标识码,进而生成票据。这样在生成票据的过程中无需与售卖方的服务器通信,从而提升了生成票据的成功率。
本实施例的数据处理方法可以由任意适当的具有数据处理能力的电子设备执行,包括但不限于:服务器、移动终端(如平板电脑、手机等)和PC机等。
实施例三
参照图3a,示出了根据本发明实施例三的一种数据处理方法的步骤流程图。
本实施例的数据处理方法应用于软证书的生成方的证书生成设备,通过证书生成设备为各个售卖方生成对应的软证书。当然,在其他实施例中,该方法也可以配置于其他适当的设备中,只要能够生成软证书即可。
本实施例的数据处理方法包括以下步骤:
步骤S302:接收来自于票据的售卖方的证书生成请求。
所述证书生成请求中携带有所述售卖方的第一标识和用于生成票据的云平台票务系统的第二标识。
其中,第一标识用于指示云平台票务系统为售卖方分配的标识,也可以称为影院内码(IN-ID),云平台票务系统针对合作的每个售卖方均会分配一个第一标识,用于唯一标示该售卖方。不同的云平台票务系统可以为同一售卖方分配不同的第一标识。
第二标识用于指示云平台票务系统,针对不同的云平台票务系统其具有不同的第二标识。
步骤S304:根据所述第一标识确定与所述售卖方对应的唯一编码和数据传输密钥,所述数据传输密钥用于对传输至所述证书生成设备的至少部分数据进行加密。
唯一编码可以是八位编码,用于唯一标识该售卖方。针对不同售卖方,生成方为其分配不同的唯一编码。
当然,其他实施例中,唯一编码可以是任何适当形式的编码,本实施例对此不作限制。
数据传输密钥用于供售卖方和/或云平台票务系统在向生成方发送数据时,对数据进行加密使用。
在获取证书生成请求后,若发送该请求的售卖方已存在唯一编码和数据传输密钥,则将已存在的唯一编码作为与售卖方对应的唯一编码,将已存在的数据传输密钥作为与售卖方对应的数据传输密钥。反之,若不存在,则为售卖方创建对应的唯一编码和数据传输密钥。
步骤S306:以所述第一标识、所述第二标识、所述唯一编码和所述数据传输密钥作为原始数据,使用与所述第二标识对应的第一公钥,生成与所述原始数据对应的第一加密数据。
由于第一公钥是云平台票务系统生成的,通过第一公钥加密的数据只有第一私钥才能解密,因此保证了第一加密数据只有持有第一私钥的云平台票务系统才能解密,这样就保证了数据安全性,即使第三方拦截第一加密数据,由于其不具有第一私钥,也无法获得其中的原始数据。
步骤S308:根据与所述证书生成设备对应的第二私钥和所述第一加密数据,获得与所述第一加密数据对应的第二加密数据,并根据所述第一加密数据和所述第二加密数据获得与所述第一标识指示的售卖方对应的软证书。
为了进一步保证数据传输过程中的安全性,防止第三方篡改,并使云平台票务系统能够验证第一加密数据是否被篡改,在生成第一加密数据后,生成方针对第一加密数据生成用于验证其合法性的第二加密数据,并将第一加密数据和第二加密数据一起组合成软证书发送给售卖方,再由售卖方转发给云平台票务系统。
这样云平台票务系统接收到软证书后,可以使用其中的第二加密数据对第一加密数据的合法性进行验证,在验证满足合法性条件的情况下,对第一加密数据进行解密获得其中的原始数据,从而保证数据安全性。
可选地,在一种具体实现中,步骤S308在根据与所述证书生成设备对应的第二私钥和所述第一加密数据,获得与所述第一加密数据对应的第二加密数据包括以下子步骤:
子步骤S3081:使用预设摘要算法对所述第一加密数据进行数字摘要提取,获得与所述第一加密数据对应的验证数据。
在本实施例中,预设摘要算法例如为MD5等,通过预设摘要算法获得第一加密数据的摘要数据作为验证数据。
当然,在其他实施例中,可以采用其他任何适当的摘要算法获得第一加密数据的摘要数据作为验证数据,本实施例对此不作限制。
子步骤S3082:使用所述证书生成设备的第二私钥对所述验证数据进行加密,获得所述第二加密数据。
例如,使用第二私钥对验证数据进行签名,获得第二加密数据。由于第二私钥是只有生成方才持有的私钥,且第二私钥签名的数据只有第二公钥能够验证解签,因此,在云平台票务系统接收到软证书之后,通过是否能够使用第二公钥对第二加密数据进行解签,就可以确定第二加密数据是否为生成方生成的、未被篡改的数据。
当然,在其他实施例中,可以采用其他方式获得第二加密数据,并不限于本实施例中例举的方式。
可选地,在一具体实现中,为了便于云平台票务系统从软证书中正确获得第一加密数据和第二加密数据,步骤S308在根据所述第一加密数据和所述第二加密数据生成与所述第一标识指示的售卖方对应的软证书可以实现为:将所述第一加密数据和所述第二加密数据,按照所述第一加密数据、分隔符和所述第二加密数据的规则组合成为所述软证书。
生成方和云平台票务系统可以根据需要约定任意字符作为分隔符,例如,其可以是字母、符号、文字、或者前述的任意组合。
软证书中,通过在第一加密数据和第二加密数据之间设置分隔符,使得云平台票务系统能够通过定位分隔符的方式快速确定第一加密数据和第二加密数据的位置,从而准确地、快速地获取第一加密数据和第二加密数据。
下面结合一具体使用场景,对生成软证书的过程进行说明如下:
如图3b所示,以售卖方分别与两个云平台票务系统(记作云平台票务系统X和Y)合作,分别向生成方请求与云平台票务系统X和云平台票务系统Y对应的软证书为例,对生成方生成软证书的过程进行说明如下:
针对云平台票务系统X,售卖方在请求对应的第一软证书之前,从云平台票务系统X获得其为售卖方分配的第一标识A。售卖方将第一标识A和云平台票务系统X对应的第二标识M携带在证书生成请求中发送到生成方。
生成方包括处理器和存储器。存储器中存储有第一公钥和第二私钥等。
处理器根据发送证书生成请求的售卖方确定是否存在与售卖方对应的唯一编码和数据传输密钥,如果不存在,则针对售卖方生成对应的唯一编码和数据传输密钥。
之后结合证书生成请求中的第一标识A和第二标识M,以第一标识A、第二标识M、唯一编码和数据传输密钥作为原始数据,使用与第二标识M对应的第一公钥(该第一公钥可以是云平台票务系统X预先发送给生成方的)对原始数据进行加密,获得第一加密数据。
之后,使用预设摘要算法对第一加密数据进行数字摘要提取,获得与第一加密数据对应的验证数据,再使用生成方的第二私钥对验证数据进行签名,从而获得第二加密数据。
根据预设的格式,如第一加密数据、分隔符和第二加密数据的格式将第一加密数据和第二加密数据组合成为针对云平台票务系统X的第一软证书,并将第一软证书发送给售卖方。售卖方可以将第一软证书发送给云平台票务系统X,云平台票务系统X可以执行实施例一或二的方法,从而使用第一软证书生成票据。
针对云平台票务系统Y,售卖方在请求第二软证书之前,从云平台票务系统Y获得其为售卖方分配的第一标识B。售卖方将携带有第一标识B和用于指示云平台票务系统Y的第二标识N的证书生成请求发送给生成方。
生成方确定是否已存在与售卖方对应的唯一编码和数据传输密钥。由于已经生成过第一软证书,因此存在与售卖方对应的唯一编码和数据传输密钥。
此种情况下,以售卖方的第一标识A、云平台票务系统Y的第二标识N、唯一编码和数据传输密钥作为原始数据,使用与第二标识N对应的第一公钥对原始数据进行加密,获得第一加密数据。
使用预设摘要算法对第一加密数据进行数字摘要提取,获得对应的验证数据,使用自身的第二私钥对验证数据进行签名,获得第二加密数据。
根据预设的格式,如第一加密数据、分隔符和第二加密数据的格式将第一加密数据和第二加密数据组合成为第二软证书,并将第二软证书发送给售卖方。售卖方可以将第二软证书发送给云平台票务系统Y,云平台票务系统Y可以执行实施例一或二的方法,从而使用第二软证书生成票据。
通过本实施例,云平台票务系统在获得售卖方发送的软证书后,使用第二公钥对第二加密数据进行解密获得验证数据,通过验证数据对第一加密数据的合法性条件进行验证,在确定第一加密数据满足合法性条件的情况下,使用第一私钥对第一加密数据进行解密,以获得第一标识和第二标识,从而在需要时使用第一标识和第二标识生成唯一标识码,进而生成票据。这样在生成票据的过程中无需与售卖方的服务器通信,从而提升了生成票据的成功率。
本实施例的数据处理方法可以由任意适当的具有数据处理能力的电子设备执行,包括但不限于:服务器、移动终端(如平板电脑、手机等)和PC机等。
实施例四
参照图4a,示出了根据本发明实施例四的一种数据处理方法的步骤流程图。
在本实施例中,结合一具体软证书生成系统,对生成方生成软证书、以及云平台票务系统使用软证书生成票据的过程进行说明如下:
如图4b所示,软证书生成系统包括云平台票务系统、票据的售卖方设备和证书生成设备;所述云平台票务系统,用于根据所述售卖方设备的请求,向所述售卖方设备发送与所述售卖方设备对应的第一标识和所述云平台票务系统的第二标识;所述售卖方设备,用于根据所述第一标识和所述第二标识生成软证书生成请求,并发送至所述证书生成设备;所述证书生成设备,用于响应于所述软证书生成请求,生成与所述第一标识对应的原始数据,并使用与所述第二标识对应的第一公钥对所述原始数据进行加密,生成第一加密数据,使用所述证书生成设备的第二私钥对所述第一加密数据的验证数据进行签名,生成第二加密数据;所述证书生成设备,还用于根据所述第一加密数据和所述第二加密数据生成与所述第一标识对应的软证书。
通过该软证书生成系统可以为售卖方生成与云平台票务系统对应的软证书,供云平台票务系统使用软证书生成票据,从而避免了使用硬证书存在的弊端,提升票据生成的可靠性。
在本实施例中,所述原始数据包括与售卖方对应的所述第一标识、用于指示所述云平台票务系统的所述第二标识、与所述第一标识对应的唯一编码和数据传输密钥,所述数据传输密钥用于供所述售卖方设备和/或所述云平台票务系统对传输至所述证书生成设备的至少部分数据进行加密。
通过这些原始数据可以保证生成的唯一标识码可以追溯售卖方和生成其的云平台票务系统,避免销售数据造假。而数据传输密钥使得上报数据可以加密,既能够防止数据泄露,又能防止数据传输过程中被篡改。
下面结合该软证书生成系统对软证书生成过程、以及票据的生成过程进行详细说明:
关于生成软证书过程:
在生成软证书之前,需要保证云平台票务系统服务的售卖方在生成方中存在且符合认证的营业条件,这样生成方才能为售卖方生成软证书。
此外,生成方为每个云平台票务系统分配对应的第二标识,以通过第二标识唯一指示某个云平台票务系统。云平台票务系统可以预先生成一对非对称密钥,即第一私钥和第一公钥,并将第一公钥发送给生成方保存。生成方可以预先生成一对非对称密钥,即第二私钥和第二公钥,并将第二公钥发送给云平台票务系统保存。
而且,为了便于云平台票务系统生成唯一标识码、以及向生成方上报数据,生成方可以向云平台票务系统提供代码包。该代码包是由生成方提供的、封装了必要算法的代码库,其可以供云平台票务系统与生成方交互时使用。交互包括但不限于:获取数据摘要算法,比如MD5等;获取非对称的加解密算法,比如RSA等;获取上报数据接口,如利用数据传输密钥(即REPOK)对销售数据(如原始票房数据)进行加密的接口等;获取标识码生成接口(如二维码生成接口)等;获得数字签名的加签算法和解签算法等。
此种情况下,售卖方(如某个影院)需要为某个云平台票务系统申请软证书(即软ukey)时,执行以下步骤:
步骤S1:售卖方获得第一标识。
该第一标识为云平台票务系统为售卖方分配的第一标识(即影院内码,IN-ID),用于在对应的云平台票务系统中唯一标识该售卖方。
不同的云平台票务系统为同一售卖方分配的第一标识可以相同或不同,同一云平台票务系统为不同售卖方分配的第一标识不允许相同。
步骤S2:售卖方向生成方发送证书生成请求。
证书生成请求中携带有第一标识和第二标识。其中,第二标识用于指示云平台票务系统。
步骤S3:生成方确定售卖方对应的唯一编码和数据传输密钥。
生成方按照与生成硬证书类似的方式,为售卖方生成唯一编码和数据传输密钥。或者,也可以使用已有的唯一编码和数据传输密钥作为售卖方的唯一编码和数据传输密钥。
步骤S4:生成方确定与售卖方对应的原始数据。
生成方以第一标识、第二标识、唯一编码和数据传输密钥作为原始数据。
步骤S5:根据原始数据生成第一加密数据。
使用与第二标识对应的第一公钥对原始数据进行加密,获得第一加密数据。
步骤S6:生成方获得第二加密数据。
生成方使用预设摘要算法对第一加密数据进行数字摘要提取,获得验证数据。使用第二私钥对验证数据进行签名,生成第二加密数据。
步骤S7:生成方根据第一加密数据和第二加密数据生成软证书。
生成方按照设定规则组合第一加密数据和第二加密数据,以生成软证书。在本实施例中,设定规则为第一加密数据、分隔符和第二加密数据的形式。当然,在其他实施例中可以采用其他任何适当的规则,本实施例对此不作限制。
生成软证书后,生成方将软证书发送至售卖方,售卖方将软证书发送至对应的云平台票务系统。
云平台票务系统获得软证书,对软证书进行验证的过程如下:
步骤S8:云平台票务系统从软证书中提取出第一加密数据和第二加密数据。
例如,根据分隔符确定第一加密数据和第二加密数据,并从软证书中提取出第一加密数据和第二加密数据。
步骤S9:云平台票务系统提取第一加密数据的待比对摘要数据。
云平台票务系统可以使用与生成验证数据相同的预设摘要算法对第一加密数据进行数字摘要提取,获得待比对摘要数据。
步骤S10:云平台票务系统使用第二公钥对第二加密数据进行解签。
由于第二加密数据是使用第二私钥进行签名获得的,因此可以使用第二公钥进行解签。如果能够正确解签,表示其是有生成方生成的;反之,如果不能正确解签,表示第二加密数据可能是第三方冒名生成的,存在数据安全性问题,可以通过售卖方重新申请新的软证书。
对第二加密数据进行解签后获得验证数据。
步骤S11:确定待比对摘要数据和验证数据是否一致。
如果两者一致,则表示第一加密数据未篡改,满足合法性条件,可以执行步骤S12。反之,如果不一致表示第一加密数据可能被篡改,可以指示售卖方重新申请软证书。
步骤S12:若一致,则使用第一私钥对第一加密数据进行解密。
由于第一加密数据是使用第一公钥进行加密获得的,因而其只能通过第一私钥进行正确解密,而第一私钥只有云平台票务系统持有,因此可以保证数据安全性,即使第三方获得第一加密数据,也可以无法正确解密获得其中的原始数据。
云平台票务系统正确解密第一加密数据后,从中获得原始数据。原始数据包括第一标识、第二标识、唯一编码和数据传输密钥。
如果原始数据中的第一标识与售卖方不对应,则指示售卖方软证书有误,指示其重新申请软证书。
步骤S13:根据原始数据生成注册表。
注册表用于存储与售卖方对应的原始数据,例如,用于存储原始数据中的用于指示售卖方的第一标识、对应的唯一编码和数据传输密钥,以便后续使用。由于第二标识用于指示云平台票务系统,因此,无需在注册表中存储。
云平台票务系统根据软证书生成票据的过程如下(下述步骤图4a中未示出):
步骤14:接收票据的生成请求。
观众可以通过终端设备向云平台票务系统发送票据的生成请求。生成请求中包含目标售卖方的信息(如名称或者在云平台票务系统中的第一标识)、演出剧目的信息(如名称或者代码等)、场次信息(如时间等)和座位信息等。
步骤S15:确定与目标售卖方对应的第一标识和唯一编码,以生成唯一标识码。
如果生成请求中包含的目标售卖方的信息为名称,则可以根据名称确定第一标识,在根据第一标识查找注册表获得唯一编码。
如果生成请求中包含用于指示目标售卖方的第一标识,则可以根据第一标识查找注册表确定对应的唯一编码。
根据规定,票据的唯一标识码中需要包含售卖方的唯一编码、第一标识、云平台票务系统对应的第二标识、以及其他必要信息(该必要信息可以根据需要确定),而为了保证数据的可靠性和安全性,在生成唯一标识码之前,使用云平台票务系统的第一私钥对唯一编码、第一标识和第二标识进行数字签名,获得云加密数据,以便生成方可以通过唯一标识码获取这些信息,同时确定生成唯一标识码的主体,利用云平台票务系统对这些数据进行“数字签名”的方式,证实该行为是自己认知且是自己执行的。生成方可以对生成唯一标识码进行验证,如果验证失败则可以确定票据存在问题,保证了可以及时发现问题。
云平台票务系统调用生成方提供的标识码生成接口,使用云加密数据生成符合规范的唯一标识码。
步骤S16:根据唯一标识码生成票据。
云平台票务系统获得唯一标识码后,根据其生成票据,并发送给观众。这样就完成了观众在云平台票务系统中购票的过程,而此过程中,使用软证书完成,能够完全发挥云平台票务系统纯云的优点,不需要每次下单去调用售卖方的硬ukey服务器,所有的计算都可以放在云端进行,如果售卖方数量增加,可以做到横向扩容,没有性能瓶颈;而且使得售票的稳定性、成功率大大提升。由此,实现了软key替换硬件ukey,而且保证云平台票务系统和生成方的双向安全认证,保证了数据安全性、可靠性和可监管性。
可选地,在需要上报销售数据时,可以执行下述步骤:
步骤S17:云平台票务系统定时触发数据上报请求。
数据上报请求中可以包括目标售卖方的信息、演出剧目的信息、上报时间段等等。当然,在其他实施例中,数据上报请求可以包括前述的部分信息或者包含其他信息,本实施例对此不作限制。
当然,在其他实施例中,数据上报请求可以由工作人员触发,或者其他方式触发,本实施例对此不作限制。
步骤S18:获取数据上报请求对应的第一加密销售数据。
根据已生成的票据数据,从其中检索出满足数据上报请求的第一销售数据。并使用与目标售卖方对应的输出传输密钥对第一销售数据进行加密,获得第一加密销售数据。
步骤S19:调用上报数据接口,将第一加密销售数据发送至生成方。
上报数据接口可以是生成方提供的、专用于云平台票务系统和/或售卖方进行数据上报的接口,通过该接口,云平台票务系统将第一加密销售数据发送至生成方,生成方可以对第一加密销售数据进行保存、审查等。由此,可以实现生成方对云平台票务系统可能存在的违规行为进行后验后查。
可选地,云平台票务系统也可以提供监管接口,供生成方根据需要查询销售数据,此种情况可以执行下述步骤:
步骤S20:接收数据查询请求。
数据查询请求可以是生成方通过调用监管接口触发的请求。数据查询请求中包括目标售卖方的信息、监管时间段、演出剧目的信息等等。
步骤S21:获取与数据查询请求对应的第二加密销售数据。
云平台票务系统可以对已生成的票据进行检索,获得与数据查询请求对应的第二销售数据,并使用自身的第一私钥对第二销售数据进行签名(即加密),从而获得第二加密销售数据。
之后,第二加密销售数据发送给生成方,供其审查。由于云平台票务系统对第二销售数据进行数字签名,因此可以保证其对数据的真实性负责,而且可以保证数据的安全性。生成方可以对该监管接口不定期的调用,实现监管,避免逃避监管的情况发生。
通过本实施例,云平台票务系统在获得售卖方发送的软证书后,使用第二公钥对第二加密数据进行解密获得验证数据,通过验证数据对第一加密数据的合法性条件进行验证,在确定第一加密数据满足合法性条件的情况下,使用第一私钥对第一加密数据进行解密,以获得第一标识和第二标识,从而在需要时使用第一标识和第二标识生成唯一标识码,进而生成票据。这样在生成票据的过程中无需与售卖方的服务器通信,从而提升了生成票据的成功率。
本实施例的数据处理方法可以由任意适当的具有数据处理能力的电子设备执行,包括但不限于:服务器、移动终端(如平板电脑、手机等)和PC机等。
实施例五
参照图5,示出了根据本发明实施例五的一种数据处理装置的结构框图。
本实施例的数据处理装置配置于云平台票务系统,该装置包括:
第一获取模块502,用于获取用于生成票据的唯一识别码的软证书,其中,所述软证书中包含第一加密数据和用于验证所述第一加密数据的第二加密数据,所述第一加密数据中至少包含所述票据的售卖方的第一标识和生成所述票据的所述云平台票务系统的第二标识;
第二获取模块504,用于使用所述软证书的生成方发送的第二公钥对所述第二加密数据进行解密,获得验证数据;
解密及生成模块506,用于若根据所述验证数据确定所述第一加密数据满足合法性条件,则使用所述云平台票务系统存储的第一私钥对所述第一加密数据进行解密,以使用解密获得的所述第一标识和所述第二标识生成所述票据的唯一识别码,并根据所述唯一识别码生成所述票据。
可选地,所述解密及生成模块506在若根据所述验证数据确定所述第一加密数据满足合法性条件,则使用所述云平台票务系统存储的第一私钥对所述第一加密数据进行解密时,使用预设摘要算法对所述第一加密数据进行数字摘要提取,获取与所述第一加密数据对应的待比对摘要数据;确定所述待比对摘要数据和所述验证数据是否匹配;若匹配,则确定所述第一加密数据满足合法性条件,使用所述第一私钥对所述第一加密数据进行解密,获得所述第一标识、所述第二标识、与所述第一标识指示的售卖方对应的唯一编码和数据传输密钥,所述数据传输密钥用于对发送至所述生成方的至少部分数据进行加密。
可选地,装置还包括注册存储模块508,用于在所述获得所述第一标识、所述第二标识、与所述第一标识指示的售卖方对应的唯一编码和数据传输密钥之后,将所述第一标识、所述唯一编码和所述数据传输密钥记录到所述云平台票务系统的注册表中。
可选地,所述解密及生成模块506用于在使用解密获得的所述第一标识和所述第二标识生成所述票据的唯一识别码,并根据所述唯一识别码生成所述票据时,根据接收的票据的生成请求,确定与所述生成请求对应的目标售卖方;根据所述第一加密数据解密后的结果,获取与所述目标售卖方对应的所述第一标识、以及与所述第一标识对应的唯一编码,并使用所述云平台票务系统的第一私钥对所述第一标识、所述唯一编码和所述云平台票务系统对应的第二标识进行加密,以获得云加密数据;调用标识码生成接口,根据所述云加密数据生成唯一标识码,以根据所述唯一标识码生成与所述票据生成请求对应的票据。
可选地,所述装置还包括:
第四获取模块510,用于获取数据上报请求,其中,所述数据上报请求用于指示将所述云平台票务系统中与目标售卖方对应的票据的第一销售数据上报至所述生成方;
第五获取模块512,用于根据所述数据上报请求,从已生成的票据中获取与所述数据上报请求对应的票据的第一销售数据,并使用与所述目标售卖方对应的第一标识对应的数据传输密钥对所述第一销售数据进行加密,获得第一加密销售数据;
第一上报模块514,用于调用预设的上报数据接口,将所述第一加密销售数据发送至所述生成方。
可选地,所述装置还包括:
第六获取模块516,用于接收所述生成方通过调用所述云平台票务系统的、用于获取第二销售数据的监管接口发送的数据查询请求;
第七获取模块518,用于获取与所述数据查询请求对应的第二销售数据,并使用所述云平台票务系统的第一私钥对所述票据的第二销售数据进行加密,生成第二加密销售数据;
第二上报模块520,用于将所述第二加密销售数据发送至所述生成方。
本实施例的数据处理装置用于实现前述多个方法实施例中相应的数据处理方法,并具有相应的方法实施例的有益效果,在此不再赘述。此外,本实施例的数据处理装置中的各个模块的功能实现均可参照前述方法实施例中的相应部分的描述,在此亦不再赘述。
实施例六
参照图6,示出了根据本发明实施例六的一种数据处理装置的结构框图。
本实施例的数据处理装置,配置于软证书的生成方的证书生成设备,所述装置包括:
接收模块602,用于接收来自于票据的售卖方的证书生成请求,所述证书生成请求中携带有所述售卖方的第一标识和用于生成票据的云平台票务系统的第二标识;
第三获取模块604,用于根据所述第一标识确定与所述售卖方对应的唯一编码和数据传输密钥,所述数据传输密钥用于对传输至所述证书生成设备的至少部分数据进行加密;
第一数据加密模块606,用于以所述第一标识、所述第二标识、所述唯一编码和所述数据传输密钥作为原始数据,使用与所述第二标识对应的第一公钥,生成与所述原始数据对应的第一加密数据;
第二数据加密模块608,用于根据与所述证书生成设备对应的第二私钥和所述第一加密数据,获得与所述第一加密数据对应的第二加密数据,并根据所述第一加密数据和所述第二加密数据获得与所述第一标识指示的售卖方对应的软证书。
可选地,所述第二数据加密模块608在根据与所述证书生成设备对应的第二私钥和所述第一加密数据,获得与所述第一加密数据对应的第二加密数据时,使用预设摘要算法对所述第一加密数据进行数字摘要提取,获得与所述第一加密数据对应的验证数据;使用所述证书生成设备的第二私钥对所述验证数据进行加密,获得所述第二加密数据。
可选地,所述第二数据加密模块608在根据所述第一加密数据和所述第二加密数据生成与所述第一标识指示的售卖方对应的软证书时,将所述第一加密数据和所述第二加密数据,按照所述第一加密数据、分隔符和所述第二加密数据的规则组合成为所述软证书。
本实施例的数据处理装置用于实现前述多个方法实施例中相应的数据处理方法,并具有相应的方法实施例的有益效果,在此不再赘述。此外,本实施例的数据处理装置中的各个模块的功能实现均可参照前述方法实施例中的相应部分的描述,在此亦不再赘述。
实施例七
参照图7,示出了根据本发明实施例七的一种电子设备的结构示意图,本发明具体实施例并不对电子设备的具体实现做限定。
如图7所示,该电子设备可以包括:处理器(processor)702、通信接口(Communications Interface)704、存储器(memory)706、以及通信总线708。
其中:
处理器702、通信接口704、以及存储器706通过通信总线708完成相互间的通信。
通信接口704,用于与其它电子设备如终端设备或服务器进行通信。
处理器702,用于执行程序710,具体可以执行上述数据处理方法实施例中的相关步骤。
具体地,程序710可以包括程序代码,该程序代码包括计算机操作指令。
处理器702可能是中央处理器CPU,或者是特定集成电路ASIC(ApplicationSpecific Integrated Circuit),或者是被配置成实施本发明实施例的一个或多个集成电路。电子设备包括的一个或多个处理器,可以是同一类型的处理器,如一个或多个CPU;也可以是不同类型的处理器,如一个或多个CPU以及一个或多个ASIC。
存储器706,用于存放程序710。存储器706可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
程序710具体可以用于使得处理器702执行以下操作:获取用于生成票据的唯一识别码的软证书,其中,所述软证书中包含第一加密数据和用于验证所述第一加密数据的第二加密数据,所述第一加密数据中至少包含所述票据的售卖方的第一标识和生成所述票据的所述云平台票务系统的第二标识;使用所述软证书的生成方发送的第二公钥对所述第二加密数据进行解密,获得验证数据;若根据所述验证数据确定所述第一加密数据满足合法性条件,则使用所述云平台票务系统存储的第一私钥对所述第一加密数据进行解密,以使用解密获得的所述第一标识和所述第二标识生成所述票据的唯一识别码,并根据所述唯一识别码生成所述票据。
在一种可选的实施方式中,程序710还用于使得处理器702在若根据所述验证数据确定所述第一加密数据满足合法性条件,则使用所述云平台票务系统存储的第一私钥对所述第一加密数据进行解密时,使用预设摘要算法对所述第一加密数据进行数字摘要提取,获取与所述第一加密数据对应的待比对摘要数据;确定所述待比对摘要数据和所述验证数据是否匹配;若匹配,则确定所述第一加密数据满足合法性条件,使用所述第一私钥对所述第一加密数据进行解密,获得所述第一标识、所述第二标识、与所述第一标识指示的售卖方对应的唯一编码和数据传输密钥,所述数据传输密钥用于对发送至所述生成方的至少部分数据进行加密。
在一种可选的实施方式中,程序710还用于使得处理器702在所述获得所述第一标识、所述第二标识、与所述第一标识指示的售卖方对应的唯一编码和数据传输密钥之后,将所述第一标识、所述唯一编码和所述数据传输密钥记录到所述云平台票务系统的注册表中。
在一种可选的实施方式中,程序710还用于使得处理器702在使用解密获得的所述第一标识和所述第二标识生成所述票据的唯一识别码,并根据所述唯一识别码生成所述票据时,根据接收的票据的生成请求,确定与所述生成请求对应的目标售卖方;根据所述第一加密数据解密后的结果,获取与所述目标售卖方对应的所述第一标识、以及与所述第一标识对应的唯一编码,并使用所述云平台票务系统的第一私钥对所述第一标识、所述唯一编码和所述云平台票务系统对应的第二标识进行加密,以获得云加密数据;调用标识码生成接口,根据所述云加密数据生成唯一标识码,以根据所述唯一标识码生成与所述票据生成请求对应的票据。
在一种可选的实施方式中,程序710还用于使得处理器702获取数据上报请求,其中,所述数据上报请求用于指示将所述云平台票务系统中与目标售卖方对应的票据的第一销售数据上报至所述生成方;根据所述数据上报请求,从已生成的票据中获取与所述数据上报请求对应的票据的第一销售数据,并使用与所述目标售卖方对应的第一标识对应的数据传输密钥对所述第一销售数据进行加密,获得第一加密销售数据;调用预设的上报数据接口,将所述第一加密销售数据发送至所述生成方。
在一种可选的实施方式中,程序710还用于使得处理器702接收所述生成方通过调用所述云平台票务系统的、用于获取第二销售数据的监管接口发送的数据查询请求;获取与所述数据查询请求对应的第二销售数据,并使用所述云平台票务系统的第一私钥对所述票据的第二销售数据进行加密,生成第二加密销售数据;将所述第二加密销售数据发送至所述生成方。
或者,
程序710具体可以用于使得处理器702执行以下操作:接收来自于票据的售卖方的证书生成请求,所述证书生成请求中携带有所述售卖方的第一标识和用于生成票据的云平台票务系统的第二标识;根据所述第一标识确定与所述售卖方对应的唯一编码和数据传输密钥,所述数据传输密钥用于对传输至所述证书生成设备的至少部分数据进行加密;以所述第一标识、所述第二标识、所述唯一编码和所述数据传输密钥作为原始数据,使用与所述第二标识对应的第一公钥,生成与所述原始数据对应的第一加密数据;根据与所述证书生成设备对应的第二私钥和所述第一加密数据,获得与所述第一加密数据对应的第二加密数据,并根据所述第一加密数据和所述第二加密数据获得与所述第一标识指示的售卖方对应的软证书。
在一种可选的实施方式中,程序710还用于使得处理器702在根据与所述证书生成设备对应的第二私钥和所述第一加密数据,获得与所述第一加密数据对应的第二加密数据时,使用预设摘要算法对所述第一加密数据进行数字摘要提取,获得与所述第一加密数据对应的验证数据;使用所述证书生成设备的第二私钥对所述验证数据进行加密,获得所述第二加密数据。
在一种可选的实施方式中,程序710还用于使得处理器702在根据所述第一加密数据和所述第二加密数据生成与所述第一标识指示的售卖方对应的软证书时,将所述第一加密数据和所述第二加密数据,按照所述第一加密数据、分隔符和所述第二加密数据的规则组合成为所述软证书。
程序710中各步骤的具体实现可以参见上述数据处理方法实施例中的相应步骤和单元中对应的描述,在此不赘述。所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的设备和模块的具体工作过程,可以参考前述方法实施例中的对应过程描述,在此不再赘述。
需要指出,根据实施的需要,可将本发明实施例中描述的各个部件/步骤拆分为更多部件/步骤,也可将两个或多个部件/步骤或者部件/步骤的部分操作组合成新的部件/步骤,以实现本发明实施例的目的。
上述根据本发明实施例的方法可在硬件、固件中实现,或者被实现为可存储在记录介质(诸如CD ROM、RAM、软盘、硬盘或磁光盘)中的软件或计算机代码,或者被实现通过网络下载的原始存储在远程记录介质或非暂时机器可读介质中并将被存储在本地记录介质中的计算机代码,从而在此描述的方法可被存储在使用通用计算机、专用处理器或者可编程或专用硬件(诸如ASIC或FPGA)的记录介质上的这样的软件处理。可以理解,计算机、处理器、微处理器控制器或可编程硬件包括可存储或接收软件或计算机代码的存储组件(例如,RAM、ROM、闪存等),当所述软件或计算机代码被计算机、处理器或硬件访问且执行时,实现在此描述的数据处理方法。此外,当通用计算机访问用于实现在此示出的数据处理方法的代码时,代码的执行将通用计算机转换为用于执行在此示出的数据处理方法的专用计算机。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及方法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明实施例的范围。
以上实施方式仅用于说明本发明实施例,而并非对本发明实施例的限制,有关技术领域的普通技术人员,在不脱离本发明实施例的精神和范围的情况下,还可以做出各种变化和变型,因此所有等同的技术方案也属于本发明实施例的范畴,本发明实施例的专利保护范围应由权利要求限定。