随着网络特别是宽带网络的普及,基于网络的B/S应用模式发展前景非常光明,因为借助于网络,B/S模式具有管理维护集中方便、用户使用简单、跨平台等优点。但是,因为B/S模式所有的数据传输都要通过公共的网络,所以信息安全问题就显得非常重要,如果这个问题得不到很好的解决,一个B/S系统就不能真正的进入商业性运作。
一般来说,一个B/S系统的信息安全主要有两个方面(本文不讨论与网络无关的安全方面):数据传输的安全性与用户身份的确认。用户身份的确认在B/S系统中是非常重要的,因为B/S系统正是根据用户的身份来提供个性化的服务以及不同的权限,所以,如何对用户身份进行安全的确认,防止假冒和非法攻击是维护数据安全性非常重要的环节。目前来说,基于网络的身份认证比较成熟的解决方案是电子证书,电子证书相当与一个人在网络中的身份证,唯一确定了拥有人的身份。一个B/S系统可以建立一个独立的证书系统,也可以使用公开服务的CA系统,两者各有优缺点,视具体的应用系统而定。
数据传输的安全性主要是指数据在网络中传输的时候,防止被人恶意的窃取和更改等。目前公认的数据保护措施就是数据的加解密技术。该技术目前已经有很多成熟的协议和应用,如SSL和VPN等。SSL是一个基于Socket接口的安全保护协议,目前,主流的浏览器都支持该协议,可以跟B/S模式很好的结合起来。但是,由于浏览器定制的SSL协议受到了一些国家(如美国)出口的限制,其安全强度和算法选择都不是很灵活;而另一方面,由于SSL协议保护的范围太广,对于专用的B/S系统来说也可能显得太烦杂。VPN即虚拟专用网,该技术的安全性很高,但是费用也非常大,主要使用于网间的安全性,对于B/S系统虽然是可行的一个技术,但是适用性并不是很好。作为专用的B/S系统,在数据的保护方面可以根据安全性已经得到公认的算法自己定做简单有效的安全协议,这对提供系统的性能和易用性也是非常有效的措施。
当然,一个真正安全的B/S系统并不是简单的将上述技术添加进去,而是要在系统设计阶段就应该将安全性作为一个重要的因素来考虑,在系统的每一个部分都体现安全性,将信息安全的概念融合到系统中,才能真正成为一个安全的B/S系统。举个简单的例子,比如在做系统设计的时候,在用户进入每一个功能模块的时候,都必须检验该用户的证书,根据该用户的证书决定是否提供服务或提供什么权限的服务。
上述针对B/S系统的安全性分析只是本人非常不成熟的想法,主要是希望大家能够一起讨论,共同进步。