CN106850192A - 一种优化移动设备数据库加密效率的方法 - Google Patents
一种优化移动设备数据库加密效率的方法 Download PDFInfo
- Publication number
- CN106850192A CN106850192A CN201710146518.XA CN201710146518A CN106850192A CN 106850192 A CN106850192 A CN 106850192A CN 201710146518 A CN201710146518 A CN 201710146518A CN 106850192 A CN106850192 A CN 106850192A
- Authority
- CN
- China
- Prior art keywords
- encryption
- database
- mobile device
- data storehouse
- device data
- 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
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0618—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
- H04L9/0631—Substitution permutation network [SPN], i.e. cipher composed of a number of stages or rounds each involving linear and nonlinear transformations, e.g. AES algorithms
-
- 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
-
- 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/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/02—Standardisation; Integration
- H04L41/024—Standardisation; Integration using relational databases for representation of network management data, e.g. managing via structured query language [SQL]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Databases & Information Systems (AREA)
- Storage Device Security (AREA)
Abstract
本发明属于移动设备数据库加密技术领域,具体涉及一种电力行业优化移动设备数据库加密效率的方法,在不改变SQLite数据库原有的轻量的、跨平台的特性和在读写效率、消耗总量、延迟时间的优越性,它还在SQLite的基础之上增加了数据加密功能,在移动设备上使用它来存储数据的话,可以大大提高程序的安全和移动设备上加密数据库效率。包括S101、修改SQLite源代码,追加对数据库进行加密的功能,实现数据库密码访问,形成加密性数据库;S102、将加密性数据库作为DBMS的一个外层工具,将要操作的数据库的密码代入加密性数据库进行加密操作;S103、将进行加密操作后的加密性数据库引入各移动平台中,进行解密操作;S104、进行程序部署。
Description
技术领域
本发明属于移动设备数据库加密技术领域,具体涉及一种电力行业优化移动设备数据库加密效率的方法。
背景技术
电力行业作为我国重要的能量生产行业,其信息系统的安全性更是需要企业甚至政府的重视。电力行业移动设备上的数据安全性不仅关系到企业和人们的经济利益和基本生活,还与国家的安全息息相关,因此,我们需要给机密数据进行加密来保证其安全性。为了保障移动设备上电网数据的安全和提高移动设备上加密数据库的效率,保证电网数据不被丢失或被盗取,开展移动设备数据库加密技术的研究,具有重要的科学意义和应用价值。
发明内容
本发明克服现有技术存在的不足,所要解决的技术问题为:提供一种能够提高程序安全性和优化移动设备数据库加密效率的方法。
本发明提供的一种电网项目移动端机型适配实现方法,包括:
S101 、修改SQLite源代码,追加对数据库进行加密的功能,实现数据库密码访问,形成加密性数据库;
S102 、将加密性数据库作为DBMS的一个外层工具,将要操作的数据库的密码代入加密性数据库进行加密操作;
S103 、将进行加密操作后的加密性数据库引入各移动平台中,进行解密操作;
S104 、进行程序部署。
所述步骤S101中对SQLite源代码的修改是在不改变原生SQLite数据库轻量级、以及跨平台原有属性的基础上进行的。
所述步骤S102中的加密操作包括密匙产生和AES算法加密。
所述密匙产生的流程为:首先获取加密性数据库加密时的时间信息,然后将时间信息转化为一个整数,接着将这个整数作为伪随机函数的种子得到一个伪随机数,再将伪随机数和要操作的数据库的密码异或产生一个最终的算法密匙。
所述步骤S103中解密操作采用AES算法解密。
本发明针对移动设备上数据库加密效率低的问题,提供了一种能够提高程序安全性和优化移动设备数据库加密效率的方法,在不改变SQLite数据库轻量级、以及跨平台原有属性的基础上,追加对数据库进行加密的功能,实现数据库密码访问,形成加密性数据库,同时将加密性数据库作为DBMS的一个外层工具,降低了加密过程对CPU资源的消耗,大大提高了移动设备对数据库进行操作的效率。另外,加密密匙的产生基于数据库在进行加密时的时间信息是唯一且确定的,以此增加了加密密匙的安全性,进而确保了程序的安全性。
附图说明
下面结合附图对本发明做进一步详细的说明;
图1为本发明中密匙产生的流程示意图;
图2为本发明中AES算法加密的流程示意图;
图3为本发明中AES算法解密的流程示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例;基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明提供的本发明提供的一种优化移动设备数据库加密效率的方法,包括:
S101 、修改SQLite源代码,追加对数据库进行加密的功能,实现数据库密码访问,形成加密性数据库;
S102 、将加密性数据库作为DBMS的一个外层工具,将要操作的数据库的密码代入加密性数据库进行加密操作;
S103 、将进行加密操作后的加密性数据库引入各移动平台中,进行解密操作;
S104 、进行程序部署。
所述步骤S101中对SQLite源代码的修改是在不改变原生SQLite数据库轻量级、以及跨平台原有属性的基础上进行的。
所述步骤S102中的加密操作包括密匙产生和AES算法加密。
所述密匙产生的流程为:首先获取加密性数据库加密时的时间信息,然后将时间信息转化为一个整数,接着将这个整数作为伪随机函数的种子得到一个伪随机数,再将伪随机数和要操作的数据库的密码异或产生一个最终的算法密匙。
所述步骤S103中解密操作采用AES算法解密。
数据库加密功能的安全性依赖于密匙,好的密匙不容易被轻易破解,图1展示了本发明中密匙产生的过程,数据库在加密时的时间信息是唯一和确定的,所以可以在每条记录转化时增加时间字段,并对时间进行处理,把时间信息中的年,月,日,小时,分,秒,毫秒信息进行处理得到一个整数型,把这个数作为函数void srand(unsigned int seed)中的伪随机数种子,进而得到一个伪随机数,再把伪随机数和要操作的数据库的密码进行异或处理,结果为算法密匙,以此可以增加密匙的安全性。
数据加密的过程,即是明文与算法密匙进行操作生存密文的过程,密匙产生后利用AES算法进行加密,图2展示了AES算法的加密流程,读进明文、读进密匙后产生轮子密匙,之后进入AES加密,在AES算法的加密流程中除了初始轮和最后一轮加密步骤外,其他加密轮均用SubByte ,ShiftRow ,MixCloumn 和AddRoundKey 四个变换,而初始轮只采用AddRoundKey变换,最后一轮使用SubByte ,ShiftRow 和AddRoundKey变换。
SubByte 字节代替变换 是一个基于S盒的非线性置换,是一个独立作用于状态字节的非线性变换,它用于将输入或中间态的每一个字节通过一个简单的查表操作,将其映射为另一个字节。映射方法是:把输入字节的高4位作为S盒的行值,低四位作为列值,然后取出对应行和列的元素作为输出。
ShiftRow 行位移变换 是AES算法中的线性运算中的一部分。
MixColum 列混合变换 在MixColumn()方法的作用下,把State[]的列看作是域GF(28)上的多项式,并且封一个固定的多项式b(x)做乘法,如果溢位,则再模除x4+1。
AddRoundKey 轮密匙加变换,及用当前的State[]与由密匙扩展生成的相应子密匙进行逐位异或运算即可。
将进行加密操作后的加密性数据库引入各移动平台,当需要使用移动平台操作加密性数据库里的数据时,需要对其进行解密操作,解密操作是加密操作的逆向过程,为了使解密过程具有一些好的运算性质,使解密运算具有与加密运算相同的运算顺序,图3展示了AES算法的解密过程,其中除了AddRoundKey 轮密匙加变换不变,SubByte 字节代替变换,ShiftRow 行位移变换和MixColum 列混合变换都要进行求逆变换,即InvSubByte,InvShifRows 和InvMixColumn。
加密性数据库在移动平台中解密完成后,即可进行程序的部署。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (5)
1.一种优化移动设备数据库加密效率的方法,其特征在于包括:
S101 、修改SQLite源代码,追加对数据库进行加密的功能,实现数据库密码访问,形成加密性数据库;
S102 、将加密性数据库作为DBMS的一个外层工具,将要操作的数据库的密码代入加密性数据库进行加密操作;
S103 、将进行加密操作后的加密性数据库引入各移动平台中,进行解密操作;
S104 、进行程序部署。
2.根据权利要求1所述的优化移动设备数据库加密效率的方法,其特征在于所述步骤S101中对SQLite源代码的修改是在不改变原生SQLite数据库轻量级、以及跨平台原有属性的基础上进行的。
3.根据权利要求1所述的优化移动设备数据库加密效率的方法,其特征在于所述步骤S102中的加密操作包括密匙产生和AES算法加密。
4.根据权利要求3所述的优化移动设备数据库加密效率的方法,其特征在于所述密匙产生的流程为:首先获取加密性数据库加密时的时间信息,然后将时间信息转化为一个整数,接着将这个整数作为伪随机函数的种子得到一个伪随机数,再将伪随机数和要操作的数据库的密码异或产生一个最终的算法密匙。
5.根据权利要求3所述的优化移动设备数据库加密效率的方法,其特征在于所述步骤S103中解密操作采用AES算法解密。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710146518.XA CN106850192A (zh) | 2017-03-13 | 2017-03-13 | 一种优化移动设备数据库加密效率的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710146518.XA CN106850192A (zh) | 2017-03-13 | 2017-03-13 | 一种优化移动设备数据库加密效率的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106850192A true CN106850192A (zh) | 2017-06-13 |
Family
ID=59144204
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710146518.XA Pending CN106850192A (zh) | 2017-03-13 | 2017-03-13 | 一种优化移动设备数据库加密效率的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106850192A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108377183A (zh) * | 2017-12-20 | 2018-08-07 | 中国移动通信集团福建有限公司 | Xdr数据信息加密方法、装置、设备及介质 |
CN111563266A (zh) * | 2020-05-06 | 2020-08-21 | 许继集团有限公司 | 电力系统数据操作程序加密方法及装置、解密方法及装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050071337A1 (en) * | 2003-09-25 | 2005-03-31 | International Business Machines Corporation | Encryption of query execution details in a database management system |
CN101969545A (zh) * | 2010-09-08 | 2011-02-09 | 中兴通讯股份有限公司 | 一种对多媒体文件进行加密的方法及装置 |
CN104679816A (zh) * | 2014-12-17 | 2015-06-03 | 北京可思云海科技有限公司 | 一种嵌入式系统下的sqlite数据库应用方法 |
CN105205376A (zh) * | 2015-09-23 | 2015-12-30 | 南京奇幻通信科技有限公司 | 基于Android系统的指纹登录智能应用程序的方法 |
CN105787387A (zh) * | 2016-03-07 | 2016-07-20 | 南京邮电大学 | 一种数据库加密方法及该加密数据库查询方法 |
-
2017
- 2017-03-13 CN CN201710146518.XA patent/CN106850192A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050071337A1 (en) * | 2003-09-25 | 2005-03-31 | International Business Machines Corporation | Encryption of query execution details in a database management system |
CN101969545A (zh) * | 2010-09-08 | 2011-02-09 | 中兴通讯股份有限公司 | 一种对多媒体文件进行加密的方法及装置 |
CN104679816A (zh) * | 2014-12-17 | 2015-06-03 | 北京可思云海科技有限公司 | 一种嵌入式系统下的sqlite数据库应用方法 |
CN105205376A (zh) * | 2015-09-23 | 2015-12-30 | 南京奇幻通信科技有限公司 | 基于Android系统的指纹登录智能应用程序的方法 |
CN105787387A (zh) * | 2016-03-07 | 2016-07-20 | 南京邮电大学 | 一种数据库加密方法及该加密数据库查询方法 |
Non-Patent Citations (2)
Title |
---|
褚龙现: "SQLite数据库加密的分析与设计", 《电子设计工程》 * |
赵跃华: "基于SQLite数据库加密模块的设计与实现", 《计算机工程与设计》 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108377183A (zh) * | 2017-12-20 | 2018-08-07 | 中国移动通信集团福建有限公司 | Xdr数据信息加密方法、装置、设备及介质 |
CN108377183B (zh) * | 2017-12-20 | 2020-11-13 | 中国移动通信集团福建有限公司 | Xdr数据信息加密方法、装置、设备及介质 |
CN111563266A (zh) * | 2020-05-06 | 2020-08-21 | 许继集团有限公司 | 电力系统数据操作程序加密方法及装置、解密方法及装置 |
CN111563266B (zh) * | 2020-05-06 | 2023-06-02 | 许继集团有限公司 | 电力系统数据操作程序加密方法及装置、解密方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102546181B (zh) | 基于密钥池的云存储加解密方法 | |
CN101984574B (zh) | 一种数据加解密方法及装置 | |
CN102064936B (zh) | 一种数据加解密方法及装置 | |
CN103684794A (zh) | 一种基于des、rsa、sha-1加密算法的通信数据加解密方法 | |
CN103516512A (zh) | 基于aes算法的加解密方法及加解密器 | |
CN102185692A (zh) | 基于aes加密算法的多模式可重构加密方法 | |
CN106533656B (zh) | 一种基于wsn的密钥多层混合加/解密方法 | |
CN104065473A (zh) | Sm4分组密码算法s盒的紧凑实现方法 | |
CN105100085B (zh) | 一种对信息进行加密和解密的方法和装置 | |
CN104158880A (zh) | 一种用户端云数据共享解决方法 | |
CN103916248A (zh) | 一种全同态加密公钥空间压缩方法 | |
CN104396182A (zh) | 加密数据的方法 | |
CN103942500B (zh) | 基于噪声的哈希密文再加密方法及再加密后的解密方法 | |
CN102222188A (zh) | 一种信息系统用户密码的生成方法 | |
CN102456108A (zh) | 一种ibus拼音码表的加密方法 | |
CN102456114A (zh) | 一种二维cad工程图内容可变强度加密方法及其装置 | |
CN103051459A (zh) | 安全卡的交易密钥的管理方法和装置 | |
CN105915345B (zh) | 一种家庭网关设备生产测试中授权生产和改制的实现方法 | |
CN106982116A (zh) | 一种基于可逆逻辑电路的aes的本地文件加密方法 | |
CN106850192A (zh) | 一种优化移动设备数据库加密效率的方法 | |
CN104486756A (zh) | 一种密笺短信的加解密方法及系统 | |
CN108270565A (zh) | 一种数据混合加密方法 | |
CN109033811A (zh) | 用于电子招投标的电子标书多层加解密系统 | |
CN104871476A (zh) | 用于可计算、大型、可变及安全的替换盒的方法及设备 | |
CN110061832B (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 | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20170613 |