来源: Blockchain Engine    Emercoin Tech    新闻报道 |   2017年04月02日   
 编译:Sylvie
 EMCLNX 广告:

介绍

Emer网络的主要实用功能是名称值存储(NVS)或任何记录类型的分布式可信存储。

假如向NVS添加记录,那么你可以放心:

  • 记录将分布在所有网络节点,即每个节点的副本储存在节点的本地区块链中。

  • 每个记录和整个区块链通过POW和POS矿工的联合作用获得信任。

换句话说,我们可以确定的是,添加到区块链的任何记录,都会以统一的添加格式提供给所有网络参与者,并且在这个过程中没有人能替换它,不会像普希金的童话所描述的那样: “他们从他手中偷走了信息,然后在他重新获取信息之前,用另外的信息把它替换掉。”

另外,考虑到Emer是无限可扩展的,它还可以基于Emer NVS服务创建一个高效的全局PKI(公钥基础架构)。
在本文中,读者可以了解更多关于通过ssh,emcSSH协议管理基础设施,进而进行终端访问网络节点的知识。

1491141846819106.png

没有emcSSH是如何工作的

在大多数情况下,一个标准的验证方案是通过ssh 登录网络服务器,登录过程中用户向服务器提供密码。但密码认证有许多缺点,例如密码枚举破译或网络钓鱼,所以高级的系统管理员应用公钥认证进行服务器对客户端的识别。

在小型网络中,添加公钥到服务器上的普通文件时(通常为$HOME/.ssh/authorized_keys)会使用最简单的解决方案。然而,随着网络的发展,管理员更新不同机器上的密钥变得困难。例如,当某人被炒鱿鱼或辞职时,管理员必须登录到那个人有权访问的所有计算机,并从每个文件中删除相应的记录。如果网络中只有五台机器,这种方法行之有效,但是如果有五十台机器就无法应用了。

在相对较大的企业级网络中,用户访问密钥,以及具有某些权限的用户组是以中心化的方式进行管理的。通常,这些系统由诸如Puppet,LDAP / Kerberos等软件驱动。在这里中心化管理比文件散布于不同服务器的设备更易于管理,但它也有一些缺点:

  • 部署,设置和管理PKI会耗费很大精力,包括中央密钥服务器,域名控制服务器,在控制器中创建数据库和响应规则,更新通道安全系统,身份验证请求安全系统以及整个类似工作。

  • 集中管理化系统会给予管理员几乎无限制的权限,管理员可以损害任何用户/所有用户的账户,在系统中创建虚拟用户,或出于自身利益进行任何操作。所有这些问题的症结是我们如何控制控制器?

  • 掌控密钥管理中心会导致数据泄密或整个网络的瘫痪。换句话说,此类泄露一旦发生会造成巨大的损失。

  • 用户密钥由管理员更新,这意味着用户需要联系管理员,识别自己,然后将密钥传送给管理员,管理员随后将密钥输入到中央系统中。这个过程让我想起一百多年前通过接线员进行电话呼叫。

  • 这种系统在企业级应用中的发展受限。除了技术问题外,难以想象LDAP数据库需要支持数万国家或全球级别的域名控制器是多么困难,而且还存在信任局限问题。例如,一个企业安全数据库管理员不能让另一个企业的管理员修改其数据库。这导致人们根本无法想象的PKI系统会比企业级别更大,即使我们已经有了一个工作网络的例子:互联网。

emcSSH如何工作

从技术上讲,全球PKI emcSSH系统的结构非常简单,其原因在于几乎所有的工作都是由Emer NVS完成的。emcssh程序只是Emer区块链和sshd服务器之间的“桥”,由此解释了区块链中相应的NVS记录,以及为sshd创建某个帐户的公钥列表。根据规范,NVS记录由名称(搜索键)和值(密钥相关数据)组成。

emcssh服务的NVS记录(名称,值)具有名称“ssh:”前缀,并受以下正式规则的约束

username, groupname, ssh_public_key ::= VisibleString

name_key ::= <username> | <groupname>

token ::= <ssh_public_key> | "@"<name_key>

Name ::= "ssh:"<name_key>

Value ::= <token> | <token>"|"<Value>


通过GUI钱包或使用JSON RPC API命令在NVS中手动输入记录。

以下是为emcssh创建记录的分步示例:

  1. 终端用户将其公钥添加到Emer NVS中,记录为以下类型:

Name=ssh:username
Value=ssh_public_key

  例如:

"name" : "ssh:emergator",
"value" : "ssh-rsa AAAAB3…”.

  由于Emer网络中的每个名称都是唯一的,它明确地标识了公钥所有者。

2.资源访问组管理员可以通过创建用户的username链接列表(即以下类型的记录)为特定用户组创建ACL(访问控制列表):

Name=ssh:groupname
Value=@usename1|@username2|...|@usernameN

  例如:

"name" : "ssh:EmercoinTeam",
"value" : "@EvgenijM86|@Garrett|@emergator|@denis|@sv",

3.组管理员可以包括用户的链接和ACL中其他组的链接,例如:

Name=ssh:super_group
Value=@usename1|@username2|@EmercoinGroup

组链接还可以包含指向其他组的链接,从而创建组和用户的层次结构。应该指出,不同组织的工作人员可以享有组和用户记录。这意味着每个人管理其责任范围内的记录,而区块链通过记录之间的链接创建层次结构。

现在,当创建新记录时,emcssh程序就会派上用场。一个新手试图登录时,sshd服务器就会启动emcssh程序并将用户名username作为参数传输给它。对于此用户名username,程序从相应用户配置中的区块链提取name_key(s)的链接,并递归使用区块链查询链和“解包”密钥,为相应帐户创建ssh密钥列表,该列表随后转移到sshd程序。该程序可以认证新访客或拒绝访问。
创建ssh密钥列表时,该程序会缓存已处理过的name_key列表,并且再次遇到该列表时将不会处理已处理过的密钥。这样可以保护系统免受无休止的递归(包括间接的),并且可以在某个组引用其他组时正确地解析“多重继承”,而且这些组还引用另一个组。在这些情况下,第三组仅会被处理一次,然后在处理继承的第二个分支时被忽略。

例如,如果某个帐户的服务器配置包含@EmercoinTeam链接,则emcssh程序将使用此链接从区块链中提取相应的@ EvgenijM86 | @Garrett | @emergator | @denis | @sv组,然后立即将该组中的每个链接解析为单个公钥。因此创建了一个包含五个公钥的列表。

emcSSH的优势

有人可能会想,如果我们仅将公钥链接代替密钥本身存储到服务器上,然后从区块链中提取密钥,是否会有多大区别?其实是有很大区别的。这是因为用户名和密钥之间的链接由用户名所有者管理,而使用用户名和相应的密钥由负责登录过程服务器的负责人管理。另外,例如,如果你需要更换密钥,则用户名所有者将生成新密钥(ssh_public_key)并将其发布到NVS。此后,更新的记录将被复制到所有网络节点,其真实性由加密货币的公众共识确认。服务器管理员不关心用户名所有者更新密钥与否,密钥将在用户名可访问的所有服务器中自动更新,而不涉及任何管理员或人员操作。类比于电话网络,我们现在使用自动拨号系统,而不是通过接线员。

对于由groupname(组用户名)管理的ACL也一样。例如,如果你的公司决定向Emercoin团队授予访问权限,该公司的系统管理员只需输入组链接,由Emercoin管理员管理其组内容。以防任何Emercoin员工发生变动,你公司的管理员什么也不做,更新是Emercoin管理员的工作。

考虑到现代公司倾向于外包IT,会计,电话,审计和类似服务,emcSSH是公司间合作的高效工具。外包商管理他自己的组,包括有管理权限的组,同时用户管理他们自己的密钥。客户公司允许某些组访问,外包商的流程对客户公司的管理员来说就容易了。

上述特权分离(责任本地化)使得组织宽泛的组合作作成为可能,而不需要权力集中化并引入管辖一切事务的超级管理员角色。

以下是emcSSH主要优势的简单列表:

  • 特权本地化(安全级别更高)

  • 管理便利

  • 自动秘钥和组更新,没有管理员参与

  • 使用简单

  • 基础设施和管理成本降低

  • 创建分布式参与者之间端到端的信任

如何开始使用

1.所有软件包括Emer节点和emcssh都是由GNU / BSD许可证发布的开源软件。源文本可以在GitHub上找到,在那里可以下载,分析和编译。

2.管理密钥和组的最便捷方法是使用GUI QT wallet

3.对于服务器,有主要Linux版本的预编译程序集; 这些由数据包管理器安装。还可以选择利用具有预安装emcSSH的Emer节点和Microsoft Azure重的其他服务。

4.对于FreeBSD和其他操作系统,源文件编译也没有问题,只需要几分钟。

5.分发包,手册页和汇编手册可在emcSSH网页上找到。

6.向Emer NVS添加记录不是免费的,并且需要一定量的EmerCoins,EmerCoins在创建记录时会被扣除。根据目前的汇率,10年的纪录价格仅为0.05美元,但您仍然需要该货币。您可以在任何加密汇兑交易所购买到(参见list)。

为了安全地使用emcSSH网络,切勿让您的记录过期。预订长期记录(如果需要1000年),并根据需要延长。

延伸

作为ssh_public_key,emcSSH系统不仅可以向客户端发送ssh公钥,而且不受文本字符串限制。这使得可以使用emcSSH为除ssh之外的其他服务创建分布式ACL。

例如,HashCoins公司(https://www.hashcoins.com/)在另一个安全系统emcSSL (http://emercoin.com/EMCSSL)中使用emcssh来管理的用户ID的分布式ACL。请访问HashCoin CTO有关使用Emercoin安全解决方案的经验:

http://forklog.net/hashcoins-cto-about-corporate-use-of-emercoin-services/



 

除特别注明外,本站所有文章均为Emercoin崛起币信息网原创,转载请注明出处来自  http://emercoin.info/zh-Hans/news/全球公钥基础设施.html

扫一扫二维码分享