密码学技术如何选型?再探工程能力边界的安全模型|第5论

2023-11-08

作者:李昊轩
来源:微众银行区块链

​牢不可破的密码学算法也怕物理攻击?物理信号泄露为何会威胁到隐私保护的效果? 隐私保护方案对部署环境有何讲究?不可信执行环境下如何设计隐私保护方案?

这里,我们将继续安全模型的分析,由隐私保护技术方案中理论层面的能力边界,扩展到实际开发部署时工程层面的能力边界,梳理工程实现中相关安全假设,以及适用的业务场景。

在上一论中,我们介绍了多种不同的安全模型,来衡量基于密码学隐私保护技术方案的理论强度。然而,一个隐私保护技术方案如果只考虑理论层面的安全,而忽视工程层面的安全,其有效性是值得质疑的。

早在1985年,Wim van Eck在论文中提出,攻击者可以通过软件运行时产生的电磁辐射信号,结合统计学分析方法,破译出电子设备正在处理的机密信息内容。这就是一种典型的侧信道攻击,是密码学工程领域不能忽视的风险。

与密码学理论领域的安全模型类似,对于密码学工程领域的安全风险,我们也可以根据其安全假设来定义对应的安全模型。最常见的三类安全模型如下:

  • 黑盒安全模型
  • 灰盒安全模型
  • 白盒安全模型

以上三类安全模型中,密码学系统对部署环境的信任要求逐步降低。本论,我们将继续叙说小华的故事,以小华向好友美丽发送私密信息时的加密过程为例,一一阐述这三类安全模型对于企业隐私保护技术选型的影响和启示。

1.黑盒安全模型

科班出身的小华,对于自己的技术能力相当自信,打算以加密信息的方式,给他的好友美丽一个惊喜……

小华选用了业界标准AES加密方案,将他的私密信息,用特殊的方式传达给美丽。小华使用了公用机房中的电脑,开发并运行了对应的技术方案,产生了密文信息。

不巧的是,公用机房中的电脑被攻击者植入了木马,木马通过读取代码执行时的电量消耗和其他中间状态信息,破译了小华私密信息的明文。

在这里插入图片描述
实际上,除了基于密码学技术构建的软件技术方案,就连基于可信硬件模块构建的硬件技术方案,也会不同程度受到以上这类隐私风险的影响。但是,我们依旧认为这些方案在常见业务环境中是安全可用的,究竟是何缘故?

这就引入了黑盒安全模型的定义,假定技术方案的执行过程对于外界是一个完全封闭的黑盒。

如果我们把整体的隐私技术保护方案抽象成关于隐私数据x的一个函数y = f(x),对于攻击者而言,只能获得y,无法获得f(x)在运算过程中产生的任何中间状态信息。

中间状态信息包括直接敏感信息和间接敏感信息:

  • 直接敏感信息:计算过程中的内部变量值、代码执行轨迹等
  • 间接敏感信息:执行时间、设备能耗、内存用量、电磁辐射等

绝大多数密码学算法实现,如AES加密算法的标准实现等,都是基于黑盒安全模型的。

这意味着,即便对应的密码学算法和协议设计达到了理论能力的上限,信息论安全在黑盒安全模型要求的假设被打破的前提下,依旧可能泄露隐私数据。

反过来讲,对于受控的业务环境,可以保证没有攻击者能够进入机房,或者难以通过其他方式远程获得这些中间状态信息,而且对应软硬件模块的配置和使用都正确,那么对应的技术方案还是安全的。

考虑到隐私和效率的取舍,黑盒安全模型下的技术方案,工程实现相对复杂度低,能够提供高效的系统实现,可用于中间状态信息泄露风险低、可控部署环境中的业务场景。

2.灰盒安全模型

小华吸取了上次的教训,优化了加密算法的实现,屏蔽了执行时间、设备能耗等常用中间状态信息泄露。新的方案似乎生效了,攻击者之前部署的木马无法获得有效信息来破译小华的私密信息。

小华的优化一定程度上降低了隐私保护技术方案对于部署环境的信任要求,相比之前的黑盒安全模型,这里的安全模型为灰盒安全模型, 允许一定程度的中间状态信息泄露。

灰盒安全模型,要求技术方案能够防范由于常用中间状态信息而导致的隐私信息泄露。常用中间状态信息,一般指技术方案执行过程中,容易从外部观察到的各种物理信号,如执行时间、设备能耗、电磁辐射、声波信号等。这一类的攻击通常被称为侧信道攻击、旁路攻击,或统称为灰盒攻击。

为了应对这些灰盒攻击,需要在原先黑盒安全工程实现的基础上改写算法,使得在不同输入下,所需防范的物理信号表现相同。以最常见的执行时间分析攻击为例,灰盒安全模型下,对于所有的输入,技术方案的执行时间总是保持均等,以此避免由于执行时间存在差异,而泄露关于隐私数据的信息。

在这里插入图片描述

然而,这一类灰盒安全技术方案在系统效率上的副作用也很明显。即便某些执行路径可以更高效地执行,也需要特意降低其效率,使之与业务逻辑中效率最差的一条执行路径相匹配,以此确保执行过程使用的时间、消耗的能量等外部可观测物理信号,在任意输入下都不表现出显著差异。

由此可见,灰盒安全技术方案的执行效率总是由业务逻辑中效率最差的一条执行路径来决定,这对系统效率的优化带来了一定的挑战。

相比黑盒安全模型,灰盒安全模型对于部署环境的信任要求更接近现实情况,一定程度上考虑了内部人员风险等原本只能通过治理手段才能防范的隐私风险,具备更实用的抗攻击能力。

灰盒安全模型下,技术方案的应用主要用于防范内部人员风险,或者在不完全可信的外包环境中部署运行业务。

3.白盒安全模型

好景不长,攻击者发现之前部署的木马失效之后,升级了木马程序,小华的灰盒安全方案并不完美,攻击者获得了技术方案执行过程中的内部变量值,小华的私密信息再次遭到破译。

灰盒安全模型虽然对中间状态信息做了一定的保护,但无法保证所有的中间状态信息都能得到有效保护。如果能够实现这一点,就达到了工程层面中最强的白盒安全。

回到定义黑盒安全模型的公式,隐私技术保护方案可以抽象为关于隐私数据x的一个函数y = f(x)。在白盒安全模型下,除了x之外,攻击者可以获得y和f(x)在运算过程中产生的任何中间状态信息。

在这里插入图片描述

白盒安全模型假定执行环境完全对攻击者透明,听起来效果很玄幻。但密钥如何保护?明文输入不是直接就被看到了吗?面对如此强大的攻击者,如何才能保护隐私数据的安全呢?

效果确实很玄幻,目前现有研究对白盒安全模型的定义做了一定的弱化,通常会把保护目标限定为即便攻击者控制了整个执行环境,也无法轻易通过内存读取等方式提取出密钥。

为了实现白盒安全,需要在灰盒安全的基础上进一步打乱混淆密钥的存储方式并改写算法,让正确的密钥能够在执行过程中被间接使用。这一工程安全要求进一步提升工程实现的复杂度,例如,AES加密算法的白盒安全实现要比黑盒安全实现慢10倍以上。

尽管白盒安全模型下的大部分技术方案目前尚不成熟,在方案可用的前提下,对于需要在不可控的公开环境中部署的业务,如公共物联网应用,非常有必要考虑使用白盒安全技术方案,用以保护终端设备中的密钥、控制隐私数据的泄露风险。

在这里插入图片描述

正是:密码巧妙理论无破绽,工程精细实现需谨慎!

工程安全和理论安全是相互独立的两个维度,理论安全并不等于工程安全。再强的理论安全方案设计,也会因为不当的工程实现而导致前功尽弃。

了解密码学工程领域的安全风险,对于实际应用落地和安全运行至关重要。企业在对基于密码学技术的隐私保护技术方案选型时,需要理论联系工程,根据自身的业务场景和部署环境的特征,选择合适的安全模型,确保隐私保护技术方案的最终有效性。

在这两论中,我们对密码学技术选型中的理论能力边界和工程能力边界进行了分析。除了算法理论和工程实现中的诸多安全假设,新兴的量子计算和量子通信也对隐私保护技术方案的有效性带来了挑战,具体分析,敬请关注下文分解。


《隐私保护周三见》

“科技聚焦人性,隐私回归属主”,这是微众银行区块链团队推出《隐私保护周三见》深度栏目的愿景与初衷。每周三晚8点,专家团队将透过栏目和各位一起探寻隐私保护的发展之道。

栏目内容含括以下五大模块:关键概念、法律法规、理论基础、技术剖析和案例分享,如您有好的建议或者想学习的内容,欢迎随时提出。

栏目支持单位:零壹财经、陀螺财经、巴比特、火讯财经、火星财经、价值在线

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

密码学技术如何选型?再探工程能力边界的安全模型|第5论 的相关文章

随机推荐

  • asp.net 根据url获取参数值

    以下是 根据url获取参数值 Uri myUri new Uri http 10 0 0 75 7003 SitePages t1 aspx CurrentFolder http 10 0 0 75 7003 test docs 人力资源部
  • 实现基于SSL的主从复制

    准备 两台主机 1 在主服务器上生成证书 mkdir etc my cnf d ssl cd etc my cnf d ssl openssl genrsa 2048 gt cakey pem openssl req new x509 ke
  • Web安全之中间件安全

    中间件 中间件 英语 Middleware 又译中间件 中介层 是一类提供系统软件和应用软件之间连接 便于软件各部件之间的沟通的软件 应用软件可以借助中间件在不同的技术架构之间共享信息与资源 中间件位于客户机服务器的操作系统之上 管理着计算
  • Conda安装及使用手册

    Conda 是一个开源的软件包管理系统和环境管理系统 用于安装和管理多个软件包及其依赖项 它可以帮助用户创建虚拟环境 使得不同的项目可以使用不同的软件包和版本 从而避免版本冲突和不兼容性问题 下面是 Conda 的安装和使用步骤 安装 Co
  • 鳄鱼笔记(一) --> C#_入门<--[认识C#]

    c 语言和特点 c 语言及其特点 一 特性 二 认识 net Framework net core 三 个人理解 End c 语言及其特点 一 特性 c 是微软发布的 运行于 net Framework 和 net core 之上的高级语言
  • 面向对象设计的SOLID原则

    S O L I D是面向对象设计和编程 OOD OOP 中几个重要编码原则 Programming Priciple 的首字母缩写 SRP The Single Responsibility Principle 单一责任原则 OCP The
  • matlab练习程序(图像滤波时的边界处理)

    我们在写滤波程序时一般会用矩阵模板与原图像做卷积 这时候在做图像边界的处理是一般都选择忽略边缘 不过要是模板比较大 那么处理的效果就不好了 图像四周就会是原图像 中间才是滤波后的结果 虽然用Matlab的imfilter就能解决 不过还是自
  • 人脸识别对齐,向量搜索

    人脸对齐的概念 1 查找人脸 我们可以使用dlib来查找人脸 也就是所谓的侦测人脸 可以从下面github的地址去拿到models 人脸查找的models dnnFaceDetector dlib cnn face detection mo
  • #cmakedefine真实含义

    cmakedefine 用于configure file 中用于生成头文件的文件中 只有当CMakeLists txt中的同名变量为真时才会在生成的头文件中定义 区别于 define无论何时都会定义
  • 中介者模式-C++实现

    跟我在公司搭的框架好像 MediatorPattern cpp 定义控制台应用程序的入口点 include stdafx h include
  • buck变换器设计matlab_开关电源控制环路设计,非常实用!

    欢迎加入技术交流QQ群 2000人 电力电子技术与新能源 1105621549 高可靠新能源行业顶尖自媒体 在这里有电力电子 新能源干货 行业发展趋势分析 最新产品介绍 众多技术达人与您分享经验 欢迎关注微信公众号 电力电子技术与新能源 M
  • RichErp - vue 使用总结 - data 和 props

    data仅代表自己的内部的状态数据 所以如果一个Component仅仅是自身改变状态 然后把状态反馈给外界的话 理论上说只用data就可以了 显然组件通常不会这样 而是需要一种可进可出的状态 也就是允许外界对组件内部的数据进行修改 同时组件
  • R语言的pairs函数和ggpairs函数在数据可视化中扮演着重要的角色,能够实现散点图矩阵图的可视化

    R语言的pairs函数和ggpairs函数在数据可视化中扮演着重要的角色 能够实现散点图矩阵图的可视化 本文将介绍这两个函数的用法 并通过源代码演示如何使用它们进行数据可视化 1 R语言的pairs函数 pairs函数是R语言中一个强大的数
  • React 进阶: useSyncExternalStore API 外部状态管理

    React 进阶 useSyncExternalStore API 外部状态管理 文章目录 React 进阶 useSyncExternalStore API 外部状态管理 完整代码示例 动机 关于状态的思考 方案一 自行接入外部状态 外部
  • 分类器概念篇

    分类器是数据挖掘中对样本进行分类的方法的统称 包含决策树 逻辑回归 朴素贝叶斯 神经网络等 分类器的构造和实施大体会经过以下几个步骤 选定样本 包含正样本和负样本 将所有样本分成训练样本和测试样本两部分 在训练样本上执行分类器算法 生成分类
  • 以违停检测为示例的利用微软云AIOT技术加速项目落地

    AIoT即融合了AI 人工智能 和IoT 物联网 的技术 图形图像处理是人工智能领域中重要的一个分支 在日常生活中也存在大量基于图形图像的处理的场景 比如交通违章抓拍 基于视觉的司机防疲劳监测 家用摄像机的老人摔倒报警等功能 对于物联网则在
  • Kafka消息分区&producer拦截器&无消息丢失(八)

    上篇文章说了 acks 1代表什么都不管 即使配置了回调也不会起作用 0代表不会等待replic副本里的不会持久化 只要broker leader持久化成功则返回给producer 1代表all 则表示全部持久化成功才返回成功给produc
  • dubbo分布式日志跟踪

    dubbo分布式日志追踪 需要修改两个地方 一个是consumer端的 InvokerInvocationHandler java 红色是修改的地方 public class InvokerInvocationHandler impleme
  • 微服务项目打包时指定jar包复制到同一文件夹下

    转载于原文 在项目最外层pom文件中指定文件存放位置
  • 密码学技术如何选型?再探工程能力边界的安全模型|第5论

    作者 李昊轩 来源 微众银行区块链 牢不可破的密码学算法也怕物理攻击 物理信号泄露为何会威胁到隐私保护的效果 隐私保护方案对部署环境有何讲究 不可信执行环境下如何设计隐私保护方案 这里 我们将继续安全模型的分析 由隐私保护技术方案中理论层面