- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
响应负载验证
是一种使用消息认证代码( 苹果机) 算法提供部分HTTP请求加密验证的HTTP认证方案。 有关更复杂的用例( 如访问委派),请参见 。
当前版本:7.x
注意:协议自 1.1版本以来没有更改。 版本增量反映了节点API中的更改。
目录
· 收费简介:
o 重放保护系统
o 用法示例
o 协议示例
§ 负载验证插件
§ 响应负载验证
o 浏览器支持和注意事项
· 单URI授权
o 用法示例
· 安全考虑
o MAC密钥传输接口
o 请求请求的保密性。
o 假冒服务器的欺骗
o 明文存储凭证
o 键的熵
o 覆盖范围限制
o 未来时间操纵工具
o 客户端时钟
o Bewit限制
o 主机头伪造文件
· 常见问题
· 实现
· 确认
简介
收费 Hawk提供一个HTTP身份验证方案,它提供对请求和响应的部分加密验证,包括HTTP方法。请求 URI 。主机和可选的请求负载的验证。
,Digest Digest访问认证方案类似 Hawk使用一组客户端凭证,其中包括标识符( 比如 ) 和,。 用户名) 和密钥( 比如 。密码) 。 同样,与摘要方案一样,密钥永远不会包含在经过身份验证的请求中。 而是用来计算一个请求的MAC值,它包含在它的位置。
然而,与摘要有几个不同之处。 ,的Hawk在 Hawk Hawk,客户端生成nonce并与时间戳结合使用,从而减少了chattiness( 与时间戳)的组合,从而减少了( 与服务器交互) 。
同样,这种方案不用于保护密钥本身( 摘要中的密码),因为客户端和服务器都必须访问密钥。
这里方案的主要设计目标是:
· 对于不愿意或者无法为所有资源部署TLS的服务简化和改进HTTP身份验证,
· 防止泄漏( 比如,当客户端使用某种形式的动态配置来确定发送身份验证请求的位置时)的安全凭证,以及
· 避免通过未经身份验证的安全通道将凭据发送到恶意服务器,因为客户端无法验证服务器的身份。
,Hawk支持使用称为 bewit的查询参数granting第三方访问单个资源的方法。
英镑Hawk方案需要在客户端和服务器之间建立共享对称密钥,这超出了本机的范围。 通常,共享凭证是通过初始的tls保护阶段建立的,或者从客户端和服务器提供的其他共享机密信息中派生出来。
实时重播保护
如果没有重放保护,攻击者可以多次使用一个被破坏的( 但其他有效和经过认证的) 请求,从而获得对 protected 资源的访问。 为了减少这一点,客户端在发出请求时同时包含一个nonce和一个时间戳。 这给服务器提供了足够的信息来防止重放攻击。
nonce由客户端生成,它是在所有具有相同时间戳和密钥标识符组合的请求中唯一的字符串。
时间戳允许服务器限制随后发生请求的凭据的有效期限被拒绝。 它还消除了服务器在未来检查中保留无限数量的临时值的需要。 默认情况下, Hawk使用时间窗口 1分钟客户端和服务器服务器之间的时间偏移。
使用时间戳需要客户端的时钟与服务器时钟同步。 Hawk需要客户机时钟和服务器时钟来使用NTP来确保同步。 但是,由于某些客户端类型的限制( 比如 。 浏览器部署 NTP,服务器为客户端提供了当前时间( 以秒为单位),以响应错误的时间戳。
客户不会期望将它的系统时钟调整为 MATCH 服务器( 实际上这可能是一个潜在的攻击向量) 。 相反,客户端只使用服务器的时间来计算仅用于与特定服务器通信的偏移量。 协议通过减少认证第一个请求所需的往返次数来给客户端提供同步时钟。
用法示例
服务器代码:
const Http = require(http);
const Hawk = require(hawk);
// Credentials lookup functionconst credentialsFunc = function (id) {
const credentials = {
key: werxhqb98rpaxn39848xrunpaw3489ruxnpa98w4rxn,
algorithm: sha256,
user: Steve
};
return credentials;
};
// Create HTTP serverconst handler = async function (req, res) {
// Authenticate incoming request
const ( credentials, artifacts } = await Hawk.server.authenticate(req, credentialsFunc);
// Prepare response
const payload = (!err ? `Hello ${credentials.user} ${
您可能关注的文档
最近下载
- 高考作文模拟写作直面青春迷茫导写(附写作指导及范文点评) 2021范文.doc VIP
- 餐厅6S制作流程.pptx
- 《现代酒店服务英语》Chapter2 客房预订部服务.ppt VIP
- 北京现代领动_汽车保养手册用户服务指南车辆维护保修说明书电子版.pdf VIP
- The Beginning-钢琴谱 原调简谱 高清正版完整版双手简谱.pdf
- 高考作文模拟写作:贫困应该带给我们的 导写(附:写作指导及范文点评).docx VIP
- 光伏发电+储能项目建议书写作模板.doc VIP
- 交通安全风险评估.pdf VIP
- 隧道注浆施工记录表.doc VIP
- 《现代酒店服务英语》Chapter1 前台服务.ppt VIP
文档评论(0)