通用认证机制GBA(GeneralBootstrappingArchitecture)是3GPP定义的一种基于移动通信网络、轻量级的安全基础设施,可以为应用层业务提供统一的安全认证服务,目前业务广泛的应用于手机电视(MBMS)、安全定位服务(SUPL)等。希望能通过该系列文章和大家探讨一下GBA技术以及该技术的应用场景。
1. 问题提出
随着数据业务的开展,业务平台需要有可靠的认证机制来保证用户对业务的合法使用,也是实现正确计费的必要前提,同时保障用户和运营商的利益。
在很多数据业务中(如飞信、M2M、手机电视),为了验证合法用户对业务的使用,终端与业务平台之间都需要进行登录鉴权(如手机终端登录location服务器等);若业务数据流需要进行加扰或加密(如加密媒体流数据等),则终端与业务平台间需要进行保密通信。
无论是进行鉴权操作,还是保密通信,都需要密钥的支持,即终端与业务平台间需要共享密钥用于安全通信(如传统的用户名/口令就是一种最简单的共享密钥)。一般来说,已有的数据业务中,终端与业务平台间共享密钥主要采用预置密钥和短信下发密钥两种方式,而这两种方式都存在一定的问题:
1)预置密钥方式
由于密钥是预置在终端上,因此若该密钥泄漏,唯一的办法只能将终端反馈给厂商重置;另外,为了开发方便,大部分厂商一般会将所有终端的预置密钥设置成一样,一旦该密钥泄漏或破解,无数的克隆客户端将会出现,影响业务的开展。从业务管理上来看,业务平台需要有相应的密钥管理系统管理密钥,当运营商开展的业务较多时,需要维护一大堆的密钥管理系统,势必造成维护困难,重复建设的问题。
2)短信下发密钥
短信下发密钥其实是一种非常好的方式,一般用于下发动态口令码进行系统登录。但是,在GSM网中,短信是不安全的,满大街都可以购买到用于截获空中短信的设备用于监听和解密短信。想想如果登录系统包含很重要的信息,您会放心接受短信口令登录么?
各业务系统之所以采用这么多安全机制,最终的一个目的就是为了在终端与业务平台间共享一个秘密的密钥,用于安全通信。
为了解决应用层的密钥共享、业务鉴权等一系列问题,提供统一的认证服务,3GPP定义了一种通用的认证机制GBA(GeneralBootstrappingArchitecture)。GBA可以为已有和将有的业务提供安全服务,不仅可以解决上述预置密钥或短信下发密钥带来的安全问题,也可以避免为每一种业务都提供独有的鉴权机制,以一种一致的方式解决业务的安全认证问题。