携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第26天,点击查看活动详情
大家好,我是阿萨。 计算机本身无法识别使用者身份, 那么就需要一些登录者本身才有的信息来让计算机核对身份。
\
常见的核对身份方法有:
- 密码
- 动态令牌,比如OTP
- 数字证书,U 盾之类的
- 生物认证,指纹,面部识别,虹膜等
- IC 卡等。
\
常见的HTTP 认证方式有哪些呢?
\
- Basic 认证
- DIGEST 认证
- SSL 客户端认证
- FormBase 认证
\
一. Basic 认证 步骤
\
客户端说我要这个资源。服务器端返回没有认证,需要认证。客户端发送Base64编码后的用户名和密码给服务器端,服务端校验,通过200, 失败401.\
安全级别不高,所以大多数网站不使用。
\
二. DIGEST 认证\
\
\
\
客户端发送请求,服务端给个质询码,和没有认证的401. 客户端发送质询码, 服务端校验,通过200, 失败401.
\
DIGEST 认证安全级别也不高,所以很多网站都没有使用。\
\
三. SSL 客户端认证步骤
\
步骤 1:客户端发送需要认证的请求。
步骤 2: 服务器会发送 Certificate Request 报文,要求客户端提供客户端证书。
步骤 3:客户端会把客户端证书信 息以 Client Certificate 报文方式发送给服务器。
步骤 4:服务器验证通过,获取证书内客户端的公开密钥,然后开始 HTTPS 加密通信
\
也有SSL的双因子认证。
虽然安全,但是费用过高。\
\
四. 基于表单的认证
\
客户端给服务器端发送登录信息,根据登录信息的验证结果进行验证。
因为表单认证方法的标准规范不像SSH 或者FTP 协议,所以Web 应用程序实现的基于表单的认证方法各不相同。\
\
因为实现方式不同,所以安全级别也各不相同。\
\
以上就是HTTP认证相关内容, 你学会了吗?
\
如果觉得阿萨的内容对你有帮助,欢迎围观点赞。