Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何给数据加密技术选择并使用密钥为防止数据库数据外泄?

如何给数据加密技术选择并使用密钥为防止数据库数据外泄?

提问于 2018-08-28 23:54:01
回答 10关注 0查看 2.9K

弹幕视频网站 AcFun(A 站)2018年6月13日星期三在官网发布 《关于 AcFun 受黑客攻击致用户数据外泄的公告》 称,A站受到黑客攻击,“近千万条用户数据外泄”。其中包括用户 ID、昵称、“加密存储”的密码等信息。数据库外泄形势严峻,为了防止数据库信息泄露,我们会使用数据加密技术。那么,到底如何给数据加密技术选择并使用密钥为防止数据库数据外泄呢?腾讯云服务器提供相关的加密算法吗?

回答 10

housenimeia

精选回答

发布于 2018-08-29 03:52:36

如何选择加密算法还是取决于用户及网站的需求来定。腾讯云服务器云加密主要采用对称加密算法,做加密权鉴处理;可防盗链。

加密算法主要分为以下几种:

1、对称加密算法

所谓对称,就是采用这种加密方法的双方使用方式用同样的密钥进行加密和解密。密钥是控制加密及解密过程的指令。算法是一组规则,规定如何进行加密和解密。

分类

常用的算法有:DES、3DES、AES等。

DES

全称为Data Encryption Standard,即数据加密标准,是一种使用密钥加密的块算法,1977年被美国联邦政府的国家标准局确定为联邦资料处理标准(FIPS),并授权在非密级政府通信中使用,随后该算法在国际上广泛流传开来。

3DES

即TripleDES,是DES向AES过渡的加密算法,它使用3条56位的密钥对数据进行三次加密。是DES的一个更安全的变形。它以DES为基本模块,通过组合分组方法设计出分组加密算法。比起最初的DES,3DES更为安全。

AES

全称为Advanced Encryption Standard,在密码学中又称Rijndael加密法,是美国联邦政府采用的一种区块加密标准。这个标准用来替代原先的DES,已经被多方分析且广为全世界所使用。

优缺点

对称加密算法的优点是算法公开、计算量小、加密速度快、加密效率高。

对称加密算法的缺点是在数据传送前,发送方和接收方必须商定好秘钥,然后使双方都能保存好秘钥。其次如果一方的秘钥被泄露,那么加密信息也就不安全了。另外,每对用户每次使用对称加密算法时,都需要使用其他人不知道的唯一秘钥,这会使得收、发双方所拥有的钥匙数量巨大,密钥管理成为双方的负担。

应用

保存用户手机号、身份证等敏感但能解密的信息

2、非对称性加密算法

与对称加密算法不同,非对称加密算法需要两个密钥:公开密钥(publickey)和私有密钥(privatekey)。公开密钥与私有密钥是一对,如果用公开密钥对数据进行加密,只有用对应的私有密钥才能解密;如果用私有密钥对数据进行加密,那么只有用对应的公开密钥才能解密。因为加密和解密使用的是两个不同的密钥,所以这种算法叫作非对称加密算法。

分类

常用的算法有:RSA、DSA、ECC等。

RSA

全称为Digital Signature Algorithm,是第一个能同时用于加密和数字签名的算法,也易于理解和操作。RSA是被研究得最广泛的公钥算法,从提出到现今的三十多年里,经历了各种攻击的考验,逐渐为人们接受,普遍认为是目前最优秀的公钥方案之一。

DSA

全称为Digital Encryption Standard,是基于整数有限域离散对数难题的,其安全性与RSA相比差不多。DSA的一个重要特点是两个素数公开,这样,当使用别人的p和q时,即使不知道私钥,你也能确认它们是否是随机产生的,还是作了手脚。RSA算法却做不到。

ECC

全称为Elliptic Curves Cryptography,,也叫椭圆加密算法,是一种公钥加密体制,最初由Koblitz和Miller两人于1985年提出,其数学基础是利用椭圆曲线上的有理点构成Abel加法群上椭圆离散对数的计算困难性。

与RSA,DSA相比,ECC有以下优点: 安全性高,有研究表示160位的椭圆密钥与1024位的RSA密钥安全性相同。 处理速度快,在私钥的加密解密速度上,ecc算法比RSA、DSA速度更快。 存储空间占用小。 带宽要求低. 优缺点

非对称加密与对称加密相比,其安全性更好:对称加密的通信双方使用相同的秘钥,如果一方的秘钥遭泄露,那么整个通信就会被破解。而非对称加密使用一对秘钥,一个用来加密,一个用来解密,而且公钥是公开的,秘钥是自己保存的,不需要像对称加密那样在通信之前要先同步秘钥。

非对称加密的缺点是加密和解密花费时间长、速度慢,只适合对少量数据进行加密。

应用

一般用于签名和认证

3、散列算法

在信息安全技术中,经常需要验证消息的完整性,散列(Hash)函数提供了这一服务,它对不同长度的输入消息,产生固定长度的输出。这个固定长度的输出称为原输入消息的“散列”或“消息摘要”(Message digest)。

分类

常用的算法有:MD5、SHA、HMAC等。

MD5

全称为Message Digest Algorithm,即中文名为消息摘要算法第五版,为计算机安全领域广泛使用的一种散列函数,用以提供消息的完整性保护。

SHA

全称为Secure Hash Algorithm,即安全哈希算法,主要适用于数字签名标准(Digital Signature Standard DSS)里面定义的数字签名算法(Digital Signature Algorithm DSA)。有SHA-1,SHA-224,SHA-256,SHA-384,和SHA-512这几种单向散列算法,其中SHA-1已经不安全。

HMAC

全称为Hash Message Authentication Code,即散列消息鉴别码,主要是利用哈希算法,以一个密钥和一个消息为输入,生成一个消息摘要作为输出。一般的,消息鉴别码用于验证传输于两个共 同享有一个密钥的单位之间的消息。HMAC 可以与任何迭代散列函数捆绑使用。MD5 和 SHA-1 就是这种散列函数。HMAC 还可以使用一个用于计算和确认消息鉴别值的密钥。

应用

效验下载文件正确性,一般在网站上下载文件都能见到

存储用户敏感信息,如密码、 卡号等不可解密的信息

建议 AES采用128为即可,RSA建议采用1024位的数字,ECC建议采用160位。RSA加密字符长度有限制,一般采用AES+RSA方式组合使用。 误区 很多博客把Base64编码也当做一种加密算法来解释,这是不严谨的。Base64是没有可读性,但不代表这个编码就是加密的。加密需要保证没有密钥的人无法解密信息,更无法从密文中破解任何明文信息,但Base64可以很轻松的反编码。另外,Base64编码也显然没有用到密钥,不具有加密算法的安全性,所以,这个误区大家要纠正过来。

翅膀的初衷

发布于 2018-08-29 08:44:17

加密算法应该根据自己的使用特点来确定。

非对称加密算法的运行速度比对称加密算法的速度慢很多,当我们需要加密大量的数据时,建议采用对称加密算法,提高加解密速度。

对称加密算法不能实现签名,签名只能非对称算法。

当数据量很小时,我们可以考虑采用非对称加密算法。

在实际的操作过程中,我们通常采用的方式是:采用非对称加密算法管理对称算法的密钥,然后用对称加密算法加密数据,这样我们就集成了两类加密算法的优点,既实现了加密速度快的优点,又实现了安全方便管理密钥的优点。

如果在选定了加密算法后,那采用多少位的密钥呢?一般来说,密钥越长,运行的速度就越慢,应该根据的我们实际需要的安全级别来选择,一般来说,RSA建议采用1024位的数字,ECC建议采用160位,AES采用128为即可。

Bilibili科技

发布于 2018-08-29 02:07:44

在日常设计及开发中,为确保数据传输和数据存储的安全,可通过特定的算法,将数据明文加密成复杂的密文。目前主流加密手段大致可分为单向加密和双向加密。

单向加密:通过对数据进行摘要计算生成密文,密文不可逆推还原。算法代表:Base64,MD5,SHA;

双向加密:与单向加密相反,可以把密文逆推还原成明文,双向加密又分为对称加密和非对称加密。

对称加密:指数据使用者必须拥有相同的密钥才可以进行加密解密,就像彼此约定的一串暗号。算法代表:DES,3DES,AES,IDEA,RC4,RC5;

非对称加密:相对对称加密而言,无需拥有同一组密钥,非对称加密是一种“信息公开的密钥交换协议”。非对称加密需要公开密钥和私有密钥两组密钥,公开密钥和私有密钥是配对起来的,也就是说使用公开密钥进行数据加密,只有对应的私有密钥才能解密。这两个密钥是数学相关,用某用户密钥加密后的密文,只能使用该用户的加密密钥才能解密。如果知道了其中一个,并不能计算出另外一个。因此如果公开了一对密钥中的一个,并不会危害到另外一个密钥性质。这里把公开的密钥为公钥,不公开的密钥为私钥。算法代表:RSA,DSA。

以上加密算法腾讯云服务器应均有涉猎。具体可以去云+社区查询。

和开发者交流更多问题细节吧,去 写回答
相关文章
保护数据库信息,如何用Go语言+对称密钥做数据加密?
个人识别信息(PII)是客户告知服务提供商(电子商务、金融服务等)的个人信息。作为服务提供者,他们有责任妥善保管信息。针对PII的攻击可能来自外部,也可能来自服务商内部。
区块链大本营
2020/02/21
1.2K0
保护数据库信息,如何用Go语言+对称密钥做数据加密?
安全如何为数据库选择最佳加密方法
介绍 加密是对消息或信息进行编码以便只有授权方可以看到它的过程。加密已经进行了几个世纪。例如,在第二次世界大战中,盟军使用不成文的纳瓦霍语发送加密代码,日本人无法解码。
埃文科技
2022/05/23
7630
mysql数据库(4): 创建并选择数据库
 (2)使用chuan这个数据库,让chuan变成当前数据库:use chuan;
川川菜鸟
2021/10/18
1.9K0
云数据安全与加密技术【数据库加密】
云计算、大数据等信息技术正在深刻改变着人们的思维、生产、生活和学习方式,并延深进入人们的日常生活。
新知号
2019/03/25
3.6K0
云数据安全与加密技术【数据库加密】
如何选择数据库
一层一层铺开,一对多,这是「层次模型数据库」(Hierarchical Database)。
Java3y
2019/10/30
1.3K0
如何选择数据库
数据库安全:数据库加密技术介绍
数据库加密是计算机系统对信息进行保护的一种最可靠的方法。它利用密码技术对信息进行加密,实现信息屏蔽,从而起到保护信息安全的作用。对数据库中的数据进行加密,可以防止数据在存储和传输过程中失密。
小明互联网技术分享社区
2021/03/07
1.9K0
数据库安全:数据库加密技术介绍
数据库如何加密连接
现在无论是公司的项目还是个人的项目,都会选择将源码托管在Git服务器(Gitee,CODING,云效),只要将源码提交到公网服务器就会存在源码泄露的风险,数据库配置信息作为源码的一部分,一旦出现泄露问题,其产生的损失是无法估量的。
鱼找水需要时间
2023/02/16
2.7K0
数据库如何加密连接
云加密:云端使用数据加密技术
虽然许多企业组织期望充分利用云计算,但数据安全仍然是需要操心的首要问题。然而,借助众多云解决方案,有望实现并享用云端的有效数据保护和强加密。 随着商业监管和信息安全以不对称的步伐扩展,企业主管常常到头
静一
2018/03/21
4.3K0
云加密:云端使用数据加密技术
typecho给数据库增加字段并显示
文章的侧边栏需要显示标题,但原标题太长了,显示出来不美观。截取一部分吧截取出来的部分又是表达不出意思 索性给数据库增加个短标题字段,侧边栏显示短标题就ok
wo.
2021/06/15
1.4K0
typecho给数据库增加字段并显示
如何使用Java创建数据透视表并导出为PDF
数据透视分析是一种强大的工具,可以帮助我们从大量数据中提取有用信息并进行深入分析。而在Java开发中,可以借助PivotTable,通过数据透视分析揭示数据中的隐藏模式和趋势。本文将介绍如何使用Java来构建PivotTable以及实现数据透视分析,并将其导出为PDF。
葡萄城控件
2023/10/16
5570
mysql数据库(3):创建并使用数据库
(1)使用SHOW语句找出服务器上当前存在什么数据库: show databases;
川川菜鸟
2021/10/18
1.6K0
数据库加密
中安威士数据库透明加密系统(简称VS-EC),基于加密算法和合理的密钥管理,有选择性地加密敏感字段内容,保护数据库内敏感数据的安全。敏感数据以密文的形式存储,能保证即使在存储介质被窃取或数据文件被非法复制的情况下,敏感数据仍是安全的。并通过密码技术实现三权分立,避免DBA密码泄漏带来的批量数据泄漏风险。本加密系统具有卓越的安全性和处理能力,并能在不修改原有应用程序的情况下透明的接入系统中。
数据库保护
2019/07/18
3.5K0
数据库加密
数据库安全·数据加密
以下节选择《Netkiller Architect 手札》 作者:netkiller 地址 http://www.netkiller.cn/architect/ 接下来几周的话题是数据库安全。 5.8. 数据加密 数据库中有很多敏感字段,不允许随意查看,例如开发人员,运维人员,甚至DBA数据库管理员。另外加密主要是防止被黑客脱库(盗走) 敏感数据加密有很多办法,可以用数据库内部加密函数,也可以在外部处理后写入数据库。加密算法有很多种,但通常两类比较常用,一种是通过key加密解密,另一种是通过证书加密
netkiller old
2018/03/05
3.8K0
云数据库怎么移植 云数据库如何选择
网站在日常的生活当中是非常常见的,有很多的网站应用都需要使用云数据库,因为它可以让网站更加健康稳定的运营,现如今的云数据库应用场景非常的广泛,还能够提高资源的利用率。那么,云数据库怎么移植呢?
用户8715145
2021/09/30
3.7K0
共享密钥加密与公开密钥加密
加密数据的方法可以分为两种:加密和解密都使用相同密钥的“共享密钥加密”和分别使用不同密钥的“公开密钥加密”。
神奇的程序员
2022/04/10
3K0
共享密钥加密与公开密钥加密
A站被黑,你的数据库安全吗?
小编通过自身的数据库多年的从业经验,针对利用云计算的基础实施如何做好数据库防护做个浅显的分享。
腾讯云数据库 TencentDB
2018/06/13
12K8
如何防止数据重复插入?
问题起源,微信小程序抽风 wx.request() 重复请求服务器提交数据。后端服务也很简单,伪代码如下:
Lenis
2019/12/25
3.3K0
如何防止数据重复插入?
如何使用触发器实现数据库级守护,防止DDL操作
--对于重要对象,实施DDL拒绝,防止create,drop,truncate,alter等重要操作
数据和云01
2018/09/12
1.3K0
如何选择合适的NoSQL数据库
与传统的表格(或SQL)数据库相比,NoSQL数据库为软件开发人员和其他用户提供了更高的运行速度和更高的灵活性。
银河1号
2019/04/12
3.1K0
如何为微服务选择数据库
作者 | Jeff Carpenter, InfoWorld 翻译 | Jackyrong 你的微服务架构需要多种数据模型。你是应该选择混合持久化呢还是多模型数据库? 在过去的十年,大规模的分布式系
CSDN技术头条
2018/02/08
1.6K0
如何为微服务选择数据库

相似问题

TiDB 数据库 HTAP 技术 摘要?

0106

如何防止数据库数据暴力破解?

21K

Mysql怎么做到数据库透明加密?

01.1K

我要用C++语言 访问数据库中的数据,给思路?

3341

如何获得临时密钥并使用临时密钥访问云资源?

31.9K
相关问答用户
自由工作者
CVM专项擅长1个领域
腾讯科技(深圳)有限公司 | 高级工程师
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档