Skip to content

上传数据的安全性

一、整体安全控制思路

浏览器前端向后端微服务上传敏感数据时,通过加密传输保障数据安全:

  1. 后端生成加密密钥对/统一密钥,将公钥/对称密钥下发给前端;
  2. 前端使用密钥对原始业务数据加密,传输密文到后台服务;
  3. 后端接收密文后执行解密,还原原始数据再做业务处理;
  4. 根据数据大小、敏感等级选择对称加密或非对称加密方案。

二、对称加密

1. 核心定义

加密、解密使用同一个密钥,同一把密钥既可以加密明文,也能解密密文。

2. 传输流程

原始明文数据 → 前端用统一密钥加密生成密文 → 网络传输密文 → 后端使用相同密钥解密 → 还原原始数据。

3. 优点

加密、解密运算速度快,执行效率高,适合大体积文件、大批量数据传输。

4. 缺点

密钥需要前后端共享,一旦密钥泄露,全部加密数据都会被破解,安全性偏弱,不适合极高敏感信息。

三、非对称加密

1. 核心定义

使用一对互相匹配的密钥:公钥(publicKey)、私钥(privateKey); 规则:公钥加密,私钥解密。公钥可以对外公开下发给前端,私钥仅保存在后端服务,绝不对外暴露。

2. 传输流程

原始明文数据 → 前端使用后端下发的公钥加密生成密文 → 网络传输密文 → 后端用本地私钥解密 → 还原原始数据。

3. 优点

安全等级远高于对称加密,私钥只存在服务端,仅泄露公钥不会造成数据泄露,适合手机号、身份证、银行卡等高敏感数据。

4. 缺点

加密、解密运算性能差,速度慢,仅适合少量短文本数据加密,不适合大文件、大批量数据。

四、业务场景选型标准

  1. 大文件、大批量普通业务数据:选用对称加密,依靠高效率保证上传速度;
  2. 少量高敏感文本数据(身份证、密码、银行卡):选用非对称加密,优先保障传输安全。

五、完整总结(面试背诵版)

  1. 前端上传数据安全依靠加密传输实现,分为对称加密、非对称加密两种方案。
  2. 对称加密加解密共用同一密钥,速度快效率高,但密钥共享存在泄露风险,适合大文件普通数据;
  3. 非对称加密分为公钥、私钥,公钥前端加密、私钥后端解密,安全性高,但运算慢,适合少量敏感信息;
  4. 项目中根据数据体积与敏感程度区分选型,大文件用对称加密,少量隐私数据使用非对称加密。

六、面试简答

问:项目里上传数据的安全性是怎么控制的? 答: 我们通过前端加密传输、后端解密的方式保障上传数据安全,分两种加密方案按需选用。 第一种是对称加密,加解密共用同一个密钥,优点是速度快、适合大文件上传,缺点是密钥共享安全性一般,只用于非敏感批量数据; 第二种是非对称加密,后端持有私钥,前端下发公钥,公钥加密、私钥解密,安全性更高,但运算慢,适合身份证、银行卡这类少量高敏感文本。 业务选型规则:大文件、普通大批量数据用对称加密;少量隐私敏感数据采用非对称加密。前端拿到对应密钥加密后传输密文,后端解密后再处理业务逻辑。

Powered by VitePress 1.6.4 | 持续更新中