Paper reference:
- Device-Enhanced Secure Cloud Storage with Keyword Searchable Encryption and Deduplication | SpringerLink
- Secure Communications over Insecure Channels Based on Short Authenticated Strings | SpringerLink
Bin-linear Map
“Suppose that G is an additive group of prime order p and GT is a multiplicative group of the same order. A bilinear map e : G × G → GT has the following three properties” (Jiang et al., 2024, p. 400)
Suppose is a map, e(param[] elements) is a function call.
Bio-linearThis means that e respects the group operations in both groups, i.e., it is linear in both arguments. The exponents a and b act multiplicatively on the map.
, where 1 denotes
UNIT Element
in Multiplicative Group.e is effective to calcutale.
MLE
不用说懂得都懂
SAS-MA
Including 2 channels:
open channel“allows for transmission of messages of arbitrary length, but is subject to man-in-the-middle adversaries.” (Jiang et al., 2024, p. 401) Allow any messages; affacted by Man-in-the-middle Attack.
SAS channel“allows for transmission of up to t′-bit (e.g., 20-bit) messages” (Jiang et al., 2024, p. 401) Allows for any messages.(t’ is a short interger, e.g. 20)
“commitment“ is more alike a Hash sign of Message m for authentication.
Threat Model
CS \ KS: compromised“An honest-but-curious cloud server may compromise the key servers to launch offline brute-force attacks and offline KGA against files and keywords, respectively. The number of compromised key servers is assumed to be less than the threshold.” (Jiang et al., 2024, p. 402)
Open Channel:
- disclose pw & pw-derived sk
- pw is low-entropy
- A can reveal pw by existing <pw,sk> pairs
Trusted device owned by R
cln. “secure against an honest-but-curious cloud server, compromised key servers, and man-in-the-middle adversaries” (Jiang et al., 2024, p. 403)
Construction
phase 1.
ParaGen:
KS*n , 0<t<n : threshold
素数p阶加法群G,生成元P;p阶乘法群GT
e双线性映射:e: G × G -> GT
Hash functions
- H: *->G
- h1: G&*->K(secure para.)
- h2: GT->K
- h3: *->K
- h4: G&*->Zp*
对称加密 SEnc\SDec
PKEnc\PKDec
ServerSecretGen:
KS 进行分布式密钥生成,产生α和β, and ones for their own.
KS_i owns αi & βi.
pk: V=α*P , Q=β*P and Vi Qi for KS_i of their own.
“the key servers perform the distributed secret generation algorithm illustrated in Algorithm 1 twice to create two secrets α and β that are shared among them. Each key server KSi (i ∈ [n]) owns the secret shares αi and βi. The public keys V = α · P , Q = β · P and the public shares Vi = αi · P , Qi = βi · P for i ∈ [n] are published.” (Jiang et al., 2024, p. 403)
运行算法两次得到的α和β分别用于File M和Keyword kw的签名
Algorithm 1:
实质是分布式密钥协商算法:
The public key PK is shared and available, while each server only knows its own private share.
prepare(input): 安全参数K, 大素数p, KS index 1~n, threshold t.
P是 Zp*的生成元
for every : ,
for every : 计算 并公开,send to every now, for all owns all KS’s > :目的是盲化
threshold参数在上体现,只需要t个KS协作即可完成认证
all trusted KS verifies: > 确保得到的与所声明的一致(在KS群中保持一致,不可能存在一个腐败的KS,除非所有KS都欺骗Server)
: 计算
= \\升阶(群内)盲化for all KS: 协商获得 pk:
OUTPUT:
PK | {}
( are stored inside KS as secure key)
use
ReceiverKeyGen:
k∈Zp* randomly (在device D中储存)
(“the password-derived public key Γ” )
γ是私钥,Γ是公钥 used in PKEnc\PKDec
phase 2.
MLEKey & sdk(server-derived key) Gen:
prepare: File M and its Keywords {w_j} T=|{wj}|
文件HASH盲化
Keyword hash盲化共享 M’ 与 with All KS
for : Sign “the signatures These signatures will be transmitted to S”
Server verifies signs
补充知识:
BLS签名的基本步骤
密钥生成:
选择一个椭圆曲线群 G 和双线性映射e
生成私钥(一个随机数,q 是群的阶)。
计算公钥 ,其中 G 是基点。
签名生成:
对消息 m 进行哈希处理,得到 H(m),这里 H(m)是一个映射到椭圆曲线的点。
使用私钥 x对 H(m) 进行签名:签名
签名验证:
验证者首先计算 H(m) 并得到消息的哈希值。
使用公钥 P 和签名 σ 进行验证:检查是否满足以下等式:
如果该等式成立,则签名是有效的,否则无效。
正确性验证(双线性):
拉格朗日插值(Lagrange Interpolation)
是一种多项式插值方法,用于通过已知的离散数据点()构建一个多项式,该多项式通过这些数据点。具体来说,给定 n+1 个数据点 ,拉格朗日插值通过构造一个多项式 L(x),使得:
拉格朗日插值公式为:
其中, 为第 i 个基拉格朗日多项式,其定义为:
这意味着每个基多项式 在 处为1,其他数据点处为0。最终,L(x) 就是通过所有数据点的加权组合。
Encryption
使用MLE Key 对称加密M:
Γ是用户的pw-derived pk,公钥加密MLE KEY:
加密server-derived keywords , ξj 从Zp*中随机选取:
OUT SOURCE: , , for j∈[T]
De-duplication
package:
phase 3. Data Access
R: Key Recovery (SAS-MA)
Client interact with Device:
在SAS信道中(C TO D):
D 计算 checksum
检查承诺
成功则进行(实质是一个同态加密,pw经过盲化,只传输并操作pw’,C拥有盲化因子, k是Device拥有的私钥)并 send to C:
C 解盲化并得到私钥γ
即得到私钥
Keyword Search
Client interacts with KS to blinds w*, r*∈Zp*
For :
Client Check * threshold by:
then computes:
computes server-derived kw:
send to CS
query for
verify , where A is randomly selected by CS
send (enc)MLE Key (and ?) to C
Decryption
Security Proof
定理1. 如果使用盲BLS签名和SAS-MA,则DULCET是抗中间人攻击的
“Theorem 1. Assuming the blind BLS signature is of blindness and the short authentication string message authentication (SAS-MA) is secure, DULCET prevents a man-in-the-middle adversary A (e.g., CS∗) from learning the receiver R’s password-derived private key γ and password pw.” (Jiang et al., 2024, p. 407)
security provided by:
Blinded BLS signature & SAS-MA 保证k只在device中派生,不在任何信道中显式传输,对于一个外部敌手只能获得公钥并通过DGA来匹配pw:
·
定理2. 对于所有PPT敌手,DULCET是不可预测的
“Theorem 2. DULCET is of unpredictability if for any PPT adversary A, the advantage of A winning the unpredictability experiment is negligible.” (Jiang et al., 2024, p. 408)
在分布式密钥协商中,敌手最多能收集到t-1个子密钥(threshold t)
…