在如今大多数信息业务都依赖数据存储的时代,数据的安全性已经成了每个机构都离不开的要素,数据安全一般分为数据本身的安全以及数据防护的安全两个方面,那么应该怎么保证数据的安全性?具体的数据安全性包括哪些方面?我们一起来了解下吧。
怎么保证数据的安全性?可以从三个层面入手:操作系统;应用系统;数据库;比较常用的是:应用系统和数据库层面的安全保障措施。
1、操作系统层面:
防火墙的设置。如:设置成端口8080只有自己的电脑能访问。
2、应用系统层面:
如:登陆拦截;拦截访问请求
登陆拦截{
使用过滤器过滤所有请求【form请求和ajax请求】,
若没登录不管输入什么访问路径请求,都跳转到登录页面。
}
登录权限分配{
普通用户:登录以后,不能够通过访问路径进入管理员的特有页面。
管理员:
VIP用户:控制到按钮级别的功能。有些功能普通用户有,但是不能使用。
}
密码不能是【明文】,必须加密;加密算法必须是不可逆的,不需要知道客户的密码。
密码的加密算法{
1> MD5--不安全,可被破解。
需要把MD5的32位字符串再次加密(次数只有你自己知道),不容易破解;
2> 加密多次之后,登录时忘记密码,只能重置密码,
它不会告诉你原密码,因为管理员也不知道。
}
一般金融项目会对敏感数据信息(如:身份证号,照片)进行加密。
三监会(保监会,银监会,证监会)、银行等特殊机构,有的必须插入专用的U盾才能输入密码登录。
3、数据库层面:
oracle数据库{
本地硬盘的数据本身就是加密的。
【JNDI】加密算法,一种针对数据库连接池的加密。
别人拿到数据库密码,看到的也只是JNDI加密的名字。
}
数据安全性包括哪些方面?我们从安全标准、算法类型、数据传输加密过程以及PKI四个方面来为大家详细介绍一下。
一、安全标准
网络信息安全标准由美国国家标准与技术研究院(National Institute of Standards and Technology,NIST)制定的,标准有:
保密性(Confidenciality)
确保信息在存储、使用、传输过程中不会泄漏给非授权用户或实体。
完整性(Integrity)
确保信息在存储、使用、传输过程中不会被非授权用户篡改,同时还要防止授权用户对系统及信息进行不恰当的篡改,保持信息内、外部表示的一致性。
可用性(Availability)
确保授权用户或实体对信息及资源的正常使用不会被异常拒绝,允许其可靠而及时地访问信息及资源。
这就是我们通常说的信息安全的三原则。
现在往往还需要真实性和可追溯性。
二、密码算法类型
1、对称加密
对称加密是加密和解密使用同一秘钥。具体如下:
关键字说明:
明文:加密之前的文本
秘钥:其实就是一串字符串,在加密和解密时结合密码算法实现加密解密
密文:加密和后的字符串
加密,解密算法:DES,3DES,AES,Blowfish,Twofish,IDEA
对称加密的特性:
加密和解密使用同一秘钥
将明文分隔成固定大小的块,逐个进行加密
缺陷:
A主机和很多机器在很多机器在通行时,需要获得每个主机的秘钥,会导致秘钥过多,从而导致了秘钥传输不安全,身份认证和数据完整性得不到保证。
2、公钥加密
加密和解密使用的不同的秘钥,一般成对出现。分别称为秘钥和公钥。公钥:长度过长,现在一般都是2048为以上。
常用的加密算法:
RSA:既可以加密也可以身份认证
DSA:只能做身份认证
ELGamal:商业版的对称加密算法
使用这种方式的加密是加密速度慢。而且也不能保证数据的完整性,就是在 B 收到 A 的数据之后不能确保数据是否被篡改过。
所以它的应用体现在以下2方面的应用:
1、身份认证
自己私钥加密特征码(指纹),对方公钥加密,实现验证身份
2、 IKE(Internet Key Exchange,秘钥交换)
用对方的公钥加密传送给对方可能会暴力破解。因此会采用 DH 算法来实现,类似于银行的电子口令卡。
3、单向加密
单向加密(数据完整性算法):提取数据指纹,具有不可逆的特性。
常用的单向加密算法有:MD5,SHA1,SHA384,SHA512
算法的特点:
定长输出:加密后的指纹是固定长度的。
雪崩效应:原文件微小的变化都会引起指纹信息的巨大变化。
三、网络上传输数据的加密过程
真正在网络上传输的数据时采取每种加密算法的优点来实现,基本模型如下:
假设 A 主机要向 B 主机传输数据,为了保证数据的安全,大致传输过程是这样的:
A主机要将传输的明文信息采取单向加密算法提取明文数据的指纹,使用 A 的私钥加密指纹信息,将加密后的私钥附加到明文后面,定义这种(笔者自定义)信息为第一次加密信息。此时在利用某种算法生成一串秘钥(对称加密的秘钥),将第一次加密信息结合生成的秘钥利用对称加密算法生成第二次加密信息,然后在利用 B 的公钥信息加密秘钥后附加到第二次加密信息后生成最终的加密信息。B 主机在接收到 A 主机的加密信息后,尝试利用自己的私钥解密收到的信息,如果能解密,就会得到对称加密的秘钥,然后提取这个秘钥来解密剩余的信息,得到对称解密后的数据。完成这一步的工作之后,利用 A 的公钥来验证身份确定是 A,此时会得到明文和指纹信息,利用相同的单向加密算法,将提取的指纹信息与公钥解密后的指纹信息对比来实现数据的完整性。
但是,上面得以实现最重要的一环是 A 如何可靠的获取 B 的公钥呢?
所以就出现了第三方机构 CA,通常 CA 是一个公认的,值得信赖的机构。由它来提供相应的公钥信息。大致流程如下:
最重要的一环的实现如上图,大致的流程是:A 要想获得 B 的公钥信息时,首先 B 的向 CA 机构申请注册;申请成功后 CA 会向 B 返回一个证书,证书里面包括的内容 B 提供的公钥信息和组合或者各个的名称等信息,有效期,最后附加的是 CA 的签名等信息;A 要向 B 传输数据时,A 首先向 B 请求获得证书,在 B 同意后,将证书传送给 A;A 获得证书后会去验证CA 的身份和完整性,此时也会询问 CA 证书是否吊销,一切符合条件时,A 就可以向 B 开始传输数据了。
四、PKI
PKI(public key infrastructure,公共秘钥基础建设):是一组由硬件、软件、参与者、管理政策与流程组成的基础架构,其目的在于创造、管理、分配、使用、存储以及撤销数字凭证(摘自维基百科)。是现代电子商务和网路安全的重要基于规范。
以上在网络上的数据传输过程以及 CA 认证都可由 PKI 实现。
PKI的组成包括:
签证机构:CA
注册机构:RA
证书吊销列表:CRL
证书存取库:用户接口
关于怎么保证数据的安全性以及数据安全性包括哪些方面就为大家介绍到这里,关于数据的安全性可以讲述的方面太多了,本文只是大致为大家介绍一下数据安全性的一些实现层面的问题,让大家能够对数据的安全性有些基本的认识。当然,如果有数据安全防护需求的朋友,也可以向安全狗咨询技术上的支持。