一、多方安全计算的含义

“多方安全计算”与“中心化”是相互对立的两个概念,“中心”是指所有的信息资源都掌握于某一方所有,它可以悄无声息地进行某个操作,而不被其余人察觉。在SaaS云平台中,平台服务器就是一个中心,它存储着用户所有的资源,包括本应由用户本人持有的私钥、签名图样、合同文档等,可以在不经过用户知晓的情况下,任意调取用户的私钥以用户的名义进行合同的签署。

理解多方安全计算,首先要弄清楚“多方”及“安全”的概念,多方是指实施一个行为必须由多个参与人共同完成,安全是指行为必须由用户本人实施,其余人没有办法代替他完成。通过该技术,用户可以安全事实某项行为,不必担心他人冒充、代替甚至跨越自己实施某个行为,实现用户一直追求的安全。

二、多方安全计算及中心化的形象理解以及各自效果

2.1对于“中心化”的理解

中心化的形象图解

通俗来说,中心化相当于一个装满了用户物品的仓库,而管理者管理控制仓库内的任何物品。针对房间内的甲物品、乙物品或者其他物件分别跟物品的所有者甲、乙商量好进入房间取回物品各自的暗号,暗号验证成功后,管理者将物品递给用户。

比如,管理者与甲约定好,若甲前来取回甲物品,需敲门三声后大喊“芝麻开门”,验证成功后,管理者将门打开并将甲物品交回至甲处。但,取出甲物品这件事情并非只有甲可以做到,管理者本身在仓库内,他完全有能力监守自盗;又或者是“芝麻开门”这个暗语被他人知道,管理者不明所以将甲物品交给了其他人……存在上述可能性,将无法保证甲物品的顺利取出,这套管理模式存在风险性就不言而喻了。

此前发生的“中信银行事件”,就是中心化管理所滋生的弊端,2020年5月,中信银行发布道歉信,称其内部员工违规盗取并泄露客户信息,引发网友们的高度关注。银行这样的权威机构都存在私自窃取信息的现象,原因就在于传统的中心化存储方式,所有数据都由几大数据中心巨头统一管理,所以,当个人数据被私自查看,用户却一无所知。

2.2对于多方计算的理解


多方计算形象图解

而多方计算,可以参考图2来理解,仓库中仍然存有甲物品、乙物品、丙物品,但是仓库里并没有任何人,钥匙并不是存储在某个人身上,而是由双方各自持有一部分,只有两个人共同完成了钥匙的解锁过程才能够打开库门,这在很大程度上能够避免管理者监守自盗情况的发生,也在无形中对保管人甲起到了一定的约束作用,甲必须妥善保管所持有的部分钥匙。

但,如若甲的钥匙被别人盗取,或者有心之人按照甲的钥匙仿做了一把,那这个多方计算的方式仍然存在风险点,它并非绝对安全。

2.3多方安全计算的理解


多方安全计算形象图解

多方安全计算是在多方的基础上加入了安全的概念,仍然是保管人甲与管理员共同协作才能打开门,但是不同于传统的钥匙解锁的方式,它的锁孔并不是一成不变的,它会在开锁后变化形状,当然也并不存在一成不变的钥匙,钥匙的获取需要保管人甲与管理员共同输入仅有自身知道的密码,在钥匙生成器上获取新的钥匙,才能打开仓库的门,实现甲取回甲物品的目的。

这种情况下,只有甲与管理员共同协助才能够生成钥匙,打开现有的锁,而锁在房门打开后就会变化,等待下一次的开锁。这意味着生成的钥匙用完即失效,能够证明自己身份的是头脑中记住的密码,确保其他人没有任何办法获取,实现完完全全的安全。

三、契约互联多方安全计算的方案

契约互联公证电子签名服务就是采用多方安全计算技术来保障电子签名的法律效力,确保电子签名符合《电子签名法》第十三条的规定,属于可靠的电子签名,可以发挥第十四条所述的“可靠的电子签名与手写签名或者盖章具有同等的法律效力”。

契约互联公证电子签名多方安全计算节点设计

如上图所示,契约互联多方安全计算是将电子签名的参与方设置为若干个节点,分别为用户节点、公证节点或其他节点,完整的签名必须由多方共同参与才能够完成,接下来我将以两方(用户节点、公证节点)为例,详细讲述多方安全计算实现的逻辑:

契约互联公证电子签名多方安全计算形象图解

契约互联公证电子签名所采用的多方安全计算与之前所述的多方安全计算基本一直但更为复杂,首先是钥匙的产生过程:它并非是单程一次的运算,而是经过4步才能完成,通过多方利用所持数据搭配仅用户可知晓的代码的共同参与,确保运算的安全性,保证运算有且仅由本人发起参与才能够进行。

多方是指用户与公证机构或者增设的其他节点,另外,作为多方的其中一方是公证机构,公证机构不同于其他参与方,它是能够提供公证证明服务的国家机构,具备公信力,它依据“我参与、我见证、我证明”的逻辑对用户参与钥匙生成(签名的真实意识)提供可靠证明,见证想要取回甲物品的确实是甲本人,在必要的时候,公证机构可以就甲前往仓库取回甲物品这件事情出具公证书,而公证书在可以作为法官直接裁判的依据,保证甲物品的安全,确定甲的权益。