【论文总结】使用客户端加密实现安全的基于 Web 的云服务

介绍

这是来自于CCSW2020的一篇论文,CCSW全称Cloud Computing Security Workshop,是云计算安全的顶会,作者是Martin Johns,Alexandra Dirksen

概述

由于使用客户端加密的方式不能平移到Web的云应用程序中,本文提出了一种内置端对端组件CRYPTOMEMBANES,它可以在客户端加密的用户数据和不可信任的JavaScript之间提供隔离层。同时,作者提出使用现有方法实现CRYPTOMEMBRANES的可行性。实现CRYPTOMEMBRANES的方法是使用CMEMBRANEELEMENTS。此外,作者还提出了再现有浏览器实现该方法的可行性,即使用浏览器插件EXTENSIONMEEMBRANES。

前置知识

DOM:DOM是文档对象模型(Document Object Model)的缩写,是W3C制定的标准接口规范,是一种处理HTML和XML文件的标准API。DOM提供了一种访问和操作HTML文档的标准方法,以树结构表达HTML文档。DOM将HTML文档解析为一个由节点和对象(包含属性和方法的对象)组成的结构集合。通过DOM,开发人员可以使用脚本动态地创建、访问和修改文档的内容和结构。

CRYPTOMEMBANES

核心思想

CRYPTOMEMBRANES的核心是基于CMEMBRANEELMENTS代替常规的DOM元素,例如使用div元素代替cryptoFIV元素。

结构

数据库后端存放加密的数据,云应用程序查询数据库获取用户数据并编译成加密的HTML/JavaScript/JSON内容,Web浏览器呈现云应用程序的HTML/JavaScript,提供用户界面。客户端加解密机制和密钥存储单元解密传入的数据并加密传出的HTTP流量。为了保护解密后的值不受恶意JavaScript的攻击,数据被保存在浏览器中的CMEMBRANEELMENTS中。

简单来说,就是浏览器存在专有单元,当浏览器接受到专有单元的时候,传入加密的数据时,它首先解密呈现给用户看的界面。首先,云应用程序查询数据库的内容把他解析成加密的HTML/JavaScript/JSON内容,然后,Web浏览器接受到这个内容,并用专有单元进行解密,解密后的结果保存在CMEMBRANEELMENTS中并呈现给用户看。同时使用用户密钥进行加密,加密的结果呈现到JavaScript中。
在这里插入图片描述

CMEMBRANEELMENTS

它在形式、API和功能上分别对应相应的DOM元素,它存在加密的数据和未加密的数据两种形式的值,未加密的值通过浏览器UI呈现给用户,加密的值封装在网站的JavaScript值中,两个值其中一个值改变,另一个值也会相应更新。网站的JavaScript无权访问未加密的值。
在这里插入图片描述

CMEMBRANEELMENTS数据形式

1.数据输出形式(呈现给用户):

使用ID为123的密钥解密,解密的算法为OrderPreserving,加密的值为“AB34CEA23…”

<CryptoDIV CMKeyID= " 123 " CMAlgID= "OrderPreserving ">

AB34CEA23...

< / CryptoDIV >

2.数据输入形式(呈现给JavaScript):

使用id为345的密钥加密数据,加密的数据通过DOM API获得,因此JavaScript请求DOM API获取相应的HTML表单时也会携带加密的值。

<CryptoINPUT Type= " text " Name= " confinput " CMKeyID= "345 " CMAlgID= " Deterministic ">

EXTENSIONMEMBRANES

EXTENSIONMEMBRANES是将CMEMBRANEELMENTS替换为当前浏览器的扩展,使它能用于当前主流的浏览器并且不会被用户察觉。相关流程如下图:
在这里插入图片描述
方法是将传入的HTML源代码传递给呈现引擎之前,立即重写它,方法如下:

The following CMembraneElement..:

<CryptoDIV ID=" CM1 " CMKeyID= " 911 " CMAlgID= "Deterministic ">
AB34CEA23...
< / CryptoDIV >

... will be rewritten into:
<DIV rel-crypto= " cryptodiv " ID=" CM1 " CMKeyID= " 911 "CMAlgID= " Deterministic ">
AB34CEA23...
< /DIV >

猜你喜欢

转载自blog.csdn.net/Ohh24/article/details/130054892