CN110661748A - 一种日志的加密方法、解密方法及装置 - Google Patents

一种日志的加密方法、解密方法及装置 Download PDF

Info

Publication number
CN110661748A
CN110661748A CN201810688320.9A CN201810688320A CN110661748A CN 110661748 A CN110661748 A CN 110661748A CN 201810688320 A CN201810688320 A CN 201810688320A CN 110661748 A CN110661748 A CN 110661748A
Authority
CN
China
Prior art keywords
client
key
encryption algorithm
public key
log
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
Application number
CN201810688320.9A
Other languages
English (en)
Other versions
CN110661748B (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.)
Wuhan Douyu Network Technology Co Ltd
Original Assignee
Wuhan Douyu Network Technology 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 Wuhan Douyu Network Technology Co Ltd filed Critical Wuhan Douyu Network Technology Co Ltd
Priority to CN201810688320.9A priority Critical patent/CN110661748B/zh
Publication of CN110661748A publication Critical patent/CN110661748A/zh
Application granted granted Critical
Publication of CN110661748B publication Critical patent/CN110661748B/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
    • 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
    • H04L63/0442Network 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 wherein the sending and receiving network entities apply asymmetric encryption, i.e. different keys for encryption and decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/069Management of faults, events, alarms or notifications using logs of notifications; Post-processing of notifications

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Storage Device Security (AREA)

Abstract

本发明实施例提供了一种日志的加密方法、解密方法及装置,其中的加密方法包括:客户端启动时,基于随机函数生成第一私钥,基于非对称加密算法生成与第一私钥配对的第一公钥,然后根据非对称加密算法、第一私钥以及第二公钥生成第一共享密钥,再基于第一共享密钥和预设加密算法对原始日志内容加密得到加密日志内容,将加密日志内容和第一公钥写入日志文件后发送给服务器,以使得服务器基于第一公钥生成第二共享密钥,再基于第二共享密钥解密得到原始日志内容。由于第一共享密钥和第二共享密钥是会变化的,所以可以提高对日志文件的保护力度,故而提高了安全性。

Description

一种日志的加密方法、解密方法及装置
技术领域
本发明涉及计算机技术领域,尤其涉及一种日志的加密方法、解密方法及装置。
背景技术
随着计算机技术的发展,出现了各种各样的客户端软件,通常客户端软件都具备生成日志的功能,日志可以用于存储程序运行时的各种状态、运行数据、异常情况等信息,客户端会定期将生成的日志上传到服务器,通过服务器统计客户端运行的情况、定位客户端的问题等,此外,对于用户反馈的客户端软件的各种问题,客户端软件开发者也可以通过日志来定位具体的问题并找出原因,从而提高开发的效率。
由于日志内容中同时包含一些敏感信息,例如用户的名称、地理位置、使用的IP地址、用户的操作等,所以,每个客户端生成日志后,会使用相同的密钥对日志进行加密,然后再将加密后的日志上传至服务器,相应的,服务器使用相同的密钥对所有加密后的日志进行解密。
在客户端和服务器每次采用相同的密钥进行加密和解密的方式中,一旦密钥被非法用户获取,则可以对所有的加密日志文件进行解密,存在安全性较低的技术问题。
发明内容
本发明实施例提供了一种日志的加密方法、解密及装置,用以解决现有技术中,客户端和服务器每次采用相同的密钥进行加密和解密,存在安全性较低的技术问题。
为了解决上述技术问题,本发明第一方面提供了一种日志的加密方法,所述方法应用于客户端,包括:
当所述客户端启动时,基于随机函数生成第一私钥;
基于非对称加密算法生成与所述第一私钥配对的第一公钥;
将所述第一公钥写入日志文件;
当所述客户端登录到服务器时,接收所述服务器发送的第二公钥,所述第二公钥由所述服务器基于所述非对称加密算法和第二私钥生成,所述第二私钥由所述服务器根据所述客户端发送的所述客户端的设备ID、所述客户端的设备类型生成;
根据所述非对称加密算法、所述第一私钥以及所述第二公钥生成第一共享密钥;
基于所述第一共享密钥和预设加密算法对生成的原始日志内容进行加密得到加密日志内容;
将所述加密日志内容写入所述日志文件;
将包括所述第一公钥和所述加密日志内容的所述日志文件发送至所述服务器,以使得所述服务器根据所述非对称加密算法、所述第二私钥以及所述第一公钥生成第二共享密钥,并基于所述第二共享密钥和所述预设加密算法对所述加密日志内容进行解密得到所述原始日志内容。
可选的,所述预设加密算法为TEA加密算法,所述基于所述第一共享密钥和预设加密算法对生成的原始日志内容进行加密得到加密日志内容,包括:
将所述原始日志内容、所述原始日志内容的长度和所述第一共享密钥作为所述TEA加密算法的参数进行TEA加密运算得到所述加密日志内容。
可选的,所述日志文件的名称包括所述客户端的设备ID以及所述客户端的设备类型。
第二方面,本发明提供了一种日志的解密方法,所述方法应用于服务器,所述方法包括:
当客户端登录到所述服务器时,根据所述客户端发送的所述客户端的设备ID和所述客户端的设备类型生成第二私钥;
基于非对称加密算法生成与所述第二私钥配对的第二公钥;
向所述客户端发送所述第二公钥,以使得所述客户端根据所述非对称加密算法、第一私钥以及所述第二公钥生成第一共享密钥,所述第一私钥由所述客户端基于随机函数生成;
接收所述客户端发送的包括第一公钥和加密日志内容的日志文件,其中,加密日志内容由所述客户端基于所述第一共享密钥和预设加密算法对生成的原始日志内容进行加密后生成并写入所述日志文件,所述第一公钥由所述客户端基于所述非对称加密算法和所述第一私钥生成并写入所述日志文件;
基于所述非对称加密算法、所述第二私钥以及所述第一公钥生成第二共享密钥;
基于所述第二共享密钥和所述预设加密算法对所述加密日志内容进行解密,从而获得所述原始日志内容。
第三方面,本发明提供了一种日志的加密装置,所述装置应用于客户端,所述装置包括:
第一生成单元,用于当所述客户端启动时,基于随机函数生成第一私钥;
第二生成单元,用于基于非对称加密算法生成与所述第一私钥配对的第一公钥;
第一写入单元,用于将所述第一公钥写入日志文件;
接收单元,用于当所述客户端登录到服务器时,接收所述服务器发送的第二公钥,所述第二公钥由所述服务器基于所述非对称加密算法和第二私钥生成,所述第二私钥由所述服务器根据所述客户端发送的所述客户端的设备ID、所述客户端的设备类型生成;
第三生成单元,用于根据所述非对称加密算法、所述第一私钥以及所述第二公钥生成第一共享密钥;
加密单元,用于基于所述第一共享密钥和预设加密算法对生成的原始日志内容进行加密得到加密日志内容;
第二写入单元,用于将所述加密日志内容写入所述日志文件;
发送单元,用于将包括所述第一公钥和所述加密日志内容的所述日志文件发送至所述服务器,以使得所述服务器根据所述非对称加密算法、所述第二私钥以及所述第一公钥生成第二共享密钥,并基于所述第二共享密钥和所述预设加密算法对所述加密日志内容进行解密得到所述原始日志内容。
可选的,所述预设加密算法为TEA加密算法,所述加密单元具体用于:
将所述原始日志内容、所述原始日志内容的长度和所述第一共享密钥作为所述TEA加密算法的参数进行TEA加密运算得到所述加密日志内容。
可选的,所述日志文件的名称包括所述客户端的设备ID以及所述客户端的设备类型。
第四方面,本发明提供了一种日志的解密装置,所述装置应用于服务器,所述装置包括:
第一生成单元,用于当客户端登录到所述服务器时,根据所述客户端发送的所述客户端的设备ID和所述客户端的设备类型生成第二私钥;
第二生成单元,用于基于非对称加密算法生成与所述第二私钥配对的第二公钥;
发送单元,用于向所述客户端发送所述第二公钥,以使得所述客户端根据所述非对称加密算法、第一私钥以及所述第二公钥生成第一共享密钥,所述第一私钥由所述客户端基于随机函数生成;
接收单元,用于接收所述客户端发送的包括第一公钥和加密日志内容的日志文件,其中,加密日志内容由所述客户端基于所述第一共享密钥和预设加密算法对生成的原始日志内容进行加密后生成并写入所述日志文件,所述第一公钥由所述客户端基于所述非对称加密算法和所述第一私钥生成并写入所述日志文件;
第三生成单元,用于基于所述非对称加密算法、所述第二私钥以及所述第一公钥生成第二共享密钥;
解密单元,用于基于所述第二共享密钥和所述预设加密算法对所述加密日志内容进行解密,从而获得所述原始日志内容。
第五方面,本发明提供了一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现上述日志的加密方法。
第六方面,本发明一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现上述日志的加密方法。
在本发明提供的方法中,客户端启动时,基于随机函数生成第一私钥,基于非对称加密算法生成与第一私钥配对的第一公钥,然后根据非对称加密算法、第一私钥以及第二公钥生成第一共享密钥,再基于第一共享密钥和预设加密算法对原始日志内容加密得到加密日志内容,将加密日志内容和第一公钥写入日志文件后发送给服务器,以使得服务器基于第一公钥生成第二共享密钥,再基于第二共享密钥解密得到原始日志内容。由于客户端基于随机函数生成第一私钥,所以每个客户端生成的用于给原始日志内容加密的第一共享密钥是不同的,而且,对于每个客户端而言,每次启动生成的第一共享密钥也是不同的,相应的,服务器基于第一公钥生成第二共享密钥,所以第二共享密钥每次也是不同的,相比现有方法中所有客户端每次使用相同的密钥加密,服务器每次使用相同的密钥进行解密的处理方法而言,大大增加了非法用户破解的难度,从而可以提高对日志文件的保护力度,故而提高了安全性,解决了现有技术中客户端和服务器每次采用相同的密钥进行加密和解密,存在安全性较低的技术问题。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例中日志的加密方法的流程图;
图2为本发明实施例中日志的解密方法的流程图;
图3为本发明实施例中日志的加密装置的结构示意图;
图4为本发明实施例中日志的解密装置的结构示意图;
图5为本发明实施例中计算机可读存储介质的结构示意图;
图6为本发明实施例中计算机设备的结构示意图。
具体实施方式
本申请实施例通过一种日志的加密方法、解密方法及装置,可以增加非法用户破解的难度,提高对日志文件的保护力度,解决了现有技术中客户端和服务器每次采用相同的密钥进行加密和解密,存在安全性较低的技术问题。
本申请实施例中的技术方案,总体思路如下:当所述客户端启动时,基于随机函数生成第一私钥;基于非对称加密算法生成与所述第一私钥配对的第一公钥;将所述第一公钥写入日志文件;当所述客户端登录到服务器时,接收所述服务器发送的第二公钥,所述第二公钥由所述服务器基于所述非对称加密算法和第二私钥生成,所述第二私钥由所述服务器根据所述客户端发送的所述客户端的设备ID、所述客户端的设备类型生成;根据所述非对称加密算法、所述第一私钥以及所述第二公钥生成第一共享密钥;基于所述第一共享密钥和预设加密算法对生成的原始日志内容进行加密得到加密日志内容;将所述加密日志内容写入所述日志文件;将包括所述第一公钥和所述加密日志内容的所述日志文件发送至所述服务器,以使得所述服务器根据所述非对称加密算法、所述第二私钥以及所述第一公钥生成第二共享密钥,并基于所述第二共享密钥和所述预设加密算法对所述加密日志内容进行解密得到所述原始日志内容。
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一
需要说明的是,本实施例提供的方法应用于客户端,客户端与服务器通过网络进行连接,以实现通信;在具体实施过程中,客户端包括但不限于移动终端设备(例如手机、平板电脑),固定终端设备(例如台式机)等,此处不做太多限制。
本实施例提供一种日志的加密方法,如图1所示,该方法包括:
步骤S101,当所述客户端启动时,基于随机函数生成第一私钥。
具体来说,随机数函数可以是rand、srand()等,具体的算法可以根据实际设置,例如求整、取余、逻辑运算等。
步骤S102,基于非对称加密算法生成与所述第一私钥配对的第一公钥。
非对称加密算法包括RSA算法、Elgamal(盖莫尔算法)、背包算法等。非对称加密算法需要两个密钥:公开密钥和私有密钥。公开密钥与私有密钥是一对,如果用公开密钥对数据进行加密,只有用对应的私有密钥才能解密,例如用私有密钥对数据进行加密,那么只有用对应的公开密钥才能解密。
举例来说,以RSA算法为例介绍配对的第一公钥和第一私钥的方法,其中第一私钥可以使用随机函数来生成,第一公钥可以通过调用RSA的接口函数来生成,第一公钥和第一私钥是唯一配对的关系。
Privatekey=rand();//采用随机数生成第一私钥。
Publickey=RSA.CreatePair(Privatekey);//调用RSA的生成配对钥匙生成第一公钥。
步骤S103,将所述第一公钥写入日志文件。
客户端在生成第一公钥和第一私钥后,会将生成的第一公钥写入日志文件中,以便于服务器在接收到日志文件后,获得第一公钥。
为了更好地标记第一公钥的位置,可以按照预设格式来存储第一公钥,从而便于服务器在接收到日志文件时可以获知第一公钥的位置。预设格式可以是特殊标记或者数字等,例如可以是“@#¥”,当服务器在读取到上述标记时,则可以获得第一公钥。
步骤S104,当所述客户端登录到服务器时,接收所述服务器发送的第二公钥。
具体来说,当所述客户端登录到服务器时,服务器则会调用与客户端同样的非对称加密算法来生成一对第二公钥和第二私钥,为了提高安全性,本实施例则是根据客户端的设备ID和客户端的设备类型来生成服务器的第二私钥,从而使得不同的客户端设备、不同的客户端类型得到的第二私钥不同。具体的,服务器的客户端的设备ID和客户端的设备类型是由客户端发送给服务器的,包括以下几种方式:
第一种,客户端可以在登录到服务器时发送第二公钥请求信息,该请求信息中包括客户端的设备ID以及客户端的设备类型。服务器可以从请求信息中获取客户端的设备ID和客户端的设备类型。
第二种,客户端给服务器发送的日志文件的名称包括所述客户端的设备ID以及所述客户端的设备类型,从而服务器可以根据历史日志文件的的名称获取所述客户端的设备ID以及所述客户端的设备类型。
第三种,客户端设备也可以单独将客户端的设备ID以及客户设备端的设备类型发送给服务器。
在具体的实施过程中,服务器可以将客户端的设备ID和客户端的设备类型拼接起来作为第二私钥,也可以将客户端的设备ID和客户端的设备类型取其MD5值后作为第二私钥,在此不做具体限定。以下以服务器将客户端的设备ID和客户端的设备类型拼接起来作为第二私钥为例进行说明,服务器生成第二私钥和第二公钥的通过下述方式实现:
ServerPrivatekey=deviceid+clienttype;//将客户端的设备ID和客户端的设备类型拼接作为第二私钥。
ServerPublickey=RSA.CreatePair(ServerPrivatekey)//调用RSA的生成配对钥匙生成第二公钥。
在本实施方式中,服务器并不需要对第二公钥和第二私钥存储至数据库,服务器将第二公钥发送至客户端即可。
步骤S105,根据所述非对称加密算法、所述第一私钥以及所述第二公钥生成第一共享密钥。
具体来说,客户端在接收到服务器发送的第二公钥后,会根据本身生成的第一私钥、服务器发送的第二公钥,采用非对称加密算法生成第一共享密钥。以RSA非对称加密算法为例,客户端根据所述非对称加密算法、所述第一私钥以及所述第二公钥生成第一共享密钥包括:
创建RSA加密算法的接口;将第二公钥作为RSA加密算法接口的第一参数,将第一私钥作为RSA加密算法接口的第二参数;调用RSA加密算法接口,生成密钥,该密钥作为第一共享密钥。
在具体的实施过程中,可以通过下述方式来实现:
KEY=RSA.CreateShareKey(ServerPublickey,Privatekey);
上述通过调用的非对称加密算法RSA的创建第一共享密钥的接口,ServerPublickey是服务器生成的第二公钥,Privatekey是客户端生成的第一私钥。
步骤S106,基于所述第一共享密钥和预设加密算法对生成的原始日志内容进行加密得到加密日志内容。
在生成第一共享密钥后,客户端则可以基于第一共享密钥和预设加密算法对原始日志内容加密,生成加密日志内容。
具体来说,该第一共享密钥即为客户端最终用于对原始日志内容进行加密的KEY。预设加密算法可以为开源的加密算法,也可以为私有的加密算法,客户端和服务器可以根据实际情况进行协商或确定。作为可选,为了进一步节省客户端的CPU资源,提高计算速度,可以采用TEA加密算法对原始日志内容进行加密。则基于所述第一共享密钥和预设加密算法对生成的原始日志内容进行加密得到加密日志内容,包括:
将所述原始日志内容、所述原始日志内容的长度和所述第一共享密钥作为所述TEA加密算法的参数进行TEA加密运算得到所述加密日志内容。
举个例子,假如写入的日志为“start app”,则加密方法如下:
首先客户端获取待加密的原始日志内容,即原始数据Char data[]=“startapp”,然后利用TEA加密算法对上述原始数据进行加密,TEA.Encrypt(data,datalen,KEY),其中TEA.Encrypt则是TEA加密算法的加密接口,参数datalen则是原始数据的长度,KEY则是客户端调用RSA加密算法,并以第一私钥、第二公钥为参数生成的第一共享密钥,客户端可以将加密后的日志内容存储到data中。
作为可选,由于日志内容中记录了很多重复信息,而对于客户端设备来说,存储空间和网络资源都是有限的,在本实施方式中可以对原始日志内容进行压缩,从而减少原始日志内容所占的空间,并进一步提高将原始日志内容传输至服务器的效率。且对原始日志内容的压缩在加密之前进行,从而提高压缩效果。
步骤S107,将所述加密日志内容写入所述日志文件。
具体来说,客户端在生成日志内容时,为了方便对日志内容进行存储和分析,可以将日志内容写入日志文件中,日志文件可以根据实际情况进行设置,例如数据文件、文本文件等。
还需要说明的是,客户端的设备ID(deviceId)可以由应用程序生成,并且对于不同的客户端的设备类型来说,都会为其分配一个相应的终端类型,例如可以是PC客户端、Android客户端、Ios客户端等,在具体的实施过程中可以采用ClientType字段用于标识户端设备类型。同一个客户端设备可能会登陆多个用户,但是客户端的设备ID则不会改变,那么通过客户端的设备ID以及客户端的设备类型可以唯一标识该客户端。那么,为了便于管理,日志文件的命名可以包括客户端的设备ID以及客户端的设备类型,例如日志文件的名称可以是deviceId+ClientType。作为可选,还可以将日志的生成时间作为日志文件的名称,生成时间可以为日期、时刻等,例如“20180901”这个日期作为日志文件名称的一部分,并用time字段标识日期,此时日志文件的名称可以是time+deviceId+ClientType、deviceId+ClientType+time等。
作为可选,为了区分不同的应用程序生成的日志,可以采用应用程序名作为日志文件的名称,具体可以采用AppName字段作为应用程序名,此时日志文件的名称是AppName+deviceId+ClientType或者deviceId+ClientType+AppName等。当然了,也可以同时采用生成时间、户端设备ID、客户端的设备类型以及应用程序名来组成日志文件的名称,即time+deviceId+ClientType+AppName.log。
步骤S108,将包括所述第一公钥和所述加密日志内容的所述日志文件发送至所述服务器。
具体来说,服务器和客户端之间通信连接,客户端可以通过通讯模块将包括第一公钥和加密日志内容的日志文件发送至服务器,客户端可以在有WIFI(无线保真)的情况下,将客户端本地的所有日志文件上传到服务器。同时客户端还可以依据服务器的指令来上传日志文件,例如客户端可以是每隔预设时间则向服务器发送日志文件,也可以是获得一份日志文件后向服务器发送,在此不做具体限定。
服务器接收到包括所述第一公钥和所述加密日志内容的所述日志文件后,基于与客户端相同的非对称加密算法、第二私钥以及第一公钥生成第二共享密钥,其中,服务器生成的第二共享密钥与客户端生成的第一共享密钥相匹配。
以RSA非对称加密算法为,服务器生成第二共享密钥的具体实现如下:
ShareKey=RSA.CreateShareKey(ServerPrivatekey,PublicKey);
上述通过调用的非对称加密算法RSA的创建第二共享密钥的接口,PublicKey是客户端生成的第一公钥,ServerPrivatekey是服务器生成的第二私钥。
然后,服务器基于第二共享密钥和预设加密算法对加密日志内容进行解密得到原始日志内容。
服务器使用与客户端相同的预设加密算法,以预设加密算法为TEA算法为例,服务器对加密日志内容进行解密的具体实现如下:
TEA.Decrypt(data,datalen,ShareKEY)
其中TEA.Decrypt则是TEA加密算法的解密接口,参数datalen则是原始数据的长度,ShareKEY则是第二共享密钥,从而获得所述原始日志内容。
本实施例中,客户端启动时,客户端会基于随机函数生成第一私钥、基于所述非对称加密算法生成与所述第一私钥配对的第一公钥,然后根据所述非对称加密算法、所述第一私钥以及所述第二公钥生成第一共享密钥,再基于所述第一共享密钥和预设加密算法对所述原始日志内容加密。由于客户端会基于随机函数生成第一私钥,所以每个客户端生成的用于给原始日志内容加密的第一共享密钥是不同的,而且,对于每个客户端而言,每次启动生成的第一共享密钥也是不同的,相比现有方法中所有客户端每次使用相同的密钥对原始日志内容加密的处理方法而言,大大增加了非法用户破解的难度,从而可以提高对日志文件的保护力度,故而提高了安全性,解决了现有技术中客户端和服务器每次采用相同的密钥进行加密和解密,存在安全性较低的技术问题。
基于同一发明构思,本申请还提供了一种日志的解密方法,应用于服务器,详见实施例二。
实施例二
本实施例提供了一种日志的解密方法,如图2所示,所述方法应用于服务器,该方法包括:
S201,当客户端登录到所述服务器时,根据所述客户端发送的所述客户端的设备ID和所述客户端的设备类型生成第二私钥。
S202,基于非对称加密算法生成与所述第二私钥配对的第二公钥。
S203,向所述客户端发送所述第二公钥。
具体的,向所述客户端发送所述第二公钥,以使得所述客户端根据所述非对称加密算法、第一私钥以及所述第二公钥生成第一共享密钥,所述第一私钥由所述客户端基于随机函数生成。
S204,接收所述客户端发送的包括第一公钥和加密日志内容的日志文件。
具体的,加密日志内容由所述客户端基于所述第一共享密钥和预设加密算法对生成的原始日志内容进行加密后生成并写入所述日志文件,所述第一公钥由所述客户端基于所述非对称加密算法和所述第一私钥生成并写入所述日志文件。
S205,基于所述非对称加密算法、所述第二私钥以及所述第一公钥生成第二共享密钥。
S206,基于所述第二共享密钥和所述预设加密算法对所述加密日志内容进行解密,从而获得所述原始日志内容。
需要说明的是,本实施例提供的方法应用于服务器,服务器与客户端通过网络进行连接,以实现通信;在具体实施过程中,服务器是用于处理日志文件的服务器,可以为单独的服务器,也可以为多个服务器组成的服务器组。
由于本发明实施例二所介绍的方法与实施例一中所介绍的方法属于同一发明构思,实施例一中已对服务器和客户端的各项操作进行详细描述,基于实施例一本领域技术人员应该了解实施例二提供方法的实施步骤及原理,故而在此不再赘述。
本实施例中,服务器根据客户端的设备ID、所述客户端的设备类型生成第二私钥;基于非对称加密算法生成与所述第二私钥配对的第二公钥;接收所述客户端发送的包括第一公钥和加密日志内容的日志文;基于所述非对称加密算法、所述第二私钥以及所述第一公钥生成第二共享密钥;基于所述第二共享密钥和所述预设加密算法对所述加密日志内容进行解密,从而获得所述原始日志内容。由于服务器基于客户端的第一公钥生成第二共享密钥,而客户端的第一公钥基于由随机函数生成的第一私钥生成,故每次用于解密的第二共享密钥均不相同,并且依赖于客户端的第一公钥,相比现有方法中服务器每次使用相同的密钥对加密日志内容解密的处理方法而言,大大增加了非法用户破解的难度,从而可以提高对日志文件的保护力度,故而提高了安全性,解决了现有技术中客户端和服务器每次采用相同的密钥进行加密和解密,存在安全性较低的技术问题。
基于同一发明构思,本申请还提供了与实施例一中日志文件的加密方法对应的装置,详见实施例三。
实施例三
本实施例提供一种日志的加密装置,所述装置应用于客户端,如图3所示,上述装置包括:
第一生成单元301,用于当所述客户端启动时,基于随机函数生成第一私钥;
第二生成单元302,用于基于非对称加密算法生成与所述第一私钥配对的第一公钥;
第一写入单元303,用于将所述第一公钥写入日志文件;
接收单元304,用于当所述客户端登录到服务器时,接收所述服务器发送的第二公钥,所述第二公钥由所述服务器基于所述非对称加密算法和第二私钥生成,所述第二私钥由所述服务器根据所述客户端发送的所述客户端的设备ID、所述客户端的设备类型生成;
第三生成单元305,用于根据所述非对称加密算法、所述第一私钥以及所述第二公钥生成第一共享密钥;
加密单元306,用于基于所述第一共享密钥和预设加密算法对生成的原始日志内容进行加密得到加密日志内容;
第二写入单元307,用于将所述加密日志内容写入所述日志文件;
发送单元308,用于将包括所述第一公钥和所述加密日志内容的所述日志文件发送至所述服务器,以使得所述服务器根据所述非对称加密算法、所述第二私钥以及所述第一公钥生成第二共享密钥,并基于所述第二共享密钥和所述预设加密算法对所述加密日志内容进行解密得到所述原始日志内容。
由于本发明实施例三所介绍的装置,为实施本发明实施例一的日志的加密方法所采用的装置,故而基于本发明实施例一所介绍的方法,本领域所属人员能够了解该装置的具体结构及变形,故而在此不再赘述。凡是本发明实施例一的方法所采用的装置都属于本发明所欲保护的范围。
基于同一发明构思,本申请还提供了一种日志的解密装置,所述装置应用于服务器,详见实施例四。
实施例四
本实施例提供一种日志的解密装置,装置为服务器,如图4所示,上述装置包括:
第一生成单元401,用于当客户端登录到所述服务器时,根据所述客户端发送的所述客户端的设备ID和所述客户端的设备类型生成第二私钥;
第二生成单元402,用于基于非对称加密算法生成与所述第二私钥配对的第二公钥;
发送单元403,用于向所述客户端发送所述第二公钥,以使得所述客户端根据所述非对称加密算法、第一私钥以及所述第二公钥生成第一共享密钥,所述第一私钥由所述客户端基于随机函数生成;
接收单元404,用于接收所述客户端发送的包括第一公钥和加密日志内容的日志文件,其中,加密日志内容由所述客户端基于所述第一共享密钥和预设加密算法对生成的原始日志内容进行加密后生成并写入所述日志文件,所述第一公钥由所述客户端基于所述非对称加密算法和所述第一私钥生成并写入所述日志文件;
第三生成单元405,用于基于所述非对称加密算法、所述第二私钥以及所述第一公钥生成第二共享密钥;
解密单元406,用于基于所述第二共享密钥和所述预设加密算法对所述加密日志内容进行解密,从而获得所述原始日志内容。
由于本发明实施例四所介绍的装置,为实施本发明实施例二的日志的解密方法所采用的装置,故而基于本发明实施例二所介绍的方法,本领域所属人员能够了解该装置的具体结构及变形,故而在此不再赘述。凡是本发明实施例二的方法所采用的装置都属于本发明所欲保护的范围。
实施例五
基于同一发明构思,本申请还提供了一种计算机可读存储介质500,其上存储有计算机程序511,该程序被处理器执行时实现实施一中的方法。
实施例六
基于同一发明构思,本申请还提供了一种计算机设备600,请参见图6,包括存储器601、处理器602及存储在存储器上并可在处理器上运行的计算机程序603,处理器602执行程序时实现实施一中的方法。
为了便于说明,仅示出了与本发明实施例相关的部分,具体技术细节未揭示的,请参照本发明实施例方法部分。存储器601可用于存储计算机程序603,上述计算机程序包括软件程序、模块和数据,处理器602通过运行执行存储在存储器601的计算机程序603,从而执行电子设备的各种功能应用以及数据处理。
在具体的实施过程中,存储器601可用于存储软件程序以及模块,处理器602通过运行存储在存储器601的软件程序以及模块,从而执行电子设备的各种功能应用以及数据处理。存储器601可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序等;存储数据区可存储根据电子设备的使用所创建的数据等。此外,存储器601可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。处理器602是电子设备的控制中心,利用各种接口和线路连接整个电子设备的各个部分,通过运行或执行存储在存储器601内的软件程序和/或模块,以及调用存储在存储器601内的数据,执行电子设备的各种功能和处理数据,从而对电子设备进行整体监控。可选的,处理器602可包括一个或多个处理单元;优选的,处理器602可集成应用处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等。
同理,对于实施例二提供的日志文件的解密方法,同样可以提供相对应的计算机可读存储介质以及计算机设备,用以实现实施例二中的方法。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明实施例进行各种改动和变型而不脱离本发明实施例的精神和范围。这样,倘若本发明实施例的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

Claims (10)

1.一种日志的加密方法,其特征在于,所述方法应用于客户端,所述方法包括:
当所述客户端启动时,基于随机函数生成第一私钥;
基于非对称加密算法生成与所述第一私钥配对的第一公钥;
将所述第一公钥写入日志文件;
当所述客户端登录到服务器时,接收所述服务器发送的第二公钥,所述第二公钥由所述服务器基于所述非对称加密算法和第二私钥生成,所述第二私钥由所述服务器根据所述客户端发送的所述客户端的设备ID、所述客户端的设备类型生成;
根据所述非对称加密算法、所述第一私钥以及所述第二公钥生成第一共享密钥;
基于所述第一共享密钥和预设加密算法对生成的原始日志内容进行加密得到加密日志内容;
将所述加密日志内容写入所述日志文件;
将包括所述第一公钥和所述加密日志内容的所述日志文件发送至所述服务器,以使得所述服务器根据所述非对称加密算法、所述第二私钥以及所述第一公钥生成第二共享密钥,并基于所述第二共享密钥和所述预设加密算法对所述加密日志内容进行解密得到所述原始日志内容。
2.如权利要求1所述的方法,其特征在于,所述预设加密算法为TEA加密算法,所述基于所述第一共享密钥和预设加密算法对生成的原始日志内容进行加密得到加密日志内容,包括:
将所述原始日志内容、所述原始日志内容的长度和所述第一共享密钥作为所述TEA加密算法的参数进行TEA加密运算得到所述加密日志内容。
3.如权利要求1或2所述的方法,其特征在于,所述日志文件的名称包括所述客户端的设备ID以及所述客户端的设备类型。
4.一种日志的解密方法,其特征在于,所述方法应用于服务器,所述方法包括:
当客户端登录到所述服务器时,根据所述客户端发送的所述客户端的设备ID和所述客户端的设备类型生成第二私钥;
基于非对称加密算法生成与所述第二私钥配对的第二公钥;
向所述客户端发送所述第二公钥,以使得所述客户端根据所述非对称加密算法、第一私钥以及所述第二公钥生成第一共享密钥,所述第一私钥由所述客户端基于随机函数生成;
接收所述客户端发送的包括第一公钥和加密日志内容的日志文件,其中,加密日志内容由所述客户端基于所述第一共享密钥和预设加密算法对生成的原始日志内容进行加密后生成并写入所述日志文件,所述第一公钥由所述客户端基于所述非对称加密算法和所述第一私钥生成并写入所述日志文件;
基于所述非对称加密算法、所述第二私钥以及所述第一公钥生成第二共享密钥;
基于所述第二共享密钥和所述预设加密算法对所述加密日志内容进行解密,从而获得所述原始日志内容。
5.一种日志的加密装置,其特征在于,所述装置应用于客户端,所述装置包括:
第一生成单元,用于当所述客户端启动时,基于随机函数生成第一私钥;
第二生成单元,用于基于非对称加密算法生成与所述第一私钥配对的第一公钥;
第一写入单元,用于将所述第一公钥写入日志文件;
接收单元,用于当所述客户端登录到服务器时,接收所述服务器发送的第二公钥,所述第二公钥由所述服务器基于所述非对称加密算法和第二私钥生成,所述第二私钥由所述服务器根据所述客户端发送的所述客户端的设备ID、所述客户端的设备类型生成;
第三生成单元,用于根据所述非对称加密算法、所述第一私钥以及所述第二公钥生成第一共享密钥;
加密单元,用于基于所述第一共享密钥和预设加密算法对生成的原始日志内容进行加密得到加密日志内容;
第二写入单元,用于将所述加密日志内容写入所述日志文件;
发送单元,用于将包括所述第一公钥和所述加密日志内容的所述日志文件发送至所述服务器,以使得所述服务器根据所述非对称加密算法、所述第二私钥以及所述第一公钥生成第二共享密钥,并基于所述第二共享密钥和所述预设加密算法对所述加密日志内容进行解密得到所述原始日志内容。
6.如权利要求5所述的装置,其特征在于,所述预设加密算法为TEA加密算法,所述加密单元具体用于:
将所述原始日志内容、所述原始日志内容的长度和所述第一共享密钥作为所述TEA加密算法的参数进行TEA加密运算得到所述加密日志内容。
7.如权利要求5或6所述的装置,其特征在于,所述日志文件的名称包括所述客户端的设备ID以及所述客户端的设备类型。
8.一种日志的解密装置,其特征在于,所述装置应用于服务器,所述装置包括:
第一生成单元,用于当客户端登录到所述服务器时,根据所述客户端发送的所述客户端的设备ID和所述客户端的设备类型生成第二私钥;
第二生成单元,用于基于非对称加密算法生成与所述第二私钥配对的第二公钥;
发送单元,用于向所述客户端发送所述第二公钥,以使得所述客户端根据所述非对称加密算法、第一私钥以及所述第二公钥生成第一共享密钥,所述第一私钥由所述客户端基于随机函数生成;
接收单元,用于接收所述客户端发送的包括第一公钥和加密日志内容的日志文件,其中,加密日志内容由所述客户端基于所述第一共享密钥和预设加密算法对生成的原始日志内容进行加密后生成并写入所述日志文件,所述第一公钥由所述客户端基于所述非对称加密算法和所述第一私钥生成并写入所述日志文件;
第三生成单元,用于基于所述非对称加密算法、所述第二私钥以及所述第一公钥生成第二共享密钥;
解密单元,用于基于所述第二共享密钥和所述预设加密算法对所述加密日志内容进行解密,从而获得所述原始日志内容。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1至权利要求3任一项权利要求所述的方法。
10.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至权利要求3任一项权利要求所述的方法。
CN201810688320.9A 2018-06-28 2018-06-28 一种日志的加密方法、解密方法及装置 Active CN110661748B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810688320.9A CN110661748B (zh) 2018-06-28 2018-06-28 一种日志的加密方法、解密方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810688320.9A CN110661748B (zh) 2018-06-28 2018-06-28 一种日志的加密方法、解密方法及装置

Publications (2)

Publication Number Publication Date
CN110661748A true CN110661748A (zh) 2020-01-07
CN110661748B CN110661748B (zh) 2022-01-04

Family

ID=69026556

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810688320.9A Active CN110661748B (zh) 2018-06-28 2018-06-28 一种日志的加密方法、解密方法及装置

Country Status (1)

Country Link
CN (1) CN110661748B (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111431917A (zh) * 2020-03-31 2020-07-17 上海涵润汽车电子有限公司 升级包加密方法及装置,升级包解密方法及装置
CN112187832A (zh) * 2020-11-03 2021-01-05 北京指掌易科技有限公司 数据传输方法和电子设备
CN112419057A (zh) * 2020-11-16 2021-02-26 平安科技(深圳)有限公司 智能合约的日志生成及保存方法、装置、设备和存储介质
CN114039727A (zh) * 2021-12-09 2022-02-11 施耐德电气(中国)有限公司 一种数据传输方法、装置、智能终端及网关设备
CN114125830A (zh) * 2021-11-17 2022-03-01 浪潮卓数大数据产业发展有限公司 一种app数据的加密传输方法、设备及介质
CN115632879A (zh) * 2022-12-07 2023-01-20 富算科技(上海)有限公司 日志管理方法、系统、电子设备及存储介质
WO2023065772A1 (zh) * 2021-10-19 2023-04-27 深圳市锐尔觅移动通信有限公司 日志数据处理方法及装置、存储介质和电子设备

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012053886A1 (en) * 2010-10-20 2012-04-26 Mimos Berhad A method and system for file encryption and decryption in a server
CN106411504A (zh) * 2015-07-31 2017-02-15 腾讯科技(深圳)有限公司 数据加密系统、方法及装置
CN107040369A (zh) * 2016-10-26 2017-08-11 阿里巴巴集团控股有限公司 数据传输方法、装置及系统
CN107332661A (zh) * 2017-06-29 2017-11-07 环球智达科技(北京)有限公司 数据加密的方法
CN107948212A (zh) * 2018-01-10 2018-04-20 武汉斗鱼网络科技有限公司 一种日志的处理方法及装置
CN108197439A (zh) * 2018-01-04 2018-06-22 武汉斗鱼网络科技有限公司 一种文件加密方法、装置及服务器

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012053886A1 (en) * 2010-10-20 2012-04-26 Mimos Berhad A method and system for file encryption and decryption in a server
CN106411504A (zh) * 2015-07-31 2017-02-15 腾讯科技(深圳)有限公司 数据加密系统、方法及装置
CN107040369A (zh) * 2016-10-26 2017-08-11 阿里巴巴集团控股有限公司 数据传输方法、装置及系统
CN107332661A (zh) * 2017-06-29 2017-11-07 环球智达科技(北京)有限公司 数据加密的方法
CN108197439A (zh) * 2018-01-04 2018-06-22 武汉斗鱼网络科技有限公司 一种文件加密方法、装置及服务器
CN107948212A (zh) * 2018-01-10 2018-04-20 武汉斗鱼网络科技有限公司 一种日志的处理方法及装置

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111431917A (zh) * 2020-03-31 2020-07-17 上海涵润汽车电子有限公司 升级包加密方法及装置,升级包解密方法及装置
CN112187832A (zh) * 2020-11-03 2021-01-05 北京指掌易科技有限公司 数据传输方法和电子设备
CN112419057A (zh) * 2020-11-16 2021-02-26 平安科技(深圳)有限公司 智能合约的日志生成及保存方法、装置、设备和存储介质
WO2023065772A1 (zh) * 2021-10-19 2023-04-27 深圳市锐尔觅移动通信有限公司 日志数据处理方法及装置、存储介质和电子设备
CN114125830A (zh) * 2021-11-17 2022-03-01 浪潮卓数大数据产业发展有限公司 一种app数据的加密传输方法、设备及介质
CN114125830B (zh) * 2021-11-17 2024-05-07 浪潮卓数大数据产业发展有限公司 一种app数据的加密传输方法、设备及介质
CN114039727A (zh) * 2021-12-09 2022-02-11 施耐德电气(中国)有限公司 一种数据传输方法、装置、智能终端及网关设备
CN115632879A (zh) * 2022-12-07 2023-01-20 富算科技(上海)有限公司 日志管理方法、系统、电子设备及存储介质
CN115632879B (zh) * 2022-12-07 2023-04-11 富算科技(上海)有限公司 日志管理方法、系统、电子设备及存储介质

Also Published As

Publication number Publication date
CN110661748B (zh) 2022-01-04

Similar Documents

Publication Publication Date Title
CN108833091B (zh) 一种日志文件的加密方法、解密方法及装置
CN110661748B (zh) 一种日志的加密方法、解密方法及装置
CN108241517B (zh) 一种软件升级方法、客户端及电子设备
US10154013B1 (en) Updating encrypted cryptographic key
CN106063183B (zh) 用于云辅助密码学的方法和装置
US9893885B1 (en) Updating cryptographic key pair
US20140195804A1 (en) Techniques for secure data exchange
CN108197439B (zh) 一种文件加密方法、装置及服务器
CN111245597A (zh) 密钥管理方法、系统及设备
CN107342861B (zh) 一种数据处理方法、装置及系统
WO2018177394A1 (zh) 一种安卓so文件的保护方法及装置
CN111294203B (zh) 信息传输方法
CN113032357A (zh) 文件的存储方法、装置和服务器
CN111385084A (zh) 数字资产的密钥管理方法、装置及计算机可读存储介质
JP2017534971A (ja) データ同期の方法及び装置
CN111628863B (zh) 一种数据签名的方法、装置、电子设备及存储介质
CN117240625B (zh) 一种涉及防篡改的数据处理方法、装置及电子设备
CN108229192B (zh) 一种文件解密方法、装置及客户端
CN112202779B (zh) 基于区块链的信息加密方法、装置、设备及介质
CN107026730B (zh) 数据处理方法、装置及系统
CN111427860B (zh) 分布式存储系统及其数据处理方法
CN112839013A (zh) 一种密钥传输方法、装置及计算机可读存储介质
CN108256346B (zh) 关键数据的保护方法、加密保护装置及嵌入式系统装置
CN112199730A (zh) 一种终端上应用数据的处理方法、装置及电子设备
CN116366364A (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