顺德顺的网站建设,网站建设哪,北京共振设计公司官网,如何用模版做网站在IEEE 802.15.4z标准中#xff0c;最关键的就是引入了STS#xff08;加扰时间戳序列#xff09;#xff0c;实现了安全测距#xff0c;大大提高了测距应用的安全性能。在FiRa的实现中#xff0c;其密钥派生功能是非常重要的一个部分#xff0c;本文首先对FiRa MAC中加密… 在IEEE 802.15.4z标准中最关键的就是引入了STS加扰时间戳序列实现了安全测距大大提高了测距应用的安全性能。在FiRa的实现中其密钥派生功能是非常重要的一个部分本文首先对FiRa MAC中加密以及信息相关的内容进行简单的介绍为后续介绍相关源码的实现打好铺垫。关于FiRa标准中的角色、工作的基本原理参考前一篇介绍MAC内容FiRa标准——MAC实现一。 1. 关于FiRa MAC STS模式
对于FiRa MAC中加密相关内容的实现首先需要了解FiRa中STSScrambled Timestamp Sequence生成的两种类型
静态STSStatic STS动态STSDynamic STS
对于静态STS模式下需要确保
确保在一个测距轮的每个时隙都生成不同的STS来确保可靠的测距允许实现低成本和高性能保证立即重新同步。
对于动态STS模式需要保证
通过确保不以明文形式传输可识别信息来保护用户隐私保护通过UWB传输的数据时间戳、应用有效载荷的机密性、完整性和真实性确保每个时隙都可以生成不同的STS初始STS每个时隙增加1确保可以检测到重放攻击允许受控对象在单个控制消息上同步限制开销以优化链路预算限制旁路通道攻击的风险。
从两种模式的定义中我们可以知道在静态STS中对于每个测距轮Ranging Round的对应时隙编号的STS是相同的这就允许接收方能够更加快速的实现与控制器的同步而对于动态STS而言安全性更高对于时隙索引一直递增也就是说每个测距时隙的STS都不同这是与静态STS最大的区别。
由于实现的方式不一样相应的其加密方式也有所不同。
1.1 动态STS密钥生成
从上图中可以看到在实现中涉及到以下一些方法
KDFKey derivation function密钥派生函数基于相应的输入、key生成计算需要的相关密钥内容涉及生成的内容包括secDataProtectionKey、secPrivacyKey、secDerivedPayloadKey、secDerivedAuthenticationKey、phyStsIndecInit、secDerivedAuthenticationIVCSPRNG算法用于生成STSECB算法对于IEEE 802.15.4的Vendor IE需要使用ECB算法进行加密CCM*ccm start算法对于IEEE 802.15.4数据帧部分需要使用CCM*算法进行加密处理。
对于STS模式下我们可以看到每个时隙phySTSindex、cryptoStsIndex都会增加被用作每个时隙生成不同STS的种子、以及Vendor IE、Payload加密的参数。其初始值phyStsIndexInit由config digest通过KDF函数之后生成。
Vendor IE使用ECB算法进行加密在ECB模式下对密文位的任何修改都会对每个明文产生雪崩效应因此可以用于检测修改。 ECB加密使用特定秘钥secPrivacyKey对于一个完整的会话来说都是一样的这样受控对象可以随时用于同步。
IEEE Std 802.15.4z-2020中使用DRBG用于生成STS。cryptoStsIndex被附加到一个32位计数器上该计数器将在每个时隙的开始时重置以确保无论之前时隙STS的大小如何cryptoStsIndex和当前配置的信息都足够生成STS。
对于数据载荷加密使用CCM*算法无法对其内容进行假设因此将使用Authenticated Encryption 身份验证加密AE。由于AE是基于计数器模式加密的因此有必要向AE提供一个随机数nonce。这个随机数可以在每个加密数据包的前面传输这将会增加传输开销。因此cryptoStsIndex将被用作nonce更改的一部分。
1.2 静态STS密钥生成 与动态STS模式相比整体进行了较大的简化 1Vendor IE部分不再进行加密 2生成STS的CSPRNG算法使用了初始化中配置的phyVUpper64 3cryptoStsIndex进行了简化在每个测距轮的第一个时隙都会重置为0。
另外在动态STS模式下还涉及到key rotation等方式来进一步提高加密的安全性。