接收方匿名性保护

Broadcast

广播是保护接收者匿名性的方法,通过广播所有参与者都能收到消息,即使发送者也不知道接收者的身份。

性能

通常广播相比点到点通信会需要更高的吞吐量。

寻址

  • 显式地址(explicit address):并不总是必要的,例如IP协议的广播地址。用于减小广播的代价,但是难以提供匿名性。

  • 隐式地址(implicit address):接收者(addressee)站的属性,用于进一步处理。

    • 不可见地址(invisible address):即使同一个地址发送两次,也没有观察者能发现,即地址的重用看起来就像使用了另一个地址。

    实现方法:发送方和接收方协商密钥(公钥或私钥),解密后如果消息有意义,则就是发给自己的。

    • 可见地址(visible address):与不可见地址相反,观察者可以发现某些信息的地址相同。

    实现方法:发送方和接受方协商一个随机数添加在明文消息里,其他人就不知道消息是发送给谁的。

一些要注意的问题:

  • 使用不可见的隐式地址,如何判断解密后的消息有意义?

    1. 加tag,使用长度足够的tag就可以抗碰撞(生日悖论)

    2. 使用哈希或消息认证码,计算

      enc(random_num, msg, hash(random_num, msg))

      enc(key, msg, MAC(key, msg))

  • 使用可见的隐式地址,随机数的生成?

    • 需要注意每个随机数只能用一次,否则会导致linkable的问题
    • 因此通信双方可以协商使用同一个seed生成随机数
  • 不可见地址的代价比可见地址高很多,因为前者涉及到对每一条消息的解密,而后者只需要对比随机数。

地址分发(address distribution):根据地址与身份的关联性公开与否,可以将地址分为公开地址(public address)私有地址(private address)

public address private address
implicit invisible address 使用公钥加密,开销非常大。但是可以用于第一次通信时双方交换对称密钥或随机数seed。 私钥加密。开销大(但是当然比公钥加密小一点)。
implicit visible address 地址可见,且地址与身份之间的关联性是公开的,会暴露信息。不应该被使用。 获得对称密钥或随机数生成seed后可以使用。使用后需要更换随机数。

不可见公开地址的最高效的实现方法就是采用公钥加密系统

不可见私有地址的实现方法是私钥加密,因为私钥只有通信双发持有(private),且通信的地址是明文经过私钥加密生成的(invisible)。

可见私有地址的实现方法就是使用同一个seed生成伪随机数,每次通信使用不同的随机数。

继续阅读“接收方匿名性保护”

隐私增强技术基础

安全与密码学II的课程主要关注隐私增强技术,这是课程第一部分,关于基础概念、保护目标和攻击者模型等的介绍。

上学期的SaC I主要介绍了安全与密码学的基础知识,包括保护目标、攻击者模型以及保护机制,根据保护目标把方法分为两类——认证和加密,介绍了不同的密码学方法和实现原理。这学期的SaC II主题为“匿名和不可观测通信(Anonymous & Unobservable Communication)”。

隐私增强技术(Privacy Enhancing Technologies, PETs)

包含两个子领域:

  • 信息抑制工具(information suppression tools):又称为不透明工具(opacity tools),关注匿名化、假名化(pseudonymization)、混淆(obfuscation)。通过移除不重要的数据,防止攻击者学习到重要的信息。
  • 透明性增强工具(transparency-enhancing tools, TETs)
    • 告知用户收集了哪些数据、收集目的等
    • 告知数据收集的影响,需要“informed consent”
    • 检查数据收集是否符合法律规范
    • 各种技术:Secure Logging, Audits, Quality Seals, Policies…

保护目标

SaC II主要学习的是隐私增强技术,隐私是我们的保护目标,但是没有明确的定义。所以我们通过保护匿名性不可观测性来实现保护隐私性。

  • 匿名性(Anonymity):确保用户在使用一个资源或服务时不会暴露他的身份,即使是通信参与者也不能发现对方的身份。
  • 不可观测性(Unobservability):确保用户在使用一个资源或服务时,他人无法观测到正在使用的资源或者服务。未参与通信者既不能观察到消息的发送也不能观察到消息的接收。

还有一个保护目标为隐藏性(Hiding),它与不可观测性的区别在于,前者强调消息的内容是隐藏的,后者强调使用资源这一事实无法被观测到。

继续阅读“隐私增强技术基础”