小话HTTP Authentication

本文介绍了HTTP的Authentication概念,区分了Authentication和Authorization的区别。接着详细讲解了HTTP Basic Authentication的工作原理及其安全性问题,指出Base64编码可被轻易解密。接着讨论了Replay Attack及其危害,并引入了HTTP Digest Authentication作为解决方案,描述了Digest Authentication如何利用随机nonce值防止重播攻击。最后提到了Digest Authentication的安全性虽提升,但仍存在中间人攻击的风险。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

什么是Authentication?

首先解释两个长的很像、容易混淆的单词,Authentication(鉴定、认证)Authorization(授权)

Authentication就是要证明你是谁。举个例子,你告诉别人你的名字叫Alice,怎么样让别人确信你就是Alice,这就是Authentication。

Authorization则是当别人已经相信是你以后,你是不是被允不允许做做某件事儿。比如,当你已经证明了你就是Alice了,你可以查你自己的信用卡刷卡记录,但不能查Bob的刷卡记录,这就是Authorization(当然,如果Alice是Bob的老婆这种情况除外)。


这篇博客就主要看看HTTP Authentication到底是怎么回事。然后两种常见的Authentication机制:HTTP Basic和Digest。


HTTP Basic

顾名思义,HTTP Basic指的就是最简单的Authentication协议。简单到什么份儿上呢?直接方式告诉服务器你的用户名(username)和密码(password)。这里假设我们的用户名是Alice,密码是123456。


我们使用curl访问服务器

   curl -u Alice:123456 http://kiwiserver.com/secret -v


request头部:

 GET /secret HTTP/1.1
 Authorization: Basic QWxpY2U6MTIz

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值