OceaBase开发者大会落地上海!4月20日共同探索数据库前沿趋势!报名戳 了解详情
写点什么

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

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

关注

评论

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

UltraCompare for Mac:强大易用的文件与文件夹对比工具

晴雯哥

Java Stream中的API你都用过了吗?

EquatorCoco

Java 架构 stream

ITSS会议周丨新华三参编运维国标发布,探索技术服务发展新路径

Geek_2d6073

Millumin for Mac(舞台演出视频实时编辑软件) v4.18a完美激活版

mac

苹果mac Windows软件 Millumin 视觉表演软件

Royal TSX for Mac:高效、便捷的远程桌面管理工具

晴雯哥

使用Python调用API接口获取小红书笔记详情数据

Noah

线上ES集群参数配置引起的业务异常案例分析

vivo互联网技术

性能 Elastic Search

刷到一个很骚气的 Go 错误处理新提案

伤感汤姆布利柏

Go 语言

如何在AppLink配置金蝶云星空预算使用单流程

RestCloud

APPlink

数十万QPS,百度热点大事件搜索的稳定性保障实践

百度Geek说

百度搜索 稳定性保障 阿拉丁 企业号11月PK榜

Android和iOS应用程序加固方法详解:混淆、加壳、数据加密、动态加载和数字签名实现

从规范管控到体验升级,看银行业如何把招聘玩出新花样?

用友BIP

数智招聘

如何使用 CSS columns 布局来实现自动分组布局?

伤感汤姆布利柏

CSS 前端

营销数智化解析第6期:用友BIP | CRM 销售自动化场景

用友BIP

营销数智化

ShareMouse 激活最新:mac鼠标键盘共享神器

胖墩儿不胖y

Mac软件 共享鼠标的工具 鼠标共享

FP-Growth算法全解析:理论基础与实战指导

EquatorCoco

Python 算法 FP&A

XnViewMP for Mac(跨平台媒体浏览查看和转换器)v1.6.2.0激活版

影影绰绰一往直前

用这5招,Java 校验 SQL 语句的合法性

秃头小帅oi

前端 低代码 Java’

DEVONthink for Mac(mac文件管理工具) v3.9.4免激活版

iMac小白

强大的家装和景观设计 DreamPlan Plus激活最新版

mac大玩家j

Mac软件 家居设计工具 室内设计软件

以微模块+液冷重塑绿色智算中心,新华三亮相CDCC数据中心标准大会

Geek_2d6073

一个ETL流程搞定数据脱敏

RestCloud

ETL 数据脱敏

Millumin 4 for mac(专业视频编辑软件)v4.18.a免激活版

影影绰绰一往直前

用好语言模型:temperature、top-p等核心参数解析

Baihai IDP

程序员 AI 大模型 白海科技

软件测试/测试开发/人工智能丨多维度的测试场景覆盖

测试人

人工智能 软件测试

情感语音识别:技术发展与未来趋势

来自四九城儿

安全工作手忙脚乱?天翼云MDR助力组织轻松提升安全防护能力

Geek_2d6073

Clipboard Manager for mac(mac剪贴板管理工具)v2.5.1直装版

影影绰绰一往直前

Docker镜像常用命令大全。

百度搜索:蓝易云

Docker 云计算 Linux 运维 云服务器

基于TCP/UDP的Socket编程。

百度搜索:蓝易云

Linux TCP 运维 socket udp

小红书API接口测试 | 小红书笔记详情 API 接口测试指南

Noah

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