发明内容
有鉴于此,本申请的目的在于提供一种数据传输方法及系统,用以保证数据传输过程中的安全性。
为了实现上述目的,本申请实施例采用的技术方案如下:
第一方面,本申请实施例提供了一种数据传输方法,应用于数据传输系统,所述数据传输系统包括管理端、服务器、客户端设备及芯片,所述管理端、所述服务器、所述客户端设备及所述芯片依次通信连接,所述方法包括:
所述服务器接收所述管理端上传的第一数据,其中,所述第一数据是所述管理端利用设定信息对芯片数据进行加密得到目标数据,再利用第一随机信息对所述目标数据进行加密得到的;
所述服务器利用所述第一随机信息对所述第一数据进行解密得到所述目标数据,并利用第一密钥对所述目标数据进行加密得到第二数据,并将所述第二数据发送至所述客户端设备;
所述客户端设备利用所述第一密钥对所述第二数据进行解密得到所述目标数据,并将所述目标数据发送至所述芯片;
所述芯片利用所述设定信息对所述目标数据进行解密,得到所述芯片数据。
进一步地,所述服务器利用所述第一随机信息对所述第一数据进行解密得到所述目标数据,并利用第一密钥对所述目标数据进行加密得到第二数据,并将所述第二数据发送至所述客户端设备的步骤,包括:
所述服务器利用所述第一随机信息对所述第一数据进行解密得到所述目标数据;
所述服务器获得用户信息和第二随机信息;
所述服务器对所述用户信息进行验证;
所述服务器在所述用户信息验证通过的情况下,利用密钥算法对所述用户信息和所述第二随机信息进行处理,得到所述第一密钥;
所述服务器利用所述第一密钥对所述目标数据进行加密得到第二数据,并将所述第二数据发送至所述客户端设备。
进一步地,所述服务器利用所述第一随机信息对所述第一数据进行解密得到所述目标数据,并利用第一密钥对所述目标数据进行加密得到第二数据,并将所述第二数据发送至所述客户端设备的步骤,还包括:
所述服务器在所述用户信息验证不通过的情况下,发送出错信息至所述客户端设备进行显示。
进一步地,所述客户端设备包括客户端和读写工具,所述客户端与所述服务器通信连接,所述读写工具与所述芯片通信连接,所述客户端与所述读写工具通信连接;
所述客户端设备利用所述第一密钥对所述第二数据进行解密得到所述目标数据,并将所述目标数据发送至所述芯片的步骤,包括:
所述客户端利用所述第一密钥对所述第二数据进行解密得到所述目标数据,并利用第二密钥对所述目标数据进行加密得到第三数据,并将所述第三数据发送至所述读写工具;
所述读写工具利用所述第二密钥对所述第三数据进行解密得到所述目标数据,并将所述目标数据发送至所述芯片。
进一步地,所述客户端利用所述第一密钥对所述第二数据进行解密得到所述目标数据,并利用第二密钥对所述目标数据进行加密得到第三数据,并将所述第三数据发送至所述读写工具的步骤,包括:
所述客户端利用所述第一密钥对所述第二数据进行解密得到所述目标数据;
所述客户端获得读写工具信息和第三随机信息;
所述客户端对所述读写工具信息进行验证;
所述客户端在所述读写工具信息验证通过的情况下,利用密钥算法对所述读写工具信息和所述第三随机信息进行处理,得到所述第二密钥;
所述客户端利用所述第二密钥对所述目标数据进行加密得到第三数据,并将所述第三数据发送至所述读写工具。
进一步地,所述客户端利用所述第一密钥对所述第二数据进行解密得到所述目标数据,并利用第二密钥对所述目标数据进行加密得到第三数据,并将所述第三数据发送至所述读写工具的步骤,还包括:
所述客户端在所述读写工具信息验证不通过的情况下,显示出错信息。
第二方面,本申请实施例还提供了一种数据传输系统,所述数据传输系统包括管理端、服务器、客户端设备及芯片,所述管理端、所述服务器、所述客户端设备及所述芯片依次通信连接;
所述服务器,用于接收所述管理端上传的第一数据,其中,所述第一数据是所述管理端利用设定信息对芯片数据进行加密得到目标数据,再利用第一随机信息对所述目标数据进行加密得到的;
所述服务器,还用于利用所述第一随机信息对所述第一数据进行解密得到所述目标数据,并利用第一密钥对所述目标数据进行加密得到第二数据,并将所述第二数据发送至所述客户端设备;
所述客户端设备,用于利用所述第一密钥对所述第二数据进行解密得到所述目标数据,并将所述目标数据发送至所述芯片;
所述芯片,用于利用所述设定信息对所述目标数据进行解密,得到所述芯片数据。
进一步地,所述服务器还用于:
利用所述第一随机信息对所述第一数据进行解密得到所述目标数据;
获得用户信息和第二随机信息;
对所述用户信息进行验证;
在所述用户信息验证通过的情况下,利用密钥算法对所述用户信息和所述第一随机信息进行处理,得到所述第一密钥;
利用所述第一密钥对所述目标数据进行加密得到第二数据,并将所述第二数据发送至所述客户端设备。
进一步地,所述客户端设备包括客户端和读写工具,所述客户端与所述服务器通信连接,所述读写工具与所述芯片通信连接,所述客户端与所述读写工具通信连接;
所述客户端,用于利用所述第一密钥对所述第二数据进行解密得到所述目标数据,并利用第二密钥对所述目标数据进行加密得到第三数据,并将所述第三数据发送至所述读写工具;
所述读写工具,用于利用所述第二密钥对所述第三数据进行解密得到所述目标数据,并将所述目标数据发送至所述芯片。
进一步地,所述客户端还用于:
利用所述第一密钥对所述第二数据进行解密得到所述目标数据;
获得读写工具信息和第三随机信息;
对所述读写工具信息进行验证;
在所述读写工具信息验证通过的情况下,利用密钥算法对所述读写工具信息和所述第三随机信息进行处理,得到所述第二密钥;
利用所述第二密钥对所述目标数据进行加密得到第三数据,并将所述第三数据发送至所述读写工具。
本申请实施例提出一种数据传输方法及系统,在数据传输过程中,管理端利用设定信息对芯片数据进行加密得到目标数据,再利用第一随机信息对目标数据进行加密得到第一数据后将第一数据上传至服务器,服务器利用第一随机信息对第一数据进行解密得到目标数据,并利用第一密钥对目标数据进行加密得到第二数据后发送至客户端设备,客户端设备利用第一密钥对第二数据进行解密得到目标数据,并将目标数据发送至芯片,芯片利用设定信息对目标数据进行解密,最终得到芯片数据,通过使得芯片数据始终处于加密的状态下在整个数据传输系统中传输,进而保证了数据传输的安全性。
为使本申请的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合附图,作详细说明如下。
具体实施方式
下面将结合本申请实施例中附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
参照图1,图1示出了本申请实施例提供的数据传输系统100的一种结构示意图。该数据传输系统100包括管理端110、服务器120、客户端设备130及芯片140,该数据传输系统100可用于打印机中的耗材芯片的制作,芯片140可以是原厂耗材芯片,也可以是兼容代用耗材芯片。管理端110、服务器120、客户端设备130及芯片140依次通信连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现有线通信,也可以通过WIFI、蓝牙或射频识别技术(RFID,Radio Frequency Identification)等方式实现无线通信。
管理端110,可以是厂商的数据管理员所操作的电子设备,该电子设备可以是智能手机、平板电脑、便携式笔记本电脑、台式电脑等。管理端110与服务器120通过互联网来进行数据交互,用于对芯片数据进行加密并发送给服务器120。
服务器120除了和管理端110无线连接,还和客户端设备130通过互联网来进行数据交互,用于对管理端110发送的加密数据进行解密并验证客户端设备130,然后再对解密过后的数据重新进行加密,并将加密的数据发送至客户端设备130。
客户端设备130与芯片140通信连接,可以通过射频识别技术等方式进行无线连接,也可以是将客户端设备130的数据发送口与芯片140进行有线连接,客户端设备130用于接收服务器120传来的加密数据并对加密数据进行解密,并将解密后的数据发送给芯片140。
芯片140,用于接收客户端设备130发送的数据进行解密,最终得到芯片数据。
客户端设备130可以是一个设备,也可以是不同设备的组合,其中不同设备的组合关系可以是连接关系,也可以是包含关系,本申请实施例对此不作限定。请参照图2,图2是数据传输系统100的另一种结构示意图。客户端设备130包括客户端131和读写工具132,客户端131与服务器120通信连接,读写工具132与芯片140通信连接,客户端131也与读写工具132通信连接。客户端131与读写工具132的通信连接可以是有线连接,也可以是无线连接。
客户端可以是安装有厂商提供的应用程序的移动终端,例如手机,电脑等,也可以是厂商自制客户操作设备。客户端131在接收到服务器120所发送的数据之后,对该数据进行解密,然后验证读写工具132,将解密过后的数据再进行加密并将加密过后的数据发送给读写工具132。
读写工具132可以是厂商自制的烧录工具,用于在接收到客户端131所发送的数据之后,对该数据进行解密,然后将解密后的数据发送给芯片140。
在图1和图2的基础上,下面对应用于上述数据传输系统100的数据传输方法进行介绍。
参照图3,图3示出了本申请实施例提供的数据传输方法的一种流程示意图,该数据传输方法包括以下步骤:
S100,服务器接收管理端上传的第一数据。
第一数据是管理端110利用设定信息对芯片数据进行加密得到目标数据,再利用第一随机信息对目标数据进行加密得到的,其中芯片数据是对打印设备进行配置的数据,例如数字签名、芯片序列号等,而且只有管理端110和芯片140可以保存芯片数据,服务器120、客户端设备130保存的是加密后的芯片数据。
设定信息是数据传输系统100的物理特性,可以是芯片型号的编码、芯片的颜色编码、芯片的数量编码、读写工具信息以及用户信息等,设定信息用于信息的验证以及数据的加密。设定信息可以指定接收设备,例如服务器120要将数据发送至客户端设备130,便通过用户信息对所要发送的数据进行加密,然后发送加密后的数据,只有客户端设备130在接收到加密后的数据才能够通过用户信息进行解密,其他设备不能通过用户信息进行解密,用户信息可以包括用户的账号信息和用户的密码信息等,用户信息不仅用于服务器120对客户端设备130进行验证,还用于对服务器120向客户端设备130传输的目标数据进行加密。
第一随机信息是指参与数据传输过程的变化信息,将同时约定的多个随机数对目标数据进行加密。第一随机信息包括发送接收方约定信息,可以是传输双方约定的随机数,传输双方约定的某一时间点,传输双方约定的某一日期,也可以是上述随机数、时间点以及日期的组合。当数据传输系统100在传输数据时,为了保证传输数据的安全性,服务器120会使用第一随机信息作为密钥对所要传输的数据进行加密。
示例的,管理端110可以通过芯片信息先对芯片数据进行一次加密,加密过后的数据为目标数据,然后再通过日期信息对目标数据进行二次加密,将加密过后的数据发送给服务器120。
S200,服务器利用第一随机信息对第一数据进行解密得到目标数据,并利用第一密钥对目标数据进行加密得到第二数据,并将第二数据发送至客户端设备。
第一密钥为利用密钥算法对用户信息和第二随机信息进行处理得到的信息,第二随机信息与第一随机信息都是指参与数据传输过程的变化信息,其所表示的随机数的属性可以是一样的,但是最终所表示的随机数的数据是不一样的。服务器120在接收到管理端110发送的信息后,通过第一随机信息来解密;如果解密成功,则得到目标数据,并利用第一密钥对目标数据进行加密得到第二数据,并将第二数据发送至客户端设备130;如果解密失败,则抛弃接收到的数据。
示例地,图4展示了服务器120利用第一密钥对目标数据进行加密得到第二数据的具体实施例,例如,服务器120选择用户信息中的用户账号信息和第二随机信息中的传输双方约定的随机数,然后使用密钥算法生成第一密钥,再通过第一密钥对目标数据加密生成第二数据,值得说明的是,第一密钥可以通过用户信息和第二随机信息通过密钥算法得到。
S300,客户端设备利用第一密钥对第二数据进行解密得到目标数据,并将目标数据发送至芯片。
S400,芯片利用设定信息对目标数据进行解密。
芯片140中包含有微控制单元,微控制单元用于控制芯片处理数据、存储数据、更新数据等,而微控制单元又包含了两段程序,这两段程序分别为启动程序和应用程序,其中启动程序负责复位启动和数据处理,应用程序负责芯片140与打印机的通信。当启动程序接收到客户端设备130发送的目标数据时,会利用设定信息对目标数据进行解密,如果解密成功,会得到芯片数据,然后启动程序会将该芯片数据保存在内部的存储单元中,如果解密失败则抛弃接收到的数据。
通过对芯片数据进行加密,使得芯片数据在整个数据传输过程中始终处于加密状态,保证了数据传输的安全性。
下面对步骤S200进行详细介绍,在图3的基础上,参照图5,步骤S200可以包括:
S210,服务器利用第一随机信息对第一数据进行解密得到目标数据。
服务器120在接收到管理端110发送的信息后,通过第一随机信息来解密,如果解密成功,则得到目标数据并将该目标数据保存在服务器120的存储空间内,利用第一密钥对目标数据进行加密得到第二数据,并将第二数据发送至客户端设备,如果解密失败,则抛弃接收到的第一数据。
S220,服务器获得用户信息和第二随机信息。
S230,服务器对用户信息进行验证。
服务器120指定客户端设备130作为服务器120的数据接收端,服务器120的内部会存储有客户端设备130的用户信息,在发送加密的数据之前,服务器120会向客户端设备130发送请求接收用户信息,然后对内部存储的用户信息和接收的用户信息是否一致进行验证。
S240,服务器在用户信息验证通过的情况下,利用密钥算法对用户信息和第二随机信息进行处理,得到第一密钥。
S250,服务器利用第一密钥对目标数据进行加密得到第二数据,并将第二数据发送至客户端设备。
服务器120通过对客户端设备130的用户信息进行验证并利用用户信息进行加密,确认数据接收方,防止信息的误传。
服务器120对客户端设备130的用户信息进行验证,在某些情况下可能会验证不通过,例如,当内部存储的用户信息和接收的用户信息验证不一致,此时,服务器120需要发送出错信息至客户端设备130,其中,出错信息所指的是校验失败的原因,因此,请再次参照图5,在步骤S230之后,步骤S200还包括:
S260,服务器在用户信息验证不通过的情况下,发送出错信息至客户端设备进行显示。
下面对步骤S300进行详细介绍,上述在介绍数据传输系统100的结构时,已经介绍了客户端设备130可以包括客户端131和读写工具132,因此,在图3的基础上,参照图6,步骤S300可以包括:
S310,客户端利用第一密钥对第二数据进行解密得到目标数据,并利用第二密钥对目标数据进行加密得到第三数据,并将第三数据发送至读写工具。
第二密钥为利用密钥算法对读写工具信息和第三随机信息进行处理得到的信息,其中读写工具信息可以是读写工具序列号、读写工具版本号以及读写工具型号等,其中读写工具版本号以及读写工具型号反映能够刷新的芯片型号,读写工具序列号校验读写工具的来源。读写工具信息不仅用于客户端131对读写工具132进行验证,还用于对客户端131向读写工具132传输的目标数据进行加密,第三随机信息与第一随机信息、第二随机信息相似,且与生成第二数据的具体实施例相似,在此不再赘述。客户端131在接收到服务器120发送的第二数据后,利用第一密钥对第二数据进行解密,如果解密成功,得到目标数据,再利用第二密钥对目标数据进行加密得到第三数据,并将第三数据发送至读写工具132,如果解密失败,则抛弃该第二数据。
S320,读写工具利用第二密钥对第三数据进行解密得到目标数据,并将目标数据发送至芯片。
读写工具132在接收到客户端131发送的第三数据之后,利用第二密钥对第三数据进行解密,若解密成功,则得到目标数据,并将该目标数据发送至芯片140,若解密失败,则抛弃接收到的第三数据。
下面对步骤S310进行详细介绍,在图6的基础上,请参照图7,步骤S310可以包括:
S3101,客户端利用第一密钥对第二数据进行解密得到目标数据。
S3102,客户端获得读写工具信息和第三随机信息。
S3103,客户端对读写工具信息进行验证。
客户端131在发送第三数据至读写工具132之前会先向读写工具132发送一个请求指令获取读写工具信息,读写工具信息中的读写工具型号和读写工具版本号反映了芯片型号,而芯片型号又会有对应的读写工具,然后对芯片型号是否在客户端131内部所存储的芯片型号之中进行验证。
S3104,客户端在读写工具信息验证通过的情况下,利用密钥算法对读写工具信息和第三随机信息进行处理,得到第二密钥。
S3105,客户端利用第二密钥对目标数据进行加密得到第三数据,并将第三数据发送至读写工具。
客户端131对读写工具132的读写工具信息进行验证,在某些情况下可能会验证不通过,例如,客户端131接收的读写工具信息所对应的芯片型号是HP97U,但是客户端131只能对HP137A的芯片型号发送数据,此时,客户端131会对出错信息进行显示,因此,请再次参照图7,在步骤S3105之后,步骤S3106还包括:
S3106,客户端在读写工具信息验证不通过的情况下,显示出错信息。
进一步地,为了更好的对本申请实施例进行说明,下面通过图8所示的应用示例对本申请实施例提供的数据传输方法进行介绍,如图8所示,本申请实施例提供的数据传输方法可以包括以下流程:
S1,管理端110将芯片数据通过设定信息进行加密得到目标数据,通过第一随机信息对目标数据进行加密得到第一数据,将第一数据发送至服务器120。
S2,服务器120接收到第一数据后会通过第一随机信息来对第一数据进行解密,若解密失败,则抛弃接收到的第一数据,若解密成功,则保存目标数据。
S3,服务器120向客户端131发送请求获取用户信息,在接收到用户信息后对用户信息进行验证,若验证失败,则向客户端131发送出错信息,若验证成功,则获取第二随机信息并通过用户信息和第二随机信息所生成的第一密钥对目标信息进行加密得到第二数据,将第二数据发送给客户端131。
S4,客户端131接收到第二数据之后会通过第二随机信息来对第二数据进行解密,若解密失败,则抛弃接收到的第二数据,若解密成功,则保存目标数据。
S5,客户端131向读写工具132发送请求获取读写工具信息,在接收到读写工具信息后对读写工具信息进行验证,若验证失败,则客户端131对出错信息进行显示,若验证成功,则获取第三随机信息并通过读写工具信息和第三随机信息生成的第二密钥对目标信息进行加密得到第三数据,将第三数据发送给读写工具132。
S6,读写工具132接收到第三数据之后会通过第三随机信息来对第三数据进行解密,若解密失败,则抛弃接收到的第三数据,若解密成功,则保存目标数据并将目标数据发送至芯片140。
S7,芯片140在接收到目标数据之后会通过设定信息来对目标数据进行解密,若解密失败,则抛弃接收到的目标数据,若解密成功,则保存芯片数据。
下面对实现上述数据传输方法的数据传输系统的各部分功能进行详细介绍。
服务器120,用于接收管理端上传的第一数据,其中,第一数据是管理端利用设定信息对芯片数据进行加密得到目标数据,再利用第一随机信息对目标数据进行加密得到的;
服务器120,还用于利用第一随机信息对第一数据进行解密得到目标数据,并利用第一密钥对目标数据进行加密得到第二数据,并将第二数据发送至客户端设备;
客户端设备130,用于利用第一密钥对第二数据进行解密得到目标数据,并将目标数据发送至芯片;
芯片140,用于利用设定信息对目标数据进行解密,得到芯片数据。
在一种实施方式中,服务器120还用于:
利用第一随机信息对第一数据进行解密得到目标数据;
获得用户信息和第二随机信息;
对用户信息进行验证;
在用户信息验证通过的情况下,利用密钥算法对用户信息和第一随机信息进行处理,得到第一密钥;
利用第一密钥对目标数据进行加密得到第二数据,并将第二数据发送至客户端设备。
可选地,服务器120还用于:在用户信息验证不通过的情况下,发送出错信息至客户端设备进行显示。在一种实施方式中,客户端设备130包括客户端和读写工具,客户端与服务器通信连接,读写工具与芯片通信连接,客户端与读写工具通信连接;
在一种实施方式中,用于利用第一密钥对第二数据进行解密得到目标数据,并利用第二密钥对目标数据进行加密得到第三数据,并将第三数据发送至读写工具;
读写工具132,用于利用第二密钥对第三数据进行解密得到目标数据,并将目标数据发送至芯片。
在一种实施方式中,客户端131还用于:
利用第一密钥对第二数据进行解密得到目标数据;
获得读写工具信息和第三随机信息;
对读写工具信息进行验证;
在读写工具信息验证通过的情况下,利用密钥算法对读写工具信息和第三随机信息进行处理,得到第二密钥;
利用第二密钥对目标数据进行加密得到第三数据,并将第三数据发送至读写工具。
可选地,客户端131还用于:在读写工具信息验证不通过的情况下,显示出错信息。
与现有相比,本申请实施例具有以下有益效果:
首先,本申请实施例通过对芯片数据进行加密,使得服务器、客户端以及读写工具中存储的都是通过设定信息加密过后的芯片数据,且在管理端、服务器、客户端以及读写工具之间传输的都是经过二次加密过后的芯片数据,与此同时利用随机信息作为密钥对芯片数据进行加密,使得解密密钥之间也是不相同的,上述方法保证了数据传输的安全性。
其次,如果在本申请实施例中发生了数据泄露的情况,因为泄露的数据本身是经过加密后的数据,这就使得必须要通过对应的密钥来对泄露的数据进行解密才能获取芯片数据,解决了数据泄露带来的风险。
综上所述,本申请实施例提供的一种数据传输方法及系统,数据传输方法应用于数据传输系统,数据传输系统包括管理端、服务器、客户端设备及芯片,管理端、服务器、客户端设备及芯片依次通信连接,管理端利用设定信息对芯片数据进行加密得到目标数据,再利用第一随机信息对目标数据进行加密得到第一数据,通过服务器接收管理端上传的第一数据;再利用第一随机信息对第一数据进行解密得到目标数据,并利用第一密钥对目标数据进行加密得到第二数据,将第二数据发送至客户端设备,而客户端设备利用第一密钥对第二数据进行解密得到目标数据,并将目标数据发送至芯片,芯片利用设定信息对目标数据进行解密,即可得到芯片数据,通过使得芯片数据始终处于加密的状态下在整个数据传输系统中传输,进而保证了数据传输的安全性。
以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。