CN105704149A - 一种电力移动应用安全防护方法 - Google Patents
一种电力移动应用安全防护方法 Download PDFInfo
- Publication number
- CN105704149A CN105704149A CN201610174111.3A CN201610174111A CN105704149A CN 105704149 A CN105704149 A CN 105704149A CN 201610174111 A CN201610174111 A CN 201610174111A CN 105704149 A CN105704149 A CN 105704149A
- Authority
- CN
- China
- Prior art keywords
- response
- request
- electric power
- power mobile
- module
- 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.)
- Pending
Links
Classifications
-
- 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
-
- 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/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/31—User authentication
- G06F21/33—User authentication using certificates
-
- 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/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/44—Program or device authentication
-
- 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/602—Providing cryptographic facilities or services
-
- 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/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0823—Network architectures or network communication protocols for network security for authentication of entities using certificates
-
- 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/30—Network architectures or network communication protocols for network security for supporting lawful interception, monitoring or retaining of communications or communication related information
-
- 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/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3263—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
- H04L9/3268—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements using certificate validation, registration, distribution or revocation, e.g. certificate revocation list [CRL]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Technology Law (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开了一种电力移动应用安全防护方法,其中电力移动应用包括日志输出模块、数据存储模块、用户输入模块、运行状态模块、业务处理模块和网络通信模块,安全防护方法包括:敏感信息的安全防护:在日志输出模块中屏蔽向控制台输出日志信息,在数据存储模块中对敏感信息进行加密存储;界面的安全防护:用户输入模块中敏感信息输入框采用自定义用户交互输入框;通信的安全防护:在网络通信模块中验证通信协议证书有效性,加密通信中传输的重要信息;和源代码的安全防护:对源代码进行代码混淆处理并对安装包进行加壳保护。本发明通过对存储、运行、通信和源代码多方面实施安全防护,提高了电力移动应用的整体安全性。
Description
技术领域
本发明涉及一种智能电网中电力移动应用信息安全防护的方法,属于电网信息安全防护技术领域。
背景技术
近年来在物联网、云计算等互联网信息技术高速发展的背景下,电力移动应用进入全面建设阶段。目前在现场作业、数据采集、移动办公等各个领域,都在进行移动应用的建设与推广应用,降低了公司的运营成本,提高了员工的工作效率。例如:利用电力移动终端开展现场作业,电力移动终端上运行操作系统如Android、iOS等,操作系统提供内存管理、进程管理、设备驱动和网络协议栈等功能,电力移动应用作为一个安装包应用程序,可安装、运行在操作系统中,电力移动终端上的电力移动应用能够将实时监测到的数据通过网络传递到后台服务器,利用后台资源对数据进行计算分析之后反馈结果到电力移动终端的电力移动应用上,为现场作业提供依据。
移动应用在高速发展的同时,也带来了安全隐患,如果移动应用在设计、开发、部署过程中未采用相应的安全防护策略,黑客利用移动应用的安全漏洞,入侵电力系统给公司和用户造成损失。目前对于电力移动应用的安全防护还处于起步阶段,已有测评工作表明,许多应用存在可被反编译出源代码,通信数据未做加密,组件可被劫持等严重的安全隐患,安全防护水平亟待提升。为保障移动应用安全稳定运行,本发明给出一种电力移动应用安全建设与防护方法,用于指导电力信息系统开发人员开展移动应用安全建设工作。
发明内容
本发明的目的在于克服现有技术中的不足,提供了一种电力移动应用安全防护方法,解决了现有技术中电力移动应用容易被反编译、通信劫持、恶意控制的技术问题。
为解决上述技术问题,本发明提供了一种电力移动应用安全防护方法,其中电力移动应用包括日志输出模块、数据存储模块、用户输入模块、运行状态模块、业务处理模块和网络通信模块,其中日志输出模块用来在控制台输出日志信息,数据存储模块用来将数据存储到电力移动终端存储器中,用户输入模块通过接收用户输入数据实现用户交互,运行状态模块用来监听与更新应用运行过程中的状态信息,业务处理模块用来处理业务逻辑,网络通信模块用来实现与后台服务器之间的数据通信,电力移动应用安全防护方法包括:
1)敏感信息的安全防护
在日志输出模块屏蔽向控制台输出日志信息,在数据存储模块中对敏感信息进行加密存储;
2)界面的安全防护
用户输入模块中敏感信息输入框采用自定义用户交互输入框,在运行状态模块中添加运行状态监听机制并将界面被覆盖信息推送到操作系统的状态通知栏;
3)通信的安全防护
在网络通信模块中加密通信传输通道,验证通信协议证书有效性,加密通信过程中传输的重要信息;
4)源代码的安全防护
对源代码进行代码混淆处理并对安装包进行加壳保护。
进一步的,在所述1)中,对敏感信息进行加密包括加密单元和解密单元,加密单元为将需要向电力移动终端存储的数据进行加密后存储密文,解密单元为从电力移动终端读取需要的密文进行解密后输出明文。
进一步的,在所述2)中,查询用户输入模块中所有调用操作系统默认键盘的输入框,从中过滤出需要输入敏感信息的输入框,在电力移动应用中自定义用户交互输入框,采用自定义用户交互输入框替换原有的需要输入敏感信息的系统默认输入框。
进一步的,在所述2)中,在运行状态模块中添加监听机制,当监听到电力移动应用被操作系统上其他应用覆盖时,则向操作系统的状态通知栏推送消息,显示电力移动应用在操作系统的后台运行。
进一步的,在所述3)中,网络通信模块中通信传输协议采用HTTPS协议,通信时先验证HTTPS协议证书有效性,当验证HTTPS协议证书为不可信时,则调用运行状态模块显示网络环境不安全的提示,同时电力移动应用停止运行。
进一步的,在所述3)中,加密通信中传输的重要信息包括通信加密单元和通信解密单元,通信加密单元为将需要向后台服务器发送的数据进行加密后发送密文,通信解密单元为从后台服务器接收的密文进行解密后输出明文,同时后台服务器也需要实现相应的后台通信解密单元和后台通信加密单元。
进一步的,所述3)中,电力移动应用与后台服务器之间具体加密通信过程为,
步骤s1,电力移动应用端的网络通信模块向后台服务器发送通信请求,请求request包括请求头head和请求体enbody,通信加密单元对业务处理模块生成的请求体body进行AES加密和Base64转码,加密后的请求体密文为enbody,密钥保存在电力移动应用程序代码中;
步骤s2,网络通信模块生成请求头head部分,请求头head包含请求唯一ID号requestID,时间戳timestamp和请求摘要digest,其中requestID为随机生成32位唯一的ID号,timestamp为当前电力移动应用端的时间,digest为requestID、timestamp和body数据内容的MD5值;
步骤s3,网络通信模块合并请求头head和请求体enbody形成请求request,并发送请求request至后台服务器端;
步骤s4,后台服务器端获取请求request,后台通信解密单元对请求体密文enbody进行Base64解码和AES解密,AES的加密密钥和解密密钥相同,密钥在后台服务器中亦有保存,解密后得到请求体明文body;
步骤s5,后台服务器获取后台服务器端的当前时间,判断请求request中timestamp与当前时间相差是否小于60秒,后台服务器计算请求request中的requestID、timestamp和body的MD5值digest’,判断计算出的digest’与请求request中digest是否相等,如果请求request中的时间戳与摘要均满足要求,即时间戳与当前时间相差小于60秒,计算出的digest’与请求request中digest相等,说明验证成功,后台服务器进行步骤s6,否则验证失败,后台服务器不再处理该请求;
步骤s6,后台服务器端根据请求体body中的内容进行请求处理后,生成响应response,响应由响应头head1和响应体enbody1组成,响应体内部包含传递的具体数据,后台通信加密单元对后台服务器端进行请求处理后生成的响应体body1调用AES加密和Base64转码,加密后的响应体密文为enbody1;
步骤s7,后台服务器端生成响应头head1,响应头包含响应唯一ID号responseID,响应时间戳timestamp1和响应摘要digest1,其中responseID与电力移动应用端传递过来请求中的requestID相同,timestamp1为当前后台服务器端的时间,响应摘要digest1为responseID、timestamp1及body1数据内容的MD5值;
步骤s8,后台服务器端合并响应头head1和响应体enbody1生成响应response,并发送响应response至电力移动应用端;
步骤s9,电力移动应用端的网络通信模块获取响应response,对响应体密文enbody1进行Base64解码和AES解密,解密后得到响应体明文body1;
步骤s10,网络通信模块获取电力移动应用端的当前时间,判断响应response中timestamp1与当前时间相差是否小于60秒,计算响应response中responseID、timestamp1和body1的MD5值digest1’,判断计算出的digest1’与响应response中digest1是否相等,如果响应response中的时间戳与摘要均满足要求,即时间戳与当前时间相差小于60秒,计算出的digest1’与响应response中digest1相等,说明验证成功,电力移动应用端的业务逻辑模块进行处理此响应,此次通信过程结束,否则验证失败,网络通信模块放弃此响应。
进一步的,在所述4)中,采用代码混淆工具对源代码进行代码混淆处理。
进一步的,在所述4)中,采用加壳保护工具对安装包进行加壳保护。
与现有技术相比,本发明所达到的有益效果是:本发明通过对电力移动应用的存储、运行、通信和源代码实施防护安全,提供了较为可靠、全面的电力移动应用安全防护方法,避免了电力移动应用容易被反编译、通信劫持、数据伪造等恶意攻击利用的问题,提高了电力移动应用的整体安全性。
附图说明
图1是本发明安全防护方法示意图;
图2是本发明的安全传输流程图。
具体实施方式
下面结合附图对本发明作进一步描述。以下实施例仅用于更加清楚地说明本发明的技术方案,而不能以此来限制本发明的保护范围。
对于新一代电力移动终端来说,先进可靠的智能操作系统成为确保其高效平稳运行的关键环节,目前Android系统是电力移动智能终端的主流选择,Android系统上,一个可以安装、运行的电力移动应用,需要打包成Android系统的APK文件格式。APK是Androidapplicationpackagefile的缩写,简称APK文件,即Android安装包,也可以理解为Android终端上安装的应用软件。电力移动应用采用Android开发工具编译之后变成了二进制的字节码,这些字节码被打包成DEX文件,由Android平台的Dalvik虚拟机来解释执行。
本发明实施例以电力移动终端上运行的Android平台进行电力移动应用的开发,如图1所示,实现电力移动运用与后台服务器进行数据通信。电力移动应用包括日志输出模块、数据存储模块、用户输入模块、运行状态模块、业务处理模块和网络通信模块,其中日志输出模块用来向控制台输出日志信息,数据存储模块用来将数据存储到电力移动终端存储器中,用户输入模块通过接收用户输入数据实现用户交互,运行状态模块用来监听与更新应用运行过程中的状态信息,业务处理模块用来处理业务逻辑,网络通信模块用来实现与后台服务器之间的数据通信,电力移动应用安全防护方法包括:
1)敏感信息的安全防护:在日志输出模块屏蔽向控制台输出日志信息,在数据存储模块中对敏感的隐私信息进行加密存储;
Android系统中Log(日志)通常采用android.util.Log(Android系统中日志类)类中的方法或调用System.out.println(java中输出日志函数)方法向控制台输出日志信息,查询电力移动应用日志输出模块中所有调用了android.util.Log类中的方法和调用System.out.println方法的代码,删除或注释这些代码,防止日志信息中泄露敏感信息,敏感信息如用户密码、用户隐私,服务器的信息等;
电力移动应用进行数据存储操作是必不可少的,电力移动终端的Android操作系统数据存储包括四种存储方式:SQLite数据库、文件系统、ContentProvider(内容提供者)和SharedPreferences(一个轻量级的存储类),查询电力移动应用程序代码中采用以上存储方式的数据存储模块,采用对称加密策略对敏感的隐私信息进行加密存储,包括加密单元和解密单元,加密单元负责将需要向电力移动终端存储的数据进行加密后存储密文,解密单元负责从电力移动终端读取需要的密文进行解密后输出明文,能够实现隐私信息的安全防护;
2)界面的安全防护:用户输入模块的输入框采用自定义用户交互输入框,在运行状态模块中添加运行状态监听机制并将界面被覆盖信息推送到Android操作系统的状态通知栏;
查询用户输入模块中所有调用Android操作系统默认键盘的输入框,从中过滤出需要输入敏感信息的输入框,如登录界面的用户名和密码输入框、修改密码界面的原始密码和修改密码输入框、重置密码界面中重置密码输入框等,电力移动应用中利用Android的Activity组件自定义用户交互输入框,采用自定义用户交互输入框替换原有的需要输入敏感信息的系统默认输入框;
进一步的,在Android平台中可知,Android应用Activity生命周期包括onCreate(启动)、onPause(暂停)、onStop(停止)、onResume(恢复运行)等运行状态,当前Activity被其他应用Activity覆盖时,Android系统会调用执行当前Activity生命周期的OnPause()方法,表示此应用在Android系统的后台运行,因此在电力移动应用中添加监听机制,即可在OnPause()方法中判断此电力移动应用是否在后台运行,如果电力移动应用在后台运行使用android.app.NotificationManager类(状态通知栏管理类)相关方法向Android平台的状态通知栏推送消息,显示电力移动应用在操作系统的后台运行,能够实现当界面被挟持时的安全提示;
3)通信的安全防护:在网络通信模块中加密通信传输通道,验证通信协议证书有效性,加密通信过程中传输的重要信息;
网络通信模块用来建立与后台服务器之间的数据通信,网络通信模块中包括采用安全的通信协议、验证证书有效性,电力移动应用的通信传输协议采用HTTPS(HyperTextTransferProtocoloverSecureSocketLayer)协议,HTTPS协议是一种基于SSL/TLS的HTTP协议,在HTTP协议的基础上添加了SSL/TLS数据加密传输,即采用Android平台中javax.net.ssl.HttpsURLConnection类的相关方法进行网络通信,实现HTTPS通信,通信信道上是密文传播,能有效防止通信被劫持、窃听或篡改;并且在通信传输中验证HTTPS协议证书有效性,将证书保存在apk中,HTTPS通信时检查后台服务端传输的证书与apk中是否一致,当验证HTTPS协议证书为不可信时,则调用运行状态模块显示网络环境不安全的提示,同时电力移动应用停止运行;
进一步的,对通信中传输的重要信息进行加密传输,包括通信加密单元和通信解密单元,通信加密单元为将需要向后台服务器发送的数据进行加密后发送密文,通信解密单元为从后台服务器接收的密文进行解密后输出明文,同时后台服务器中也需要实现相应的后台通信解密单元和后台通信加密单元,能够实现通信信道的安全防护,具体处理流程如图2所示:
步骤s1,电力移动应用端的网络通信模块向后台服务器发送通信请求,请求包括请求头和请求体,通信加密单元对请求体进行AES加密和Base64转码;
请求request由请求头head和请求体enbody组成,请求头包含请求唯一ID号requestID,时间戳timestamp和请求摘要digest,请求体内部包含传递的具体数据。移动应用端和后台服务器直接使用XML格式进行数据传输,假设需要传递的参数为:user=admin&password=123456&code=abcd,建立请求体body格式如下:
通信加密单元使用AES加密算法对body进行加密,使用Base64做转码,转换为Base64字符串,AES加解密算法中加上Base64做转码是现有技术中常用的加解密算法,密钥为:9a90cee5c4c54d21bfc66c1950d5170f,密钥保存在电力移动应用程序代码中,AES是对称加密算法,解密密钥与加密密钥相同,加密之后的请求体密文enbody为:
步骤s2,网络通信模块生成请求的请求头head部分,包含请求ID号requestID,时间戳timestamp和请求摘要digest,使用java.util.UUID类随机生成唯一的requestID,通过java.util.Date类获取当前时间,并通过java.text.SimpleDateFormat类将当前时间格式化为yyyyMMddHHmmss的形式,请求内的数据格式如下,
对以上数据进行MD5算法生成请求摘要digest,生成摘要之后,请求ID号requestID,时间戳timestamp和请求摘要digest组合成的请求头head为:
步骤s3,网络通信模块合并以上生成的head和enbody形成的请求request为:
并发送request至后台服务器;
步骤s4,后台服务器端获取电力移动应用端网络通信模块发来的请求request,后台通信解密单元对加密的请求体密文enbody先进行Base64解码再进行AES解密,AES是对称加密算法,解密密钥与加密密钥相同,解密密钥保存在后台服务器端,解密后得到明文body;
步骤s5,后台服务器获取后台服务器端的当前时间,判断请求request中timestamp与当前时间相差是否小于60秒,后台服务器计算请求request中的requestID、timestamp和body的MD5值digest’,判断计算出的digest’与请求request中digest是否相等,如果请求request中的时间戳与摘要均满足要求,即时间戳与当前时间相差小于60秒,计算出的digest’与请求request中digest相等,说明验证成功,后台服务器进行步骤s6,否则验证失败,如果request中timestamp与当前时间相差大于60秒,说明可能存在重放攻击,digest’与digest不相等,说明数据被篡改,后台服务器不再处理该请求;
步骤s6,后台服务器根据body中的内容进行相应的业务逻辑处理,之后生成响应response,响应response由响应头head1和响应体密文enbody1组成,响应体body1为后台服务器进行请求处理后生成的结果,响应体body1内部包含传递的具体数据如下:
后台通信加密单元使用AES加密算法对响应体进行加密,再进行Base64转码,加密后的响应体密文enbody1为:
步骤s7,后台服务器端生成响应的head1部分,响应头包含响应ID号responseID、时间戳和结果result,响应ID号与电力移动应用端传递过来的requestID相同,时间戳为通过获取后台服务器的当前时间并通过java.text.SimpleDateFormat类将当前时间格式化为yyyyMMddHHmmss的形式,响应的数据内容如下,
对以上数据采用MD5算法生成相应摘要digest1,生成摘要之后,合并响应ID号、时间戳和相应摘要digest1生成的head1为:
步骤s8,后台服务器端合并head1和enbody1生成如下的响应response:
后台服务器发送response至电力移动应用端;
步骤s9,电力移动应用端网络通信模块获取后台服务器发送来的响应response,通信解密单元对响应体密文enbody1进行Base64解码、AES解密,得到响应体明文body1;
步骤s10,电力移动应用端网络通信模块获取当前时间,判断响应的timestamp1与当前时间相差是否小于60秒,电力移动应用端计算响应response中的responseID、timestamp1和body1的MD5值digest1’,判断计算结果digest1’值与响应response中的digest1是否相等,如果响应的时间戳与摘要都验证通过,即响应中的时间戳与当前时间相差小于60秒,计算出的digest1’与响应response中digest1相等,说明验证成功,电力移动应用将解密后的body1提交至业务逻辑模块进行相应操作,完整的一次通信过程结束,否则验证失败,如果response中timestamp1与当前时间相差大于60秒,说明可能存在重放攻击,digest1’与digest1不相等,说明数据被篡改,则网络通信模块不再处理该响应;
4)源代码的安全防护:对源代码进行代码混淆处理并对安装包进行加壳保护。
为了避免电力移动应用源代码被反编译,需要对源代码进行代码混淆处理,代码混淆就是对应用的源代码进行重新组织和处理,例如改变程序的数据流和控制流,使得处理后的代码与处理前代码完成相同的功能,而混淆后的代码很难被反编译,即使反编译成功也很难理解程序的真正语义;采用代码混淆工具对源代码进行混淆处理,生成apk安装文件,能够避免电力移动应用被反编译,代码混淆工具可以为第三方的java代码混淆工具,如JavaGuard,也可以利用Google提供的proguard开发自定义的代码混淆工具;
进一步的,为了避免电力移动应用源代码被反编译,还需要对安装包进行加壳保护,以保护密钥的安全,加壳保护就是在电力移动应用的外面再包裹上另外一段壳程序,保护电力移动应用的代码不被非法篡改或反编译,在电力移动应用运行的时候壳程序优先启动,取得控制权然后完成保护任务;可以采用加壳保护工具对安装包进行加壳保护,生成新的apk安装文件,加壳保护工具可以为第三方的Android加壳保护工具,如apkprotect加壳工具,也可以开发自定义的加壳保护工具。
本发明通过对电力移动应用的存储、运行、通信和源代码实施防护安全,提供了较为可靠、全面的电力移动应用安全防护方法,避免了电力移动应用遭受信息泄露、反编译、通信劫持、数据伪造等恶意攻击利用的问题,提高了电力移动应用的整体安全性。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。
Claims (9)
1.一种电力移动应用安全防护方法,其中电力移动应用包括日志输出模块、数据存储模块、用户输入模块、运行状态模块、业务处理模块和网络通信模块,其中日志输出模块用来在控制台输出日志信息,数据存储模块用来将数据存储到电力移动终端存储器中,用户输入模块通过接收用户输入数据实现用户交互,运行状态模块用来监听与更新应用运行过程中的状态信息,业务处理模块用来处理业务逻辑,网络通信模块用来实现与后台服务器之间的数据通信,电力移动应用安全防护方法包括:
1)敏感信息的安全防护
在日志输出模块屏蔽向控制台输出日志信息,在数据存储模块中对敏感信息进行加密存储;
2)界面的安全防护
用户输入模块中敏感信息输入框采用自定义用户交互输入框,在运行状态模块中添加运行状态监听机制并将界面被覆盖信息推送到操作系统的状态通知栏;
3)通信的安全防护
在网络通信模块中加密通信传输通道,验证通信协议证书有效性,加密通信过程中传输的重要信息;
4)源代码的安全防护
对源代码进行代码混淆处理并对安装包进行加壳保护。
2.根据权利要求1所述的一种电力移动应用安全防护方法,其特征是,在所述1)中,对敏感信息进行加密包括加密单元和解密单元,加密单元为将需要向电力移动终端存储的数据进行加密后存储密文,解密单元为从电力移动终端读取需要的密文进行解密后输出明文。
3.根据权利要求1所述的一种电力移动应用安全防护方法,其特征是,在所述2)中,查询用户输入模块中所有调用操作系统默认键盘的输入框,从中过滤出需要输入敏感信息的输入框,在电力移动应用中自定义用户交互输入框,采用自定义用户交互输入框替换原有的需要输入敏感信息的输入框。
4.根据权利要求3所述的一种电力移动应用安全防护方法,其特征是,在所述2)中,在运行状态模块中添加监听机制,当监听到电力移动应用被操作系统上其他应用覆盖时,则向操作系统的状态通知栏推送消息,显示电力移动应用在操作系统的后台运行。
5.根据权利要求1所述的一种电力移动应用安全防护方法,其特征是,在所述3)中,网络通信模块中通信传输协议采用HTTPS协议,通信时先验证HTTPS协议证书有效性,当验证HTTPS协议证书为不可信时,则调用运行状态模块显示网络环境不安全的提示,同时电力移动应用停止运行。
6.根据权利要求5所述的一种电力移动应用安全防护方法,其特征是,在所述3)中,加密通信中传输的重要信息包括通信加密单元和通信解密单元,通信加密单元为将需要向后台服务器发送的数据进行加密后发送密文,通信解密单元为从后台服务器接收的密文进行解密后输出明文,同时后台服务器中添加相应的通信解密单元和通信加密单元。
7.根据权利要求6所述的一种电力移动应用安全防护方法,其特征是,在所述3)中,电力移动应用与后台服务器之间具体加密通信过程为,
步骤s1,电力移动应用端的网络通信模块向后台服务器发送通信请求,请求request包括请求头head和请求体enbody,通信加密单元对业务处理模块生成的请求体body进行AES加密和Base64转码,加密后的请求体密文为enbody,密钥保存在电力移动应用程序代码中;
步骤s2,网络通信模块生成请求头head部分,请求头head包含请求唯一ID号requestID,时间戳timestamp和请求摘要digest,其中requestID为随机生成32位唯一的ID号,timestamp为当前电力移动应用端的时间,digest为requestID、timestamp和body数据内容的MD5值;
步骤s3,网络通信模块合并请求头head和请求体enbody形成请求request,并发送请求request至后台服务器端;
步骤s4,后台服务器端获取请求request,后台通信解密单元对请求体密文enbody进行Base64解码和AES解密,AES的加密密钥和解密密钥相同,密钥在后台服务器中亦有保存,解密后得到请求体明文body;
步骤s5,后台服务器获取后台服务器端的当前时间,判断请求request中timestamp与当前时间相差是否小于60秒,后台服务器计算请求request中的requestID、timestamp和body的MD5值digest’,判断计算出的digest’与请求request中digest是否相等,如果请求request中的时间戳与摘要均满足要求,即时间戳与当前时间相差小于60秒,计算出的digest’与请求request中digest相等,说明验证成功,后台服务器进行步骤s6,否则验证失败,后台服务器不再处理该请求;
步骤s6,后台服务器端根据请求体body中的内容进行请求处理后,生成响应response,响应由响应头head1和响应体enbody1组成,响应体内部包含传递的具体数据,后台通信加密单元对后台服务器端进行请求处理后生成的响应体body1调用AES加密和Base64转码,加密后的响应体密文为enbody1;
步骤s7,后台服务器端生成响应头head1,响应头包含响应唯一ID号responseID,响应时间戳timestamp1和响应摘要digest1,其中responseID与电力移动应用端传递过来请求中的requestID相同,timestamp1为当前后台服务器端的时间,响应摘要digest1为responseID、timestamp1及body1数据内容的MD5值;
步骤s8,后台服务器端合并响应头head1和响应体enbody1生成响应response,并发送响应response至电力移动应用端;
步骤s9,电力移动应用端的网络通信模块获取响应response,对响应体密文enbody1进行Base64解码和AES解密,解密后得到响应体明文body1;
步骤s10,网络通信模块获取电力移动应用端的当前时间,判断响应response中timestamp1与当前时间相差是否小于60秒,计算响应response中responseID、timestamp1和body1的MD5值digest1’,判断计算出的digest1’与响应response中digest1是否相等,如果响应response中的时间戳与摘要均满足要求,即时间戳与当前时间相差小于60秒,计算出的digest1’与响应response中digest1相等,说明验证成功,电力移动应用端的业务逻辑模块进行处理此响应,此次通信过程结束,否则验证失败,网络通信模块放弃此响应。
8.根据权利要求1所述的一种电力移动应用安全防护方法,其特征是,在所述4)中,采用代码混淆工具对源代码进行代码混淆处理。
9.根据权利要求8所述的一种电力移动应用安全防护方法,其特征是,在所述4)中,采用加壳保护工具对安装包进行加壳保护。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610174111.3A CN105704149A (zh) | 2016-03-24 | 2016-03-24 | 一种电力移动应用安全防护方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610174111.3A CN105704149A (zh) | 2016-03-24 | 2016-03-24 | 一种电力移动应用安全防护方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105704149A true CN105704149A (zh) | 2016-06-22 |
Family
ID=56232732
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610174111.3A Pending CN105704149A (zh) | 2016-03-24 | 2016-03-24 | 一种电力移动应用安全防护方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105704149A (zh) |
Cited By (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106330432A (zh) * | 2016-08-31 | 2017-01-11 | 北京盛世光明软件股份有限公司 | 一种基于des加密算法的加密方法 |
CN106570354A (zh) * | 2016-10-18 | 2017-04-19 | 国家电网公司 | 移动应用的重构方法和装置、运行方法和装置 |
CN108011889A (zh) * | 2017-12-15 | 2018-05-08 | 四川长虹电器股份有限公司 | http请求中body内容整体加密传输方法 |
CN109150821A (zh) * | 2018-06-01 | 2019-01-04 | 成都通甲优博科技有限责任公司 | 基于超文本传输协议http的数据交互方法及系统 |
CN109286628A (zh) * | 2018-10-10 | 2019-01-29 | 全球能源互联网研究院有限公司 | 数据安全传输方法、系统、电子设备及存储介质 |
CN109543407A (zh) * | 2018-10-19 | 2019-03-29 | 北京奇虎科技有限公司 | 一种Activity劫持的拦截方法及装置 |
CN109586924A (zh) * | 2019-01-02 | 2019-04-05 | 大连理工大学 | 一种基于云计算的智能配电网数据安全传输方法 |
CN109858241A (zh) * | 2017-11-22 | 2019-06-07 | 浙江智贝信息科技有限公司 | 一种单设备代码安全执行和交互方法及其交互系统 |
CN109861945A (zh) * | 2017-11-22 | 2019-06-07 | 浙江智贝信息科技有限公司 | 一种分布式代码运行及交互安全方法及其系统 |
CN109936450A (zh) * | 2017-12-15 | 2019-06-25 | 国网冀北电力有限公司 | 面向调控运行数据的实时感知混合加解密方法及装置 |
CN110611659A (zh) * | 2019-08-21 | 2019-12-24 | 南瑞集团有限公司 | 一种电力监控系统业务本质保护方法、装置及系统 |
CN110838759A (zh) * | 2019-11-19 | 2020-02-25 | 国网冀北电力有限公司秦皇岛供电公司 | 配变终端的管理方法及系统 |
CN111095323A (zh) * | 2017-08-09 | 2020-05-01 | 森斯通株式会社 | 基于虚拟代码的控制系统、方法及程序、控制装置及控制信号生成手段 |
CN113132363A (zh) * | 2021-04-02 | 2021-07-16 | 上海万物新生环保科技集团有限公司 | 一种前后端安全验证方法及设备 |
CN113315761A (zh) * | 2021-05-13 | 2021-08-27 | 中国经济信息社有限公司 | 客户端和服务端数据传输方法和装置 |
CN113392426A (zh) * | 2020-03-11 | 2021-09-14 | Abb瑞士股份有限公司 | 用于增强工业系统或电功率系统的数据隐私的方法及系统 |
CN115103055A (zh) * | 2022-06-17 | 2022-09-23 | 度小满科技(北京)有限公司 | 丢失处理方法、装置、移动终端及可读存储介质 |
CN116366231A (zh) * | 2023-02-22 | 2023-06-30 | 北京麦克斯泰科技有限公司 | 一种基于加密混淆保护网站资源的反爬虫方法及系统 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102024126A (zh) * | 2009-09-18 | 2011-04-20 | 上海艾融信息科技有限公司 | 一种信息加密方法和装置 |
CN102542698A (zh) * | 2011-12-27 | 2012-07-04 | 浙江省电力公司 | 一种电力移动缴费终端安全防护方法 |
CN102790807A (zh) * | 2011-05-16 | 2012-11-21 | 奇智软件(北京)有限公司 | 域名解析代理方法和系统、域名解析代理服务器 |
CN103268447A (zh) * | 2013-05-10 | 2013-08-28 | 广东欧珀移动通信有限公司 | 一种防钓鱼方法及系统 |
CN104184735A (zh) * | 2014-08-26 | 2014-12-03 | 国家电网公司 | 电力营销移动应用安全防护系统 |
CN104392181A (zh) * | 2014-11-18 | 2015-03-04 | 北京奇虎科技有限公司 | So文件的保护方法、装置及安卓安装包的加固方法和系统 |
-
2016
- 2016-03-24 CN CN201610174111.3A patent/CN105704149A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102024126A (zh) * | 2009-09-18 | 2011-04-20 | 上海艾融信息科技有限公司 | 一种信息加密方法和装置 |
CN102790807A (zh) * | 2011-05-16 | 2012-11-21 | 奇智软件(北京)有限公司 | 域名解析代理方法和系统、域名解析代理服务器 |
CN102542698A (zh) * | 2011-12-27 | 2012-07-04 | 浙江省电力公司 | 一种电力移动缴费终端安全防护方法 |
CN103268447A (zh) * | 2013-05-10 | 2013-08-28 | 广东欧珀移动通信有限公司 | 一种防钓鱼方法及系统 |
CN104184735A (zh) * | 2014-08-26 | 2014-12-03 | 国家电网公司 | 电力营销移动应用安全防护系统 |
CN104392181A (zh) * | 2014-11-18 | 2015-03-04 | 北京奇虎科技有限公司 | So文件的保护方法、装置及安卓安装包的加固方法和系统 |
Non-Patent Citations (1)
Title |
---|
杨懿等: "电力移动应用中的信息安全防护研究", 《科技传播》 * |
Cited By (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106330432A (zh) * | 2016-08-31 | 2017-01-11 | 北京盛世光明软件股份有限公司 | 一种基于des加密算法的加密方法 |
CN106570354A (zh) * | 2016-10-18 | 2017-04-19 | 国家电网公司 | 移动应用的重构方法和装置、运行方法和装置 |
CN111095323A (zh) * | 2017-08-09 | 2020-05-01 | 森斯通株式会社 | 基于虚拟代码的控制系统、方法及程序、控制装置及控制信号生成手段 |
CN111095323B (zh) * | 2017-08-09 | 2024-05-10 | 森斯通株式会社 | 基于虚拟代码的控制系统、方法及程序、控制装置及控制信号生成手段 |
CN109858241A (zh) * | 2017-11-22 | 2019-06-07 | 浙江智贝信息科技有限公司 | 一种单设备代码安全执行和交互方法及其交互系统 |
CN109858241B (zh) * | 2017-11-22 | 2021-12-17 | 浙江智贝信息科技有限公司 | 一种单设备代码安全执行和交互方法及其交互系统 |
CN109861945A (zh) * | 2017-11-22 | 2019-06-07 | 浙江智贝信息科技有限公司 | 一种分布式代码运行及交互安全方法及其系统 |
CN109936450A (zh) * | 2017-12-15 | 2019-06-25 | 国网冀北电力有限公司 | 面向调控运行数据的实时感知混合加解密方法及装置 |
CN108011889A (zh) * | 2017-12-15 | 2018-05-08 | 四川长虹电器股份有限公司 | http请求中body内容整体加密传输方法 |
CN109150821A (zh) * | 2018-06-01 | 2019-01-04 | 成都通甲优博科技有限责任公司 | 基于超文本传输协议http的数据交互方法及系统 |
CN109286628A (zh) * | 2018-10-10 | 2019-01-29 | 全球能源互联网研究院有限公司 | 数据安全传输方法、系统、电子设备及存储介质 |
CN109543407A (zh) * | 2018-10-19 | 2019-03-29 | 北京奇虎科技有限公司 | 一种Activity劫持的拦截方法及装置 |
CN109543407B (zh) * | 2018-10-19 | 2024-04-05 | 三六零科技集团有限公司 | 一种Activity劫持的拦截方法及装置 |
CN109586924A (zh) * | 2019-01-02 | 2019-04-05 | 大连理工大学 | 一种基于云计算的智能配电网数据安全传输方法 |
CN110611659B (zh) * | 2019-08-21 | 2022-08-09 | 南瑞集团有限公司 | 一种电力监控系统业务本质保护方法、装置及系统 |
CN110611659A (zh) * | 2019-08-21 | 2019-12-24 | 南瑞集团有限公司 | 一种电力监控系统业务本质保护方法、装置及系统 |
CN110838759A (zh) * | 2019-11-19 | 2020-02-25 | 国网冀北电力有限公司秦皇岛供电公司 | 配变终端的管理方法及系统 |
CN113392426A (zh) * | 2020-03-11 | 2021-09-14 | Abb瑞士股份有限公司 | 用于增强工业系统或电功率系统的数据隐私的方法及系统 |
CN113132363A (zh) * | 2021-04-02 | 2021-07-16 | 上海万物新生环保科技集团有限公司 | 一种前后端安全验证方法及设备 |
CN113132363B (zh) * | 2021-04-02 | 2022-12-27 | 上海万物新生环保科技集团有限公司 | 一种前后端安全验证方法及设备 |
CN113315761A (zh) * | 2021-05-13 | 2021-08-27 | 中国经济信息社有限公司 | 客户端和服务端数据传输方法和装置 |
CN113315761B (zh) * | 2021-05-13 | 2023-01-31 | 中国经济信息社有限公司 | 客户端和服务端数据传输方法和装置 |
CN115103055A (zh) * | 2022-06-17 | 2022-09-23 | 度小满科技(北京)有限公司 | 丢失处理方法、装置、移动终端及可读存储介质 |
CN115103055B (zh) * | 2022-06-17 | 2023-10-03 | 度小满科技(北京)有限公司 | 丢失处理方法、装置、移动终端及可读存储介质 |
CN116366231A (zh) * | 2023-02-22 | 2023-06-30 | 北京麦克斯泰科技有限公司 | 一种基于加密混淆保护网站资源的反爬虫方法及系统 |
CN116366231B (zh) * | 2023-02-22 | 2023-11-24 | 北京麦克斯泰科技有限公司 | 一种基于加密混淆保护网站资源的反爬虫方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105704149A (zh) | 一种电力移动应用安全防护方法 | |
CN109361668B (zh) | 一种数据可信传输方法 | |
CN110572804B (zh) | 蓝牙通信认证请求、接收及通信方法、移动端、设备端 | |
JP6188785B2 (ja) | デコイ暗号鍵を使用したネットワーク侵入検知 | |
CN104579679B (zh) | 用于农配网通信设备的无线公网数据转发方法 | |
CN106357690B (zh) | 一种数据传输方法、数据发送装置及数据接收装置 | |
Liu et al. | Smart solution, poor protection: An empirical study of security and privacy issues in developing and deploying smart home devices | |
CN113438086A (zh) | 一种数据安全防护方法和系统 | |
CN104967612A (zh) | 一种数据加密存储方法、服务器及系统 | |
CN108900540B (zh) | 一种基于双重加密的配电终端的业务数据处理方法 | |
CN104199657A (zh) | 开放平台的调用方法及装置 | |
CN103441983A (zh) | 基于链路层发现协议的信息保护方法和装置 | |
CN113572743A (zh) | 数据加密、解密方法、装置、计算机设备和存储介质 | |
CN111435390A (zh) | 一种配电终端运维工具安全防护方法 | |
Lee et al. | Return of version downgrade attack in the era of TLS 1.3 | |
CN113591109B (zh) | 可信执行环境与云端通信的方法及系统 | |
CN110069241B (zh) | 伪随机数的获取方法、装置、客户端设备和服务器 | |
Katulić et al. | Protecting Modbus/TCP-Based Industrial Automation and Control Systems Using Message Authentication Codes | |
CN112865965B (zh) | 一种基于量子密钥的列车业务数据处理方法及系统 | |
CN105933117A (zh) | 一种基于tpm秘钥安全存储的数据加解密装置和方法 | |
Benoit et al. | Mobile terminal security | |
KR101329789B1 (ko) | 모바일 디바이스의 데이터베이스 암호화 방법 | |
CN115935379A (zh) | 业务处理方法、装置、设备及计算机可读存储介质 | |
CN110933028B (zh) | 报文传输方法、装置、网络设备及存储介质 | |
CN113474777A (zh) | 服务信任状态 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20160622 |