[密码学基础][每个信息安全博士生应该知道的52件事][Bristol52]43 为AES 对抗侧信道攻击的防御

这是一系列博客文章中最新的一篇,该文章列举了“每个博士生在做密码学时应该知道的52件事”:一系列问题的汇编是为了让博士生们在第一年结束时知道些什么。

为AES描述一些基础的(可能无效)的对抗侧信道攻击的防御

侧信道防御:为什么

对于一个现代的严肃的密码学方案,我们一般需要某种形式的安全证明。在AES中,我们认为如果攻击者不知道密钥,那么它就是一个随机排列。然而如果攻击者有侧信道信息,这可能不再安全。因此,我们能做什么防御它呢?理想的,我们可以创建一个完全不受侧信道攻击影响的实现,然而,然而,这实际上意味着实现必须完全隔离,绝对没有输出流——这使得它相当没有意义!

也许我们可以确保,无论我们做什么,AES实现是否通过侧信道泄漏信息都无关紧要?这就引出了泄漏弹性密码学(leakage resilient cryptography)领域,这确实是一个非常强的安全需求。在这些条件下(这种情况很少)安全的方案往往比那些避免(/忽略)问题的方案效率低得多。由于在设计中必须始终进行权衡,因此在实践中,我们倾向于使用假定AES不泄漏任何信息的方案,并将它们与包含防御一些更简单的侧通道攻击的实现相结合。这样做的目的是将攻击成本比安全信息的价值更高,这样(即使他们可以做到)就没有敌人会攻击这个系统,因为它不再可行了。

一些基本的防御

因此,考虑到这一点,让我们考虑一些基本的防御措施,以抵御一些不太复杂的侧通道攻击。正如问题中所指出的,这些技术可能很容易被忽略,所以请将本文视为解释一般概念,而不是提供任何明智的建议!

时间攻击

弱点:
一些实现的运行时间取决于它们的输入。因此,通过通过观察系统需要多长时间来响应,可以了解到一些关于键/输入的信息。
防御:
常数时间实现。就像标题所说的,最好的对抗时间防御的方法就是确保实现需要花费常数时间运行,同时如今的大多数实现都是常数时间的。这可能在硬件上不是很难,但是在软件上却很难,因为微代码(内部处理器的程序)通常是商业机密。

功率分析(DPA,SPA)

弱点:
一些实现的功耗与关键材料相关,这通常是由于存储值时的汉明距离。更多信息,请阅读两周前的博客。
防御1:
掩码不是直接使用AES Sbox,而是将掩码应用于输入值,并在掩码Sbox中查找它(实际上,Sbox的值被重新排序以适应掩码)。然后,尽管攻击者可能能够检测到某些内部变量之间的关联,但这些变量都是隐藏的,并且不像以前那样(直接)对应于关键材料。更复杂的掩蔽方案实例化起来会更复杂,但是会导致更好的攻击抵抗力。
防御2:
在进行功率分析攻击时,攻击者使用他们知道AES方案内部结构的事实。如果我们在我们的实现中打乱s盒的顺序(通过一些秘密排列),对手将不知道他们的读数如何与内部关键材料相对应。另一种变体是故意使用非决定论,允许处理器自行对某些指令集合重新排序。

缓存流

弱点:
如果适当的单元已经在处理器缓存中,那么使用查找表(例如SBox)的mplem朝向的效率将会提高或降低。通过将大部分查找表推出缓存,攻击者可以观察是否调用了适当的单元格,从而泄漏信息。如果可以观察到加载缓存的成本,也可以观察到定时攻击或功率分析。
防御:
不要对秘密数据使用查询表!这个列表中最简单的防御方法——如果您不想泄漏使用了哪些查找条目的信息,那么就不要使用查找表。对于AES,这是合理的,因为AES Sbox实际上可以作为输入字节上的一个简单函数来计算。这对于(例如)没有这种结构的DES Sbox就不太实用。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/424465.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

深度学习02——Softmax、DNN、WideDeep Model

说明:本系列是七月算法深度学习课程的学习笔记 1 背景介绍 深度学习在图片上的应用:功能上讲:图像分类和物体识别;应用上:可以用来分类图片:白菜形状的玉器摆件、白菜、大白菜;图片搜索&#…

扩展 KMP(模板) 洛谷P5410

题目&#xff1a;https://www.luogu.org/problemnew/show/P5410 博客 #include<bits/stdc.h>using namespace std;#define ll long long #define mem(a,b) memset(a,b,sizeof(a)) #define inf 0x3f3f3f3fconst int maxn1e510;int nxt[maxn],extend[maxn];int q;string s,…

[密码学基础][每个信息安全博士生应该知道的52件事][Bristol52]44在ECC密码学方案中基本的防御方法

这是一系列博客文章中最新的一篇&#xff0c;该文章列举了“每个博士生在做密码学时应该知道的52件事”:一系列问题的汇编是为了让博士生们在第一年结束时知道些什么。 在ECC密码学方案中&#xff0c;描述一些基本的防御方法 在上篇文章中我们提到了在ECC中对抗侧信道攻击的一…

第六十五期:央行万字工作论文:区块链能做什么、不能做什么?

本文从经济学角度研究了区块链的功能。首先&#xff0c;在给出区块链技术的经济学解释的基础上&#xff0c;归纳出目前主流区块链系统采取的“Token 范式”&#xff0c;厘清与区块链有关的共识和信任这两个基础概念&#xff0c;并梳理智能合约的功能。 作者&#xff1a;徐忠 邹…

[dp]leetcode 198. House Robber

输入&#xff1a;一个数组nums&#xff0c;每一个元素nums[i]表示第i个房间的价值。 输出&#xff1a;一个抢劫犯能抢到又不会被警察发现的最大价值。 规则&#xff1a;如果抢劫犯抢了相邻房间&#xff0c;那么报警装置就会触发&#xff0c;警察会得到通知。 分析&#xff1a;我…

[密码学基础][每个信息安全博士生应该知道的52件事][Bristol52]45.描述一些对抗RSA侧信道攻击的防御方法

这是一系列博客文章中最新的一篇&#xff0c;该文章列举了“每个博士生在做密码学时应该知道的52件事”:一系列问题的汇编是为了让博士生们在第一年结束时知道些什么。 为了让这篇文章保持简单&#xff0c;我们将会我们将讨论所谓的“香草”RSA(在加密中不使用随机性)&#xff…

第六十六期:运维专家写给运维工程师的6条人生忠告

最近由于新公司需要招聘运维人员&#xff0c;所以接触了大量应聘者&#xff0c;基本都是85后的年轻人。在他们身上看到年轻的活力&#xff0c;也看到浮躁社会留下的烙印。作为一个奔5的老IT运维人员&#xff0c;真心希望他们少走自己的弯路&#xff0c;能够成就自己的一番事业&…

深度学习03——CNN

说明&#xff1a;本系列是七月算法深度学习课程的学习笔记 文章目录1神经网络与卷积神经网络1.1 深度神经网络适合计算机视觉处理吗1.2CNN的结构1.2.1 数据输入层1.2.2 卷积层1.2.3 激励层1.2.3 池化层1.2.4 全连接层1.3CNN的训练算法1.4CNN的优缺点2正则化与Droupout3典型结构…

第六十八期:做中台找死,不做中台等死?

今年参加了云栖大会&#xff0c;作为中台的践行者&#xff0c;我也更关注中台架构实施的行业状况&#xff0c;学习了其他公司中台的思想和经验。 作者&#xff1a;谭明智 今年参加了云栖大会&#xff0c;作为中台的践行者&#xff0c;我也更关注中台架构实施的行业状况&#…

自定义select样式

select {/*Chrome和Firefox里面的边框是不一样的&#xff0c;所以复写了一下*/border: solid 1px #000;/*很关键&#xff1a;将默认的select选择框样式清除*/appearance: none;-moz-appearance: none;-webkit-appearance: none;/*在选择框的最右侧中间显示小箭头图片*/backgrou…

[密码学基础][每个信息安全博士生应该知道的52件事][Bristol52]46.Sigma协议正确性、公正性和零知识性

这是一系列博客文章中最新的一篇&#xff0c;该文章列举了“每个博士生在做密码学时应该知道的52件事”:一系列问题的汇编是为了让博士生们在第一年结束时知道些什么。 在Sigma协议中&#xff0c;正确性&#xff0c;公正性和零知识性意味着什么? Sigma协议 一个更一般的理解 …

[dp]leetcode 746. Min Cost Climbing Stairs

输入&#xff1a;一个数组cost&#xff0c;cost[i]表示越过第i个台阶的代价&#xff08;可能是热量&#xff0c;也可能是过路费&#xff09; 输出&#xff1a;走过这n个台阶&#xff0c;需要的最小代价 规则&#xff1a;一旦你为第i个台阶付出代价cost[i]&#xff0c;那么你可以…

第六十七期:全球500强公司的2100万登录信息惊现于暗网上!

暗网上多处出现了从《财富》500强公司窃取的2100余万条登录信息&#xff0c;其中许多登录信息已被破解&#xff0c;以明文形式提供。 作者&#xff1a;布加迪编译 暗网上多处出现了从《财富》500强公司窃取的2100余万条登录信息&#xff0c;其中许多登录信息已被破解&#xff…

[密码学基础][每个信息安全博士生应该知道的52件事][Bristol52]47.什么是Fiat-Shamir变换?

这是一系列博客文章中最新的一篇&#xff0c;该文章列举了“每个博士生在做密码学时应该知道的52件事”:一系列问题的汇编是为了让博士生们在第一年结束时知道些什么。 只要Alice和Bob同时在线&#xff0c;Sigma协议能快速的完成Alice向Bob证明的任务。Alice向Bob发送承诺&…

第六十九期: 漫画说算法之什么是一致性哈希?

当缓存集群的节点有所增加的时候&#xff0c;整个环形空间的映射仍然会保持一致性哈希的顺时针规则&#xff0c;所以有一小部分key的归属会受到影响。 作者&#xff1a;IT知识课堂来源 一年之前—— 未来两年内&#xff0c;系统预估的总订单数量可达一亿条左右。 按Mysql单表…

[密码学基础][每个信息安全博士生应该知道的52件事][Bristol52]48.TPM的目的和使用方法

这是一系列博客文章中最新的一篇&#xff0c;该文章列举了“每个博士生在做密码学时应该知道的52件事”:一系列问题的汇编是为了让博士生们在第一年结束时知道些什么。 TPM&#xff08;Trusted Platform Module&#xff0c;可信平台模块&#xff09; 在检查TPM目的之前&#x…

[dp]leetcode 1025. Divisor Game

输入&#xff1a;一个正整数N 输出&#xff1a;Alice赢&#xff0c;返回true&#xff0c;否则false 规则&#xff1a;黑板上给出一个数字N&#xff0c;ALice先选择。Bob后选择。他们可以选择一个数字 X&#xff0c;0<X<N并且N%X0。一个人选择X以后&#xff0c;黑板上的数…

spring学习(25):通过构造函数依赖注入

目录结构 pox.xml <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0"xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation"http://maven.apache.org/P…

计算机原理

计算机组成原理 简单易学、开源免费、可移植、可拓展、可嵌入、面向对象&#xff0c;比java、c#等更彻底 谷歌、CIA、nasa、YouTube、Dropbox、Instagram、Facebook、redhat、豆瓣、知乎、春雨医生、搜狐、金山、腾讯、盛大、网易、百度、阿里、淘宝、土豆、新浪、果壳等都在使…

[密码学基础][每个信息安全博士生应该知道的52件事][Bristol52]49.描述在IPsec和TLS后的基本想法

这是一系列博客文章中最新的一篇&#xff0c;该文章列举了“每个博士生在做密码学时应该知道的52件事”:一系列问题的汇编是为了让博士生们在第一年结束时知道些什么。 网络安全协议&#xff08;Internet Protocol Security&#xff0c;IPsec&#xff09;和安全传输层协议&…