mrchi
V2EX  ›  问与答

个人网站中, HTTPS 客户端证书是否可以代替认证校验?

  •  
  •   mrchi · Jun 22, 2021 · 1830 views
    This topic created in 1809 days ago, the information mentioned may be changed or developed.

    个人网站在仅自己访问的情况下,由于不涉及到商业网站为大量客户签发 Client Certificate 造成的费用、管理和用户易用性的问题,是否能用 HTTPS 客户端证书代替认证校验?

    理论上服务端配置得当的话,没有正确的客户端证书是无法请求到内容的吧?

    10 replies    2021-06-23 14:15:44 +08:00
    dingwen07
        1
    dingwen07  
       Jun 23, 2021 via iPhone
    可以
    3dwelcome
        2
    3dwelcome  
       Jun 23, 2021
    感觉客户端证书认证体系配置起来挺麻烦的。
    个人网站认证传 cookie 就好,反正别人又没办法截取。
    cnnblike
        3
    cnnblike  
       Jun 23, 2021
    可以,在亚马逊内部就是这么做验证的(当然亚马逊有自己的 ca ),client certificate 只有一个不好,就是你在用 caddy 之类的时候(我只试过 1.x )反向代理很难配置正确
    cnnblike
        4
    cnnblike  
       Jun 23, 2021
    如果只是为了方便实现的话,可以在 openldap/saml 之类的 sso 上加 client certificate 验证,然后其他的网站调用 sso 在 cookie 里的结果
    Tink
        5
    Tink  
    PRO
       Jun 23, 2021 via Android
    可以,有点麻烦
    jim9606
        6
    jim9606  
       Jun 23, 2021
    只要你自己不觉得烦,完全可以,而且安全性很高。

    TLS 客户端认证的坏处是,常见的 WebServer 实现在进行 Client Auth 失败后会直接关闭连接。浏览器除了显示 Bad Client Auth 之外没法显示任何东西,包括 trouble shooting 指引。Server 日志除了一条 Client Auth Failed 之外也不能提供更多信息。

    当然个人使用这些都是小问题。
    jim9606
        7
    jim9606  
       Jun 23, 2021
    @3dwelcome 网上一大堆直接用 openssl 或者 easyrsa 命令行搞确实比较劝退。
    推荐下自用方案——XCA,图形化操作。
    passerbytiny
        8
    passerbytiny  
       Jun 23, 2021 via Android
    客户端证书(数字签名)是最高级别认证手段,同时也是易用性最低的。是否用主要看安全性和易用性怎么权衡。
    Kahnn
        9
    Kahnn  
       Jun 23, 2021
    可以,网银都用这玩意,安全性有保证
    julyclyde
        10
    julyclyde  
       Jun 23, 2021
    安全方面没啥问题,银行都这么用的
    问题就是签发很麻烦
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2978 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 44ms · UTC 07:50 · PVG 15:50 · LAX 00:50 · JFK 03:50
    ♥ Do have faith in what you're doing.