主页 > imtoken官方网址 > 大量数据泄露,蔚来被勒索225万比特币,系统数据安全应该这样解决!

大量数据泄露,蔚来被勒索225万比特币,系统数据安全应该这样解决!

imtoken官方网址 2023-02-12 07:01:01

背景

蔚来被勒索225万美元,大量数据泄露!

根据网上流传的截图,黑客似乎掌握了2.28万条蔚来内部员工数据、39.9万条车主身份证数据、650万条用户地址数据、485万条注册用户数据、1万条联系方式数据。企业和业务代表,订单数据49万条,退款数据9万条,销售金额0.1-0.25比特币不等。

蔚来公司和蔚来创始人李斌也出来道歉,并承诺对因此次事件给用户造成的损失承担责任。

数据安全

现在企业已经实现办公数字化,在提升效率的同时,数据安全也是重中之重。 许多公司为了追求效率而忽视了安全。 从上述报道来看,此次蔚来泄露的数据包括:用户身份证和地址。 这些数据具有最高的机密性,也应该加密存储在数据库中。

加密存储涉及以下问题:

1、加密存储方式;

2、加密存储后的数据如何显示;

3、如何模糊搜索加密存储。

今天给大家分享一下MySql数据加密的解决方法以及如何解决以上问题。

Mysql加密方案

蔚来汽车比特币数据黑客_比特币病毒的黑客_比特币 黑客是谁

Mysql本身自带的加密方式分为两种:

1、不可逆加密算法:

密码、加密、MD5、SHA。

2、可逆加密算法:

AES_ENCRYPT、AES_DECRYPT 和 ENCODE、DECODE。

上面两组都是可逆的加解密函数,都是返回一个二进制字符串,以BLOB类型存储。 不过ENCODE和DECODE在MySql 5.7之后已经取消了,安全性比较低,建议不要使用。

在项目开发中,对于密码等不涉及显示和搜索业务需求的少量数据,可以使用不可逆加密,但是对于大部分数据,我们还是需要使用可逆加密。

Mysql加密存储

下面以AES_ENCRYPT和AES_DECRYPT为例,介绍如何解决数据加密存储和查询。

1.创建表

首先创建一张只有一个字段数据的表,用于存放解密后的数据。 SQL语句如下:

2.插入数据

蔚来汽车比特币数据黑客_比特币 黑客是谁_比特币病毒的黑客

通过Sql语句插入加密数据,1ql语句如下:

TO_BASE64函数将加密后的二进制转为Base64,方便我们查看。

插入结果如下:

3.查询返回解密数据

解密后使用CAST将字符串编码转换成UTF8,否则返回的是乱码。

模糊搜索

数据加密存储和解密数据没有太大问题。 加密存储最大的问题是模糊搜索。 模糊搜索有以下解决方案:

1.数据预加载到内存数据库

这个解决方案是提前解密数据库数据蔚来汽车比特币数据黑客,在程序启动的时候加载到内存中。 例如,使用 MongoDB。 该方案的优缺点如下:

优势:

数据安全,查询性能快

缺点:

蔚来汽车比特币数据黑客_比特币病毒的黑客_比特币 黑客是谁

服务器占用大量内存;

数据表不能关联查询;

要使内存数据与数据库实时保持一致,需要额外的工作量。

2.程序实时加载数据并解密

这种方案是当用户触发请求时,实时加载程序并解密,保存到内存中。 虽然这个解决方案解决了与数据库同步的问题,但是还有其他问题。 该方案的优缺点如下:

优势:

数据安全、查询速度快、数据处理灵活。

缺点:

服务器内存不可控,内存容易瞬间飙升,可能导致服务器不稳定;

数据表不能与查询关联。

3、在Sql语句中处理模糊查找

如果数据量比较小,以上两种方案可能影响不大,但是对于大部分项目来说,以上两种方案还是不靠谱的。

比特币病毒的黑客_比特币 黑客是谁_蔚来汽车比特币数据黑客

在Sql语句中处理模糊搜索有几种选择:

3.1. 实时解密搜索

直接在数据库端解密加密数据。

优势

灵活的搜索

缺点:

无法使用索引,搜索性能慢;

需要先解密数据,导致性能下降。

3.2. 现场冗余存储

大家都知道MySql的模糊搜索蔚来汽车比特币数据黑客,只有在匹配开始,或者匹配结束的时候,索引才会生效。 所以我们可以扩展一个字段,在首尾存放加密数据。

建表sql语句如下,新增字段data_ext,并创建索引:

比如要加密的内容是:123456789,字段data_ext取字段数据,首尾存储3个字符。 存储格式为:AES(123)、AES(789)。 插入数据的sql语句如下:

比特币病毒的黑客_比特币 黑客是谁_蔚来汽车比特币数据黑客

存储结果如下:

对应的模糊搜索sql语句如下:

通过Explain的分析结果,查询SQL语句的索引是有效的。

这个程序的优点:

高搜索性能;

支持表关联搜索。

该解决方案还存在以下缺点:

1、匹配的字符数是固定的。 如果业务发生变化,需要重新更新数据库;

2、数据存储需要额外的工作量;

3.冗余数据需要额外的存储空间。

写在最后

任何解决方案都有其优点和局限性,但有一点是数据安全是重中之重,任何企业都不能仅仅为了业务发展而忽视安全的重要性。