IPTV机顶盒及用户认证授权模型
发布时间: 2022-06-17 15:45:01
基于IP网络的
IPTV业务需要有较高的安全性,以防止各类攻击,包括窃听攻击、地址仿冒、重放攻击、破坏完整性攻击等。根据不同的网络模型,在应用层面上可以有多种认证鉴权方式:基于可管理网络模式的安全认证和基于开放互联网络模式的安全认证模型。可管理网络模式的安全认证机制比较简单,对设备和业务釆用分散的认证方式;下面介绍一种基于开放互联网络模式的安全认证机制,以供参考,如附图3-1所示。它是一种集中的安全认证机制,IPTV系统中的机顶盒和其他的功能服务器必须首先到统一的认证服务器进行认证,STB通过认证后,获得了后续将要访问的IPTV系统中各类服务器的token,如果STB要访问某个服务器,则必须带上相应的服务器token以及相关的防攻击措施,服务器在收到这些信息后则可以进行授权验证。下面介绍一下两个主要的消息交互流程及用到的参数。
附图3-1 IPTV机顶盒及用户认证授权模型
一、用户安装或注册流程
机顶盒安装/注册流程如附图3-2所示。
0.初始状态和信息:STBID(预建在机顶盒中),InstallID和InstallPINC用户放号时得到,为了增强安全性所以只是在安装/注册时一次性使用),AS(Authentication Server)PublicKey(可以通过发现过程得到或预建在机顶盒中),认证服务器的IP(可以通过之前的域名解析过程得到),时钟同步(可以通过发现过程或其他安全时钟同步机制得到,防止基于时钟的攻击)。
1. 机顶盒向认证服务器发起安装或注册请求,其中含有STBID和InstalllD信息。
2.认证服务器向机顶盒发出随机挑战信息。
3. 机顶盒依据一定的密钥生成算法生成永久密钥(MasterKey),同时根据Challenge和InstallPIN并依据指定的哈希生成算法计算挑战响应(ChallengeResponse)。
4. 将计算得到的ChallengeResponse,InstalllD,STBID以及用认证服务器的公钥加密的MasterKey一起发送给认证服务器,同时要保证关键信息的完整性(即不可篡改性)。
5. 认证服务器根据ChallengeResponse,InstalllD,STBID来确认安装机顶盒的合法性;根据后台数据库査询对应该STBID/InstalllD的UserID,并更改整个系统中该用户(对应UserID)的状态为激活状态;利用RSA私钥解密STB的MasterKey,然后保存在认证服务器的数据库中。
6. 返回与机顶盒绑定的UserlDC用于后续该用户在系统的标识,作为系统认证和计费等的依据)给STB,并釆用机顶盒的MasterKey加密,同时保证数据的完整性。
7. STB收到安装成功消息后,解密得到UserID,并保存UserID和先前生成的Master-Key于本地安全存储中。
8. 首次机顶盒安装/注册成功后需要重新启动。
附图3-2 机顶盒安装/注册流程
关键字段说明如附表3-1所示。
附表3-1 关键字段说明
二、用户开机认证服务授权流程
用户开机认证服务授权流程如附图3-3所示。
附图3-3 IPTV用户开机认证服务授权流程
1. 机顶盒安装/注册成功并重启后发起开机认证/授权请求,其中包含STBID,UserID。
2. 认证服务器向机顶盒发起Challenge流程,包含STBID,UserID以及Challengeo
3. 机顶盒计算ChallengeResponse,根据一定的算法随机生成用于机顶盒和AS之间的STBSessionKey,以后和认证服务器之间的会话采用该会话密钥,而不是STB的Master-Key(只是在一开始会话密钥产生之前使用),这样从密码学的角度更进一步加强了系统的安全性。
4. 机顶盒发起开机用户认证服务授权请求,包括STBID,UserID,加密的STBSession-Key(供STB和AS之间的后续会话加密用)等其他信息发给认证服务器,同时保证数据的完整性。
5. AS根据Challenge Response认证请求的合法性并在认证通过后返回访问各类Server的SessionKey(SvrSessionKey,可以有多个),业务授权信息(访问各个Server的Token),这些信息全部用STB的MasterKey加密。
关键字段说明如附表3-2所示。
附表3-2关键字段说明