http://www.7klian.com

本体技能视点 | 可以把事情邮箱作为公钥吗?

当 Alice 想把本身的映射干系<[email protected],039…c85>插手到该数据库中,她需要向系统的认证合约提倡请求,并付出该次认证所需的用度。认证合约会从系统的验证者中随机挑选一个并向被挑中的验证者发送一个动静。该验证者把动静签名后发送给 Alice。Alice 在此基本上同样对动静举办签名,然后发给认证合约,当认证合约对签名验证乐成后,将会记录此次认证。认证可以按照应用的需要举办多次。
从本质上来说,Celo 基于身份的加密,就是回收多点维护的<地点,公钥>数据库来记任命户地点和公钥的映射干系,一群验证者来担保这个数据库中记录的正确性。其他用户可能应用可以按照这个数据库来查询用户的公钥。可是内地点举办哈希后,其自己具有的一些利益如易影象性也将消失。
我们将一连存眷 Celo,也但愿和对 Celo 技能特点感乐趣的小同伴举办交换。

3. Celo 提出的基于地点的加密

我们知道在一般的暗码系统中,私钥随机生成,公钥都是由私钥生成的。而在基于身份的加密中,要求在用户公钥(邮箱等)确定的环境下生成用户的私钥。为了办理这个看似不行能的需求,基于身份的加密引入了一个可信第三方,可能称为密钥生成中心的机构,它拥有系统的一个主密钥,它按照主密钥和用户公钥(邮箱等)派生出该公钥对应的私钥,再将私钥分发给用户。
在如今的互联网世界中,公钥一般是一串不行影象的字符串,好比 RSA 加密算法的公钥大概是长达2048位的比特串,用户的公钥和用户信息绑定主要通过 PKI 完成。那么,是否有要领把用户邮箱,好比 [email protected] 等,
作为用户公钥呢?

这个由多个验证者构成的 P2P 网络开放无需许可,任何人都可以自由插手网络中成为验证者,而验证者可以自由分开和从头插手。验证者不只存储<地点,公钥>映射干系的数据库,同样也为需要插手的记录举办证明。
再思量别的一个场景,Alice 和 Bob 都在某个团体的差异部分
事情,Alice 想给 Bob 打个电话举办某项事情内容的交换。这时候,该团体在内部果真的电话簿起到了重大浸染。Alice 记得 Bob 的名字和他的事情部分,她通过电话簿按照 Bob 事情的部分快速找到了 Bob 的名字,上面赫然印着 Bob 的电话号码。于是,Alice 拨通 Bob 的电话,和 Bob 举办了愉快的交换。 
在正式先容 Celo 的基于地点加密要领前,让我们追念一下从用户角度来看 BTC 可能 ONT 等如何举办转账。假设 Alice 向
本体新用户 Bob 转移1 ONT。Bob 首先需要下载本体的官方钱包 ONTO 可能 OWallet,建设一个地点,生存和这个地点对应的私钥。
在基于身份的加密中,密钥生成中心的存在会使得其应用受限,尤其是在一些开放、无需许可的情况中。Celo 按照基于身份加密的理念,提出了基于地点的加密。其主要思想是用一个由多个验证者构成的 P2P 网络来维护<地点,公钥>的映射干系数据库,个中地点大概是邮件地点、电话号码可能 IP 地点等,而公钥是由用户凭据传统的公私钥对生成要领来生成。就像上一篇技能
视点中指出的一样,通过这个映射干系,用户可以利用任意账号(如手机号等)作为公钥将 Celo 钱币发送给伴侣,从而可以轻松地向接洽人付款。同时,纵然伴侣尚未下载钱包,用户也可以将 Celo 钱币发送给伴侣。
对认证举办收费可以抵挡 DDoS 进攻,,多个验证者的存在可以抵挡单点失败。假如要防备单个验证者做恶,可以在验证者荟萃之间对认证请求的处理惩罚举办共鸣,以防备恶意验证者将本身的公钥映射到其他人的地点上。别的一个问题是,对付<地点,公钥>这样果真的映射干系数据库,假如直接将用户邮箱作为地点,将会袒露用户隐私。因此,Celo 回收了将地点举办加盐哈希操纵的要领,即存储的是<Hash(地点),公钥>这样的映射干系。别的,对付易用性和其它隐私性思量等方面,Celo 也给出了一些大概的办理方案,如利用一个地点对应多个差异用途的公钥等。
在上面两个例子中,一个主要的区别在于,第二个场景中存在一个基本设施,一个电话簿,这担保了用户和他的信息举办对应。通过这个基本设施,用户可以快速利便地查找到别的一个用户。
留意!!!这个地点对付普通人来说,是很难记着的一个超长字符串。然后,Bob 需要通过其它渠道,好比电话可能邮件等,把他的地点汇报 Alice。至此,Alice 可以向 Bob 的地点转 ONT。
2. 如何把事情邮箱作为公钥?

1. Alice & Bob 转账与打电话的故事

谜底是必定的,那就是基于身份的加密。在基于身份的加密中,可以将用户邮箱作为公钥,用用户邮箱将要发给用户的动静加密。用户收到密文后,用其对应的私钥举办解密。这个中带出了一个问题,用户的公钥是确定的,好比就是他的邮箱,那如何确定用户的私钥呢?

4. 结 论

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。

相关文章阅读