美文网首页
关于web签名以及参数加密的个人想法

关于web签名以及参数加密的个人想法

作者: a丶逍遥子 | 来源:发表于2018-06-10 14:23 被阅读0次

1 涉及加密算法

  • AES
  • RSA
  • MD5

2 安全中心设计

工作中发现的问题:
    工作中使用springcloud,发现很多模块大家把对称加密的Key硬编码工程中,如果想更换key
那么要把所有的项目都更换一次,当然也许有人说使用jar依赖搞定,其实问题依旧,我们现在
公司大概有十几个服务,总不能更换一次Key让所有的项目重新打包部署吧?

2.1 首先个人觉得对称加密的Key应该保持一定的时间进行更换,防止对称加密Key外泄的可能性,其次这个
过程应该是动态完成的,在这里主要指的是我工作常用的AES加密和RSA加密

2.2 当然如果按照2.1所说,那么就有一个问题,怎么来保证每次更换Key能及时通知到其他客户端以及后台各个模块?

首先把这个问题分为两块:
    1. 后端: 由于现在微服务的火热,后端存在多个模块,可以直接把Key放入彼此信赖的中
间件中,比如redis、Mysql等, 可以做到动态实时获取最新的key,因为这些对称加密底层代
算法以及代码实现都是一样的,当然也可以做成一个starter,直接导入依赖即可简单配置即
可,这里可以包含工作中常用的工具类或需要注入IOC容器的bean
    2. 客户端: 
   这里主要指的是安卓IOS和PHP, 因为我们公司主要是java提供接口,其他客户端调用,
对于这样的客户端直连redis和mysql等中间件会存在一定安全的问题,所以后端的方案不
太适合客户端,硬编码也会存在问题。
   这里可以使用RAR和AES配合搞定,客户端启动后发送请求到后端,后端用RSA算法
生成一个公pubKey1一个私钥priKey1,将公钥返回客户端。客户端利用RAR算法也生成一
个公钥pubKey2和一个私钥priKey2,将pubKey2通过后端公钥pubKey1进行加密发送到服
务端。此时服务端接收到客户端进行公钥pubKey1加密后的数据,利用priKey1解密,即可
得到客户端的公钥pubKey2。然后服务端获取对称加密的Key用公钥pubKey2加密返回给客
户端,客户端解密其返回AES加密后的数据,即达到了动态获取key的效果

相关文章

  • 关于web签名以及参数加密的个人想法

    1 涉及加密算法 AES RSA MD5 2 安全中心设计 2.1 首先个人觉得对称加密的Key应该保持一定的时...

  • APIGateway中加密验签介绍

    需要提供给接口调用方一个用来加密的key,调用方根据key、一些其他参数以及业务参数进行加密,还需要对报文进行签名...

  • Retrofit 请求加密问题咨询?

    需求如下:请求时需要对参数(含头部公共参数)加密获的签名sign,之后将签名sign作为参数放入头部。 遇到问题:...

  • NDK开发前奏 - x团参数加密和签名校验

    这次给大家分享一个关于《x团参数加密和签名校验》解决方案,主要涉及的内容是 MD5 加密算法和 JNI 基础。如果...

  • NDK开发前奏 - x团参数加密和签名校验

    这次给大家分享一个关于《x团参数加密和签名校验》解决方案,主要涉及的内容是 MD5 加密算法和 JNI 基础。如果...

  • 数据加密技术概述

    数据加密技术的包括这样几方面的内容:数据加密、数据解密、数字签名、签名识别以及数字证明等。 数据加密模型组成 明文...

  • iOS加密方式(RSA签名、加密、AES)

    之前项目中采取的加密方式,只是对于重要的参数进行AES加密,再将各个参数拼接而成,通过MD5签名后形成最后一个参数...

  • 加密(二)

    加密(一)我们看了加密的引入以及加密的思路,下面我们来看看加密方式具体是怎么实现的,以及引出签名 单向散列函数(O...

  • node.js密码加密实践

    crypto crypto 模块提供了加密的功能,包括对 OpenSSL 的哈希、HMAC、加密、解密、签名、以及...

  • 参数签名(appKey、appSecret、sign)

    为什么要参数签名 保证接口的数据不会被篡改和重复调用 原理 调用端对参数进行加密,服务端也对参数后加密后与调用端加...

网友评论

      本文标题:关于web签名以及参数加密的个人想法

      本文链接:https://www.haomeiwen.com/subject/tcmfeftx.html