[关闭]
@EricaHe 2016-03-22T01:32:06.000000Z 字数 3942 阅读 770

Protecting Web-Based Single Sign-on Protocols against Relying Party Impersonation Attacks through a Dedicated Bi-directional Authenticated Secure Channel

论文笔记 SSO


作者:Yinzhi Cao, Yan Shoshitaishvili, Kevin Borgolte,Christopher Kruegel, Giovanni Vigna, and Yan Chen

单位:Northwestern University,University of California, Santa Barbara


Abstract & Introduction

本文做了以下工作:

  1. 在现有的各类SSO协议中,对伪装RP攻击做了系统性的弱点分析
  2. 设计了一个可以克服该类弱点的通信信道(a dedicated, authenticated, bi-directional, secure channel),并在这之上实现了一个OAuth-like和一个OpenID-like的协议
  3. 证明了这一channel可认证的特性(用了ProVerif
  4. 评估了该协议的一个实现原型的可行性
  5. 建立了一个代理,作为一个第四方,从而实现从原有SSO协议到本文所设计的协议的过渡

Threat Model

文章仅仅考虑攻击者能够通过伪装成RP来获取用户个人信息的情况,主要关注RP和IdP之间的交互过程。

将要讨论的五种的攻击大致可以分为两类:

所有非协议层面上的漏洞均不在本文的讨论范围内,如社工、被篡改的或有问题的RP、浏览器的漏洞、实现错误、隐私泄露。


Revisiting Existing SSO Designs and Attacks

身份

RP与IdP之间的通信


设计

文章提供了2个解决方案:

IdP Deployment - A clean-slate Design

Identity Design:

使用web origin来作为RP的身份标识

Communication Channel:

SSO Protocol over the Channel:

RP Deployment - Proxy Design

此处输入图片的描述

Communication with the Legacy IdP:

  1. 注册:Proxy对于IdP来说,应该是在其上注册过的一个应用,每个用户都单独地将其进行注册,从而使得所有用户Proxy的Application ID都各不相同
  2. 运行:Proxy就像一个正常RP一样去向IdP请求access token(在OAuth-like protocol中)或者获得能够证明用户身份的证据(在OpenID-like的protocol中),这里Proxy需要所有RP所需凭据的并集,以在之后面对和真正RP的交互。
  3. 通信安全:由于此处Proxy和IdP的交互使用的不是文章所提出的安全信道,所以这里的通信应该在一个安全的环境下进行,如浏览器的隐私模式,并且没有任何其他的网站打开着。

Communication with the Legacy RP:

对于RP来说,Proxy就是一个IdP,在OAuth-like的协议下,它需要自己颁发token,并管理token和相对应的权限的关系;而在OpenID-like的协议下,它只需要直接转发即可。

Fetching User's Information:

在OAuth-like的协议下,Proxy使用IdP给予它的token来换取用户数据,然后将用户数据转发给RP。


实现

实现上的一些顾虑:

  1. 原先IdP颁发给Proxy的Application ID的机密性:
    • 每个用户的Proxy都拥有不同的Application ID,所以攻击者不能通过自己注册一个来获得其他用户的Application ID
    • 一些IdP提供“沙盒模式”(如Facebook),这个模式只有开发者可以进行访问,而在这里,开发者即每个用户自己,从而保证了Application ID的机密性
  2. IdP的服务条款
  3. IdP的Access Token过期:需要重新获取

评估

整个协议及通信基本上没有安全上的问题——这一点由ProfVerify进行了证实——唯一可能存在问题的是,一个恶意的RP可以获取到Proxy和IdP的通信,所以在Proxy和IdP通信时,必须要在隐私模式,并且没有其他窗口打开的情况下进行。

安全分析

性能分析

此处输入图片的描述

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注