每个会话密钥在共识或安全方面扮演一个特定的角色。通常,会话密钥获得仅来自会话许可的授权,由代表一定质押量的某些控制人密钥签字。
任何时候,控制人密钥都可以暂停或撤销此会话许可,以及可以选择是否更换新的会话密钥。所有新的会话密钥都可以提前注册,而且大多数必须提前注册,便于验证人通过发放只在未来某个会话之后有效的会话许可,使其干净利落地过渡到新硬件。我们建议使用暂停机制进行紧急维护,并在会话密钥可能被泄露时使用撤销机制。
我们更倾向于会话密钥能够绑定到一台物理设备,以最大程度地减少意外风险的发生。我们要求验证器和操作员通过RPC协议发起会话许可,而不是通过会话密钥本身去操作。
几乎所有早期的POS网络在公钥基础设施上都有疏忽,间接的鼓励了跨设备复制会话密钥,从而降低了安全性并导致无意义的罚款。
我们对具体的组件或其关联会话密钥类型⁶并不进行在加密密码学方面的预先限制。
在BABE 4.3.1中,验证人使用Schnorrkel/sr25519密钥作为常规Schnorr 签名,也可以用于基于NSEC5[28]的可验证随机函数(VRF)。
VRF是伪随机函数(PRF)的公钥模拟,又名具有可分辨密钥功能的加密哈希函数,例如许多MAC。当区块生产者VRF输出VRFsk (rℯ‖slot number)的得分足够低,那么,任何拥有VRF公钥的人可以验证区块是否在正确的slot中产生,但只有区块生产者才能通过他们的VRF密钥提前知道他们的插槽。
如[15]描述,我们为VRF输入提供一系列随机性rℯ,通过哈希所有VRF输出形成前一个会话,这就要求BABE密钥至少在使用之前的两个完整epoch完成注册。
我们通过对输入端签名者的公钥进行哈希以降低VRF输出的延展性,与HDKD一起使用时,可显着提高安全性。当输出端在其他地方使用是,我们对VRF的输入和输出信息都进行哈希,提高了其作为安全证明随机预言机使用时的可组合性。相关Theorem 2 2Hash-DH构造内容,请参阅第32页附件C [15]。
在GRANDPA 4.3.2中,验证人应使用BLS签名进行投票,支持方便签名聚合并选择ZCash BLS12-381曲线以获得性能。这里存在的风险是由于数阈筛选法的进步,BLS12-381的安全性可能会大大低于128位。如果发生这种情况,我们预计将GRANDPA升级到另一条曲线来解决问题。
我们也将libp2p的传输密钥大致视为会话密钥,但它们不单单是给验证人本身使用,也包括传输哨兵节点的密钥。因此,操作者需要更多和它产生交互。