系统间跳转安全加密方案

简介: 提供系统间跳转安全加密方案

一、系统间页面跳转安全需求

很多企业应用都有以下的场景:第三方系统携带参数跳转到本公司应用的页面,需要确定这个跳转确实是由特定第三方公司发起的,跳转的时候携带的参数不被黑客修改,携带的参数是加密的,不能明文显示,这就是典型的的安全要求:

1、确保数据来源可信

2、确保数据不被泄漏

3、确保数据不被篡改


二、安全方案

1、采用数字签名算法确保来源可信

数字签名算法可以看作是带有密钥的消息摘要算法,是非对称加密算法和消息摘要算法的结合体,能够对数据的来源进行认证,保证来源的可信,防止数据传输过程中的伪冒。一般情况下,数字签名算法是先使用消息摘要算法对原始消息进行摘要计算,然后使用私钥对摘要值进行签名处理,验证签名的时候择使用公钥验证消息的摘要值。

典型的数字签名算法有:RSA、DSA、ECDSA、国密SM2等,其中RSA堪称是非对称加密算法的经典,基于RSA算法秘钥,结合消息摘要算法就可以形成对应的签名算法,例如MD5WithRSA、SHA1WithRSA等。


2、采用对称加密算法加密数据

对称加密算法是目前应用范围最广的加密算法,其加密的密钥和解密的密钥是相同的,所以称为对称加密,加密的速度较快,性能较好,常用于数据传输过程中原始数据的加密。

目前最常见的对称加密方式有:DES、3DES、AES、IDEA、PBE等,其中AES和3DES应用最为广泛。

3、采用摘要算法防止数据被篡改

消息摘要算法普遍应用于验证数据的完整性,判断用于数据是否被篡改过,这是非常重要的,如果没有校验很容易导致被篡改的数据进入系统,对于金融等行业来说,是非常严重的。

消息摘要算法经过多年的发展,主要包括以下几种:MD算法、SHA算法、MAC算法、CRC算法,说起MD5、SHA1、CRC32,都是大家耳熟能详的算法了,应用非常广泛。

三、使用案例

既然整体方案确定了,那么我们接下来就一起以一个具体的案例来看看使用以上方案进行安全跳转的步骤:

1、假设待跳转的连接为:http://baidu.com,待携带的参数为name=hello。

2、使用AES对称算法对hello进行加密,生成加密后的加密值。

3、使用CRC32算法对"name=hello加密值"进行消息摘要处理,生成校验码记为crc,这里也可以使用其他的算法,自主选择合适的即可。如果有多个待携带的参数,则按照字典进行参数排序,以key=value的形式用&进行拼接。

4、第三方系统生成公私钥,使用MD5WithRSA算法,使用私钥对"name=hello加密值"字符串进行签名,签名值使用Base64算法编码,记为sign。

5、将参数、crc、sign携带在url上进行跳转,http://baidu.com?name=xxxxxxxxx&crc=yyyyyyy&sign=zzzzzzz

6、服务端收到跳转请求以后解析url上的参数,分别获取到name,crc和sign。

7、服务端使用第三方系统提供的公钥对sign签名进行签名校验

8、校验通过以后对参数按照字典进行排序,以key=value的形式用&进行拼接,然后同样使用CRC32算法进行摘要计算,生成出的校验码与crc值进行比对,如果相等,则证明了完整性。

9、使用双方约定的AES密钥对参数的值进行解密,得到最终的参数值。

以上就完成了完整流程的跳转安全校验,其中使用的算法可以根据需要灵活替换。

相关文章
|
3月前
|
安全 搜索推荐 前端开发
揭秘 HTTPS 加密协议:保护你的网上安全之道
揭秘 HTTPS 加密协议:保护你的网上安全之道
148 0
|
4天前
|
NoSQL 安全 MongoDB
MongoDB安全机制:认证、授权与加密
【4月更文挑战第30天】MongoDB提供全面的安全机制,包括认证(用户名/密码、LDAP、Kerberos、x.509证书)、授权(基于角色的访问控制,RBAC)和加密(TLS/SSL、透明数据加密TDE、字段级加密FLE),确保数据保密性、完整性和可用性。通过合理配置这些机制,企业可保障数据安全,应对不断变化的安全威胁。
|
4天前
|
安全 Java Go
【Go语言专栏】Go语言中的加密与安全通信
【4月更文挑战第30天】本文介绍了Go语言中的加密与安全通信。通过使用golang.org/x/crypto/ssh/terminal库实现终端加密,以及golang.org/x/net/websocket库实现WebSocket安全通信。文章展示了安装库的命令、加密操作及WebSocket通信的示例代码。此外,还列举了安全通信在数据传输加密、用户认证、密码保护和文件加密等场景的应用。掌握这些知识对开发安全的Web应用至关重要。
|
7天前
|
存储 安全 算法
【专栏】保护数据安全的重要性:安全加密算法在数据保护中的应用
【4月更文挑战第27天】在数字化时代,数据安全至关重要,关系到个人隐私、企业商业机密、国家安全及经济发展。安全加密算法(如对称加密、非对称加密和哈希算法)在保护数据方面发挥关键作用。它们应用于电子商务、金融、物联网、云存储和数字签名等领域,确保信息传输和存储的安全。面对日益复杂的挑战,我们需要持续研究和应用加密技术,提高数据安全意识,共同维护数字世界的繁荣与安全。
|
8天前
|
安全 算法 网络安全
|
18天前
|
SQL 安全 网络安全
IDEA DataGrip连接sqlserver 提示驱动程序无法通过使用安全套接字层(SSL)加密与 SQL Server 建立安全连接的解决方法
IDEA DataGrip连接sqlserver 提示驱动程序无法通过使用安全套接字层(SSL)加密与 SQL Server 建立安全连接的解决方法
38 0
|
1月前
|
PHP 数据安全/隐私保护
PHP在线加密系统网站源码
这个是sg的加密,免费可用(目前)并不会收费 源码说明:下载直接上传即可
20 1
PHP在线加密系统网站源码
|
2月前
|
机器学习/深度学习 安全 算法
安全多方计算之三:同态加密
安全多方计算之三:同态加密
406 42
|
3月前
|
安全 搜索推荐 API
【现代密码学】笔记 补充7-- CCA安全与认证加密《introduction to modern cryphtography》
【现代密码学】笔记 补充7-- CCA安全与认证加密《introduction to modern cryphtography》
113 0
|
3月前
|
机器学习/深度学习 安全 搜索推荐
【现代密码学】笔记3.4-3.7--构造安全加密方案、CPA安全、CCA安全 《introduction to modern cryphtography》
【现代密码学】笔记3.4-3.7--构造安全加密方案、CPA安全、CCA安全 《introduction to modern cryphtography》
50 0