首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用TLS传输位置数据安全吗?

使用TLS传输位置数据安全吗?
EN

Security用户
提问于 2019-12-04 12:10:58
回答 1查看 418关注 0票数 3

使用带有自签名证书的TLS传输位置数据安全吗?

我在网上读了很多各种各样的讨论,这让我想问这个问题。

EN

回答 1

Security用户

回答已采纳

发布于 2019-12-04 13:52:57

显然,TLS加密足以保护您的数据。这个问题的弱点在于所涉及的钥匙的完整性。

证书保护密钥的完整性,确保没有攻击者将合法密钥交换为假密钥,并且在攻击者中间攻击中拦截消息。证书对此的保护方式是由通信网络中所有计算机事先同意信任的根证书颁发机构签名。自签名证书本身没有这样的完整性,因为没有一台参与的计算机知道要信任它。

有几种方法可以解决这个问题。第一个(也是最安全的)是获得由可信证书颁发机构签名的密钥,而不是在自签名证书上。大多数CA对证书收取费用(可以输出证书).您的DNS提供程序可以为您提供一些免费证书,作为其服务的一部分。让我们加密免费向任何人提供CA签名,您可以通过他们的API运行整个过程。其优点是您的系统的安全性将是“正常的”,您的密钥将像任何其他站点一样受到保护;缺点是在学习流程和获得签名证书方面所需的额外工作很少。

另一种方法是生成您自己的自定义根CA。OpenSSL可用于生成CA自签名证书,然后该证书可用于签署其他证书,如您的位置服务器的证书。Google将在几次对openssl的调用中返回大量如何做到这一点的示例。接下来,在希望信任位置服务器通信的所有计算机上,在每个系统的受信任根证书存储区中安装自定义根CA证书。然后使用自定义根CA对位置服务器的密钥进行签名,这些计算机将信任它们。这似乎很容易,因为这只是对OpenSSL的几次调用,并安装了一个新的根证书。你的数据和密钥交换都受到保护。但是,缺点比看起来要大:如果有人设法破坏您自制的CA的私钥,那么所有信任您的自定义CA的计算机现在都很容易欺骗任何TLS通信。(如果您没有权限在所有涉及的计算机上安装新的根CA,这也可能是个问题。例如,如果您的公司PC上安装了自制证书,您的工作场所可能会发生安全事故。)您可以通过谨慎创建自定义CA、将私钥脱机保存在存储在保险箱中的拇指驱动器上等方法来降低这种风险,但这是一项巨大的工作,但没有什么能解决在外部管理的计算机上安装的问题。

还有第三种选择:用你的眼球看这个证书,确保它和你开始使用的证书相同--每次你使用它。虽然这是可行的,但它一次只保护一个密钥交换。一年后,如果您粗心大意,并且在交换数据之前忘记检查证书,那么中间攻击者可能会攻击而您不会注意到。

第四个选项,也就是我认为您要去的地方,就是完全忽略密钥交换的完整性,并希望没有攻击者试图拦截您的通信。当然,如果你被袭击了,你永远也不会知道。如果你能承受这种风险,为什么还要费心加密呢?

票数 7
EN
页面原文内容由Security提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://security.stackexchange.com/questions/222271

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档