发明内容
鉴于上述的分析,本发明实施例旨在提供一种基于iButton授权的DSP功能动态重构方法及装置,用以解决现有功能动态重构授权过程复杂、占用空间多以及安全可靠性低的问题。
一方面,本发明实施例提供了一种基于iButton授权的DSP功能动态重构方法,包括以下步骤:
设备上电,DSP启动iButton检测;
若DSP检测到iButton,则读取并验证iButton中的授权数据;
iButton授权验证通过后,DSP再次读取iButton中的加密指令数据,并将读取到的所述加密指令数据进行解密;
DSP根据解密后的指令数据,加载并执行存储器中对应所述指令数据的功能程序,完成设备功能的动态重构。
进一步地,设备上电后,在设备功能执行过程中,DSP基于预设条件持续进行iButton检测,若检测到新iButton,则以下述步骤进行处理:
DSP读取并验证新iButton中的授权数据;
新iButton授权验证通过后,DSP根据新iButton和前iButton的授权数据进行优先级判断,若新iButton的优先级高,则中止当前执行的功能,DSP读取、解密新iButton中加密指令数据,加载并执行存储器中对应所述新iButton中指令数据的功能程序;否则当前功能正常执行。
进一步地,iButton中加密指令数据的内容包括功能序号,所述功能序号对应所述设备中的各功能;基于所述功能序号与功能程序的对应关系,加载并执行存储器中对应所述指令数据的功能程序。
进一步地,iButton中加密指令数据的内容还包括功能限制时间和功能执行顺序;当iButton中存在多条加密指令数据时,DSP根据加密指令数据中的功能限制时间完成功能程序的切换,并根据加密指令数据中的功能执行顺序执行各功能程序。
进一步地,所述存储器将所述设备各功能的功能程序存储在不同区域,且各区域通过各功能的功能序号区分。
进一步地,DSP根据解密后指令数据中的功能序号,加载并执行存储器中对应区域的功能程序,若不存在对应区域或对应区域不存在功能程序,则DSP加载并执行存储器中默认区域的程序。
进一步地,设备上电,DSP未检测到iButton时,DSP加载并执行存储器默认区域中的程序。
进一步地,DSP将加密指令数据进行解密,解密不成功时,DSP不加载存储器中的程序。
另一方面,本发明实施例提供了一种基于iButton授权的DSP功能动态重构装置,包括:
iButton模块,用于存储授权数据和加密指令数据;
存储器模块,用于存储设备的功能程序;
DSP模块,用于检测iButton;DSP检测到iButton,DSP读取并验证iButton中的授权数据;iButton授权验证通过后,DSP再次读取iButton中的加密指令数据,并将加密指令数据进行解密;DSP根据解密后的指令数据,加载并执行存储器中的功能程序,完成设备功能的动态重构。
进一步地,iButton模块中加密指令数据的内容包括功能序号,所述功能序号对应所述设备中的各功能;基于所述功能序号与功能程序的对应关系,加载并执行存储器中对应所述指令数据的功能程序。
与现有技术相比,本发明具有以下效果:
本发明提供的一种基于iButton授权的DSP功能动态重构方法及装置,通过将授权数据和指令信息保存到iButton中,经DSP验证授权数据后进行设备功能的切换,使得授权方式简单,占的空间资源小,安全可靠性高,能够有效避免非授权操作对设备功能进行修改;对指令信息进行加密后存储在iButton中,可以进一步提高在进行功能动态重构的安全性,使得授权数据泄露后,还可以有一定的保障措施,更加可靠安全。
本发明中,上述各技术方案之间还可以相互组合,以实现更多的优选组合方案。本发明的其他特征和优点将在随后的说明书中阐述,并且,部分优点可从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过说明书以及附图中所特别指出的内容中来实现和获得。
具体实施方式
下面结合附图来具体描述本发明的优选实施例,其中,附图构成本申请一部分,并与本发明的实施例一起用于阐释本发明的原理,并非用于限定本发明的范围。
实施例1
本发明的一个具体实施例1,公开了一种基于iButton授权的DSP功能动态重构方法,如图1所示,包括以下步骤:
S1、设备上电,DSP启动iButton(information button的缩写,即信息纽扣)检测。
其中的设备指由功能不唯一的功能模块组成的、可实现多种功能的设备,包括DSP、存储器和各功能的执行模块。其中的DSP上设置有一个iButton接口,具体的DSP可通过在任意一个I/O上设置1-wire适配器后作为该iButton接口,也可通过在DSP中的任意一个I/O口软件实现1-wire协议后作为该iButton接口。在设备的存储器中存储有BOOTLOADER程序,即启动加载程序,在设备上电后,DSP立即执行该启动加载程序,初始化设备,开始检测iButton接口的状态。
S2、若DSP检测到iButton,则读取并验证iButton中的授权数据。
当iButton接口接入iButton时,DSP检测到该iButton。
具体的,iButton中的授权数据用于验证该iButton是否有权限对设备的功能进行动态重构;可以选择用户名和密码的形式,DSP通过验证用户名对应的密码是否正确判断授权是否通过。
实施时,设备上电,DSP未检测到iButton时,DSP加载并执行存储器默认区域中的程序。
具体的,存储器默认区域中存储的程序是设备最基本、可执行的通用功能,例如,只对设备硬件进行状态检测的功能。在对设备没有需求时,可作为设备基本的功能执行,在设备有其他功能需求时,可通过iButton进行功能的动态重构。
S3、iButton授权验证通过后,DSP再次读取iButton中的加密指令数据,并将读取到的所述加密指令数据进行解密。
具体的,指令数据按照特定的规则进行加密处理存储在iButton中,可以进一步加强动态重构设备功能的安全性,指令数据可通过对称密码方法、非对称密码方法等进行加密,DSP根据对应的解密方式进行解密;其中,在对指令数据按照特定规则进行加密时,将约定的解密格式存储在DSP中,比如指令数据根据设定的加密密钥利用对称密码方法进行加密得到加密指令数据,则在DSP中存储该加密密钥作为解密密钥,DSP根据解密密钥通过对称密码方法对加密的指令数据进行解密得到指令数据。
实施时,DSP将加密指令数据进行解密,解密不成功时,DSP不加载存储器中的程序。
实施时,iButton中加密指令数据的内容包括功能序号,所述功能序号对应设备中的各功能;基于所述功能序号与功能程序的对应关系,加载并执行存储器中对应所述指令数据的功能程序。
S4、DSP根据解密后的指令数据,加载并执行存储器中对应所述指令数据的功能程序,完成设备功能的动态重构。应当注意的是,在设备的功能开始执行后,此时DSP检测不到iButton,不影响当前功能的正常运行。
实施时,所述存储器将所述设备各功能的功能程序存储在不同区域,且各区域通过各功能的功能序号区分。可以理解的,DSP根据指令数据中的功能序号即可加载到存储器中功能程序对应的存储区域。
实施时,DSP根据解密后指令数据中的功能序号,加载并执行存储器中对应区域的功能程序,若不存在对应区域或对应区域不存在功能程序,则DSP加载并执行存储器中默认区域的程序。可以理解的,在指令数据中的功能序号出现错误导致找不到对应的区域,或者存储器故障导致在对应的功能序号的存储器区域中不存在功能程序时,为保证设备工作正常,使其运行默认区域的程序,维持设备的稳定。
实施时,设备上电后,在设备功能执行过程中,DSP基于预设条件持续进行iButton检测,若检测到新iButton,则以下述步骤进行处理:
DSP读取并验证新iButton中的授权数据。
新iButton授权验证通过后,DSP根据新iButton和前iButton的授权数据进行优先级判断,若新iButton的优先级高,则中止当前执行的功能,DSP读取、解密新iButton中加密指令数据,加载并执行存储器中对应所述新iButton中指令数据的功能程序;否则当前功能正常执行。应当注意的是,在设备执行默认区域的程序功能时,检测到iButton,此时的DSP执行iButton中的指令数据对应的功能程序,也就是说默认区域的功能程序在设备执行功能时优先级最低。
具体的,设备上电后,在设备功能执行过程中,DSP基于预设条件持续进行iButton检测,即DSP持续对iButton接口状态进行监测。其中,DSP预设条件可以是检测时间间隔,比如间隔1分钟、1小时等,也可以是在固定的时间段检测。
实施时,iButton中加密指令数据的内容还包括功能限制时间和功能执行顺序;当iButton中存在多条加密指令数据时,DSP根据加密指令数据中的功能限制时间完成功能程序的切换,并根据加密指令数据中的功能执行顺序执行各功能程序。
具体的,加密指令数据中的功能限制时间,用于限制该加密指令数据中功能程序的执行时间;加密指令数据中的功能执行顺序,用于设置iButton中存在多条加密指令数据时,DSP执行各加密指令数据的顺序。可以理解的,在iButton中存在一条加密指令数据时,也可通过功能限制时间限制对应功能程序的执行时间。
具体的,当DSP接收到的iButton中加密指令数据存在多条时,首先DSP根据指令数据中的功能执行顺序确定指令数据的执行顺序,在根据每条指令数据中的功能限制时间确定该条指令数据对应的功能程序的执行时间,在执行时间达到后,DSP中止该功能程序,并切换执行下一顺序的指令数据中对应的功能程序,直至所有的指令数据的对应功能程序执行完成。
进一步地,iButton中加密指令数据的内容还可以包括功能参数配置,可用于设置执行该指令数据对应功能程序的参数设置,满足设备功能的不同需求。
与现有技术相比,本实施例提供的一种基于iButton授权的DSP功能动态重构方法,通过将授权数据和指令信息保存到iButton中,经DSP验证授权数据后进行设备功能的切换,使得授权方式简单,占的空间资源小,安全可靠性高,能够有效避免非授权操作对设备功能进行修改,能够在保证安全可靠的前提下,提高设备功能的灵活性;对指令信息进行加密后存储在iButton中,可以进一步提高在进行功能动态重构的安全性,使得授权数据泄露后,还可以有一定的保障措施,更加可靠安全。
实施例2
本发明的一个具体实施例2,公开了一种基于iButton授权的DSP功能动态重构装置,如图2所示,包括:
iButton模块,用于存储授权数据和加密指令数据。
存储器模块,用于存储设备的功能程序。
DSP模块,用于检测iButton;DSP检测到iButton,DSP读取并验证iButton中的授权数据;iButton授权验证通过后,DSP再次读取iButton中的加密指令数据,并将加密指令数据进行解密;DSP根据解密后的指令数据,加载并执行存储器中的功能程序,完成设备功能的动态重构。
实施时,iButton模块中加密指令数据的内容包括功能序号,所述功能序号对应所述设备中的各功能;基于所述功能序号与功能程序的对应关系,加载并执行存储器中对应所述指令数据的功能程序。
具体实施时,DSP模块通过GPIO0与iButton模块连接,用于在设备工作时根据1-wire总线协议访问iButton模块,在检测到iButton器件插入后,读取并验证授权数据,通过后即可对具体指令数据进行解析。DSP模块通过EMIF总线与存储器连接,用于加载所述存储器模块中的功能程序。
示例性地,本实施例的系统中使用3个型号为DS1977的iButton,各存储1组加密指令数据;使用FLASH存储器,用于存储设备的各功能程序。首先将设备功能模块的DSP程序数据烧写在FLASH存储器的不同空间区域,可通过上位机烧写软件,上位机烧写软件发送功能程序文件时,该文件信息中带有功能序号,DSP收到烧写指令后,按照功能序号将功能程序文件烧写到FLASH存储器中的对应区域进行存储。本实施例中使用一款型号为S29GL01GP的FLASH存储器,其内部有1024个扇区,每个扇区包含64Kword存储空间,使用时可将扇区分为3个功能程序的区域,用于存储三组指令数据对应的功能程序,1个默认区域用于存储默认功能程序,以及初始化区域用于存储BOOTLOADER程序。设备上电后,DSP加载初始化区域的BOOTLOADER程序,初始化设备,开始对iButton接口进行检测,若检测不到iButton,则DSP加载并执行FLASH存储器默认区域的程序;若检测到iButton,则读取并验证iButton中的授权数据;iButton的授权数据验证通过后,DSP读取iButton中的加密指令数据,DSP根据存储的解密规则对加密指令数据进行解密;DSP根据解密后的指令数据中的功能序号,加载并执行FLASH存储器中对应区域的功能程序;此外,在设备功能执行过程中,若DSP检测到新iButton,则首先验证该iButton的授权数据,授权数据通过后,判断该iButton与前iButton的优先级,若该iButton的优先级高,则DSP中止当前功能,执行新iButton中加密指令数据对应的功能程序;若该iButton的优先级低,则当前设备功能正常执行。
需要说明的是,本实施例与实施例1相关之处可相互借鉴,此处为重复描述。如本实施例2加密指令数据包括的内容,可选择实施例1中的加密指令数据的内容;本实施例2中存储器存储功能程序的方式,选择实施例1的具体生成方式。
由于本系统实施例与上述方法实施例原理相同,所以本系统也具有上述方法实施例相应的技术效果。
本领域技术人员可以理解,实现上述实施例方法的全部或部分流程,可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于计算机可读存储介质中。其中,所述计算机可读存储介质为磁盘、光盘、只读存储记忆体或随机存储记忆体等。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。