一种IP核授权方法、装置及PLD与流程

文档序号:18941888发布日期:2019-10-23 01:13阅读:414来源:国知局
一种IP核授权方法、装置及PLD与流程

本申请涉及微电子芯片技术领域,尤其涉及一种ip核授权方法、装置及pld。



背景技术:

ip(iintellectualpropertycore,知识产权)核,是具有知识产权、功能具体以及接口规范的可以在多个集成电路中重复使用的功能模块,是实现系统芯片的基本构件。ip核将比较复杂的功能块,如fir滤波器、sdram控制器、pci接口等设计成可修改参数的模块。工程师在开发数字电路时,若需要上述复杂的功能,可直接调用具有相应功能的ip核,产生相应的网表文件,工程师通过修改网表文件中的相关参数以达到所需要开发设计的数字电路,避免了工程师从头开始编辑代码等重复性劳动,大大减轻其负担,因此使用ip核是一个发展趋势。

当利用pld(programmablelogicdevice,可编程逻辑器件)开发数字电路时,某些复杂功能通过调用具有该功能的ip核即可实现。举例来说,pos机生产商在生产pos机时,应用到某些加密算法,pos机生产商可以不去设计这些加密算法的程序,只需调用具有这些加密算法功能的ip核,利用该ip核产生相应的网表文件进行设计。以往的ip核授权方式为一次性付费的方式,即使用商购买ip核时,与授权商通过合同或法律等约束ip核的使用次数或使用期限,从而在限定的使用次数或使用期限内调用ip。

由于授权商仅通过合同或法律等约束使用商对ip核的使用次数或使用期限,所以当使用商购将ip核应用到设计开发中产生相应的网表文件之后,即使使用商调用ip核的次数和期限超出合同或法律约束的使用次数或使用期限,授权商依然无法得知使用商调用ip核的次数和期限等,因此就无法准确监控ip核被调用的情况,从而严重影响授权商对ip核的控制和授权商的利益。



技术实现要素:

本申请提供了一种ip核授权方法、装置及pld,以解决现有基于pld的ip核授权无法控制ip核使用次数或使用期限的技术问题。

为了解决上述技术问题,本申请实施例公开了如下技术方案:

第一方面,本发明实施例公开了一种ip核授权方法,该方法应用于pld,所述pld通信连接有一安全芯片,所述安全芯片设置有存储器和授权控制器,所述存储器内预设有第一密钥信息,所述存储器和所述授权控制器分别与所述安全芯片的处理器通信连接,所述方法包括:

所述处理器接收使用商通过pld发送的ip核的启动请求,所述ip核内预设有第二密钥信息;

所述处理器根据所述授权控制器内记录的使用商已调用ip核的使用次数或使用期限,判断是否响应ip核的启动请求;

若响应ip核的启动请求,则将所述第一密钥信息与所述第二密钥信息进行匹配认证;

将匹配认证结果发送给所述授权控制器,所述授权控制器根据匹配认证结果控制pld是否调用所述ip核,并重新计算所述ip核的使用次数或使用期限。

优选的,上述ip核授权方法中,所述授权控制器内预设有第一阈值或第二阈值,其中,所述处理器根据所述授权控制器内记录的使用商已调用ip核的使用次数或使用期限,判断是否响应ip核的启动请求,包括:

若使用商已调用ip核的使用次数大于或等于所述第一阈值,所述处理器无法响应ip核的启动请求;若使用商已调用ip核的使用次数小于所述第一阈值,所述处理器将所述第一密钥信息与第二密钥信息进行匹配认证;

或者,

若使用商已调用ip核的使用期限大于所述第二阈值,所述处理器无法响应ip核的启动请求;若使用商已调用ip核的使用期限小于或等于所述第二阈值,所述处理器将所述第一密钥信息与第二密钥信息进行匹配认证。

优选的,上述ip核授权方法中,所述授权控制器包括计数器,所述计数器记录使用商调用ip核的使用次数,其中,所述授权控制器重新计算所述ip核的使用次数,包括:

若所述第一密钥信息与第二密钥信息匹配认证成功,所述pld调用所述ip核,所述计数器在使用商已调用ip核的使用次数基础上加1;

若所述第一密钥信息与第二密钥信息匹配认证失败,所述计数器计数结果不变。

优选的,上述ip核授权方法中,所述授权控制器包括实时时钟,所述实时时钟记录使用商调用ip核的使用时间,其中,所述授权控制器重新计算所述ip核的使用期限,包括:

当接收到第一次发送的ip核的启动请求后,所述实时时钟在使用商已调用ip核的使用期限基础上累计时间。

第二方面,本发明实施例还公开了一种ip核授权装置,所述装置应用于pld,所述pld通信连接有一安全芯片,所述安全芯片设置有存储器和授权控制器,所述存储器内预设有第一密钥信息,所述存储器和所述授权控制器分别与所述安全芯片的处理器通信连接,所述装置还包括:

接收请求模块,用于接收使用商通过pld发送的ip核的启动请求,所述ip核内预设有第二密钥信息;

响应判断模块,用于根据所述授权控制器内记录的使用商已调用ip核的使用次数或使用期限,判断是否响应ip核的启动请求;

匹配认证模块,用于将所述第一密钥信息与所述第二密钥信息进行匹配认证;

授权控制模块,用于将匹配认证结果发送给所述授权控制器,所述授权控制器根据匹配认证结果控制pld是否调用所述ip核;

计算模块,用于重新计算所述ip核的使用次数或使用期限。

优选的,上述ip核授权装置中,所述授权控制器内预设有第一阈值或第二阈值,其中,所述处理器根据所述授权控制器内记录的使用商已调用ip核的使用次数或使用期限,判断是否响应ip核的启动请求,包括:

若使用商已调用ip核的使用次数大于或等于所述第一阈值,所述处理器无法响应ip核的启动请求;若使用商已调用ip核的使用次数小于所述第一阈值,所述处理器将所述第一密钥信息与第二密钥信息进行匹配认证;

或者,

若使用商已调用ip核的使用期限大于所述第二阈值,所述处理器无法响应ip核的启动请求;若使用商已调用ip核的使用期限小于或等于所述第二阈值,所述处理器将所述第一密钥信息与第二密钥信息进行匹配认证。

优选的,上述ip核授权装置中,所述授权控制器包括计数器,用于记录使用商调用ip核的使用次数,其中,所述授权控制器重新计算所述ip核的使用次数,包括:

若所述第一密钥信息与第二密钥信息匹配认证成功,所述pld调用所述ip核,所述计数器在使用商已调用ip核的使用次数基础上加1;

若所述第一密钥信息与第二密钥信息匹配认证失败,所述计数器计数结果不变。

优选的,上述ip核授权装置中,所述授权控制器包括实时时钟,用于记录使用商调用ip核的使用时间,其中,所述授权控制器重新计算所述ip核的使用期限,包括:

当接收到第一次发送的ip核的启动请求后,所述实时时钟在使用商已调用ip核的使用期限基础上累计时间。

第三方面,本发明实施例还公开了一种pld,包括ip核,所述ip核应用于pld,所述pld通信连接有一安全芯片,所述安全芯片设置有存储器和授权控制器,所述存储器内预设有第一密钥信息,所述存储器和所述授权控制器分别与所述安全芯片的处理器通信连接;

所述处理器接收使用商通过pld发送的ip核的启动请求,所述ip核内预设有第二密钥信息;

所述处理器根据所述授权控制器内记录的使用商已调用ip核的使用次数或使用期限,判断是否响应ip核的启动请求;

若是,则将所述第一密钥信息与所述第二密钥信息进行匹配认证;

将匹配认证结果发送给所述授权控制器,所述授权控制器根据匹配认证结果控制pld是否调用所述ip核,并重新计算所述ip核的使用次数或使用期限。

与现有技术相比,本申请的有益效果为:

本发明实施例所提供的ip核授权方法、装置及pld,上述方法包括:ip核向安全芯片中的处理器发送启动请求,处理器查询使用商已调用ip核的使用次数或使用期限,若ip核的使用次数或使用期限还未达到授权商与使用商的约定,则处理器响应ip核的启动请求。将安全芯片中的第一密钥信息与ip核中的第二密钥信息进行匹配,安全芯片中授权控制器根据匹配认证结果控制pld是否调用ip核,并重新计算ip核的使用次数或使用期限。ip核授权商通过本申请中的ip核授权方法,可以使授权商从根本上监控使用商调用ip核生产pld相关数据,进而当调用ip核生产pld相关数据达到两方协商的使用次数或使用期限时,使用商将无法继续调用ip核的相关功能,从而保证授权商对ip核的控制和授权商的利益。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。

附图说明

为了更清楚地说明本申请的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例提供的一种ip核授权方法的流程示意图;

图2为本发明实施例提供的一种ip核授权装置的基本结构示意图。

具体实施方式

为了使本技术领域的人员更好地理解本申请中的技术方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。

本发明实施例提供的一种ip核授权方法应用于pld,所述pld通信连接有一安全芯片,所述安全芯片设置有存储器和授权控制器,所述存储器内预设有第一密钥信息,所述存储器和所述授权控制器分别与所述安全芯片的处理器通信连接。参见图1,本发明实施例提供的一种ip核授权方法的流程示意图,结合图1可得该ip核授权方法包括:

步骤101,与pld通信连接的安全芯片内预设第一密钥信息;

所述安全芯片可设置于pld的pcb板上,并且与所述pld通过总线相连进行通信,总线可通过i2c、spi、uart、7816、usb、sdio、pci等通用或自定义接口实现。

步骤102,ip核向安全芯片发送启动请求,ip核内预设第二密钥信息;

具体实施过程中,使用商可通过pld调用ip核时,使pld通过ip核向安全芯片发送启动请求,所述启动请求为携带有ip核内的第二密钥信息,内置于所述安全芯片中的第一密钥信息和内置于所述ip核中的第二密钥信息互相匹配,ip核与安全芯片匹配使用,授权商需要将ip核与安全芯片一同出售。

本申请中,授权商通过已授权的安全芯片的个数,控制使用商调用ip核生产pld的个数,换句话说,pld产品若要调用相关功能的ip核,则必须要集成与该ip核相匹配的所述安全芯片,当确定安全芯片与该ip核匹配认证成功后,该ip核才能被使用商使用。另外,如果一个pld要同时调用两个或多个ip核,那么该pld就要匹配与ip核相同数量的安全芯片。比方说,一个pld要同时调用两个ip核,该pld就要通过总线集成两个安全芯片,并且两个安全芯片分别与上述两个ip核内的密钥信息互相匹配。

步骤103,安全芯片根据使用商已调用ip核的使用次数或使用期限,判断是否相应ip核的启动请求;

本发明中,所述授权控制器内预设有第一阈值或第二阈值,其中,第一阈值为使用次数阈值,通常可设定为授权商将ip核授予使用商允许使用的次数;第二阈值为使用期限阈值,通常可设定为授权商将ip核授予使用商允许使用的最长时间。

上述使用次数可以指的是ip核生产或下载了多少个pld,或者是单独的一个ip核被同一个pld调用了多少次。举例来说,授权商将ip核授予使用商允许使用的次数为100次,该100次可以理解为允许使用商通过该ip核生产或下载100个pld产品;或者ip核在一个pld产品中允许被调用或下载100次。

所述安全芯片中所述处理器根据所述授权控制器内记录的使用商已调用ip核的使用次数或使用期限,判断是否响应ip核的启动请求,包括:

若使用商已调用ip核的使用次数大于或等于所述第一阈值,也就是说使用商已调用ip核的使用次数大于或等于授权商将ip核授予使用商允许使用的次数,所述处理器无法响应所述ip核的启动请求;若使用商已调用ip核的使用次数小于所述第一阈值,所述处理器将所述第一密钥信息与第二密钥信息进行匹配认证。举例来说,授权商允许使用商调用所述ip核的次数为100次,当所述安全芯片中处理器查询到所述ip核已经被调用100次了,即使用商已调用ip核的使用次数大于或等于所述第一阈值,此时处理器就不再响应ip核的启动请求;当所述安全芯片中处理器查询到ip核被调用的次数小于100次,处理器就会及时响应ip核的启动请求。

或者,

若使用商已调用ip核的使用期限大于所述第二阈值,也就是说使用商已调用ip核的使用期限大于授权商将ip核授予使用商允许使用的最长时间,所述处理器无法响应所述ip核的启动请求;若使用商已调用ip核的使用期限小于或等于所述第二阈值,所述处理器将所述第一密钥信息与第二密钥信息进行匹配认证。比如,授权商允许使用商调用所述ip核的期限为100天,当所述安全芯片中处理器查询到ip核已经被调用到101天时,即使用商已调用所述ip核的使用期限大于所述第一阈值,此时处理器就不再响应ip核的启动请求;当所述安全芯片中处理器查询到所述ip核被调用时长为99天或第100天,所述处理器就会及时响应ip核的启动请求。

如果,所述安全芯片中处理器查询判断出,使用商已调用ip核的使用次数或使用期限达到了与授权商约定的使用次数或使用期限,则所述安全芯片不再响应ip核的启动请求,进而ip核无法继续调用。如果,使用次数或使用期限还未达到与授权商约定的使用次数或使用期限,则进行以下步骤:

步骤104,将第一密钥信息与第二密钥信息匹配认证;

该步骤中的认证方法可以采用挑战-应答型认证,也可采用证书式的认证,以及基于密码学的身份认证的方式均可在本发明中使用。以对称密钥的哈希算法为例,可以为以下认证过程:当pld调用ip核时,所述ip核首先会向所述安全芯片发送一个启动请求并附带自己本身的id,所述安全芯片接收到所述ip核发送的启动请求后会调用自身的随机数生成器,生成一个随机数,随后将生成的随机数响应给所述ip核,当ip核接收到安全芯片的响应后,会根据响应回来的随机数、自身的id以及密钥进行加密。同时,所述安全芯片在完成第一次响应后,会根据ip核的id进行密钥匹配得出此ip核的密钥,然后根据生成的随机数、ip核的id以及对应的密钥进行加密,加密完成后,将加密后的数据响应给ip核,在ip核接收到安全芯片的第二次响应后,将自己加密的数据和安全芯片响应回的数据进行比较,如果相同则继续运行。

通过储存在所述安全芯片存储器中的认证程序对上述比较结果进行认证,确认第一密钥信息和第二密钥信息是否匹配。

步骤105,将匹配认证结果发送给安全芯片,安全芯片根据匹配认证结果控制pld是否调用ip核,并重新计算所述ip核的使用次数或使用期限。

上述授权控制器包括计数器,所述计数器记录使用商调用ip核的使用次数,其中,所述授权控制器重新计算所述ip核的使用次数,包括:

如果安全芯片里的第一密钥信息与ip核中的第二密钥信息匹配认证成功,则pld能够调用ip核,并且所述计数器在使用商已调用ip核的使用次数基础上加1,直至达到授权商将ip核授予使用商允许使用的次数,即授权控制器中预设的第一阈值。

若第一密钥信息与第二密钥信息匹配认证失败,比方说,密钥信息计算错误或者使用次数达到约定的上限等等,所述计数器的计数结果不变。

授权控制器还包括实时时钟,所述实时时钟记录使用商调用ip核的使用时间,其中,所述授权控制器重新计算所述ip核的使用期限,包括:

当接收到第一次发送的ip核的启动请求后,安全芯片对其作出响应,安全芯片中的实时时钟便开始记录时间,当使用商已调用ip核的使用时间达到授权商将ip核授予使用商允许使用的最长时间时,即达到授权控制器中预设的第二阈值时,安全芯片停止响应ip核的启动请求。

与上述实现方法相对应的,本发明实施例还提供了一种ip核授权装置,如图2所示,为本发明实施例提供的一种ip核授权装置的基本结构示意图。所述装置应用于pld,所述pld通信连接有一安全芯片,所述安全芯片设置有存储器和授权控制器,所述存储器内预设有第一密钥信息,所述存储器和所述授权控制器分别与所述安全芯片的处理器通信连接,所述装置还包括:接收请求模块、响应判断模块、匹配认证模块、授权控制模块和计算模块,其中,所述接收请求模块,用于接收使用商通过pld发送的ip核的启动请求,所述ip核内预设有第二密钥信息;所述响应判断模块,用于根据所述授权控制器内记录的使用商已调用ip核的使用次数或使用期限,判断是否响应ip核的启动请求;所述匹配认证模块,用于将所述第一密钥信息与所述第二密钥信息进行匹配认证;所述授权控制模块,用于将匹配认证结果发送给所述授权控制器,所述授权控制器根据匹配认证结果控制pld是否调用所述ip核;所述计算模块,用于重新计算所述ip核的使用次数或使用期限。

为了进一步优化上述技术方案,所述授权控制器内预设有第一阈值或第二阈值,其中,所述处理器根据所述授权控制器内记录的使用商已调用ip核的使用次数或使用期限,判断是否响应ip核的启动请求,包括:

若使用商已调用ip核的使用次数大于或等于所述第一阈值,所述处理器无法响应ip核的启动请求;若使用商已调用ip核的使用次数小于所述第一阈值,所述处理器将所述第一密钥信息与第二密钥信息进行匹配认证;或者,若使用商已调用ip核的使用期限大于所述第二阈值,所述处理器无法响应ip核的启动请求;若使用商已调用ip核的使用期限小于或等于所述第二阈值,所述处理器将所述第一密钥信息与第二密钥信息进行匹配认证。

进一步,所述授权控制器包括计数器,用于记录使用商调用ip核的使用次数,其中,所述授权控制器重新计算所述ip核的使用次数,包括:若所述第一密钥信息与第二密钥信息匹配认证成功,所述pld调用所述ip核,所述计数器在使用商已调用ip核的使用次数基础上加1;若所述第一密钥信息与第二密钥信息匹配认证失败,所述计数器计数结果不变。

授权控制器还包括实时时钟,用于记录使用商调用ip核的使用时间,其中,所述授权控制器重新计算所述ip核的使用期限,包括:当接收到第一次发送的ip核的启动请求后,所述实时时钟在使用商已调用ip核的使用期限基础上累计时间。

所述ip核授权装置中各个模块或器件的功能和作用的实现过程详见上述方法中对应的实现过程,在此不再赘述。

相应的,本发明实施例还提供了一种pld,所述pld,包括ip核,所述ip核应用于pld,所述pld通信连接有一安全芯片,所述安全芯片设置有存储器和授权控制器,所述存储器内预设有第一密钥信息,所述存储器和所述授权控制器分别与所述安全芯片的处理器通信连接;所述处理器接收使用商通过pld发送的ip核的启动请求,所述ip核内预设有第二密钥信息;所述处理器根据所述授权控制器内记录的使用商已调用ip核的使用次数或使用期限,判断是否响应ip核的启动请求;若是,则将所述第一密钥信息与所述第二密钥信息进行匹配认证;将匹配认证结果发送给所述授权控制器,所述授权控制器根据匹配认证结果控制pld是否调用所述ip核,并重新计算所述ip核的使用次数或使用期限。

由以上方案可知,本发明实施例提供的pld,集成有已授权的安全芯片,通过所述安全芯片内预设的第一密钥信息和所述pld集成的ip核中的第二密钥信息互相匹配认证,安全芯片根据匹配认证结果控制pld能否调用ip核。

由于以上实施方式均是在其他方式之上引用结合进行说明,不同实施例之间均具有相同的部分,本说明书中各个实施例之间相同、相似的部分互相参见即可。在此不再详细阐述。

需要说明的是,在本说明书中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或暗示这些实体或操作之间存在任何这种实际的关系或顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的电路结构、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种电路结构、物品或者设备所固有的要素。在没有更多限制的情况下,有语句“包括一个……”限定的要素,并不排除在包括所述要素的电路结构、物品或者设备中还存在另外的相同要素。

本领域技术人员在考虑说明书及实践这里发明的公开后,将容易想到本申请的其他实施方案。本申请旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由权利要求的内容指出。

以上所述的本申请实施方式并不构成对本申请保护范围的限定。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1