繁体   English   中英

如何实现2个网站之间的安全通信

[英]how to achieve secure communication between 2 websites

我正在准备2个网站之间的通信和数据交换系统,并希望利用Stackoverflow社区成员发布的建议来增强它。

让我通过以下示例来说明我现在的工作方式。

有2个网站

  • server-example.com(现称为SE.com)
  • client-example.com(现称为CE.com)

在站点之间执行数据交换之前,请执行以下步骤。

  • 使用openssl_ *函数,在SE.com上生成异步密钥对
  • 私钥保存在SE.com
  • 公钥通过普通的HTTP请求发送到CE.com(以下详细过程)
  • 公钥使用json_encode函数编码
  • 编码数据被推送到CE.com

进一步,

  • CE.com一旦接收到编码数据,便使用json_decode函数检索PublicKey
  • CE.com使用自定义函数生成随机字符串(称为rkey)
  • 使用opensl_public_encrypt函数对rkey进行加密
  • 加密的数据被推送到SE.com

进一步,

  • SE.com收到加密数据后,会使用openssl_private_decrypt将其解密
  • 现在,SE.com具有与CE.com相同的rkey

现在,假设SE.com需要将以下字符串“ Hello World”发送到CE.com

这两个站点都有用于AES加密-解密的自定义库。

  • SE.com使用具有AES加密功能的rkey来生成加密的文本
  • 生成的加密文本使用json_encode函数进行编码,并推送到CE.com

现在,CE.com获得加密的文本

  • 接收到加密的文本后,它将使用json_decode进行解码并获取“ Hello World”字符串

问题

  • 通信网络安全吗? 从Web角度来讲,SE.com和CE.com之间传输的数据可以以与GET请求类似的方式进行传输吗?
  • 如果有人试图在传输过程中读取传输的数据,他是否可以解密它,并查看其中包含什么?

    另外,提供建议以改善安全性和沟通。

    帮助表示赞赏。

实施客户端证书。 虽然使用服务器端证书可以防止/阻止邮件的拦截,但它不能阻止欺骗SE的人首先与CE对话。

您需要使用双向SSL身份验证

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM