数据传输加密技术的目的是对传输中的数据流加密,通常有线路加密与端—端加密两种。线路加密侧重在线路上而不考虑信源与信宿,是对保密信息通过各线路采用不同的加密密钥提供安全保护。
端—端加密指信息由发送端自动加密,并且由TCP/IP进行数据包封装,然后作为不可阅读和不可识别的数据穿过互联网,当这些信息到达目的地,将被自动重组、解密,而成为可读的数据。
数据存储加密技术的目的是防止在存储环节上的数据失密,数据存储加密技术可分为密文存储和存取控制两种。前者一般是通过加密算法转换、附加密码、加密模块等方法实现;后者则是对用户资格、权限加以审查和限制,防止非法用户存取数据或合法用户越权存取数据。
常见加密算法
1、DES(Data Encryption Standard):对称算法,数据加密标准,速度较快,适用于加密大量数据的场合;
2、3DES(Triple DES):是基于DES的对称算法,对一块数据用三个不同的密钥进行三次加密,强度更高;
3、RC2和RC4:对称算法,用变长密钥对大量数据进行加密,比 DES 快;
4、IDEA(International Data Encryption Algorithm)国际数据加密算法,使用 128 位密钥提供非常强的安全性;
5、RSA:由 RSA 公司发明,是一个支持变长密钥的公共密钥算法,需要加密的文件块的长度也是可变的,非对称算法; 算法如下:
首先, 找出三个数,p,q,r,其中 p,q 是两个不相同的质数,r 是与 (p-1)(q-1) 互为质数的数。
p,q,r这三个数便是 private key。接着,找出 m,使得 rm == 1 mod (p-1)(q-1).....这个 m 一定存在,因为 r 与 (p-1)(q-1) 互质,用辗转相除法就可以得到了。再来,计算 n = pq.......m,n 这两个数便是 public key。
6、DSA(Digital Signature Algorithm):数字签名算法,是一种标准的 DSS(数字签名标准),严格来说不算加密算法;
7、AES(Advanced Encryption Standard):高级加密标准,对称算法,是下一代的加密算法标准,速度快,安全级别高,在21世纪AES 标准的一个实现是 Rijndael 算法。
8、BLOWFISH,它使用变长的密钥,长度可达448位,运行速度很快;
9、MD5:严格来说不算加密算法,只能说是摘要算法;
对MD5算法简要的叙述可以为:MD5以512位分组来处理输入的信息,且每一分组又被划分为16个32位子分组,经过了一系列的处理后,算法的输出由四个32位分组组成,将这四个32位分组级联后将生成一个128位散列值。
扩展资料
数据加密标准
传统加密方法有两种,替换和置换。上面的例子采用的就是替换的方法:使用密钥将明文中的每一个字符转换为密文中的一个字符。而置换仅将明文的字符按不同的顺序重新排列。单独使用这两种方法的任意一种都是不够安全的,但是将这两种方法结合起来就能提供相当高的安全程度。
数据加密标准(Data Encryption Standard,简称DES)就采用了这种结合算法,它由IBM制定,并在1977年成为美国官方加密标准。
DES的工作原理为:将明文分割成许多64位大小的块,每个块用64位密钥进行加密,实际上,密钥由56位数据位和8位奇偶校验位组成,因此只有56个可能的密码而不是64个。
每块先用初始置换方法进行加密,再连续进行16次复杂的替换,最后再对其施用初始置换的逆。第i步的替换并不是直接利用原始的密钥K,而是由K与i计算出的密钥Ki。
DES具有这样的特性,其解密算法与加密算法相同,除了密钥Ki的施加顺序相反以外。
参考资料来源:百度百科-加密算法
参考资料来源:百度百科-数据加密
mysql数据库的认证密码有两种方式,mysql
4.1版本之前是mysql323加密,mysql
4.1和之后的版本都是mysqlsha1加密,
mysql数据库中自带old_password(str)和password(str)函数,它们均可以在mysql数据库里进行查询,前者是mysql323加密,后者是mysqlsha1方式加密。
(1)以mysql323方式加密
select old_password('111111')
(2)以mysqlsha1方式加密
select
password('111111')
mysql323加密中生成的是16位字符串,而在mysqlsha1中生存的是41位字符串,其中*是不加入实际的密码运算中,通过观察在很多用户中都携带了"*",在实际破解过程中去掉"*",也就是说mysqlsha1加密的密码的实际位数是40位。
一、数据库加密是什么?数据库加密技术属于主动防御机制,可以防止明文存储引起的数据泄密、突破边界防护的外部黑客攻击以及来自于内部高权限用户的数据窃取,从根本上解决数据库敏感数据泄漏问题。数据库加密技术是数据库安全措施中最顶级的防护手段,也是对技术性要求最高的,产品的稳定性至关重要。
二、数据库加密的方式有哪些?
目前,不同场景下仍在使用的数据库加密技术主要有:前置代理加密、应用系统加密、文件系统加密、后置代理加密、表空间加密和磁盘加密等,下文将对前四种数据加密技术原理进行简要说明。
1、前置代理加密技术
该技术的思路是在数据库之前增加一道安全代理服务,所有访问数据库的行为都必须经过该安全代理服务,在此服务中实现如数据加解密、存取控制等安全策略,安全代理服务通过数据库的访问接口实现数据存储。安全代理服务存在于客户端应用与数据库存储引擎之间,负责完成数据的加解密工作,加密数据存储在安全代理服务中。
2、应用加密技术
该技术是应用系统通过加密API(JDBC,ODBC,CAPI等)对敏感数据进行加密,将加密数据存储到数据库的底层文件中;在进行数据检索时,将密文数据取回到客户端,再进行解密,应用系统自行管理密钥体系。
3、文件系统加解密技术
该技术不与数据库自身原理融合,只是对数据存储的载体从 *** 作系统或文件系统层面进行加解密。这种技术通过在 *** 作系统中植入具有一定入侵性的“钩子”进程,在数据存储文件被打开的时候进行解密动作,在数据落地的时候执行加密动作,具备基础加解密能力的同时,能够根据 *** 作系统用户或者访问文件的进程ID进行基本的访问权限控制。
4、后置代理技术
该技术是使用“视图”+“触发器”+“扩展索引”+“外部调用”的方式实现数据加密,同时保证应用完全透明。核心思想是充分利用数据库自身提供的应用定制扩展能力,分别使用其触发器扩展能力、索引扩展能力、自定义函数扩展能力以及视图等技术来满足数据存储加密,加密后数据检索,对应用无缝透明等核心需求。
三、数据库加密的价值
1、在被拖库后,避免因明文存储导致的数据泄露
通常情况下,数据库中的数据是以明文形式进行存储和使用的,一旦数据文件或备份磁带丢失,可能引发严重的数据泄露问题;而在拖库攻击中,明文存储的数据对于攻击者同样没有任何秘密可言——如Aul、MyDul等很多成熟的数据库文件解析软件,均可对明文存储的数据文件进行直接分析,并输出清晰的、结构化的数据,从而导致泄密。
数据库加密技术可对数据库中存储的数据在存储层进行加密,即使有人想对此类数据文件进行反向解析,所得到的也不过是没有任何可读性的“乱码”,有效避免了因数据文件被拖库而造成数据泄露的问题,从根本上保证数据的安全。
2、对高权用户,防范内部窃取数据造成数据泄露
主流商业数据库系统考虑到初始化和管理的需要,会设置以sys、sa或root为代表的数据库超级用户。这些超级用户天然具备数据访问、授权和审计的权限,对存储在数据库中的所有数据都可以进行无限制的访问和处理;而在一些大型企业和政府机构中,除系统管理员,以数据分析员、程序员、服务外包人员为代表的其他数据库用户,也存在以某种形式、在非业务需要时访问敏感数据的可能。
数据库加密技术通常可以提供独立于数据库系统自身权限控制体系之外的增强权控能力,由专用的加密系统为数据库中的敏感数据设置访问权限,有效限制数据库超级用户或其他高权限用户对敏感数据的访问行为,保障数据安全。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)