Bitget下载

注册下载Bitget下载,邀请好友,即有机会赢取 3,000 USDT

APP下载   官网注册

只要足够安全,密钥设置是否可以重复使用?有必要定期修改密钥吗?钥匙不幸丢失如何找回?素未谋面的两方如何安全协商密钥?上次,我们了解到基于密码术的隐私保护方案其有效性在很大程度上取决于密钥是否能得到有效管理。

在这里,我们将进一步分析密钥管理的具体范围,各个操作环节的典型风险,以及应对措施。。密钥管理的对象是密钥本身或用于生成密钥的密钥材料(通常称为根密钥)。三个主要的操作环节包括密钥的使用、存储和协商。鉴于人类用户(以下称为用户)和计算机系统在自身能力上的差异,需要使用不同的技术手段和治理手段来实现有效的密钥管理,下面将对三类运营环节逐一进行分析。

一、密钥的使用

密钥的使用是指用户基于根密钥为不同的业务操作生成实际使用的密钥的过程。。这个过程不仅包括直接使用预置键,如输入用户';用户的密码';的内存,但也包括使用某个转换的关键。

其主要风险是密钥泄露导致的未授权使用,可能造成以下后果:

使用该密钥加密的私有数据被泄露。尤其是当所有的历史隐私数据仅用一个密钥加密时,攻击者有可能以明文形式获取所有的历史隐私数据。

使用此密钥通过身份验证入侵系统。不仅仅是数据。攻击者可以获得用户的所有操作权限,如恶意修改系统访问控制参数,用具有法律效力的数字证书对未授权内容进行数字签名等。

鉴于密钥使用中的这些风险,密钥轮换是核心应对措施。,即每隔一段时间,生成一个新的密钥。对于计算机系统,生成新的随机密钥通常很容易。新密钥可能与旧密钥无关,其有效期和密钥本身将被保存在安全级别较高的存储介质中,以最大限度地降低密钥泄露的风险。

但是,用户无法使用上述方案。用户不容易生成安全的新密钥并记住和使用它。如果进一步要求用户记忆多个长的、随机的和不相关的键。该用户可能会被迫"解决"并且使用不安全的手段,比如把所有的键都写在纸上,没有保护的手机app。如何让用户只记住一个密钥,实现有效的密钥轮换?这里可以使用的关键技术是密钥派生函数(KDF)。

KDF有两个核心功能:

将短用户密码扩展为符合安全密钥长度的密钥。

从一个根密钥生成满足安全密钥长度的多个密钥。

典型的KDF,比如IETFRFC2898标准中的PBKDF2函数。,可以表达成如下形式:DerivedKey=PBKDF2(PRF,密码,Salt,迭代计数,派生密钥长度)

其中:

PRF是一个随机数生成函数,负责在运算过程中生成一系列随机数。

密码是用户密码。

Salt是为防止批量穷举攻击而设置的Salt值,其作用相当于用户特定的随机种子。

IterationCount是生成衍生密钥所需的迭代次数。通过故意增加迭代次数,攻击者更难穷尽攻击。

DerivedKeyLength是派生密钥的长度。,一般比用户密码长很多。

PBKDF2函数的五个输入中,用户只需要记住用户密码,其余的可以由辅助计算机系统计算。用户密码可以根据用户设置';而不影响用户体验。。同时,只要用户密码足够长,安全风险一般是可控的。除了PBKDF2,KDF也是BIP-32标准中分层确定性密钥钱包设计的核心。。不同的是,BIP-32为椭圆曲线公钥密码算法提供了唯一的密钥推导规则,实现了子密钥树的扩展和中间节点公钥托管的扩展,有兴趣的读者可以详细了解。

KDF在技术上实现了密钥轮换,需要在治理上采取一定的措施,进一步降低密钥使用的风险。常见的治理策略主要涵盖两大风险:

密钥的最短长度和最低复杂度;密钥长度不能太短。能';不容易被普通的字典库破解。

密钥复用:建议定期更换密钥,历史密钥不能复用。对于计算机系统,可能还需要为不同的系统目的设置不同的密钥。

关于第一个治理策略总的来说业内没有异议,但是近几年对于第二条中用户需要定期更换密钥的建议出现了一些不同意见。在实践中经常发现,很多用户为了方便记忆,采用不安全的替代品,选择一组相关性强的用户密码。

比如2019年用的旧密码是"password2019"2020年使用的新密码是"密码"。旧密码一旦泄露,很容易推断出新密码。另一方面,如果用户被告知不需要定期改变密码,用户在心理上更有动力设置更复杂的密码。

因此,实现改变用户的策略并不一定更安全';定期设置密码。除了上述治理策略,为了控制内部人滥用密钥的风险。还需要将钥匙的控制权分配给一些在功能上受到限制的相关人员。只有所有相关人员都同意使用,才能正常使用。背后的技术原理会在下一个环节提到。

二、密钥保存

密钥存储是指用户将密钥保存在存储介质中,并在某些情况下从存储介质中恢复之前保存的密钥。

主要风险是除了前面环节提到的后果外,由于保管不当导致密钥泄露或丢失。,这可能会产生以下附加后果:

无法解密用此密钥加密的私有数据。

此密钥保护的权益不可赎回。

针对密钥存储的这些风险,核心对策是物理隔离和密钥碎片化。。前者意味着密钥存储环境应该是与恶意环境隔离的安全环境。后者是指密钥不要一次性保存,而是分块,分别由多个可信方保存,必要时要实现异地容灾。对于计算机系统安全硬件模块和高物理安全服务器机房是实现物理隔离的常用手段。必要时,保存密钥的设备可以始终保持离线,以防止意外的未授权访问。

对于密钥分段,可以使用加密秘密共享算法。。最常用的密码秘密共享算法是沙米尔秘密共享算法,它是由以色列密码学家阿迪萨莫尔在他1979年的论文"『如何分享秘密』"。。Shamir秘密共享算法的核心思想是将密钥的值设置为一个N阶随机多项式中的常数参数,然后在随机多项式上随机选取m个点的坐标,这些点就是密钥的切片。

这些段具有以下特征:

如果攻击者获得的碎片总数小于n,则攻击者无法获得任何关于密钥的信息。

若所有可能片段的总数m大于n,则通过任意n个片段,利用拉格朗日多项式插值算法恢复出随机多项式。

,您可以有效地恢复密钥。

与计算机系统相比,用户';对前者物理隔离的要求可能更容易实现。与读取存储介质中的数据相比,直接从用户处提取密钥要困难得多';没有强迫和诱导的技术手段的记忆。但是对于第二密钥分段的要求,,你需要配合各种托管技术,使用计算机辅助手段,生成并保存高安全性的密钥片段。

具体的技术分类和比较,请参考前面关于密钥托管的讨论。无论采用哪种技术,一般来说,,用户需要记住至少一个用户密码。但是忘记用户并不罕见';的密码,就像门钥匙一样,尤其是在账号数量和相关钥匙总数众多的情况下。如果服务提供商提供有效的密钥重置服务,最好将所有密钥写在纸上或手机APP上。,通过密钥重置服务重置密钥,密钥泄露的风险可能更低。

三。密钥协商

密钥协商是指多个用户或系统远程协商要在交互过程中使用的密钥。作为社会性生物,与陌生人交换信息。,是人类生活中不可缺少的一部分。在当前数据驱动的时代,计算机系统通过跨域交换信息实现更大的价值发现,这是现代信息业务的核心商业模式之一。在这些信息交换期间,最典型的应用之一是私有数据的端到端加密传输,因此需要生成一次性密钥来加密和保护信息。在缺乏可信信道的情况下,能否与交互方安全地完成密钥协商,对于隐私数据的保护尤为关键。

其主要风险是恶意通信环境下的密钥被截取或篡改。除了密钥使用环节提到的后果外,还可能造成以下额外后果:

该密钥保护的私有数据被篡改。例如,金融交易中的收款人和付款金额。

该密钥保护的其他密钥泄露。例如,同意在通过加密通道传输的后续协议中使用的密钥。

针对密钥协商中的这些风险,核心对策是认证交换和认证分发。对于计算机系统根据不同的业务场景和部署环境的安全假设,有许多不同类型的认证密钥交换协议,最常用的是基于公钥证书系统和Diffie-Hellman密钥交换协议。

关于认证密钥分发,经典的密码学相关方案包括基于公钥证书系统的密钥封装机制、KEM、基于可信中间代理的密钥密文转换和代理再加密等。。更具创新性的技术方案包括第六论中提到的基于量子纠缠理论的量子密钥分发技术。中国';s墨子量子科学实验卫星实现了数千公里星地双向量子纠缠分发的原型实验。在技术手段的帮助下,用户通常对密钥协商不敏感。例如,当我们使用浏览器时,我们通常不会';t意识到当我们建立到不同网站的安全连接时,会根据不同网站的不同数字证书进行密钥交换,最终使用不同的一次性密钥与不同的网站进行通信。。但是,用户也需要保持警惕,以验证身份验证的有效性。一旦数字证书被盗或过期,攻击者就有机会冒充服务提供商,拦截用户';篡改用户隐私数据';的操作请求,并实现一个经典的中间人攻击。

密钥管理的三个环节存在大量的风险点。因为密钥是密码学中的最高机密,所以窃取密钥往往是攻击者的首要目标。任何一个环节出现问题,都会严重影响相应隐私保护方案的整体效果。。这个理论的分享主要集中在技术方案和治理策略上(见下面的汇总表)。在实际的方案部署中,工程实现等相关层面的保护也非常重要,将需要更完善的组合策略,从多个维度提供分级保护。

一点不错:密钥管理要小心破解,技术管理的组合显示出神奇的力量!有效的密钥管理是基于密码学的隐私保护方案的重要前提。无论隐私保护方案的内部设计多么巧妙,在密钥的使用、存储和协商中的任何疏漏。,会让它功亏一篑。除了传统的安全性分析,对用户的可用性分析也很重要。

在实际的隐私保护应用中,高于常规人类认知记忆能力的要求会促使用户使用不安全的替代手段,最终效果会大打折扣。。有效的密钥管理需要在多个维度上整合技术解决方案和治理策略,同时实现安全性和可用性之间的平衡和优化。