gpt4 book ai didi

wcf - 证书,加密和身份验证

转载 作者:行者123 更新时间:2023-12-01 09:06:08 34 4
gpt4 key购买 nike

通常,我的困惑似乎正在从我在WCF上下文中理解安全性的尝试中消除。在WCF中,似乎可以将证书用于身份验证和加密。基本上,我试图理解:

  • 如何将X509证书用作身份验证令牌? ssl证书通常不公开吗?这是否会使它们无法用于身份验证?如果不是,是否有一些通常用于此目的的协议?
  • 使用WCF加密消息时,使用的证书是仅颁发给客户端,仅颁发给服务器或两者都颁发的吗?如果同时使用了来自客户端和服务器的证书,原因尚不清楚。这主要是基于我对https的理解,在这种情况下,仅需要颁发给服务器的证书(并链接到根CA颁发的某些证书​​)就可以建立加密连接并验证服务器。

  • 我不完全确定这是正确的论坛。我的问题源于试图了解WCF,但我想我想大致了解其背后的理论。如果是个好主意,请为我建议正确的论坛。如有必要,我很乐意尝试将此问题迁移。

    提前致谢!

    最佳答案

    好吧,这是一个非常复杂的问题。我将尝试解释一些部分,但要避免尽可能多的细节(即使那样会很长)。

    证书身份验证如何工作?

    如果私钥的持有者对某些数据进行签名,则其他参与者可以使用签名者的公钥来验证签名。此机制可用于身份验证。私钥和公钥存储在证书中,其中私钥在持有人的机器上保持安全,而带有公钥的证书可以公开使用。

    它与HTTPS有何关系?

    WCF提供传输和消息安全性。它们之间的差异描述为here。如果使用HTTP,则传输安全性是HTTPS,其中仅服务器需要颁发的证书,而客户端必须信任此证书。该证书既用于向客户端验证服务器,也用于建立安全通道(使用对称加密)。

    HTTPS还提供了称为Mutual HTTPS的变体,其中客户端也必须已颁发证书,并且客户端使用该证书向服务器进行身份验证。

    消息安全性如何工作?在这种情况下,两个证书的目的是什么?

    在消息安全性的情况下,每个消息都分别进行签名,加密和身份验证=所有这些安全性信息都是消息的一部分。对于SOAP,许多规范对此都有描述,但是通常您对安全性绑定和X.509令牌概要文件感兴趣。

    安全绑定是WS-SecurityPolicy断言的一部分,它描述了如何保护消息。我们有三个绑定:

  • 对称安全绑定-对称加密
  • 非对称安全绑定-非对称加密
  • 传输安全性绑定-断言必须通过HTTPS或其他安全传输
  • 发送消息

    X.509令牌配置文件指定如何在消息中传输证书(公共密钥)以及如何使用它们。

    现在,如果您具有对称安全绑定,则只需要服务器证书,因为
  • 当客户端要将消息发送到服务器时,它将首先生成随机密钥。
  • 它将使用此密钥来加密和签名请求
  • 它将使用服务证书对派生的密钥进行加密,并将其也传递给请求。
  • 服务器收到消息后,将首先使用其私钥对该密钥解密。
  • 它将使用解密的密钥来解密其余消息。
  • 它还将使用密钥来加密响应,因为客户端知道该密钥。
  • 客户端将使用为请求生成的相同密钥来解密响应

  • 这是对称加密,它比非对称加密要快得多,但是密钥派生在WS-Security 1.0中不可用。它在WS-Security 1.1中可用。 HTTPS在内部以类似的方式工作,但是密钥在整个连接生命周期中都是相同的。

    如果您具有非对称安全绑定,则需要两个证书:
  • 发起方必须具有自己的证书,用于签署请求和解密响应
  • 收件人必须具有其自己的证书,该证书用于解密请求和签署响应

  • 这意味着以下算法
  • 发起方使用收件人的公共密钥
  • 加密请求
  • 发起方使用其私钥
  • 签署请求
  • 收件人使用发起者的公钥来验证请求签名
  • 收件人使用其私钥解密请求
  • 收件人使用发起者的公钥来加密响应
  • 收件人使用其私钥对响应签名
  • 发起者使用收件人的公钥来验证响应签名
  • 发起方使用其私钥解密响应

  • 签名和加密的顺序可以更改-还有另一个WS-SecurityPolicy断言,该断言指出应该首先做什么。

    这些是基础。它可能更加复杂,因为消息安全性实际上允许您所需的任意数量的证书-例如,您可以使用背书令牌与其他证书等签署主签名。

    关于wcf - 证书,加密和身份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7285651/

    34 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com