CN109195147A - 一种蓝牙设备中Flash软件内容防窃取的算法、系统及存储介质 - Google Patents

一种蓝牙设备中Flash软件内容防窃取的算法、系统及存储介质 Download PDF

Info

Publication number
CN109195147A
CN109195147A CN201811325074.7A CN201811325074A CN109195147A CN 109195147 A CN109195147 A CN 109195147A CN 201811325074 A CN201811325074 A CN 201811325074A CN 109195147 A CN109195147 A CN 109195147A
Authority
CN
China
Prior art keywords
bluetooth
programming
equipment
operator
software
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
CN201811325074.7A
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.)
Shenzhen Blue Bee Industrial Co Ltd
Original Assignee
Shenzhen Blue Bee Industrial 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 Shenzhen Blue Bee Industrial Co Ltd filed Critical Shenzhen Blue Bee Industrial Co Ltd
Priority to CN201811325074.7A priority Critical patent/CN109195147A/zh
Publication of CN109195147A publication Critical patent/CN109195147A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/80Services using short range communication, e.g. near-field communication [NFC], radio-frequency identification [RFID] or low energy communication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/06Authentication

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Security & Cryptography (AREA)
  • Technology Law (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Multimedia (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

一种蓝牙设备中Flash软件内容防窃取的算法、系统及存储介质,算法包括下述步骤:1、设置魔术字;2、读取当前设备的蓝牙配对名;3、读取当前设备的蓝牙地址;4、将魔术字、蓝牙配对名和蓝牙地址三个字符串合并;5、根据步骤S4中合并的字符串,计算md5的值,生成安全码,将安全码烧录在Flash芯片里;6、蓝牙设备上电,执行安全码匹配比对的程序,如果匹配则系统继续正常运行,如果不匹配,系统进行自锁:7、量产时,采用量产工具mptool.exe将设备端软件被烧写到flash,再烧写这三个关键参数到特定的位置;8、内部测试或试产时,上位机上将使用试产工具pptool.exe设备端软件被烧写到flash。

Description

一种蓝牙设备中Flash软件内容防窃取的算法、系统及存储 介质
技术领域
本发明公开一种软件内容防窃取的算法,特别是一种蓝牙设备中Flash软件内容防窃取的算法、系统及存储介质,属于软件技术安全保护领域。
背景技术
随着电子产品智能化水平的发展,很多电子产品中都内置有软件算法,对其进行智能控制。对于电子产品研发企业来说,面临的最大的问题,就是软件窃取的问题,如果自己付出巨大努力取得的成果,植入至产品中进行应用,如果很轻易地被他人窃取盗用,将会带来严重的损失。因此,研究一种防止不良客户简单读出即可量产的保护技术机制,迫在眉睫。
发明内容
针对上述提到的现有技术中的电子产品中的软件容易被他人盗用的缺点,本发明提供一种蓝牙设备中Flash软件内容防窃取的算法、系统及存储介质,其根据蓝牙配对名、蓝牙地址和魔术字计算出安全码,蓝牙设备上电时执行安全码匹配比对的程序,如果相同,则认为正常,如果安全码不相同,则认为被窃取,系统执行自锁。
本发明解决其技术问题采用的技术方案是:一种蓝牙设备中Flash软件内容防窃取的算法,该算法包括下述步骤:
步骤S1、设置魔术字;
步骤S2、读取当前设备的蓝牙配对名;
步骤S3、读取当前设备的蓝牙地址;
步骤S4、将魔术字、蓝牙配对名和蓝牙地址三个字符串合并;
步骤S5、根据步骤S4中合并的字符串,计算md5的值,生成唯一的安全码,将安全码烧录在Flash芯片里特定的安全区域;
步骤S6、蓝牙设备上电,系统做完初始化动作后,执行安全码匹配比对的程序,如果匹配则系统继续正常运行,如果不匹配,系统进行自锁:
步骤S7、在量产时,上位机PC上的量产工具,由操作人员输入设置三个关键参数:MagicWord、DevName和DevAddr,mptool.exe内部使用蓝牙设备端同样的算法来生成安全码,待设备端软件被烧写到flash后,再烧写这三个关键参数到特定的位置;
步骤S8、内部测试或试产时,上位机PC上将使用试产工具,由操作员输入设置三个参数:DevName、DevAddr、SecureCode,待设备端软件被烧写到flash后,再烧写这三个关键参数到特定的位置;
步骤S1、步骤S2和步骤S3执行不分先后,步骤S7和步骤S8执行不分先后。
一种蓝牙设备中Flash软件内容防窃取的系统,该系统包括:
设置单元,用于设置魔术字;
读取单元,用于读取当前设备的蓝牙配对名以及当前设备的蓝牙地址;
合并单元,用于将魔术字、蓝牙配对名和蓝牙地址三个字符串连接合并;
安全码生成单元,用于根据合并单元提供的字符串,使用加密md5算法计算md5的值,作为唯一的安全码,将安全码烧录在Flash芯片里特定的安全区域;
安全码比对单元,用于在蓝牙设备上电后系统做完初始化动作后,执行安全码匹配比对的程序;
量产烧录单元,在量产时,上位机PC上的量产工具由操作人员输入设置三个关键参数:MagicWord、DevName和DevAddr,mptool.exe内部使用蓝牙设备端同样的算法来生成安全码,待设备端软件被烧写到flash后,再烧写这三个关键参数到特定的位置;
内部测试或试产烧录单元,用于在研发内部测试或试产时,上位机PC上将使用试产工具,试产工具由操作员输入设置三个参数:DevName、DevAddr、SecureCode。
一种存储有如上述的蓝牙设备中Flash软件内容防窃取的算法的存储介质。
本发明解决其技术问题采用的技术方案进一步还包括:
所述的步骤S5中,安全码烧录在Flash芯片最后16个字节。
所述的步骤S6包括下述子步骤:
步骤S6-1、首先读取蓝牙设备配对名称DevName和设备地址DevAddr;
步骤S6-2、加上内置的魔术字字符串MagicWord(它的作用是增加被人破解保护算法的难度);
步骤S6-3、采用同样的算法,生成一个安全码(SecureCode);
步骤S6-4、从flash的安全区域(SecureCodeArea)位置读出早前烧写工具写入的安全码(SavedSecureCode);
步骤S6-5、比较这两个安全码,如果匹配则系统继续正常运行,如果不匹配,则认为关键参数(蓝牙设备配对名称DevName和设备地址DevAddr)被非法修改过,即认为被盗用,系统将进行自锁。
所述的步骤S7包括下述子步骤:
步骤S7-1、操作员在量产工具里选择要烧写的软件;
步骤S7-2、操作员输入魔术字,对于同一个项目,应与设备端的魔术字一样;
步骤S7-3、操作员输入设备的起始的蓝牙地址;
步骤S7-4、操作员输入设备的蓝牙配对名称;
步骤S7-5、操作员固定线路板进行软件烧录;
步骤S7-6、烧写软件到设备;
步骤S7-7、将三个字符串合并;
步骤S7-8、根据上面的合并字符串,计算md5的值,生成安全码;
步骤S7-9、烧写三元组参数到设备;
步骤S7-10、蓝牙设备地址增长1,然后跳转到S7-5,准备烧写下一个。
所述的步骤S8包括下述子步骤:
步骤S8-1、操作员在试产工具里选择要烧写的软件;
步骤S8-2、操作员输入安全码;
步骤S8-3、操作员输入设备的蓝牙地址;
步骤S8-4、操作员输入设备的蓝牙配对名称;
步骤S8-5、操作员固定线路板进行软件烧录;
步骤S8-6、烧写软件到设备;
步骤S8-7、烧写三元组参数到设备。
所述的安全码比对单元包括如下子单元:
读取子单元,用于读取蓝牙设备配对名称DevName和设备地址DevAddr;
魔术字加入子单元,用于在设备配对名称DevName和设备地址DevAddr中加上内置的魔术字字符串MagicWord;
安全码生成子单元,用于采用与安全码生成单元同样的算法,生成一个安全码;
安全码读取子单元,用于从flash的安全区域位置读出早前烧写工具写入的安全码;
安全码比较子单元,用于比较两个安全码,如果匹配则系统继续正常运行,如果不匹配,则认为关键参数被非法修改过,即认为被盗用,系统将进行自锁(进入死循环)。
所述的量产烧录单元包括如下子单元:
程序选择子单元,用于让操作员在量产工具里选择要烧写的软件;
魔术字输入子单元,用于让操作员输入魔术字;
参数输入子单元,用于让操作员输入设备的起始的蓝牙地址以及设备的蓝牙配对名称;
烧录子单元,用于让操作员固定好线路板,然后开始烧录;
烧写程序子单元,用于烧写软件到设备;
合并子单元,用于将三个字符串合并;
安全码生成子单元,用于根据上面的合并字符串,计算md5的值,生成安全码;
烧写参数子单元,用于烧写三元组参数到设备;
地址增长子单元,蓝牙设备地址增长1,准备烧写下一个。
所述的内部测试或试产烧录单元包括如下子单元:
程序选择子单元,用于让操作员在试产工具里选择要烧写的软件;
参数输入子单元,用于让操作员输入安全码、设备的蓝牙地址和设备的蓝牙配对名称;
烧录子单元,用于让操作员固定好线路板,然后开始烧录;
烧写程序子单元,用于烧写软件到设备;
烧写参数子单元,用于烧写三元组参数到设备。
本发明的有益效果是:通过应用本发明的技术,使客户合作时,不用再担心辛苦研发所得的设备端软件,被读出来进行量产,把设计人旁路掉,设计人发布试产工具给用户,用户自己可以烧写研发阶段的软件,来进行功能测试和软件确认,不用等设计方技术人员来完成,提高了沟通效率。
下面将结合附图和具体实施方式对本发明做进一步说明。
附图说明
图1是本发明设备端安全码比对的流程图。
图2是量产烧写软件和三元组参数的流程图。
图3是试产烧写软件和三元组参数的流程图。
具体实施方式
本实施例为本发明优选实施方式,其他凡其原理和基本结构与本实施例相同或近似的,均在本发明保护范围之内。
本发明主要为一种蓝牙设备软件Flash内容防窃取的算法,包括以下步骤:
步骤S1、设置魔术字(magicWord),比如“Wlink”,本实施例中,魔术字的作用是增加被人破解保护算法的难度;
步骤S2、读取当前设备的蓝牙配对名(DevName);
步骤S3、读取当前设备的蓝牙地址(DevAddr);
步骤S4、将魔术字、蓝牙配对名和蓝牙地址三个字符串连接合并(即将三个字符串连接成一个);
步骤S5、根据步骤S4中合并的字符串,使用加密md5算法计算md5的值,作为唯一的安全码(SecureCode),本实施例中,使用md5是因为它的不可逆性,用户无法根据结果字符串猜测出原始字符串,将安全码烧录在Flash芯片里特定的安全区域(SecureCodeArea),比如:Flash芯片最后16个字节;
步骤S6、在蓝牙设备上电系统做完一些必要的初始化动作后,会执行安全码匹配比对的程序:
步骤S6-1、首先读取蓝牙设备配对名称DevName和设备地址DevAddr;
步骤S6-2、加上内置的魔术字字符串MagicWord(它的作用是增加被人破解保护算法的难度);
步骤S6-3、采用同样的算法,生成一个安全码(SecureCode);
步骤S6-4、从flash的安全区域(SecureCodeArea)位置读出早前烧写工具写入的安全码(SavedSecureCode);
步骤S6-5、比较这两个安全码,如果匹配则系统继续正常运行,如果不匹配,则认为关键参数(蓝牙设备配对名称DevName和设备地址DevAddress)被非法修改过,即认为被盗用,系统将进行自锁(即控制进入死循环);
步骤S7、在研发完成进行量产时,上位机PC上的量产工具(如mptool.exe)由操作人员输入设置三个关键参数:MagicWord、DevName和DevAddr,mptool.exe内部使用蓝牙设备端同样的算法来生成安全码,待设备端软件被烧写到flash后,再烧写这三个关键参数(简称三元组)到特定的位置,其中DevAddr可实现自动增长,操作人员只需设置起始值,本实施例中,mptool.exe通常仅限于开发设计公司自己内部的工厂使用,不允许发布给第三方。为了防止mptool.exe被非法盗用拷贝,mptool.exe需要用设计开发核心研发人员用软件生成的注册码来注册才能正常使用,没注册将不能正常使用;量产时的操作方法包括下述步骤:
步骤S7-1、操作员在量产工具(mptool.exe)里选择要烧写的软件,比如:firmware.bin;
步骤S7-2、操作员输入魔术字,魔术字的作用是增加被人破解保护算法的难度,魔术字由设计开发人员提供,对于同一个项目,应该设备端的魔术字一样;
步骤S7-3、操作员输入设备的起始的蓝牙地址;
步骤S7-4、操作员输入设备的蓝牙配对名称;
步骤S7-5、操作员用夹具夹好线路板(本实施例中,为PCB板),然后按“开始”键开始烧录;
步骤S7-6、烧写软件(如:firmware.bin)到设备;
步骤S7-7、将三个字符串(MagicWord、DevName、DevAddr)合并;
步骤S7-8、根据上面的合并字符串,计算md5的值,生成安全码,使用md5,是因为它的不可逆,用户无法根据结果字符串猜测出原始字符串;
步骤S7-9、烧写三元组参数(DevName、DevAddr、SecureCode)到设备;
步骤S7-10、蓝牙设备地址DevAddr增长1,然后跳转到S7-5,准备烧写下一个。
步骤S8、在研发内部测试或试产时,上位机PC上将使用试产工具(pptool.exe),此工具可以发布给第三方,无需注册码注册即可使用,因此它内部不包含生成安全码的功能,以防生成安全码的算法被外人破解,pptool.exe由操作员输入设置三个参数:DevName、DevAddr、SecureCode,前两个参数可由第三方提供,最后一个参数将由设计公司核心研发人员生成,然后发布出来一组匹配的三元组参数。因此,使用pptool.exe只能用户试产时单个或少数的设备端软件烧写,不能用于量产。本实施例中,研发内部测试或试产时主要包括下述步骤:
步骤S8-1、操作员在我司特别研发的试产工具pptool.exe里选择要烧写的软件,比如firmware.bin;
步骤S8-2、操作员输入安全码;
步骤S8-3、操作员输入设备的蓝牙地址;
步骤S8-4、操作员输入设备的蓝牙配对名称,试产过程中,原则上只提供10个以内三元组用于试产,均由软件部门提供;
步骤S8-5、操作员连接好调试设备板,然后按“开始”键开始烧录;
步骤S8-6、烧写软件(如:firmware.bin)到设备;
步骤S8-7、烧写三元组参数(DevName、DevAddr、SecureCode)到设备。
本发明还保护一种蓝牙设备中Flash软件内容防窃取的系统,该主要包括:
设置单元,用于设置魔术字(magicWord),比如“Wlink”,本实施例中,魔术字的作用是增加被人破解保护算法的难度;
读取单元,用于读取当前设备的蓝牙配对名(DevName)以及当前设备的蓝牙地址(DevAddr);
合并单元,用于将魔术字、蓝牙配对名和蓝牙地址三个字符串连接合并;
安全码生成单元,用于根据合并单元提供的字符串,使用md5加密算法计算md5的值,作为唯一的安全码(SecureCode),本实施例中,使用md5是因为它的不可逆性,用户无法根据结果字符串猜测出原始字符串,将安全码烧录在Flash芯片里特定的安全区域(SecureCodeArea),比如:Flash芯片最后16个字节;
安全码比对单元,用于在蓝牙设备上电系统做完一些必要的初始化动作后,会执行安全码匹配比对的程序;
量产烧录单元,在研发完成进行量产时,上位机PC上的量产工具(如:mptool.exe)由操作人员输入设置三个关键参数:MagicWord、DevName和DevAddr,mptool.exe内部使用蓝牙设备端同样的算法来生成安全码,待设备端软件被烧写到flash后,再烧写这三个关键参数(简称三元组)到特定的位置,其中DevAddr可实现自动增长,操作人员只需设置起始值,本实施例中,mptool.exe仅限于开发设计公司自己内部的工厂使用,不允许发布给第三方。为了防止mptool.exe被非法盗用拷贝,mptool.exe需要用设计开发核心研发人员用软件生成的注册码来注册才能正常使用,没注册将不能正常使用;
内部测试或试产烧录单元,用于在研发内部测试或试产时,上位机PC上将使用试产工具pptool.exe,此工具可以发布给第三方,也无需注册码注册即可使用,因此它内部不包含生成安全码的功能,以防生成安全码的算法被外人破解,pptool.exe由操作员输入设置三个参数:DevName、DevAddr、SecureCode,前两个参数可由第三方提供,最后一个参数将由设计公司核心研发人员生成,然后发布出来一组匹配的三元组参数。因此,使用pptool.exe只能用户试产时单个或少数的设备端软件烧写,不能用于量产。
本实施例中,安全码比对单元包括如下子单元:
读取子单元,用于读取蓝牙设备配对名称DevName和设备地址DevAddr;
魔术字加入子单元,用于在设备配对名称DevName和设备地址DevAddr中加上内置的魔术字字符串MagicWord(它的作用是增加被人破解保护算法的难度);
安全码生成子单元,用于采用与安全码生成单元同样的算法,生成一个安全码(SecureCode);
安全码读取子单元,用于从flash的安全区域(SecureCodeArea)位置读出早前烧写工具写入的安全码(SavedSecureCode);
安全码比较子单元,用于比较这两个安全码,如果匹配则系统继续正常运行,如果不匹配,则认为关键参数(蓝牙设备配对名称DevName和设备地址DevAddress)被非法修改过,即认为被盗用,系统将进行自锁(进入死循环);
本实施例中,量产烧录单元包括如下子单元:
程序选择子单元,用于让操作员在mptool.exe里选择要烧写的软件,比如:firmware.bin;
魔术字输入子单元,用于让操作员输入魔术字,魔术字的作用是增加被人破解保护算法的难度,魔术字由设计开发人员提供,对于同一个项目,应该设备端的魔术字一样;
参数输入子单元,用于让操作员输入设备的起始的蓝牙地址以及设备的蓝牙配对名称;
烧录子单元,用于让操作员用夹具夹好线路板(本实施例中,为PCB板),然后按“开始”键开始烧录;
烧写程序子单元,用于烧写软件(如:firmware.bin)到设备;
合并子单元,用于将三个字符串(MagicWord、DevName、DevAddr)合并;
安全码生成子单元,用于根据上面的合并字符串,计算md5的值,生成安全码,使用md5,是因为它的不可逆,用户无法根据结果字符串猜测出原始字符串;
烧写参数子单元,用于烧写三元组参数(DevName、DevAddr、SecureCode)到设备;
地址增长子单元,蓝牙设备地址DevAddr增长1,准备烧写下一个。
本实施例中,内部测试或试产烧录单元包括如下子单元:
程序选择子单元,用于让操作员在我司特别研发的试产工具pptool.exe里选择要烧写的软件,比如firmware.bin;
参数输入子单元,用于让操作员输入安全码、设备的蓝牙地址和设备的蓝牙配对名称,试产过程中,原则上只提供10个以内三元组用于试产,均由软件部门提供;
烧录子单元,用于让操作员连接好调试设备板,然后按“开始”键开始烧录;
烧写程序子单元,用于烧写软件(如:firmware.bin)到设备;
烧写参数子单元,用于烧写三元组参数(DevName、DevAddr、SecureCode)到设备。
本发明还保护一种存储介质,存储介质中存储上述蓝牙设备软件Flash内容防窃取的算法的程序。
通过应用本发明的技术,使客户合作时,不用再担心辛苦研发所得的设备端软件,被读出来进行量产,把设计人旁路掉,设计人发布试产工具给用户,用户自己可以烧写研发阶段的软件,来进行功能测试和软件确认,不用等设计方技术人员来完成,提高了沟通效率。

Claims (10)

1.一种蓝牙设备中Flash软件内容防窃取的算法,其特征是:所述的算法包括下述步骤:
步骤S1、设置魔术字;
步骤S2、读取当前设备的蓝牙配对名;
步骤S3、读取当前设备的蓝牙地址;
步骤S4、将魔术字、蓝牙配对名和蓝牙地址三个字符串合并;
步骤S5、根据步骤S4中合并的字符串,计算md5的值,生成唯一的安全码,将安全码烧录在Flash芯片里特定的安全区域;
步骤S6、蓝牙设备上电,系统做完初始化动作后,执行安全码匹配比对的程序,如果匹配则系统继续正常运行,如果不匹配,系统进行自锁:
步骤S7、在量产时,上位机PC上的量产工具,由操作人员输入设置三个关键参数:MagicWord、DevName和DevAddr,mptool.exe内部使用蓝牙设备端同样的算法来生成安全码,待设备端软件被烧写到flash后,再烧写这三个关键参数到特定的位置;
步骤S8、内部测试或试产时,上位机PC上将使用试产工具,由操作员输入设置三个参数:DevName、DevAddr、SecureCode,待设备端软件被烧写到flash后,再烧写这三个关键参数到特定的位置;
步骤S1、步骤S2和步骤S3执行不分先后,步骤S7和步骤S8执行不分先后。
2.根据权利要求1所述的蓝牙设备中Flash软件内容防窃取的算法,其特征是:所述的步骤S5中,安全码烧录在Flash芯片最后16个字节。
3.根据权利要求1所述的蓝牙设备中Flash软件内容防窃取的算法,其特征是:所述的步骤S6包括下述子步骤:
步骤S6-1、首先读取蓝牙设备配对名称DevName和设备地址DevAddr;
步骤S6-2、加上内置的魔术字字符串MagicWord(它的作用是增加被人破解保护算法的难度);
步骤S6-3、采用同样的算法,生成一个安全码(SecureCode);
步骤S6-4、从flash的安全区域(SecureCodeArea)位置读出早前烧写工具写入的安全码;
步骤S6-5、比较这两个安全码,如果匹配则系统继续正常运行,如果不匹配,则认为关键参数(蓝牙设备配对名称DevName和设备地址DevAddr)被非法修改过,即认为被盗用,系统将进行自锁。
4.根据权利要求1所述的蓝牙设备中Flash软件内容防窃取的算法,其特征是:所述的步骤S7包括下述子步骤:
步骤S7-1、操作员在量产工具里选择要烧写的软件;
步骤S7-2、操作员输入魔术字,对于同一个项目,应与设备端的魔术字一样;
步骤S7-3、操作员输入设备的起始的蓝牙地址;
步骤S7-4、操作员输入设备的蓝牙配对名称;
步骤S7-5、操作员固定线路板进行软件烧录;
步骤S7-6、烧写软件到设备;
步骤S7-7、将三个字符串合并;
步骤S7-8、根据上面的合并字符串,计算md5的值,生成安全码;
步骤S7-9、烧写三元组参数到设备;
步骤S7-10、蓝牙设备地址增长1,然后跳转到S7-5,准备烧写下一个。
5.根据权利要求1所述的蓝牙设备中Flash软件内容防窃取的算法,其特征是:所述的步骤S8包括下述子步骤:
步骤S8-1、操作员在试产工具里选择要烧写的软件;
步骤S8-2、操作员输入安全码;
步骤S8-3、操作员输入设备的蓝牙地址;
步骤S8-4、操作员输入设备的蓝牙配对名称;
步骤S8-5、操作员固定线路板进行软件烧录;
步骤S8-6、烧写软件到设备;
步骤S8-7、烧写三元组参数到设备。
6.一种蓝牙设备中Flash软件内容防窃取的系统,其特征是:所述的系统包括:
设置单元,用于设置魔术字;
读取单元,用于读取当前设备的蓝牙配对名以及当前设备的蓝牙地址;
合并单元,用于将魔术字、蓝牙配对名和蓝牙地址三个字符串连接合并;
安全码生成单元,用于根据合并单元提供的字符串,使用md5加密算法计算md5的值,作为唯一的安全码,将安全码烧录在Flash芯片里特定的安全区域;
安全码比对单元,用于在蓝牙设备上电后系统做完初始化动作后,执行安全码匹配比对的程序;
量产烧录单元,在量产时,上位机PC上的量产工具由操作人员输入设置三个关键参数:MagicWord、DevName和DevAddr,mptool.exe内部使用蓝牙设备端同样的算法来生成安全码,待设备端软件被烧写到flash后,再烧写这三个关键参数到特定的位置;
内部测试或试产烧录单元,用于在研发内部测试或试产时,上位机PC上将使用试产工具,试产工具由操作员输入设置三个参数:DevName、DevAddr、SecureCode。
7.根据权利要求6所述的蓝牙设备中Flash软件内容防窃取的系统,其特征是:所述的安全码比对单元包括如下子单元:
读取子单元,用于读取蓝牙设备配对名称DevName和设备地址DevAddr;魔术字加入子单元,用于在设备配对名称DevName和设备地址DevAddr中加上内置的魔术字字符串MagicWord;
安全码生成子单元,用于采用与安全码生成单元同样的算法,生成一个安全码;
安全码读取子单元,用于从flash的安全区域位置读出早前烧写工具写入的安全码;
安全码比较子单元,用于比较两个安全码,如果匹配则系统继续正常运行,如果不匹配,则认为关键参数被非法修改过,即认为被盗用,系统将进行自锁。
8.根据权利要求6所述的蓝牙设备中Flash软件内容防窃取的系统,其特征是:所述的量产烧录单元包括如下子单元:
程序选择子单元,用于让操作员在量产工具里选择要烧写的软件;
魔术字输入子单元,用于让操作员输入魔术字;
参数输入子单元,用于让操作员输入设备的起始的蓝牙地址以及设备的蓝牙配对名称;
烧录子单元,用于让操作员固定好线路板,然后开始烧录;
烧写程序子单元,用于烧写软件到设备;
合并子单元,用于将三个字符串合并;
安全码生成子单元,用于根据上面的合并字符串,计算md5的值,生成安全码;
烧写参数子单元,用于烧写三元组参数到设备;
地址增长子单元,蓝牙设备地址增长1,准备烧写下一个。
9.根据权利要求6所述的蓝牙设备中Flash软件内容防窃取的系统,其特征是:所述的内部测试或试产烧录单元包括如下子单元:
程序选择子单元,用于让操作员在试产工具里选择要烧写的软件;
参数输入子单元,用于让操作员输入安全码、设备的蓝牙地址和设备的蓝牙配对名称;
烧录子单元,用于让操作员固定好线路板,然后开始烧录;
烧写程序子单元,用于烧写软件到设备;
烧写参数子单元,用于烧写三元组参数到设备。
10.一种存储有如权利要求1至5中任意一项所述的蓝牙设备中Flash软件内容防窃取的算法的存储介质。
CN201811325074.7A 2018-11-08 2018-11-08 一种蓝牙设备中Flash软件内容防窃取的算法、系统及存储介质 Pending CN109195147A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811325074.7A CN109195147A (zh) 2018-11-08 2018-11-08 一种蓝牙设备中Flash软件内容防窃取的算法、系统及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811325074.7A CN109195147A (zh) 2018-11-08 2018-11-08 一种蓝牙设备中Flash软件内容防窃取的算法、系统及存储介质

Publications (1)

Publication Number Publication Date
CN109195147A true CN109195147A (zh) 2019-01-11

Family

ID=64942478

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811325074.7A Pending CN109195147A (zh) 2018-11-08 2018-11-08 一种蓝牙设备中Flash软件内容防窃取的算法、系统及存储介质

Country Status (1)

Country Link
CN (1) CN109195147A (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100146190A1 (en) * 2008-12-05 2010-06-10 Phison Electronics Corp. Flash memory storage system, and controller and method for anti-falsifying data thereof
CN101777108A (zh) * 2010-01-22 2010-07-14 深圳创维数字技术股份有限公司 一种可执行exe文件的加密方法
CN103345595A (zh) * 2013-06-26 2013-10-09 深圳市慧锐通智能电器股份有限公司 程序加密方法与程序加密系统
CN106055932A (zh) * 2016-05-26 2016-10-26 东莞博力威电池有限公司 带Boot loader功能的MCU程序防抄袭方法和系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100146190A1 (en) * 2008-12-05 2010-06-10 Phison Electronics Corp. Flash memory storage system, and controller and method for anti-falsifying data thereof
CN101777108A (zh) * 2010-01-22 2010-07-14 深圳创维数字技术股份有限公司 一种可执行exe文件的加密方法
CN103345595A (zh) * 2013-06-26 2013-10-09 深圳市慧锐通智能电器股份有限公司 程序加密方法与程序加密系统
CN106055932A (zh) * 2016-05-26 2016-10-26 东莞博力威电池有限公司 带Boot loader功能的MCU程序防抄袭方法和系统

Similar Documents

Publication Publication Date Title
KR102594031B1 (ko) 키 계층 구조 시행을 위한 암호화 asic
CN110990804B (zh) 资源访问方法、装置及设备
CN109032611A (zh) 脚本部署方法、装置、计算机设备及存储介质
US10216935B2 (en) Mobile device resistant to malware
CN105929935A (zh) 基于转动输入启动应用的方法和装置
CN106469058A (zh) 一种屏幕解锁方法及移动终端
US20150278320A1 (en) Systems and methods for generating and implementing database audit functionality across multiple platforms
CN105915338A (zh) 生成密钥的方法和系统
CN107562689A (zh) 一种系统级芯片和终端
WO2017185464A1 (zh) 一种数据清除方法与终端设备
CN114640503A (zh) 应用系统的验证方法、装置、计算机设备和存储介质
CN108921552A (zh) 一种验证证据的方法及装置
CN108924906A (zh) 智能设备控制方法、ZigBee网关及存储介质
CN109195147A (zh) 一种蓝牙设备中Flash软件内容防窃取的算法、系统及存储介质
CN115129392A (zh) 芯片配置方法、装置、计算机设备和存储介质
CN107479939A (zh) 一种apk安装包重复打包的实现方法
US5751595A (en) Method for building and verifying authenticity of a rule system
US20140007258A1 (en) Systems and methods for governing the disclosure of restricted data
CN105653927A (zh) 一种终端屏幕的解锁方法和装置
CN107070864A (zh) 基于指纹的安全验证方法及系统
CN110659036A (zh) 一种Windows系统中自动烧录谷歌key的方法及系统
CN105844145A (zh) 管理密码的方法和设备
KR102377607B1 (ko) 정보시스템을 설계하여 프로그램과 데이터베이스를 자동으로 생성하고 테스트를 자동 수행하는 소프트웨어 공학플랫폼
CN104615539A (zh) 一种测试参数的处理方法和系统
CN115543428A (zh) 一种基于策略模板的模拟数据生成方法和装置

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
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20190111