我正在构建我的第一个网络应用程序,我有两个关于安全性的问题。
我会向我的POST
请求发送和接收非常敏感的数据
api将托管在Azure或AWS上。我可以发送和接收吗?
SSL上的明文数据是否安全?我可以访问我的
天空网站https
,是否足够安全或我应该购买另一个
SSL证明?
我搜索了一下,有不同类型的SSL 证书,我读了一些证书提供绿色挂锁或绿色地址栏,但我不需要这些东西,因为我的网络应用程序 我的移动应用程序将可用,并且没有内容可供浏览。只有一个页面下载链接到我的移动应用程序,以防有人找到此网站。因此,对于我的情况,所有证书在同一级别都是安全的吗?
P.S。我不会添加自定义域名,如果相关的话。
答案 0 :(得分:3)
一次回答一个问题;
SSL的现代实现通常被认为很漂亮 坚如磐石的;它被银行,医疗机构和专业人士使用 互联网公司。通过SSL以明文形式发送数据是 这些应用程序足够安全,并尝试用SSL替换SSL 你自己的加密方案几乎肯定比它的价值更麻烦。 您应该获得自己的SSL证书;我不知道Azure对https访问有什么限制,如果有的话,依靠你无法控制的密钥总是不好的做法。
SSL依赖于信任网络;浏览器(和其他互联网应用程序)验证证书站点发送它们 一组受信任的机构。如果证书已获批准 (使用权限的私钥签名),浏览器接受 证书为正版,并使用它来协商SSL连接 与该网站没有进一步投诉。这就是绿色 挂锁/地址栏的意思;一个网站提供了有效的 由浏览器信任的权威机构签署的证书。这不是 意味着签名证书本质上比一个更安全 但是,未签名的证书。两者都使用相同的加密 算法,和(可)具有相同的长度密钥和SSL 每个可以建立的连接同样安全。区别 两者之间是你无法验证"真实性"一个 未签名/自签名证书;攻击者可以拦截攻击者 连接并用自己的证书替换未签名的证书 证书,浏览器无法告诉它是否有 是否是正确的证书。你可以克服这个问题 然而,应用程序使用了一种名为" certificate pinning"的技术。 基本上,您使用包装证书的公钥 您的应用程序,您的应用程序只接受证书 在设置连接时与该密钥相关联。
最终,它取决于您的攻击者模型。您是否正在保护这些数据免受犯罪分子和随意窃听者的攻击?或者您是否试图将其隐藏在政府监督和情报机构之外?对于前者,由信誉良好的机构签署和颁发的SSL证书绰绰有余。对于后者,您必须考虑证书的来源,以及谁可以访问颁发证书的根CA.最好生成自己的,并在SSL之上设计一些进一步的方案。