1.4 为你的企业应用上把锁

终于,我们准备好了应对企业应用安全问题的良策。现在,让我们为自己的企业应用装上这一道道的安全锁。

❑ 访问控制:通过为用户设定用户名和口令控制用户访问权限。这是我们最常用的,也是最简单的防范措施。随着企业应用业务的不断细化,如何划分用户访问控制权限,如何控制不同类型的用户(如超级管理员、普通用户、VIP用户)访问受限资源成为新的问题。通常依靠各种理论基础来划分,比较常用的划分方式有,如以用户组为单位划分某组用户可以访问某些资源(Linux操作系统是这种划分方式的典型代表);以用户角色为单位划分具有何种角色的用户可以访问哪些相应的资源,如我们已经提到过的RBAC。访问控制通常没有固定的算法,由架构师根据系统设计需求进行相应的设计。访问控制仅仅能起到企业应用第一层屏障的作用,最易实现也最不安全,适用于安全系数较低的企业应用。

❑ 数据加密:通过对数据的加密、解密可以有效地提高企业应用的安全性。数据加密可以应用在企业应用中的多个环节。例如,可对机要数据进行加密后再存储,对用户的口令加密后存储可有效避免口令盗取导致的用户利益侵犯问题;对网络传数据加密,对用户聊天信息加密传输可以确保用户隐私不易被破译;对要传输的数据做加密摘要,各种通过网络传播的光盘文件(ISO文件)同时附有摘要信息作为验证,可以验证数据完整性。数据加密适用于多种企业应用,架构师可根据具体要求实施相应的加密防范措施。

❑ 证书认证:通过数字证书认证可以鉴别用户身份、消息来源的可靠性,加上HTTPS协议的支持可达到高度的数据安全性。数字证书由权威的数字证书认证中心(Certificate Authority,CA)颁布。数字证书经认证中心签名处理,任何第三方都无法修改证书的内容。数字证书自身带有公钥信息,可以对数据进行加密、解密和数字签名验证。同时,带有MD5、SHA的消息摘要信息可做自身有效性验证。数字证书鉴于自身高度的安全性通常以文件形式存储,可通过网络、物理存储载体发送给用户使用。通过读取数字证书信息,HTTPS协议得以发挥安全信道通信的作用,确保数据交互的安全性。当然,安全总是有代价的。通过数字证书对数据做处理后,网络交互时间会相应延迟,这主要是因为非对称加密算法的时间效应。但为了更高的安全性,牺牲系统响应时间是有必要的。通常在电子商务中,使用数字证书是最好的选择,也是确保安全交易的唯一选择。大型企业应用之间的大批量机要数据的交互,通常采用数字证书认证的方式。架构师可根据企业应用所处的相应领域,及不同的业务需求选择有效的数字证书确保企业应用的安全证书认证多适用于电子商务。