1.一种嵌入式软件防克隆方法,实施于处理器和FPGA之间,其特征在于,所述方法包括:FPGA根据预先设置的根秘钥和DNA序列号计算得到第一认证秘钥;在嵌入式系统发起认证时,FPGA生成随机数,根据所述随机数和所述第一认证秘钥得到第一认证信息,并将所述随机数发送至处理器;处理器接收FPGA发送的随机数,根据所述随机数和预先设置的第二认证秘钥计算得到第二认证信息并发送至FPGA;FPGA接收所述第二认证信息,根据所述第一认证信息和所述第二认证信息进行匹配认证,得到匹配结果,根据所述匹配结果,判定是否需要对业务处理功能进行功能限制;根据预先设置的根秘钥和DNA序列号计算得到第一认证秘钥包括:获取FPGA的DNA序列号,根据所述DNA序列号和生产所述FPGA的厂家信息得到DNA信息数据;获取根秘钥,根据所述根秘钥和扩展序列得到第一认证秘钥初始数据;对所述第一认证秘钥初始数据进行哈希计算,得到第一哈希数据;根据所述第一哈希数据的前半部分数据对所述DNA信息数据进行加密处理得到第一认证秘钥;根据所述随机数和所述第一认证秘钥得到第一认证信息包括:根据所述第一认证秘钥对所述随机数进行加密处理,得到第一认证信息原始数据;对所述第一认证信息原始数据进行哈希计算,得到第二哈希数据;根据所述第二哈希数据的前半部分数据得到第一认证信息。
2.根据权利要求1所述的方法,其特征在于,在根据所述第一认证信息和所述第二认证信息进行匹配认证,得到匹配结果之后,还包括:FPGA丢弃所述随机数。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:FPGA设计人员在设计FPGA时,将预先设置的根秘钥固化在FPGA内部;所述根秘钥仅支持内部接口读取,不可修改。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:在配套使用的处理器软件的开发过程中,注册与处理器配套使用的FPGA的第二认证秘钥;所述第二认证秘钥集成在软件中,不可修改,且不支持外部读取。
5.根据权利要求1所述的方法,其特征在于,所述FPGA包括FPGA业务处理功能模块、FPGA通信模块、根秘钥存储模块、DNA获取模块、第一认证秘钥生成模块、随机数生成模块、第一认证信息生成模块和认证识别模块。
6.根据权利要求1所述的方法,其特征在于,所述处理器包括处理器业务处理功能模块、处理器通信模块、第二认证秘钥存储模块和第二认证信息生成模块。
7.一种如权利要求1-6任一项所述的嵌入式软件防克隆方法,实施于FPGA,其特征在于,所述方法包括:生成随机数,根据所述随机数和第一认证秘钥得到第一认证信息;所述第一认证秘钥是通过预先设置的根秘钥和DNA序列号计算得到的;将所述随机数发送至处理器,接收处理器发送的反馈信息,根据所述第一认证信息和所述反馈信息进行匹配认证,得到匹配结果,根据所述匹配结果,判定是否需要对业务处理功能进行功能限制。
8.一种如权利要求1-6任一项所述的嵌入式软件防克隆方法,实施于处理器,其特征在于,所述方法包括:接收FPGA发送的随机数;根据所述随机数和预先设置的第二认证密钥得到第二认证信息,将所述第二认证信息发送至所述FPGA。