首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在网站中使用证书进行身份验证

在网站中使用证书进行身份验证
EN

Security用户
提问于 2022-04-30 22:59:15
回答 1查看 245关注 0票数 -1

今天,我面对一个与政府有关的网站,该网站向我展示了我在一个组合框中的所有证书,以便在该网站上进行认证。

那些证书是什么?

我如何在asp.net网站上展示它们呢?

浏览器可以访问这些证书吗?

如果是,为什么会有这样的访问?

有人能把它们偷来,用在进攻中间的人身上吗?

我发现这是关于偷数字证书的:

为什么偷数字证书?

请给我一些关于这个的建议。

EN

回答 1

Security用户

回答已采纳

发布于 2022-05-01 00:32:01

网站没有给你看任何东西。服务器调用SSL/TLS协议中的少用选项--现在是TLS1.2 RFC5246 7.4.4TLS1.3 RFC8446 4.3.2 --要求客户机(即浏览器)使用证书进行身份验证。浏览器显示了一组合适的证书--这些证书安装在您的系统或浏览器中,您有私钥,并且来自服务器指定的CA (如果是这样的话) --供您从中选择。通常,如果只有一个合适的选择(并只使用它),浏览器可以被配置为跳过此对话框;如果没有合适的选择,浏览器总是跳过对话框并告诉服务器'no cert for you',然后服务器决定是否允许您不使用cert连接(在这种情况下可能只允许受限的功能),或者完全拒绝连接。

我如何在asp.net网站上展示它们呢?

您可以通过请求客户端身份验证(也称为客户端证书)使浏览器显示它们。我不使用asp.net,而且关于编程特定软件的问题无论如何都是不主题的,但是快速搜索可以找到微软文档和下面的“沿着大厅”:

https://stackoverflow.com/questions/35582396/how-to-use-a-client-certificate-to-authenticate-and-authorize-in-a-web-api

https://stackoverflow.com/questions/53761660/net-core-web-api-with-client-certificate-authentication

https://stackoverflow.com/questions/60477579/certificate-authentication-implementation-in-asp-net-core-3-1

浏览器可以访问这些证书吗?如果是,为什么会有这样的访问?

绝对一点儿没错。浏览器必须访问证书(包括与cert关联的私钥,但不是cert的严格意义上的部分),以便执行SSL/TLS协议中定义并由服务器请求的身份验证过程。这就是服务器决定你是谁的方式。

有人能把它们偷来,用在进攻中间的人身上吗?

不是靠他们自己。偷你的证书和私钥的人可以冒充你。例如,如果这个政府网站允许公民注册服兵役,有人可以在你不知情的情况下使用你的证书和钥匙来招募你,而当公共汽车在一天早上5点出现在你家,带你去参加基本培训时,你会感到不快。

但拥有证书并不能让人模仿任何网站,包括政府网站,这是MitM的目标。为此,他们必须在系统或浏览器中插入证书颁发机构(CA)证书,或者让您(或其他授权人员)插入证书。现在,任何有足够权限窃取您的证书的犯罪分子都可能有足够的权限插入CA证书,因此您面临的风险来自于攻击者,而不是您询问的攻击。

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

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

复制
相关文章

相似问题

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