赞
踩
作者信息:
文章网址:https://www.usenix.org/conference/usenixsecurity23/presentation/reijsbergen
总结:实现了
本文涉及到的一些核心 cryptographic primitives: hash function H;additively homomorphic; non-interactive zero-knowledge proof system;Merkle tree; prefix tree
作者提出以上方案的缺点:不能同时满足R1-R4的要求。
核心创新点:"The key component of TAP is a novel tree data structure that supports efficient result verification, and use zero-knowledge range proofs to show that the tree is constructed correctly without revealing user data. "
涉及到四个角色:
该模型涉及主要需聚焦的是: focus on guaranteeing perfect transparency at the cost of revealing query results, which cannot be trivially linked to user iden- tities.
居于树的结构实现以上功能:总结这棵树的功能:(1)by storing cryptographic commitments instead of raw data. (2)TAP’s Merkle tree structure ensures data integrity and allows users to verify the correctness of a broad range of queries。 (3)by generating Merkle proofs and zero-knowledge range proofs for the commitments’ underlying values.
The prefix tree is stored in memory; do not keep the Merkle sum trees in memory except for their root hashes。
如何把table转化成一颗tree.
粉色节点组成的树叫做 a Merkle prefix tree;蓝色节点组成的树叫做sorted Merkle sum trees。The prefix tree存储在memory中,the full table is stored in a SQL database。
(1) 节点00的
(2) sorted sum tree:
注意:the initial digest : the hash of the Merkle prefix tree root.这个值会被送到the bulletin board
各种操作做一个简单的概述:
4. Auditing: the auditor如何实现审计: auditor要求验证时间t内的结果,server会根据t把这些leaf nodes筛选出来,然后auditor会执行树的重构。the root of the tree at time t can be rebuilt from the hashes in these nodes. 具体过程和[18]相同。 reveals the prefix tree and the commitments in the sum trees。这些值都不是敏感数据。
涉及到的证明transparent的几种类型的proofs:
该文参考的[30]中使用的NIZK算法实现:message +randomness
总结整个操作以及验证操作的流程:
总结:最后验证通过的标准包括两种Verify() = 1 + EpochCheck() =1
关于文章使用的commitments and zero-knowledge range proofs的具体算法来自[10]Bulletproofs:
总结:对本文只掌握了大概,还没掌握的一点是为什么有的操作只是对比hash值,有的就需要用NIZK做保护。感觉这个和算法中透露的信息的privacy有关,需要更仔细的研究对应的算法才行。
CPS: cyber-physical systems
RMEI: Real-time Mission Execution Integrity 。具体的实现场景比如说:House Alarm (HA), Oxygen Concentrator (氧气浓缩器OC), and open Syringe Pump (开式注射泵SP);autopilot
存在的一些正对system time的时间攻击: “ skip the function camera.update(), which leads the task update_GPS() to finish earlier.”
首先对比critial CPS和RMEI/real-time CPS的场景区别:常规的“remote attestation often focus on proof of correct execution that can detect control-flow and data-flow-related violations”,但是这适合于common IoT场景,不适用于autonomous real-time CPS。因为后一种场景更侧重:
监测的数据包括3部分:(1)重要部件里的数据和控制流;各个部件之间转化时的记录信息;时间值。这些measurements内容通过policy实现实现。(control and data flow + transfers among the compartments + timestamp of each compartment transfer.)
ARI:Attestation of Real-time mission execution Integrity
1)Policy Generation: 系统设计者"software developers can specify every option for each compartment"或者"Users who are not familiar with the target software can use the built-in policies for compartmentalization and critical functions/variables annotation"。策略内容指的是什么:
实验部分测试的policy包括:
实验部分举例说明测试的内容:在Arducopter上测试的数据从整体上来看还是很仔细的。
结论: both runtime and memory overhead increase as the number of compartments increases。The increased runtime overhead is caused by the increased inter-compartment communications and data accesses。 The memory overhead is mainly caused by inter-compartment communication trampolines, stack redzones, and stub wrappers.
2) Compartment Generation and Labeling: ARI机制会自动把不同的software进行分类,然后给予标签"ARI automatically partitions the software into different compartments and then labels their criticality"。基于分类policy, 会把 the program分成很多子图,内核的分类依据是local data dependencies本地数据的依赖性。
3) Compartment Isolation: enforce strong isolation between measured (critical/secure) and unmeasured (non-critical/non-secure) compartments. 该场景不适用于hardware platforms实现隔离的原因:作者提出的弊端是:(1)在CPS场景下,硬件各种各样的;(2)需要剥夺一部分对内容的高访问权限,这对real-time CPS场景是昂贵的(涉及到context switches). 解决方案: software fault isolation (SFI) [22] is used to enforce compartmentalization in ARI.
(“软件故障隔离(Software Fault Isolation),它可以监视客户端程序,确保其不能够在它赋予范围之外进行写操作,在.NET中也采用了此种技术。”)目前常见软件保护技术概述_基于软件技术的软件安全保护技术有_顺其自然~的博客-CSDN博客
“SFI 是将代码限制在自己的代码块中。比如两个domainA 和B,A是trust, B是untrust, SFI就是防止B的代码跳转到A中,从而防止恶意攻击。
CFI主要是跳转的是有效地址,采用一种是CFG的技术,检查每次跳转的是不是符合CFG规定的地址。”(原文链接:https://blog.csdn.net/sploving/article/details/4533386)在本文中,SFI,CFI被理解为两种用于保护the destination of data access and control flow transfer instructions的方法。
“沙箱技术按照安全策略来限制程序对系统资源的使用,进而防止其对系统进行破坏,其有效性依赖于所使用的安全策略的有效性。沙箱技术按照安全策略来限制程序对系统资源的使用,进而防止其对系统进行破坏,其有效性依赖于所使用的安全策略的有效性。”Sandbox(用于安全的运行程序的机制)_百度百科 (baidu.com)
3)Real-time Attested Event Measurement:
4)Verification on the Measurement
主要通过mission re-execution实现inter-compartment control transfers + intra-critical-compartment indirect jumps + policy-specified variable values + critical compartment execution timing during the verification phase. 用户可能只会选择其中一部分继续验证。其两个的目的是against the offline generated CFG。
verification实现基于Capstone:Capstone是一个反汇编框架,提供了一个简单、轻量级的API接口,可透明地处理大多数流行的指令体系,包括x86/x86-64、ARM及MIPS等。Capstone支持C/C++和Python,并且可以在很多操作系统上运行。“C++ 基于Capstone实现反汇编器 - N3ptune - 博客园 (cnblogs.com)”
PDG: program dependency graph
本文作者想实现的效果: integrity and timeliness of an autonomous CPS。即对内容做及时的完整性验证/设计了一个模型,叫做ARI, which is a policy-guided real-time mission execution integrity attestation system. 总结来讲,就是坚持程序行为在程序执行和时间属性上是否违规program behavior violations。
涉及到的核心概念/背景:Real-time Mission(即在规定时间内需要给出/得到反馈的任务)
背景知识:
了解什么是Remote Attestation:存在一个 a remote verifier,帮助实现可靠的内容完整性认证。目前大部分远程认证是静态的static, 最近有一些模型开始涉及verify the runtime properties. 但帮助实现动态认证的 Real-time Autonomous CPS系统存在的几个问题:(1)针对时间属性,存在延迟攻击latency attack ,时间伪造攻击 jitter attack. (2) 在实际情况中,对Real-time CPS的需求是能够自动执行一些过程,比如说根据实际情况收集数据等。
区别于别的验证系统,本文的系统“is decomposed into multiple loosely coupled logical compartments”,各个部件之间“are isolated using either memory controller or software instrumentation”。
Compartmentalization隔离:这部分用于manipulate program on the PDG。 结果是 users can easily find the target functions or variables while traversing the PDG。 实现的是软件级别的隔离isolate different functionalities of the system。三中隔离内容:
贡献:
ARI实现的是selective attestation of mission integrity,这通过 a policy-based approach实现。更具体的讲,
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。