CN108833091B - 一种日志文件的加密方法、解密方法及装置 - Google Patents
一种日志文件的加密方法、解密方法及装置 Download PDFInfo
- Publication number
- CN108833091B CN108833091B CN201810523861.6A CN201810523861A CN108833091B CN 108833091 B CN108833091 B CN 108833091B CN 201810523861 A CN201810523861 A CN 201810523861A CN 108833091 B CN108833091 B CN 108833091B
- Authority
- CN
- China
- Prior art keywords
- key
- log file
- client
- public key
- encryption algorithm
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 81
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 180
- 230000006870 function Effects 0.000 claims description 33
- 238000004590 computer program Methods 0.000 claims description 13
- 238000010586 diagram Methods 0.000 description 12
- 230000008569 process Effects 0.000 description 8
- 238000012986 modification Methods 0.000 description 6
- 230000004048 modification Effects 0.000 description 6
- 238000004891 communication Methods 0.000 description 5
- 238000012545 processing Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- 230000006835 compression Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0869—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6209—Protecting access to data via a platform, e.g. using keys or access control rules to a single file or object, e.g. in a secure envelope, encrypted and accessed using a key, or with access control rules appended to the object itself
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/06—Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
- H04L9/0825—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0838—Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0866—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving user or device identifiers, e.g. serial number, physical or biometrical information, DNA, hand-signature or measurable physical characteristics
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
- H04L9/3006—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters
- H04L9/302—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters involving the integer factorization problem, e.g. RSA or quadratic sieve [QS] schemes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2107—File encryption
Abstract
本发明实施例提供了一种日志文件的加密方法、解密方法及装置,其中的加密方法包括将生成的日志内容写入预设文件中形成原始日志文件;当客户端启动时,判断原始日志文件的存储位置是否包含第一公钥;如果包含,则向服务器发送密钥信息请求;如果不包含,则基于随机函数生成第一私钥,并基于非对称加密算法生成与第一私钥配对的第一公钥,将第一公钥写入原始日志文件的存储位置;向服务器发送密钥信息请求,基于第一共享密钥和预设加密算法对原始日志文件加密,生成加密后的日志文件;将加密后的日志文件发送至服务器。本发明的方法解决了现有技术中由于第三方容易获取日志文件的内容而存在安全性较低的技术问题。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种日志文件的加密方法、解密方法及装置。
背景技术
随着计算机技术的发展,出现了各种各样的客户端软件,通常客户端软件都具备生成日志的功能,日志可以用于存储程序运行时的各种状态、运行数据、异常情况等信息,客户端会定期将生成的日志上传到服务器,通过服务器统计客户端运行的情况、定位客户端的问题等,此外,对于用户反馈的客户端软件的各种问题,客户端软件开发者也可以通过日志来定位具体的问题并找出原因,从而提高开发的效率。
现有方法中,客户端软件生成日志后,会将日志上传至服务器,然而,日志内容中同时包含一些敏感信息,例如用户的名称、地理位置、使用的IP地址、用户的操作等等,由于未对日志进行加密,因而容易使得第三方获取日志文件的内容,增加了日志文件内容泄漏的风险,安全性较低。
因此,现有技术中由于第三方容易获取日志文件的内容而存在安全性较低的技术问题。
发明内容
本发明实施例提供了一种日志文件的加密方法、解密及装置,用以解决或者至少部分解决现有技术中由于第三方容易获取日志内容而存在安全性较低的技术问题。
为了解决上述技术问题,本发明第一方面提供了一种日志文件的加密方法,包括:
将生成的日志内容写入预设文件中形成原始日志文件,其中,所述原始日志文件的名称包括客户端设备ID以及客户端设备类型;
当客户端启动时,判断所述原始日志文件的存储位置是否包含第一公钥,其中,所述第一公钥由所述客户端基于随机函数生成第一私钥后,再基于非对称加密算法生成;
如果包含,则执行向所述服务器发送密钥信息请求的步骤;
如果不包含,则基于随机函数生成第一私钥,并基于所述非对称加密算法生成与所述第一私钥配对的第一公钥,将所述第一公钥写入所述原始日志文件的存储位置;
向所述服务器发送密钥信息请求,以使所述服务器基于所述密钥信息请求生成配对的第二私钥和第二公钥,其中,所述第二私钥由所述服务器根据所述客户端设备ID、客户端设备类型生成,所述第二公钥由所述服务器基于所述非对称加密算法和所述第二私钥生成;
接收所述服务器发送的所述第二公钥;
根据所述非对称加密算法、所述第一私钥以及所述第二公钥生成第一共享密钥,并基于所述第一共享密钥和预设加密算法对所述原始日志文件加密,生成加密后的日志文件;
将所述加密后的日志文件发送至所述服务器。
可选地,在所述向所述服务器发送密钥信息请求前,所述方法还包括:
判断所述客户端是否存在第二公钥,其中,所述第二公钥由所述服务器根据所述客户端设备ID、客户端设备类型生成第二私钥后,再基于所述非对称加密算法和所述第二私钥生成;
如果存在,则执行根据所述非对称加密算法、所述第一私钥以及所述第二公钥生成第一共享密钥的步骤;
如果不存在,则执行向所述服务器发送密钥信息请求的步骤。
可选地,所述非对称加密算法为RSA加密算法,所述根据所述非对称加密算法、所述第一私钥以及所述第二公钥生成第一共享密钥,包括:
创建所述RSA加密算法的接口;
将所述第二公钥作为RSA加密算法接口的第一参数,
将所述第一私钥作为RSA加密算法接口的第二参数;
调用所述RSA加密算法接口,生成密钥,以所述密钥作为所述第一共享密钥。
基于同样的发明构思,本发明第二方面提供了一种日志文件的解密方法,包括:
接收客户端发送的加密后的日志文件,其中,所述加密后的日志文件由所述客户端根据非对称加密算法、第一私钥以及第二公钥生成第一共享密钥后,基于所述第一共享密钥和预设加密算法对原始日志文件进行加密后生成,所述原始日志文件由所述客户端将生成的日志内容写入预设文件中形成,所述原始日志文件的名称包括客户端设备ID以及客户端设备类型,其中,所述第一私钥由客户端基于随机函数生成,所述第二公钥由所述客户端向服务器发送密钥信息请求后,所述服务器根据所述密钥信息请求、所述客户端设备ID、所述客户端设备类型生成第二私钥后,再根据所述非对称加密算法和所述第二私钥生成,所述原始日志文件的存储位置包含第一公钥,其中,所述第一公钥由所述客户端启动时在所述原始日志文件的存储位置已经包含,或者在客户端启动时所述原始日志文件的存储位置不包含的情况下基于所述随机函数生成所述第一私钥后,再基于所述非对称加密算法生成和所述第一私钥后获得后写入所述存储位置;
根据所述存储位置获得所述第一公钥;
基于所述非对称加密算法、所述第二私钥以及所述第一公钥生成第二共享密钥;
基于所述第二共享密钥和预设加密算法对所述加密后的日志进行解密,获得所述原始的日志文件。
可选地,所述非对称加密算法为RSA加密算法,所述基于所述非对称加密算法、所述第二私钥以及所述第一公钥生成第二共享密钥,包括:
创建所述RSA加密算法的接口;
将所述第二私钥作为RSA加密算法接口的第一参数,
将所述第一公钥作为RSA加密算法接口的第二参数;
调用所述RSA加密算法接口,生成密钥,以所述密钥作为所述第二共享密钥。
基于同样的发明构思,本发明第三方面提供了一种日志文件的加密装置,所述装置为客户端,包括:
写入模块,用于将生成的日志内容写入预设文件中形成原始日志文件,其中,所述原始日志文件的名称包括客户端设备ID以及客户端设备类型;
第一判断模块,用于当客户端启动时,判断所述原始日志文件的存储位置是否包含第一公钥,其中,所述第一公钥由所述客户端基于随机函数生成第一私钥后,再基于非对称加密算法生成,并在原始日志文件的存储位置包含第一公钥的情况下执行向所述服务器发送密钥信息请求的步骤,在原始日志文件的存储位置不包含第一公钥的情况下,基于随机函数生成第一私钥,并基于所述非对称加密算法生成与所述第一私钥配对的第一公钥,将所述第一公钥写入所述原始日志文件的存储位置;
第一发送模块,用于向所述服务器发送密钥信息请求,以使所述服务器基于所述密钥信息请求生成配对的第二私钥和第二公钥,其中,所述第二私钥由所述服务器根据所述客户端设备ID、客户端设备类型生成,所述第二公钥由所述服务器基于所述非对称加密算法和所述第二私钥生成;
接收模块,用于接收所述服务器发送的所述第二公钥;
加密模块,用于根据所述非对称加密算法、所述第一私钥以及所述第二公钥生成第一共享密钥,并基于所述第一共享密钥和预设加密算法对所述原始日志文件加密,生成加密后的日志文件;
第二发送模块,用于将所述加密后的日志文件发送至所述服务器。
可选地,所述装置还包括第二判断模块,用于在所述向所述服务器发送密钥信息请求前:
判断所述客户端是否存在第二公钥,其中,所述第二公钥由所述服务器根据所述客户端设备ID、客户端设备类型生成第二私钥后,再基于所述非对称加密算法和所述第二私钥生成;
如果存在,则执行根据所述非对称加密算法、所述第一私钥以及所述第二公钥生成第一共享密钥的步骤;
如果不存在,则执行向所述服务器发送密钥信息请求的步骤。
可选地,所述非对称加密算法为RSA加密算法,所述加密模块还用于:
创建所述RSA加密算法的接口;
将所述第二公钥作为RSA加密算法接口的第一参数,
将所述第一私钥作为RSA加密算法接口的第二参数;
调用所述RSA加密算法接口,生成密钥,以所述密钥作为所述第一共享密钥。
基于同样的发明构思,本发明第四方面提供了一种日志文件的解密装置,所述装置为服务器,包括:
接收模块,用于接收客户端发送的加密后的日志文件,其中,所述加密后的日志文件由所述客户端根据非对称加密算法、第一私钥以及第二公钥生成第一共享密钥后,基于所述第一共享密钥和预设加密算法对原始日志文件进行加密后生成,所述原始日志文件由所述客户端将生成的日志内容写入预设文件中形成,所述原始日志文件的名称包括客户端设备ID以及客户端设备类型,所述第一私钥由客户端基于随机函数生成,所述第二公钥由所述客户端向服务器发送密钥信息请求后,所述服务器根据所述密钥信息请求、所述客户端设备ID、所述客户端设备类型生成第二私钥后,再根据所述非对称加密算法和所述第二私钥生成,所述原始日志文件的存储位置包含第一公钥,其中,所述第一公钥由所述客户端启动时在所述原始日志文件的存储位置已经包含,或者在客户端启动时所述原始日志文件的存储位置不包含的情况下基于所述随机函数生成所述第一私钥后,再基于所述非对称加密算法生成和所述第一私钥后获得后写入所述存储位置;
获得模块,用于根据所述存储位置获得所述第一公钥;
生成模块,用于基于所述非对称加密算法、所述第二私钥以及所述第一公钥生成第二共享密钥;
解密模块,用于基于所述第二共享密钥和预设加密算法对所述加密后的日志进行解密,获得所述原始的日志文件。
可选地,所述非对称加密算法为RSA加密算法,所述基于所述非对称加密算法、所述第二私钥以及所述第一公钥生成第二共享密钥,包括:
创建所述RSA加密算法的接口;
将所述第二私钥作为RSA加密算法接口的第一参数,
将所述第一公钥作为RSA加密算法接口的第二参数;
调用所述RSA加密算法接口,生成密钥,以所述密钥作为所述第二共享密钥。
基于同样的发明构思,本发明第五方面提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如权利要求1至权利要求3任一项权利要求所述的方法。
基于同样的发明构思,本发明第六方面提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如权利要求1至权利要求3任一项权利要求所述的方法。
本申请实施例中的上述一个或多个技术方案,至少具有如下一种或多种技术效果:
在本发明提供的方法中,客户端会基于随机函数生成第一私钥、基于所述非对称加密算法生成与所述第一私钥配对的第一公钥,然后根据所述非对称加密算法、所述第一私钥以及所述第二公钥生成第一共享密钥,再基于所述第一共享密钥和预设加密算法对所述原始日志文件加密。一方面,由于用于对原始日志文件加密的第一共享密钥是根据客户端本身计算出的第一私钥以及服务器计算出的第二公钥得到的,然后再通过第一共享密钥和预设加密算法对原始日志文件进行加密。相比现有方法中客户端不对日志文件进行任何处理的方法而言,本发明实施例中的第一共享密钥不会在网络中传输,只有得到与第一私钥配对的第一公钥以及与第二公钥配对的第二私钥的服务器才能对上述加密后的日志文件进行解密,其他第三或者黑客无法解密出日志文件,从而可以提高对日志文件的保护力度,故而提高了安全性,解决了现有技术中由于第三方容易获取日志文件的内容而存在安全性较低的技术问题,另一方面,在客户端启动时,本发明实施例会判断原始日志文件的存储位置是否包含公钥信息(第一公钥),如果包含则不会再次生成第一公钥,而是向服务器发送密钥信息请求;如果不包含,才会生成第一公钥和第一私钥,然后写入日志文件的存储位置,也就是说,本发明实施例的方法不会在每次启动时都生成第一公钥和第一私钥,而只会执行一次生成第一公钥和第一私钥的步骤,相对于由于客户端每次重新启动后,都会生成新的第一公钥和第一私钥而言,这样可以大大节省资源消耗,提高了加密的效率。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明一种实施例中日志文件的加密方法的流程图;
图2为本发明一种实施例中日志文件的解密方法的流程图;
图3为本发明一种实施例中日志文件的加密装置的结构示意图;
图4为本发明一种实施例中日志文件的解密装置的结构示意图;
图5为本发明实施例中一种计算机可读存储介质的结构示意图;
图6为本发明实施例中一种计算机设备的结构示意图。
具体实施方式
本申请实施例通过一种日志文件的加密方法、解密及装置,用以改善现有技术中由于第三方容易获取日志内容而存在安全性较低的技术问题。
本申请实施例中的技术方案,总体思路如下:由于用于对原始日志文件加密的第一共享密钥是根据客户端本身计算出的第一私钥以及服务器计算出的第二公钥得到的,然后再通过第一共享密钥和预设加密算法对原始日志文件进行加密。相比现有方法中客户端不对日志文件进行任何处理的方法而言,本发明实施例中的第一共享密钥不会在网络中传输,只有得到与第一私钥配对的第一公钥以及与第二公钥配对的第二私钥的服务器才能对上述加密后的日志文件进行解密,其他第三或者黑客无法解密出日志文件,从而可以提高对日志文件的保护力度,故而提高了安全性,解决了现有技术中由于第三方容易获取日志文件的内容而存在安全性较低的技术问题,另一方面,在客户端启动时,本发明实施例会判断原始日志文件的存储位置是否包含公钥信息(第一公钥),如果包含则不会再次生成第一公钥,而是向服务器发送密钥信息请求;如果不包含,才会生成第一公钥和第一私钥,然后写入日志文件的存储位置,也就是说,本发明实施例的方法不会在每次启动时都生成第一公钥和第一私钥,而只会执行一次生成第一公钥和第一私钥的步骤,相对于由于客户端每次重新启动后,都会生成新的第一公钥和第一私钥而言,这样可以大大节省资源消耗,提高了加密的效率。
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一
需要说明的是,本实施例提供的方法应用于客户端,客户端与服务器通过网络进行连接,以实现通信;在具体实施过程中,客户端可以应用于移动终端设备(例如手机、平板电脑),也可以应用于固定终端设备(例如台式机),在此也不作限制。
本实施例提供一种日志文件的加密方法,如图1所示,该方法包括:
步骤S101:将生成的日志内容写入预设文件中形成原始日志文件,其中,原始日志文件的名称包括客户端设备ID以及客户端设备类型。
具体来说,客户端在生成日志时,为了方便对日志内容进行存储和分析,可以将日志内容写入预设文件中,预设文件可以根据实际情况进行设置,例如数据文件、文本文件等。客户端设备ID(deviceId)可以由应用程序生成,并且对于不同的客户端设备类型来说,都会为其分配一个相应的终端类型,例如可以是PC客户端、Android客户端、Ios客户端等,在具体的实施过程中可以采用ClientType字段用于标识户端设备类型。同一个客户端设备可能会登陆多个用户,但是客户端设备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。
作为可选,由于日志文件中记录了很多重复信息,而对于客户端设备来说,存储空间和网络资源都是由限的,在本实施方式中可以对独立的原始日志文件进行压缩,从而减少始日志文件所占的空间,并进一步提高将日志文件传输至服务器的效率。且对原始日志文件的压缩在加密之前进行,从而提高压缩效果。
步骤S102:当客户端启动时,判断原始日志文件的存储位置是否包含第一公钥,其中,第一公钥由客户端基于随机函数生成第一私钥后,再基于非对称加密算法生成。
具体来说,原始日志文件的存储位置是读取原始日志文件的入口,用于从内存或者存储空间中查找到该日志文件。本实施方式中,在客户端启动时,首先会判断原始日志文件的存储位置是否包含公钥信息(也就是客户端生成的第一公钥),由于客户端有可能是第一次启动,也可能是退出后重新启动(非第一次启动)。如果客户端是第一次启动,那么此时客户端还未生成第一公钥,则原始日志文件的存储位置也没有上述第一公钥;如果客户端不是第一次启动,那么也可能有两种情况,第一种情况,原始日志文件的存储位置不包含上述第一公钥(虽然客户端之前启动了但是未生成第一公钥),第二种情况,原始日志文件的存储位置包含上述第一公钥(即在之前的启动中客户端生成了第一公钥)。
在一种实施方式中,原始日志文件的存储位置包含第一公钥,则执行向服务器发送密钥信息请求的步骤;
在一种实施方式中,原始日志文件的存储位置不包含第一公钥,则基于随机函数生成第一私钥,并基于非对称加密算法生成与第一私钥配对的第一公钥,将第一公钥写入原始日志文件的存储位置。
通过上述技术方案,即在当客户端启动时,首先会判断原始日志文件的存储位置是否包含第一公钥(即客户端是否已经生成过密钥信息:第一公钥),对于日志文件来说,每天的日志文件都会不同,如果是同一天的日志,客户端在之前已经生成过第一公钥,则不再重新生成。这样对于同一天的日文件,客户端仅会执行一次生成第一公钥和第一私钥的步骤,而不是每次在客户端重启后都重新生成新的第一公钥和第一私钥,这样可以大大节省客户端的计算资源,进而提高计算效率。
具体来说,第一公钥为客户端用于生成对日志文件加密的KEY值(第一共享密钥),第一公钥和第一私钥是配对的,随机数函数可以是rand、srand()等,具体的算法可以根据实际设置,例如求整、取余、逻辑运算等。上述非对称加密算法包括RSA算法、Elgamal(盖莫尔算法)、背包算法等。非对称加密算法需要两个密钥:公开密钥和私有密钥。公开密钥与私有密钥是一对,如果用公开密钥对数据进行加密,只有用对应的私有密钥才能解密,例如用私有密钥对数据进行加密,那么只有用对应的公开密钥才能解密。
举例来说,以RSA算法为例介绍配对的第一公钥和第一私钥的方法,其中第一私钥可以使用随机数来生成,第一公钥可以通过调用RSA的接口函数来生成,第一公钥和第一私钥是唯一配对的关系。
Privatekey=rand();//采用随机数生成第一私钥。
Publickey=RSA.CreatePair(Privatekey);//调用RSA的生成配对钥匙生成第一公钥。
客户端在生成第一公钥和第一私钥后,会将生成的第一公钥写入原始日志文件的存储位置中,而加密后的原始文件的存储位置可以由原始日志文件的存储位置获得,以便于服务器在接收到加密后的日志文件后,可以根据存储位置获得上述第一公钥。
为了更好地标记第一公钥的位置,可以按照预设格式来存储第一公钥,从而便于服务器在接收到日志文件时可以获知第一公钥的位置。预设格式可以是特殊标记或者数字等,例如可以是“@#¥”,当服务器在读取到上述标记时,则可以获得第一公钥。
步骤S103:向服务器发送密钥信息请求,以使服务器基于密钥信息请求生成配对的第二私钥和第二公钥,其中,第二私钥由服务器根据客户端设备ID、客户端设备类型生成,第二公钥由服务器基于非对称加密算法和第二私钥生成。
具体来说,由于客户端用来加密原始日志文件的密钥需要用到服务器的生成的密钥信息,因此需要向服务器发送密钥信息请求。客户端可以在登录到服务器时发送密钥信息请求,该请求中可以包含客户端设备ID以及请求内容标识。服务器在接收到客户端发送的密钥信息请求后,则可以根据密钥信息请求中的客户端设备ID和请求内容标识做出响应。
具体来说,服务器则会调用与客户端同样的非对称加密算法来生成一对第二公钥和第二私钥。同理,服务器生成的第二公钥和第二私钥也是配对的,服务器调用的非对称加密算法与客户端在生成第一公钥的算法相同,为了提高安全性,本实施例可以根据客户端设备ID和客户设备端类型来生成服务器的第二私钥,从而使得不同的客户端设备、客户设备端类型得到的第二私钥不同
在具体的实施过程中,可以将客户端设备ID和客户设备端类型拼接起来作为第二私钥,也可以将客户端设备ID和客户设备端类型取其MD5值后作为第二私钥,在此不做具体限定。由于客户端在形成原始日志文件后,将客户端设备ID和客户设备端类型作为日志文件的名来存储,那么服务器在接收到加密后的日志文件后(加密后的日志文件名称与原始日志文件名称相同),则可以根据名称来获得对客户端设备ID和客户设备端类型。服务器生成第二私钥和第二公钥的可以通过下述方式来实现:
ServerPrivatekey=deviceid+clienttype;//将客户端设备ID和客户端设备类型拼接作为第二私钥。
ServerPublickey=RSA.CreatePair(ServerPrivatekey)//调用RSA的生成配对钥匙生成第二公钥。
在本实施方式中,服务器不需要对第二公钥和第二私钥存储至数据库,只需将第二公钥发送至客户端即可。
步骤S104:接收服务器发送的第二公钥。
具体来说,服务器和客户端之间通信连接,服务器可以通过通讯模块将生成的第二公钥发送至客户端。
步骤S105:根据非对称加密算法、第一私钥以及第二公钥生成第一共享密钥,并基于第一共享密钥和预设加密算法对原始日志文件加密,生成加密后的日志文件。
具体来说,客户端在接收到服务器发送的第二公钥后,会根据本身生成的第一私钥、服务器发送的第二公钥,采用前述非对称加密算法生成第一共享密钥。例如RSA加密算法,则可以根据第一私钥、第二公钥生成第一共享密钥。
在一种实施方式中,可以通过调RSA加密算法的接口来实现:
创建RSA加密算法的接口;
将第二公钥作为RSA加密算法接口的第一参数,
将第一私钥作为RSA加密算法接口的第二参数;
调用RSA加密算法接口,生成密钥,以密钥作为第一共享密钥。
在具体的实施过程中,可以通过下述方式来实现:
KEY=RSA.CreateShareKey(ServerPublickey,Privatekey);
上述通过调用的非对称加密算法RSA的创建第一共享密钥的接口,第一参数ServerPublickey是服务器生成的第二公钥,第二参数Privatekey是客户端生成的第一私钥。
在获得第一共享密钥后,客户端则可以基于第一共享密钥和预设加密算法对原始日志文件加密,生成加密后的日志文件。
具体来说,该第一共享密钥即为客户端最终用于对原始日志文件进行加密的KEY。预设加密算法其中预设加密算法可以为开源的加密算法,也可以为私有的加密算法,客户端和服务器可以根据实际情况进行协商或确定。作为可选,为了进一步节省客户端的CPU资源,提高计算速度,可以采用TEA加密算法对日志进行加密,例如写入的日志为“startapp”,则加密方法如下:
首先客户端获取待加密的原始日志文件,即原始数据Char data[]=“startapp”,然后利用TEA加密算法对上述原始数据进行加密,TEA.Encrypt(data,datalen,KEY),其中TEA.Encrypt是TEA加密算法的加密接口,参数datalen是原始数据的长度,KEY是客户端调用RSA加密算法,并以第一私钥、第二公钥为参数生成的第一共享密钥,客户端可以将加密后的日志文件存储到data中。
步骤S106:将加密后的日志文件发送至服务器。
具体来说,服务器和客户端之间通信连接,客户端可以通过通讯模块将加密后的日志文件发送至服务器,客户端可以在有WIFI(无线保真)的情况下,将客户端本地的所有的加密后的日志文件上传到服务器。同时客户端还可以依据服务器的指令来上传。客户端可以是每隔预设时间则向服务器发送,也可以是获得一份加密后的日志文件后则向服务器发送,在此不做具体限定。
作为一种可选实施方式,在向服务器发送密钥信息请求前,方法还包括:
判断客户端是否存在第二公钥,其中,第二公钥由服务器根据客户端设备ID、客户端设备类型生成第二私钥后,再基于非对称加密算法和第二私钥生成;
如果存在,则执行根据非对称加密算法、第一私钥以及第二公钥生成第一共享密钥的步骤;
如果不存在,则执行向服务器发送密钥信息请求的步骤。
具体来说,为了节省客户端对生成加密密钥的CPU资源消耗,在客户端向服务器发送密钥信息请求之前,客户端首先会判断是否已经接收过服务器发送的密钥信息(即服务器生成的第二公钥),如果存在,则客户端不再重复向服务器发送密钥信息请求,也就是说不管客户端启动多次,客户端仅会向服务器发送一次密钥信息请求,这样可以大大节省计算资源,提高加密效率。而由于日志文件是根据不同的日期来生成的,不同的日期则产生不同的日志文件,对于同一份日志文件来说,客户端每天仅会向服务器发送一次密钥信息请求,相对于现有技术中每次客户端重新启动都向服务器发送请求,服务器需要频繁地计算第二公钥而言,可以大大减少服务器的计算次数,从而提高效率。
本申请实施例中的上述一个或多个技术方案,至少具有如下一种或多种技术效果:
在本发明提供的方法中,客户端会基于随机函数生成第一私钥、基于非对称加密算法生成与第一私钥配对的第一公钥,然后根据非对称加密算法、第一私钥以及第二公钥生成第一共享密钥,再基于第一共享密钥和预设加密算法对原始日志文件加密。一方面,由于用于对原始日志文件加密的第一共享密钥是根据客户端本身计算出的第一私钥以及服务器计算出的第二公钥得到的,然后再通过第一共享密钥和预设加密算法对原始日志文件进行加密。相比现有方法中客户端不对日志文件进行任何处理的方法而言,本发明实施例中的第一共享密钥不会在网络中传输,只有得到与第一私钥配对的第一公钥以及与第二公钥配对的第二私钥的服务器才能对上述加密后的日志文件进行解密,其他第三或者黑客无法解密出日志文件,从而可以提高对日志文件的保护力度,故而提高了安全性,解决了现有技术中由于第三方容易获取日志文件的内容而存在安全性较低的技术问题,另一方面,在客户端启动时,本发明实施例会判断原始日志文件的存储位置是否包含公钥信息(第一公钥),如果包含则不会再次生成第一公钥,而是向服务器发送密钥信息请求;如果不包含,才会生成第一公钥和第一私钥,然后写入日志文件的存储位置,也就是说,本发明实施例的方法不会在每次启动时都生成第一公钥和第一私钥,而只会执行一次生成第一公钥和第一私钥的步骤,相对于由于客户端每次重新启动后,都会生成新的第一公钥和第一私钥而言,这样可以大大节省资源消耗,提高了加密的效率。
实施例二
基于同一发明构思,本实施例提供了一种日志文件的解密方法,应用于服务器,如图2所示,该方法包括:
S201:接收客户端发送的加密后的日志文件,其中,加密后的日志文件由客户端根据非对称加密算法、第一私钥以及第二公钥生成第一共享密钥后,基于第一共享密钥和预设加密算法对原始日志文件进行加密后生成,原始日志文件由客户端将生成的日志内容写入预设文件中形成,原始日志文件的名称包括客户端设备ID以及客户端设备类型,其中,第一私钥由客户端基于随机函数生成,第二公钥由客户端向服务器发送密钥信息请求后,服务器根据密钥信息请求、客户端设备ID、客户端设备类型生成第二私钥后,再根据非对称加密算法和第二私钥生成,原始日志文件的存储位置包含第一公钥,其中,第一公钥由客户端启动时在原始日志文件的存储位置已经包含,或者在客户端启动时原始日志文件的存储位置不包含的情况下基于随机函数生成第一私钥后,再基于非对称加密算法生成和第一私钥后获得后写入存储位置。
具体来说,由于客户端如何利用第一共享密钥和预设加密算法对原始日志文件加密,生成加密后的日志文件的实施方法在实施例一种已有详细说明,本实施方式的上述步骤的实现原理和方法与实施例一相同,故在此不再赘述。
S202:根据存储位置获得第一公钥。
具体来说,由于客户端在生成第一公钥后,将第一公钥存储在日志文件的存储位置,因此,当服务器接收到加密后的日志文件后,可以根据加密后的日志文件的存储位置找到第一公钥的存储位置。其中,加密后的日志文件的存储位置可以与原始日志文件的存储位置相同,也可以不同,只要有相应的对应关系即可。
S203:基于非对称加密算法、第二私钥以及第一公钥生成第二共享密钥。
具体来说,服务器生成第二共享密钥的方法与客户端生成第一共享密钥的类似,凡是实施例一种生成第一共享密钥的方法及变形均在本实施方式的保护范围内,在此不再赘述。
S204:基于第二共享密钥和预设加密算法对加密后的日志进行解密,获得原始的日志文件。
本发明实施例提供的方法中,非对称加密算法为RSA加密算法,基于非对称加密算法、第二私钥以及第一公钥生成第二共享密钥,包括:
创建RSA加密算法的接口;
将第二私钥作为RSA加密算法接口的第一参数;
将第一公钥作为RSA加密算法接口的第二参数;
调用RSA加密算法接口,生成密钥,以密钥作为第二共享密钥。
调用RSA加密算法接口,生成密钥,以密钥作为第二共享密钥。在实施例一中已经详细介绍了服务器的鉴权过程,故在此不再赘述。
通过非对称加密算法可以保证客户端使用本身的第一私钥和服务器的第二公钥生成的第一共享密钥和服务器使用本身的第二私钥和客户端的第一公钥生成的第二共享密钥是一致的。然后服务器则可以对加密后的日志文件使用与客户端同样的预设加密算法来进行解密,获得原始的日志。由于客户端生成的第一私钥和服务器生成的第二私钥都各自保存,不在网络中传输,因而其他第三方无法获得第二私钥,从而无法计算出第二共享密钥,保证了日志文件中敏感信息不被第三方获取,故而保证了安全性。
本发明实施例提供的方法中,客户端和服务器分别采用非对称算法生成私钥和公钥后,再采用非对称算法来对客户端和服务器协商计算出一个KEY值,从而此KEY值不会在网络中传输,从而达到日志只有合法客户端和服务器能够解密,其他第三或者黑客无法解密出原始日志文件,从而保证了安全性。
由于本发明实施例二所介绍的方法与实施例一中所介绍的方法属于同一发明构思,基于实施例一本领域技术人员应该了解实施例二提供方法的实施步骤及原理,故而在此不再赘述。
实施例三
基于同一发明构思,本实施例提供一种日志文件的加密装置,装置为客户端,如图3所示,上述装置包括:
写入模块301,用于将生成的日志内容写入预设文件中形成原始日志文件,其中,原始日志文件的名称包括客户端设备ID以及客户端设备类型;
第一判断模块302,用于当客户端启动时,判断原始日志文件的存储位置是否包含第一公钥,其中,第一公钥由客户端基于随机函数生成第一私钥后,再基于非对称加密算法生成,并在原始日志文件的存储位置包含第一公钥的情况下执行向服务器发送密钥信息请求的步骤,在原始日志文件的存储位置不包含第一公钥的情况下,基于随机函数生成第一私钥,并基于非对称加密算法生成与第一私钥配对的第一公钥,将第一公钥写入原始日志文件的存储位置;
第一发送模块303,用于向服务器发送密钥信息请求,以使服务器基于密钥信息请求生成配对的第二私钥和第二公钥,其中,第二私钥由服务器根据客户端设备ID、客户端设备类型生成,第二公钥由服务器基于非对称加密算法和第二私钥生成;
接收模块304,用于接收服务器发送的第二公钥;
加密模块305,用于根据非对称加密算法、第一私钥以及第二公钥生成第一共享密钥,并基于第一共享密钥和预设加密算法对原始日志文件加密,生成加密后的日志文件;
第二发送模块305,用于将加密后的日志文件发送至服务器。
本实施提供的装置中,该装置还包括第二判断模块,用于在向服务器发送密钥信息请求前:
判断客户端是否存在第二公钥,其中,第二公钥由服务器根据客户端设备ID、客户端设备类型生成第二私钥后,再基于非对称加密算法和第二私钥生成;
如果存在,则执行根据非对称加密算法、第一私钥以及第二公钥生成第一共享密钥的步骤;
如果不存在,则执行向服务器发送密钥信息请求的步骤。
本实施提供的装置中,非对称加密算法为RSA加密算法,根据非对称加密算法、第一私钥以及第二公钥生成第一共享密钥,包括:
创建RSA加密算法的接口;
将第二公钥作为RSA加密算法接口的第一参数,
将第一私钥作为RSA加密算法接口的第二参数;
调用RSA加密算法接口,生成密钥,以密钥作为第一共享密钥。
由于本发明实施例三所介绍的装置,为实施本发明实施例一的日志文件的加密方法所采用的装置,故而基于本发明实施例一所介绍的方法,本领域所属人员能够了解该装置的具体结构及变形,故而在此不再赘述。凡是本发明实施例一的方法所采用的装置都属于本发明所欲保护的范围。
实施例四
基于同一发明构思,本实施例提供一种日志文件的解密装置,装置为服务器,如图4所示,上述装置包括:
接收模块401,用于接收客户端发送的加密后的日志文件,其中,加密后的日志文件由客户端根据非对称加密算法、第一私钥以及第二公钥生成第一共享密钥后,基于第一共享密钥和预设加密算法对原始日志文件进行加密后生成,原始日志文件由客户端将生成的日志内容写入预设文件中形成,原始日志文件的名称包括客户端设备ID以及客户端设备类型,第一私钥由客户端基于随机函数生成,第二公钥由客户端向服务器发送密钥信息请求后,服务器根据密钥信息请求、客户端设备ID、客户端设备类型生成第二私钥后,再根据非对称加密算法和第二私钥生成,原始日志文件的存储位置包含第一公钥,其中,第一公钥由客户端启动时在原始日志文件的存储位置已经包含,或者在客户端启动时原始日志文件的存储位置不包含的情况下基于随机函数生成第一私钥后,再基于非对称加密算法生成和第一私钥后获得后写入存储位置;
获得模块402,用于根据存储位置获得第一公钥;
生成模块403,用于基于非对称加密算法、第二私钥以及第一公钥生成第二共享密钥;
解密模块404,用于基于第二共享密钥和预设加密算法对加密后的日志进行解密,获得原始的日志文件。
在本实施例提供的装置中,非对称加密算法为RSA加密算法,基于非对称加密算法、第二私钥以及第一公钥生成第二共享密钥,包括:
创建RSA加密算法的接口;
将第二私钥作为RSA加密算法接口的第一参数,
将第一公钥作为RSA加密算法接口的第二参数;
调用RSA加密算法接口,生成密钥,以密钥作为第二共享密钥。
由于本发明实施例四所介绍的装置,为实施本发明实施例二的日志文件的解密方法所采用的装置,故而基于本发明实施例二所介绍的方法,本领域所属人员能够了解该装置的具体结构及变形,故而在此不再赘述。凡是本发明实施例二的方法所采用的装置都属于本发明所欲保护的范围。
实施例五
基于同一发明构思,本申请还提供了一种计算机可读存储介质500,其上存储有计算机程序511,该程序被处理器执行时实现实施一中的方法。
实施例六
基于同一发明构思,本申请还提供了一种计算机设备,请参见图6,包括存储601、处理器602及存储在存储器上并可在处理器上运行的计算机程序603,处理器602执行程序时实现实施一中的方法。
同理,对于实施例二提供的日志文件的解密方法,同样可以提供相对应的计算机可读存储介质以及计算机设备,用以实现实施例二中的方法。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明实施例进行各种改动和变型而不脱离本发明实施例的精神和范围。这样,倘若本发明实施例的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (10)
1.一种日志文件的加密方法,其特征在于,包括:
将生成的日志内容写入预设文件中形成原始日志文件,其中,所述原始日志文件的名称包括客户端设备ID以及客户端设备类型;
当客户端启动时,判断所述原始日志文件的存储位置是否包含第一公钥,其中,所述第一公钥由所述客户端基于随机函数生成第一私钥后,再基于非对称加密算法生成;
如果包含,则向服务器发送密钥信息请求的步骤;
如果不包含,则基于随机函数生成第一私钥,并基于所述非对称加密算法生成与所述第一私钥配对的第一公钥,将所述第一公钥写入所述原始日志文件的存储位置;
向所述服务器发送密钥信息请求,以使所述服务器基于所述密钥信息请求生成配对的第二私钥和第二公钥,其中,所述第二私钥由所述服务器根据所述客户端设备ID、客户端设备类型生成,所述第二公钥由所述服务器基于所述非对称加密算法和所述第二私钥生成;
接收所述服务器发送的所述第二公钥;
根据所述非对称加密算法、所述第一私钥以及所述第二公钥生成第一共享密钥,并基于所述第一共享密钥和预设加密算法对所述原始日志文件加密,生成加密后的日志文件;
将所述加密后的日志文件发送至所述服务器。
2.如权利要求1所述的方法,其特征在于,在所述向所述服务器发送密钥信息请求前,所述方法还包括:
判断所述客户端是否存在第二公钥,其中,所述第二公钥由所述服务器根据所述客户端设备ID、客户端设备类型生成第二私钥后,再基于所述非对称加密算法和所述第二私钥生成;
如果存在,则执行根据所述非对称加密算法、所述第一私钥以及所述第二公钥生成第一共享密钥的步骤;
如果不存在,则执行向所述服务器发送密钥信息请求的步骤。
3.如权利要求1所述的方法,其特征在于,所述非对称加密算法为RSA加密算法,所述根据所述非对称加密算法、所述第一私钥以及所述第二公钥生成第一共享密钥,包括:
创建所述RSA加密算法的接口;
将所述第二公钥作为RSA加密算法接口的第一参数,
将所述第一私钥作为RSA加密算法接口的第二参数;
调用所述RSA加密算法接口,生成密钥,以所述密钥作为所述第一共享密钥。
4.一种日志文件的解密方法,其特征在于,包括:
接收客户端发送的加密后的日志文件,其中,所述加密后的日志文件由所述客户端根据非对称加密算法、第一私钥以及第二公钥生成第一共享密钥后,基于所述第一共享密钥和预设加密算法对原始日志文件进行加密后生成,所述原始日志文件由所述客户端将生成的日志内容写入预设文件中形成,所述原始日志文件的名称包括客户端设备ID以及客户端设备类型,其中,所述第一私钥由客户端基于随机函数生成,所述第二公钥由所述客户端向服务器发送密钥信息请求后,所述服务器根据所述密钥信息请求、所述客户端设备ID、所述客户端设备类型生成第二私钥后,再根据所述非对称加密算法和所述第二私钥生成,所述原始日志文件的存储位置包含第一公钥,其中,所述第一公钥由所述客户端启动时在所述原始日志文件的存储位置已经包含,或者在客户端启动时所述原始日志文件的存储位置不包含的情况下基于所述随机函数生成所述第一私钥后,再基于所述非对称加密算法生成和所述第一私钥后获得后写入所述存储位置;
根据所述存储位置获得所述第一公钥;
基于所述非对称加密算法、所述第二私钥以及所述第一公钥生成第二共享密钥;
基于所述第二共享密钥和预设加密算法对所述加密后的日志进行解密,获得所述原始的日志文件。
5.如权利要求4所述的方法,其特征在于,所述非对称加密算法为RSA加密算法,所述基于所述非对称加密算法、所述第二私钥以及所述第一公钥生成第二共享密钥,包括:
创建所述RSA加密算法的接口;
将所述第二私钥作为RSA加密算法接口的第一参数,
将所述第一公钥作为RSA加密算法接口的第二参数;
调用所述RSA加密算法接口,生成密钥,以所述密钥作为所述第二共享密钥。
6.一种日志文件的加密装置,其特征在于,所述装置为客户端,包括:
写入模块,用于将生成的日志内容写入预设文件中形成原始日志文件,其中,所述原始日志文件的名称包括客户端设备ID以及客户端设备类型;
第一判断模块,用于当客户端启动时,判断所述原始日志文件的存储位置是否包含第一公钥,其中,所述第一公钥由所述客户端基于随机函数生成第一私钥后,再基于非对称加密算法生成,并在原始日志文件的存储位置包含第一公钥的情况下执行向服务器发送密钥信息请求的步骤,在原始日志文件的存储位置不包含第一公钥的情况下,基于随机函数生成第一私钥,并基于所述非对称加密算法生成与所述第一私钥配对的第一公钥,将所述第一公钥写入所述原始日志文件的存储位置;
第一发送模块,用于向所述服务器发送密钥信息请求,以使所述服务器基于所述密钥信息请求生成配对的第二私钥和第二公钥,其中,所述第二私钥由所述服务器根据所述客户端设备ID、客户端设备类型生成,所述第二公钥由所述服务器基于所述非对称加密算法和所述第二私钥生成;
接收模块,用于接收所述服务器发送的所述第二公钥;
加密模块,用于根据所述非对称加密算法、所述第一私钥以及所述第二公钥生成第一共享密钥,并基于所述第一共享密钥和预设加密算法对所述原始日志文件加密,生成加密后的日志文件;
第二发送模块,用于将所述加密后的日志文件发送至所述服务器。
7.如权利要求6所述的装置,其特征在于,所述装置还包括第二判断模块,用于在所述向所述服务器发送密钥信息请求前:
判断所述客户端是否存在第二公钥,其中,所述第二公钥由所述服务器根据所述客户端设备ID、客户端设备类型生成第二私钥后,再基于所述非对称加密算法和所述第二私钥生成;
如果存在,则执行根据所述非对称加密算法、所述第一私钥以及所述第二公钥生成第一共享密钥的步骤;
如果不存在,则执行向所述服务器发送密钥信息请求的步骤。
8.一种日志文件的解密装置,其特征在于,所述装置为服务器,包括:
接收模块,用于接收客户端发送的加密后的日志文件,其中,所述加密后的日志文件由所述客户端根据非对称加密算法、第一私钥以及第二公钥生成第一共享密钥后,基于所述第一共享密钥和预设加密算法对原始日志文件进行加密后生成,所述原始日志文件由所述客户端将生成的日志内容写入预设文件中形成,所述原始日志文件的名称包括客户端设备ID以及客户端设备类型,所述第一私钥由客户端基于随机函数生成,所述第二公钥由所述客户端向服务器发送密钥信息请求后,所述服务器根据所述密钥信息请求、所述客户端设备ID、所述客户端设备类型生成第二私钥后,再根据所述非对称加密算法和所述第二私钥生成,所述原始日志文件的存储位置包含第一公钥,其中,所述第一公钥由所述客户端启动时在所述原始日志文件的存储位置已经包含,或者在客户端启动时所述原始日志文件的存储位置不包含的情况下基于所述随机函数生成所述第一私钥后,再基于所述非对称加密算法生成和所述第一私钥后获得后写入所述存储位置;
获得模块,用于根据所述存储位置获得所述第一公钥;
生成模块,用于基于所述非对称加密算法、所述第二私钥以及所述第一公钥生成第二共享密钥;
解密模块,用于基于所述第二共享密钥和预设加密算法对所述加密后的日志进行解密,获得所述原始的日志文件。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1至权利要求3任一项权利要求所述的方法。
10.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至权利要求3任一项权利要求所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810523861.6A CN108833091B (zh) | 2018-05-28 | 2018-05-28 | 一种日志文件的加密方法、解密方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810523861.6A CN108833091B (zh) | 2018-05-28 | 2018-05-28 | 一种日志文件的加密方法、解密方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108833091A CN108833091A (zh) | 2018-11-16 |
CN108833091B true CN108833091B (zh) | 2021-03-12 |
Family
ID=64146313
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810523861.6A Active CN108833091B (zh) | 2018-05-28 | 2018-05-28 | 一种日志文件的加密方法、解密方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108833091B (zh) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109617916A (zh) * | 2019-01-16 | 2019-04-12 | 北京云中融信网络科技有限公司 | 秘钥处理方法及即时通讯系统 |
CN110807200A (zh) * | 2019-10-28 | 2020-02-18 | 福州汇思博信息技术有限公司 | 一种Android设备的log加密方法、系统、设备和介质 |
CN111581053B (zh) * | 2020-04-28 | 2021-07-16 | 广州锦行网络科技有限公司 | Windows平台下基于RSA密钥对的即时日志输出方法及装置 |
CN112187832A (zh) * | 2020-11-03 | 2021-01-05 | 北京指掌易科技有限公司 | 数据传输方法和电子设备 |
CN112559555B (zh) * | 2020-12-31 | 2022-04-08 | 郑州信大捷安信息技术股份有限公司 | 一种安全可靠的数据采集聚合查询方法和系统 |
CN112784300A (zh) * | 2021-01-22 | 2021-05-11 | 重庆秦嵩科技有限公司 | 一种日志多级加密处理系统及方法 |
CN113918968A (zh) * | 2021-09-27 | 2022-01-11 | 山东浪潮通软信息科技有限公司 | 一种文件加密方法及装置 |
CN114679265B (zh) * | 2022-03-22 | 2024-03-01 | 奇安信科技集团股份有限公司 | 流量获取方法、装置、电子设备和存储介质 |
CN115426253B (zh) * | 2022-08-23 | 2024-01-26 | 浪潮软件科技有限公司 | 基于日志文件的web服务器监控方法及系统 |
CN115442164B (zh) * | 2022-11-08 | 2023-02-28 | 北京华云安软件有限公司 | 多用户日志加解密方法、装置、设备及存储介质 |
CN115632879B (zh) * | 2022-12-07 | 2023-04-11 | 富算科技(上海)有限公司 | 日志管理方法、系统、电子设备及存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006237908A (ja) * | 2005-02-24 | 2006-09-07 | Hitachi Software Eng Co Ltd | ファイルの暗号・復号方法、鍵情報抽出方法及び装置 |
CN101141251A (zh) * | 2006-09-08 | 2008-03-12 | 华为技术有限公司 | 通信系统中消息加密签名的方法及系统和设备 |
CN105471657A (zh) * | 2015-12-11 | 2016-04-06 | 航天恒星科技有限公司 | 一种虚拟机域间通信日志管理方法、装置及系统 |
CN106372531A (zh) * | 2016-08-30 | 2017-02-01 | 福建联迪商用设备有限公司 | 一种授权获取终端攻击报警信息日志方法和系统 |
CN107948212A (zh) * | 2018-01-10 | 2018-04-20 | 武汉斗鱼网络科技有限公司 | 一种日志的处理方法及装置 |
CN108055128A (zh) * | 2017-12-18 | 2018-05-18 | 数安时代科技股份有限公司 | Rsa密钥的生成方法、装置、存储介质及计算机设备 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10412062B2 (en) * | 2016-03-31 | 2019-09-10 | SCREEN Holdings Co., Ltd. | Job execution method and job execution device |
-
2018
- 2018-05-28 CN CN201810523861.6A patent/CN108833091B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006237908A (ja) * | 2005-02-24 | 2006-09-07 | Hitachi Software Eng Co Ltd | ファイルの暗号・復号方法、鍵情報抽出方法及び装置 |
CN101141251A (zh) * | 2006-09-08 | 2008-03-12 | 华为技术有限公司 | 通信系统中消息加密签名的方法及系统和设备 |
CN105471657A (zh) * | 2015-12-11 | 2016-04-06 | 航天恒星科技有限公司 | 一种虚拟机域间通信日志管理方法、装置及系统 |
CN106372531A (zh) * | 2016-08-30 | 2017-02-01 | 福建联迪商用设备有限公司 | 一种授权获取终端攻击报警信息日志方法和系统 |
CN108055128A (zh) * | 2017-12-18 | 2018-05-18 | 数安时代科技股份有限公司 | Rsa密钥的生成方法、装置、存储介质及计算机设备 |
CN107948212A (zh) * | 2018-01-10 | 2018-04-20 | 武汉斗鱼网络科技有限公司 | 一种日志的处理方法及装置 |
Non-Patent Citations (1)
Title |
---|
"基于可信计算平台的审计日志安全存储系统";成茂才;《计算机科学》;20160615;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN108833091A (zh) | 2018-11-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108833091B (zh) | 一种日志文件的加密方法、解密方法及装置 | |
CN110661748B (zh) | 一种日志的加密方法、解密方法及装置 | |
CA2980590C (en) | Key export techniques | |
CN108241517B (zh) | 一种软件升级方法、客户端及电子设备 | |
CN106063183B (zh) | 用于云辅助密码学的方法和装置 | |
JP6693948B2 (ja) | データ同期の方法及び装置 | |
CN108197439B (zh) | 一种文件加密方法、装置及服务器 | |
WO2018177394A1 (zh) | 一种安卓so文件的保护方法及装置 | |
CN107733639B (zh) | 密钥管理方法、装置及可读存储介质 | |
CN104462965A (zh) | 应用程序完整性验证方法及网络设备 | |
CN110798315A (zh) | 基于区块链的数据处理方法、装置及终端 | |
CN113032357A (zh) | 文件的存储方法、装置和服务器 | |
US8953786B2 (en) | User input based data encryption | |
CN107066346B (zh) | 一种数据备份方法、数据恢复方法及装置 | |
CN108229192B (zh) | 一种文件解密方法、装置及客户端 | |
CN112202779B (zh) | 基于区块链的信息加密方法、装置、设备及介质 | |
CN111294203A (zh) | 信息传输方法 | |
CN107026730B (zh) | 数据处理方法、装置及系统 | |
CN111427860B (zh) | 分布式存储系统及其数据处理方法 | |
CN112839013A (zh) | 一种密钥传输方法、装置及计算机可读存储介质 | |
CN107682335B (zh) | 数据传输方法、服务端以及计算机可读存储介质 | |
CN111628863B (zh) | 一种数据签名的方法、装置、电子设备及存储介质 | |
CN108256346B (zh) | 关键数据的保护方法、加密保护装置及嵌入式系统装置 | |
CN109905395B (zh) | 一种验证客户端可信的方法及相关装置 | |
CN112995109A (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 | ||
TR01 | Transfer of patent right |
Effective date of registration: 20231212 Address after: 518000, Level 315, 3rd Floor, Skirt Building, Shennan Garden, No. 11 Kexing Road, Gaoxin District, Yuehai Street, Nanshan District, Shenzhen, Guangdong Province Patentee after: Shenzhen Zhenfangbang Real Estate Internet Co.,Ltd. Address before: 430000 East Lake Development Zone, Wuhan City, Hubei Province, No. 1 Software Park East Road 4.1 Phase B1 Building 11 Building Patentee before: WUHAN DOUYU NETWORK TECHNOLOGY Co.,Ltd. |
|
TR01 | Transfer of patent right |