HarmonyOS开发者限时福利来啦!最高10w+现金激励等你拿~ 了解详情
写点什么

针对 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:282753
用户头像

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

关注

评论

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

FlyFishV2.1更新,更好用的数据可视化编排平台

云智慧AIOps社区

开源 前端 数据可视化 大屏可视化

一个完整的计算机系统是由什么组成的?

InfoQ IT百科

未来十年,什么开发工程师最火爆?

TinTinLand

区块链

2021年阿里、腾讯、百度

爱好编程进阶

Java 面试 后端开发

ScheduleMaster分布式任务调度中心基本使用和原理

神农写代码

如何为数据库选择最佳加密方法

郑州埃文科技

数据库 加密算法

将博客搬至CSDN

爱好编程进阶

在不使用任何库的情况下,如何反转给定句子中的单词?

InfoQ IT百科

10 个使用 SQL 的 AWS 服务

郑州埃文科技

AWS sql

IP 地理定位:通过地理围栏改善虚拟环境中的数据丢失防护

郑州埃文科技

数据安全 地理围栏 ip地理定位

线程的定义是什么?

InfoQ IT百科

为什么计算机启动最开始的时候执行的是BIOS代码而不是操作系统自身的 代码?

InfoQ IT百科

在一个元素为 1 到 100 的整数数组中,如何搜索缺失元素?

InfoQ IT百科

给定一个乱序数组,如何搜索最大和最小元素?

InfoQ IT百科

162基于springboot宠物管理系统

爱好编程进阶

Java 面试 后端开发

Authing 正式加入 W3C 组织,将参与相关国际标准制定

Authing

开发者 云原生 API Idaas W3C

乙巳篇 天、地、人三才立 《「內元宇宙」聯載》

因田木

中庸

java培训Redis的库存扣减操作

@零度

redis JAVA开发

在没有递归的情况下如何反转单链表?

InfoQ IT百科

1000页神仙文档,连阿里P8面试官都说太详细了,面面俱到!搞懂这些直接P6+

爱好编程进阶

Java 面试 后端开发

web前端培训react面试题分享

@零度

前端开发 React

大数据培训flink中核心设计、抽象和线程模型

@零度

flink Netty 大数据开发

分享15款免费好用的中文字体

源字节1号

网站开发

如何使用堆栈算出两个链表的总和?

InfoQ IT百科

2021最新Java面试标准,26个技术点一千多道面试题全曝光,赶紧学

爱好编程进阶

Java 面试 后端开发

2021最新一次Java面试,快手三面一轮游,如今已拿意向书

爱好编程进阶

Java 面试 后端开发

什么是127.0.0.1,如何使用这个IP地址

郑州埃文科技

IP地址 localhost

WEB PC 管理端打包详细教程

CRMEB

从IPv4到IPv6为什么这么久?IPv5哪里去了?

郑州埃文科技

ipv6 ipv4 ipv5

线程和进程有什么区别?

InfoQ IT百科

1000道阿里巴巴初级~高级Java工程师面试题(含答案

爱好编程进阶

Java 面试 后端开发

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