首页 > 中国比特币 > 一文了解Dfinity互联网计算机的加密网络认证和身份验证
2022
02-22

一文了解Dfinity互联网计算机的加密网络认证和身份验证

私募比特币 互联网核算机用一种更先进安全的加密认证办法替代了用户名和暗码。要了解身份和认证在互联网核算机的布景下意味着什么,咱们有必要首要其在当今的网络中是怎么运用的。当登录一个网站时,用户名一般是电子邮件地址或一串字母和数字,它是你仅有的标识符,可以将服务器上的相关数据与你的身份联系起来。暗码则是认证手法,从理论上讲,只要你自己才知道暗码,而服务器则将你的暗码解释为其与你沟通的证明。但是事实是,暗码实际上并不是一个好的长途认证机制。当你在一个网站上输入暗码时,你的电脑会将暗码发送到服务器上,并与暗码数据库进行核对。不幸的是,黑客可以取得这些暗码数据库的拜访权。在最恶劣的情况下,暗码是以明文方式存储在服务器上的,十分不安全。即便暗码是加密的,破解它们也仅仅黑客是否乐意为了取得拜访权而投入核算和金钱资源的问题。互联网核算机是一个以网络速度运转的区块链核算网络,可以无约束地增加其容量。其规划是经过在多个数据中心之间仿制数据和核算来供给安全,以避免单个核算供货商的歹意行为。要注意的是,仿制尽管可以维护数据的完好性,但并不能避免信息的走漏;在互联网核算机上运用暗码依然会遭到与传统网络上相同的安全问题的影响。因而,在互联网核算机上,咱们用恰当的加密认证替代了暗码。咱们在互联网核算机上用于认证的首要加密机制是数字签名计划。数字签名是一个恰当规范的概念,发明于20世纪70年代末,从90年代中期开端被广泛运用。一般由以下三种算法组成:

  • 密钥生成:密钥生成可以看作是挑选暗码。一般,密钥的产生会发明一对钥匙:1)一个是像暗码相同有必要保密的私钥,2)另一个是可以揭露的从私钥衍生的公钥。
  • 签名:签名需求信息和私钥产生。当咱们运用数字签名进行用户认证时,该算法是在持有私钥的用户端运转的。
  • 验证:算法接纳信息、签名和公钥,并验证签名是否与信息和公钥相符。这儿的要害特点是,与查看暗码不同的是,暗码需求存储在服务器上,而在这种情况下,签名的验证可以仅依据公共信息进行,由于服务器存储了公钥列表,每个用户都有一个,且公钥和签名都不需求保密。

互联网核算机上的运用是依据经过传递信息进行交互的容器(Canister)完成的。更详细地说,交互模是依据恳求的,相似于长途进程调用。当容器 A调用容器 B时,容器 A便指定了方针容器,所要调用的函数的称号,以及该函数的参数。当指定的函数在容器 B上被评价时,该容器也知道该函数是由容器 A调用的。评价完成后,容器 A将取得该函数的回来值以作为呼应。而当用户与容器互动时,相同的长途进程调用模也相同适用。当用户调用一个容器时,用户会向方针容器发送一个恳求。这个恳求也会指定一个带有参数的函数,用户也可以取得回来值以作为呼应。在恳求的改变进程中,容器也会了解到调用它的用户的身份。注:在ICP平台上,Canister是最基本的组成元素,可以了解为容器,相似于以太坊等区块链公链平台上的智能合约。这些容器可以仿制、可以分叉,更便利自组织。一文了解Dfinity互联网计算机的加密网络认证和身份验证 - 第1张  | 比特币-比特币价格-比特币行情交易交流平台 上图是用户发送恳求的示意图。中心的浅灰色区域显现了中心恳求,包含方针容器 ID,函数称号,参数,以及调用者的身份或主体。而深灰色区域显现的则是包含认证信息、签名和公钥的封套。如图左边所示,调用者的主体是经过散列法从公钥中得出的。这种技能在区块链范畴被广泛运用,例如比特币或以太坊地址便是如此。此外,图中右侧部分显现了作为数字签名计划中的音讯的恳求内容是怎么经过签名与公钥绑定的。当互联网核算机收到这样的恳求时,它既要查看签名在指定的公钥下是否有用,也要查看公钥和调用者主体之间的联系。为了保证信息确实是由信息中指定的调用者发送的,容器不用理睬这些技能细节。假如一切都查看结束,互联网核算时机评价容器上的指定功用,但假如其间一项查看失利,恳求就会被抛弃。一文了解Dfinity互联网计算机的加密网络认证和身份验证 - 第2张  | 比特币-比特币价格-比特币行情交易交流平台 以下是关于咱们运用的身份格局的一些细节。咱们从DER格局的公钥开端,用SHA-224对其进行散列,然后得到一个28字节的字符串。咱们会增加一个字节,用于区别来自公钥的身份主体和咱们在互联网核算机中其他地方运用的身份主体,例如容器。这29个字节是以用户托付书的内部二进制表明的。当把一个托付人转换为其文本表明时,咱们首要要预加一个CRC-32过错检测码。然后,运用Base32编码产生的字符串,最终树立每组5个字符的组,并用破折号离隔。咱们挑选这种格局是为了支撑在有恰当过错检测的情况下,可以轻松仿制粘贴,一起依然答应ASCII表明法中的字符少于64个,以便与互联网协议(如DNS)兼容。一文了解Dfinity互联网计算机的加密网络认证和身份验证 - 第3张  | 比特币-比特币价格-比特币行情交易交流平台 到目前为止,咱们所看到的计划在结构上仍是有点不灵敏的。它们将用户的身份主体与单一的加密密钥进行绑定,但这种约束会运用户很难与来自不同设备的容器进行交互,由于需求在这些设备之间同享相同的加密密钥,既繁琐又不安全。相反,咱们在不同的加密密钥之间运用了授权。如上图所示,你可以看到从黄色密钥到橙色密钥的托付。这种托付包含被托付的密钥,即橙色的钥匙;一些额定的参数,如过期或托付规模的约束;以及托付密钥的签名,即黄色密钥。当用橙色密钥签署恳求时,用户可以运用来自黄色密钥的托付,以便运用来自黄色密钥的身份。此外,托付的强壮之处在于,可组合性。例如,橙色密钥可以将授权扩展到紫色密钥。这种结构与公钥基础设施和X.509十分相似,但这并不是偶然,咱们向其进行了学习,并运用了更轻量级的数据结构。托付的一个详细运用与网络认证有关。网络认证是万维网联盟(W3C)的一个最新规范,首要针对网络运用的双要素认证。该规范的动机是,如前所述,暗码有严峻的安全缺点。它们经常在垂钓邮件、歹意软件以及黑客进犯产生时,成为网络犯罪分子的猎物。双要素认证意味着除了暗码之外,登录网络运用还需求一个额定的安全要素,一般是用户具有的安全设备。在实际中,这或许是一个安全的USB钥匙或是一个内置在用户终端设备中并经过生物辨认技能激活的安全芯片,由安全芯片存储加密密钥。由于加密密钥从未离开过安全芯片,所以即运用户的电脑或手机被歹意软件感染,它们依然是安全的。当网络认证被用作网络运用中的第二要素时,协议流程如下:在用户经过供给用户名和暗码发动登录进程后,网络服务器将生成一个随机应战并将其发送给用户的浏览器。然后,浏览器将应战发送给安全设备,安全设备在签署应战之前需求与用户互动。然后,签署的应战书被送回服务器,服务器依据用户注册的公钥验证应战书上的签名。这保证了登录网络运用程序时,除了暗码外还需求持有安全设备。公认的事实是,网络认证是一个敞开的规范,运用数字签名进行认证,且现已被广泛的设备所支撑。但是,当把它改编为互联网核算机时,咱们有必要战胜一些妨碍。网络认证假定了传统网络中面向会话的客户服务器模,用户在登录运用程序时进行一次认证,并在同一会话中发送后续信息。相比之下,互联网核算机完成了一个模,且每个恳求都是独自认证的。特别是,由于浏览器和互联网核算机之间不存在有状况的会话,所以没有服务器可以生成应战,并由安全设备签署。但是,回忆一下,在典的网络认证流程中,安全设备需求对服务器发送的应战供给数字签名。为了运用相同的协议完成恳求认证,咱们需求运用恳求自身作为应战,并由安全设备签署,相似于咱们的一般恳求认证计划。咱们有必要战胜的另一个问题是,网络认证需求用户对每个签名进行交互。在互联网核算机供给的典前端中,一个页面的加载或许对应着多个恳求。由于咱们不想要求用户清晰承认每个恳求,所以咱们运用了上述的托付机制。当运用网络认证与一个容器进行交互时,咱们会首要生成一个短期的会话密钥。然后,运用网络认证来签署一个面向该会话密钥的托付,这样,单个用户的互动就可以触发对互联网核算机的多个恳求。一文了解Dfinity互联网计算机的加密网络认证和身份验证 - 第4张  | 比特币-比特币价格-比特币行情交易交流平台 尽管网络认证对安全存储加密密钥很有协助,但它不只将这些密钥绑定在设备上,并且还将其绑定在了一个特定的容器上。其原因是浏览器的安全模,该模严厉地将在同一网络浏览器中运转的不同运用程序所能拜访的状况按其来历分隔。在网络上,你可以以为一个原点大致上对应于一个网站。在互联网核算机上,每个原点则对应于一个容器。这种严厉的状况别离对安全至关重要,但它也使得比如密钥备份或支撑从多个设备无缝拜访同一容器的功用变得繁琐,由于所有这些操作都有必要为每个容器独自履行。咱们经过运用互联网身份服务来处理这个问题,即身份供给者,相似于你在网络上了解的 “用谷歌或Facebook登录 “功用。当用户第一次加载一个特定容器的前端时,该前端会出现一个 “用IC登录 “的按钮。当用户点击该按钮时,浏览器会打开一个弹出窗口,显现互联网身份服务,这是一个答运用户办理钥匙和身份的特定运用程序。然后,用户可以决议是否答应容器前端运用用户身份。假如用户赞同,浏览器就会被重定向到容器前端,并能以用户的身份拜访容器。这个机制将再次触发会话密钥和托付机制。到时,容器前端会生成一个会话密钥对,并将公钥传输给互联网身份认证。假如用户承认,互联网身份认证产生授权,并将其回来给信息库前端。作为经过大技能供给商签署的额定优点,身份供给商的完好认证流程产生在用户端,所以对用户私家行为的露出要少得多,然后削减身份盯梢。(互联网身份服务常见问题)谈到用户追寻,互联网身份认证将为用户登录的每一个容器前端供给一个不同的身份,这对安全和隐私十分有利。假如不是这样,互联网身份认证将答应每一个前端在用户的单一主体下登录。假如该用户与不相关的服务互动,例如留言板和购物网站,这些服务就可以在背面相关用户在这些网站上的行为。更糟糕的是,留言板的前端可以歹意调用购物网站的容器 ,并以用户的名义下订单。因而,互联网身份辨认服务为用户登录的每一个前端生成一个不同的身份,并以主机名进行区别。这样一来,用户在不同服务上的行为就不那么简单被追寻了。尽管前端依然可以运用用户的身份来调用互联网核算机上的任何容器,但它永久仅仅与履行调用的前端有关的身份。

最后编辑:
作者:英为财经
头像
这个作者貌似有点懒,什么都没有留下。

一文了解Dfinity互联网计算机的加密网络认证和身份验证》有 0 条评论

留下一个回复

你的email不会被公开。