繁体   English   中英

我可以将自签名SSL证书用于商业目的吗?

[英]Can I use a self-signed SSL certificate for commercial purposes?

我正在使服务器客户端使用ssl进行注册和登录过程。
(如果有问题,这是给iphone的)

我刚刚开始研究什么是ssl以及如何使用它,并且
看到过程中有证书可以购买或自签名。

如果我在Web服务器中使用自签名证书,则Web浏览器会警告该证书是自签名的,据我了解。
但是,如果我在带有tcp(而不是http)的常规应用程序中使用自签名证书,会发生什么情况,特别是iphone。

我只想确保注册/登录信息(密码)安全,
并希望为此可以使用自签名证书。 但是我还需要确保当在Web浏览器以外的应用程序中使用时,不会引起“不可信证书-警报”类型的中断。

  • 编辑

我了解“不可信证书警报”表示客户端不应信任该服务器。

但是在我的情况下,客户端不需要对服务器进行身份验证。
服务器只需要以安全的方式获取客户端的密码。

谢谢

要回答您的问题:您可以 ,但不可以

首先,仅使用SSL进行身份验证根本不安全。 身份验证过程可能会产生某种会话(例如cookie),然后无需加密即可进行传输。 因此,会话可能被盗(请参阅会话劫持 )。

其次,使用自签名证书可以进行中间人攻击 因此,有人可以窃取用户的密码,而他甚至可能不会注意到它。 用户不知道客户端收到您的自签名证书时弹出的警报与使用攻击者自签名证书时显示的弹出窗口之间的区别。

我的建议:不要使用自签名证书。 发生攻击时,对您和您的客户都是有害的。

当您使用SSL连接通过密码对登录对话进行加密时,服务器会向客户端发送一个公钥(以证书的形式),然后客户端会生成一个一次性会话密钥,并使用服务器的公钥对其进行加密,并将其发送到服务器。 然后,服务器可以解密会话密钥,因为它具有私钥。

然后,用户使用会话密钥对自己的密码进行加密,然后将其发送到服务器,该服务器可以解密该密码,因为它知道会话密钥。

现在,如果没有PKI,如果攻击者想要学习您的密码,他就可以欺骗服务器。 他会以通常的方式将您公钥发送给您,并且您将生成会话密钥等,并向他发送您可以解密的密码因为您将使用他的密钥而不知道是否可以信任它。

PKI通过要求将公钥作为证书分发来保护您免受这种攻击。 如果您信任签署证书的CA,则可以知道公钥确实确实属于服务器,并且可以安全地使用它来加密密码。 如果您不使用证书-或使用不受信任的证书-您通常不知道要将密码发送给谁。

您没有提供有关您自己的特定用例的足够信息,无法确定您是否可以使用自签名证书...例如:可能是您有一个固定证书,该证书预先由某个受信任的渠道分发。并且您可以在开始SSL对话时检查是否使用了正确的证书。 如果是这种情况,那么您的客户已经知道它具有正确的公钥,并且不需要检查签名。 但是,通常,您需要由受信任的CA签名的适当证书,否则就没有安全性。

这就是受信任的签名机构的全部要点-别人签名的任何事物都应该发出安全警报。 因此,没有,没有一种有用的方法来覆盖它(除非您可以控制客户端计算机,例如,可以将自己的CA添加到客户端列表中的用于公司内部站点的自签名证书),网络浏览器或其他任何东西。

使用自签名证书,用户如何知道该证书是您的还是攻击者的? 他不能。

例如,如果您完全控制过程的两端(服务器和客户端),则可以指示客户端始终信任“来自Eugene的具有A01AABB546AC指纹的证书”,但是随后您需要构建自己的证书基础结构(到期/撤消)。

由于存在中间人的可能性,因此使用自签名证书不会增加任何理论上的安全性。 进行此通信的对方(您的客户端和您的服务器)将没有关于谁在说话或在听的其他信息,而这种加密的目的是确保通信中只有两个参与者,并且身份的标识至少其中之一是已知的。

对于您而言,密码将不会安全地传输给您,因为您不知道密码是否在途中通过了第三方。 同样,用户也不知道将密码发送给谁。

在实践中,一个处于中间攻击状态的人将需要做一些工作,也许该障碍是某种安全性,但与强迫用户接受后果不明的安全警告的烦恼形成对比,事实上存在“错误的安全感”的风险。

有些公司提供免费的证书,这些证书的验证形式最少(它们只会检查您是否“拥有”电子邮件地址hostmaster @ domain)。 这样,您也不必与警告有关。

如Piskvor所说,除非您有办法用该应用程序打包证书或其指纹。

回答了-对于这种事情,您应该没事。 用户唯一不会得到的方法是确认证书的信任级别(例如,您可以在浏览器中使用已签名的证书),但是根据您对@Piskvor的评论,听起来不像是问题:您没有为此使用它。

暂无
暂无

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

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