您是否曾经考虑过自定义加密时代已不可挽回地消失的事实。不,我并不是说即时通讯程序和加密货币的加密已不再受欢迎。我说的是很好的旧苏格兰皇家银行,换句话说,是关于银行-客户系统。大约10年前,任何自重的客户银行都由软件和带有数字签名的令牌组成。今天,这几乎是一种稀有,每个人都在各处切换到SMS确认,这肯定比摆弄加密提供者的设置和设置CPU证书要方便一个数量级。
怎么回事,在金融等领域,便利性真的超过了安全性吗?但是,事实并非如此,两种选择的安全性均较低。嗯,很明显,短信身份验证具有拦截和替换短信的能力,远非理想的安全性,但是加密甚至在硬件载体中!关键是,任何安全系统都由其最薄弱的环节来评估。
爱丽丝和鲍勃
我将使用Alice和Bob的示例来描述问题。想象一下,爱丽丝一只手拿着智能手机,在屏幕上显示支付单据。另一方面是经过数字签名的无线令牌。爱丽丝将必须签署电子支付订单,为此,只需将令牌和智能手机配对,然后单击“签名”即可。
好像一切都足够简单和安全-两个设备都属于Alice,都在她手中。但是,假设有一个Bob,此刻他决定拦截Alice的文档,并将另一个文档发送给她的令牌-例如,付款单,其中有大量款项会将Alice的帐户留给了未知帐户。
在这里,我们将不考虑有关如何执行此操作的各种方案,仅列出Bob可以执行预期替换的那些潜在不安全区域就足够了。因此,潜在的攻击领域包括:智能手机操作系统,处理器,视频处理器,RAM,无线通信通道。远程拦截智能手机控制功能使Bob可以大致按照以下算法在所列的任何区域组织攻击:跟踪令牌网关已打开以接收数据,在从RAM到无线发送器的途中拦截Alice的文档,将其文档发送到令牌网关,从无线智能手机接收器进行接收签名的文档,并将其发送到特定的主机。同时,在智能手机屏幕上显示有关Alice已成功签名的文档的信息。攻击可以在无线通信信道上进行,但是通常攻击算法是相同的。
有人可能会提出一个问题-密码学又是真的吗?使用加密技术来防止Bob入侵确实是不可能的。当然可以使用加密,但是不幸的是,无法在智能手机本身上隐藏对接管了智能手机的鲍勃的密钥。但是,即使加密密钥是从设备外部获取的,也不会保存情况,因为 仅在将电子文档发送给令牌以保护无线通道之前,才对它进行加密。智能手机本身对文档的所有其他操作仅以开放形式进行。在这种情况下,用户只能依靠更新的防病毒软件和银行反欺诈。
关于反欺诈
我想谈谈这项有争议的技术。如果有人遇到过,他们会理解我的。从银行的角度来看,任何可疑的付款都会立即被阻止,并以此阻止帐户,然后进行为期多天的马拉松比赛,以收集文件并向银行证明您是好公民,希望将资金转移给另一位好公民。嗯,是这样的,灵感来自于我最近的经历。
MITM或MID
因此,我们有一个处于中间威胁的人-“中间人”(MITM)。在这种情况下,位于智能手机屏幕和数字签名令牌之间的中间。但是与经典的中间人攻击不同,它不可能使用密码方法来中和。我不知道这种类型的攻击是否有其特定的术语,我们称其为设备中的人- “设备中的人”(MID)。在下文中,我将这种方式称为这种攻击。
攻击者日益增长的能够远程拦截他人计算机或智能手机控制权的能力为各种黑客攻击开辟了前景。此外,与电子签名有关的攻击可能会造成最大的损失-签名时替换文档,查看时替换文档。例如,在智能手机上显示的是电子护照,电子授权书,电子身份证,电子机票等。通过电子签名可以确认文件的真实性,但是您如何才能快速而可靠地验证电子文件确实已使用电子签名进行了签名并且符合标准?希望每个人都明白,盖有“由合格的电子签名人签名”的邮票与电子签名无关,并且可以在Photoshop中将其粘贴到任何电子文档中。
如果值班的您需要经常检查此类电子文档的真实性,这是一回事–在这种情况下,您必须具有用于接收,查看和检查电子文档的经过认证的工具。例如,QR扫描仪和通过预安装的认证软件与其连接的计算机。
但是,如果您是简单用户或在组织中,则无需定期执行这些操作,而您拥有普通的智能手机来检查电子文档,则可能会因替换设备屏幕上的文档而成为攻击的受害者。
市场上有什么?
今天有什么方法和设备可以抵消“人入设备”攻击?是的,存在此类设备,它们是“信任屏幕”类的用户终端。
它们的操作原理是从物理上阻止攻击者进入设备本身。实际上,这是同一部智能手机,但具有预安装和认证的软件,以及用于与数字签名配合使用并与外界隔离的集成软件。它只有两个功能-接受某种格式的电子文档,进行显示,签名并带签名返回。或接受签名的文档,显示文档本身以及有关数字签名有效性的消息。总的来说,它是方便,安全和可靠的,但是我想为这种情况提供更紧凑的东西,理想情况下不需要充电,并且随时可用。
1.5年前,我们就以这种态度开始了集思广益,以寻找针对“机载设备”威胁的新解决方案。
回到爱丽丝和鲍勃
为了使找到的解决方案更加清晰,让我们再次与Alice和Bob一起回到威胁模型。因此,无论何种品牌和型号,以及何种操作系统,爱丽丝都仍会手持智能手机。我们称其为不可信设备。另一方面,爱丽丝(Alice)持有某个带有数字签名的设备,我们将假定这是根据所有信息安全标准生产的经过认证的受信任设备,而鲍勃(Bob)无法破解该爱丽丝(Alice)设备。但是Bob轻松进入Alice的智能手机,并准备对其实施Man In Device攻击。
您可能会注意到,到目前为止,情况与上述情况没有什么不同,在Bob中,鲍勃轻松地进行了文件欺骗欺诈。解决方案在哪里?
我们找到的解决方案称为“受信任的查看效果”,它不会消除这些攻击,但是可以确保在智能手机屏幕上显示正确的文档。这个原理类似于量子密码学的思想,其中通信通道不受保护,但是保证了各方能够确定拦截密钥的尝试。因此,在我们的技术中-我们不承担试图保护通信渠道,操作系统,处理器等的巨大意图,但是我们的解决方案能够可靠地确定在任何不受信任的设备(无论是智能手机还是个人设备)上替换或修改电子文档的事实。电脑。
要了解我们的技术是如何工作的,让我们再一次想象一下,要对文档进行签名,将包含文档的文件从智能手机发送到受信任的设备。但是,沿着文档的路径,攻击者有很多方法可以替换文档或其中的数据。这里出现了主要问题。如何确保没有屏幕显示接收到的文档的微型受信任设备已收到正确的文档?在我们的解决方案中,我们从受信任的设备发送回文档,并在智能手机屏幕上重新显示其图像,但是在受信任的设备中为文档图像提供以特殊方式生成的某些安全标签。由于视觉密码学的原理,这种先进的技术创造了“可信赖的观看效果”,这是现代密码学领域的一个异乎寻常的方向。
关于视觉密码学
最著名的方法之一是于1994年开发的Moni Naor和Adi Shamir。他们演示了一种秘密共享的图形方案,该方案将图像分为n个部分,以便只有具有全部n个部分的人才能解密该图像,而其他n-1个部分则不显示有关原始图像的任何信息。
连接分开的秘密可以使您看到隐藏的信息
在我们的技术中,反向机制起作用-将三个秘密组合为一个整体,这不允许您在严格的限定时间内隔离每个秘密。仅将整体分为三个原始部分,您就可以看到隐藏在其中的信息。
这里隐藏了3个秘密
秘密分裂
让我们分析算法的加密方案
原始文本由三个黑白图像组成,每个像素为0-透明或1-黑色。
当图像相互叠加时,像素将按照以下原则合并:
1)0 + 0 + 0 = 0
2)1 + 0 + 0 = 1或0 + 1 + 0 = 1或0 + 0 + 1 = 1
3)1 + 1 + 0 = 1或1 + 0 + 1 = 1或0 + 1 + 1 = 1
4)1 + 1 + 1 = 1
因此,图像的合并会导致某些信息的丢失(第2行和第3行),如果没有密钥,这是不允许的分别还原每个图像。这是加密阶段。
现在,我将向您展示如何生成解密密钥,即将图片分解回其原始组件。
例如,我们面前有原始图像的三个片段,彼此重叠:
图像的加密片段包含黑色和透明像素,并且信息少于三个原始图像。
要创建解密密钥,您需要遍历原始图像每个片段中的黑色像素,并根据坐标进行匹配。
生成的密钥将包含加密图像中黑色像素的坐标及其原始内容。
在给定的示例中,将获得以下密钥:
a1:110,c2:011,d2:111,b4:010,a5:110,c5:111
其中a1是加密图像中黑色像素的坐标,而110是具有相同坐标的像素的颜色在原始图像中。
这种加密算法本质上是带有密钥的单向函数。
关于加密强度
让我们计算该算法的加密强度。每个黑色像素是合并三层像素的结果。同时,如上所示,有7个用于这种合并的选项,我将再次引用它们:
因此,在示例中给出的一小段图像中(由6个黑色像素组成),有7到6的幂或117 649个选项可分解为原始图像...
很容易估计,例如,如果在全尺寸图像上出现1000个这样的像素,那么选项的数量将是7到1000的幂,即组合。
显然,在给定的加密抗性下,直接黑客攻击方法是不可能的。但是,可能的攻击者还有其他密码分析方法。
考虑到最近的事实,基于神经网络的图像识别系统已经取得了长足的进步-潜在的攻击者可以很好地使用它们在单个图像上识别真实性代码的图像。但是,由于以下三个原因,此工具在这种情况下将无能为力。
首先,以验证码的变形形式显示真实性代码。此外,验证码的位置和倾斜角度也是随机的。
其次,验证码与安全网格的图像混合在一起,该图像具有随机模式和文档文本。
第三,试图识别攻击者的时间非常短,为1-2秒。从用户按下受信任设备上的按钮到图像出现在不受信任设备的屏幕上之后,这恰好是多少时间。
尝试识别混有安全网和部分文档文本的代码字
防护网变色后
具有保护性网格的图层后的同一片段被部分褪色-代码字易于识别
一切都这么顺利吗?
但是,如果不提及黑客可能利用的潜在漏洞,所介绍技术的概述将是不完整的。事实是,攻击者Bob事先已知道单个图像上的三层之一-这是带有文档文本的图像。当然,Bob也有自己文档的图像,他将用它替换Alice的文档。然后,鲍勃的任务可以大大简化。知道带有文本图像的图层形式的三个秘密之一,您可以从单个图像中减去带有该秘密图像的蒙版。结果,将存在包括两层的图像-带有保护性网格和真实性代码。然后将生成的图像与原始文档的文本图像混合。就是这样-黑客的问题就解决了。
但是,这里的一切并不是那么简单:在文本像素与安全网格和/或真实性代码的像素混合在一起的那些区域中,减去掩码后,仍会保留可见的间隙。但是,如果原始文本与伪造文本的区别在于本地片段上的少量字符,则在将带有真实性代码的安全网格的残留图像强加于原始文本之后,大多数部分中的这些间隙将消失并且仅保留在进行替换的小片段中。因此,Alice甚至可能不会注意到文档替换。
决断
为了防止根据上述情况发生黑客攻击的可能性,提出了一种相当简单的解决方案。在可信设备中,文档文本的图像事先使用随机值进行了轻微变形。变形的最简单方法是更改文档每页4个边距的宽度。
而且,每个场的宽度将向上或向下改变为其随机值。将场的宽度改变几个像素就足够了,并且在减去蒙版之后,这种攻击的行为将以肉眼可见的形式出现,其形式为残留假象来自悬挂字符的一部分。如果文档文本包含线条(如下例所示),则当文本变形时,线条图像不会受到影响。
安全网格的平滑变色使您可以确保文档的文本不变,
为便于理解,下面以黑白图像为例。但是,通过对算法进行一定的修改,可以将其应用于彩色图像。
现在,简要介绍一下用户在这项技术中的作用。在技术中使用视觉加密方法意味着使用用户的视觉作为评估是否存在“人入设备”攻击的主要指标。实际上,我们正在谈论视觉验证,它由用户执行的两个连续操作来表示:
1.将受信任设备的指示器上的真实性代码与文档图像上验证码中的真实性代码进行比较
作为受信任的设备,建议创建一种特殊的塑料卡
,该塑料卡带有真实性代码指示符和“确认”和“取消”按钮
。2.显示文本的比较,带有保护性网格的层的对比度逐渐降低,真实性代码与文档的原始文本的对比
最后一次操作是基于人的注意能力整体情况发生一点变化。就像猎人能够以最小的轮廓通过树枝看到森林中移动的游戏一样,在这里用户可以清楚地看到,当图像的其他两层的对比度降低并与上下文相对应时,文档中逐渐出现的文本不会改变。
视觉验证可创建最终的受信任查看效果。
PS在下一部分中,我将尝试讨论在开发原型时必须面对的问题,如何在不损害安全性的情况下将一些复杂的计算从受信任的设备转移到受信任的服务器,以及我们是否设法在项目中找到投资者。