华为 AnyOffice移动办公解决方案 WebApp技术白皮书

作者: 点击次数:327 添加时间:2017-3-15 19:38:48

 AnyOffice V200R005C00 WebApp技术白皮书 Keywords 关键词:AnyOffice、安全沙箱、AnyOffice SDK、Web安全沙箱、WebView、 WebApp Abstract 摘 要: 本文对AnyOffice移动办公安全解决方案中“Web安全沙箱”技术进行介绍。从移动 终端浏览器架构出发,描述了AnyOffice SDK提供的“Web安全沙箱”解决方案。 List of abbreviations 缩略语清单: Abbreviations缩略语 Full spelling 英文全名 Chinese explanation 中文解释 SDK Software Development Kit 软件开发包 HTML Hyper Text Markup Language 超文本标记语言 CSS Cascade Style Sheet 层叠样式表 XML EXtensible Markup Language 可扩展的标记语言 AnyOffice V200R005C00 WebApp技术白皮书 OFFE00016521_PMD305ZH B 内部公开 2015-11-10 华为保密信息,未经授权禁止扩散 第 5 页, 共 14 页 1 简介 华为AnyOffice移动办公安全解决方案是针对当前BYOD移动办公的需求、特点和挑 战,在保障移动办公人员顺畅、安全访问企业的同时,提供高效和良好的用户体验,实 现了“安全”、“效率”和“体验”的完美融合。 AnyOffice移动办公安全解决方案以SDK的形式为企业应用提供安全沙箱特性,为 BYOD过程中的企业数据保驾护航。Web安全沙箱是AnyOffice安全沙箱的一部分,专注于 保障Web业务中企业数据的安全。 图1 华为 AnyOffice 解决方案架构 1 背景知识 AnyOffice Web安全沙箱涉及到一些专业性较强的背景知识,包括浏览器架构、Web页面访 问流程、界面开发等,对于一些不具备开发经验的人员不容易理解,因此首先对相关的一些概念、 知识点做简要介绍。 1.1 移动终端浏览器架构 在移动平台上,浏览器架构总体上差异不大。与PC上的浏览器相比,移动端的浏览 器具备更好的开放性,架构更清晰。iOS和Android作为主流的两大移动操作系统,其浏 览器脱胎于同一款内核-WebKit,在这两个平台上开发的第三方浏览器也多基于此内核, WebKit内核对W3C标准的符合度较高,兼容性问题相对PC平台也较少。移动终端浏览 AnyOffice V200R005C00 WebApp技术白皮书 OFFE00016521_PMD305ZH B 内部公开 2015-11-10 华为保密信息,未经授权禁止扩散 第 6 页, 共 14 页 器架构示意图如下。 图2 移动终端浏览器架构 浏览器架构中各组件职能描述如下表所示。 表1、移动终端浏览器组件职能描述 组件 职能 浏览器界面 地址栏 URL地址输入。 书签 书签管理,添加、删除、预览等。 历史记录 历史记录管理,记录、删除等。 多窗口 多窗口、多页签管理,创建、删除、切换 等。 WebView控件 提供Web页面浏览编程接口,开发人员通 过该控件实现Web浏览相关功能。不同平 台上该控件名称、接口稍有差异,但一些 基本功能一致,如页面加载接口、导航接 AnyOffice V200R005C00 WebApp技术白皮书 OFFE00016521_PMD305ZH B 内部公开 2015-11-10 华为保密信息,未经授权禁止扩散 第 7 页, 共 14 页 口等。WebView控件不提供资源解析、页 面渲染等内核功能,仅仅提供桥接和接口 封装。 浏览器内核 资源加载 管理页面资源。通过网络协议库完成资源 请求、处理,并对页面上的多个资源请求 进行调度。 HTML/CSS/XML解析引擎 对HTML/CSS/XML等静态页面资源进行 解析,生成DOM树,遵循W3C规范。不同 浏览器内核对W3C规范的遵循程度通常存 在差异,且会提供一些个性化的特性,这 是导致浏览器之间兼容性的主要根因。 HTML5、CSS3规范在此组件中支持,不同 浏览器内核的支持程度不同,Android和 iOS平台使用的WebKit内核对HTML5和 CSS3规范支持程度较好,Windows的IE内 核支持程度较差。 JavaScript解析引擎 对JavaScript脚本资源进行解析、执行,为 页面实现动态效果。JavaScript的解析执行 是浏览器性能比拼中的关键项目,成熟浏 览器(如Chrome、Safari等)通常都有自主 知识产权的JavaScript解析引擎。 布局渲染 以页面资源解析得到的DOM树为输入,完 成页面元素的布局、渲染。依赖于底层的 图形库。 系统支持库 网络协议库 实现HTTP、FTP等常用应用层网络协议, 为页面资源请求提供支持。 图形库 为浏览器内核的页面元素渲染提供支持, 依赖于平台图形硬件。 AnyOffice V200R005C00 WebApp技术白皮书 OFFE00016521_PMD305ZH B 内部公开 2015-11-10 华为保密信息,未经授权禁止扩散 第 8 页, 共 14 页 操作系统 移动终端操作系统,Android、iOS、Windows 等。 1.2 Web 页面访问流程 一个Web页面通常包含一个主页面和一系列的子资源,主页面为HTML格式,其中包含各种 资源链接,包括样式资源(CSS)、动态资源(JavaScript)、图片资源等。浏览器在加载一个页 面时,首先请求主页面。当从服务端获取到主页面后,将使用解析引擎对其进行解析,当解析到 资源链接时,将发起该子资源的请求。子资源请求依赖于页面解析对该资源的依赖程度,对于影 响页面布局的资源,将停止页面解析,待子资源请求返回后再继续对主页面进行解析。如此循环, 直至获取了所有子资源,并完成解析、布局、渲染。过程描述如下图。 图3 Web 页面访问流程 以上过程为整个Web页面加载过程的简化描述,实际上,为了加快页面加载速度,浏览器内 核通常会将解析、资源请求、布局、渲染等步骤进行并行、穿插的进行,比如说,会优先将文本 内容快速加载出来,然后再慢慢加载较大的图片。另外,为了降低网络传输消耗,浏览器内核通 常都有本地缓存机制,在短时间内反复访问某一个网站时,将直接使用本地缓存的资源,此时, 页面加载速度将大大提升。 1.3 移动应用构成 移动应用开发过程中,开发者会创建一系列的用户界面,在各个界面上组织控件,完成 一项或者几项业务,并通过按钮或者手势在界面间建立关联。移动应用构成如下图所示。 AnyOffice V200R005C00 WebApp技术白皮书 OFFE00016521_PMD305ZH B 内部公开 2015-11-10 华为保密信息,未经授权禁止扩散 第 9 页, 共 14 页 图4 移动应用构成 上图是AnyOffice系列产品中的安全邮件应用(AnyMail),展现了应用、界面、控件三 者的层次关系,一个应用通常由多个界面组成,一个界面通常包含多个控件。每种控件实现 的功能不同,文本控件用来显示、编辑文本,按钮控件用来实现一个用户可操作的功能区域, 而WebView用来展现本地或者远端的一个Web资源。AnyMail中,WebView用来展现HTML 格式的富文本邮件(上图中第二个界面),另外也会用来展现邮件中的内网链接(上图中第 三个界面)。 2 安全WebView控件 WebView是移动平台提供的Web开发控件,用于实现Web页面访问。 AnyOffice移 动办公安全解决方案对该控件进行加固,提供企业数据全流程保护,同时保证这些安全 特性对上层应用开发透明。 企业可以选择由开发人员手动集成AnyOffice SDK的安全WebView控件,也可以选 择使用AnyOffice网站上的Wrapping工具完成集成,非常便利。 2.1 传输加密 WebView控件指负责提供Web浏览所需的编程接口,具体的资源请求、解析以及页 面渲染由浏览器内核完成。资源请求由浏览器内核中资源管理模块通过网络协议库完成。 由于浏览器内核对于开发者来说是不可见的,因此想要直接改写网络协议库来实现传输 加密是不可行的。 AnyOffice SDK通过统一的框架实现WebView控件的网络传输接管,将AnyOffice自 AnyOffice V200R005C00 WebApp技术白皮书 OFFE00016521_PMD305ZH B 内部公开 2015-11-10 华为保密信息,未经授权禁止扩散 第 10 页, 共 14 页 有的应用专属隧道与WebView控件无缝结合,实现内网Web页面访问过程中的传输加密, 保证企业Web数据传输过程中的安全。安全WebView控件的网络传输接管模型如下图所 示。 图5 安全 WebView 网络传输接管模型 上图中主要交互流程描述如下: 1、开发者调用安全WebView控件接口,注册网络接管,此时浏览器内核中的网络请求 将被AnyOffice SDK接管,改由应用专属隧道传输。 2、开发者调用安全WebView接口传入企业内网Web链接,发起页面访问。 3、安全WebView控件将页面访问请求传递给浏览器内核。 4、浏览器内核通过应用专属隧道发起页面资源请求。 5、应用专属隧道将资源请求通过TLS连接传输到AnyOffice接入服务器。 6、AnyOffice接入服务器将资源请求转发给内网Web服务器。 网络传输接管不影响WebView控件原有接口,开发人员无需关心其逻辑,控件使用 方式与原生WebView一致。 2.2 数据防泄漏 AnyOffice安全WebView目前不支持文档下载与浏览,因此可能会保存到本地的数据 包括表单中的用户名密码、页面缓存、历史记录以及cookie。这些数据有浏览器内核在 页面加载过程中自动进行保存,无法在WebView中进行控制。因此,AnyOffice安全 AnyOffice V200R005C00 WebApp技术白皮书 OFFE00016521_PMD305ZH B 内部公开 2015-11-10 华为保密信息,未经授权禁止扩散 第 11 页, 共 14 页 WebView通过无痕浏览模式来保证企业数据的安全。应用通过安全WebView浏览完企业 内的Web网站,在退出页面时,安全WebView会自动清除所有浏览过程中保存的缓存, 防止企业数据泄漏。 2.3 单点登录 访问OA系统时,通常都需要使用企业账号进行登录,且大部分都是采用表单形式。 如果用户每次访问内网网站时都进入登录页面,输入用户名密码,无疑是非常影响体验 的。安全WebView提供非常灵活的单点登录机制,开发人员可以根据自身企业OA系统 的认证逻辑,实现高定制化的单点登录逻辑,而安全WebView可以与这些逻辑完美的融 合,从而大大提升用户使用体验。 当然,这种机制对企业IT人员的开发能力有一定要求,需要开发人员对OA系统的 认证流程非常熟悉,并有一定网络编程与移动应用开发经验。 3 企业WebApp WebApp是以WebView为主题构造的一种应用,区别于使用移动平台SDK开发的原 生应用。图4中的第三个界面就是一个WebApp与安全邮件有机结合的一个例子,用户点 击邮件中的链接,即可便捷的访问内网Web资源。 原生应用使用平台SDK提供的各种控件(按钮、文本框、列表等)开发,具备良好 的友好性与操作体验,但同时也受限于特定的操作系统。而WebApp则通过HTML、 JavaScript等Web元素构建界面,然后通过WebView控件进行加载,具备良好的平台通用 性;另外,这些界面可以以网站形式部署在后台,在客户端通过WebView控件进行加载, 这样就为部署与可维护性带来了极大的便利。 在企业移动办公场景中,WebApp拥有天然的优势。企业OA系统、ERP系统大都具 备Web接口,员工在PC上也多通过浏览器访问企业业务。只需要在移动端构造一个 WebApp即可是先企业业务的移动化,及其方便。 WebApp的展现形式可以是一个完整的应用,也可以是应用中的一个界面,甚至可 以仅仅是浏览器中打开的一个页面。开发人员可以根据具体的部署场景选择合适的形式 进行发布。AnyOffice移动办公安全解决方案中,以SDK的形式提供界面形式的WebApp 封装。 AnyOffice V200R005C00 WebApp技术白皮书 OFFE00016521_PMD305ZH B 内部公开 2015-11-10 华为保密信息,未经授权禁止扩散 第 12 页, 共 14 页 企业可以选择在已有的企业应用中集成AnyOffice SDK中的WebApp,只需一行代码 即可实现企业Web业务的移动化。也可以选择使用AnyOffice移动客户端作为WebApp载 体,只需要在AnyOffice后台的业务管理服务器上进行简单的配置,即可实现所有Web 业务的一次性部署,及其方便。 4 微信穿越 随着移动互联网的飞速发展,社交应用具备了巨量的用户基础。社交应用已不仅仅 限于个人交流,越来越多的员工习惯于在社交应用中创建一个个工作圈,在其中处理部 分公司事务。如何在保证信息安全的基础上,有效利用社交应用的用户资源,是企业IT 管理人员需要考虑的一个问题。 AnyOffice移动办公安全解决方案基于当前用户量最大的社交应用微信,为企业移动 办公方案构建了一条安全、快捷的穿越通道,使得IT管理人员可以利用微信的用户基础, 高效的推行移动办公方案,引导员工快速步入移动办公时代。 图6 微信穿越流程 上图是通过微信穿越来进行移动办公方案推广与企业Web资源分享的流程,具体描述如 AnyOffice V200R005C00 WebApp技术白皮书 OFFE00016521_PMD305ZH B 内部公开 2015-11-10 华为保密信息,未经授权禁止扩散 第 13 页, 共 14 页 下: 1、员工A通过WebApp打开企业Web资源。 2、员工A在WebApp中分享企业Web资源到微信好友或者聊天群中。AnyOffice SDK保 证分享过程不会触犯信息安全。 3、员工B在微信聊天界面中点击分享的Web资源。 4、微信WebApp打开分享的Web资源链接,将显示引导页面。员工B选择在浏览器中打 开当前资源页面。 5、如果员工B未安装AnyOffice客户端,则将进入AnyOffice下载页面,引导员工B下载 安装AnyOffice客户端以进行移动办公。 6、如果员工B已安装AnyOffice客户端,则将启动AnyOffice,并通过WebApp打开员工A 分享的企业Web资源。 微信穿越使得企业Web资源可以借助社交应用进行分享、传播,而由AnyOffice SDK 来解决此过程中的信息安全问题。当员工访问这些分享资源时,将引导员工下载安装移 动办公门户应用(AnyOffice客户端),从而认识、享受移动办公带来的便利。 5 Web 安全沙箱 AnyOffice的Web安全沙箱提供从底向上立体化解决方案,为企业移动办公Web安全 提供全方位的支持。企业可以视具体情况选择使用安全控件,还是使用界面级别的 WebApp封装,也可以选择使用应用级别的WebApp。Web安全沙箱所提供的所有安全特 性,以及各个层次封装的对比如下表所示。 表2、Web安全沙箱特性列表 WebView 控件 WebApp 安全浏览器 传输加密 √ √ × 无痕浏览 √ √ × ACL控制 √ √ × 单点登录 √ √ × 刷新、前进后退 √ √ × 微信穿越 × √ × 防拷贝/粘贴、防截屏 √ √ × 地址栏 × √ × 单任务下载/在线浏览 × × × AnyOffice V200R005C00 WebApp技术白皮书 OFFE00016521_PMD305ZH B 内部公开 2015-11-10 华为保密信息,未经授权禁止扩散 第 14 页, 共 14 页 多任务下载管理 × × × 书签/历史记录 × × × 单任务上传 × × × 浏览设置界面 × × × 部署 已开发的企业应用集 成AnyOffice SDK 1、企业应用集成 AnyOffice SDK 2、通过AnyOffice统一 部署 单独应用安装 建议场景 企业已开发移动办公 应用,且应用中使用 WebView访问内网 Web资源 企业未开发基于 WebView的移动办公 应用,但主要的业务都 是以Web为载体。 AnyOffice解决方案暂 不提供 AnyOffice移动办公安全解决方案中,不提供独立的安全浏览器应用,因此涉及到浏览器应 用相关的特性均不支持,如书签、历史记录、多任务下载、浏览设置界面等。在线浏览、单任务 下载、上传等较常用特性将在未来版本的AnyOffice SDK中支持。 6 总结 Web业务是企业OA、ERP系统中非常常见的形态,因此Web安全沙箱在企业移动办 公安全解决方案中有着举足轻重的作用。AnyOffice SDK提供的Web安全沙箱为企业提 供多层次、多维度、全方位的解决方案,企业可视自身现状选择合适的方式进行集成, 实现Web业务快速移动化。