一种无卡终端涉密信息的安全机制及安全装置制造方法

文档序号:7822968阅读:181来源:国知局
一种无卡终端涉密信息的安全机制及安全装置制造方法
【专利摘要】本发明涉及信息安全领域,公开了一种无卡终端涉密信息的安全机制及安全装置。所述无卡终端涉密信息的安全机制及安全装置,在涉密数据加密存储时,将涉密数据和用于加密涉密数据的数据保护密钥均予以加密,然后将加密的数据保护密钥单元随机插入到加密的涉密数据单元串中;在涉密数据加载使用时,从外部存储器中读取加密的数据保护密钥单元和加密的涉密数据单元串,经过解密后得到涉密数据,然后将涉密数据和伪装数据一起存放在位于内部存储器内的环形缓冲区中的随机位置。通过前述方式,大大提高了黑客非法获取和篡改无卡终端涉密信息的难度,使得低成本的、由前端和无卡终端构成的单向通信系统能够安全的投入实用。
【专利说明】一种无卡终端涉密信息的安全机制及安全装置

【技术领域】
[0001]本发明涉及信息安全领域,具体地,涉及一种无卡终端涉密信息的安全机制及安全装置。

【背景技术】
[0002]信息安全是数字信息传输系统中一个重要的技术问题,它要求单播、组播或广播的信息只能够被目标接收端接收和使用,为此通常采用对传递信息进行加密和解密的方式确保发送端和接收端之间信息交互安全。对于接收终端而言,除了具备对信息进行解密的功能外,还需要保存一些敏感的涉密信息来进行认证、授权和解密等进程,比如:解密信息用的内容保护密钥;终端的授权数据(指明终端允许接收哪些信息);终端账户余额,终端身份认证数据等。对于传输数字电视、数字音频、应急广播等信息的广播式系统而言,其接收终端通常都配备一个智能卡,上述涉密数据均保存于智能卡的NVRAM (Non-VolatileRandom Access Memory,非易失性随机访问存储器)中,信息的安全性由智能卡的安全性来保证。对于前端和终端具备双向通信信道的系统而言,可以通过数字证书,以及终端和前端之间的互动操作(比如要求输入验证码、或前端提供的短信密码)等方式,保证信息传输的安全。对于前端和无卡终端的单向通信系统(单向通信系统用于大量的单向广播场景,无需智能卡,成本低)而言,涉密数据只能保存于无卡终端的外部存储器中,在需要使用时由终端的应用系统将涉密数据加载到内部存储器中以备使用,而在需要更改涉密数据时,先在内部存储器中更改涉密数据,然后将更改后的涉密数据保存在外部存储器中。
[0003]在所述单向通信系统中,目前无卡终端涉密数据的安全机制过于简单,很容易被黑客所述获取,例如通过外部工具从外部存储器中读取涉密数据,分析数据结构,获取用于解密信息的内容保护密钥,从而采用内容保护密钥非法的解密前端传来的信息;或者通过外部工具,解析并非法更改外部存储器中的涉密数据的用户授权部分,从而使终端非法的获得授权;再或者通过特殊的调试工具,获取内部存储器中涉密数据的存储位置,分析数据结构,先更改涉密数据的内容,然后利用原本合法的内嵌程序更改外部存储器中的涉密数据内容,例如更改用户授权部分,使终端获取非法授权。因此当前无卡终端涉密数据存在巨大的安全隐患,需要采用一种新的安全机制予以保护。
[0004]针对上述目前无卡终端涉密信息的安全问题,需要提供一种新的安全机制及安全装置,在外部存储器中对涉密数据进行加密存储,在内部存储器中对涉密数据的存储位置进行随机化处理,并添加伪装数据,以此增加外部工具读取涉密数据的难度,同时还增加黑客分析和篡改涉密数据的难度,最终提高无卡终端涉密信息的安全性。


【发明内容】

[0005]针对前述无卡终端涉密信息的安全问题,本发明提供了一种无卡终端涉密信息的安全机制及安全装置,能够对无卡终端中的涉密数据进行组织、加密、保存,以及解析、力口载、使用等处理,大幅度提高了黑客非法获取或篡改涉密数据内容的难度,使得低成本的、由前端和无卡终端构成的单向通信系统能够安全的投入实用。
[0006]本发明采用的技术方案,一方面提供了一种无卡终端涉密信息的安全机制,其特征在于,包括:在涉密数据存储时,从第二存储器中获取涉密数据,将涉密数据拆分为Μ个数据单元,使用数据保护密钥对Μ个数据单元加密,生成Μ个加密数据单元,使用根密钥对数据保护密钥加密,生成单个加密数据保护密钥单元,产生密钥偏移随机数,根据密钥偏移随机数将单个加密数据保护密钥单元插入到Μ个加密数据单元中,生成存储单元串,将存储单元串存储在第一存储器中;在涉密数据使用时,从第一存储器中读取存储单元串,获取Μ个加密数据单元和单个加密数据保护密钥单元;对Μ个加密数据单元和单个加密数据保护密钥单元解密,获取Μ个数据单元;将Μ个数据单元组合成涉密数据,产生伪装数据和数据偏移随机数,根据数据偏移随机数将涉密数据和伪装数据加载在位于第二存储器内的环形缓存区中,然后使用环形缓存区中的涉密数据。
[0007]具体的,所述根据密钥偏移随机数将单个加密数据保护密钥单元插入到Μ个加密数据单元中,生成存储单元串的步骤还包括:所述存储单元串中的首个单元或最后一个单元为密钥偏移地址单元,密钥偏移地址单元包含所述密钥偏移随机数;所述存储单元串中加密数据保护密钥单元的存储地址为首个加密数据单元的存储地址与密钥偏移随机数之和。
[0008]具体的,所述根据数据偏移随机数将涉密数据和伪装数据加载在位于第二存储器内的环形缓存区中的步骤还包括:所述环形缓存区首尾相连,包括首部区、涉密数据区和伪装数据区,首部区包含数据偏移随机数,涉密数据区包含涉密数据,伪装数据区包含伪装数据,所述涉密数据区的首存储地址为环形缓存区的首存储地址与数据偏移随机数之和。
[0009]具体的,所述无卡终端涉密信息的安全机制还包括:在涉密数据更新时,更新环形缓存区中的涉密数据;产生新伪装数据和新数据偏移随机数,根据新数据偏移随机数将更新后的涉密数据和新伪装数据加载在位于第二存储器内的环形缓存区中;所述环形缓存区首尾相连,包括首部区、涉密数据区和伪装数据区,首部区包含新数据偏移随机数,涉密数据区包含更新后的涉密数据,伪装数据区包含新伪装数据,所述涉密数据区的首存储地址为环形缓存区的首存储地址与新数据偏移随机数之和。
[0010]本发明采用的技术方案,另一方面提供了一种无卡终端涉密信息的安全装置,其特征在于,包括:加密存储器,用于在涉密数据存储时,从第二存储器中获取涉密数据,将涉密数据拆分为Μ个数据单元,使用数据保护密钥对Μ个数据单元加密,生成Μ个加密数据单元,使用根密钥对数据保护密钥加密,生成单个加密数据保护密钥单元,产生密钥偏移随机数,根据密钥偏移随机数将单个加密数据保护密钥单元插入到Μ个加密数据单元中,生成存储单元串,将存储单元串送至第一存储器;第一存储器,用于存储所述存储单元串;加载使用器,用于从第一存储器中读取存储单元串,获取Μ个加密数据单元和单个加密数据保护密钥单元,并将Μ个加密数据单元和单个加密数据保护密钥单元送至安全处理器解密,还用于接收安全处理器解密的Μ个数据单元,产生伪装数据和数据偏移随机数,根据数据偏移随机数将涉密数据和伪装数据加载在位于第二存储器内的环形缓存区中,然后使用环形缓存区中的涉密数据;第二存储器,用于提供所述环形缓存区;安全处理器,用于对Μ个加密数据单元和单个加密数据保护密钥单元解密,获取Μ个数据单元,并将Μ个数据单元送至加载使用器。
[0011]具体的,所述加密存储器包括:拆分模块,用于将涉密数据拆分为Μ个长度相同的数据单元,所述数据单元的长度为16字节的Ν倍;数据保护密钥产生模块,用于产生数据保护密钥,所述数据保护密钥为随机数,长度为16字节的Ν倍;数据加密模块,用于使用数据保护密钥对Μ个数据单元加密,生成Μ个加密数据单元;根密钥产生模块,用于从安全处理器中读取芯片序列号,运行密钥生成算法产生根密钥;密钥加密模块,用于使用根密钥对数据保护密钥加密,生成单个加密数据保护密钥单元;密钥偏移随机数产生模块,用于产生密钥偏移随机数,所述密钥偏移随机数不小于1且不大于Μ ;组装模块,用于根据密钥偏移随机数将单个加密数据保护密钥单元插入到Μ个加密数据单元中,生成存储单元串,所述存储单元串中,首个单元或最后一个单元为密钥偏移地址单元,密钥偏移地址单元包含所述密钥偏移随机数,加密数据保护密钥单元的存储地址为首个加密数据单元的存储地址与密钥偏移随机数之和。
[0012]具体的,所述加载使用器包括:解析模块,用于从第一存储器中读取存储单元串,解析存储单元串中的首个单元或最后一个单元,获取密钥偏移随机数,根据密钥偏移随机数计算加密数据保护密钥单元的存储地址,获取单个加密数据保护密钥单元和Μ个加密数据单元;组合模块,用于将Μ个数据单元组合成涉密数据;数据偏移随机数产生模块,用于产生数据偏移随机数,所述数据偏移随机数小于环形缓存区中存储地址的个数;伪装数据产生模块,用于产生伪装数据,所述伪装数据的长度不大于环形缓存区的长度减去涉密数据的长度和数据偏移随机数的长度;加载模块,用于根据数据偏移随机数将涉密数据和伪装数据加载在位于第二存储器内的环形缓存区中,所述环形缓存区首尾相连,包括首部区、涉密数据区和伪装数据区,首部区包含数据偏移随机数,涉密数据区包含涉密数据,伪装数据区包含伪装数据,所述涉密数据区的首存储地址为环形缓存区的首存储地址与数据偏移随机数之和;应用模块,用于读取第二存储器中环形缓存区的首部区,获取数据偏移随机数,根据数据偏移随机数计算涉密数据区的首个存储地址,读取环形缓存区的涉密数据区,获取涉密数据,并将涉密数据映射为具体的应用参数。
[0013]具体的,所述安全处理器包括:存储模块,用于存储芯片序列号和根密钥;密钥解密模块,用于从存储模块中读取根密钥,并使用根密钥对单个加密数据保护密钥单元进行解密,获取数据保护密钥;数据解密模块,用于使用数据保护密钥对Μ个加密数据单元进行解密,获取Μ个数据单元。
[0014]综上,采用本发明所提供的无卡终端涉密信息的安全机制及安全装置,在涉密数据加密存储时,将涉密数据和用于加密涉密数据的数据保护密钥均予以加密,然后将加密的数据保护密钥单元随机插入到加密的涉密数据单元串中,从而提高了黑客利用外部工具从外部存储器中读取和分析涉密数据的难度;在涉密数据加载使用时,从外部存储器中读取加密的数据保护密钥单元和加密的涉密数据单元串,经过解密后得到涉密数据,然后将涉密数据和伪装数据一起存放在位于内部存储器内的环形缓冲区中的随机位置,从而增加了黑客利用外部工具从内部存储器中分析和篡改涉密数据的难度。通过前述安全的加密存储和安全加载使用的方式,大大提高了黑客非法获取和篡改无卡终端涉密信息的难度,使得低成本的、由前端和无卡终端构成的单向通信系统能够安全的投入实用。

【专利附图】

【附图说明】
[0015]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0016]图1是本发明的无卡终端涉密信息的安全机制流程图。
[0017]图2是本发明的无卡终端涉密信息的安全机制中存储单元串的示意图。
[0018]图3是本发明的无卡终端涉密信息的安全机制中环形缓存区的示意图。
[0019]图4是本发明的无卡终端涉密信息的安全装置结构图。

【具体实施方式】
[0020]以下将参照附图,通过实施例方式详细地描述本发明提供的无卡终端涉密信息的安全机制及安全装置。在此需要说明的是,对于这些实施例方式的说明用于帮助理解本发明,但并不构成对本发明的限定。
[0021]本文中描述的各种技术可以用于但不限于信息安全领域,还可以用于其它诸如信息存储、信息加密等类似领域。
[0022]本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,单独存在B,同时存在A和B三种情况,本文中术语“或/和”是描述另一种关联对象关系,表示可以存在两种关系,例如,A或/和B,可以表示:单独存在A,单独存在A和B两种情况,另外,本文中字符“/”,一般表示前后关联对象是一种“或”关系。
[0023]实施例一,图1示出了本实施例提供的无卡终端涉密信息的安全机制流程图。本实施例展示的无卡终端涉密信息的安全机制,其特征在于,包括如下步骤。
[0024]S101.在涉密数据存储时,从第二存储器中获取涉密数据,将涉密数据拆分为Μ个数据单元,使用数据保护密钥对Μ个数据单元加密,生成Μ个加密数据单元,使用根密钥对数据保护密钥加密,生成单个加密数据保护密钥单元,产生密钥偏移随机数,根据密钥偏移随机数将单个加密数据保护密钥单元插入到Μ个加密数据单元中,生成存储单元串,将存储单元串存储在第一存储器中。
[0025]S102.在涉密数据使用时,从第一存储器中读取存储单元串,获取Μ个加密数据单元和单个加密数据保护密钥单元。
[0026]S103.对Μ个加密数据单元和单个加密数据保护密钥单元解密,获取Μ个数据单
J Li ο
[0027]S104.将Μ个数据单元组合成涉密数据,产生伪装数据和数据偏移随机数,根据数据偏移随机数将涉密数据和伪装数据加载在位于第二存储器内的环形缓存区中,然后使用环形缓存区中的涉密数据。
[0028]在本实施例中,所述无卡终端为单向数字信息广播系统的接收终端,一方面接收广播系统前端发送的加密广播信息,例如加密的数字视频广播,数字音频广播,数字应急广播等信息;另一方面还接收广播系统前端发送的、针对终端的管理信息,例如针对终端的授权/除权指令(用来指定终端是否具备接收某类或者某个具体信息的权限)信息和终端账户管理(用来对某个终端进行开启或者停用,给终端下发内容保护密钥,或者为终端的账户进行充值等)指令信息。因此无卡终端也会维护和使用一些敏感的涉密数据,所述涉密数据包括:终端的基本状态参数(如终端是否开启、终端所属的运营商等);终端所拥有的授权的列表(终端只有在拥有对应授权的情况下,才能接收、解密和使用某类或者某个具体的广播信息内容);终端账户的余额(当某些信息内容需要从终端账户中即时扣费才能允许用户接收时,从该账户中扣除相应费用)等。所述涉密数据的具体结构和功能因不同网络类型而不同,但是无卡终端都可以采用本实施例所展示的安全机制对本地的涉密数据进行保存和使用。
[0029]本实施例中所展示的无卡终端涉密信息的安全机制,作为一个内嵌的涉密数据管理软件模块运行于无卡终端内部。所述涉密数据管理器用于保存、使用和更新本地的涉密数据,为信息安全保障系统中终端的核心部件。所述信息安全保障系统可以是但不限于条件接收系统(CAS, Condit1nal Access System)、数字版权管理系统(DRM, DigitalRights Management)或者纯粹的防窃取防篡改系统,其中条件接收系统和数字版权管理系统用于实现运营商对终端用户的收费,主要用于数字电视、数字音频广播或者数据广播网络中;防窃取防篡改系统用于保证只有合法的用户具有接收和解析信息的能力,一般用于数字应急广播系统中。
[0030]所述涉密信息的安全机制,在涉密数据加密存储时,将涉密数据和用于加密涉密数据的数据保护密钥均予以加密,然后将加密的数据保护密钥单元随机插入到加密的涉密数据单元串中,从而提高了黑客利用外部工具从外部存储器中读取和分析涉密数据的难度;在涉密数据加载使用时,从外部存储器中读取加密的数据保护密钥单元和加密的涉密数据单元串,经过解密后得到涉密数据,然后将涉密数据和伪装数据一起存放在位于内部存储器内的环形缓冲区中的随机位置,从而增加了黑客利用外部工具从内部存储器中分析和篡改涉密数据的难度。通过前述安全的加密存储和安全加载使用的方式,大大提高了黑客非法获取和篡改无卡终端涉密信息的难度,使得低成本的、由前端和无卡终端构成的单向通信系统能够安全的投入实用。
[0031]实施例二,图2示出了本实例的无卡终端涉密信息的安全机制中存储单元串的示意图,图3示出了本实施例的无卡终端涉密信息的安全机制中环形缓存区的示意图。本实施例作为实施例一的优化拓展,在实施例一的基础上对实施例二提供的无卡终端涉密信息的安全机制进行详细说明。
[0032]在步骤S101中,具体的,所述将涉密数据拆分为Μ个数据单元,使用数据保护密钥对Μ个数据单元加密,生成Μ个加密数据单元的步骤还包括:将涉密数据拆分为Μ个长度相同的数据单元,所述数据单元的长度为16字节的Ν倍;产生数据保护密钥,所述数据保护密钥为随机数,长度为16字节的Ν倍。
[0033]在对涉密数据进行存储时,首先从第二存储器中获取涉密数据,所述第二存储器为无卡终端的内部存储器,可以是但不限于RAM (Ramdom Access Memory,易挥发性随机存取存储器),用于存储正在使用的涉密数据或者根据广播系统前端发送的指令更新的涉密数据。在获取涉密数据后,在本实施例的安全机制下,首先由拆分模块将内存中的涉密数据拆分为固定且相同大小的Μ个数据单元,Μ为自然数,每个数据单元的长度为16字节的Ν数倍,Ν为自然数,16字节为最小存储长度。如果拆分后最后一个数据单元不足所需固定长度,则采用填充字节的方式予以补齐,以便满足数据加密算法对待加密数据长度的要求。所述数据保护密钥由数据保护密钥产生模块产生,其数值为随机数,长度为N倍16字节,以作为对Μ个数据单元进行加密的会话密钥。
[0034]在使用数据保护密钥对Μ个数据单元加密过程中,以数据保护密钥为会话密钥,执行数据加密算法分别对拆分后的各个数据单元进行加密,所述数据加密算法可以是但不限于 AES (Advanced Encrypt1n Standard,高级加密标准)或 TEDS (Triple DigitalEncrypt1n Standard,三重数据加密标准)。在加密完成后,每个数据单元都对应一个加密数据单元,最后总共生成Μ个加密数据单元。
[0035]具体的,所述使用根密钥对数据保护密钥加密,生成单个加密数据保护密钥单元的步骤还包括:从安全处理器中读取芯片序列号,运行密钥生成算法产生根密钥。
[0036]所述芯片序列号为无卡终端具有的唯一、事先写入且不可更改的序列号,由信息安全服务商提供,其与根密钥具有对应的关系,所述对应关系由信息安全服务商提供的密钥生成算法决定,所述密钥生成算法在信息安全服务商的根密钥生成程序(由所述根密钥生成程序生成的根密钥由信息安全服务商在芯片制造过程中烧写到芯片内部),以及本实施例展示的安全机制软件模块中运行。所述芯片序列号存储在安全处理器中的存储模块,在对数据保护密钥加密时,需要从安全处理器中读取芯片序列号,再运行密钥生成算法产生根密钥,根密钥产生后,密钥生成算法进程立即删除,以免被黑客获取。在得到根密钥后,即以根密钥为会话密钥,执行数据加密算法分别对数据保护密钥进行加密,生成单个加密数据保护密钥单元,所述数据加密算法可以是但不限于AES (Advanced Encrypt1nStandard,高级加密标准)或 TEDS (Triple Digital Encrypt1n Standard,三重数据加密标准)。在加密完成后,立即删除根密钥和未加密的数据保护密钥。
[0037]具体的,根据密钥偏移随机数将单个加密数据保护密钥单元插入到Μ个加密数据单元中,生成存储单元串的步骤还包括:所述存储单元串中的首个单元或最后一个单元为密钥偏移地址单元,密钥偏移地址单元包含所述密钥偏移随机数;所述存储单元串中加密数据保护密钥单元的存储地址为首个加密数据单元的存储地址与密钥偏移随机数之和。
[0038]所述密钥偏移随机数由密钥偏移随机数产生模块生成,其数值不小于1且不大于Μ,以便将单个加密数据保护密钥单元插入到加密数据单元中。在存储单元串中的首个单元或最后一个单元为密钥偏移地址单元,密钥偏移地址单元包含所述密钥偏移随机数,同时所述存储单元串中加密数据保护密钥单元的存储地址为首个加密数据单元的存储地址与密钥偏移随机数之和,以便在涉密数据加载使用时,解析模块能够从存储单元串中提取加密数据保护密钥单元和Μ个加密数据单元。作为优化的,本实施例中,存储单元串中的首个单元为密钥偏移地址单元,如图2所示的存储单元串结构。
[0039]具体的,所述第一存储器为无卡终端的外部存储器,其可以是但不限于闪存或NVRAM ( Non-Volatile Random Access Memory,非易失性随机访问存储器),在将存储单元串存储在第一存储器后,立即删除所述有缓存数据,包括加密数据单元和加密数据保护密钥单元,以免黑客截取。
[0040]在步骤S102中,具体的,所述从第一存储器中读取存储单元串,获取Μ个加密数据单元和单个加密数据保护密钥单元的步骤还包括:解析存储单元串中的首个单元或最后一个单元,获取密钥偏移随机数;根据密钥偏移随机数计算加密数据保护密钥单元的存储地址,获取单个加密数据保护密钥单元和Μ个加密数据单元。
[0041]在涉密数据加载使用时,需要将涉密数据从外部存储器加载在内部存储器中以备使用,在本实施例展示的安全机制下,由解析模块从第一存储器中读取存储单元串,然后解析存储单元串中的首个单元或最后一个单元,获取密钥偏移随机数;然后根据密钥偏移随机数计算加密数据保护密钥单元的存储地址,从存储单元串中提取单个加密数据保护密钥单元和Μ个加密数据单元。作为优化的,在本实施例中,密钥偏移地址单元位于存储单元串的首个单元,解析模块准确获取密钥偏移随机数后,再根据获取的加密数据单元串的首个存储地址,从而能够计算出加密数据保护密钥单元的存储地址,先提取存储单元串中的单个加密数据保护密钥单元,再提取存储单元串中剩下的Μ个加密数据单元,最终得到单个加密数据保护密钥单元和Μ个加密数据单元。
[0042]在步骤S103中,具体的,所述对Μ个加密数据单元和单个加密数据保护密钥单元解密,获取Μ个数据单元的步骤还包括:将Μ个加密数据单元和单个加密数据保护密钥单元送给安全处理器;在安全处理器内部,以根密钥为会话密钥,运行密钥解密算法对单个加密数据保护密钥单元进行解密,获取数据保护密钥;
在安全处理器内部,使用数据保护密钥对Μ个加密数据单元进行解密,获取Μ个数据单元。所述数据解密算法可以是但不限于AES (Advanced Encrypt1n Standard,高级加密标准)或TEDS (Triple Digital Encrypt1n Standard,三重数据加密标准),且应与步骤S101中的加密算法对应。
[0043]所述安全处理器为无卡终端内部实现高级安全数据加解密功能的专有硬件,除存储有所述芯片序列号外,还有存储有至少一个根密钥,所述根密钥由信息安全服务商提供,并事先写入到安全处理器中的存储模块中,所述根密钥不可更改,用于对数据保护密钥进行加密或解密,同时根密钥还与芯片序列号具有对应关系,所述对应关系由信息安全服务商的密钥生成算法决定,密钥生成算法在信息安全服务商提供的根密钥生成程序(由所述根密钥生成程序生成的根密钥由信息安全服务商在芯片制造过程中烧写到芯片内部),以及本实施例所展示的无卡终端中的安全机制中运行。所述安全处理器支持高级安全数据解密以及多种基于硬件的加密和解密算法,用于解密被根密钥加密的加密数据保护密钥单元和被数据保护密钥加密的加密数据单元,在解密过程中,解密使用的根密钥和数据保护密钥均不能由外部程序访问,安全系数高。
[0044]在安全处理器内部,从内部的存储模块中读取根密钥,以根密钥为为会话密钥,运行密钥解密算法对单个加密数据保护密钥单元进行解密,获取数据保护密钥;然后使用获取的数据保护密钥对Μ个加密数据单元进行解密,最终获取Μ个数据单元。由于芯片序列号和根密钥为信息安全服务商事先保存在安全处理器的存储模块中,其中根密钥为信息安全服务商根据芯片序列号运行密钥生成算法所得,所述密钥生成算法与步骤S101中生成根密钥的密钥生成算法是一致的,因此在安全处理器内部,可以用存储模块中保存的根密钥对加密数据保护密钥密钥进行解密。在对单个加密数据保护密钥单元进行解密的过程中,所述密钥解密算法为与所述加密数据保护密钥单元加密时的加密算法对应的AES或TDES算法,故而能够得到透明的数据保护密钥。在使用获取的数据保护密钥对Μ个加密数据单元进行解密的过程中,由于解密算法与加密数据单元加密时的加密算法对于的AES或TDES算法,故而能够得到Μ个透明的数据单元。步骤103完全在安全处理器内部完成,根密钥和数据保护密钥都无法为黑客或外部程序获取,具有高度的安全可靠性。
[0045]在步骤S104中,具体的,在将Μ个数据单元组合成涉密数据过程中,由组合模块对Μ个数据单元进行拼装,最终恢复为完整的涉密数据。如果在组合过程中发现最末数据单元存在填充字节,则需要将所述填充字节予以删除。
[0046]具体的,所述根据数据偏移随机数将涉密数据和伪装数据加载在位于第二存储器内的环形缓存区中的步骤还包括:所述环形缓存区首尾相连,包括首部区、涉密数据区和伪装数据区,首部区包含数据偏移随机数,涉密数据区包含涉密数据,伪装数据区包含伪装数据,所述涉密数据区的首存储地址为环形缓存区的首存储地址与数据偏移随机数之和。
[0047]所述数据偏移随机数由数据偏移随机数产生模块生成,数据偏移随机数的数值小于环形缓存区中存储地址的个数。所述伪装数据由伪装数据产生模块生成,伪装数据的长度不大于环形缓存区的长度减去涉密数据的长度和数据偏移随机数的长度之和。所述环形缓存区位于第二存储器中,其结构如图3所示,为首尾相连结构,包括首部区、涉密数据区和伪装数据区,首部区包含数据偏移随机数,涉密数据区包含涉密数据,伪装数据区包含伪装数据。在环形缓存区中,所述涉密数据区的首存储地址为环形缓存区的首存储地址与数据偏移随机数之和,因此涉密数据区的存储地址是根据数据偏移随机数而随机变化的,同时环形缓存区的存储长度为涉密数据长度的3倍以上,使涉密数据淹没在伪装数据中,从而提高了黑客非法获取涉密数据的难度,确保了涉密数据在加载使用时的安全性。
[0048]具体的,所述然后使用环形缓存区中的涉密数据的步骤还包括:读取第二存储器中环形缓存区的首部区,获取数据偏移随机数;根据数据偏移随机数计算涉密数据区的首个存储地址,读取环形缓存区的涉密数据区,获取涉密数据,并将涉密数据映射为具体的应用参数。
[0049]在使用涉密数据的过程中,应用模块首先读取第二存储器中环形缓存区的首部区,获取数据偏移随机数,根据环形缓存区的首存储地址可计算出涉密数据区的首存储地址,从而应用模块可根据涉密数据区的首存储地址在环形缓存区中提取涉密数据,并将涉密数据映射为具体的应用参数,以传给其它程序使用。所述应用模块了解涉密数据各个部分的用途,调用者需要根据涉密数据的特定部分内容来完成信息处理时,应用模块还可以从环形缓存区中读取指定的涉密数据内容,然后将指定的涉密数据内容映射为调用者可使用的参数形式,最后传送给调用者使用。例如,调用者要求无卡终端表明是否具备某个指定信息包(例如广播的电视节目、文件等)的授权、当前终端账户的余额等。
[0050]在步骤S101至步骤S104之外,所述无卡终端涉密信息的安全机制还包括:在涉密数据更新时,更新环形缓存区中的涉密数据;产生新伪装数据和新数据偏移随机数,根据新数据偏移随机数将更新后的涉密数据和新伪装数据加载在位于第二存储器内的环形缓存区中;所述环形缓存区首尾相连,包括首部区、涉密数据区和伪装数据区,首部区包含新数据偏移随机数,涉密数据区包含更新后的涉密数据,伪装数据区包含新伪装数据,所述涉密数据区的首存储地址为环形缓存区的首存储地址与新数据偏移随机数之和。
[0051]无卡终端的涉密信息可以根据需要进行合法修改,在接收到修改指令(比如由广播系统前端发来的终端授权更新指令)和修改内容后,首先需要更新内部存储器缓存的涉密数据,然后重新加载更新后的涉密数据,最后重新按照步骤S101加密存储修改后的涉密数据。在重新加载更新后的涉密数据的过程中,由数据偏移随机数产生模块重新生成新的数据偏移随机数,新的数据偏移随机数的数值小于环形缓存区中存储地址的个数,由伪装数据产生模块重新生成伪装数据,新的伪装数据的长度不大于环形缓存区的长度减去涉密数据的长度和数据偏移随机数的长度之和,然后根据新数据偏移随机数将更新后的涉密数据和新伪装数据加载在位于第二存储器内的环形缓存区中。在环形缓存区中,首部区包含新的数据偏移随机数,涉密数据区的存储区域根据新的数据偏移随机数重新分配,涉密数据区的首存储地址更新为环形缓存区的首存储地址与新的数据偏移随机数之和。在环形缓存区中,涉密数据区包含更新后的涉密数据,伪装数据区包含新的伪装数据。本实施例所展示的关于涉密数据更新的安全机制,在涉密数据更新后,重新对涉密数据的加载进行随机化处理,可进一步提高黑客非法获取涉密数据的难度。
[0052]本实施例详细的展示了无卡终端涉密信息的安全机制,其有益效果也详细描述如下。
[0053]无卡终端在开机启动之后,如步骤102至步骤104所述从第一存储器中获取涉密数据并将涉密数据加载缓存到第二存储器。根据步骤102至步骤104所详细描述的说明,可知涉密数据最后将被加载到位于第二存储器中的环形缓冲区,由于涉密数据在该缓冲区的存储位置是随机变化的,并且环形缓存区的其它空间由大量的伪装数据填充,因此黑客通过篡改内存中涉密数据以攻击系统的难度被大幅度的提高。因为黑客要想通过篡改内存中涉密数据以攻击系统,必须先获知涉密数据在环形缓存区中的存储地址和涉密数据的数据结构,并分析终端功能表现的变化和对应的内存数据的变化规律。但是在本实施例展示的安全机制下,由于无卡终端每次启动后加载的涉密数据的缓存地址是随机变化的,并且在缓存区中混杂了大量的伪装数据,所述伪装数据哦内容在每次加载时还将随机变化,这些举措都将给黑客的篡改行为带来巨大的难度,因此几乎没有可能对系统进行攻击。
[0054]此外,根据步骤S101所详细描述的说明,可知本实施例所展示的安全机制还将大幅度的增加黑客通过分析和篡改外部存储器中的涉密数据来破解系统的难度。由于涉密数据在外部存储器保存前,经过数据拆分、数据加密,密钥加密和随机组装存储单元串等步骤处理,黑客即使获取存储单元串,也需要完成如下五个步骤才能实现成功破解系统:一是成功分析了解数据的拆分机制;二是从存储单元串中成功获取加密数据保护密钥单元;三是成功解析数据保护密钥单元,获取透明的数据保护密钥;四是成功解析加密数据单元,获取数据单元,并恢复涉密数据;五是成功分析涉密数据的数据结构,获取涉密数据的各个部分的存储区域,例如找到关于用户权限或终端账户的区域,最终实现数据篡改并保存。但是在本实施例展示的安全机制中,由于加密数据保护密钥单元的存储位置是随机化的,并且每次存储时都会随机变化,同时数据保护密钥是经过基于芯片序列号生成的根密钥加密的,并且决定根密钥和芯片序列号之间对应关系的密钥生成算法是由信息安全供应商所掌握,所述密钥生成算法在每次运行完毕后会立即删除,因此黑客完成上述的五个步骤的难度很大,几乎不可能实现分析和篡改无卡终端外部存储器中的涉密数据。
[0055]综上,本实施例提供的无卡终端涉密信息的安全机制,通过前述安全的加密存储和安全加载使用的方式,大大提高了黑客非法获取和篡改无卡终端涉密信息的难度,使得低成本的、由前端和无卡终端构成的单向通信系统能够安全的投入实用。
[0056]实施例三,图4示出了本实施例中无卡终端涉密信息的安全装置的结构图。所述无卡终端涉密信息的安全装置,其特征在于,包括:加密存储器,用于在涉密数据存储时,从第二存储器中获取涉密数据,将涉密数据拆分为Μ个数据单元,使用数据保护密钥对Μ个数据单元加密,生成Μ个加密数据单元,使用根密钥对数据保护密钥加密,生成单个加密数据保护密钥单元,产生密钥偏移随机数,根据密钥偏移随机数将单个加密数据保护密钥单元插入到Μ个加密数据单元中,生成存储单元串,将存储单元串送至第一存储器;第一存储器,用于存储所述存储单元串;加载使用器,用于从第一存储器中读取存储单元串,获取Μ个加密数据单元和单个加密数据保护密钥单元,并将Μ个加密数据单元和单个加密数据保护密钥单元送至安全处理器解密,还用于接收安全处理器解密的Μ个数据单元,产生伪装数据和数据偏移随机数,根据数据偏移随机数将涉密数据和伪装数据加载在位于第二存储器内的环形缓存区中,然后使用环形缓存区中的涉密数据;第二存储器,用于提供所述环形缓存区;安全处理器,用于对Μ个加密数据单元和单个加密数据保护密钥单元解密,获取Μ个数据单元,并将Μ个数据单元送至加载使用器。
[0057]在本实施例中,所述无卡终端为单向数字信息广播系统的接收终端,一方面接收广播系统前端发送的加密广播信息,例如加密的数字视频广播,数字音频广播,数字应急广播等信;另一方面还接收广播系统前端发送的、针对终端的管理信息,例如针对终端的授权/除权指令(用来指定终端是否具备接收某类或者某个具体信息的权限)信息和终端账户管理(用来对某个终端进行开启或者停用,给终端下发内容保护密钥,或者为终端的账户进行充值等)指令信息。因此无卡终端也会维护和使用一些敏感的涉密数据,所述涉密数据包括:终端的基本状态参数(如终端是否开启、终端所属的运营商等);终端所拥有的授权的列表(终端只有在拥有对应授权的情况下,才能接收、解密和使用某类或者某个具体的广播信息内容);终端账户的余额(当某些信息内容需要从终端账户中即时扣费才能允许用户接收时,从该账户中扣除相应费用)等。所述涉密数据的具体结构和功能因不同网络类型而不同,但是无卡终端都可以采用本实施例所展示的安全机制对本地的涉密数据进行保存和使用。
[0058]本实施中所展示的无卡终端涉密信息的安全装置位于无卡终端内部的涉密数据管理器中。所述涉密数据管理器用于保存、使用和更新本地的涉密数据,为信息安全保障系统中终端的核心部件。所述信息安全保障系统可以是但不限于条件接收系统(CAS,Condit1nal Access System)、数字版权管理系统(DRM, Digital Rights Management)或者纯粹的防窃取防篡改系统,其中条件接收系统和数字版权管理系统用于实现运营商对终端用户的收费,主要用于数字电视、数字音频广播或者数据广播网络中;防窃取防篡改系统用于保证只有合法的用户具有接收和解析信息的能力,一般用于数字应急广播系统中。
[0059]所述涉密信息的安全装置,在涉密数据存储时,加密存储器可以将涉密数据和用于加密涉密数据的数据保护密钥均予以加密,然后将加密的数据保护密钥单元随机插入到加密的涉密数据单元串中,最后存储在在外部存储器中,从而提高了黑客利用外部工具从外部存储器中读取和分析涉密数据的难度;在涉密数据加载使用时,加载使用器可以从外部存储器中读取加密的数据保护密钥单元和加密的涉密数据单元串,经过安全处理器解密后得到涉密数据,然后由加载使用器将涉密数据和伪装数据一起存放在位于内部存储器内的环形缓冲区中的随机位置,从而增加了黑客利用外部工具从内部存储器中分析和篡改涉密数据的难度。通过前述采用安全的加密存储和安全加载使用的安全装置,大大提高了黑客非法获取和篡改无卡终端涉密信息的难度,使得低成本的、由前端和无卡终端构成的单向通信系统能够安全的投入实用。
[0060]具体的,所述加密存储器包括:拆分模块,用于将涉密数据拆分为Μ个长度相同的数据单元,所述数据单元的长度为16字节的Ν倍;数据保护密钥产生模块,用于产生数据保护密钥,所述数据保护密钥为随机数,长度为16字节的Ν倍;数据加密模块,用于使用数据保护密钥对Μ个数据单元加密,生成Μ个加密数据单元;根密钥产生模块,用于从安全处理器中读取芯片序列号,运行密钥生成算法产生根密钥;密钥加密模块,用于使用根密钥对数据保护密钥加密,生成单个加密数据保护密钥单元;密钥偏移随机数产生模块,用于产生密钥偏移随机数,所述密钥偏移随机数不小于1且不大于Μ ;组装模块,用于根据密钥偏移随机数将单个加密数据保护密钥单元插入到Μ个加密数据单元中,生成存储单元串,所述存储单元串中,首个单元或最后一个单元为密钥偏移地址单元,密钥偏移地址单元包含所述密钥偏移随机数,加密数据保护密钥单元的存储地址为首个加密数据单元的存储地址与密钥偏移随机数之和。
[0061]拆分模块首先从第二存储器中获取缓存的或根据广播系统前端发送的指令更新的涉密数据,然后将涉密数据拆分为固定且相同大小的Μ个数据单元,Μ为自然数,每个数据单元的长度为16字节的Ν数倍,Ν为自然数,16字节为最小存储长度。如果拆分后发现最后一个数据单元不足所需固定长度,则采用填充字节的方式予以补齐,以便满足数据加密算法对加密数据长度的要求。
[0062]数据保护密钥产生模块产生数值为随机数的数据保护密钥,长度为Ν倍16字节,以作为对Μ个数据单元进行加密的会话密钥。
[0063]数据加密模块使用数据保护密钥对Μ个数据单元进行加密,其过程是以数据保护密钥为会话密钥,执行数据加密算法分别对拆分后的各个数据单元进行加密,所述数据加密算法可以是但不限于AES (Advanced Encrypt1n Standard,高级加密标准)或TEDS(Triple Digital Encrypt1n Standard,三重数据加密标准)。在加密完成后,每个数据单元都对应一个加密数据单元,最后总共生成Μ个加密数据单元。
[0064]根密钥产生模块从安全处理器中的存储模块读取芯片序列号,然后运行密钥生成算法产生根密钥,在根密钥产生后,立即删除密钥生成算法进程,以免被黑客获取。所述芯片序列号为无卡终端具有的唯一、事先写入且不可更改的序列号,由信息安全服务商提供,其与根密钥具有对应的关系,所述对应关系由信息安全服务商提供的密钥生成算法决定,所述密钥生成算法在信息安全服务商的根密钥生成程序(由所述根密钥生成程序生成的根密钥由信息安全服务商在芯片制造过程中烧写到芯片内部),以及本实施例展示的安全机制软件模块中运行。
[0065]密钥加密模块在得到由根密钥产生模块生成的根密钥后,即以根密钥为会话密钥,执行数据加密算法对数据保护密钥进行加密,生成单个加密数据保护密钥单元,所述数据加密算法可以是但不限于AES (Advanced Encrypt1n Standard,高级加密标准)或TEDS(Triple Digital Encrypt1n Standard,三重数据加密标准)。在加密完成后,立即删除根密钥和未加密的数据保护密钥。
[0066]密钥偏移随机数产生模块生成的密钥偏移随机数为随机数,其数值不小于1且不大于M,以便将单个加密数据保护密钥单元插入到加密数据单元中。
[0067]组装模块组装的存储单元串包括三个部分,位于存储单元串中首个单元或最后一个单元的密钥偏移地址单元,加密数据单元和加密数据保护密钥单元,。所述密钥偏移地址单元包含密钥偏移随机数,指示存储单元串数据保护密钥单元的存储地址为首个加密数据单元的存储地址与密钥偏移随机数之和,组装模块按照密钥偏移随机数的指示将数据保护密钥单元插入到Μ个加密数据单元中。在将存储单元串送至第一存储器中存储后,立即删除缓存数据,包括加密数据单元和加密数据保护密钥单元,以免黑客截取。
[0068]所述加密存储器在涉密数据保存到外部存储器前,将涉密数据进行拆分、加密,并对密钥加密,将加密数据和加密密钥随机组装在存储单元串中,使得黑客即使获取存储单元串,也需要完成如下五个步骤才能实现成功破解系统:一是成功分析了解数据的拆分机制;二是从存储单元串中成功获取加密数据保护密钥单元;三是成功解析数据保护密钥单元,获取透明的数据保护密钥;四是成功解析加密数据单元,获取数据单元,并恢复涉密数据;五是成功分析涉密数据的数据结构,获取涉密数据的各个部分的存储区域,例如找到关于用户权限或终端账户的区域,最终实现数据篡改并保存。但是在本实施例展示的安全装置中,由于组装模块将加密数据保护密钥单元随机插入到存储单元中,并且每次随机插入的位置是随机变化的,同时密钥加密模块使用的根密钥是基于芯片序列号并通过密钥生成算法运算而得,所述密钥生成算法在每次运行完毕后会立即删除,因此黑客完成上述的五个步骤的难度很大,几乎不可能实现分析和篡改无卡终端外部存储器中的涉密数据。
[0069]具体的,所述第一存储器为无卡终端的外部存储器,其可以是但不限于闪存或NVRAM ( Non-Volatile Random Access Memory,非易失性随机访问存储器),用于存储所述存储单元串。
[0070]具体的,所述加载使用器包括:解析模块,用于从第一存储器中读取存储单元串,解析存储单元串中的首个单元或最后一个单元,获取密钥偏移随机数,根据密钥偏移随机数计算加密数据保护密钥单元的存储地址,获取单个加密数据保护密钥单元和Μ个加密数据单元;组合模块,用于将Μ个数据单元组合成涉密数据;数据偏移随机数产生模块,用于产生数据偏移随机数,所述数据偏移随机数小于环形缓存区中存储地址的个数;伪装数据产生模块,用于产生伪装数据,所述伪装数据的长度不大于环形缓存区的长度减去涉密数据的长度和数据偏移随机数的长度;加载模块,用于根据数据偏移随机数将涉密数据和伪装数据加载在位于第二存储器内的环形缓存区中,所述环形缓存区首尾相连,包括首部区、涉密数据区和伪装数据区,首部区包含数据偏移随机数,涉密数据区包含涉密数据,伪装数据区包含伪装数据,所述涉密数据区的首存储地址为环形缓存区的首存储地址与数据偏移随机数之和;应用模块,用于读取第二存储器中环形缓存区的首部区,获取数据偏移随机数,根据数据偏移随机数计算涉密数据区的首个存储地址,读取环形缓存区的涉密数据区,获取涉密数据,并将涉密数据映射为具体的应用参数。
[0071]所述解析模块从析模块从第一存储器中读取存储单元串,然后解析存储单元串中的首个单元或最后一个单元,获取密钥偏移随机数;然后根据密钥偏移随机数计算加密数据保护密钥单元的存储地址,从存储单元串中提取单个加密数据保护密钥单元和Μ个加密数据单元。例如,当密钥偏移地址单元位于存储单元串的首个单元时,解析模块准确解析首个单元,获取密钥偏移随机数,再根据获取的加密数据单元串的首个存储地址,从而能够计算出加密数据保护密钥单元的存储地址,先提取存储单元串中的单个加密数据保护密钥单元,再提取存储单元串中剩下的Μ个加密数据单元,最终得到单个加密数据保护密钥单元和Μ个加密数据单元。
[0072]组合模块在将Μ个数据单元进行拼装,最终恢复为完整的涉密数据。如果在组合过程中发现最末数据单元存在填充字节,则将所述填充字节予以删除。
[0073]数据偏移随机数产生模块生成的数据偏移随机数为随机数,数据偏移随机数的数值小于环形缓存区中存储地址的个数。
[0074]伪装数据产生模块生成的伪装数据为随机数据,伪装数据的长度不大于环形缓存区的长度减去涉密数据的长度和数据偏移随机数的长度之和。
[0075]加载模块将数据偏移随机数加载在环形缓存区的首部区,指示涉密数据区的首存储地址为环形缓存区的首存储地址与数据偏移随机数之和。同时加载模块将涉密数据加载在涉密数据区,涉密数据区的首存储地址为环形缓存区的首存储地址与数据偏移随机数之和。加载模块将环形缓存区的剩余区域视为伪装数据区,将伪装数据加载伪装数据区。所述环形缓存区的存储长度为涉密数据长度的3倍以上,使涉密数据淹没在伪装数据中,从而提高了黑客非法获取涉密数据的难度,确保了涉密数据在加载使用时的安全性。
[0076]在无卡终端合法修改涉密数据后,上述数据偏移随机数产生模块需重新产生数据偏移随机数,伪装数据产生模块需重新产生伪装数据,加载模块需根据数据偏移随机数将涉密数据和伪装数据加载在位于第二存储器内的环形缓存区中。
[0077]应用模块首先读取第二存储器中环形缓存区的首部区,获取数据偏移随机数,根据环形缓存区的首存储地址可计算出涉密数据区的首存储地址,从而应用模块可根据涉密数据区的首存储地址在环形缓存区中提取涉密数据,并将涉密数据映射为具体的应用参数,以传给其它程序使用。所述应用模块了解涉密数据各个部分的用途,调用者需要根据涉密数据的特定部分内容来完成信息处理时,应用模块还可以从环形缓存区中读取指定的涉密数据内容,然后将指定的涉密数据内容映射为调用者可使用的参数形式,最后传送给调用者使用。例如,调用者要求无卡终端表明是否具备某个指定信息包(例如广播的电视节目、文件等)的授权、当前终端账户的余额等。
[0078]具体的,所述安全处理器包括:存储模块,用于存储芯片序列号和根密钥;密钥解密模块,用于从存储模块中读取根密钥,并使用根密钥对单个加密数据保护密钥单元进行解密,获取数据保护密钥;数据解密模块,用于使用数据保护密钥对Μ个加密数据单元进行解密,获取Μ个数据单元。
[0079]所述安全处理器为无卡终端内部实现高级安全数据加解密功能的专有硬件,支持高级安全数据解密以及多种基于硬件的加密和解密算法,用于解密被根密钥加密的加密数据保护密钥单元和被数据保护密钥加密的加密数据单元,在解密过程中,解密使用的根密钥和数据保护密钥均不能由外部程序访问,安全系数高。
[0080]存储模块存储的芯片序列号和根密钥信息安全服务商事先写入,所述芯片序列号为无卡终端具有的唯一且不可更改的序列号,所述根密钥则至少有一个,
并且也不可更改,用于对数据保护密钥进行加密或解密。所述芯片序列号和根密钥具有对应关系,所述对应关系由信息安全服务商的密钥生成算法决定,密钥生成算法在信息安全服务商提供的根密钥生成程序(由所述根密钥生成程序生成的根密钥由信息安全服务商在芯片制造过程中烧写到芯片内部),以及本实施例所展示的无卡终端中的安全机制中运行。
[0081]密钥解密模块从存储模块中读取根密钥,以根密钥为为会话密钥,运行密钥解密算法对单个加密数据保护密钥单元进行解密,获取数据保护密钥。由于根密钥为信息安全服务商根据芯片序列号运行密钥生成算法所得,所述密钥生成算法与步骤S101中生成根密钥的密钥生成算法是一致的,因此可以用存储模块中保存的根密钥对加密数据保护密钥进行解密。同时在对单个加密数据保护密钥单元进行解密的过程中,所述密钥解密算法为与所述加密数据保护密钥单元加密时的加密算法对应的AES或TDES算法,故而能够得到透明的数据保护密钥。
[0082]数据解密模块在使用获取的数据保护密钥对Μ个加密数据单元进行解密的过程中,由于解密算法与加密数据单元加密时的加密算法对于的AES或TDES算法,故而能够得到Μ个透明的数据单元。
[0083]单个加密数据保护密钥单元和Μ个加密数据单元的解密过程均在安全处理器中进行,由于安全处理器中的根密钥和数据保护密钥无法被黑客或外部程序获取,因此具有高度的安全性。
[0084]所述安全装置中的加载使用器和安全处理器将加密并随机存储在外部存储器中的涉密数据进行完整解析和安全解密,最后随机化加载在位于第二存储器中的环形缓冲区,由于涉密数据在该缓冲区的存储位置是随机变化的,并且环形缓存区的其它空间由大量的伪装数据填充,因此黑客通过篡改内存中涉密数据以攻击系统的难度被大幅度的提高。因为黑客要想通过篡改内存中涉密数据以攻击系统,必须先获知涉密数据在环形缓存区中的存储地址和涉密数据的数据结构,并分析终端功能表现的变化和对应的内存数据的变化规律。但是在本实施例展示的安全装置在无卡终端每次启动后,将涉密数据随机加载在环形缓存区中,并混杂了大量的伪装数据,这些举措都将给黑客的篡改行为带来巨大的难度,几乎不可能对系统进行攻击。
[0085]具体的,所述第二存储器为无卡终端的内部存储器,可以是但不限于RAM (RamdomAccess Memory,易挥发性随机存取存储器),用于缓存正在使用的涉密数据或者根据广播系统前端发送的指令更新的涉密数据。
[0086]实施例三的有益效果可以基于实施例一和实施例二的技术效果,且不需要创造性的劳动即可得到。
[0087]如上所述,可较好的实现本发明。对于本领域的技术人员而言,根据本发明的教导,设计出不同形式的无卡终端涉密信息的安全机制及安全装置并不需要创造性的劳动。在不脱离本发明的原理和精神的情况下对这些实施例进行变化、修改、替换、整合和变型仍落入本发明的保护范围内。
【权利要求】
1.一种无卡终端涉密信息的安全机制,其特征在于,包括: 在涉密数据存储时,从第二存储器中获取涉密数据,将涉密数据拆分为Μ个数据单元,使用数据保护密钥对Μ个数据单元加密,生成Μ个加密数据单元,使用根密钥对数据保护密钥加密,生成单个加密数据保护密钥单元,产生密钥偏移随机数,根据密钥偏移随机数将单个加密数据保护密钥单元插入到Μ个加密数据单元中,生成存储单元串,将存储单元串存储在第一存储器中; 在涉密数据使用时,从第一存储器中读取存储单元串,获取Μ个加密数据单元和单个加密数据保护密钥单元; 对Μ个加密数据单元和单个加密数据保护密钥单元解密,获取Μ个数据单元; 将Μ个数据单元组合成涉密数据,产生伪装数据和数据偏移随机数,根据数据偏移随机数将涉密数据和伪装数据加载在位于第二存储器内的环形缓存区中,然后使用环形缓存区中的涉密数据。
2.如权利要求1所述的无卡终端涉密信息的安全机制,其特征在于,所述根据密钥偏移随机数将单个加密数据保护密钥单元插入到Μ个加密数据单元中,生成存储单元串的步骤还包括: 所述存储单元串中的首个单元或最后一个单元为密钥偏移地址单元,密钥偏移地址单元包含所述密钥偏移随机数; 所述存储单元串中加密数据保护密钥单元的存储地址为首个加密数据单元的存储地址与密钥偏移随机数之和。
3.如权利要求1所述的无卡终端涉密信息的安全机制,其特征在于,所述将涉密数据拆分为Μ个数据单元,使用数据保护密钥对Μ个数据单元加密,生成Μ个加密数据单元的步骤还包括: 将涉密数据拆分为Μ个长度相同的数据单元,所述数据单元的长度为16字节的Ν倍; 产生数据保护密钥,所述数据保护密钥为随机数,数据保护密钥的长度为16字节的Ν倍。
4.如权利要求1所述的无卡终端涉密信息的安全机制,其特征在于,所述使用根密钥对数据保护密钥加密,生成单个加密数据保护密钥单元的步骤还包括: 从安全处理器中读取芯片序列号,运行密钥生成算法产生根密钥。
5.如权利要求1所述的无卡终端涉密信息的安全机制,其特征在于,所述根据数据偏移随机数将涉密数据和伪装数据加载在位于第二存储器内的环形缓存区中的步骤还包括: 所述环形缓存区首尾相连,包括首部区、涉密数据区和伪装数据区,首部区包含数据偏移随机数,涉密数据区包含涉密数据,伪装数据区包含伪装数据,所述涉密数据区的首存储地址为环形缓存区的首存储地址与数据偏移随机数之和。
6.如权利要求2所述的无卡终端涉密信息的安全机制,其特征在于,所述从第一存储器中读取存储单元串,获取Μ个加密数据单元和单个加密数据保护密钥单元的步骤还包括: 解析存储单元串中的首个单元或最后一个单元,获取密钥偏移随机数; 根据密钥偏移随机数计算加密数据保护密钥单元的存储地址,获取单个加密数据保护密钥单元和Μ个加密数据单元。
7.如权利要求1所述的无卡终端涉密信息的安全机制,其特征在于,所述对Μ个加密数据单元和单个加密数据保护密钥单元解密,获取Μ个数据单元的步骤还包括: 将Μ个加密数据单元和单个加密数据保护密钥单元送给安全处理器; 在安全处理器内部,以根密钥为会话密钥,运行密钥解密算法对单个加密数据保护密钥单元进行解密,获取数据保护密钥; 在安全处理器内部,使用数据保护密钥对Μ个加密数据单元进行解密,获取Μ个数据单J Li ο
8.如权利要求1所述的无卡终端涉密信息的安全机制,其特征在于,所述然后使用环形缓存区中的涉密数据的步骤还包括: 读取第二存储器中环形缓存区的首部区,获取数据偏移随机数; 根据数据偏移随机数计算涉密数据区的首个存储地址,读取环形缓存区的涉密数据区,获取涉密数据,并将涉密数据映射为具体的应用参数。
9.如权利要求1所述的无卡终端涉密信息的安全机制,其特征在于,所述无卡终端涉密信息的安全机制还包括: 在涉密数据更新时,更新环形缓存区中的涉密数据; 产生新伪装数据和新数据偏移随机数,根据新数据偏移随机数将更新后的涉密数据和新伪装数据加载在位于第二存储器内的环形缓存区中; 所述环形缓存区首尾相连,包括首部区、涉密数据区和伪装数据区,首部区包含新数据偏移随机数,涉密数据区包含更新后的涉密数据,伪装数据区包含新伪装数据,所述涉密数据区的首存储地址为环形缓存区的首存储地址与新数据偏移随机数之和。
10.一种无卡终端涉密信息的安全装置,其特征在于,包括: 加密存储器,用于在涉密数据存储时,从第二存储器中获取涉密数据,将涉密数据拆分为Μ个数据单元,使用数据保护密钥对Μ个数据单元加密,生成Μ个加密数据单元,使用根密钥对数据保护密钥加密,生成单个加密数据保护密钥单元,产生密钥偏移随机数,根据密钥偏移随机数将单个加密数据保护密钥单元插入到Μ个加密数据单元中,生成存储单元串,将存储单元串送至第一存储器; 第一存储器,用于存储所述存储单元串; 加载使用器,用于从第一存储器中读取存储单元串,获取Μ个加密数据单元和单个加密数据保护密钥单元,并将Μ个加密数据单元和单个加密数据保护密钥单元送至安全处理器解密,还用于接收安全处理器解密的Μ个数据单元,产生伪装数据和数据偏移随机数,根据数据偏移随机数将涉密数据和伪装数据加载在位于第二存储器内的环形缓存区中,然后使用环形缓存区中的涉密数据; 第二存储器,用于提供所述环形缓存区; 安全处理器,用于对Μ个加密数据单元和单个加密数据保护密钥单元解密,获取Μ个数据单元,并将Μ个数据单元送至加载使用器。
11.如权利要求10所述的无卡终端涉密信息的安全装置,其特征在于,所述加密存储器包括: 拆分模块,用于将涉密数据拆分为Μ个长度相同的数据单元,所述数据单元的长度为16字节的N倍; 数据保护密钥产生模块,用于产生数据保护密钥,所述数据保护密钥为随机数,长度为16字节的Ν倍; 数据加密模块,用于使用数据保护密钥对Μ个数据单元加密,生成Μ个加密数据单元; 根密钥产生模块,用于从安全处理器中读取芯片序列号,运行密钥生成算法产生根密钥; 密钥加密模块,用于使用根密钥对数据保护密钥加密,生成单个加密数据保护密钥单元; 密钥偏移随机数产生模块,用于产生密钥偏移随机数,所述密钥偏移随机数不小于1且不大于Μ ; 组装模块,用于根据密钥偏移随机数将单个加密数据保护密钥单元插入到Μ个加密数据单元中,生成存储单元串,所述存储单元串中,首个单元或最后一个单元为密钥偏移地址单元,密钥偏移地址单元包含所述密钥偏移随机数,加密数据保护密钥单元的存储地址为首个加密数据单元的存储地址与密钥偏移随机数之和。
12.如权利要求10所述的无卡终端涉密信息的安全装置,其特征在于,所述加载使用器包括: 解析模块,用于从第一存储器中读取存储单元串,解析存储单元串中的首个单元或最后一个单元,获取密钥偏移随机数,根据密钥偏移随机数计算加密数据保护密钥单元的存储地址,获取单个加密数据保护密钥单元和Μ个加密数据单元; 组合模块,用于将Μ个数据单元组合成涉密数据; 数据偏移随机数产生模块,用于产生数据偏移随机数,所述数据偏移随机数小于环形缓存区中存储地址的个数; 伪装数据产生模块,用于产生伪装数据,所述伪装数据的长度不大于环形缓存区的长度减去涉密数据的长度和数据偏移随机数的长度; 加载模块,用于根据数据偏移随机数将涉密数据和伪装数据加载在位于第二存储器内的环形缓存区中,所述环形缓存区首尾相连,包括首部区、涉密数据区和伪装数据区,首部区包含数据偏移随机数,涉密数据区包含涉密数据,伪装数据区包含伪装数据,所述涉密数据区的首存储地址为环形缓存区的首存储地址与数据偏移随机数之和; 应用模块,用于读取第二存储器中环形缓存区的首部区,获取数据偏移随机数,根据数据偏移随机数计算涉密数据区的首个存储地址,读取环形缓存区的涉密数据区,获取涉密数据,并将涉密数据映射为具体的应用参数。
13.如权利要求10所述的无卡终端涉密信息的安全装置,其特征在于,所述安全处理器包括: 存储模块,用于存储芯片序列号和根密钥; 密钥解密模块,用于从存储模块中读取根密钥,并使用根密钥对单个加密数据保护密钥单元进行解密,获取数据保护密钥; 数据解密模块,用于使用数据保护密钥对Μ个加密数据单元进行解密,获取Μ个数据单J Li ο
【文档编号】H04L29/06GK104506504SQ201410774684
【公开日】2015年4月8日 申请日期:2014年12月16日 优先权日:2014年12月16日
【发明者】李洪钧 申请人:成都驰通数码系统有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1