嵌入式设备安全配置与云计算机熵源研究
嵌入式设备安全配置案例研究
在嵌入式设备安全领域,传统做法往往忽视安全问题,或仅在设计末期简单集成特定安全功能。而本文提出的新配置模型,旨在助力设计出安全且资源高效的嵌入式设备。
案例目标与设定
案例研究的目标是展示配置原则在实践中的适用性。以基于 Android 3.2 平台的 HTC Wildfire S 智能手机为例,运行网络“信使”应用,安全目标是防止其被未经授权修改。为简化实验,仅考虑两个功能保护属性:一是通过远程认证持续监控应用内部状态;二是确保只读内存中关键业务数据的机密性。
模拟过程
模拟包含应用的实现、集成安全构建块以及对非功能属性的测量。由于 Android 平台分析工具不够成熟,非功能属性测量函数被内置到应用中。评估设备资源支持某个构建块的费用时,通过比较无保护程序和受该构建块保护程序的非功能属性来实现。
在模拟中,主要考虑设备的三种资源:内存资源、存储资源和通信资源,相应的非功能属性和约束如下表所示:
| 资源 | 非功能属性 | 收集/测量非功能属性值的技术 | 构建块的值 | 设备的约束 |
| ---- | ---- | ---- | ---- | ---- |
| 内存资源 | 可用/所需内存的体积(MB) | 通过应用内置测量函数在运行时收集/测量数据 | 通过分析设备规格推导 | |
| 存储资源 | 可用/所需存储资源的体积(MB) | 直接读取文件大小属性 | 通过分析设备规格 | |
| 通信资源 | 可用/所需网络连接带宽 | 通过分析构建块规格,以在既定时间间隔内发送/接收数据为目标进行分析 | 通过分析设备规格 | |
对于存储资源计算,仅考虑代表构建块的软件模块大小;对于通信资源,假设为同步通信,并使用来自远程认证块内部安全要求的及时性值来确定数据传输的检查时间间隔。
实验结果
实验对两种带有资源消耗测量程序的构建块进行建模。模拟应用包含一些被视为关键的数据结构,每个数据结构大小为 100 字节的字节数组,共 400 个实例。对于远程认证块,每个数据结构有几个被视为正确的允许值,若数据值不同则表示应用存在违规。
为每个数据结构计算哈希值(如 MD5、SHA 等)并发送到认证实体进行验证,设定检查时间间隔为 1 秒。根据哈希函数位数计算,使用 MD5 时传输数据量为 400 * 128 = 51200 位/秒,使用 SHA - 256 时为 102400 位/秒。假设数据通过 GPRS 信道传输,信道最小保证速度为 32 Kbit/秒。
各构建块的资源消耗值如下表所示:
| 构建块 | 内存资源消耗(KB) | 存储资源消耗(KB) | 通信资源消耗(Kb/秒) |
| ---- | ---- | ---- | ---- |
| 远程认证(MD5 128 位) | 287 | 4 | 51.2 |
| 远程认证(SHA - 256 256 位) | 359 | 4 | 102.40 |
| AES/128 对称加密 | 523 | 4 | - |
| DES/56 对称加密 | 552 | 4 | - |
实验获得的非功能资源相关属性值,使开发者能了解各构建块的资源消耗特性。通过选择合适的优化准则,开发者可获得安全构建块的最优组合。当功能保护要求和可用构建块数量众多时,手动枚举所有可能的构建块效率低下,而使用开发的配置工具进行自动化配置过程,能在可接受的时间内找到最优配置。例如,在普通 PC 上对超过 100 种变体构建块进行配置过程耗时不到 1 秒,即使构建块数量增加到 1000 个以上,时间开销也较为合理。
配置模型的实现
开发的软件原型展示了所提出的配置方法,是一个用于配置嵌入式设备分布式系统的软件工具。该工具的目标是帮助开发者在设计阶段做出安全决策,确保必要的安全性和可接受的设备硬件资源消耗。其配置功能可在特定约束和优化准则下,为给定的安全块集找到最优配置,还能检查配置的最优性和可接受性,确定对配置最关键的资源,并推导应用给定配置时设备的非功能限制。
配置工具的图形用户界面为开发者提供了安全构建块的功能和非功能属性、平台兼容性属性、可用优化准则、设备规格以及配置过程管理的相关信息。该工具的应用是设备安全设计阶段的最后一步,开发者从安全和非安全要求阶段开始,通过模拟和实验积累所需数据,然后将这些数据作为工具的输入,以获得所需的解决方案。
云计算机熵源研究
随着云计算的快速发展,将计算资源从内部基础设施外包到云端成为趋势。云计算虽有成本低、资源利用率高等优势,但也带来了新的安全挑战。
云计算安全挑战
多用户共享同一物理机引发诸多安全问题,如保持用户数据、活动、程序和资源的分离,数据跨网络迁移,继承云平台的安全漏洞,对云运营商的信任问题以及云架构和实现带来的新漏洞等。创建全同态加密系统是解决公共云运营商信任问题的关键,而其稳健性依赖于真正的物理随机源。
随机数生成
计算机通常依靠两种方式收集随机性:测量硬件噪声的硬件随机数生成器(RNG)和通过处理用户输入来为伪随机数生成器提供种子。随机数生成器主要分为两类:
-
真随机数生成器(TRNG)
:通过放大系统中的噪声(如电阻的热噪声)并采样信号来生成随机位。传统 TRNG 设计对半导体设计师来说是负担,因为需要模拟组件,功耗大且在新工艺技术过渡时重新设计成本高。Intel 对其进行了改进,如使用放大噪声控制电压控制振荡器,再结合另一个振荡器生成两位信号,并使用“冯·诺依曼校正器”去除偏差,最后通过安全哈希算法处理后输出。最近,Intel 还开发了全数字生成电路,以解决 TRNG 的问题。
-
伪随机数生成器(PRNG)
:使用确定性算法根据随机输入“种子”生成看似随机的数字序列。PRNG 的安全性依赖于种子的保密性,不同的 PRNG 算法和参数对输出的统计质量有很大影响。常见的 PRNG 算法包括基于素模乘法线性同余生成器(PMMLGC)、广义反馈移位寄存器(GFSRs)等。此外,还有一些非传统的方法,如 Yarrow 和 Fortuna。
Linux 内核提供了两个输出随机数的字符设备:/dev/random(阻塞)和 /dev/urandom(非阻塞)。建议加密服务避免使用非阻塞随机数,因为可能存在状态妥协扩展攻击风险。Linux RNG 通过测量各种来源的中断间隔时间来收集熵,云实例主要依赖网络中断获取熵,这对安全有重大影响,因为这些中断不仅影响虚拟机的熵池,也影响调度操作系统的熵池。
综上所述,嵌入式设备安全配置和云计算机随机数生成都是当前信息技术领域中重要的研究方向,需要进一步深入探索和解决相关问题,以保障系统的安全性和可靠性。
嵌入式设备安全配置与云计算机熵源研究
云计算机熵源问题及解决方案
熵池中毒攻击研究
在云计算环境中,由于对虚拟化的依赖,对基于硬件的随机数生成器的访问受到限制,虚拟化还可能对基于操作系统的随机数生成器产生不可预见的影响。本文引入并研究了熵池中毒攻击。实验表明,云实例和控制操作系统在处理随机样本时存在可测量的统计弱点。例如,由于云实例主要依赖网络中断获取熵,当网络流量模式被攻击者预测或操纵时,可能导致熵池中的随机数质量下降,从而使加密服务等依赖随机数的安全机制面临风险。
云熵管理系统的设计与实现
为了解决云计算机中熵的问题,设计并实现了定制的云熵管理系统。该系统的工作流程如下:
graph LR
A[收集熵源数据] --> B[评估熵质量]
B --> C{熵质量是否达标}
C -- 是 --> D[使用熵生成随机数]
C -- 否 --> E[补充额外熵源]
E --> B
系统首先收集来自多个熵源的数据,包括网络中断、硬件传感器输出等。然后对收集到的熵质量进行评估,判断其是否满足安全要求。如果熵质量达标,则使用该熵生成随机数;如果不达标,则通过引入额外的熵源(如外部硬件随机数发生器)来补充熵,直到熵质量满足要求。
通过广泛的实验研究验证了云熵管理系统的有效性。实验结果表明,该系统能够显著提高云实例中随机数的质量,增强云计算环境的安全性。例如,在遭受熵池中毒攻击的情况下,云熵管理系统能够及时检测到熵质量的下降,并通过补充额外熵源来恢复随机数的安全性。
总结与展望
研究成果总结
在嵌入式设备安全方面,提出的新配置模型为设计安全且资源高效的嵌入式设备提供了有效方法。通过案例研究和实验验证,该模型能够帮助开发者在众多安全构建块中找到最优组合,同时利用配置工具实现自动化配置,提高了配置效率和准确性。在云计算机熵源研究方面,深入分析了云计算环境中随机数生成的问题,引入了熵池中毒攻击的研究,并设计实现了云熵管理系统,有效解决了云实例中熵的问题,增强了云计算的安全性。
未来研究方向
未来的工作可以从以下几个方面展开:
-
嵌入式设备安全
:进一步扩展安全构建块的研究范围,除了远程认证和对称加密块,深入研究更多类型的安全块和更广泛的加密原语,以增强整个配置概念的验证,并更全面地重现配置过程。
-
云计算机熵源
:持续关注云计算技术的发展,研究新的攻击方式和熵源问题,不断优化云熵管理系统,提高其适应性和鲁棒性。探索如何将云熵管理系统与其他云计算安全机制(如访问控制、数据加密等)进行深度融合,提供更全面的云计算安全解决方案。
总之,嵌入式设备安全和云计算机熵源研究对于保障信息技术系统的安全和可靠运行至关重要。未来需要不断深入研究和创新,以应对不断变化的安全挑战。
超级会员免费看
43

被折叠的 条评论
为什么被折叠?



