版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1可下载条件接收系统技术规范本文件规定了具有双向交互能力的数字电视广播系统中可下载条件接收系统的总体要求、安全机制、系统架构和功能、终端系统、终端安全芯片等内容。本文件适用于具有双向交互能力的数字电视广播系统中可下载条件接收系统的开发、测试、运行和维护。2规范性引用文件下列文件中的内容通过文中的规范性引用而构成本文件必不可少的条款。其中,注日期的引用文件,仅该日期对应的版本适用于本文件:不注日期的引用文件,其最新版本(包括所有的修改单)适用于本文件。GB/T32905-2016信息安全技术SM3密码杂凑算法GB/T32907—2016信息安全技术SM4分组密码算法GB/T35275—2017信息安全技术SM2密码算法加密签名消息语法规范GY/Z175-2001数字电视广播条件接收系统规范GY/T308-2017单向可下载条件接收系统技术规范(Infornationtechnology-Genericcodingofmovingpicturesandassociatedaudio—Part下列术语和定义适用于本文件。条件接收系统conditionalaccesssystem:CAS数字电视广播业务的授权管理和接收控制系统,能实现只容许被授权的用户使用某一业务,未经授权的用户不能使用这一业务等功能。层级密钥keyladder一种保证控制字安全传送的结构化多级密钥机制。用于加解扰的控制信息。在广播前端的条件接收系统控制下改变或控制被传送业务码流的某些特性。使得未经授权的接收者不能得到正确的业务码流的过程2加扰的逆过程。用于层级密钥首层的密钥。使用相同输入数据应用不同参数,生成不同输出数据的单向演化过程。启动加载软件bootloader用于接收终端启动后初始化硬件和加载主软件的程序。终端安全芯片terminalsecurechipset集成在接收终端中。主要实现密钥派生和层级密钥的码流处理芯片。握手认证challengeresponseDCAS前端验证终端安全芯片合法性的一种流程。由DCAS前端发出的用于握手认证的随机或非重复值。终端软件平台terminalsoftwareplatform运行于接收终端上,底层集成了各项硬件访问和驱动,向上层包括CA应用在内的各项终端应用提供API,并对上层应用提供按一定安全要求进行应用下载、启动和运行环境的软件平台。最终根密钥派生函数finalrootkeyderivationfunction用于生成根密钥的一种派生算法下列缩略语适用于本文件。API应用程序编程接口(ApplicationProgrammingInterface)ChipID芯片标识(ChipsetCPU中央处理器(CentralDCAS可下载条件接收系统(DownloadableConditionalAccessSystem)ECM授权控制信息(EntitlementControlNessage)ECMG授权控制信息发生器(EntitlementControlMessageGenerator)EMM授权管理信息(EntitlenentManagementMessage)3EMMG授权管理信息发生器(EntitlementManagementMessageGenerator)ESCK加密的安全芯片密钥(EncryptedSecureChipsetKey)MPEG运动图像专家组(MovingPictureExpertGroup)OTP一次性可编程(OneTimeProgrammable)SCK安全芯片密钥(SecureChipsetKey)SCKv安全芯片密钥厂商派生密钥(SecureChipsetKeyVendor)Seedv掩码密钥厂商派生密钥(SeedVendor)TDES三重数据加密标准(TripleDataEneryptionStandard)TEE可信执行环境(TrustedExecutTVOS智能电视操作系统(TelevisionOperatingSysten)TS传输流(TransportUDP用户数据报协议(UserDatagranProtocol)UUID通用唯一识别码(UniversallVendor_SysID条件接收供应商系统标识(VendorSystenIdentification)DCAS是一套包含安全数据管理平台的端到端的条件接收系统,具有典型条件接收系统的授权控制和管理功能,终端可以通过DCAS用户端软件的下载替换,实现对不同前端的适配切换DCAS由前端、终端和安全数据管理平台组成,包括7个功能模块:b)DCAS用户端软件;c)终端安全芯片;d)终端软件平台的DCAS应用程序接口;f)安全芯片密钥植入模块;g)可分离安全设备(本文件中暂不做定义)。b)T6安全机制6.1密钥机制6.1.1密钥模型5图2密钥模型6.1.2根密钥派生机制根密钥派生机制包括前端根密钥派生和终端根密钥派生,根密钥派生的详细流程见9.2,基本流程如下:a)前端根密钥派生:前端用终端安全芯片生产厂商和安全数据管理平台提供的必要数据和相关算法,在终端使用前为每个终端派生出对应安全芯片的根密钥:b)终端根密钥派生:终端利用DCAS用户端软件,为安全芯6.1.3层级密钥机制层级密钥机制包含大于2级的多级层级密钥功能和握手认证功能DCAS前端系统生成密钥对CW逐层加密,终端安全芯片接收密钥逐层解密还原CW,终端安全芯片的层级密钥具体技术要求应符合9.3.1的规定。握手认证功能是在双向系统中对终端安全芯片进行的合法性验证。终端安全芯片对接收到的认证数据采用层级密钥中的密钥进行处理并返回结果。DCAS前端对终端安全体技术要求应符合9.3.2的规定。6.1.4安全数据管理机制安全数据管理机制是DCAS密钥机制的核心组成派生中所需的信息交由安全数据管理平台、条件接收厂全性及中立性。6.1.5业务加解扰机制7安全芯片密钥植入模块负责将派生根密钥所需的ChipID、ESCK、BL_KEYO等必要信息植入终端安全芯片中,在安全芯片生产线上使用,其要求为:a)应具有足够的安全性和防攻击能力:b)应支持安全存储敏感数据:c)应支持ChipID、ESCK、BL.KEYO等必要信息的导入和导出。7.3DCAS用户端软件要求DCAS用户端软件是DCAS中可下载、可替换的终端软件模块,其要求为:a)应具有足够的安全性和防攻击能力:b)应实现和终端软件平台之间的应用程序接口,符合附录C的规定:c)DCAS用户端软件应通过和终端软件平台交互实现条件接收功能。DCAS用户端软件应符合GY/Z175-2001中7.2.1的要求,同时应支持以下功能。a)DCAS用户端软件下载:终端启动运行后,如果没有在本机的Flash内发现已有的DCAS用户端软件,终端应通过特定的指令或图形界面下载DCAS用户端软件。下载的形式应包含用户自愿下载和运营商强制下载。b)DCAS用户端软件注册:DCAS用户端软件应具有向DCAS前端系统注册的能力,同时应能报告DCAS用户端软件的运行状态并获取相关信息。c)DCAS握手认证:终端第一次安装和更换DCAS用户端软件时,DCAS用户端软件应支持使用握手认证。7.4终端安全芯片要求终端安全芯片是集成在接收终端中,实现层级密钥的码流处理芯片,其要求为。a)应支持通过派生方式生成根密钥。b)应支持层级密钥方式,保证CW在芯片内的安全传输。c)应包括码流处理模块。d)应包括解扰功能,符合GV/Z175—2001中的规定。e)不论终端安全芯片是否包含主CPU,主CPU都不应读写存储相关安全信息及密钥的寄存器。f)应包含OTP模块,并提供根密钥生成及安全数据管理平台根证书的存储功能。g)应支持代码签名验证功能h)应支持以下几种加密算法1)SM4分组密码算法(应符合GB/T32907—2016中的规定);2)SM2椭圆曲线公钥密码算法(应符合GB/T35275-2017中的规定);3)SM3密码杂凑算法(应符合GB/T32905—2016中的规定)。终端软件平台是在终端安全芯片硬件及驱动之上的公共软件模块,其要求为:a)应支持DCAS用户端软件的下载、更新和替换;b)应提供DCAS用户端软件所需的符合附录C规定的应用程序接口:c)应保证DCAS用户端软件下载、启动、运行过程中的完整性、可靠性和安全性;d)可同时支持运行两个以上DCAS用户端软件7.6.1安全要求业务b)生成SCKv功能:生成ChipID和SCKv文件,通过安全的方式送到条件接收厂商,用于生成根密钥,并管理各种参数和所有密钥:c)安全芯片密钥植入在芯片厂商生产线上保存安全数据管理平台发来的参数和密钥,根据各芯片生产线上的系统通讯,向安全芯片中写入参数和密钥。9终端安全芯片9.1安全芯片工作流程终端安全芯片功能框图见图7。终端安全芯片包含:OTP、根密钥派生、层级密钥和解扰及解码等模块。c)接收密文EK1(CW),使用K1解密该密文,并生成CW:d)CW用于解密加扰业务。EK3(K2)表示用密钥K3加密的K2。EK2(K1)表示用密钥K2加密的K1。EK1(CW/Key)表示用密钥K1加密的数据CW。K3是派生根密钥,长度为16字节。K2是用于解密K1的密钥,长度为16字节。K1是用于解密CW的密钥,长度为16字节。CW是用于解扰业务的密钥,长度为8字节或16字节。层级密钥使用SM4分组算法,应符合GB/T32907-2016中的规定,计算使用128bit,模式为ECB。终端安全芯片应支持握手认证机制,DCAS前端对终端安全芯片的合法性进行验证,确保授权下发到合法的终端。同时。握手认证机制也可以被用于其他一些安全功能。握手认证机制遵循以下流程:a)终端安全芯片应通过API驱动接口接收VendorSysID、EK3(K2)和Nonce:b)终端安全芯片应利用派生的K3解密EK3(K2),得到K2;c)终端安全芯片应通过K2解密K2生成DK2(K2),记为A;d)终端安全芯片应使用A解密nonce,生成DA(nonco);e)终端安全芯片可向前端提出DA(nonce);f)前端应对DA(nonce)做出响应。DK2(K2)表示用密钥K2解密K2的过程。A表示DK2(K2)的结果,长度为16字节。nonce表示握手认证信息,长度为16字节。DA(noncc)表示用A解密随机数nonce得到的结果。DCAS前端与终端安全芯片的握手认证流程应符合附录F的规定。OTP模块功能框图见图10OTP模块OTP模块图10OTP模块功能柜图OTP模块用于存储ChipID、ESCK和SCK还原函数等信息。SCK还原函数逻辑电路读取OTP模块中的ESCX,将ESCK还原成SCK,并将SCK提供给根密钥派生模块。SCK是派生根密钥所需的必要安全信息,SCK不能直接存储在OTP模块中,应符合以下要求:a)SCK是终端安全芯片密钥,每芯片唯一,长度为16字节,由安全数据管理平台生成:b)ESCK是加密后的SCK,由安全数据管理平台提供,存储于OTP模块。长度等于SCK长度:c)ChipID是终端安全芯片的公开标识符,包括了表明芯片厂商和型号的信息,以及芯片的一个全球唯一标识符,长度为8字节,由安全数据管理平台分配,ChipID数据格式见表2。表2ChiplD数据格式芯片厂商ID(ChipManufacturerID)芯片类型(ChipType)保留(Reserved)芯片厂商ID:芯片厂商的唯一标识,8bit。芯片类型:某一芯片厂商生产的芯片型号标识,由安全数据管理平台分配,12bit。保留位:12bit。芯片标识:某一芯片制造厂商生产的某一芯片类型芯片的序列标识,32bit。信任链安全机制A.1信任链基本原则在整个信任链机制中:a)每个软件组件都应被签名;b)签名应被添加到被签名的软件组件中;c)每个软件组件应对后续载入的软件组件进行验证,验证通过后才能启动运行;d)验证密钥应在实施验证的软件组件中,并且也被验证过;e)用于验证初始的软件组件的密钥应预置在终端安全芯片OTP中;f)下载的软件组件应被签名,并被验证后接受安装。终端软件执行过程中应始终遵循信任链机制。终端启动加载软件应防止非法软件被终端加载、下载及运行。CPU应执行一定的安全代码,检查在CPU外部Flash中已签名的启动加载软件。启动加载软件则应验证已签名的主终端软件A.2启动签名验证启动加载软件验证过程见图A.1.表A.1启动加载软件密钥说明白动加载软件 对于BLKEYO:安全数据管理平台应管理其内部BLKEYO的数据库,应负责分发BLKEYO至芯片厂商,用于嵌入指定的芯片组。对于BLKEY1:BL.KEY1所有者是运营商,运营商可委托安全数据管理平台进行密钥托管。无论何种BLKEY1持有情形,为了保证终端软件可以被BLKEY1正确签名,BLKEY1所有者应向安全数据管理平台进行密钥托管。安全数据管理平台应提供使用BL_KEYO签名BLKEY1的方法和过程。BL_KEY1所有者应向安全数据管理平台提供终端的具体信息,这些信息包括芯片型号、BLKEY1的公钥。如果安全数据管理平台批准该终端设备,则应将BLKEY1的公钥使用BLKEYO的私钥签名,并将签名结果连同B_KEY1的公钥一并返还给BLKEY1所有者,用于将BL_KEY1的公钥及签名结果置入终端设备。A.4启动加载软件安全要求启动加载软件安全要求主要针对启动过程和下载过程两个方面。芯片应满足信任链机制,所有由启动加载软件装入、启动、下载和更新的软件组件应被签名和验证。启动加载软件只负责验证平台软件,由平台软件下载的应用软件应由平台软件验证。对于启动过程:启动加载软件应在成功验证后续软件组件签名后,开始执行其代码。启动加载软件应在每一次后续软件组件重启后重新验证其签名。只有存储在终端Flash中的软件组件可以被执行。验证后的软件组件,如有需要可以进行解压缩然后运行。对于下载过程:启动加载软件负责验证下载的软件镜像签名,避免降级可升级软件组件。软件下载成功后,终端应立即执行一次完全重启。A.5启动加载软件和安全芯片的性能要求为了保证终端的用户体验,应采用安全芯片为SM3杂凑算法及SM2椭圆曲线算法提供硬件加速。对于TEE_KEYO:安全数据管理平台负责生成TEE_KEYO公私钥,分发TEE_KEYO公钥至芯片厂商,用于写入芯片OTP模块或内置于芯片ROM。写入芯片OTP时可写入TEE_KEYO公钥或其杂凑值。安全数据管理平台使用TEE_KEYO对TEE_KEY1进行签名。对于TEE_KEYI:TEE_KEY1公私钥根据运营需求可由安全数据管理平台、芯片厂商或运营商负责掌控,掌控方分发TEE_KEY1公钥至芯片厂商。掌控方使用TEEKEY1对TEEBoot和SecureOS进行签名对于TEE_KEY2:TEE_KEY2公私钥根据运营需求可由安全数据管理平台、芯片厂商或运营商负责掌控,掌控方分发TEE_KEY2公钥至SecureOS厂商,一般为芯片厂商,用于制作SecureOS镜像文件。掌控方使用TEE_KEY2对DCAS_TAPP镜像进行签名。DCAS_TAPP运行前完成以下校验内容。a)解密:DCAS_TAPP在终端上以加密形式存储,运行前进行解密,获得明文数据。b)签名校验:DCAS_TAPP镜像中,DCAS_TAPP的解密密钥、版本信息和明文数据都被TEE_KEY2签名,启动前进行校验。c)版本验证:终端具备安全存储区记录DCAS_TAPP版本信息,运行前比对镜像中版本信息,实现软件版本的防回滚:·当软件镜像中的版本号等于安全存储区中的版本号时,启动DCAS_TAPP;·当软件镜像中的版本号低于安全存储区中的版本号时,不启动DCAS_TAPP:·当软件镜像中的版本号高于安全存储区中的版本号时,启动DCAS_TAPP并更新安全存储区中的版本号;·当安全存储区中不存在软件镜像的版本号时,启动DCAS_TAPP并在安全存储区中写入版DCAS_TAPP的校验过程中提到的所有签名使用的算法包括SM2椭圆曲线算法、SM3杂凑算法和SW4分组密码算法。DCAS应用程序接口0.1Java应用程序接口DCAS用户端软件是一个运行于支持Java运行环境终端软件平台上的Xlet应用:运行已下载的DCAS用户端软件,可实现对业务解扰。DCASJAVA应用程序接口示意图见图C.1。Java.ioJ图C.1DCASJAVA应用程序接口示意图0.1.2应用程序接口类型CAS管理器API终端软件平台定义了CAS管理器(DCASManager),来实现管理针对业务解扰的请求。CAS管理器包括终端软件平台上层API、终端软件平台底层APT、扩展应用API和可分离安全设备APT。终端软件平台上层API:实现管理针对业务解扰的请求。一个DCAS用户端软件应用将CAS模块在CAS管理器中注册,用来接收网络中来自终端设备终端软件平台发出的解扰请求。DCAS用户端软件需要终端软件平台实现DCAS终端软件平台上层API。终端软件平台底层API:实现对于终端安全芯片访问所需的扩展API。扩展应用API:实现终端软件平台上的CAS管理器可以同Java应用进行最基本的CA信息传输。DCAS用户端软件需要终端软件平台为应用实现DCAS扩展API。可分离安全设备API:实现DCAS应用与可分离安全设备通讯。DCAS用户端软件可以使用Java网络API来访问网络资源,比如与前端CA服务器的互联。DCAS用户端软件需要终端软件平台根据J中的定义实现现有Java网络API。DCAS用户端软件使用MPEGSection过滤API来载入用于CA的MPEGSection。CA相关的数据可org.davic.mpeg.TransportStrean和.永久存储APIDCAS用户端软件可以使用现有的JavaAPI来访问终端存储,包括将数据保存在非易失性存储器DCAS用户端软件需要终端软件平台根据java.io的定义来实现永久存储APT。DCAS用户端软件可以在永久存储的文件系统中通过使用特定的目录来保存数据。终端软件平台需要提供适当的函数来读取该存储文件系统的根目录名称0.1.3应用接口调用时序CASModuleManager中的注册见图C.2,频道选择切换见图C.3.2:registerCASoduleCASlhodule,CASystenld,NetworkCAPriority,XletCo3:updateCASystenId(CASModule,CASysDCASAL,startDescranblloadCWnethodi图C.3频道选择切换0.1.4应用程序接口描述应用程序接口名称见表C.1.表0.1应用程序接口名称.cas.deta网络API包提供了DCAS终端软件平台上层API,TVOS应实现此包。包概要见表C.2。表0.2.cas.module用于表示请求解扰一组基本流的CASVo用于提取特定CA业务成分的信息,如EONPID和用DCAS应用通过本接口来接收带外CASPackets(如EMDCAS应用在每次DeseranblerContext中的解扰状态发生变化CAStatus,本状态用来指示解扰成功与否。如果所收到一个新的CAStatus,它应通过本段描DCAS应用需实现该接口,使用CAT中的CA描述符来过滤带内DCAS应用使用本方法注册用于获取CAT更新通知的类用来注册所有被DCAS应用实现的CAS用于确保只有被网络运营商技权的DCAS应用方可使本接口描述用于表示请求解扰一组基本流的CASModule对象。C..1startDescranbling 原型: publicvoidstartDescranbling(CASSessicocaSession,CAServiceComponentInfocasci)描述:由终端软件平台调用,请求CASModuIe解扰给定会话中的一组基本流。DCAS应用从CAS会话中可以得到相关NetworkInterface对象。从NetworkIniterface中,可以获取当前TransportStream对象,用于org.davic.mpeg.sectionsAPI进行ECMsection过滤参数:——Cassession:请求解扰操作的会话:返回:无。C..2updateDesc publievoidupdateDescranbling(CASSessfoncasSessfon,CASeryiceCorponentInfo[]casci)描述:终端软件平台调用本方法来更新CASModule中的解扰组件列表。根据请求,CASModule将开始解扰添加到数组的组件,并停止解扰移除的组件。对于更新后不变的成分,不发生任何变化。本方法很少被调用,通常在一个会话中由于PMT变化而发生。终端软件平台还可在CAS会话如会话类型发生变化时通过调用本方法通知CASModule。参数:——casSession:请求解扰操作的会话:——casci:CA业务组件信息数组,该数组可以用于获取相关ECMPID,以及用以DCAS装载CW返回:无。publievoidstoplescranbling(CASSessloncasSession)描述:终端软件平台调用本接口请求CASModule停止解扰给定会话中的所有组件。参数:casSession——请求解扰操作的会话。返回:无。publieStringgotCAInfo(intc描述:终端软件平台调用本接口获取CA信息。参数:——cndId:命令的唯一标识,可根据实际项目扩展——data:查询参数。.2.5setCAlnfo 原型: publieintsetCAInfo(intcdld,Stringdata)描述:终端软件平台调用本接口设置CA信息。参数:——cndId:命令的唯一标识,可根据实际项目扩展——data:CA信息数据。返回:设置成功返回0.本接口描述用于表示获取CA相关信息的通用接口。原型:publieStringgetCAInfo(ntcasId,intcndIdpublieStringgetCAInfo(ntcasId,intcndId描述:终端软件平台响应用户操作向DCAS应用获取CA信息。参数:—-cndId;命令的唯一标识,可根据实际项目扩展:——data:查询参数。publieitsetCAInfo(intcasId,IntcndId,S描述:终端软件平台响应用户操作设置CA信息给DCAS应用。参数:——cndId:命令的唯一标识,可根据实际项目扩展;——data:CA信息数据。返回:设置成功返回0。 原型: 描述:终端软件平台响应用户操作向DCAS管理器获取数据。参数:——cndId:命令的唯一标识,可根据实际项目扩展:返回:获取的数据 原型:publicintsetData(intcasId,intcndid,inttype.Stringdata)描述:终端软件平台响应用户操作设置CA信息给DCAS应用。—-cndId:命令的唯一标识,可根据实际项目扩展:——datarDCAS相关数据:——type:数据类型。返回:设置成功返回0。接口.本接口提供了CA描述符的信息,给定业务的PMT中的可能提供CA描述符。此外CAT中也会有CA描述符的出现。原型:参数:无。C..2ge 原型: publicintgetPid0描述:返回CA描述符中的PID(EOMPID或EMMPID)。参数:无。C..3getPriv 原型:publicbyte[getPrivateData0描述:返回CA描述符终端的私有数据数组参数:无。接口org.n本接口用于提取特定CA业务成分的信息,如ECMPID和用于装载CW的DescranblerContext。.2.1getDescramblerCo原型:publieDescranblerContextgotDescrarblerC描述:返回用于DCAS应用装载CW的DescranberContext对象,在PMT的组件循环中出现多次相同CA描述符(相同的ECMPID和私有数据)的情形下,应只存在唯一一个DescranblerContext。参数:无。原型:publiapubliaCADescriptorgetCADescriptorO描述:返回业务组件相关的CA描述符,CADescriptor实例由PMT中的参数:无。C..3getComponen描述:返回一个由PMT中描述的基本流数组,数组元素的顺序应同getComponentStreamType返回的数组元素顺序一致。.2.4getComponentStreanTy原型:publieint□getCompooentStreanT描述:返回PMT中的流类型数组,数组元素的顺序应同getComponentStreamPID返回的数组元素返回:流类型数组。C..5getServiceldent 原型: publicint□getServiceIdentifiersO描述:返回对象所关联的业务标识数组,业务标识的表现形式由具体的使用环境而定DCAS应用通过本接口来接收带外CASPackets(如EMs)。DCAS应用根据给定的CA系统标识通过CASModulelanager类提供的registerCasPacketListener方法注册本监听器。CA系统标识由参数casId表示。CAS包的接收依赖终端软件平台来实现。原型:publicvoidcasPacketArrived(intcasId,byte[]casPacketData,byte[]easPacketHpublicvoidcasPacketArrived(intcasId,byte[]casPacketData,byte[]easPacketH描述:DCAS应用通过已注册的监听器来获得CAS包。参数:——casId:CA系统标识:——casPacketData:CAS包数据:——casPacketHeader:依赖终端软件平台的CAS包头。返回:无。C.1.5.7接口org.ng本接口提供CAS会话相关信息。.2常量域——会话类型C..1TYPE_PRESENTATIONpublicstaticfinalintTYPE_PRESENTATION=-0x00000C..2TYPE_RECORDINGpublicstaticfinalintTYPERECORC..3TYPE_BUFFERINGpublicstaticfinalintTYPE_BUFFERINC..1 原型:publicintgetType0描述:返回本会话的操作类型参数:无。返回:操作类型,可以是本接口中定义的值之一或组合。例如本方法返回0x00000003,即类型(0x00000001)和(0x00000002)的组合。C..2getNetwpublie.tuning.NetworkInterfaceethetworklnterfaceONetworkInterface对象。使用NetworkInterface,DCAS应用先得到TransportStrean对象,用于调用org.davic.mpeg.sections应用接口进行EOMSection过滤。参数:无。返回:一个NetworkInterface对象。C..3getAssociatedSer原型:publiejava.lang.0bjectgetAssociatedServiceOpubliejava.lang.0bjectgetAssociatedServiceO描述:返回CAS会话相关的业务。参数:无。返回:一个Service对象。C..4getServi原型:publicjava.lang.0bjectgetServiceContextO描述:返回CAS会话相关的ServiceContext。参数:无。返回:一个ServiceContex接口org.ngb原型:描述:DCAS应用当调用CASModuleManager中的sendDescramblingEvent方法时使用本接口。DCAS应用在每次DescramblerContext中的解扰状态发生变化时发送CAStatus。本状态用来指示解扰成功与否。如果所解扰成分中任何一个发生解扰失败,本状态应汇报整个业务的解扰请求失败。当终端软件平台收到一个新的CAStatus,它应通过本段描述的CAS事件通知其他应用。具体应用接口在扩展应用接口部分说明。 原型: publiebooleanisSuccess0 描述:返回解扰请求的状态参数:无。返回:如果解扰成功返回true,解扰失败返回false。C..2getCAToken 原型: publicintgetCATokenO 描述:返回用于其他应用向DCAS应用查询网络相关信息的多数。参数:无。DCAS应用需实现该接口,使用CAT中的CA描述符来过滤带内EMM.DCAS应用需要通过CATNotifier接口中定义的registerCATListener注册本监听器。原型:publievoidcatlpdnte(CADeseriptordesc,.tuning,NetworkInterfaceni)NetworkInterface对象,获取现TransportStream对象。TransportStream对象可用org.davic.mpeg.sections应用程序接口来实现EMNsection过滤。终端软件平台将CAT更新通知到跟casId相匹配并且注册过的CAT监听器。如果CAT不再被过滤(在成功过滤后);或者CA描述符在CAT上被删除时,终端软件平台应当调用catUpdate(null,theNetworkInterface)。参数:——desc:TheCAdescriptor,DCAS应用通过CASDescriptor对象获取EINPID;返回:无。 原型: publieinterfaceCATNotifier描述:DCAS应用使用本方法注册用于获取CAT更新通知的监听器。DCAS应用使用CAT信息过滤带C..1registerCATListen 原型:publievoidregisterCATListener(imtcasId,CATListenercatListener)描述:DCAS应用调用本方法注册一个CATListener。参数;返回:无。原型:publievoidunregisterCATListener(CATListenercatListene描述:DCAS应用调用本方法取消注册某个CATListener。参数:catListener——需要取消注册的CATLi返回:无。1类.cas.module.CASModu用来注册所有被DCAS应用实现的CASModule。 原型:publicstaticCASWodulelanagergetInstanceOthrorsjava.lang.SecurityException描述:用于获取一个CASModuleManager单例。参数:无。异常处理:java.lang.SecurityException——当安全策略被强制启用,但调用方没有被赋予一个.ca.module.CASPernission,抛出此异常。原型:publievoidregisterCASModule(CASNoduleaNodule,intcaSystemId,intnetworKCAPriority,java.lang.Objectcontext)throwsjava.lang.IllegalArgunentException描述:用于DCAS应用在终端软件平台上注册一个CASModule。参数:——networkCAPriority:用于在超过一个CASModule在CASModuleManager中注册时使用,运营商可根据每个CASModule决定是否该参数可选,当优先级策略启用时,运营商需要为每个CASModule指定优先级。终端软件平台应选择已注册,具有最高优先级,并且所管理的caSystemId在PNT中有相应CA描述符的CASModule发出解扰请求。当优先级策略禁用时,DCAS应用应给该参数置零,CASModule的决定方法由终端软件平台自行实现;——context:希望进行注册CASModule的DCAS应用的Context,用于终端软件平台决定DCAS应用的身份。异常处理:java.lang.IllegalArgunentException——如果指定的CASModule实例已被注册,抛C..3update原型:publicvoidupdateCASystenld(CASModulealodule,intcaSystenld)throwsjava.lang.publicvoidupdateCASystenld(CASModulealodule,intcaSystenld)throwsjava.lang.IllegalArgunentExce描述:用于DCAS应用向应用软件平台更新某CASModule中的CASystemId参数:返回:无。异常处理:java.lang.IllegaLArgunentException——如果给定的CASModule实例尚未注册,抛出此异常。C..4sendDescrambl ——aChipController:CASModule所使用的缺省芯片控制器。异常处理:java.lang.IllegalArgunentException——如果给定的CASModule尚未注册,抛出此C..8setC 原型:publievoidsetCCIBits(CASWodulealodule,CASSessfoncasSession,IntceiBita)描述:用于设定终端对于本业务进行拷贝保护所需拷贝控制信息数据(CCIbits),控制信息数据比特信息的定义由终端软件平台指定并解释执行。参数:—-casSession:解扰请求会话:——cciBits:当前服务使用的控制信息数据值。返回:无。C..9setService原型:publievoidsetServieeListFilter(int描述:用于向终端软件平台提供用于业务列表过滤的参数,业务列表参数的具体含义由终端软件平台指定并执行。参数:filterData——业务列表过滤参数。C..10registerCASPack原型:publievoidregisterCASPacketListener(intcasId,CASPacketListenercasPacketListener)throava.lang.IllegalArgunentExc描述:用于DCAS应用注册一个CAPacketListener,CAPacketListener由终端软件平台调用,并向DCAS应用传送CAS数据包(如EMM)。CA系统标识由参数casID表示,CAS数据包的接收由终端软件平台各自实现。参数:异常处理:java.lang.IllegalArgunentException——如果给定casld已经注册过listener,抛C..11unregisterCASPacketL原型:publievoidunregisterCASPacketL.istener(CASPacketListenercasPacketListener)throwsjava.lang.IllegalArgunentException描述:用于DCAS应用取消CASPacketListener的注册。参数:casPacketListener——需要取消注册的listener.返回:无。异常处理:java.lang.IllegalArgunentException——如果给定CASPacketListener尚未注册,抛出此异常。C..12getDetachableSecurityDe原型:publieDetachableSecurityDevice[]getDetachableSecurityDevicesO描述:用于DCAS应用获得可分离设备(智能卡等)的对象句柄。返回:一个DetachableSecurityDevice对象。 描述:显示0SD信息,其参数的具体含义和具体项目相关。参数:——nsg:0SD信息内容,可包括文本外的描述信息;——flags:OSD类型指示。 原型: publievoidshoaFingerusg(CASWodulealodule,CASSessioncasSession,byte[]asg)描述:显示OSD信息,其参数的具体含义和具体项目相关参数:——casSession:请求解扰操作的会话——nsg:指纹消息,为null时取消指纹显示。返回:无。C..15receiveTuningAlert 原型:publievoidreceireTuningAlert(int[]serviceldentifiers,int□flags)描述:应急广播消息。在某些项目中应急广播的参数不是通过CA系统来下发的,在此类情况下不必实现此函数。参数:—-serviceIdentifiers:一组用于标示应急广播频道参数的数值,数值的含义由具体项目定义:——flags:可用于表示应急广播类型的参数。返回:无。C..16getCATN原型:publieCATNotifiergetCATXotificrO描述:被DCAS应用调用来获取CATnotifer对象,DCAS应用可以通过CATnotifier注册获取CAT更新通知的监听器。DCAS应用需要CAT信息来过滤带内EMM。参数:无。2类.cas.module.CASPermissionpublieclassCASPernissionextendsjava,seeurity.BasicPernission本机制用于确保只有被网络运营商授权的DCAS应用方可使用DCASAPI。原型:publiepublieCASPernission(Stringnanc)描述:创建一个新CASPermission.Name字符串现不使用,应设为空字符串。返回:无。 原型: publicCASPernission(Stringnane,Stringactions)描述:创建一个新CASPermission.Name字符串现不使用,应设为空字符串,actions字符串现不使用,应设为空(null)。本构造方法用于java.security.Policy对象实例化一个新Pernission参数:——name:CASPermission的名称:——actions:action返回:无。C.1.6.cas..cas.contr包提供了DCAS终端软件平台底层API,TVOS需实现此包。O.cas.contr publievoidloedCWClntVendorSvsID.CMKevcaKev.Key□levelKscheneld)throusCADrpublicvoiddocryptData(intVendor_SysID,CNKeycaKey,Koy[levelKoys,intschenoldneryptionId,byte[]sre,srcPos,byte[]dest,intdestPos,intlength)throwsCADriverExce publicKey(byte[]ralue,booleanencrypted)—-value:密钥的值:—-enerypted:密钥是否被加密的标志,true表示密钥已被加密,false表示.2.2getKeyV描述:返回密钥的值。publiebooleanisEnecrypte描述:返回true时,表示密钥是加密的,false表示密钥未加密。描述:表示解扰密钥或CM..2常量域publicstaticfinalintPC..2PARITpublicstaticfinalintPARITY_OpublicCWKey(byte[]value,booleanencrypted,描述:value密钥的值。真值表示密钥是加密的,假值表示密钥未加密。奇偶值,表明CW的奇偶原型:描述:返回CW的奇偶性。参数:无。原型:描述:与TEE中TA通信的接口。C.sendCommandT原型:publicbyte[]sendComandToTEE(byte[]teelpplUID,icomandld,byte[]inputData)t描述:DCAS应用选择对应的安全应用,并发送数据给安全应用。参数:——teeAppUUID:TAPP的UUID标——commandId:命令类型:——inputData:输入的数据。返回:返回的数据异常处理:CADriverException——如果跟TEE交互驱动过程中有通信错误,抛出此异常。C.1.7org.ngb.neO.cas.event包概要见表C.4。原型:publieinterfaceCASEventListen描述:本接口应被需要接收CAS事件的应用实现。CASevents提供了当前ServiceContext的CA publieroidreceiveCASEvent(0bjeetserviceCootext,intappIoraId,booleanisS描述:用于向注册了CAS事件监听器的应用传递CAS事件。参数:——serviceContext:CAS事件所属的句柄;——appId:用于标识发送事件的DCAS应用。这些标识可被应用通过IXC和DCAS应用通信。在没有DCAS应用可以解扰给定码流时,终端软件平台应使用值mull作为appId的值调用本方法,获取此种CAS事件通知的应用应根据自己的设计和实现来处理该情况——orgId:用于标识发送事件的DCAS应用。标识App所属组织;——isSuccess:用于指示解扰是否成功的布尔值;——caToken:通过IXC传回DCAS应用的令牌,应用可使用该令牌通过IXC向DCAS应用查询特定的网络信息。C..2receiveCAS publicwoidrecelveCASOSDErent(ObjetserviceContext,intappId,intorgld,byte[]msg,int[]flag)描述:用于向注册了CAS事件监听器的应用传递CAS的OSD事件。参数:——serviceContext:CAS事件所属的句柄:——appId:用于标识发送事件的DCAS应用。这些标识可被应用通过IXC和DCAS应用通信。在没有DCAS应用可以解扰给定码流时,终端软件平台应使用值null作为casAppId的值调用本方法,获取此种CAS事件通知的应用应根据设计和实现来处理该情况:——orgId:用于标识发送事件的DCAS应用。标识App所属组织:——Hsg:用于传递0SD的内容:——flag:用于标识0SD的类型。.2.3receiveCA publievoidreceiveCASFingerfvent(ObjectseryiceContext,intappld,intorgId,bytelasg)描述:用于向注册了CAS事件监听器的应用传递CAS的指纹事件。参数:—-serviceContext:CAS事件所属的句柄:——appId:用于标识发送事件的DCAS应用。这些标识可被应用通过IXC和DCAS应用通信。在没publicstaticfinalintTYPE_BUFF 原型: publieintgotType0描述:返回产生CASEvent的操作类型参数:无。返回:操作类型,可以是本接口中定义的值其中之一或组合。例如,本方法返回0x00000003,即类型(0x00000001)和(0x00000002)的组合。C..2getNetworkl 原型: public.tuning.NetworkInterfacegetNetworkInterfaceO描述:返回和CASEvent相关的NetworkInterface。参数:无。C..3getAssociatedService 原型:publiejava.lang.0bjectgetAssociatedService0描述:返回CASEvent相关联的业务。参数:无。.3.4getServipubliejava.lnng,0bjeettSericsContext⁰描述:返回同CASevent相关联的SeryiceContext.参数:无。 原型:publieclassCASErentlanager描述:DCAS应用使用CASEventManagerCASevents提供了当前的CAStatus和基本信息。publicstaticCASEventManngerget描述:用于取得一个CASEventMlanager实例单体。参数:无。C..2addList 描述:用于DCAS应用注册一个CASEventListener。该监听器用于传递所有的CAS事件。 描述:用于DCAS应用取消注册一个CASEv参数:aCASEventListeneC.1.8.cas.cas.detaO.cas.detaDetachableSecurityDov用于DCAs应用注册可分离安全设备的监听器,来获取DetachableSecurityDeviceLis
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年度打井工程地质勘探数据处理合同范本4篇
- 二零二五年度美容化妆品电商平台入驻与运营合同4篇
- 二零二五年度出租车租赁与驾驶员休息保障合同3篇
- 个人住宅租赁简明合同样本(2024版)
- 二零二五版美容院美容院美容项目营销策划与推广合同4篇
- 2025年度厂房场地租赁合同绿色建筑推广范本4篇
- 二零二五年度出境领队团队管理服务合同4篇
- 二零二五储煤场租赁合同(含煤炭价格波动风险管理)3篇
- 2025年度汽车租赁保险附加合同模板4篇
- 2025年版个人委托代缴社保与生育保险代缴合同模板4篇
- 阿里商旅整体差旅解决方案
- 浙江天台历史文化名城保护规划说明书
- 逻辑思维训练500题
- 2023年山东省威海市中考物理真题(附答案详解)
- 第八讲 发展全过程人民民主PPT习概论2023优化版教学课件
- 实体瘤疗效评价标准RECIST-1.1版中文
- 企业新春茶话会PPT模板
- GB/T 19185-2008交流线路带电作业安全距离计算方法
- DIC诊治新进展课件
- 公路工程施工现场安全检查手册
- 1汽轮机跳闸事故演练
评论
0/150
提交评论