高效的日志密钥存储广播加密方案解析
在当今数字化时代,广播加密技术在保障信息安全传输方面起着至关重要的作用。本文将详细介绍一种高效的日志密钥存储广播加密方案,该方案在传输成本、密钥存储和计算成本之间取得了良好的平衡。
1. 广播加密方案复杂度对比
首先,我们来看不同广播加密方案在具有 $O(\log n)$ 密钥存储情况下的复杂度对比,如下表所示:
| 方案 | 传输成本(边界) | 密钥存储 | 计算成本 |
| — | — | — | — |
| CS | $O(r \log n/r)$ | $O(\log n)$ | $O(\log \log n)$ |
| SSD | $O(r)$ | $4kr$ | $O(n^{1/k})$ |
| B1 | $O(r)$ | $2kr$ | $O(n^{1/k})$ |
| 我们的方案 | $O(r)$ | $2r$ | $O(n^{1/k})$ |
这里的 $k$ 是一个任意的系统参数。我们的方案在日志密钥限制下,传输成本最多为 $2r$。为了实现不受分层级别影响的传输成本,我们的方案在 B1 方案的基础上,额外分配了分层之间的相关密钥。不过,在我们的方案中,密钥存储和计算成本之间存在一种权衡关系。虽然我们的方案将传输成本的上限降低到了 $2r$,但需要 $(d + \frac{d + 1}{2} \cdot \log n)$ 的密钥存储和 $(d \cdot n^{1/d})$ 的计算成本。
2. 广播加密模型
我们基于 Naor 等人引入的子集覆盖框架来定义广播加密模型,该模型主要包括通用模型和对抗模型。
2.1 通用模型
在广播加密中,中心(或广播者)为所有用户分配秘密密钥,并使用子集密钥广播加密消息。合法用户可以从分配的秘密密钥中导出子集密钥,并使用它们解密密文。具体来说,广播加密方案 BE 由以下三个阶段组成:
-
设置(Setup)
:中心为每个用户生成秘密密钥,并通过安全通道将它们交付给每个用户。
-
广播(Broadcast)
:中心向用户广播消息。给定被撤销用户的集合 $R$,中心将剩余用户集合 $N \setminus R$ 划分为不相交的子集 $S_1, \ldots, S_m$,使得 $N \setminus R = \bigcup_{i = 1}^{m} S_i$,并为每个子集 $S_i$ 计算一个子集密钥 $sk_i$。中心随机选择一个会话密钥 $K$,并使用 $sk_1, \ldots, sk_m$ 对其进行 $m$ 次加密。此外,“实际”消息 $M$ 也使用 $K$ 进行加密。中心广播密文 $\langle Hdr, Enc_K(M) \rangle$,其中 $Hdr = \langle I_1, \ldots, I_m, E_{sk_1}(K), \ldots, E_{sk_m}(K) \rangle$。这里的 $E: {0, 1}^l \rightarrow {0, 1}^l$ 和 $Enc: {0, 1}^
\rightarrow {0, 1}^
$ 是对称加密,$l$ 是安全参数,$I_j$ 是关于子集 $S_j$ 的信息。通常,会使用流密码等快速加密方案来加密实际消息。我们将 $Hdr$ 称为头(或启用块)。
-
解密(Decryption)
:用户 $u$ 收到密文后,首先从 $I_i$ 中找到包含自己的子集 $S_i$。合法用户可以从他的秘密密钥中生成子集密钥 $sk_i$,使用它解密 $E_{sk_i}(K)$,并从 $K$ 中获取实际消息 $M$。
评估广播加密方案的重要因素包括:
-
传输成本
:用于向 $N \setminus R$ 中的用户交付会话密钥的头的长度,这取决于覆盖 $N \setminus R$ 的子集数量,即头中包含的分区数量。
-
密钥存储
:每个用户应在其安全设备中存储的秘密密钥数量。
-
计算成本
:从用户的秘密密钥计算子集密钥的处理时间。
下面是通用模型的流程图:
graph TD;
A[设置] --> B[广播];
B --> C[解密];
2.2 对抗模型
我们的对抗模型遵循 [19] 中定义 10 的安全模型。下面简要回顾一下攻击场景,挑战者和对手之间的攻击游戏如下:
-
设置
:挑战者运行设置算法,为所有用户生成秘密密钥。
-
阶段 1
:对手自适应地选择被撤销用户的集合 $R$,并从挑战者处获取 $R$ 中用户的秘密密钥。当选择 $R$ 时,他可以获得自己选择的消息的加密。此外,他还可以创建密文,并观察任何未受损用户如何解密它。
-
挑战
:对手选择一条消息 $M$ 和一个包含阶段 1 中选择的所有被撤销用户集合的集合 $R’$。挑战者选择一个随机比特 $b \in {0, 1}$,并设置 $C = Broadcast(R’, M_b)$,其中 $M_1$ 是 $M$,$M_0$ 是长度相似的随机消息。然后将其发送给对手。
-
猜测
:对手输出一个猜测 $b’ \in {0, 1}$。
如果对于任何多项式时间的对手,他区分 $M_0$ 和 $M_1$ 的概率可以忽略不计,我们就说广播加密方案是安全的。
3. 提出的方案
我们提出了一种具有日志密钥存储的高效广播加密方案,该方案基于 Hwang 等人的 B1 方案构建。虽然 B1 方案的传输成本最多为 $2r$,密钥存储为 $O(\log n)$,但其计算成本与 $n$ 成正比。为了实现合理的计算成本,我们先介绍修改后的 B1 方案,然后在此基础上构建完整的方案。
3.1 基本方案
我们对 B1 方案进行了轻微修改,除了子集信息 $I$ 的表示方式和用户搜索包含自己的子集的技术外,该方案与 B1 方案相同。在 B1 方案中,非被撤销用户首先找到两个相邻的被撤销用户,并在这两个被撤销用户的区间内进行二分搜索。而在我们的方案中,用户可以直接从哈希链的索引和方向搜索自己的子集。
我们为用户 $u_i$ 和 $u_j$($i \leq j$)之间定义了两个单向链 $OC_{i \rightarrow j}$ 和 $OC_{i \leftarrow j}$。设 $f: {0, 1}^l \rightarrow {0, 1}^l$ 是一个单向函数。那么 $OC_{i \rightarrow j}$ 是从 $i$ 到 $j$ 的单向链,给定 $u_i$ 的标签 $L_i \in_R {0, 1}^l$,其值为 $f^{j - i}(L_i)$。另一方面,$OC_{i \leftarrow j}$ 是从 $j$ 到 $i$ 的单向链,给定 $u_j$ 的标签 $L_j \in_R {0, 1}^l$,其值为 $f^{j - i}(L_j)$。我们的基本方案如下:
-
设置
:中心想象一个有 $n$ 个节点的数轴 $L$,每个节点从左到右按层级顺序编号为 $i$($i = 1, \ldots, n$)。每个用户被分配到一个节点,设分配到节点 $i$ 的用户为 $u_i$。中心为每个节点 $i$($1 \leq i \leq n$)随机选择一个标签 $L_i \in {0, 1}^l$。我们用 $I_{i;j}$ 表示 $i$ 和 $j$ 区间内的用户集合。中心从 $I_{1;n}$ 开始递归地重复以下密钥分配过程。假设用户 $u_m$ 包含在 $I_{i;j}$ 中,那么 $f^{m - i}(L_i)$ 和 $f^{j - m}(L_j)$ 作为秘密密钥给 $u_m$。为 $I_{i;j}$ 分配秘密密钥后,$I_{i;j}$ 被划分为两个区间 $I_{i;t}$ 和 $I_{t + 1;j}$,其中 $t = \lfloor \frac{i + j}{2} \rfloor$,然后通过相同的方法为 $u_m$ 分配 $I_{i;t}$ 或 $I_{t + 1;j}$ 的秘密密钥。如果 $m \leq t$,由于 $f^{m - i}(L_i)$ 可以同时用于 $I_{i;j}$ 和 $I_{i;t}$,所以只为 $u_m$ 分配 $f^{t - m}(L_t)$ 用于 $I_{i;t}$。如果 $m > t$,则只为 $I_{t + 1;j}$ 分配 $f^{m - t}(L_t)$。因此,每当创建一个新的区间时,会给用户一个额外的密钥。这个过程从 $I_{1;n}$ 开始,到 $I_{m;m}$ 结束。因此,用户应在其安全存储中存储 $1 + \log n$ 个密钥。例如,假设总共有 16 个用户,那么 $u_7$ 的秘密密钥为 $f^6(L_1)$、$f^9(L_{16})$、$f(L_8)$、$f^2(L_5)$ 和 $L_7$。
-
广播
:给定 $R$,中心首先将数轴 $L$ 划分为每个区间包含一个被撤销用户或连续被撤销用户的区间。如果 $I_{i;j}$ 中的用户 $u_t$ 被撤销,$I_{i;j}$ 中的非被撤销用户由两个哈希链 $OC_{i \leftarrow t - 1}$ 和 $OC_{t + 1 \leftarrow j}$ 覆盖。然后,对于 $I_{i;j}$ 中的用户,会话密钥 $K$ 用 $OC_{i \rightarrow t - 1}$ 和 $OC_{t + 1 \leftarrow j}$ 的链值进行加密,即 $f^{t - 1 - i}(L_i)$ 和 $f^{j - (t + 1)}(L_j)$。这里,两个哈希链 $OC_{i \leftarrow t - 1}$ 和 $OC_{t + 1 \leftarrow j}$ 的子集信息可以是 $[+;i, t - 1]$ 和 $[-;t + 1, j]$。
-
解密
:用户 $u_m$ 收到密文后,首先通过检查 $i \leq m \leq j$ 从子集信息 $[\pm; i, j]$ 中找到包含自己的子集。如果他的子集方向为 $+$,则通过 $f^{j - m}(f^{m - i}(L_i))$ 计算 $OC_{i \rightarrow j}$。否则,通过 $f^{m - i}(f^{j - m}(L_j))$ 计算 $OC_{i \leftarrow j}$。
在图 1 中,如果 $u_5$、$u_6$ 和 $u_{11}$ 被撤销,会话密钥分别用 $f^3(L_1)$、$f(L_8)$、$f(L_9)$ 和 $f^4(L_{16})$ 进行加密。该方案最多需要 $2r$ 的传输成本,因为每个被撤销用户最多生成两个密文。其安全性基于 $f$ 的伪随机性。
基本方案的流程图如下:
graph TD;
D[设置] --> E[广播];
E --> F[解密];
3.2 完整方案
基本方案虽然满足日志密钥限制和 $2r$ 的传输成本上限,但计算成本与 $n$ 成正比,不太适合实际应用。因此,我们将基本方案扩展为类似于 [14] 中通用转换的层次结构。实际上,所有具有层次结构的方案,为了在传输成本、密钥存储和计算成本之间实现高效权衡,传输成本会根据层次(或分层)的数量线性增加。然而,我们的方案能够在满足合理计算成本和日志密钥存储要求的同时,保持 $2r$ 的传输成本上限。我们的方案通过与层次结构中的分层数量成比例的额外密钥和计算成本来实现这一点。此外,在合理的范围内,我们的方案在密钥存储和计算成本之间存在一种权衡关系。完整方案如下:
-
设置
:假设 $n = a^d$。中心想象一个深度为 $d$ 的 $a$ 叉树 $T_v$,并将一个用户分配到每个叶子节点。然后,$T_v$ 中的每个叶子节点从左到右按层级顺序编号为 $i$($i = 1, \ldots, n$)。设 $T_v$ 的根节点为 $v$,节点 $w$ 的第 $i$ 个子节点为 $w; i$。注意,这个符号可以顺序表示为 $w; i_1; \ldots; i_l$。此外,我们将节点 $w$ 的子节点集合称为兄弟集 $S_w$。例如,在图 2 中,节点 34 表示为 $v; 3; 1; 2$,$S_{v;3;1} = {33, 34, 35, 36}$。设 $T_w$ 是以 $T_v$ 中节点 $w$ 为根的子树。中心为 $T_v$ 中的每个节点 $w$ 随机选择一个标签 $L_w$。然后通过基本方案的设置为 $S_w$ 生成密钥。$S_w$ 中 $w; t$ 的密钥被分配给 $T_{w;t}$ 叶子节点的用户。因此,分配到 $v; i_1; \cdots; i_d$ 的用户拥有 $S_v$、$S_{v;i_1}$、$\cdots$、$S_{v;i_1;\cdots;i_{d - 1}}$ 的密钥。在图 2 中,用户 $u_{34}$ 拥有秘密密钥 $f^2(L_{v;1})$、$f(L_{v;4})$、$L_{v;3}$、$L_{v;3;1}$、$f^3(L_{v;3;4})$、$f(L_{v;3;2})$、$f(L_{33})$、$f^2(L_{36})$、$L_{34}$。这种分配实际上与 [14] 中引入的编译器的分配相同。在我们的方案中,为了消除层次结构的传输成本,用户被分配了额外的密钥。设 $g: {0, 1}^l \rightarrow {0, 1}^l$ 是一个与 $f$ 不同的单向函数。设 $f(f(L))$ 表示 $f \circ f(L)$,$g \circ f^k(L)$ 表示 $g^k(L)$。那么 $g \circ f^x \circ g \circ f^y(L)$ 可以表示为 $g^x \circ g^y(L)$,$g^0(L)$ 等于 $g(L)$。如果用户 $w; i_1; \cdots; i_t$ 被分配了 $S_w$ 中 $f^j(L_{w;m})$($m < i_1$),中心会额外分配以下密钥:
- $f^{i_2} \circ g^{j - 1}(L_{w;m})$
- $f^{i_3} \circ g^{i_2 - 1} \circ g^{j - 1}(L_{w;m})$
- $\cdots$
- $f^{i_t} \circ g^{i_{t - 1} - 1} \circ \cdots \circ g^{i_2 - 1} \circ g^{j - 1}(L_{w;m})$
- 另一方面,如果 $m > i_1$,中心会分配以下密钥:
- $f^{a - i_2 + 1} \circ g^{j - 1}(L_{w;m})$
- $f^{a - i_3 + 1} \circ g^{a - i_2} \circ g^{j - 1}(L_{w;m})$
- $\cdots$
- $f^{a - i_t + 1} \circ g^{a - i_{t - 1}} \circ \cdots \circ g^{a - i_2} \circ g^{j - 1}(L_{w;m})$
- 当 $i_1 = m$ 时,不分配额外的密钥。因此,对于 $S_w$,用户被分配了 $1 + t \cdot \log a$ 个密钥。$T_v$ 中的用户 $v; i_1; \cdots; i_d$ 拥有 $S_v$、$S_{v;i_1}$、$\cdots$、$S_{v;i_1;\cdots;i_{d - 1}}$ 的所有秘密密钥。因此,用户总共需要存储的秘密密钥数量为 $d + \frac{d + 1}{2} \cdot \log n$。例如,在图 2 的例子中,用户 34 被分配的秘密密钥如下:
- $S_v$:$f^2(L_{v;1})$、$f \circ g^1(L_{v;1})$、$f^2 \circ g \circ g^1(L_{v;1})$、$f(L_{v;4})$、$f^4 \circ g(L_{v;4})$、$f^3 \circ g^3 \circ g(L_{v;4})$、$L_{v;3}$
- $S_{v;3}$:$f^3(L_{v;3;4})$、$f^3 \circ g^2(L_{v;3;4})$、$f(L_{v;3;2})$、$f^3 \circ g(L_{v;3;2})$、$L_{v;3;1}$
- $S_{v;3;1}$:$f(L_{33})$、$f^2(L_{36})$、$L_{34}$
- 用户 34 根据上述规则,从 $f^2(L_{v;1})$ 得到额外的密钥 $f \circ g^1(L_{v;1})$、$f^2 \circ g \circ g^1(L_{v;1})$,从 $f(L_{v;4})$ 得到 $f^4 \circ g(L_{v;4})$、$f^3 \circ g^3 \circ g(L_{v;4})$,从 $S_{v;3}$ 得到 $f^3 \circ g^2(L_{v;3;4})$、$f^3 \circ g(L_{v;3;2})$。由于 $d = 3$ 且 $n = 2^6$,因此用户总共拥有 15 个秘密密钥。
-
广播
:中心想象由 $T_v$ 的叶子节点组成的数轴 $L$。给定 $R$,中心像基本方案的广播阶段一样,创建覆盖 $L$ 的 $OC_{i \rightarrow j}$ 或 $OC_{i \leftarrow j}$ 形式的哈希链。如果节点 $i$ 到 $j$ 的最近公共祖先为 $w$,我们将这个链表示为 $OC_w^{i \rightarrow j}$(或 $i \leftarrow j$)。那么 $i$ 和 $j$ 可以表示为 $w; i_1; \cdots; i_t$ 和 $w; j_1; \cdots; j_t$($t \leq d$)。首先,考虑 $OC_w^{i \rightarrow j}$,其链值通过以下过程计算:
- 如果 $i$ 和 $j$ 是兄弟节点(即 $w$ 是 $i$ 和 $j$ 的父节点),那么 $OC_w^{i \rightarrow j}$ 的链值等于基本方案中 $OC_{i \rightarrow j}$ 的链值。
- 否则,如果 $j$ 是 $T_w; j_1; \cdots; j_m$($1 \leq m < t$)子树中的最右边叶子节点:
- 如果 $m = 1$,那么 $OC_w^{i \rightarrow j}$ 的链值是 $f^{j_1 - i_1}(L_{w;i_1})$。
- 否则,$OC_w^{i \rightarrow j}$ 的链值是 $f^{j_m} \circ g^{j_{m - 1} - 1} \circ \cdots \circ g^{j_2 - 1} \circ g^{j_1 - i_1 - 1}(L_{w;i_1})$。
- 否则,$OC_w^{i \rightarrow j}$ 的链值是 $f^{j_t} \circ g^{j_{t - 1} - 1} \circ \cdots \circ g^{j_2 - 1} \circ g^{j_1 - i_1 - 1}(L_{w;i_1})$。
- $OC_w^{i \leftarrow j}$ 的链值通过与上述过程相反的操作生成。因此,我们的方案与基本方案具有相同的传输成本。例如,在图 4 中,假设 $u_{19}$、$u_{57}$ 和 $u_{59}$ 被撤销,会生成以下单向链:$OC_v^{1 \rightarrow 18}$、$OC_{v;2}^{20 \leftarrow 32}$、$OC_v^{33 \rightarrow 56}$、$OC_{58 \leftarrow 58}$ 和 $OC_{v;4}^{60 \leftarrow 64}$,它们的链值分别为 $f^2 \circ g \circ g(L_{v;1})$、$f \circ g^2(L_{v;2;4})$、$f^2 \circ g(L_{v;3})$ 和 $f \circ g(L_{v;4;4})$。以 $OC_v^{33 \rightarrow 56}$ 为例,33 和 56 的最近公共祖先是 $v$,56 是 $T_{v;4;2}$ 的最右边叶子节点。因此,这个链值 $f^2 \circ g(L_{v;3})$ 是从 $f^2 \circ g^{4 - 3 - 1}(L_{v;3})$ 计算得到的,因为节点 $v; 3$ 是 33 的祖先且是 $v$ 的子节点。
-
解密
:用户 $u_k$ 收到密文后,从 $[\pm; i, j]$ 中找到自己的子集。如果 $i \leq k \leq j$,则 $u_k$ 包含在子集 $[\pm; i, j]$ 中。假设 $k$ 可以表示为 $w; k_1; \cdots; k_t$,且方向为 $+$:
- 如果 $i$ 和 $j$ 是兄弟节点,那么他从自己的秘密密钥 $f^{k - i}(L_i)$ 中通过 $f^{j - k} \circ f^{k - i}(L_i)$ 计算子集密钥 $f^{j - i}(L_i)$。
- 否则,如果 $j$ 是 $T_w; j_1; \cdots; j_m$($1 \leq m < t$)子树中的最右边叶子节点:
- 如果 $m = 1$,那么他通过迭代操作 $f$ 函数,从自己的秘密密钥 $f^{k_1 - i_1}(L_{w;i_1})$ 计算 $OC_w^{i \rightarrow j}$ 的链值 $f^{j_1 - i_1}(L_{w;i_1})$。
- 否则,他找到 $j$ 和自己的公共祖先 $w; k_1; \cdots; k_l$($0 \leq l < m$),并使用 $g$ 和 $f$ 从自己的秘密密钥 $f^{j_{l + 1} - k_{l + 1}} \circ g^{j_l - 1} \circ \cdots \circ g^{j_2 - 1} \circ g^{j_1 - i_1 - 1}(L_{w;i_1})$ 计算 $OC_w^{i \rightarrow j}$ 的链值 $f^{j_m} \circ g^{j_{m - 1} - 1} \circ \cdots \circ g^{j_2 - 1} \circ g^{j_1 - i_1 - 1}(L_{w;i_1})$。
- 否则,他使用 $g$ 和 $f$ 从自己的秘密密钥 $f^{j_{l + 1} - k_{l + 1}} \circ g^{j_l - 1} \circ \cdots \circ g^{j_2 - 1} \circ g^{j_1 - i_1 - 1}(L_{w;i_1})$ 计算 $OC_w^{i \rightarrow j}$ 的链值 $f^{j_t} \circ g^{j_{t - 1} - 1} \circ \cdots \circ g^{j_2 - 1} \circ g^{j_1 - i_1 - 1}(L_{w;i_1})$。
- 如果方向为 $-$,则执行上述方法的相反方向。例如,$u_{34}$ 包含在 $OC_v^{33 \rightarrow 56}$ 中。33 到 56 的节点的最近公共祖先是 $v$,33 在 $v$ 的子节点中的祖先是 $v; 3$。因为 56 是 $T_{v;4;2}$ 的最右边叶子节点,所以 $OC_v^{33 \rightarrow 56}$ 的链值是 $f^2 \circ g(L_{v;3})$。用户 $u_{34}$ 也是 $v; 3$ 的后代,所以他有 $L_{v;3}$ 作为自己的秘密密钥。因此,他可以通过 $f^2 \circ g(L_{v;3})$ 获取子集密钥。而被撤销的用户 $u_{57}$ 拥有由 $L_{v;3}$ 生成的秘密密钥 $f \circ g^2 \circ g(L_{v;3})$,但如果不反转 $f \circ g$,他就无法获取子集密钥。
完整方案的流程图如下:
graph TD;
G[设置] --> H[广播];
H --> I[解密];
完整方案的效率方面,传输成本小于 $2r$,因为和基本方案一样,每个被撤销用户最多生成两个密文。用户生成子集密钥最多需要 $d \cdot a$ 的计算成本,并且如上述所示,用户需要存储 $d + \frac{d + 1}{2} \cdot \log n$ 个密钥。我们的方案通过层次结构中的分层数量,在计算成本和密钥存储之间进行权衡,从而实现了高效的传输成本。
在安全方面,我们的方案的安全性基于 $f$ 和 $g$ 的伪随机性。实际上,由于分配给用户的所有秘密密钥都是由单向链生成的,被排除的用户(即被撤销的用户)如果不反转给定的单向函数 $f$ 和 $g$,就无法计算任何子集密钥。不过,还需要更正式的安全分析。我们证明了我们的方案能够抵御任何被撤销用户集合的勾结。
引理 1:在两个函数 $f$ 和 $g$ 的伪随机性下,完整方案的密钥分配满足密钥不可区分性属性。
证明:设 $f \circ g$ 定义一个函数 $h: {0, 1}^l \rightarrow {0, 1}^l$。如果对手 $A$ 能够破坏我们方案的密钥不可区分性属性,我们通过模拟 $A$ 来证明 $f$ 和 $h$ 的伪随机性也会被破坏。假设我们的方案由子集集合 $S_1, \ldots, S_w$ 定义。对于任何 $1 \leq i \leq w$,设 $S_{i1}, \ldots, S_{it}$ 是包含在 $S_i$ 中的所有子集,$sk_{i1}, \ldots, sk_{it}$ 是它们对应的密钥。对手 $A$ 试图区分密钥 $sk_{i1}, \ldots, sk_{it}$ 和随机密钥 $rk_{i1}, \ldots, rk_{it}$。考虑一个可行的对手 $A$:
1. 选择 $i$($1 \leq i \leq w$)。
2. 接收所有 $u \in N \setminus S_i$ 的秘密密钥 $K_u$。
综上所述,我们提出的具有日志密钥存储的高效广播加密方案在传输成本、密钥存储和计算成本之间实现了较好的平衡,并且在一定程度上保障了安全性。未来,我们可以进一步对该方案进行优化和完善,例如进行更深入的安全分析,以及在不同场景下测试其性能等。
高效的日志密钥存储广播加密方案解析
4. 方案性能分析
为了更全面地评估我们提出的广播加密方案的性能,下面从传输成本、密钥存储和计算成本三个关键方面进行详细分析,并与其他相关方案进行对比。
4.1 传输成本对比
传输成本是衡量广播加密方案效率的重要指标之一,它主要取决于为剩余用户集合 $N \setminus R$ 传递会话密钥所需的头信息长度。以下是我们的方案与其他方案在传输成本上的对比:
| 方案 | 传输成本(边界) |
| — | — |
| CS | $O(r \log n/r)$ |
| SSD | $O(r)$ |
| B1 | $O(r)$ |
| 我们的方案 | $O(r)$ |
从表中可以看出,我们的方案和 SSD、B1 方案在传输成本的量级上相同,均为 $O(r)$。不过,我们的方案通过巧妙设计,将传输成本的上限进一步降低到了最多 $2r$,这在处理大量被撤销用户的场景下,能够显著减少传输开销,提高广播效率。
4.2 密钥存储对比
密钥存储指的是每个用户需要在其安全设备中存储的秘密密钥数量。不同方案的密钥存储需求差异较大,具体对比如下:
| 方案 | 密钥存储 |
| — | — |
| CS | $O(\log n)$ |
| SSD | $4kr$ |
| B1 | $2kr$ |
| 我们的方案 | $d + \frac{d + 1}{2} \cdot \log n$ |
我们的方案在密钥存储方面,由于引入了层次结构和额外的密钥分配机制,存储需求相对较为复杂。但通过合理调整系统参数 $d$ 和 $n$,可以在一定程度上平衡密钥存储和其他性能指标。与 SSD 和 B1 方案相比,我们的方案在密钥存储的增长趋势上有所不同,它与层次结构的深度 $d$ 和用户总数 $n$ 相关。
4.3 计算成本对比
计算成本是指从用户的秘密密钥计算子集密钥所需的处理时间。各方案的计算成本对比如下:
| 方案 | 计算成本 |
| — | — |
| CS | $O(\log \log n)$ |
| SSD | $O(n^{1/k})$ |
| B1 | $O(n^{1/k})$ |
| 我们的方案 | $O(n^{1/k})$ |
我们的方案和 SSD、B1 方案在计算成本的量级上相同,均为 $O(n^{1/k})$。然而,在实际应用中,我们的方案通过层次结构的优化,用户生成子集密钥最多需要 $d \cdot a$ 的计算成本,在一定程度上降低了计算复杂度,提高了计算效率。
5. 方案安全性分析
广播加密方案的安全性至关重要,它直接关系到信息的保密性和完整性。我们的方案的安全性主要基于单向函数 $f$ 和 $g$ 的伪随机性。
5.1 抗勾结性
我们的方案能够有效抵御任何被撤销用户集合的勾结。由于所有分配给用户的秘密密钥都是由单向链生成的,被撤销的用户如果不反转给定的单向函数 $f$ 和 $g$,就无法计算任何子集密钥。例如,在前面提到的完整方案的解密过程中,被撤销的用户 $u_{57}$ 拥有由 $L_{v;3}$ 生成的秘密密钥 $f \circ g^2 \circ g(L_{v;3})$,但如果不反转 $f \circ g$,他就无法获取子集密钥,从而保证了方案在面对勾结攻击时的安全性。
5.2 密钥不可区分性
引理 1 表明,在两个函数 $f$ 和 $g$ 的伪随机性下,完整方案的密钥分配满足密钥不可区分性属性。具体证明过程中,假设对手 $A$ 能够破坏我们方案的密钥不可区分性属性,通过模拟 $A$ 可以证明 $f$ 和 $h$($h = f \circ g$)的伪随机性也会被破坏。这从理论上保证了方案中密钥的安全性,使得对手难以区分真实密钥和随机密钥,进一步增强了方案的安全性。
6. 方案优势总结
综合以上对方案的性能和安全性分析,我们的广播加密方案具有以下显著优势:
6.1 高效的传输成本
通过层次结构和相关密钥的合理分配,我们的方案在满足日志密钥限制的同时,将传输成本的上限降低到了最多 $2r$,与其他方案相比,在传输效率上具有明显优势,能够有效减少传输开销,提高广播效率。
6.2 合理的密钥存储和计算成本权衡
在密钥存储和计算成本之间实现了合理的权衡。虽然引入了额外的密钥和计算成本,但通过层次结构的优化,能够在保证一定安全性的前提下,将计算成本控制在合理范围内,同时通过调整系统参数,可以根据实际需求灵活平衡密钥存储和其他性能指标。
6.3 良好的安全性
基于单向函数 $f$ 和 $g$ 的伪随机性,方案具有良好的安全性,能够有效抵御勾结攻击和保证密钥的不可区分性。被撤销用户无法通过勾结或其他手段获取子集密钥,从而确保了信息的保密性和完整性。
7. 应用场景与展望
我们的广播加密方案在多个领域具有广泛的应用前景,以下是一些可能的应用场景:
7.1 数字电视广播
在数字电视广播中,广播者需要向大量用户发送加密的电视节目。通过使用我们的方案,可以高效地处理用户的撤销操作,确保只有合法用户能够解密和观看节目。同时,较低的传输成本和合理的密钥存储、计算成本能够满足大规模用户的需求,提高广播系统的性能和效率。
7.2 在线教育平台
在线教育平台通常会提供付费课程,为了保护课程内容的版权,需要对课程进行加密广播。我们的方案可以用于对课程视频、资料等进行加密,只有付费的合法用户才能解密学习。在处理用户退订等撤销操作时,能够快速有效地更新加密密钥,保证课程内容的安全性。
7.3 物联网设备管理
在物联网环境中,大量的设备需要接收广播消息,如设备的配置更新、安全指令等。我们的方案可以用于对这些广播消息进行加密,确保只有合法的设备能够接收和处理。同时,方案的高效性和安全性能够适应物联网设备数量众多、分布广泛的特点,保障物联网系统的稳定运行。
展望未来,我们的广播加密方案还有进一步优化和拓展的空间。例如,可以进行更深入的安全分析,完善理论证明,提高方案的安全性级别。此外,还可以探索在不同网络环境和应用场景下的性能优化,进一步降低计算成本和密钥存储需求,提高方案的适用性和灵活性。
综上所述,我们提出的具有日志密钥存储的高效广播加密方案在性能和安全性方面表现出色,具有广阔的应用前景和发展潜力。通过不断的研究和优化,有望为广播加密领域提供更加可靠和高效的解决方案。
高效日志密钥广播加密方案
超级会员免费看
49

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



