部分航空物探项目是带有一定密级的,其项目所取得的成果资料属于保密数据,这部分数据也存储在本系统的数据库中。因此,需防止保密数据被窃走或蓄意破坏,如越权提取数据库保密数据或在通信线路上进行窃听等。对这样的威胁最有效的解决方法就是对数据进行加密处理,把可读的保密数据转化为密码数据,以加密格式存储和传输,在使用时再解密。
航空物探保密项目的密级分机密、秘密、绝密3个密级。本系统仅对保密项目数据进行加密处理,机密和秘密项目资料采用64位密钥进行加密,绝密项目资料采用128位密钥进行加密,非保密项目数据不做任何加密处理。进入资料采集库中的数据通过正确性检查后,归档入库进入资料库时,系统根据设置的项目密级进行自动加密。用户也可以通过加密-解密功能对资料库中的数据进行加密或解密。相同类型的加密数据与未加密数据均存储在资料库同一张表的同一字段中,但在数据加密-解密记录表数据库(表3-8)中,记录了加密数据库表代码和字段代码。当用户获得授权访问保密数据时,系统根据该表中的记录自动对数据进行解密。
表3-8 数据加密-解密记录表数据库结构
一、数据加密与解密
根据密钥类型不同将现代密码技术分为两类:对称加密算法(秘密钥匙加密)和非对称加密算法(公开密钥加密)。对称钥匙加密系统是加密和解密均采用同一把秘密钥匙,而且通信双方都必须获得这把钥匙,并保持钥匙的秘密。非对称密钥加密系统采用的加密钥匙(公钥)和解密钥匙(私钥)是不同的。
对称加密算法用来对敏感数据等信息进行加密,常用的算法包括:DES(Data En-cryption Standard),数据加密标准,速度较快,适用于加密大量数据的场合;3DES(Triple DES),是基于DES,对一块数据用三个不同的密钥进行三次加密,强度更高;AES(Advanced Encryption Standard),高级加密标准,速度快,安全级别高。常见的非对称加密算法有:RSA,由RSA公司发明,是一个支持变长密钥的公共密钥算法,需要加密的文件快的长度也是可变的;DSA(Digital Signature Algorithm),数字签名算法,是一种标准的DSS(数字签名标准)。
本系统采用AES和DES加密算法对数据库数据进行加算或解密(图3-4)。
图3-4 数据库数据加密-解密过程
AES加密算法是美国国家标准和技术协会(NIST)2000年10月宣布通过从15种候选加密算法中选出的一项新的密钥加密标准,于2002年5月26日制定了新的高级加密标准(AES)规范。
AES算法基于排列(对数据重新进行安排)和置换(将一个数据单元替换为另一个)运算,采用几种不同的方法来执行排列和置换运算。它是一个迭代的、对称密钥分组的密码,可以使用128、192和256位密钥,并且用128位(16字节)分组加密和解密,数据通过分组密码返回的加密数据的位数与输入数据相同。迭代加密使用一个循环结构,在该循环中重复置换和替换输入数据。
DES算法把64位的明文输入块变为64位的密文输出块,它所使用的密钥也是64位。首先,DES把输入的64位数据块按位重新组合,并把输出分为L0、R0两部分,每部分各长32位,并进行前后置换(输入的第58位换到第一位,第50位换到第2位,依此类推,最后一位是原来的第7位),最终由L0输出左32位,R0输出右32位。根据这个法则经过16次迭代运算后,得到L16、R16,将此作为输入,进行与初始置换相反的逆置换,即得到密文输出。
二、日志跟踪
为了有效地监控航空物探保密数据的访问,确保保密数据安全,本系统针对保密数据开发了保密数据访问日志跟踪功能。该功能类似于“摄像机”,把访问数据库中保密数据的时间、用户、IP地址等信息记录在数据库的日志库表中,以备侦查。
首先,对保密数据进行日志跟踪定义,即对用户的哪些 *** 作进行跟踪。系统提供了对用户的查询、新增、修改、删除4种 *** 作进行跟踪功能,可以根据需要进行选择其一或多个(图3-5)。
日志跟踪定义生效后,系统自动对用户实施跟踪,并记录用户登录名、登录和退出时间(年/月/日,时/分/秒)、登录计算机的IP地址,用户对数据库数据所进行的查询、新增、修改、删除 *** 作。系统还提供了跟踪日志记录查询、打印、导出Excel表格文件等功能,便于数据库管理人员使用。
图3-5 数据库日志跟踪设置
三、数据提取安全机制
数据提取是航空物探信息系统向地质、地球物理等领域的科研人员提供数据服务的重要内容之一。防止越权提取数据,保证数据安全,是本系统提供优质、高效服务的前提。
越权提取数据是两个方面的问题。一是用户在没有获得授权情况窃取数据,此问题属系统使用安全。二是获得授权的用户擅自扩大提取数据的范围,“顺手牵羊”多提取数据。针对该问题,本系统采用以下机制(图3-6)。
图3-6 数据库数据提取安全机制模型
首先由用户(需要数据的单位或个人)提出使用数据申请,填写使用数据审批表。该表包含申请号、申请人、使用数据的范围(经纬度坐标)、审批人、审批日期、使用数据目的等信息。
用户申请获批准后,与中心签订资料使用保密协议。系统管理员授予用户“数据提取权”,根据批准的申请设置提取数据的范围,和数据提取权的有效期限。
在有效期限内,用户可以提取设定范围内的数据。同时,系统自动在数据提取记录表中记录用户数据提取日志(记录提取数据的范围、数据测量比例尺、数据来源的库表、数据提取人和提取日期等),以备查系统数据安全。
ecdhe-rsa-aes256-gcm-sha384 openssl支持么
1、postgresql启动。
service postgresql start1
2、进入postgresql配置
sudo -u postgres psql
alter user postgres with password 'admin';12
注意1:’admin’ 这个是密码。
注意2:分号!!!! 一定要带上分号”;”。
注意3:\q:退出数据库
3、修改linux系统的postgres用户的密码(密码与数据库用户postgres的密码相同)
root@kali:~# sudo passwd -d postgres
passwd:密码过期信息已更改。
root@kali:~# sudo -u postgres passwd
输入新的 UNIX 密码:
重新输入新的 UNIX 密码:
passwd:已成功更新密码123456
4、修改PostgresSQL数据库配置实现远程访问
root@kali:~# vi /etc/postgresql/94/main/postgresqlconf1
更改#listen_addresses = 'localhost'为listen_addresses = ''
更改#password_encryption = on为password_encryption = on
root@kali:~# vi /etc/postgresql/94/main/pg_hbaconf1
在文档末尾加上以下内容
# to allow your client visiting postgresql server
host all all 0000/32 md512
root@kali:~# service postgresql restart 1
注意1:”#”号,一定要把”#”删除掉。
注意2:在vi编辑模式下点击键盘字母a是进入编辑模式,编辑完成后点击“esc”退出编辑模式然后在最下方输入”:wq”保存并退出。
5、管理PostgreSQL用户和数据库
root@kali:~# psql -U postgres -h 127001
用户 postgres 的口令:
psql (946)
SSL连接 (协议: TLSv12, 加密:ECDHE-RSA-AES256-GCM-SHA384,二进制位: 256, 压缩比: 关闭)
输入 "help" 来获取帮助信息
postgres=# create user msf with password 'admin' nocreatedb;
CREATE ROLE
postgres=# create database msf with owner=msf;
CREATE DATABASE
postgres=# \q123456789101112
注意1:还是要注意分号!!!没有分号命令就无法执行。
注意2:注意复制的时候”“符号问题。
注意3:user后面是用户名,password后面是用户名对应的密码。
注意4:命令执行后有返回结果才是执行成功了。
6、msf配置连接
root@kali:~# msfconsole
msf > db_status
[] postgresql selected, no connection
msf > db_connect msf:admin@127001/msf
[] Rebuilding the module cache in the background
msf > db_status
[] postgresql connected to msf
1、首先我们电脑上要安装有SQL Server,然后要准备一个MDF数据库文件。打开SQL Server。
2、点开数据库这一级,右键点击数据库然后选择-所有任务-附加数据库-附加数据库。
3、在d出界面上点击…按钮,然后找到准备好的MDF数据库文件的存放位置。
4、找到之后选择MDF数据库文件,并点击确定按钮。
5、窗口自动关闭后你就会发现,数据库已经附加上了。
6、如果想把这个数据库去掉的话,那就右键该数据库(比如刚刚附加的数据库)选择所有任务—分离数据库—确定。
插入加密数据:
1、INSERT INTO userdata(username,pasword,encryptedpassword)
2、VALUES ('smith','htims',AES_ENCRYPT('htims','key'))
上面的插入语句有三个字段,“用户名”、“密码”和“加密的密码”。
AES_ENCRYPT()函数需要一个“key”来协助加密,同样,解密也需要它。
从表中查询加密数据
1、SELECT username,pasword,AES_DECRYPT(encryptedpassword,'key')
2、FROM userdata
AES-256-CBC模式是在2006年,高级加密标准已然成为对称密钥加密中最流行的算法之一。
AES(Advanced Encryption Standard)高级加密标准是美国联邦政府采用的一种区块加密标准。AES-256的密钥长度为32bytes。CBC模式的全称是Cipher Block Chaining,这种模式是先将明文切分成若干个长度相同的分组,此时先利用初始向量IV与第一组数据进行异或后再进行加密运算生成C1。将C1作为初始向量与第二组数据进行异或后再进行加密运算生成C2。以此类推,当最后一组数据加密完毕后,将加密结果拼接为最终结果。
以上就是关于系统数据安全全部的内容,包括:系统数据安全、ecdhe-rsa-aes256-gcm-sha384 openssl支持么、sql server中怎么给数据库表中的用户密码加密等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)