BryanZhang

Shanghai

利用空口抓包分析Wi-Fi问题

出处:利用空口抓包分析Wi-Fi问题 - 云+社区 - 腾讯云 (tencent.com) 随着IoT的兴起,越来越多的嵌入式设备内置了Wi-Fi模块,具备了网络接入能力。 在开发过程中,难免会遇到各种各样的网络问题,而抓包无疑是分析网络问题最直接、最有效的手段。因为通过抓包可以明确问题是处于发送端还是接收端,迅速缩小排查范围。 然而,许多嵌入式设备上运行的可能不是Linux系统,而是一些实时操作系统(RTOS),甚至根本就没有操作系统。而和设备通信的对端也不一定能运行tcpdump或者wireshark等抓包工具。这使得常见的点对点抓包手段失效。 一、空口抓包 1. 原理 我们知道,无线网络信号在传播过程中是以发射点为中心,像波纹一样往外辐射。所以理论上来讲,如果一个接收器处于无线信号经过的地方,它可以收到(“听到”)任何经过它的信号,只是它可能“听不懂”(无法解析报文内容)。 以下图为例,IPAD如果和最左侧的台式机通信,MacBook完全有能力监听他们的通信。 空口抓包就是基于这个原理工作的。如果我们想要抓某个嵌入式设备的无线报文,只需在它附近运行一个具有监听功能的
6 min read

针对TEE的攻击手段

from 针对TEE的攻击手段-移动支付网 (mpaypass.com.cn) 首先,从攻击方式上可以划分为硬件和软件两类攻击手段。 先来看下硬件攻击手段都有哪些? 1.硬件旁路攻击 旁路攻击的目标一是获取机密的加密数据,比如密钥;二是获取用于故障攻击的同步信息。 旁路攻击利用设备处理的数据和执行的操作与其物理信号(电源消耗、电磁辐射、光子辐射等)的相关性实施攻击。根据攻击方法是否需要建模,旁路攻击分为无需建模的攻击——简单功耗分析 (Simple Power Analysis, SPA),差分功耗分析 (Differential Power Analysis, DPA) 和相关功耗分析 (Correlation Power Analysis, CPA),和需要建模的攻击——模板攻击 (Template Attack, TA) 和随机攻击 (Stochastic Attack, SA)。 由于TEE的可信存储,固件防回滚,可信加密等特性均依赖于密码算法的安全实现,因此旁路攻击是一种非常有效的攻击手段。 2.硬件故障注入攻击
9 min read

TLS 1.3 VS TLS 1.2

TLS 1.3 VS TLS 1.2,让你明白 TLS 1.3 的强大HTTPS 加密时代已经来临,近两年,Google、Baidu、Facebook 等互联网巨头,不谋而合地开始大力推行 HTTPS, 2018 年 7 月 25 日,Chro...简书 LS 1.3 是时隔九年对 TLS 1.2 等之前版本的新升级,也是迄今为止改动最大的一次。针对目前已知的安全威胁,IETF(Internet Engineering Task Force,互联网工程任务组) 正在制定 TLS 1.3 的新标准,使其有望成为有史以来最安全,
4 min read

TPM 密钥

https://www.cnblogs.com/embedded-linux/p/6716740.html 1. Storage Keys:存储密钥,用来加密数据和其它密钥的通用非对称密钥,这里的其它密钥可以是另外一个存储密钥,也可以是绑定密钥或签名密钥。它本身是长度2048bit的RSA私钥;它既可以是可迁移密钥,也可以是不可迁移密钥。 2. SRK:storage Root Key,存储根密钥,是存储密钥的一个特例。整个系统拥有一个最高权限的存储密钥,这个最高级密钥也就是存储根密钥。它很特殊,在每个用户创建的时候生成,管理这个用户的所有数据,也就是存储可信根(Root of Trust for Storage, RTS).和签署密钥(Endorsement Key,EK)一样,一个TPM仅存在唯一一个。所有其它的密钥都在存储根密钥的保护之下。 3. 签名密钥(Signing Key):是非对称密钥,用于对应用数据和信息签名。
6 min read

DAA 匿名验证

Direct Anonymous Attestation (DAA)_网络_mutourend的博客-CSDN博客2016年论文《Universally Composable Direct Anonymous At网络 2016年论文《Universally Composable Direct Anonymous Attestation》中提到了Direct Anonymous Attestation (DAA)。 1. DAA基本概念 【以下内容摘自[1] 博客Direct Anonymous Attestation 解析(1) [2] 博客Direct Anonymous Attestation 解析(2)】 DAA(Direct Anonymous Attestation)是一种特殊的远程身份认证协议,该协议存在于具有可信模块的平台上。 DAA是一个签名方案,由TCG组织颁发其标准。它名字源于: Direct Proof - 不采用可信第三方的介入; Anonymous
6 min read

Go & Docker

Go 语言和 Docker 这两种技术已经成为新一代的云计算技术,而且可以看到其发展态势非常迅猛。而中国也成为了像美国一样在强力推动这两种技术的国家。这的确是一件让人感到非常高兴的事,因为中国在跟随时代潮流这件事上已经做得非常不错了。 然而,从 2014-2015 年我在阿里推动 Docker 和 Go 语言的痛苦和失败过程中,以及这许多年来,有很多很多人问我是否要学 Go 语言,是否要学 Docker,Go 和 Docker 是否能用在生产线上,这些问题看来,对于 Go 语言和 Docker 这两种技术,在国内的技术圈中有相当大的一部分人和群体还在执观望或是不信任的态度。 所以,我想写这篇文章,从两个方面来论述一下我的观点和看法。 * 一个方面,为什么 Go 语言和 Docker 会是新一代的云计算技术。 * 另一个方面,作为技术人员,我们如何识别什么样的新技术会是未来的趋势。 这两个问题是相辅相成的,所以我会把这两个问题揉在一起谈。 虽然 Go 语言是在
11 min read

RUST 语言

性能:RUST 在这几个方面做得都不错,甚至超过同类语。RUST 没有 Runtime 和 GC,即 RUST 没有运行时,也不用垃圾回收。这使得它的运行速度非常快,并且很省内存。生产率:不得不说,RUST 的文档写得很好。出色的文档和友好的编译器、一流的包管理器和构建工具、精准的错误提示,这些都是 RUST 为开发者准备好的,我们只需要将精力放在逻辑上即可。可靠性:RUST 的编译器很严格,它几乎不允许任何不可控的因素存在。它会在编译时为你检查语法、变量、所有权等内容,避免程序在运行中发生故障。RUST 的可靠性真的很强,这并不是吹的。严格的编译器将因患扼杀在萌芽时期,一旦编译通过,那么你的程序将变得非常稳定(社区讨论到,编译通过后的程序稳定性在 90% 以)。静态语言RUST 是一门静态语言,这也是它运行速度如此快的原因之一。在遇到 RUST 之前,
9 min read

Docker trusted registration

企业应用开发团队都在致力于发展自动化运维方法论,分布式应用架构不仅仅用于加速软件交付,也减少了开发缺陷。Docker能在构建分布式应用时减少因语言栈,平台工具及基础设施等异质性所带来的痛苦。Docker容器将应用及其依赖项一起打包并与原运行环境隔离,这样才能使应用更容易的在不同系统中移植。Docker镜像就是这些应用容器的构建文件,这些文件最终被构建成容器用于分享,更新及部署等。 在企业本地构建的Docker Trusted Registry,允许企业对本地或私有云中的Docker镜像文件进行存储及管理,用来满足企业安全性和规范性需求。作为Docker容器云平台的一部分,这种端对端的IT管理架构给予了开发和运维人员对应用足够的灵活性、移植性和管控能力,DUCP和DockerTrusted Registry为企业在本地或私有云中构建了内容管理及计划管理的平台支持。 特点 细粒度用户管理:基于角色的权限控制,可以建立权限组管理,可以使用LDAP/AD用户认证。 资源管理:内存的垃圾回收机制,CPU、内存及存储监控机制。 安全及规范性:本地部署,用户审计日志,基于Docker内容信
11 min read

AI 安全 - 华为白皮书摘选

闪避攻击 是指通过修改输入,让AI模型无法对其正确识别。闪避攻击是学术界研究最多的一类攻击, 下面是学术界提 出的最具代表性的三种闪避攻击: 对抗样本的提出:研究表明深度学习系统容易受到精心设计的输入样本的影响。这些输入样本就是学术界定义的对 抗样例或样本,即Adversarial Examples。它们通常是在正常样本上加入人眼难以察觉的微小扰动,可以很容易地愚 弄正常的深度学习模型。 微小扰动是对抗样本的基本前提,在原始样本处加入人类不易察觉的微小扰动会导致深度学习模型的性能下降。Szegedy 等人[2]在2013年最早提出了对抗样本的概念。在其之后,学者相继提出了其他产生对抗样本的方法,其中Carlini等 人提出的CW攻击可以在扰动很小的条件下达到100%的攻击成功率,并且能成功绕过大部分对抗样本的防御机制。 物理世界的攻击:除了对数字的图片文件加扰,Eykholt等人[3]对路标实体做涂改,使AI路标识别算法将“禁止通 行”的路标识别成为“限速45”。它与数字世界对抗样本的区别是,物理世界的扰动需要抵抗缩放,裁剪,旋转, 噪点等图像变换。 传递性与黑盒攻击:生成对
25 min read

比特币

比特币通过挖矿来产生新的比特币并取得记账权。这里说的挖矿实际是通过哈希算法进行一些哈希运算,生成特定哈希值,最先生成的就取得了新生成区块的记账权,并被奖励一定的比特币。哈希函数英文为hash函数,也叫散列函数。哈希运算是指把任意长度的输入,通过哈希算法,变换成固定长度的较短输出,输出的值为哈希值。 比特币的工作量证明(POW)是利用SHA-256,生成以多个0开始的散列值,其输入包括上一个区块的散列值、时间戳、随机数数(Nonce)、难度系数值。输出为新生成区块的哈希值。 ———————————————— 版权声明:本文为CSDN博主「凡梦_」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。 原文链接:https://blog.csdn.net/mpegfour/article/details/79220730
1 min read

AES 算法

https://blog.csdn.net/qq_38289815/article/details/80900813 AES算法流程: AES加密过程涉及到4种操作,分别是字节替代、行移位、列混淆和轮密钥加。解密过程分别为对应的逆操作。由于每一步操作都是可逆的,按照相反的顺序进行解密即可恢复明文。加解密中每轮的密钥分别由初始密钥扩展得到。算法中16个字节的明文、密文和轮密钥都以一个4x4的矩阵表示。 注意:前9次的加密过程是一样的,而最后一次的加密过程是没有列混淆的。 1.字节替换:字节代替的主要功能是通过S盒完成一个字节到另外一个字节的映射。 例如:字节66替换后的值为S[6][6]=33,再通过S-1即可得到替换前的值,S-1[3][3]=66。 2.行移位:行移位的功能是实现一个4x4矩阵内部字节之间的置换。 移位的操作是:第一行保存不变,第二行循环左移1个字节,第三行循环左移2个字节,第四行循环左移3个字节。 3.列混淆: 根据矩阵的乘法可知,在列混淆(利用域GF(28)
8 min read

TrustZone 总线

https://www.cnblogs.com/zzb-Dream-90Time/p/10000111.html 所以人们转向安全芯片的研制:即:TPM(Trusted Platform Module)就是加密解密动作在芯片中进行,甚至可把信息存储在芯片里。理论上来说只有芯片才能解密。但是TPM没有办法保护运行时攻击,比如黑客在你运行进破解,直接去内存读你解密过的东西,这样TPM就形同虚设了。 那么下面的trust zone则完全不同,它从硬件角度做到安全。即受它保护的硬件,就算黑客root了你的设备也没办法访问的,只有生产者自己写的trust app才能访问。而且secure boot技术保证了别人没办法窜改你的image。从下面图可知: 入侵系统后,通常喜欢从内存,硬盘获取信息,有些木马还能通过截取你的touch或者display内容获取信息。这样你防不胜防,除非你不要开机。 什么是trust zone?Trust zone 是ARM内核中新添加一种架构,从ARM v6KZ开始。支持这种功能的CPU会跑在两个世界,普通世界/安全世界。android跑起后CPU跑
12 min read

RSA 算法原理

http://www.ruanyifeng.com/blog/2013/07/rsa_algorithm_part_two.html 六、密钥生成的步骤 我们通过一个例子,来理解RSA算法。假设爱丽丝要与鲍勃进行加密通信,她该怎么生成公钥和私钥呢? 第一步,随机选择两个不相等的质数p和q。 爱丽丝选择了61和53。(实际应用中,这两个质数越大,就越难破解。) 第二步,计算p和q的乘积n。 爱丽丝就把61和53相乘。   n = 61×53 = 3233 n的长度就是密钥长度。3233写成二进制是110010100001,一共有12位,所以这个密钥就是12位。实际应用中,RSA密钥一般是1024位,重要场合则为2048位。 第三步,计算n的欧拉函数φ(n)。 根据公式:   φ(n) = (p-1)(q-1) 爱丽丝算出φ(3233)等于60×52,
7 min read

DH 密钥交换

https://www.zhihu.com/question/29383090/answer/70435297 使用对称加密算法时,密钥交换是个大难题,所以Diffie和Hellman提出了著名的Diffie-Hellman密钥交换算法。Diffie-Hellman密钥交换算法原理: 上图很经典 它的数学基础就是离散对数这个数学难题。用它进行密钥交换的过程简述如下: 选取两个大数p和g并公开,其中p是一个素数,g是p的一个模p本原单位根(primitive root module p),所谓本原单位根就是指在模p乘法运算下,g的1次方,2次方……(p-1)次方这p-1个数互不相同,并且取遍1到p-1; 对于Alice(其中的一个通信者),随机产生一个整数a,a对外保密,计算Ka = g^a mod p,将Ka发送给Bob; 对于Bob(另一个通信者),随机产生一个整数b,b对外保密,计算Kb = g^b mod p,将Kb发送给Alice; 在Alice方面,收到Bob送来的Kb后,
4 min read

国密算法

https://blog.csdn.net/andylau00j/article/details/54427395 国密即国家密码局认定的国产密码算法。主要有SM1,SM2,SM3,SM4。密钥长度和分组长度均为128位。 SM1 为对称加密。其加密强度与AES相当。该算法不公开,调用该算法时,需要通过加密芯片的接口进行调用。 SM2为非对称加密,基于ECC。该算法已公开。由于该算法基于ECC,故其签名速度与秘钥生成速度都快于RSA。ECC 256位(SM2采用的就是ECC 256位的一种)安全强度比RSA 2048位高,但运算速度快于RSA。 SM3 消息摘要。可以用MD5作为对比理解。该算法已公开。校验结果为256位。 SM4 无线局域网标准的分组数据算法。对称加密,密钥长度和分组长度均为128位。 由于SM1、SM4加解密的分组大小为128bit,故对消息进行加解密时,若消息长度过长,需要进行分组,要消息长度不足,则要进行填充。 SM2,SM3,
8 min read

椭圆曲线ECC

https://zhuanlan.zhihu.com/p/36326221 此篇是翻译,因为写的太好了!!!已经拿到作者授权,就翻译了一下,供大家参考。如有不同见解,欢迎提出,我们一起讨论,学习就是一个成长的过程啊。 http://andrea.corbellini.name/2015/05/17/elliptic-curve-cryptography-a-gentle-introduction/ andrea.corbellini.name 现在我们听说过的公钥加密有ECC,ECDH 或者 ECDSA。第一个是椭圆曲线加密(Elliptic Curve Cryptography)的缩写,后两个算法是基于它的算法。 今时今日,我们可以在TLS(Transport Layer Security安全传输层协议),PGP(Pretty Good Privacy基于RSA的邮件加密系统)和SSH(Secure Shell安全外壳协议)中找到椭圆曲线加密系统,这是三项构建了现代Web和IT世界的重要技术,
15 min read

欧盟GDPR精要:5千字读懂GDPR说了啥

http://www.sohu.com/a/233473668_455313 5月25日,在两年过渡期后,GDPR如约生效。炒作GDPR似乎成为了一种时髦。里面究竟有多少真的成分,多少假的成分,公众恐怕难以辨识。两年前,GDPR通过之时,笔者曾怀着仰慕之心对GDPR核心内容进行了尽可能忠实于原文的摘录。希望能为相关人士提供参考,以便更理性地看待GDPR及其影响。 1 GDPR适用范围 1.保护对象: GDPR保护的仅是“个人数据”(personal data),不涉及个人数据以外的其他数据。 根据GDPR第4条的规定,个人数据是指,与一个相关的任何信息。 可被识别的自然人是指,其可以被直接或者间接识别,尤其是借助姓名、身份证号码、地理位置、在线标识等身份标识,或者通过与其身体、生理、基因、心理、经济或者社会身份相挂钩的一个或者多个因素。 这里所指的个人数据仅限于有生命的自然人的个人数据,不包括死者、胎儿等。同时,个人数据的保护不涉及匿名信息,或者经过匿名化处理以至于不再具有可识别性的个人数据。 对于表征人种或者种族起源、政治意见、
17 min read

安全界的顶级会议

https://blog.ourren.com/2015/01/20/top_security_conference/ 四大顶会 安全界有四大著名顶级会议,简称:S&P、CCS、Security、NDSS;其实有两个网页对安全类会议进行了排名,详细排名大家可以参考「1、2」。但是貌似从事安全研究的人员只认这四个会议,导致这四个会议论文的通过率非常低,因此我们只要关注这四个会议的文章就大概知道国际上安全人员在研究些啥东西了; 1. S&P从S&P的官方上看,你会发现其实S&P每年不只一个会议,S&P又分为两类:SP Conference Information、SP Workshops Information。第一类「SPC」大家一看英文应该就知道含义吧,第二类可以看2014年官网的一个介绍:Overview: Since
6 min read

git remote show origin

https://blog.csdn.net/henryhu712/article/details/83378281 $ git remote show origin * remote origin URL: https://github.com/my-org/complex-project Fetch URL: https://github.com/my-org/complex-project Push  URL: https://github.com/my-org/complex-project HEAD branch: master Remote branches: master                           tracked dev-branch                       tracked markdown-strip                   tracked issue-43                         new (next fetch will
1 min read