俄罗斯电子签名历险记

各国越来越多地干涉曾经令人讨厌的信息领域,并在那里设定规则。 信息空间中的国家监管机构之一是“合格电子签名”的机制,这是实体的有条件的非伪造的受信任标识符,通过它实体可以代表信息空间中的电子形式认证各种交易。 实际上,EP的概念并不是什么新鲜事物,并且已经发展了很长时间,但是在俄罗斯,有时会出现一些错误。 本文是对俄罗斯电子签名研究所的主题进行的主观广泛讨论,而不会过度沉浸在技术设备中。 好吧,有点像没有帽子一样。


CC-BY-SA,瓦迪姆·里巴尔科(Vadim Rybalko)

啊! 这是Longrid,它可以让您度过一生!

免责声明

即使我愿意,我也尽量不伤害任何人。 但是无论如何,如果有人准备得罪了:请多加注意,例如,阅读有关下一个云托管或docker概述的帖子。 好一点 如果您准备讨论或有什么要补充的内容,请在评论中或亲自写出安全的文字。

首先,一点抽象的法律装备


什么事 在俄罗斯,就像在大多数发达国家一样,而不是在大多数国家,都有大量的法律和法规,这是一种规范公民和社团日常生活的“法律树”。 抛弃细节:我们拥有该国的基本法律-俄罗斯联邦宪法; 从它的层次上看,很多联邦法律,其中包括代码(在我们的讨论中-俄罗斯联邦民法,俄罗斯联邦民法)以及影响电子签名的各种法律和法规(其中主要的是联邦法律“ 关于电子签名” ”日期为2011年4月6日,编号63-FZ。

“交易”的概念受俄罗斯联邦民法规范的约束:在一般情况下,这是人在人与人之间建立关系的行为,导致出现了公民权利和义务。 交易种类繁多,总的来说,交易双方都以自己的手写签名(但并非总是)来证明它是事实,这将它们结合在一起,这表明该方参与该交易与其自由意志相对应。

现在进行电子签名。 在俄罗斯电子签名出现之初,它就被称为“电子数字签名”(EDS),显然是英语数字签名中的描图纸。 然后,“数字”一词被消化和溶解,剩下一个“电子签名”。 通常,根据现行法律,即使扫描手写签名,任何东西都可以称为电子签名,因此,引入了详细的概念。 法律定义了EP的三个概念:

  • 简单的电子签名-任何代码,密码,扫描,SMS验证。 它具有有限的法律认可,包括仅在协议的各方事先同意使用这种类型的签名并确定使用参数的情况下。
  • 增强的不合格电子签名-使用电子密钥参与的任何信息安全加密方法进行的签名。 识别此类签名时,重要的是,可以使用这种签名来建立签名者并确保签名文档的加密强度(以检测文档在签名后已被修改的事实)。
  • 增强型合格电子签名(UKEP)-对应于增强型不合格电子签名的特征,但条件是签署方的签名密钥由国家机构通过信任链(授权认证中心)进行认证。

此外,我们将专门讨论增强的合格电子签名UKEP-这种签名在俄罗斯具有法律意义的电子文档管理中使用。

电子设备的通用操作原理


如果您试图用手指解释什么是电子签名以及它到底是如何工作的,那么您会得到类似本文描述的内容。

有一组不对称的公共密钥密码算法。 所有者形成两个密钥的互连对:私有密钥和公共密钥。 私钥或私钥严格由所有者保存,是秘密。

公用密钥或公用密钥是不可转让的,可以私下转让给任何人。 使用公钥,您可以加密某些信息,以便只有私钥的所有者可以解密它,而没有其他人(甚至是加密数据的人)也可以。

使用私钥,您可以生成源信息的签名,当将此类文件与签名一起传输时,事先拥有所有者公钥的收件人可以计算出该文件在此过程中未被修改,并由拥有私钥的人签名。


CC-BY-SA ,使用非对称加密的签名和验证过程插图,维基百科。

显然,信任点-所有者是更早传递了他的公钥,还是还有谁? 为了不与每个人建立对等信任关系,发明了PKI (公钥基础结构,公钥基础结构)。

为了使发送方的公共密钥(ES密钥的所有者)成为默认的受信任收件人,而无需建立关系,可以由双方都信任的公共参与者对其进行签名。 它称为“证书颁发机构”CA。 从技术上讲,CA在所有者的公钥上添加了一组附加属性(通常是:到期日期,所有者的文本描述,服务标识符集),此后,该三明治已经使用其私钥进行了签名。 生成的文件称为ES证书。 签名接收者可以预先拥有CA公钥,文件和发送者的ES,从而可以计算文件在签名后是否经历了更改。

CA公钥也可以通过另一个CA的公钥进行身份验证(有时是多个,称为交叉签名)。 因此,接收者可能没有直接指向发件人CA的公钥,但可能具有更高CA的公钥,后者又对发件人的公钥进行了签名。 验证链将得到扩展,但是仍然可以建立信任链。

此外,在为文档形成电子签名时,重要的成分会添加到此三明治中-时间戳,时间戳。 这是来自可信来源的实时标签,也由确切的时间服务器EP签名。 它是唯一的,是为特定文档创建的。 这使您可以确保在特定的时间点形成签名,并且不允许“追溯地”重新生成签名。

这就是PKI(阅读:电子签名)在全球范围内以各种方式工作的方式:用于站点的HTTPS,VPN和Wi-Fi中的企业身份验证,网络上的SIM卡注册,芯片和非接触式银行卡,DNSSec和RPKI,护照验证,电子签名在俄罗斯以及国外的类似产品等

值得注意的是,电子签名的私钥是系统的关键元素,因为其妥协将允许未经所有者知晓而未经授权创建电子签名。 密钥由行业公认的算法保护;在应用密码学的历史上已经开发了很多。 最常见的密钥算法是RSA ,已经存在40年了。 它具有相当可靠的数学工具,并且由于解决方案的简单和优雅而仍然可靠,就像一把斧头(如果正确使用)。 更年轻,更有前途的算法基于椭圆曲线的数学原理 ,其中ECDSA (以及引擎盖下的整个“ 曲线 ”字符串),有前途的ED25519都是我们的GOST (均为旧版,2001年,新版均为2012年)。 所有这些保护私钥免受其基于公共的“恢复”。 现代智能卡机制提供了防止私钥直接复制的保护:私钥在加密芯片内部生成,并且永远不会超出其限制,包括在操作过程中; 特殊的自毁机制使微电路的机械开裂几乎不可能。

他们怎么样


在许多文明国家中,向公民发行电子钥匙以及该人的塑料标识符。 由于ID是由国家机关颁发的,因此ID中的电子密钥也由国家颁发,并且等于证书本身的有效期。 在大多数情况下,对于那些想要使用电子签名的人来说,只需购买一分钱的智能卡读卡器,然后在计算机上放置软件包即可与密钥进行交互并使用电子签名。 由于国际民航组织国际标准化机构“照料”了它们的签发,因此此类证书使用了行业标准化的参数。 实际上,国际民航组织并未真正建立身份证的标准,因为它实际上是国际民航组织,它使航空领域的所有工作标准化。 但是碰巧的是,公民的迁移控制是航空承运人和地面航空服务的重要职责之一,因此国际民航组织已经开始了旅行证件的标准化工作,包括所有类型的护照和身份证,并分12部分发布了一系列标准9303。 并且由于大多数州开始在个人识别卡的智能卡上引入电子签名作为附加应用程序,因此这确保了此类ID的电子组件在各个国家之间至少具有一定兼容性,包括在电子签名算法方面。


符合ICAO的ID卡的关键属性。 一家主要的塑料卡制造商Oberthur的样本文件

另一方面,主要操作系统包含国际认可的加密算法的嵌入式软件实现,这使得在不同国家/地区的交易对手之间交换签名的文档和验证电子签名成为可能。

那我们呢


俄罗斯有一些标准描述了我们的立法认可的国家ES算法。 其中两个(GOST R 34.10-94和GOST R 34.10-2001)当前无法运行(自2001年以来,它们在传统模式下的作用有限),有效的一个是GOST R 34.10-2012 。 所有UKEP均应使用算法GOST R 34.10-2012或GOST R 34.10-2001,以便获得法律认可。 总的来说,我们的算法被认为是非常好的,仅基于椭圆曲线即可构建(不算94年以来完全过时)。 但是,由于多种原因,它们并未成为公认的国际标准。 最有趣的是,GOST R 34.10-2001设法渗入了DNSSec标准,但未能取得成功和任何明显的份额。 但是他们熟练地将RFC编写为IETF的一部分-为此,加上业力。

在某些时候,我们的立法者开始将UKEP钉在俄罗斯的民事关系的不同部分。 当然,我们从最抢劫的实体组之一-法人实体开始。 总的来说,这个想法是合理的:将工作流程转换成电子形式,从各个控制办公室取消生产线,再次破坏制浆厂的业务并通过减少纸张量来保护自然。 但是,由于法律是通过的,包括没有经过适当的阐述和审查(有时甚至出于某种利益考虑,甚至出于某些人的利益),所以在某些时候一切都出错了。 该州规定企业家每年必须接收和更新电子签名(常规密钥的有效期为12-15个月),而该州已经退出了发布电子密钥等重要属性的过程,目前将其提供给商业组织-授权的认证中心445现有认证,不包括分支机构和代表处。 此外,除了UKEP密钥的发行本身并不是免费的,还选择了一个非常奇怪的软件和硬件解决方案。 决定用便宜的密钥代替普通的安全密钥加密私钥,以允许复制密钥(实际上,并不便宜)。 由于此类介质本身并不知道如何使用密钥,而实际上是带有密码的闪存驱动器,因此软件交易商出售操作系统的软件层,这些操作系统通过将电子副本的私钥复制到计算机的随机存取存储器(SIC!)中来操纵该电子副本的私钥。同时,他们一直花钱。

由于自愿使用电子签名的用户的完全无知以及使用该签名的软件解决方案的庞大性,加剧了这种麻烦。 例如,要为普通ES用户设置一台工作计算机以与所有条带化和电子交易大厅的会计门户一起使用,您需要执行约20项操作:下载/安装一系列质量可疑的杂项软件,CA证书,进行特定设置,以便它们相互作用并且至少起作用了。 甚至不值得一提的是,这类govnokod或多或少只能自信地在Windows环境中运行(而并非总是在最新版本中),它的工作范围极其狭窄,并且在某些“状态Linux”站点中出现了严重的问题,并且在MacOS上绝对不起作用。 例如,不到一年的税务站点就无法使用Internet Explorer! 这就是联邦税务局(Federal Tax Service),该部门被认为在IT方面相对先进,并且是大型州级大数据解决方案的运营商。


CC-BY-SA,Vadim Rybalko,软件自动安装程序脚本为使用UKEP而执行的操作的示例列表。 UTS SKB Kontur至少具有这样的服务,有些UTS只是在DOC文件中给出指令。

公司中UKEP的平均用例:某人(快递员或enikeyshchik)通过代理从CA的组织负责人那里收到钥匙,然后将其交给有条件的Mane姨妈交给会计师,后者由负责人“签字”。 应该理解,UKEP的本质是手写签名的类似物,而不是有条件的Vasya的签名。 也就是说,以这种形式使用已经发生了明显的突变。 我们决不能忘记,尽管已将密钥发布给用于电子报告的组织,但它也包含个人(经理)的限定值和数据,以其名义创建了密钥。 这允许针对给定个人的攻击媒介,其唯一限制因素是带有个人电子签名的电子服务的不发达。 甚至对具有密钥的令牌进行物理控制都是虚构的,因为任何人(同一个会计)都可以相对安静地将密钥简单地“复制到自己的注册表中”,因为“更方便”。 而且,这还不用说格式为12345678的默认PIN码。黑暗和decade废。

我们还应该写关于交易大厅的电子签名。 要以预算和接近预算的结构进行交易:要出售某物或提供服务,必须通过招标机制。 招标在电子交易平台(ETP)上进行:电子交易平台是下订单的特殊站点,就像拍卖一样。 通常有很多站点,它们的所有者是大型的环保组织 。 要成为ETP的认可参与者,您必须具有电子签名,但是只有UKEP(无论它是官方的还是得到国家的认可)将不起作用。 不,谈话不是关于信任UKEP,只是交易大厅的所有者以此赚钱。 从技术上讲,这些站点的电子签名是相同的UKEP,但是证书还包括其他标识符OID ,这些标识符赋予在特定站点上使用此UKEP密钥的权利。 这样做是为了获得比发行常规UKEP更大的钱来发行这种电子签名。 这是一个荒谬的场景:要想将某物卖给俄罗斯铁路公司,您需要进行一次招标,需要从特定的CA(而不是任何一家CA)获得电子签名密钥。 俄罗斯铁路不仅可以购买货车和铸铁桥梁,还可以购买相当便宜的商品或订购服务。 从技术上讲,可以在不进行招标的情况下进行廉价交易,但是俄罗斯铁路公司的代表担心这样做,他们会敲定上限。 因此,他们为潜在的供应商提供了在其自己的袖珍交易平台上注册并响应为该供应商特别准备的订单的机会。 当然,这种计划原则上会违反招标原则,但对于公司员工而言,主要的事情就是遵守官僚制度。 自然,俄罗斯铁路交易平台仅适用于具有电子签名密钥的人,仅与大型电子交易平台不同,它们仅与四个经过认证的CA合作,其中没有一个在俄罗斯拥有广泛的办事处网络,而一个仅仅是运营商(所有者) )的网站本身。 但是,如果俄罗斯铁路公司的代表确实需要获得独特的服务,而供应商更容易从其电子交易平台拒绝这种马戏团,那么有时他们可以吐出自己的投标规则并直接订购交易(基于真实的历史记录)。 事实证明,一方面,这看起来像是正常的UKEP,但不适用于许多行动,这些行动有必要从另一个具有不同附加属性集的CA获得实质上相同的UKEP。 结果,一堆令牌很难遵循,并且必须每年更新一次,并通过了授权确认的任务。

通常,在颁发UKEP时,许多授权的CA被怀疑忽略了对象的个人数据的验证。 鉴于已经在全国范围内部署了活动的CA的数量,这应该发生了。 希望这些案例仅描述了注意力不集中的事实,而不是故意的行为。 是的,如果有人成功尝试以我的名义从欺诈性文件中获得UKEP,我什至不知道! 此外,我拥有我的个人UKEP,即会出现一个双键。 无法从综合注册簿中发现UKEP已颁发给某人,每个CA都有其自己的注册表和访问它的程序。 . , , PaulZi , .

, , , . , - . , , , , ( , ), , . , , , .

, , : , . , , . , , . .

, . - . , , : , , . , .

, SIM-. russian silovik «» - . , , «» .

'?


. , , : 34.101.45-2013 ( ), — 4145-2002 . NeverWalkAloner . IETF RFC, . , , .


«» . — . — . , PKI , .

. , , , ( , , ). . , . , PKI, .

« ». , «», - : ( ) . , , . , , « ». - . , , . , , .

Blockchain? , PKI, transparency log . , Blockchain — , . , , blockchain , - . .

?


. , — . , . , . , . : , , , . — , , ( ID- , ). , , . , . . , opensource . , .

. ( ), , - (SIC!) — . , . ID-, , , ICAO, (- ) .

( )!

: , -, ( ) , .

Source: https://habr.com/ru/post/zh-CN460153/


All Articles