基于FPGA的数字电视CAS系统设计
发布时间:2008/5/28 0:00:00 访问次数:461
谢君成
摘要:根据mpeg2协议和数字电视的条件接收原理,提出了一种只用条件接收表(cat)来传输授权管理信息(emm)和授权控制信息(ecm)的方法。该方法已经采用fpga芯片成功实现。
关键词:条件接收;数字电视;cat;emm;ecm
数字电视的影音效果、抗干扰性等特点是传统模拟电视所不能比拟的,是电视事业将来必然的发展趋势。为了保障并促进数字电视能健康快速的发展,我们必须保障数字电视运营商的利益。数字电视条件接收系统(简称cas)就是保障运营商利益的技术基石。具体来说cas是保证只有付费的用户才能正常收看节目的一系列技术。现成的许多cas都是国外的方案,随着我国数字电视普及的展开,cas国产化的要求就变得更加迫切了。
数字电视cas系统的原理
ts流的加扰和解扰
现在数字电视大多采用了mpeg2传送流(ts)的方式来进行广播。在广播之前要先将ts按照一定的方法进行加扰,使得没有授权的用户不能收到正确的信号数据。而授权用户在接收到加扰的ts码流之后,他们的接收机能按照一定的方式进行解扰,恢复出正确的数据信号。具体来说加扰就是用一个控制字(cw)来产生一系列的伪随机序列码,用它跟ts中的数据进行异或,打乱原来ts中正确的信号数据。接收机在解扰时再根据相同的cw来产生和加扰时一样的随机序列,并通过异或的方式将被加扰的数据正确地恢复回来。因此解扰的关键就是要获得加扰时用的cw值。
对cw的加密和解密
如图1所示,要使得授权用户获得加扰时的cw,就必须在ts流中加载cw进行传输。为了不让未授权的用户也获得正确的cw,因此在广播cw时会用sk(业务密钥)对其进行加密形成ecm(授权控制信息)。同时sk本身也会被pdk(用户分配密钥)加密形成emm(授权管理信息)之后,再通过ts流进行复用传输。由于pdk是授权用户机器本身的一个编号,它不需要通过ts在公用信道中传输。这样在公用传输信道里传输的ecm、emm都是加密了的。只有授权用户才有正确的pdk来解密出sk,也只有正确的sk才能解密出正确的cw。而且为了进一步加强信号的安全性,cw一般来说几秒钟就会变化一次,sk也会在一个时间段后产生变化,来避免破解者对密钥进行系统性的搜索。
图1
用fpga来实现cas
在用fpga设计cas时,必须要理解psi(程序特殊信息)。psi包含了要正常收看节目所需要的绝大部分信息,它由pat(节目关联表)、pmt(节目映射表)、cat(条件接收表)、nit(网络信息表)4个表组成。为了新开机的用户能及时收看节目,psi必须至少以20次/秒的频率不断发送。和条件接收有关的就只有cat和pmt。其中cat中的ca描述子包含了emm和ecm的信息。表一介绍了ca描述子的语法结构。
其中ca-system-id的最低位为零表示pri-vate-data-byte是emm数据,否则private-databyte是ecm数据。ca-pid是相应加扰节目的pmt的包识别号(pid)。本方法通过在ca描述子中加入pmt包的pid的方法,来实现多个ca描述子和多个加扰节目之间的一一映射关系。
cas发送端fpga的实现
cas发送端fpga实现的框图见图2所示。接收机序号,sk(业务密钥)和cw(控制字)发生器的初始值由pc机通过单片机来对fpga芯片进行设定。fpga芯片先检测ts流中pmt包的pid值,将这个值与emm、ecm一起形成cat包,等待前端的复用器将其插入ts流中。加扰器会每隔几秒钟就对cw进行更新,用新的cw来对ts加扰,同时cw发生器又将产生下一个cw,经过密钥sk对cw进行des加密后,形成新的ecm。再打包形成cat,等待前端插入(复用)ts流中。emm信息的形成与此类似。
图2
cas接收端fpga的实现
cas接收端fpga实现的框图如图3所示。pdk信息通过智能卡送给fpga芯片。fpga芯片先检测解复用之后的ts流中pmt包的pid值,将其存在寄存器里,然后继续寻找cat表,再找到ts中的cat时,将其中的ca描述子提取出来,再根据描述子中ca-system-id的值来决定是提取ecm信息还是emm信息,根据pdk和emm可以解密出sk,再通过和ecm信息解密出cw。具体是使用当前的cw还是使用下一个cw来解扰,由解扰器根据ts包头信息来决定。
图3
结束语
本文介绍了数字电视条件接收的基本原理,并提出了一种只用cat表来传送emm、ecm信息的方法。该方法不但可以对单节目流进行加扰,还能支持多节目流加扰后的复用传输。而且相比用cat、pmt分别传输emm和ecm的方法,该电路更加简单,用fpga也更容易实现。
关键词:条件接收;数字电视;cat;emm;ecm
数字电视的影音效果、抗干扰性等特点是传统模拟电视所不能比拟的,是电视事业将来必然的发展趋势。为了保障并促进数字电视能健康快速的发展,我们必须保障数字电视运营商的利益。数字电视条件接收系统(简称cas)就是保障运营商利益的技术基石。具体来说cas是保证只有付费的用户才能正常收看节目的一系列技术。现成的许多cas都是国外的方案,随着我国数字电视普及的展开,cas国产化的要求就变得更加迫切了。
数字电视cas系统的原理
ts流的加扰和解扰
现在数字电视大多采用了mpeg2传送流(ts)的方式来进行广播。在广播之前要先将ts按照一定的方法进行加扰,使得没有授权的用户不能收到正确的信号数据。而授权用户在接收到加扰的ts码流之后,他们的接收机能按照一定的方式进行解扰,恢复出正确的数据信号。具体来说加扰就是用一个控制字(cw)来产生一系列的伪随机序列码,用它跟ts中的数据进行异或,打乱原来ts中正确的信号数据。接收机在解扰时再根据相同的cw来产生和加扰时一样的随机序列,并通过异或的方式将被加扰的数据正确地恢复回来。因此解扰的关键就是要获得加扰时用的cw值。
对cw的加密和解密
如图1所示,要使得授权用户获得加扰时的cw,就必须在ts流中加载cw进行传输。为了不让未授权的用户也获得正确的cw,因此在广播cw时会用sk(业务密钥)对其进行加密形成ecm(授权控制信息)。同时sk本身也会被pdk(用户分配密钥)加密形成emm(授权管理信息)之后,再通过ts流进行复用传输。由于pdk是授权用户机器本身的一个编号,它不需要通过ts在公用信道中传输。这样在公用传输信道里传输的ecm、emm都是加密了的。只有授权用户才有正确的pdk来解密出sk,也只有正确的sk才能解密出正确的cw。而且为了进一步加强信号的安全性,cw一般来说几秒钟就会变化一次,sk也会在一个时间段后产生变化,来避免破解者对密钥进行系统性的搜索。
图1
用fpga来实现cas
在用fpga设计cas时,必须要理解psi(程序特殊信息)。psi包含了要正常收看节目所需要的绝大部分信息,它由pat(节目关联表)、pmt(节目映射表)、cat(条件接收表)、nit(网络信息表)4个表组成。为了新开机的用户能及时收看节目,psi必须至少以20次/秒的频率不断发送。和条件接收有关的就只有cat和pmt。其中cat中的ca描述子包含了emm和ecm的信息。表一介绍了ca描述子的语法结构。
其中ca-system-id的最低位为零表示pri-vate-data-byte是emm数据,否则private-databyte是ecm数据。ca-pid是相应加扰节目的pmt的包识别号(pid)。本方法通过在ca描述子中加入pmt包的pid的方法,来实现多个ca描述子和多个加扰节目之间的一一映射关系。
cas发送端fpga的实现
cas发送端fpga实现的框图见图2所示。接收机序号,sk(业务密钥)和cw(控制字)发生器的初始值由pc机通过单片机来对fpga芯片进行设定。fpga芯片先检测ts流中pmt包的pid值,将这个值与emm、ecm一起形成cat包,等待前端的复用器将其插入ts流中。加扰器会每隔几秒钟就对cw进行更新,用新的cw来对ts加扰,同时cw发生器又将产生下一个cw,经过密钥sk对cw进行des加密后,形成新的ecm。再打包形成cat,等待前端插入(复用)ts流中。emm信息的形成与此类似。
图2
cas接收端fpga的实现
cas接收端fpga实现的框图如图3所示。pdk信息通过智能卡送给fpga芯片。fpga芯片先检测解复用之后的ts流中pmt包的pid值,将其存在寄存器里,然后继续寻找cat表,再找到ts中的cat时,将其中的ca描述子提取出来,再根据描述子中ca-system-id的值来决定是提取ecm信息还是emm信息,根据pdk和emm可以解密出sk,再通过和ecm信息解密出cw。具体是使用当前的cw还是使用下一个cw来解扰,由解扰器根据ts包头信息来决定。
图3
结束语
本文介绍了数字电视条件接收的基本原理,并提出了一种只用cat表来传送emm、ecm信息的方法。该方法不但可以对单节目流进行加扰,还能支持多节目流加扰后的复用传输。而且相比用cat、pmt分别传输emm和ecm的方法,该电路更加简单,用fpga也更容易实现。
谢君成
摘要:根据mpeg2协议和数字电视的条件接收原理,提出了一种只用条件接收表(cat)来传输授权管理信息(emm)和授权控制信息(ecm)的方法。该方法已经采用fpga芯片成功实现。
关键词:条件接收;数字电视;cat;emm;ecm
数字电视的影音效果、抗干扰性等特点是传统模拟电视所不能比拟的,是电视事业将来必然的发展趋势。为了保障并促进数字电视能健康快速的发展,我们必须保障数字电视运营商的利益。数字电视条件接收系统(简称cas)就是保障运营商利益的技术基石。具体来说cas是保证只有付费的用户才能正常收看节目的一系列技术。现成的许多cas都是国外的方案,随着我国数字电视普及的展开,cas国产化的要求就变得更加迫切了。
数字电视cas系统的原理
ts流的加扰和解扰
现在数字电视大多采用了mpeg2传送流(ts)的方式来进行广播。在广播之前要先将ts按照一定的方法进行加扰,使得没有授权的用户不能收到正确的信号数据。而授权用户在接收到加扰的ts码流之后,他们的接收机能按照一定的方式进行解扰,恢复出正确的数据信号。具体来说加扰就是用一个控制字(cw)来产生一系列的伪随机序列码,用它跟ts中的数据进行异或,打乱原来ts中正确的信号数据。接收机在解扰时再根据相同的cw来产生和加扰时一样的随机序列,并通过异或的方式将被加扰的数据正确地恢复回来。因此解扰的关键就是要获得加扰时用的cw值。
对cw的加密和解密
如图1所示,要使得授权用户获得加扰时的cw,就必须在ts流中加载cw进行传输。为了不让未授权的用户也获得正确的cw,因此在广播cw时会用sk(业务密钥)对其进行加密形成ecm(授权控制信息)。同时sk本身也会被pdk(用户分配密钥)加密形成emm(授权管理信息)之后,再通过ts流进行复用传输。由于pdk是授权用户机器本身的一个编号,它不需要通过ts在公用信道中传输。这样在公用传输信道里传输的ecm、emm都是加密了的。只有授权用户才有正确的pdk来解密出sk,也只有正确的sk才能解密出正确的cw。而且为了进一步加强信号的安全性,cw一般来说几秒钟就会变化一次,sk也会在一个时间段后产生变化,来避免破解者对密钥进行系统性的搜索。
图1
用fpga来实现cas
在用fpga设计cas时,必须要理解psi(程序特殊信息)。psi包含了要正常收看节目所需要的绝大部分信息,它由pat(节目关联表)、pmt(节目映射表)、cat(条件接收表)、nit(网络信息表)4个表组成。为了新开机的用户能及时收看节目,psi必须至少以20次/秒的频率不断发送。和条件接收有关的就只有cat和pmt。其中cat中的ca描述子包含了emm和ecm的信息。表一介绍了ca描述子的语法结构。
其中ca-system-id的最低位为零表示pri-vate-data-byte是emm数据,否则private-databyte是ecm数据。ca-pid是相应加扰节目的pmt的包识别号(pid)。本方法通过在ca描述子中加入pmt包的pid的方法,来实现多个ca描述子和多个加扰节目之间的一一映射关系。
cas发送端fpga的实现
cas发送端fpga实现的框图见图2所示。接收机序号,sk(业务密钥)和cw(控制字)发生器的初始值由pc机通过单片机来对fpga芯片进行设定。fpga芯片先检测ts流中pmt包的pid值,将这个值与emm、ecm一起形成cat包,等待前端的复用器将其插入ts流中。加扰器会每隔几秒钟就对cw进行更新,用新的cw来对ts加扰,同时cw发生器又将产生下一个cw,经过密钥sk对cw进行des加密后,形成新的ecm。再打包形成cat,等待前端插入(复用)ts流中。emm信息的形成与此类似。
图2
cas接收端fpga的实现
cas接收端fpga实现的框图如图3所示。pdk信息通过智能卡送给fpga芯片。fpga芯片先检测解复用之后的ts流中pmt包的pid值,将其存在寄存器里,然后继续寻找cat表,再找到ts中的cat时,将其中的ca描述子提取出来,再根据描述子中ca-system-id的值来决定是提取ecm信息还是emm信息,根据pdk和emm可以解密出sk,再通过和ecm信息解密出cw。具体是使用当前的cw还是使用下一个cw来解扰,由解扰器根据ts包头信息来决定。
图3
结束语
本文介绍了数字电视条件接收的基本原理,并提出了一种只用cat表来传送emm、ecm信息的方法。该方法不但可以对单节目流进行加扰,还能支持多节目流加扰后的复用传输。而且相比用cat、pmt分别传输emm和ecm的方法,该电路更加简单,用fpga也更容易实现。
关键词:条件接收;数字电视;cat;emm;ecm
数字电视的影音效果、抗干扰性等特点是传统模拟电视所不能比拟的,是电视事业将来必然的发展趋势。为了保障并促进数字电视能健康快速的发展,我们必须保障数字电视运营商的利益。数字电视条件接收系统(简称cas)就是保障运营商利益的技术基石。具体来说cas是保证只有付费的用户才能正常收看节目的一系列技术。现成的许多cas都是国外的方案,随着我国数字电视普及的展开,cas国产化的要求就变得更加迫切了。
数字电视cas系统的原理
ts流的加扰和解扰
现在数字电视大多采用了mpeg2传送流(ts)的方式来进行广播。在广播之前要先将ts按照一定的方法进行加扰,使得没有授权的用户不能收到正确的信号数据。而授权用户在接收到加扰的ts码流之后,他们的接收机能按照一定的方式进行解扰,恢复出正确的数据信号。具体来说加扰就是用一个控制字(cw)来产生一系列的伪随机序列码,用它跟ts中的数据进行异或,打乱原来ts中正确的信号数据。接收机在解扰时再根据相同的cw来产生和加扰时一样的随机序列,并通过异或的方式将被加扰的数据正确地恢复回来。因此解扰的关键就是要获得加扰时用的cw值。
对cw的加密和解密
如图1所示,要使得授权用户获得加扰时的cw,就必须在ts流中加载cw进行传输。为了不让未授权的用户也获得正确的cw,因此在广播cw时会用sk(业务密钥)对其进行加密形成ecm(授权控制信息)。同时sk本身也会被pdk(用户分配密钥)加密形成emm(授权管理信息)之后,再通过ts流进行复用传输。由于pdk是授权用户机器本身的一个编号,它不需要通过ts在公用信道中传输。这样在公用传输信道里传输的ecm、emm都是加密了的。只有授权用户才有正确的pdk来解密出sk,也只有正确的sk才能解密出正确的cw。而且为了进一步加强信号的安全性,cw一般来说几秒钟就会变化一次,sk也会在一个时间段后产生变化,来避免破解者对密钥进行系统性的搜索。
图1
用fpga来实现cas
在用fpga设计cas时,必须要理解psi(程序特殊信息)。psi包含了要正常收看节目所需要的绝大部分信息,它由pat(节目关联表)、pmt(节目映射表)、cat(条件接收表)、nit(网络信息表)4个表组成。为了新开机的用户能及时收看节目,psi必须至少以20次/秒的频率不断发送。和条件接收有关的就只有cat和pmt。其中cat中的ca描述子包含了emm和ecm的信息。表一介绍了ca描述子的语法结构。
其中ca-system-id的最低位为零表示pri-vate-data-byte是emm数据,否则private-databyte是ecm数据。ca-pid是相应加扰节目的pmt的包识别号(pid)。本方法通过在ca描述子中加入pmt包的pid的方法,来实现多个ca描述子和多个加扰节目之间的一一映射关系。
cas发送端fpga的实现
cas发送端fpga实现的框图见图2所示。接收机序号,sk(业务密钥)和cw(控制字)发生器的初始值由pc机通过单片机来对fpga芯片进行设定。fpga芯片先检测ts流中pmt包的pid值,将这个值与emm、ecm一起形成cat包,等待前端的复用器将其插入ts流中。加扰器会每隔几秒钟就对cw进行更新,用新的cw来对ts加扰,同时cw发生器又将产生下一个cw,经过密钥sk对cw进行des加密后,形成新的ecm。再打包形成cat,等待前端插入(复用)ts流中。emm信息的形成与此类似。
图2
cas接收端fpga的实现
cas接收端fpga实现的框图如图3所示。pdk信息通过智能卡送给fpga芯片。fpga芯片先检测解复用之后的ts流中pmt包的pid值,将其存在寄存器里,然后继续寻找cat表,再找到ts中的cat时,将其中的ca描述子提取出来,再根据描述子中ca-system-id的值来决定是提取ecm信息还是emm信息,根据pdk和emm可以解密出sk,再通过和ecm信息解密出cw。具体是使用当前的cw还是使用下一个cw来解扰,由解扰器根据ts包头信息来决定。
图3
结束语
本文介绍了数字电视条件接收的基本原理,并提出了一种只用cat表来传送emm、ecm信息的方法。该方法不但可以对单节目流进行加扰,还能支持多节目流加扰后的复用传输。而且相比用cat、pmt分别传输emm和ecm的方法,该电路更加简单,用fpga也更容易实现。