• AES缓存碰撞攻击在美国太空安全挑战赛中的应用


           国家太空安全是国家安全在空间领域的表现。随着太空技术在政治、经济、军事、文化等各个领域的应用不断增加,太空已经成为国家赖以生存与发展的命脉之一,凝聚着巨大的国家利益,太空安全的重要性日益凸显。而在信息化时代,太空安全与信息安全紧密地结合在一起。2020年9月4日,美国白宫发布了首份针对太空网络空间安全的指令——《航天政策第5号令》,其为美国首个关于卫星和相关系统网络安全的综合性政策,标志着美国对太空网络安全的重视程度达到新的高度[1]。随后美国空军组织了“黑一颗卫星(Hack A Sat)”[2]太空安全挑战赛,该赛事涵盖多个领域的知识,本文使用AES缓存碰撞攻击给出了该赛事其中一个挑战的解决方案。

    1 美太空安全挑战赛介绍

           从2020年起,美国空军已经连续两年举办太空安全挑战赛。该赛事分为资格赛、决赛两个阶段,资格赛采用积分制,资格赛中积分前8名的参赛队进入决赛,最终角逐出前三名。以2021年为例,在6月26日至27日为期30小时的资格赛中,有75个以上国家近3000名竞争对手组成的1000多支队伍参加。资格赛由5个类别的24个挑战组成,侧重于不同的技能组合,包括卫星操作、逆向工程和射频通信等。12月11日至12日决赛期间,8个团队参加了持续24小时的决赛,决赛项目是攻防对抗式的夺旗赛,包括争夺虚拟地面站、通信子系统、“平卫星”物理卫星硬件,以及用于模拟和测试命令的数字孪生软件。各团队被要求同时操作和防御自己具有脆弱性的系统,同时攻击对手相同的系统来得分。系统中存在许多可利用的漏洞,团队必须修补或以其他方式减轻自己漏洞所产生的影响,以防止系统被攻击,同时保持系统正常运行[3]。

            在2020年第一届太空安全挑战赛中,在“载荷模块(Payload Module)”这个类别下有一个挑战是“密码泄露(Leaky Crypto)”,主办方给出的挑战信息如下:

          有一颗卫星在通信过程中,会对每个消息使用ECB(Electronic Codebook;电码本)模式的AES-128(Advanced Encryption Standard;高级加密标准)算法[4-6]进行加密。攻击者由于不知道密钥,无法正常加密,那么当攻击者向卫星发送消息后,卫星就会发现消息不对,从而丢弃该伪造消息。攻击者已经截获了一段密文,需要参赛者给出对应的明文,并且已知如下一些信息:

    (1)知道密钥的前6个字节是“0xc35c7a9947fe”。

    (2)知道截获密文对应明文的前几个字节是“flag{ksjkglhwsjd”。

    (3)提供了100000行尝试攻击数据,每个数据包括两部分:明文、加密明文时间,部分数据如下所示。

    ed74cd51ab28e765d1e98965e86ba749,10584

    ea0c914e1ff97edbe3bd46228f53771e,10656

    3e8d4ed226d2ffea86fcf8be22af3e33,10704

    3bd7f7bb63745fc45940220e417a116d,10632

    99c5843576a344f0d8ec990795912a38,10632

    34239b24eef47313a14e0a55767810dd,10632

    7b9ae4bdb410862d12de1d94cd40853a,10656

    f54c322e63f3b169fdfb4b161decc9b6,10680

    91359a6820ecadafd2e616aa2c0baa42,10680

    c4ce053a2df7f883d24905856df2b180,10656

           从给出的挑战信息可知,这是已知加解密算法、部分明文、全部密文,并且有大量明文及其加密时间的数据,要求得出加密密钥的挑战。本文利用AES缓存碰撞攻击方法给出解决方案。

    2 AES加密过程介绍

            AES是美国联邦政府采用的一种区块加密标准,是一种对称加密算法[7-8],对称加密即加密与解密用的是同样的密钥。AES因其运算速度快、安全性高的优点,用来替代原先的DES(Data Encryption Standard;数据加密标准),已经被广泛使用[9-12]。其加密、解密基本过程如图1所示,左边是加密过程,右边是解密过程,加密、解密是对称的。从图中可以发现,加密、解密需要进行多轮计算,密钥长度不同,导致计算轮数不同,根据密钥长度不同AES分为AES-128、AES-192[13]、AES-256[14]。对于AES-128,加密、解密过程有10轮运算。

  • 相关阅读:
    Linux学习之vim跳转到特定行数
    并发编程学习笔记 之 Lock锁及其实现类ReentrantLock、ReentrantReadWriteLock和StampedLock的基本用法
    月薪20k的软件测试工程师都要具备什么能力?你跟大佬的差距在哪?
    算法 |【实验5.2】1-深度优先搜索暴力求解旅行商问题
    黑马学员放弃20K月薪投身比亚迪,是去「车间」打螺丝吗?
    瑞吉外卖02-后台功能
    【Sword系列】Vulnhub靶机HACKADEMIC: RTB1 writeup
    三层架构与web结合图解
    python实现长链矩阵的高效乘法
    Vue实战篇三十:实现一个简易版的头条新闻
  • 原文地址:https://blog.csdn.net/leishangwen/article/details/127709905