企业IT架构移动化迁移方案的研究

2014-02-10 01:29
电信工程技术与标准化 2014年9期
关键词:令牌客户端加密

(中国移动通信集团福建有限公司泉州分公司,泉州 362000)

企业IT架构移动化迁移方案的研究

王瑞斌

(中国移动通信集团福建有限公司泉州分公司,泉州 362000)

企业的IT系统从传统Web架构向移动App架构迁移是近几年的一个重要的趋势。在实际的迁移过程中,需要结合现有的网络拓扑环境以及IT系统的相关情况,去构思一个能够承上启下,稳中求变的新IT架构。同时又要兼顾安全、性能、可扩展、运维等方面的需求。新的IT架构结合移动App特点从用户通行证、WebAPI统一门户、App生命周期管3个维度出发,形成了用户池、App应用池、接口能力池、分析数据池四大资源池,从而实现了用户数据,生产数据,分析数据和日志数据的各自分流,降低了移动App开发和运维成本,提升了开发效率。

IT架构;API管理;移动化;App

企业的IT系统从传统Web架构向移动App架构迁移是近几年企业IT支撑方面一个重要的趋势。企业IT系统移动App化为企业用户带来便利和竞争力的同时,也为企业的IT架构带来了新的挑战。由于移动App的开发比例急剧增加,且移动App完全不同的开发和使用特性,使得旧有的IT架构和运维体系都显得捉襟见肘。因此,必须结合企业自身的网络拓扑环境以及已有的IT系统的相关情况,去构思一个能够承上启下,稳中求变的新IT架构。同时这个IT架构必须兼顾安全、性能、可扩展、运维等几方面的需求。本研究提出的移动应用开发支撑平台有效地解决了这一难题。

1 历史制约与迁移的思路

新IT架构的迁移方案必须从网络结构及其安全要求,以及企业内网IT系统的平滑衔接这两个主要的历史制约因素为出发点进行考虑。

以往的IT系统相对比较分散,网络结构也比较多样,可能有开放到公网中,也可能皆是内网应用。而移动App的引入,需要打破这种相互的隔绝,同时需要兼顾整体系统的安全性,尤其是对接公网部分的安全性。因此,平台引入了类似Layer 7和APIgee的企业WebAPI管理机制。移动App只能访问部署在DMZ区的WebAPI统一门户的虚拟WebAPI,WebAPI管理平台经过各层安全检验后,将访问请求转发给对应的独立业务系统的真实数据接口,从而使各业务系统保持了平滑扩展的独立性,同时也保证了权限和安全的可控性。

在解决历史问题的同时,新的IT架构从移动App特点出发对内在的元素进行重新组合,形成了用户池、App应用池、接口能力池、分析数据池等四大资源池。如图1所示,从而实现了用户数据、生产数据、分析数据和日志数据的各自分流。

图1 App数据流向图

2 移动化架构的设计和实现

2.1 从账号到通行证

由于移动App的私密性以及随时在线的特点使得移动化IT架构的身份认证机制与原有的基于AD域的账号体系有着较大的不同。基于这种不同,支撑平台提出了基于硬件特征码和手机号码的移动互联网通行证解决方案。其中,移动互联网通行证主要特点如下。

(1) 通行证以终端设备的硬件特征码(物理身份特征码)和手机号码(逻辑身份特征码)的组合作为每个运行实例的唯一身份特征码。由于一般手机都没办法获取手机号,故在本体系中只能以IMSI代替。对于一些没有IMSI卡的设备,如平板电脑等,则虚拟一个用户识别号。

(2) 对于无需登录用户账号的低安全要求的App,可通过身份特征码获知用户的身份,同时识别同一用户手中的不同设备终端。通过手机客户端软件与服务器配合,将手机身份特征码引入验证环节,解决手机上网后在IP层面鉴别其身份比较困难的问题。

(3) 对于高安全级别App需要用户登录相应的账号,但同一用户的同一硬件(同一运行实例)下可以实现对同一账号体系的共享登录状态,同时使用手势密码保障共享登录不被非授权使用。手势密码采用数字化存储,存储方式为AuthToken的反码和手势密码的数字值进行DES加密,再使用SecretKey进行再次加密。

(4) 每个App使用短期令牌AccessToken来通过WebAPI管理门户的身份校验。AccessToken短期令牌是用来表明每个App的实例对接口的访问用户身份标识,但仅用于维持单次会话的身份验证。AccessToken访问周期开始时需要用长期令牌AuthToken从授权接口获得。AuthToken在每个App第一次运行时产生,可以叠加该终端的身份特征码以及已登陆账号的相关权限,用来表明每个App的实例对接口的访问用户身份标识。AuthToken无法直接使用,必须通过相应的接口获取相应的AccessToken方能使用。

2.2 WebAPI统一门户

WebAPI统一门户是整个移动开发支撑平台的核心。其以WebAPI访问请求的代理路由转发为核心,对安全机制和运维机制进行深化扩展。如图2所示,WebAPI统一门户的主要功能和技术特点如下。

图2 WebAPI管理平台运转机制

(1) 三重验证机制保障接口访问安全:App签名校验,每个App均有独有的ID和密钥用以生成签名,确保每个请求均有不同的签名。数据访问权限最小化设定,严格限制App对服务器的访问权限,每个App只能访问对其授权的接口,动态令牌授权校验,根据AppID、用户名、用户密码(MD5加密)到用户授权服务器进行验证,生成包含用户授权信息的长期令牌,使用长期令牌避免了客户端保存账号密码,通过长期令牌换取短期令牌进行访问,避免令牌泄漏。

(2) 灵活的接口动态路由机制以及创新的AB钥匙模式,让开发环境平滑过渡到生产环境。每个App提供生产环境和开发环境两套不同的钥匙,在不同的AppID和密钥下访问同一个虚拟WebAPI可以被路由到不同的真实WebAPI,从而实现在同一套App代码下正式生产环境和开发测试环境的隔离。

(3) 实时访问监测,快速数据审计预警及系统故障告警(日志机制),记录API每次的访问详情包括时间、请求地址、返回数据等,设置每个App在一段时间对某个API的访问请求次数做出限制,设置每个App在一段时间对某个API的访问请求对某些参数出现的频次进行限制(例如短信接口对同一个手机号码发送短信数量设限)。

(4) API资源池的共享:接入WebAPI统一门户的各业务系统的API通过接口平台授权都可以开放给不同的App使用,通过API共享解决了资源信息孤岛问题,实现了松耦合的API的开发,具有层次清晰、维护方便的特点,降低了以后对平台系统升级、改造的影响。

2.3 管理应用的生命周期

和传统Web系统的集中化部署的方式不同,每个App都运行在不同用户的终端上,因此需要一个合理的机制对每个App的生命周期进行管理和维护。主要内容如下。

(1) 统一的发布平台:所有客户端皆按统一标准在此平台发布,支持IOS和Andorid应用发布,方便进行客户端应用版本维护升级。

(2) App访问密钥管理:第一次发布的客户端会自动创建密钥,所有客户端皆有两对AppID和SecretKey,用于生产和开发访问WebAPI统一门户的访问签名。

(3) App的更新机制:提供版本更新检测及下载的WebAPI接口和SDK,提供新版本提醒以及强制更新功能,方便客户端进行版本升级,让用户享受更加高效、平滑的升级体验。

(4) App的运营数据采集:提供标准化的用户反馈功能、以及自定义事件采集功能的WebAPI和SDK。通过标准化反馈功能实现和用户轻松高效沟通,收集用户建议,了解用户需求,解决用户问题,服务端的反馈管理功能可管理所有用户的反馈,不错过任何用户的声音。自定义事件采集功能,通过后台配置能够适应各个App数据的采集,采集回来的数据方便分析用户行为,利用数据进行产品、运营、推广策略的决策。

3 应用实例

目前移动应用开发支撑平台已成功应用于中国移动通信集团福建有限公司泉州分公司,该平台有效地支撑了泉州公司的App开发,其中不乏精品项目,如泉州移动应用汇、无线办公、营销助手等。

下面以无线办公应用为例,阐述此架构中用户的授权流程,流程图如图3所示。详细步骤解释如下。

图3 用户授权流程图

(1) 客户端发送AppID(客户端识别码)、用户名、用户密码(MD5加密)到用户授权服务器进行验证,服务器根据用户资料(授权)数据库的内容,返还AccessToken(访问令牌)、Scope(访问范围,即用户授权可以访问哪些数据接口的哪些内容)、ExpirationTime(过期时间,即当前令牌的有效时间,视客户端信任等级而定)。

(2) 客户端根据需求,使用AccessToken对数据接口进行访问,数据接口服务器依据令牌查询出相应的Scope和ExpirationTime,对其进行访问权限鉴别,鉴别通过后返回相应的数据内容。

(3) Sign数字签名,在无线办公客户端采用客户端+ 数据接口(WebAPI)的方式进行数据交互。其中主要的访问行为如图4所示,客户端向数据接口服务器提出http访问请求,数据接口服务器验证访问请求中的sign数字签名进行验证,验证通过则允许访问,验证不通过则抛弃该次访问。其中sign签名方法如下。

图4 Sign验证流程图

(1) 对接口调用URL后,所带所有参数和参数值(不包括sign)所生成字符串经过md5加密后转成16进制后得到一个32 bit的密文,该密文称为 first_sign。

(2) first_sign的值(32 bit字符串)+访问客户端的SecretKey(本质为guid,32 bit字符串),再次进行md5加密,加密结果转成16进制后得到一个32 bit的密文,该密文称为sign,也就是提交给服务器的sign数字签名。

移动应用开发支撑平台从用户信息授权、客户端访问鉴权、传输内容加密等3个方面对无线办公客户端进行全方位的安全保障。移动应用开发支撑平台建成正式上线以来(截至2014年6月20日),共接入App应用35个,业务系统API接口55个;接口总访问量4 781 540次,日均访问量38 252次。API接口的平均复用率为1.32,个别接口如授权接口复用率为29,Android和IOS可复用组件复用率为1.19。

4 总结

移动应用开发支撑平台可有效地支撑现代企业的App建设,为企业提供一个统一的App管理平台,所有App开发皆采用统一接口及规范,并且提供基于令牌识别的安全认证机制以及安全审计机制,对API接口和App应用实现了有效的支撑和管控。同时,该平台的大部分通用WebAPI接口可重复利用,可极大地降低开发成本及提升开发效率,平台自2014年1月上线以来共节省了约50个接口的开发及测试,节省了约100万元的开发成本,后期若将该平台架构推广至全省或集团公司,整体经济效益将更加可观。

Investigate the scheme of mobile migration for enterprise IT architecture

WANG Rui-bin
(China Mobile Group Fujian Co., Ltd. Quanzhou Branch, Quanzhou 362000, China)

The mobilization for the enterprise IT systems from traditional Web-based architecture is an important trend in recent years. In the actual practice, we also need to concern the existing network environment and old IT system, with thinking a new IT architecture that can transit smoothly. Security, performance, scalability and good maintainability are also the key issues. The new IT architecture combined the perspectives of user passport, WebAPI portal and App lifecycle, to form four resource pool that they are pool of users, pool of Apps, pool of API capabilities and pool of analytical data. With this, we can separate data flows of user authentication, Application data, analytical data and log data, in order to reduce development and maintenance costs of mobile App, improve the eff ciency of development.

IT architecture; API management; mobilization; App

TN915

A

1008-5599(2014)09-0076-04

2014-08-08

猜你喜欢
令牌客户端加密
称金块
一种新型离散忆阻混沌系统及其图像加密应用
基于路由和QoS令牌桶的集中式限速网关
如何看待传统媒体新闻客户端的“断舍离”?
一种基于熵的混沌加密小波变换水印算法
动态令牌分配的TCSN多级令牌桶流量监管算法
县级台在突发事件报道中如何应用手机客户端
孵化垂直频道:新闻客户端新策略
大枢纽 云平台 客户端——中央人民广播电台的探索之路
加密与解密