CN115206390A - Key烧录方法、装置、设备及存储介质 - Google Patents

Key烧录方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN115206390A
CN115206390A CN202210736512.9A CN202210736512A CN115206390A CN 115206390 A CN115206390 A CN 115206390A CN 202210736512 A CN202210736512 A CN 202210736512A CN 115206390 A CN115206390 A CN 115206390A
Authority
CN
China
Prior art keywords
keys
burned
key
memory
burning
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202210736512.9A
Other languages
English (en)
Inventor
朱芳全
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huizhou Huizhi Technology Co ltd
Original Assignee
Huizhou Huizhi Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huizhou Huizhi Technology Co ltd filed Critical Huizhou Huizhi Technology Co ltd
Priority to CN202210736512.9A priority Critical patent/CN115206390A/zh
Publication of CN115206390A publication Critical patent/CN115206390A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • G11C16/102External programming circuits, e.g. EPROM programmers; In-circuit programming or reprogramming; EPROM emulators
    • G11C16/105Circuits or methods for updating contents of nonvolatile memory, especially with 'security' features to ensure reliable replacement, i.e. preventing that old data is lost before new data is reliably written

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Storage Device Security (AREA)

Abstract

本申请公开了一种KEY烧录方法、装置、设备及存储介质,该方法包括:检测key的烧录触发操作,从多个待烧录key中确定目标key;检测目标key对应的目标key文件;创建其余key对应的数组并存放至栈区中,其余key为多个待烧录key中除目标key之外的key;获取各个待烧录key对应的烧录起始地址,基于其余key对应的数组和烧录起始地址,将目标key文件和其余key写入内存中。该方案能够在对key写入的过程中,由于创建了其余key对应的数组,并获取各个待烧录key对应的烧录起始地址,基于数组和烧录起始地址实现了一个内存库可以同时存放多个不同的待烧录key,节省了内存存放成本,并且使得各个key的空间存放更加精简。

Description

KEY烧录方法、装置、设备及存储介质
技术领域
本发明一般涉及数据烧录技术领域,具体涉及一种KEY烧录方法、装置、设备及存储介质。
背景技术
随着电视的数字化、网络化以及智能化技术的不断发展,数字电视能够提供更加丰富的节目内容,已经越来越多地走进千家万户中,为了保护节目内容,避免HDMI或者DVI传输的高清晰信号不会被非法录制,出现了高宽带数字内容保护(High-bandwidthDigital Content Protection,HDCP)技术,将数字视频接口传递的数字信号进行加密,从而在多媒体内容的发出端(电脑、DVD、机顶盒等)与接收端(显示器、电视机、投影机等)之间进行保护,其中,支持HDCP技术的播放设备或是显示设备上都要用到HDCP key,通常在设备出厂前需要将HDCP key烧录到设备的存储器内,例如可以烧录至Flash对应的Bank中,且每台设备使用的key不同。因此,如何将key进行烧录至存储器中显得非常重要。
目前,相关技术中在烧录过程中,使用各个单独的bank对每种数字信号进行存储,例如一台出口欧洲的4k方案电视,需要烧录HDCP1.4、HDCP2.2、CI+3种key,将其分别存储至三个单独的Bank中,然而该方案中使用8M的Flash,该Flash不足以提供三个空余Bank可使用,如果使用16M的Flash,导致需要额外增加内存成本,且key的空间存放不够精简。
发明内容
鉴于现有技术中的上述缺陷或不足,期望提供一种KEY烧录方法、装置、设备及存储介质。
第一方面,本发明提供了一种KEY烧录方法,该方法包括:
检测key的烧录触发操作,从多个待烧录key中确定目标key;
检测所述目标key对应的目标key文件;
创建其余key对应的数组并存放至栈区中,所述其余key为所述多个待烧录key中除所述目标key之外的key;
获取所述各个待烧录key对应的烧录起始地址,基于所述其余key对应的数组和所述烧录起始地址,将所述目标key文件和所述其余key写入内存中,所述烧录起始地址是将内存库按照各个待烧录key所占内存的大小进行划分得到的。
在其中一个实施例中,基于所述其余key对应的数组和所述烧录起始地址,将所述目标key文件和所述其余key写入内存中,包括:
获取所述其余key在内存库中所占内存的大小;
基于其余key对应的烧录起始地址和所占内存大小,读取其余key并存放至所述栈区中其余key对应的数组中;
解除所述内存库写保护操作,擦除所述所述内存库中的所有数据;
基于目标key对应的烧录起始地址,将所述目标key写入内存;
按照所述其余key对应的烧录起始地址,将所述栈区中其余key对应的数组中的数据写入内存中。
在其中一个实施例中,将所述栈区中其余key对应的数组中的数据写入内存中之后,所述方法还包括:
执行内存使能写保护操作。
在其中一个实施例中,在执行内存使能写保护操作之后,所述方法还包括:
对所述多个待烧录key进行检测和验证,以确定所述多个待烧录key是否全部烧录至所述内存中。
在其中一个实施例中,对所述多个待烧录key进行检测和验证,以确定所述多个待烧录key是否全部烧录至所述内存中,包括:
循环执行如下指定操作,直至所述多个待烧录key中各个待烧录key对应的序列号均正确为止,确定出所述多个待烧录key已全部烧录至所述内存中;
所述指定操作包括:
获取所述多个待烧录key中已烧录key对应的序列号;所述指定操作第一次执行时,所述已烧录key为所述多个待烧录key中的前两个key,所述指定操作非第一次执行时,所述已烧录key为所述指定操作前一次执行时确定出的已烧录key的序列号正确且对下一个key进行烧录完成后得到的;
检测所述已烧录key对应的序列号是否正确;
当所述已烧录key对应的序列号正确时,执行对下一个key进行烧录操作,控制进入下一指定操作;
当所述已烧录key对应的序列号不正确时,控制不进入下一指定操作。
在其中一个实施例中,对所述多个待烧录key进行检测和验证,以确定所述多个待烧录key是否全部烧录至所述内存中,包括:
采用烧录工具,将存储在所述内存中内存库的多个待烧录key的的存储数据导出;
将所述存储数据与多个待烧录key的的原始数据进行比对;
当比对一致时,确定所述多个待烧录key已全部烧录至所述内存中。
在其中一个实施例中,获取所述多个待烧录key中已烧录key对应的序列号,包括:
确定所述已烧录key对应的序列号存放规则;
根据序列号存放规则,获取已烧录key对应的序列号。
第二方面,本申请实施例提供了KEY烧录装置,该装置包括:
确定模块,用于检测key的烧录触发操作,从多个待烧录key中确定目标key;
检测模块,用于检测所述目标key对应的目标key文件;
创建模块,用于创建其余key对应的数组并存放至栈区中,所述其余key为所述多个待烧录key中除所述目标key之外的key;
烧录模块,用于获取所述各个待烧录key对应的烧录起始地址,基于所述其余key对应的数组和所述烧录起始地址,将所述目标key文件和所述其余key写入内存中,所述烧录起始地址是将内存库按照各个待烧录key所占内存的大小进行划分得到的。
第三方面,本申请实施例提供一种设备,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,该处理器执行该程序时实现如上述第一方面的KEY烧录方法。
第四方面,本申请实施例提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序用于实现如上第一方面的KEY烧录方法。
本申请实施例提供的KEY烧录方法、装置、设备及存储介质,通过检测key的烧录触发操作,从多个待烧录key中确定目标key,并检测目标key对应的目标key文件,然后创建其余key对应的数组并存放至栈区中,其余key为多个待烧录key中除目标key之外的key,获取各个待烧录key对应的烧录起始地址,基于其余key对应的数组和烧录起始地址,将目标key文件和其余key写入内存中,其中,烧录起始地址是将内存库按照各个待烧录key所占内存的大小进行划分得到的。该技术方案无需将多个待烧录key存储至单独的内存库(Bank)中,能够在对key写入的过程中,由于创建了其余key对应的数组,并获取各个待烧录key对应的烧录起始地址,基于数组和烧录起始地址实现了一个内存库可以同时存放多个不同的待烧录key,节省了内存存放成本,解决了Flash存储空间不足的问题,并且使得各个key的空间存放更加精简。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
图1为本申请实施例提供的KEY烧录方法的实施环境的结构示意图;
图2为本申请实施例提供的KEY烧录方法的流程示意图;
图3为本申请实施例提供的得到多个待烧录key的烧录起始地址的结构示意图;
图4为本申请实施例提供的KEY烧录方法的流程示意图;
图5为本申请实施例提供的KEY烧录装置的结构示意图;
图6为本申请实施例提供的一种计算机设备的结构示意图。
具体实施方式
下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与发明相关的部分。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
可以理解,随着显示技术高速发展,功能要求越来越强,需要传输的数据越来越多,在现有技术中,需要使用高清晰多媒体接口(High Definition MultimediaInterface,HDMI)和数字视频接口(Digital Visual Interface,DVI)传输数据,HDMI是一种高清数字接口标准,它可以提供很高的带宽,无损地传输数字视频和音频信号。在利用HDMI和DVI传输数据时需要用到高宽带数字内容保护HDCP,其中,HDCP技术是英特尔开发的为HDMI就不会收到信号加密的限制,可以接受全部格式的高清信号。HDCP是一个防止数字内容盗版的加密技术,如果软件和硬件其中一致不支持HDCP,我们就无法读取传输的数字内容。
其中,对于所有支持HDCP的设备都有一组独特的密钥,通常,一个组密钥包括40把56bits长度的密钥。任何一个HDCP设备都必须有一组唯一的授权码(Device Key),厂商在上产显示设备时需要向Digital-CP组织购买授权码,并且厂商在制造显示设备时必须确保每一台显示设备使用唯一的授权码,不得出现一个授权码被多台设备使用的情况。生产厂商需要将购买后的授权码烧录到显示终端接口存储器中,以使得显示终端具有HDCP功能。
需要说明的是,在HDCP的发展过程中,最初的HDCPKEY为1.4版本,可支持高清1080P的视频保护。但是随着电技术的发展,4K信号已经慢慢普及开来,为保护4K内容不被直接复制,新一代保护协定HDCP2.2应运而生。另外欧洲数字电视信号DVB-S2,对于特殊节目需要付费才能观看,从而加密,需要CI卡加密,因此,CI和KEY就成了必不可少的工具。
HDCP1.4/2.2和CI+KEY,因为版权的需求,要求每台电视机必须使用唯一的key。而对于不带操作系统的电视,key只能通过U盘烧录到Flash对应的Bank中存放,而对于Flash的擦除方式是页擦写,即一页就是一个Bank,该Bank为64kB。
相关技术中在烧录过程中,使用各个单独的bank对每种数字信号进行存储,例如一台出口欧洲的4k方案电视,需要烧录HDCP1.4、HDCP2.2、CI+3种key,将其分别存储至三个单独的Bank中,然而该方案中使用8M的Flash,因为4k的方案,本身code编译的bin文件比较大,加上数据区DVBS存台个数,客户一些语言,UI图片的加多,8M Flash空间捉襟见肘,该Flash不足以提供三个空余Bank可使用,如果使用16M的Flash,导致需要额外增加内存成本,且key的空间存放不够精简。
基于上述缺陷,本申请提供了一种KEY烧录方法,与现有技术相比,该技术方案无需将多个待烧录key存储至单独的内存库(Bank)中,能够在对key写入的过程中,由于创建了其余key对应的数组,并获取各个待烧录key对应的烧录起始地址,基于数组和烧录起始地址实现了一个内存库可以同时存放多个不同的待烧录key,节省了内存存放成本,解决了Flash存储空间不足的问题,并且使得各个key的空间存放更加精简。
本申请实施例提供的方案可以适用于所有不带操作系统的需要烧录key的Flash存储电视方案。
图1是本申请实施例提供的一种KEY烧录方法的实施环境架构图。如图1所示,该实施环境架构包括:烧录设备100和终端设备200。
其中,烧录设备100具有存储空间,例如可以是U盘,该烧录设备用于存储待烧录key对应的key文件,该key文件包括需要烧录至终端设备内的key数据,例如可以包括HDCP的密钥、MAC地址、Netflix的密钥、序列号等用于安全认证的二进制编码。
其中,终端设备200为具有编写KEY码能力的终端,可以是显示设备,该终端设备200的类型可以包括但不限于智能电视、智能手机、平板电脑、笔记本电脑、台式电脑等,本申请实施例对此不进行具体限定。其中,该终端设备包括内存,内存中包括内存库,例如内存为Flash,内存库为Bank。
可选的,烧录设备100与终端设备200通过有线或无线网络建立通信连接。
为了便于理解和说明,下面通过图2至图6详细阐述本申请实施例提供的KEY烧录方法、装置、设备及存储介质。
图2所示为本申请实施例的KEY烧录方法的流程示意图,该方法可以由KEY烧录装置执行。如图2所示,该方法包括:
S101、检测key的烧录触发操作,从多个待烧录key中确定目标key。
具体地,可以将烧录设备通过接口转换器与终端设备中的存储器的烧录接口连接,当烧录设备使用的接口为USB接口时,采用接口转换器能够实现烧录设备的接口与存储器的烧录接口的匹配连接。其中,该烧录设备例如可以是U盘。
可选的,上述接口转换器可以为:FT2232系列的接口转换器,例如,具有将USB接口转换为I2C接口的FT2232D接口转换器。上述存储器可以为可擦写存储器,例如,型号为AT24XX的存储器,也可以是Flash。
需要说明的是,为了实现数字电视与烧录设备的安全通信,数字电视需要使用KEY进行验证,例如,需要使用HDCP的密钥、MAC地址、Netflix的密钥、序列号等用于安全认证的二进制编码。
当烧录设备通过接口转换器与终端设备中的存储器的烧录接口连接完成后,检测key的烧录触发操作,并从多个待烧录key中确定目标key。其中,多个待烧录key的数量可以是三个,例如可以包括HDCP1.4、HDCP2.2、CI+KEY等。上述目标key是指多个待烧录key中的任意一个需要烧录的key。
可以理解的是,由于一个内存库(Bank)的内存空间有64kB,可以同时存放下上述多个待烧录key。因此,可以按照各个待烧录key在内存库中所占内存的大小进行划分,得到各个待烧录key对应的烧录起始地址。
示例性地,请参见图3所示,例如多个待烧录key分别为HDCP1.4、HDCP2.2、CI+KEY三个待烧录key,将一个Bank按照不同key对应的大小需求,分别指定该三个不同的烧录起始地址为对应的待烧录key进行烧录操作。其中,可以将HDCP1.4的烧录起始地址,确定为Bank 0地址,即从Bank 0地址开始对HDCP1.4进行烧录;将HDCP2.2的烧录起始地址,确定为Bank 1024地址,即从Bank 1024地址开始对HDCP2.2进行烧录;将CI+KEY的烧录起始地址,确定为Bank 3072地址,即从Bank 3072地址开始对CI+KEY进行烧录。
S102、检测目标key对应的目标key文件。
本步骤中,在从多个待烧录key中确定目标key后,可以检测目标key对应的目标key文件,例如从分别为HDCP1.4、HDCP2.2、CI+KEY的三个待烧录key中确定出目标key为HDCP2.2,也可以是HDCP1.4,还可以是CI+KEY。其中,当确定出目标key为HDCP2.2时,则检测U盘中对应的HDCP2.2 key文件。
S103、创建其余key对应的数组并存放至栈区中,其余key为多个待烧录key中除目标key之外的key。
需要说明的是,由于Bank是页擦除,写入数据时必须整页擦除才能写,因此需要对其中一个key进行烧录时,已烧录的key不能被擦除。
具体地,当确定出目标key后,然后从多个待烧录key中确定出除目标key之外的其余key,并创建其余key对应的数组并存放至栈区中,该创建的数组数量为多个待烧录key中除目标key之外的其余key的总数量,该其余key的数量可以是多个。例如多个待烧录key分别为HDCP1.4、HDCP2.2、CI+KEY,目标Key为HDCP2.2,则创建两个数组,该两个数组可以为HDCPKEY_14[],CI_KEY[]。
本步骤中通过创建另外存放其余key的数组,能够使得在对其中一个目标key进行烧录时,可以将其余key存放至其余key的数组,使得在写入数据时整页擦除的过程中,避免已烧录的key被擦除。
S104、获取各个待烧录key对应的烧录起始地址,基于其余key对应的数组和烧录起始地址,将目标key文件和其余key写入内存中,烧录起始地址是将内存库按照各个待烧录key所占内存的大小进行划分得到的。
具体地,可以获取其余key在内存库中所占内存的大小,基于其余key对应的烧录起始地址和所占内存大小,读取其余key并存放至栈区中其余key对应的数组中,然后解除内存库写保护操作,擦除内存库中的所有数据,并基于目标key对应的烧录起始地址,将目标key写入内存,按照其余key对应的烧录起始地址,将栈区中其余key对应的数组中的数据写入内存中。
本实施例中,在基于其余key对应的烧录起始地址和所占内存大小,读取其余key并存放至栈区中其余key对应的数组中的过程中,可以确定多个其余key中每个其余key在内存库中所占内存的大小,从每个其余key的烧录起始地址开始,不管之前是否已烧录过key,将所有其余key进行读取并存放至栈区中其余key对应的数组中。
示例性地,请参见图4所示,当检测key的烧录触发操作,从多个待烧录key中确定目标key,例如多个待烧录key分别为HDCP1.4、HDCP2.2、CI+KEY,目标Key为HDCP2.2,然后检测U盘中HDCP2.2对应的HDCP2.2 key文件,其中,在对HDCP2.2 key进行烧录的过程中,可以采用HDCP2.2函数,并在创建两个另外存放对应其余key的数组,该两个数组可以为HDCPKEY_14[],CI_KEY[]。此时,数组存放在栈区中,函数使用完后自动释放。
然后根据HDCP1.4和CI+KEY对应的烧录起始地址和所占内存大小,无论HDCP1.4和CI+KEY之前是否已经烧录过key,都将HDCP1.4和CI+KEY进行读取出来存放至栈区中HDCP1.4和CI+KEY对应的两个数组HDCPKEY_14[],CI_KEY[],即从Bank 0烧录起始地址开始,读取304byte,将HDCP1.4存放至数组HDCPKEY_14[]中,并从Bank 3072烧录起始地址开始,读取5490byte,将CI+KEY存放至数组CI_KEY[]中。
进一步地,解除Bank写保护,擦除Bank,即整个Bank中所有数据均被全部请除,包括前面已写入内存Flash中的HDCP1.4和CI+KEY也被擦除了。然后从U盘读取目标keyHDCP2.2 key对应的HDCP2.2 key文件,并基于HDCP2.2 key的烧录起始地址,从Bank1024烧录起始地址开始,将HDCP2.2 key文件写入内存Flash对应的内存库Bank中。然后将栈区中的两个数组中的一个数组HDCPKEY_14[]中的数据,从Bank 0烧录起始地址开始,写入到内存Flash对应的内存库Bank中,并将两个数组中的另一个数组CI_KEY[]中的数据,从Bank 3072烧录起始地址开始,写入到内存Flash对应的内存库Bank中,然后执行内存是能写保护操作。
本实施例中通过执行内存使能写保护操作,防止其他程序篡改该Bank数据。
需要说明的是,当从多个待烧录key确定出目标key为HDCP1.4、或CI+KEY时,同理,也可以采用与上述keyHDCP2.2相同的方式过程,通过创建两个其他key对应的数组,然后基于其他两个key对应的烧录起始地址和所占内存大小,将其他两个key数据读取出并存放至该两个数组中,并烧录此次需要烧录的目标key,即烧录HDCP1.4、或CI+KEY,然后再把两个数组中对应的数据写入到内存库Bank中对应的地址,以完成烧录操作。
其中,终端设备在开机使用时,可以修改读取地址,按照新的修改方式的各个key地址,正确读取存放的key数据调用。
本申请实施例提供的KEY烧录方法,通过检测key的烧录触发操作,从多个待烧录key中确定目标key,并检测目标key对应的目标key文件,然后创建其余key对应的数组并存放至栈区中,其余key为多个待烧录key中除目标key之外的key,获取各个待烧录key对应的烧录起始地址,基于其余key对应的数组和烧录起始地址,将目标key文件和其余key写入内存中,其中,烧录起始地址是将内存库按照各个待烧录key所占内存的大小进行划分得到的。该技术方案无需将多个待烧录key存储至单独的内存库(Bank)中,能够在对key写入的过程中,由于创建了其余key对应的数组,并获取各个待烧录key对应的烧录起始地址,基于数组和烧录起始地址实现了一个内存库可以同时存放多个不同的待烧录key,节省了内存存放成本,解决了Flash存储空间不足的问题,并且使得各个key的空间存放更加精简。
进一步地,在执行内存使能写保护操作之后,该方法还包括:对多个待烧录key进行检测和验证,以确定多个待烧录key是否全部烧录至内存中。
作为一种可实现方式,在对多个待烧录检测和验证,以确定多个待烧录key是否全部烧录至内存的过程中,可以循环执行如下指定操作,直至多个待烧录key中各个待烧录key对应的序列号均正确为止,确定出多个待烧录key已全部烧录至内存中;当多个待烧录key中存在待烧录key对应的序列号不正确时,确定出多个待烧录key未全部烧录至内存中。
其中,上述指定操作包括:获取多个待烧录key中已烧录key对应的序列号;指定操作第一次执行时,已烧录key为多个待烧录key中的前两个key,指定操作非第一次执行时,已烧录key为指定操作前一次执行时确定出的已烧录key的序列号正确且对下一个key进行烧录完成后得到的;检测已烧录key对应的序列号是否正确;当已烧录key对应的序列号正确时,执行对下一个key进行烧录操作,控制进入下一指定操作;当已烧录key对应的序列号不正确时,控制不进入下一指定操作。
示例性地,当多个待烧录key为四个待烧录key时,且已烧录key为两个key时,可以获取已烧录的两个key对应的序列号,并检测已烧录的两个key对应的序列号是否正确,可以将该序列号与原始数据中的两个key对应的序列号进行比对,当比对一致时,确定已烧录的两个key对应的序列号为正确;当比对不一致时,确定已烧录的两个key对应的序列号为不正确。
进一步地,当确定出已烧录的两个key对应的序列号正确时,并执行对第三个key进行烧录操作且烧录完成后,然后获取已烧录的三个key对应的序列号,并检测已烧录的三个key对应的序列号是否正确,可以将该序列号与原始数据中的三个key对应的序列号进行比对,当比对一致时,确定已烧录的三个key对应的序列号为正确;当比对不一致时,确定已烧录的三个key对应的序列号为不正确。依次类推,当确定出已烧录的三个key对应的序列号正确时,并执行对第四个key进行烧录操作且烧录完成后,然后获取已烧录的四个key对应的序列号,并判断已烧录的四个key对应的序列号是否正确,直至完成多个待烧录key的序列号中每个待烧录key的验证。
其中,在获取多个待烧录key中已烧录key对应的序列号的过程中,可以确定已烧录key对应的序列号存放规则,并根据序列号存放规则,获取已烧录key对应的序列号。
示例性地,当多个待烧录key分别为HDCP1.4、HDCP2.2、CI+KEY时,HDCP1.4 key从第296位开始读4个byte就是存放的该HDCP1.4key的序列号,HDCP2.2本身没有存序列号,我们写入时,把序列号写到key的末尾增加存4个byte放到数组,写到Flash。CI+KEY从第4位开始读4个byte就是存放的该CI+KEY的序列号。并且可以通过工厂菜单的显示的方式获取HDCP1.4、HDCP2.2、CI+KEY对应的序列号。
作为另一种可实现方式,在对多个待烧录检测和验证,以确定多个待烧录key是否全部烧录至内存的过程中,可以采用烧录工具,将存储在内存中内存库的多个待烧录key的的存储数据导出,并将存储数据与多个待烧录key的的原始数据进行比对,当比对一致时,确定多个待烧录key已全部烧录至内存中;当比对不一致时,确定多个待烧录key未全部烧录至内存中。
示例性地,在通过U盘烧录完三个待烧录key后,可以使用电脑烧录工具ISP工具,将Flash对应的三个待烧录key的的存储数据导出,并将该存储数据与原始数据进行比对,当三个待烧录key的存储数据与原始数据比对一致时,确定三个待烧录key已全部烧录至内存中,即表示烧录成功;当比对不一致时,确定多个待烧录key未全部烧录至内存中,即表示烧录不成功。
本实施例中在烧录完成后,对所述多个待烧录key进行检测和验证,能够精准地确定多个待烧录key是否全部烧录至内存中,对其烧录结果进行了验证,能够及时检验烧录结果,并根据烧录结果执行对应的操作,以进一步提高产品出厂的质量。
应当注意,尽管在附图中以特定顺序描述了本发明方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。相反,流程图中描绘的步骤可以改变执行顺序。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。
另一方面,图5为本申请实施例提供的一种KEY烧录装置的结构示意图。该装置可以为终端设备内的装置,如图5所示,该装置400包括:
确定模块410,用于检测key的触发操作,从多个待key中确定目标key;
检测模块420,用于检测所述目标key对应的目标key文件;
创建模块430,用于创建其余key对应的数组并存放至栈区中,所述其余key为所述多个待key中除所述目标key之外的key;
模块440,用于获取所述各个待key对应的起始地址,基于所述其余key对应的数组和所述起始地址,将所述目标key文件和所述其余key写入内存中,所述起始地址是将内存库按照各个待key所占内存的大小进行划分得到的。
可选的,上述模块440,具体用于:
获取所述其余key在内存库中所占内存的大小;
基于其余key对应的起始地址和所占内存大小,读取其余key并存放至所述栈区中其余key对应的数组中;
解除所述内存库写保护操作,擦除所述所述内存库中的所有数据;
基于目标key对应的起始地址,将所述目标key写入内存;
按照所述其余key对应的起始地址,将所述栈区中其余key对应的数组中的数据写入内存中。
可选的,上述装置,还用于:
执行内存使能写保护操作。
可选的,上述装置,还用于:
对所述多个待key进行检测和验证,以确定所述多个待key是否全部至所述内存中。
可选的,上述装置,具体用于:
循环执行如下指定操作,直至所述多个待key中各个待key对应的序列号均正确为止,确定出所述多个待key已全部至所述内存中;
所述指定操作包括:
获取所述多个待key中已key对应的序列号;所述指定操作第一次执行时,所述已key为所述多个待key中的前两个key,所述指定操作非第一次执行时,所述已key为所述指定操作前一次执行时确定出的已key的序列号正确且对下一个key进行完成后得到的;
检测所述已key对应的序列号是否正确;
当所述已key对应的序列号正确时,执行对下一个key进行操作,控制进入下一指定操作;
当所述已key对应的序列号不正确时,控制不进入下一指定操作。
可选的,上述装置,还用于:
采用工具,将存储在所述内存中内存库的多个待key的的存储数据导出;
将所述存储数据与多个待key的的原始数据进行比对;
当比对一致时,确定所述多个待key已全部至所述内存中。
可选的,上述装置,还用于:
确定所述已key对应的序列号存放规则;
根据序列号存放规则,获取已key对应的序列号。
本申请实施例提供的KEY烧录装置,通过确定模块检测key的烧录触发操作,从多个待烧录key中确定目标key,并通过检测模块检测目标key对应的目标key文件,然后通过创建模块创建其余key对应的数组并存放至栈区中,其余key为多个待烧录key中除目标key之外的key,进而通过烧录模块获取各个待烧录key对应的烧录起始地址,基于其余key对应的数组和烧录起始地址,将目标key文件和其余key写入内存中,其中,烧录起始地址是将内存库按照各个待烧录key所占内存的大小进行划分得到的。该技术方案无需将多个待烧录key存储至单独的内存库(Bank)中,能够在对key写入的过程中,由于创建了其余key对应的数组,并获取各个待烧录key对应的烧录起始地址,基于数组和烧录起始地址实现了一个内存库可以同时存放多个不同的待烧录key,节省了内存存放成本,解决了Flash存储空间不足的问题,并且使得各个key的空间存放更加精简。
另一方面,本申请实施例提供的终端设备,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,该处理器执行该程序时实现如上述的KEY烧录方法。
下面参考图6,图6为本申请实施例的终端设备的计算机系统的结构示意图。
如图6所示,计算机系统600包括中央处理单元(CPU)601,其可以根据存储在只读存储器(ROM)602中的程序或者从存储部分603加载到随机访问存储器(RAM)603中的程序而执行各种适当的动作和处理。在RAM603中,还存储有系统600操作所需的各种程序和数据。CPU 601、ROM 602以及RAM603通过总线604彼此相连。输入/输出(I/O)接口605也连接至总线604。
以下部件连接至I/O接口605:包括键盘、鼠标等的输入部分606;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分607;包括硬盘等的存储部分608;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分609。通信部分609经由诸如因特网的网络执行通信处理。驱动器610也根据需要连接至I/O接口605。可拆卸介质611,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器610上,以便于从其上读出的计算机程序根据需要被安装入存储部分608。
特别地,根据本申请的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本申请的实施例包括一种计算机程序产品,其包括承载在机器可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分603从网络上被下载和安装,和/或从可拆卸介质611被安装。在该计算机程序被中央处理单元(CPU)601执行时,执行本申请的系统中限定的上述功能。
需要说明的是,本申请所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本申请中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,前述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本申请实施例中所涉及到的单元或模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元或模块也可以设置在处理器中,例如,可以描述为:一种处理器,包括:确定模块、检测模块、创建模块及烧录模块。其中,这些单元或模块的名称在某种情况下并不构成对该单元或模块本身的限定,例如,确定模块还可以被描述为“用于检测key的烧录触发操作,从多个待烧录key中确定目标key”。
作为另一方面,本申请还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中描述的电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中的。上述计算机可读存储介质存储有一个或者多个程序,当上述前述程序被一个或者一个以上的处理器用来执行描述于本申请的KEY烧录方法:
检测key的烧录触发操作,从多个待烧录key中确定目标key;
检测所述目标key对应的目标key文件;
创建其余key对应的数组并存放至栈区中,所述其余key为所述多个待烧录key中除所述目标key之外的key;
获取所述各个待烧录key对应的烧录起始地址,基于所述其余key对应的数组和所述烧录起始地址,将所述目标key文件和所述其余key写入内存中,所述烧录起始地址是将内存库按照各个待烧录key所占内存的大小进行划分得到的。
综上所述,本申请实施例提供的KEY烧录方法、装置、设备及存储介质,通过检测key的烧录触发操作,从多个待烧录key中确定目标key,并检测目标key对应的目标key文件,然后创建其余key对应的数组并存放至栈区中,其余key为多个待烧录key中除目标key之外的key,获取各个待烧录key对应的烧录起始地址,基于其余key对应的数组和烧录起始地址,将目标key文件和其余key写入内存中,其中,烧录起始地址是将内存库按照各个待烧录key所占内存的大小进行划分得到的。该技术方案无需将多个待烧录key存储至单独的内存库(Bank)中,能够在对key写入的过程中,由于创建了其余key对应的数组,并获取各个待烧录key对应的烧录起始地址,基于数组和烧录起始地址实现了一个内存库可以同时存放多个不同的待烧录key,节省了内存存放成本,解决了Flash存储空间不足的问题,并且使得各个key的空间存放更加精简。
以上描述仅为本申请的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本申请中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离所述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本申请中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。

Claims (10)

1.一种KEY烧录方法,其特征在于,该方法包括:
检测key的烧录触发操作,从多个待烧录key中确定目标key;
检测所述目标key对应的目标key文件;
创建其余key对应的数组并存放至栈区中,所述其余key为所述多个待烧录key中除所述目标key之外的key;
获取各个所述待烧录key对应的烧录起始地址,基于所述其余key对应的数组和所述烧录起始地址,将所述目标key文件和所述其余key写入内存中,所述烧录起始地址是将内存库按照各个待烧录key所占内存的大小进行划分得到的。
2.根据权利要求1所述的方法,其特征在于,基于所述其余key对应的数组和所述烧录起始地址,将所述目标key文件和所述其余key写入内存中,包括:
获取所述其余key在内存库中所占内存的大小;
基于其余key对应的烧录起始地址和所占内存大小,读取其余key并存放至所述栈区中其余key对应的数组中;
解除所述内存库写保护操作,擦除所述内存库中的所有数据;
基于目标key对应的烧录起始地址,将所述目标key写入内存;
按照所述其余key对应的烧录起始地址,将所述栈区中其余key对应的数组中的数据写入内存中。
3.根据权利要求2所述的方法,其特征在于,将所述栈区中其余key对应的数组中的数据写入内存中之后,所述方法还包括:
执行内存使能写保护操作。
4.根据权利要求3所述的方法,其特征在于,在执行内存使能写保护操作之后,所述方法还包括:
对所述多个待烧录key进行检测和验证,以确定所述多个待烧录key是否全部烧录至所述内存中。
5.根据权利要求4所述的方法,其特征在于,对所述多个待烧录key进行检测和验证,以确定所述多个待烧录key是否全部烧录至所述内存中,包括:
循环执行如下指定操作,直至所述多个待烧录key中各个待烧录key对应的序列号均正确为止,确定出所述多个待烧录key已全部烧录至所述内存中;
所述指定操作包括:
获取所述多个待烧录key中已烧录key对应的序列号;所述指定操作第一次执行时,所述已烧录key为所述多个待烧录key中的前两个key,所述指定操作非第一次执行时,所述已烧录key为所述指定操作前一次执行时确定出的已烧录key的序列号正确且对下一个key进行烧录完成后得到的;
检测所述已烧录key对应的序列号是否正确;
当所述已烧录key对应的序列号正确时,执行对下一个key进行烧录操作,控制进入下一指定操作;
当所述已烧录key对应的序列号不正确时,控制不进入下一指定操作。
6.根据权利要求4所述的方法,其特征在于,对所述多个待烧录key进行检测和验证,以确定所述多个待烧录key是否全部烧录至所述内存中,包括:
采用烧录工具,将存储在所述内存中内存库的多个待烧录key的存储数据导出;
将所述存储数据与多个待烧录key的原始数据进行比对;
当比对一致时,确定所述多个待烧录key已全部烧录至所述内存中。
7.根据权利要求5所述的方法,其特征在于,获取所述多个待烧录key中已烧录key对应的序列号,包括:
确定所述已烧录key对应的序列号存放规则;
根据序列号存放规则,获取已烧录key对应的序列号。
8.一种KEY烧录装置,其特征在于,所述装置包括:
确定模块,用于检测key的烧录触发操作,从多个待烧录key中确定目标key;
检测模块,用于检测所述目标key对应的目标key文件;
创建模块,用于创建其余key对应的数组并存放至栈区中,所述其余key为所述多个待烧录key中除所述目标key之外的key;
烧录模块,用于获取各个所述待烧录key对应的烧录起始地址,基于所述其余key对应的数组和所述烧录起始地址,将所述目标key文件和所述其余key写入内存中,所述烧录起始地址是将内存库按照各个待烧录key所占内存的大小进行划分得到的。
9.一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1-7任一项所述的KEY烧录方法。
10.一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序用于实现如权利要求1-7任一项所述的KEY烧录方法。
CN202210736512.9A 2022-06-27 2022-06-27 Key烧录方法、装置、设备及存储介质 Pending CN115206390A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210736512.9A CN115206390A (zh) 2022-06-27 2022-06-27 Key烧录方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210736512.9A CN115206390A (zh) 2022-06-27 2022-06-27 Key烧录方法、装置、设备及存储介质

Publications (1)

Publication Number Publication Date
CN115206390A true CN115206390A (zh) 2022-10-18

Family

ID=83578699

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210736512.9A Pending CN115206390A (zh) 2022-06-27 2022-06-27 Key烧录方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN115206390A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115827032A (zh) * 2022-12-12 2023-03-21 深微光电科技(深圳)有限公司 存储器的烧录方法、装置、电子设备及存储介质

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115827032A (zh) * 2022-12-12 2023-03-21 深微光电科技(深圳)有限公司 存储器的烧录方法、装置、电子设备及存储介质

Similar Documents

Publication Publication Date Title
US8544047B2 (en) Automatically reconfigurable multimedia system with interchangeable personality adapters
CN101517588B (zh) 片上系统(soc)测试接口安全性
US8813202B2 (en) Mechanism to determine source device service tier based on the version of the HDCP key
US8412903B2 (en) Method and system for managing secure code loading in PC-slave devices
US8914904B2 (en) Information processing apparatus, data processing method and program
US8254757B2 (en) Information processing apparatus and data processing method and program
KR20140012318A (ko) 불휘발성 메모리, 불휘발성 메모리의 읽기 방법 및 불휘발성 메모리를 포함하는 메모리 시스템
US20090324197A1 (en) Information processing apapratus and data processing method and program
US10412079B2 (en) NFC device, software installation method, software uninstallation method, computer program and article of manufacture
CN107273142A (zh) 程序更新方法、程序运行方法及装置
CN110086613A (zh) 一种烧录密钥的方法、装置、数字电视板卡及存储介质
CN115206390A (zh) Key烧录方法、装置、设备及存储介质
US9773100B2 (en) Method and device for playing contents
CN111190614A (zh) 一种软件安装的方法及计算机设备
US9129139B2 (en) Solid state memory and method for protecting digital contents by interrupting copying or accessing and proceeding only upon user verification or authentication
CN101236583B (zh) 支持互斥功能的方法及其数字版权管理装置
US20150269360A1 (en) Control method and system
CN115688120A (zh) 安全芯片固件导入方法、安全芯片及计算机可读存储介质
CN107277591B (zh) 一种通过otg方式对融合型机顶盒进行加密的方法
JP5190427B2 (ja) 認証処理回路
CN111935435B (zh) 视频文件的加密方法、装置、数字电视设备及存储介质
KR20120011737A (ko) 유료 리소스를 이용한 컨텐츠 제작 및 판매 서비스 제공 시스템 및 방법
CN111723344B (zh) 数字内容保护方法、装置、电子设备及存储介质
CN112312198B (zh) 一种hdcp key的测试方法及测试系统
JP2012014722A (ja) 情報処理装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination