写点什么

针对 HTTP 数字签名协议和 API 的提议

  • 2011-02-21
  • 本文字数:1118 字

    阅读完需:约 4 分钟

数字签名在遭遇十年多的冷遇后重新回到了我们的视野。这次回归归因于复合应用的出现,复合应用在移动领域中又称为聚合应用。复合应用是一场架构的盛宴,组成复合应用的部分和服务分属不同拥有者的不同域,由不同的团队开发,有着不同的发布周期,使用不同的技术,具有不同的伸缩性、可用性或安全模型。

信任是复合应用的核心问题之一。从身份识别和访问权限的角度来说,所有协同工作的部分和服务都需要彼此信任,以便交付共同的解决方案,这些部分和服务也经常会组成涉及范围颇广的解决方案。鉴于此,HTTP 的核心问题之一就是,HTTP 的认证机制会假定一个由请求处理器验证的单一身份(一个用户或一台服务器)。这样,建立请求涉及各方的身份识别就是HTTP 最大的困难,比如使用应用胖/ 瘦客户端的用户、构建应用的某开发人员。随着大型“独立供应商”将他们受信任的服务逐渐暴露给几乎所有的开发人员,这种情况变得越来越普遍。问题继而成为,HTTP 该如何附带用户、客户端、应用(类型)或应用开发人员的身份识别信息?

Bill Burke提议对 HTTP 协议进行扩展,以支持数字签名和 RESTEasy 里对应的 API。他解释道:

签名确实是 OAuth 协议的一部分,但我曾经希望与认证互相垂直的某些内容能作为客户端、而服务器可以不用 OAuth 进行认证。

我们希望协议能具备以下目标和功能: - 简单的头信息。所有的签名信息都存储在 HTTP 请求或响应头中。这通常能简化框架、客户端、服务器代码对签名的验证。

  • 过期。我们希望能让签名过期。
  • 签名者的信息。我们想知道是谁对消息进行了签名。这可以让接收者在内部注册表里查找验证键值。
  • 你要是不关心签名信息,可以忽略它。
  • 可以将消息和请求转发到多个端点或接收者。
  • 允许多个不同的 URL 发布相同的签名消息。
  • 这并不意味着要去取代能保证消息完整性的 OAuth 或 Digest 协议。

基于 DSig 的协议有个很主要的优势——断定身份的同时还能创建消息内容的防篡改信封,这两个功能通常都要求同时出现。

Bill 建议创建一个特定的 HTTP 头 Content-Signature,示例如下:

复制代码
Content-Signature: type=redhat;
values=signer:expiration;
headers=Content-Type:Date;
signer=bill;
expiration="Sunday, 06-Nov-11 08:49:37 GMT";
signature=0f341265ffa32211333f6ab2d1

真正的问题与其说是如何采用包含数字签名的 HTTP 协议(这仅仅是个“消息信封”的问题),还不如说是“业界该如何解决阻碍 DSig 推广的问题”,特别是互操作性问题。你有没有发现对HTTP 里的认证和防篡改机制有了越来越多的需求?你找到什么解决方案了么?

查看英文原文: A Proposal for an HTTP Digital Signature Protocol and API

2011-02-21 12:283075
用户头像

发布了 151 篇内容, 共 66.4 次阅读, 收获喜欢 18 次。

关注

评论

发布
暂无评论
发现更多内容

ChatGPT:DevSecOps 落地实践的最后一公里

极狐GitLab

DevOps 云原生 Code Review DevSecOps ChatGPT

腾讯安全携手行业伙伴,详解攻击面管理(ASM)技术的“拓客”潜力

极客天地

【换模型更简单】如何用 Serverless 一键部署 Stable Diffusion?

Serverless Devs

云计算 Serverless AIGC

Vue3迎来升级,全面助力企业数字化转型

引迈信息

国产游戏引擎,竟然用来搞民航

Openlab_cosmoplat

人工智能 开源

如何用一行代码实现监测 OpenAI,大幅提升使用体验

Yestodorrow

可观测性 用户体验 应用性能 ChatGPT

Web3和低代码开发:下一代Web应用开发的合作与创新

加入高科技仿生人

前端 Web 低代码

量化交易系统开发——现货策略

薇電13242772558

量化策略

腾讯云首发多款领先新品,TDSQL全新特性助力国产化替代提速

科技热闻

基于HTML5智慧产业园三维可视化运维平台

2D3D前端可视化开发

物联网 数字孪生 三维可视化 工业组态 智慧产业园区

火山引擎DataLeap:3步打造“指标管理”体系,幸福里数据中心是这么做的

字节跳动数据平台

大数据 字节跳动 数据管理 指标管理 数据研发

架构实战-毕业设计

程序员小张

「架构实战营」

SRE方法论之拥抱风险

不思jo

#运维

iTubeGo YouTube Downloader 快速下载视频~

真大的脸盆

Mac 视频下载 网页视频下载 Mac 软件 下载视频

保密+完整+可用+安全,规避代码安全「马奇诺防线」,构建软件供应链整体安全

极狐GitLab

高可用 DevSecOps geo 代码安全 软件供应链安全

软件测试丨Python学习笔记之内置库科学计算、日期与时间处理

测试人

Python 软件测试 测试开发

实践「容器镜像扫描」,Get 云原生应用的正确打开方式

极狐GitLab

Docker DevOps 云原生 DevSecOps 容器镜像

行业分析| 快对讲-融合会议的应用

anyRTC开发者

音视频 视频会议 快对讲 融合会议 电话会议

一文看懂数据云平台的“可观测性”技术实践

科技热闻

低代码开发——进最热的赛道,啃最硬的骨头

引迈信息

前端 低代码 快速开发 JNPF

让算力不再成为瓶颈,小红书机器学习异构硬件推理优化之道

小红书技术REDtech

机器学习 架构 异构计算

inBuilder低代码平台开发者分享课丨提交PR的正确姿势

inBuilder低代码平台

ChatGPT到来个人如何应对

程序员半支烟

人工智能 职业成长

火山引擎DataTester分享:A/B实验中常见的8个错误

字节跳动数据平台

车载手势识别技术:未来交通的革命性解决方案

数据堂

操作系统国产化步入深水区,小程序技术助力生态搭建

FinClip

针对HTTP数字签名协议和API的提议_REST_Jean-Jacques Dubray_InfoQ精选文章