Ok高级SSL女士和家伙 - 我会在两天后给你增加赏金,因为我认为这是一个复杂的主题,应该得到任何思想回答的人的奖励。
这里的一些假设只是:假设,或更确切地说是有希望的猜测。考虑这是一个脑筋急转弯,简单地说“这是不可能的”是错过了重点。
如果你做了类似的事情,欢迎提供替代和部分解决方案,个人经验。即使我的整个计划存在缺陷,我也希望从中学到一些东西。
以下是该方案:
我正在开发嵌入式Linux系统,并希望其Web服务器能够提供开箱即用,无需麻烦的SSL。这是我的目标设计标准:
Must Haves:
很高兴Haves:
不想要:
是的,我知道..
思考上限时间
我使用SSL的经验是生成由“真正的”root签名的证书/密钥,以及通过制作我自己的内部CA,在内部分发“自签名”证书来加强我的游戏。我知道你可以链接证书,但我不确定操作的顺序是什么。即,浏览器“走上”链是否看到有效的根CA并将其视为有效证书 - 或者您是否需要在每个级别进行验证?
我遇到了intermediate certificate authority的描述,这让我想到了潜在的解决方案。我可能已经从“简单的解决方案”转变为“梦魇模式”,但是有可能:
疯狂的想法#1
好的,你很聪明
最有可能的是,我错综复杂的解决方案不起作用 - 但如果确实如此,它会很棒。你有类似的问题吗?你做了什么?有什么权衡?
答案 0 :(得分:7)
基本上,不,你不能按照你希望的方式做到这一点。
您不是中级SSL权限,也不能成为一个。即使你是这样,你也无法向消费者分发为任何域创建新的有效证书所必需的一切,默认情况下在所有浏览器中都是受信任的。如果这是可能的,整个系统将会崩溃(而不是它没有问题)。
您通常无法让公共机构签署颁发给IP地址的证书,但在技术上没有任何阻止它。
请记住,如果您确实在除防篡改的安全加密模块之外的任何设备中分发私钥,则您的设备并非真正受SSL保护。拥有其中一个设备的任何人都可以提取私钥(特别是如果它是无密码的)并对您的所有设备进行有效的签名MITM攻击。你不鼓励偶然窃听,但那是关于它的。
您最好的选择可能是为有效的互联网子域获取和签署证书,然后让设备回答该子域。如果它是传出路径中的网络设备,您可以做一些路由魔术来使其回答域,类似于有多少围墙花园系统工作。您可以为每个系统提供类似“system432397652.example.com”的内容,然后为每个与该子域对应的框生成一个密钥。让直接IP访问重定向到域,并让盒子拦截请求,或者在互联网上做一些DNS欺骗,以便域解析为每个客户端的正确内部IP。使用单一用途的主机域,不要与您的其他商业网站共享。
为证书支付更多费用实际上并没有使他们更加或更不合法。当一家公司成为根CA时,它远非一夜之间的操作。您应该检查并查看StartSSL是否适合您的需求,因为它们不会按证书收费。