论文笔记:Non-Profiled Deep Learning-based Side-Channel attacks with Sensitivity Analysis(DDLA)

论文笔记:Non-Profiled Deep Learning-based Side-Channel attacks with Sensitivity Analysis(DDLA)论文笔记:Non-ProfiledDeepLearning-basedSide-ChannelattackswithSensitivityAnalysis(DDLA)BenjaminTimoneShard,SingaporeContribution

大家好,又见面了,我是你们的朋友全栈君。

论文笔记:Non-Profiled Deep Learning-based Side-Channel attacks with Sensitivity Analysis(DDLA)

Benjamin Timon
eShard, Singapore

基础概念

Non-profiling attacks:
假设攻击者只能从目标设备获取跟踪。例如:
Differential Power Analysis (DPA), Correlation Power Analysis (CPA) , or Mutual Information Analysis (MIA).

Profiling attacks:
假定攻击者拥有与目标设备相同的可编程设备。例如:
Template Attacks, Stochastic attacks or Machine-Learning-based attacks.
1.在分析阶段:用收集的侧通道迹,对所有可能密钥值k∈K进行泄漏分析。
2.攻击阶段:基于泄漏分析对侧通道迹进行分类,恢复密钥值k

points of interest(POI): 兴趣点,即侧通道迹中的泄漏点,用POI进行分类。

Deep-Learning(DL): MLP,CNN

de-synchronized: 去同步,未对齐

Contribution

  • 提出Differential Deep Learning Analysis (DDLA) .
  • 着重实现Sensitivity Analysis in a Non-Profiled context.

DDLA

攻击算法
AES

DDLA具体算法
在这里插入图片描述

实验硬件&框架

  • PC:64 GB of RAM, a GeForce GTX 1080Ti GPU & two Intel Xeon E5-2620 v4 @2.1GHz CPUs.
  • ChipWhisperer-Lite(CW) ;Atmel XMEGA128 chip;
    ASCAD(collected from an 8-bit ATMega8515 board).
  • MLPexp & CNNexp.

实验参数
1 Trainings parameters and details

1.1 Loss function
	Mean Squared Error (MSE) loss function for all experiments.
1.2 Accuracy
	The accuracy was computed as the proportion of samples correctly classified.
1.3 Batch size
	A batch size of 1000 was used for all experiments.
1.4 Learning rate
	For all experiements we used a learning rate of 0.001.
1.5 Optimizer
	We used the Adam optimizer with default configuration (β~1~ = 0.9, β~2~ = 0.999, ε = 1e-08,no learning rate decay).
1.6 Input normalization
	We normalize the input traces by removing the mean of the traces and scaling the traces between -1 and 1.
1.7 Labeling
	• For all simulations (first and high-order), we used the MSB labeling.
	• For attacks on the unprotected CW and on ASCAD, we used the LSB labeling.
	• For the attack on the CW with 2 masks, we used the MSB labeling.
1.8 Deep Learning Framework
	We used PyTorch 0.4.1.

PyTorch

2 Networks architectures
Deeping Learning Book
Deep learning website

2.1 MLPsim
	• Dense hidden layer of 70 neurons with relu activation
	• Dense hidden layer of 50 neurons with relu activation
	• Dense output layer of 2 neurons with softmax activation
2.2 CNNsim
	• Convolution layer with 8 filters of size 8 (stride of 1, no padding) with relu activation.
	• Max pooling layer with pooling size of 2.
	• Convolution layer with 4 filters of size 4 (stride of 1, no padding) with relu activation.
	• Max pooling layer with pooling size of 2.
	• Dense output layer of 2 neurons with softmax activation

2.3 MLPexp
	• Dense hidden layer of 20 neurons with relu activation
	
	• Dense hidden layer of 10 neurons with relu activation
	• Dense output layer of 2 neurons with softmax activation
2.4 CNNexp
	• Convolution layer with 4 filters of size 32 (stride of 1, no padding) with relu activation.
	• Average pooling layer with pooling size of 2.
	• Batch normalization layer
	
	• Convolution layer with 4 filters of size 16 (stride of 1, no padding) with relu activation.
	• Average pooling layer with pooling size of 4.
	• Batch normalization layer
	• Dense output layer of 2 neurons with softmax activation

Experiment & result

CNN-DDLA against de-synchronized traces

Non-Profiled;N = 3, 000 未对齐侧信道迹;CNNexp .
(文章用了MLPexp和CPA,未能成功恢复)

High-Order DDLA simulations (掩码技术泄露处未知): MLPsim

N = 5, 000 traces,1 mask ;
• n = 50 samples per trace.
• leakage: t = 25 ;Sbox leakage:Sbox(di ⊕ k) ⊕ m1 + N (0, 1) ,di & m1 are random | k a fixed key byte.
leakage:t = 5 and defined as m1 + N (0, 1).
• All other points on the traces are random values in [0; 255]

N = 10, 000 traces, 2 masks.;
leakage:t = 45;Sbox leakage:Sbox(di ⊕ k∗) ⊕ m1 ⊕ m2 + N (0, 1).

Second order DDLA on ASCAD

16-byte fixed key;plaintexts & masks are random;ASCAD profiling set;MLPexp on the first 20, 000 traces;ne = 50 epochs per guess
在这里插入图片描述
Third order DDLA on ChipWhisperer

N = 50, 000 traces;n = 150 samples with mask m1,m2;masked Sbox:Sbox(d ⊕ k∗) ⊕ m1 ⊕ m2.
MLPexp network;ne = 100 epochs per guess;
reveal key after around 20 epochs per guess;without any leakages combination pre-processing nor any assumptions about the masking method.

在这里插入图片描述
这些是用DL训练每个bit的密钥,最后检查矩阵;
但是以某部分epochs为单位检查矩阵,直到某一步骤可以恢复密钥,可以减少复杂度。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/130352.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Drupal开发学习入门指引[通俗易懂]

    Drupal开发学习入门指引[通俗易懂]我是云客,《云客drupal8源码分析》系列的作者,伴随着drupal8第一个正式版本发布到现在,该系列已经发布100期,超过60万字,作为中国投入精力最大、同时也是时间最早的第一批用户之一,云客觉得有义务帮助初学者准备好行囊,叮嘱好一路上的注意事项,之前也零星写过一些入门方面的资料,会在本文末给出链接(这些资料也很值得参考),本篇将为您全面整理需要的一切和规划学习步骤,这里假定您是一个刚刚学会p…

    2022年6月9日
    40
  • Django(19)QuerySet API[通俗易懂]

    Django(19)QuerySet API[通俗易懂]前言我们通常做查询操作的时候,都是通过模型名字.objects的方式进行操作。其实模型名字.objects是一个django.db.models.manager.Manager对象,而Manager

    2022年8月7日
    5
  • 功能十分全面的项目管理工具(文档协作、项目计划、文件管理等)[通俗易懂]

    功能十分全面的项目管理工具(文档协作、项目计划、文件管理等)[通俗易懂]今天本人给大伙推荐一个项目管理工具,该工具会提供各类:文档协作功能、在线思维导图、在线审批流程图、项目管理、任务分发、在线评论,文件管理等等。该项目管理工具整套架构采用了前后分离模式,支持多节点部署,使用的技术是Java、Vue、Element-UI、postgresql1等技术栈。智能项目管理解决方案:https://www.informat.cn/pm一、系统预览1.登录系统2.系统总览,仪表盘3.项目计划管理项目体系分解项目组,主子项目 项目文

    2022年5月7日
    60
  • gtk还有人用吗_iperf使用方法

    gtk还有人用吗_iperf使用方法​GTK+:GTK+的简介、安装、使用方法之详细攻略目录GTK+的简介GTK+的安装GTK+的使用方法GTK+的简介GTK+(GIMPToolkit)是一套源码以LGPL许可协议分发、跨平台的图形工具包。最初是为GIMP写的,已成为一个功能强大、设计灵活的一个通用图形库,是GNU/Linux下开发图形界面的应用程序的主流开发工具之一。并且,GTK+也有Windows版本和MacOSX版。GTK+是一种图形用户界面(GUI)工

    2025年8月22日
    1
  • Python-selenium「建议收藏」

    Python-selenium「建议收藏」摘要:selenium用于python操作游览器,用代码的方式模拟人的操作。例如登陆模拟人输入数据,点击登陆button等。准备工作:1.安装一个游览器2下载游览器对应版本的驱动,chrom

    2022年7月5日
    21
  • 用python生成一个导出数据库的bat脚本文件

    推荐:http://www.cnblogs.com/roucheng/p/pythonyunsuan.html

    2021年12月25日
    45

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号