【论文笔记】Provably secureoptimalhomomorphicsigncryptionforsatellite-based internet of things
·
这篇是帮同学整理的,和本人研究方向无关
这篇论文提出了一种新型的同态签密方案,专为卫星物联网环境设计。该方案结合了超椭圆曲线密码学和同态加密技术,旨在实现以下目标:
- 增强安全性: 该方案提供了机密性、身份验证、完整性和隐私保护等功能,并能够抵御各种网络攻击。
- 优化性能: 利用超椭圆曲线密码学的优势,该方案显著降低了计算负载、通信开销和存储需求,使其更适合资源受限的卫星网络环境。
- 正式安全性验证: 通过 BAN Logic 和 Scyther 工具对方案进行了严格的验证,确保其安全性和有效性。
方案主要组成部分:
- 初始化阶段: 网络控制中心 (NCC) 选择参数并广播给网络中的其他实体。
- 密钥生成和注册阶段: 各实体生成自己的密钥和伪身份,并将其注册到 NCC。
- 同态签密阶段: 物联网设备使用同态签密技术对数据进行加密和签名,然后发送到边缘节点。
- 批验证和数据聚合阶段: 边缘节点使用同态加密对数据进行聚合,并验证签名的有效性。
- 解密阶段: 云节点解密聚合后的数据,并进行进一步处理。
- 切换阶段: 当卫星移动超出接收范围时,该阶段确保通信无缝切换到其他卫星。
方案优势:
- 计算效率高: 与现有方案相比,该方案的计算成本降低了 90% 到 99%。
- 通信开销低: 通信开销降低了 41% 到 92%。
- 存储需求减少: 存储需求降低了 62% 到 93%。
- 安全性强: 通过正式验证,该方案在安全性方面表现出色,能够有效抵御各种网络攻击。
未来研究方向:
- 增强系统冗余和灵活性: 探索使用更多卫星节点和软件定义网络 (SDN) 来提高系统的可靠性和可扩展性。
- 进行真实世界测试: 使用 NS3 和 STK 等工具进行仿真,验证方案在实际应用中的性能和安全性。
1. 初始化阶段:
- NCC 选择参数: NCC 选择一个有限域 Zq 和一个超椭圆曲线 𝐻,并选择两个碰撞抵抗哈希函数 h1 和 h2。
- 生成主密钥: NCC 使用 Zq 生成主私钥 NCCpvt,并使用 NCCpvt 和 𝐻 生成主公钥 NCCpub。
- 广播参数: NCC 将 Zq、𝐻、h1、h2、NCCpub 和 𝐻 广播给网络中的其他实体。
2. 密钥生成和注册阶段:
- 实体生成密钥: 每个实体 (包括 IoT 设备、边缘节点和云节点) 使用 NCCpub 和一个随机数 𝜂i 生成自己的私钥 PbKi = PvKi.𝜙 和公钥 PbKi = PvKi.𝜙。
- 生成伪身份: 每个实体使用 𝜂i 和 PbKi 生成伪身份 PIDi = 𝜂i.PbKi。
- 生成唯一标识符: 每个实体使用 𝜙 和 PbKi 生成唯一标识符 Xi = 𝜙/PbKi。
- 生成随机数: 每个实体生成一个随机数 N。
- 发送注册请求: 每个实体将 𝜂i、N、Xi、PIDi 和 PbKi 发送给 NCC。
- 验证和确认: NCC 验证 𝜂i 是否等于 Xi.PIDi,如果是,则生成一个随机数 𝜎i 并计算 Ri = h1(NCCpvt ⊕ PbKi).𝜎i,然后将 Ri 发送给对应的实体。
3. 同态签密阶段:
- 计算会话密钥: IoT 设备计算会话密钥 secKey = PbKLEOB.𝜂i。
- 生成签名: IoT 设备使用 PvKIOT.𝜂i 生成签名 σiot = PvKIOT.𝜂i。
- 加密数据: IoT 设备使用会话密钥 secKey 对明文消息 m 进行加密,得到密文 c = m ⊕ secKey。
- 生成身份标识: IoT 设备生成身份标识 I = h1(Riot || PbKLEOB || NLEOB)。
- 生成消息: IoT 设备将 (I, c, σiot) 发送给边缘节点 LEOA。
4. 批验证和数据聚合阶段:
- 接收数据: LEOA 接收来自多个 IoT 设备的签密数据。
- 批验证: LEOA 使用哈希函数对公钥进行聚合,得到 AggPbK = ∑n i=1 PbKiOT.i。
- 数据聚合: LEOA 使用哈希函数对身份标识和密文进行聚合,得到 Isum = ∑n i=1 I.i 和 Csum = ∑n i=1 c.i。
- 生成签名: LEOA 使用哈希函数对聚合后的数据进行签名,得到 SignLEOA = ∑n i=1 σiot.i。
- 发送数据: LEOA 将 (AggPbK, Isum, Csum, SignLEOA) 发送给云节点 LEOB。
5. 解密阶段:
- 接收数据: LEOB 接收来自 LEOA 的数据。
- 验证签名: LEOB 使用 PbKLEOB.𝜂i 验证签名 SignLEOB = ∑n i=1 σiot.i。
- 生成会话密钥: LEOB 生成会话密钥 secKey = {(σLEOB.PbKLEOB.𝜙).𝜙}。
- 解密数据: LEOB 使用会话密钥 secKey 解密聚合后的密文,得到聚合的明文数据。
6. 切换阶段:
- LEOB1 发起切换: 当 LEOB1 的覆盖范围即将结束时,它生成全局定位坐标 T1、信号强度 Q 和时间戳 T1,并计算 HR1 = h2(PIDLEOB1 || T1 || T1) + Q.αLEOB1,然后发送 h2(HR1 || PvKLEOB1) 给 LEOB2。
- LEOB2 验证并响应: LEOB2 验证 HR1 的有效性,计算 Q2 = Q2 - Q1,生成 GP2、T2 和 HResp = h2(PIDLEOB2 || GP || T1) + ∇Q.αLEOB2,然后发送 h2(HResp || PvKLEOB2) 给 LEOB1。
- LEOB1 验证并确认: LEOB1 验证 HResp 的有效性,计算 Q = ∇Q.αLEOB1,生成新的全局定位坐标 T1’、新的时间戳 T3、新的随机数 αLEOB1、新的会话密钥 secKey’ 和新的密文 c’ = m ⊕ secKey’,然后发送 (T3, T1’, αLEOB1, secKey’, c’, σLEOB1, v) 给 LEOB2。
- LEOB2 验证并解密: LEOB2 验证 (T3, T1’, αLEOB1, secKey’, c’, σLEOB1, v) 的有效性,生成会话密钥 secKey’’ = {(σLEOB1.PbKLEOB1.𝜙).𝜙},并使用 secKey’’ 解密 c’,完成切换。
更多推荐

所有评论(0)