密码与安全新技术专题之AI与密码
20189217 2018-2019-2 《密码与安全新技术专题》第五周作业
课程:《密码与安全新技术专题》
班级: 1892
姓名: 李熹桥
学号:20189214
上课教师:金鑫
上课日期:2019年3月26日
必修/选修: 选修
1.本次讲座的学习总结
1.1 背景知识
目前AI与密码学的交融主要研究以下三类问题(AIsec)
- Adversarial learning and related topics
- Security applications of AI and ML
- Security-related AI problems
主要运用:
- 用AI解决安全方面问题 :漏洞分析、垃圾邮件检测、入侵检测和相应、异常行为检测、恶意软件标识、大数据。
- 用密码解决AI问题:用密码保证预测模型不被更改,密码保证数据集不被更改。
1.2 机器学习与密码分析的联系
密码分析与机器学习之间有天然的相似性:
- 机器学习是从多个样本与标签的配对来j进行机器学习模型的求解;
- 密码分析是获取多个明密文本来进行密码分析。
现如今有破解DES算法的遗传算法和用于测信道的支持向量机算法等。
1.3 深度学习简介
2006年,杰弗里·辛顿以及他的学生鲁斯兰·萨拉赫丁诺夫正式提出了深度学习的概念。他们在世界顶级学术期刊《Science》发表的一篇文章中详细的给出了“梯度消失”问题的解决方案——通过无监督的学习方法逐层训练算法,再使用有监督的反向传播算法进行调优。从2006开始,深度学习技术在图像识别大赛不断降低错误率,AIphaGo和基于深度强化学习的AlphaGo的出现表明了在围棋界,基于深度学习的机器人超越了人类。此外,深度学习相关技术也在医疗、金融、艺术、无人驾驶等多个领域均取得了显著的成果。
作为机器学习最重要的一个分支,深度学习中现如今涌现出大量性能优秀的深度神经网络(DNN),例如卷积神经网络(CNN)、循环神经网络(RNN)、生成对抗网络(GAN)等,在大树分析、图像识别、机器翻译、视频监控中取得了较大进步。

1.4 深度学习与密码分析
- 基于卷积神经网络的测信道攻击
- On the Perfomance of Deep Learning for Side-channel Analysis
- Study of Deep Learning Techniques for Side-Channel Analysis and Introduction to ASCAD Database
- Non-profiled Deep Learning-Based Side-Channel Attacks
[1]讲了如果不适用预处理等额外步骤来比较技术,那么只有在噪声水平较低、测量量和特征量较大的情况下,卷积神经网络才具有明显的优势。但事实上神经网络在保持测量拓扑结构方面优势不大。
- 基于循环神经网络的明文破译
- Recurrent Networks offer a lot of flexibitity
- Learning the Enigma with Recurrent Neural Networks
- 基于生成对抗网络的口令破译
- 基于深度神经网络的密码基元识别
1.4 深度学习与密码设计
生成对抗网络GAN:Generative Adversarial Network
G是generator,生成器: 负责凭空捏造数据出来
D是discriminator,判别器: 负责判断数据是不是真数据

密码破解器即是GAN网络。
2.学习中遇到的问题及解决
- 问题1:循环神经网络与卷积神经网络的区别与用途不清楚
- 问题1解决方案:查阅资料得知首先,1. CNN对于输入数据的维度约束是比较严重的 2. RNN没有这种约束而且RNN更多的考虑了神经元之间的联系,比如我们训练一个翻译系统,那么对于一个短语的翻译一定要考虑前因后果,这就需要模型对于数据输入的前后因素都要考虑,CNN并不具备这样的特点。
3.本次讲座的学习感悟、思考等)
这次讲座讲清了AL,ML,DL之间的联系,之前只用深度学习解决目标检测,文本分析,图像分类等计算机视觉和自然语言处理领域的问题,这次讲座我明白了深度学习与安全这个领域也有很多值得去研究的结合点。
4.最新研究现状
论文一指出最近的研究表明,深度学习算法在对嵌入式系统进行安全评估时是非常有效的,并且与其他方法相比具有许多优点。其次,研究了多层感知器网络和卷积网络的超参数选择问题对于分析AES算法的影响。由于卷积神经网络在完全同步观测的情况下与多层感知器网络几乎一样有效。通过实践证明Vgg-16允许设计经过训练后比传统网络结构有更好的体系结构。论文五指出当前除了利用卷积网络还利用循环神经网络用于学习多字母密码的译码功能来破解密码。实验结果表明,该模型能够较高的精度对加密算法进行处理,整个过程是端到端自动化的。RNN完成解密任务将是机器学习社区普遍感兴趣的问题。众所周知深度学习中,数据网络结构超参数是极为重要的资源。 论文二提出了机器学习中偷取超参数的研究问题,并首次对超参数窃取攻防进行了系统的研究。而且提出了一个一般的攻击框架来窃取机器学习目标函数中的超参数。通过将目标函数的梯度设置为0来导出的线性方程组求解超参数、模型参数和训练数据集之间的关系编码。全文证明了各种ML算法受到超参数窃取的影响,如岭回归,逻辑回归,支持向量机和神经网络。但当ML算法不可知时或者训练参与新的超参数,窃取参数的攻击时不可能的。并且通过实践得知经过四舍五入之后的参数作为抵御窃取攻击是无效的。接着还比较了正则化对攻击的影响。
浏览器指纹是定位个体的重要资源,论文三用深度学习的方法破坏网站指纹防御系统,运用深度学习卷积神经网络的方法可使攻击成功率大大提升。如今Tor浏览器包是一个免费的计算机应用程序,可以下载和使用,以避免互联网过滤。它可用来屏蔽一个互联网用户的IP地址,允许匿名浏览。针对Tor的攻击在论文四进行的阐述。
Tor浏览器包是一个免费的计算机应用程序,可以下载和使用,以避免互联网过滤。它可用来屏蔽一个互联网用户的IP地址,允许匿名浏览。该论文提出了一种新的针对Tor的网站指纹攻击,该攻击利用了一种称为卷积神经网络(Cnn)的深度学习,并对其进行了评估。cnn网络攻击在没有防御的tor流量上达到98%以上的准确率,比以前的所有攻击都要好,而且它对Wtf-pad也是有效的。准确率为90%。对Walkietalkie仍然有效,但攻击的准确率仅为53%。在现实的开放世界环境下,针对使用WTF-PAD防御的流量,攻击仍然可以获得60%的准确率,而误判率不到1%。
参考资料
- 论文一:Study of Deep Learning Techniques for Side-Channel Analysis and Introduction to ASCAD Database
- 论文二:Stealing Hyperparameters in Machine Learning
- 论文三:Deep Fingerprinting: Undermining Website Fingerprinting Defenses with Deep Learning
- 论文四:Undermining Website Fingerprinting Defenses with
Deep Learning - 论文五:Learning the Enigma with Recurrent Neural Networks
密码与安全新技术专题之AI与密码的更多相关文章
- 密码与安全新技术专题之WEB应用安全
学号 2018-2019-2 <密码与安全新技术专题>第1周作业 课程:<密码与安全新技术专题> 班级: 1892 姓名: 李熹桥 学号:20189214 上课教师:谢四江 上 ...
- xampp默认mysql密码设置,修改mysql的默认空密码
xampp默认mysql密码设置,修改mysql的默认空密码 分类: xampp2012-09-12 11:24 30264人阅读 评论(5) 收藏 举报 mysqlphpmyadminauthent ...
- 怎么清除SVN密码,以及重置eclipse中svn插件密码
如何清除SVN密码,以及重置eclipse中svn插件密码? 清除SVN客户端密码方法: 邮件选择TortoiseSVN中的settings选项---Saved Data---右边会发现有个Authe ...
- 与用户xxx一起提供的密码不正确。请确认输入的密码正确并重试
环境: SharePoint 2010 / 2013 以系统账户身份登录管理中心,然后创建Web Application,报: 与用户xxx一起提供的密码不正确.请确认输入的密码正确并重试 明明都已经 ...
- Flyme密码验证策略升级,忘记锁屏密码及「关机密码」功能
手机里有很多需要用到密码的地方,比如「手机密码」.「文档锁定区」.「应用加密」.「隐私模式」.忘记密码可是一件麻烦事,以前只能通过清除数据或格式化存储盘来解决.现在有了「关联魅族账号」功能,这些功 ...
- ubuntu默认root密码问题,第一次使用ubuntu需要设置root密码
http://www.voidcn.com/article/p-yvnoogkc-ng.html 新接触ubuntu(baseondebian)的人,大多会因为安装中没有提示root密码而不太清楚为什 ...
- 数据库里账号的密码,需要怎样安全的存放?—— 密码哈希(Password Hash)
最早在大学的时候,只知道用 MD5 来存用户的账号的密码,但其实这非常不安全,而所用到的哈希函数,深入挖掘,也发现并不简单-- 一.普通的 Hash 函数 哈希(散列)函数是什么就不赘述了. 1.不推 ...
- Oracle不知道用户密码情况下,如何在不更改密码的前提下解锁用户或者延期密码有效期
1.问题描述: 生产环境,zabbix告警业务用户密码即将过期,但是如何不知道业务用户密码的情况下来解决该问题? 2.实验一: 1)创建新的用户test,并授予test resource角色和conn ...
- git 重置密码后,本地电脑需要修改git密码
查看用户名git config user.name 查看密码git config user.password 查看邮箱git config user.email 修改密码git config --gl ...
随机推荐
- Linux查看和修改时间、日期
1.查看时间.日期 # date Fri Jan 11 14:04:10 CST 2019 2.修改时间 语法:date -s "时:分:秒" # date -s "17 ...
- python实现将android手机通讯录vcf文件转化为csv
经常会遇到将手机通讯录导出到电脑并转化为在电脑中可编辑的情况,在网上搜索了很久当前不外乎两种处理方式.1.使用电脑的outlook的通讯簿功能,将手机导出的vcf文件导入到outlook的通讯录中,然 ...
- mysql创建用户并分配权限
添加新用户 允许本地 IP 访问 localhost, 127.0.0.1 create user 'test'@'localhost' identified by '123456'; 允许外网 IP ...
- 嵌入式linux——点亮led灯(二)
刚才在jz2440板子上写了一个点亮中间led的程序,前前后后十几分钟才好.最终代码 本节内容: 1. 汇编点灯 2. C点灯 3. 参数选择点灯 4. 按键点灯 1. 汇编点灯 .text .glo ...
- ensureCapacity增加此 ArrayList 实例的容量,以确保它至少能够容纳最小容量参数所指定的元素数。
扩容原则: 若参数值大于底层数组长度的1.5倍,则数组的长度就扩容为这个参数值:若小于底层数组长度的1.5倍,则数组长度就扩容为底层数组长度的1.5倍. ensureCapacity提高效率 fina ...
- 尚硅谷springboot学习34-整合SpringData JPA
SpringData简介
- Unity 自定义导入时切割Sprite
using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEditor; us ...
- VirtualBox虚拟机网络设置说明
1. 网络接入模式简介 VirtualBox的提供了四种网络接入模式,它们分别是: 1.NAT 网络地址转换模式(NAT,Network Address Translation) ...
- Cent OS 6.4下安装JDK1.6
步骤1:查看Linux自带的JDK是否已安装 (卸载CentOS已安装的JDK) 安装好的CentOS会自带OpenJDK,用命令"java -version"查看,会有下面的信 ...
- AlphaGo的前世今生(一)Deep Q Network and Game Search Tree:Road to AI Revolution
这一个专题将会是有关AlphaGo的前世今生以及其带来的AI革命,总共分成三节.本人水平有限,如有错误还望指正.如需转载,须征得本人同意. Road to AI Revolution(通往AI革命之路 ...