首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MTLS (相互TLS)详细信息

MTLS (相互TLS)详细信息
EN

Stack Overflow用户
提问于 2013-10-26 08:26:05
回答 4查看 29.6K关注 0票数 13

我有一个关于相互TLS (MTLS)的问题

我知道对于MTLS,双方、客户端和服务器都会交换证书。这些证书应该由双方都可以信任的CA签名,以便验证证书。

我的问题是,MTLS是否也意味着除了验证证书(如果CA是可信的,叶证书是可信的),任何一方(服务器或客户端)也可以执行一些额外的检查,如主机名检查或连接到服务器的客户端是否在批准的受信任实体列表中?

有人能告诉我MTLS的规格吗? MTLS的管理费用是什么?

谢谢!

EN

回答 4

Stack Overflow用户

发布于 2013-10-26 14:37:48

除了EJP所说的"MTLS“术语之外,TLS 1.2 specification对要检查什么信息以及以何种方式进行检查没有严格的要求。

由接收方决定所提供的证书是否可信。这意味着,例如,服务器可以只接受属于服务器所属公司的CA颁发的证书。这就是客户-银行访问系统通常的工作方式-它们只接受银行颁发的证书,并且这种证书的通用名称必须与web表单中提供的用户名相对应。

双方都可以自由地检查证书中的任何信息,包括直接比较公钥散列(因此,无论其他证书属性中包含什么,都只有特定的密钥对有效)。

票数 11
EN

Stack Overflow用户

发布于 2018-04-17 04:36:45

关于这个主题的最新RFC是:

https://datatracker.ietf.org/doc/draft-ietf-oauth-mtls/这是OAuth 2.0的扩展

本文档旨在定义如何在替换客户端ID和密钥(也称为客户端凭据)的上下文中使用TLS证书的机制

该标准建立了两种机制,即如何将TLS证书用作客户端凭据、关联的令牌流和属性。

对此的概括是:

(a)授权服务器:根据PKI (由有效的根用户签名)检查证书RFC没有定义选项,但它们非常简单,并且取决于用例。但它可以是(1)证书由受信任的根签名,并且未被吊销,(2)基于某种逻辑单独识别每个证书。

(b)资源服务器检查令牌和客户端证书(客户端凭证,或CC),并在底层TLS会话中使用。请注意,在TLS层没有关于证书或其来源的验证检查,所有检查都在应用层执行。因此,资源服务器应该以这样的方式配置TLS堆栈,即它不验证在握手期间由客户端提供的证书是否由信任的CA证书签名。

这种机制在一些GDPR上下文中变得特别有趣,因为它使得客户端和服务器之间无法共享令牌。

总体而言,这是一个很好的隐私保护功能,并提高了安全性。

票数 8
EN

Stack Overflow用户

发布于 2021-12-06 00:44:43

mTLS可以通过向所有各方颁发CA证书并将这些证书添加到所有通信方来实现,这是一种访问控制列表。在你的应用程序的信任存储中拥有CA证书的任何人都可以连接。

然而,信任系统与TLS在https连接的情况下是相同的-您可以从同一CA颁发多个证书,并将根CA证书添加到应用程序的信任存储区。它将信任从同一根颁发的所有证书。这可以说更容易设置,因为您只需添加应用程序自己的证书和CA根目录。但是,如果要撤销证书,就会变得稍微复杂一些。

我在这里写了一个生成证书的指南:

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

https://stackoverflow.com/questions/19601420

复制
相关文章

相似问题

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