CN105069375B - 一种基于数据库的嵌入式系统加密方法 - Google Patents

一种基于数据库的嵌入式系统加密方法 Download PDF

Info

Publication number
CN105069375B
CN105069375B CN201510500638.6A CN201510500638A CN105069375B CN 105069375 B CN105069375 B CN 105069375B CN 201510500638 A CN201510500638 A CN 201510500638A CN 105069375 B CN105069375 B CN 105069375B
Authority
CN
China
Prior art keywords
database
main program
area
flash
uid
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.)
Active
Application number
CN201510500638.6A
Other languages
English (en)
Other versions
CN105069375A (zh
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.)
Shanghai Friendess Electronic Technology Co ltd
Original Assignee
SHANGHAI BOCHU ELECTRONIC 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 SHANGHAI BOCHU ELECTRONIC TECHNOLOGY Co Ltd filed Critical SHANGHAI BOCHU ELECTRONIC TECHNOLOGY Co Ltd
Priority to CN201510500638.6A priority Critical patent/CN105069375B/zh
Publication of CN105069375A publication Critical patent/CN105069375A/zh
Application granted granted Critical
Publication of CN105069375B publication Critical patent/CN105069375B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Storage Device Security (AREA)

Abstract

本发明涉及系统管理技术领域,具体地说是一种基于数据库的嵌入式系统加密方法。一种基于数据库的嵌入式系统加密方法,其特征在于:将FLASH划分为启动代码区、系统参数区及数据库/主程序区三个区域,配合所需的数据库文件实现加密方案。同现有技术相比,本发明提出的方法使用了检索数据库的加密方式,将检索到的数据存储到系统的系统参数区,可以方便的实现每台设备在出厂时就具备不同的管理员密码和注册码密钥,同时可以利用芯片的UID限制固件被非法拷贝到另一台设备上运行,也可以方便的通过配置文件来规划和配置系统的功能模块,同时也可以方便的实现引导程序和主程序之间的参数传递。

Description

一种基于数据库的嵌入式系统加密方法
技术领域
本发明涉及系统管理技术领域,具体地说是一种基于数据库的嵌入式系统加密方法。
背景技术
嵌入式系统一般用Boot Loader+APP的方式实现,这种方式功能和结构简单,能够实现嵌入式系统的引导和运行,但这种方式在想要获得更好的功能和效果时显得有点力不从心。比如,不方便实现在生产阶段让每台设备都具有不同的管理员密码和注册码密钥;无法限制一台设备的固件被非法拷贝到另一台克隆设备上运行;无法利用配置文件来配置系统的功能或模块;引导程序和主程序之间参数传递也不够方便。
发明内容
本发明为克服现有技术的不足,提供一种改进的嵌入式系统加密方案,该方案具备实施方便,安全性高,灵活性、通用性和移植性都很好等特点。
为实现上述目的,设计一种基于数据库的嵌入式系统加密方法,其特征在于:将FLASH划分为启动代码区、系统参数区及数据库/主程序区三个区域,配合所需的数据库文件实现加密方案;所述的加密方法如下:
(1)系统进行初始化,包括时钟初始化、FLASH初始化;
(2)判断FLASH中是否存在数据库文件,是则进入配置模式;否则判断主程序是否存在;
(3)进入配置模式后,将查询数据库结果写入FLASH系统参数区;
(4)读取芯片UID,并写入FLASH系统参数区;
(5)进行功能配置,进行生产信息配置;
(6)判断主程序是否存在,是则判断是否存在升级程序;否则向FLASH写入主程序;
(7)判断是否存在升级程序,是则升级主程序;否则判断UID是否匹配;
(8)判断UID是否匹配,是则运行主程序;否则终止工作;
(9)运行主程序后,判断是否进入管理员界面,是则验证密码是否正确;否则继续运行主程序;
(10) 管理员界面验证密码正确后,注册使用时间时验证注册码信息是否匹配,进行管理操作后退出。
所述的UID为芯片的唯一身份编号Unique ID。
本发明同现有技术相比,本发明提出的方法使用了检索数据库的加密方式,将检索到的数据存储到系统的系统参数区,可以方便的实现每台设备在出厂时就具备不同的管理员密码和注册码密钥,同时可以利用芯片的UID限制固件被非法拷贝到另一台设备上运行,也可以方便的通过配置文件来规划和配置系统的功能模块,同时也可以方便的实现引导程序和主程序之间的参数传递。
附图说明
图1为FLASH的区域划分示意图。
图2为FLASH的使用过程示意图。
图3为本发明程序流程图。
具体实施方式
下面根据附图对本发明做进一步的说明。
如图1所示,将FLASH划分为启动代码区、系统参数区及数据库/主程序区三个区域。
启动代码区在初始化系统以后通过对数据库/主程序区存储的内容的判断有两种模式:配置模式和正常模式。
配置模式:判断到数据库/主程序区存储的是数据库时,进入配置模式。配置模式下在用户的参与下可以进行很多操作,比如:查询数据库,将数据库中的管理员密码和注册码密钥等相关数据提取并存储到系统参数区;读取芯片UID并存储到系统参数区;生成配置文件,存储到系统参数区等。
正常模式:判断到数据库/主程序区存储的是主程序时进入正常模式,引导主程序运行,如果检测到有升级文件,则进行固件升级。
系统参数区用来存储系统运行所需要的一些参数以及用户数据。比如,系统管理员密码、注册码密钥、配置文件、芯片UID和生产信息等。
数据库/主程序区先是用来存放配置模式下使用的数据库文件,配置模式完成后,此区域将会被擦除,此后用来存储系统正常运行时所需要的主程序。
主程序运行时如果要进入管理员菜单,需要已被保存到系统参数区的系统管理员密码,该密码每一台设备均不同。
对系统进行注册时,只能识别经过系统参数区的注册码密钥加密的注册码,否则无法进行解密。
芯片UID和系统参数区存储的ID不匹配时,认为固件非法,停止运行。
如图2,图3所示,加密方法如下:
(1)系统进行初始化,包括时钟初始化、FLASH初始化;
(2)判断FLASH中是否存在数据库文件,是则进入配置模式;否则判断主程序是否存在;
(3)进入配置模式后,将查询数据库结果写入FLASH系统参数区;
(4)读取芯片UID,并写入FLASH系统参数区;
(5)进行功能配置,进行生产信息配置;
(6)判断主程序是否存在,是则判断是否存在升级程序;否则向FLASH写入主程序;
(7)判断是否存在升级程序,是则升级主程序;否则判断UID是否匹配;
(8)判断UID是否匹配,是则运行主程序;否则终止工作;
(9)运行主程序后,判断是否进入管理员界面,是则验证密码是否正确;否则继续运行主程序;
(10) 管理员界面验证密码正确后,注册使用时间时验证注册码信息是否匹配,进行管理操作后退出。
启动代码区负责初始化外设,配置系统参数,引导程序运行和固件升级。配置系统参数时需要人为干预,可以选择使用USB通信、以太网通信、485通信等方式在PC端完成,也可以选择使用LCD显示屏在嵌入式设备上直接人机交互进行。
系统参数区存储系统运行必要参数和用户数据,例如管理员密码、注册码密钥、芯片UID、生产信息、配置文件等,管理员密码可以单独在每台设备上通过特定方式查询,注册码密钥不能在设备上查询。管理员密码和注册码密钥在PC端建立一个数据库来保存,利用管理员密码进行管理员操作,用注册码密钥对注册码进行加密、解密操作。
数据库/主程序区先是用来存储包含了随机产生的管理员密码以及随机的注册码密钥的数据库(PC端也有同样的一个数据库),从数据库中提取相应数据写入系统参数区。在数据库使用完以后,擦除该区域,此后该区域将用来存储系统运行的主程序。
FLASH的使用过程如图2所示。首先将整片FLASH擦除,然后编程启动代码和数据库,此时系统参数区是未使用的。启动代码在初始化以后进入配置模式,将从数据库中查询到所需要的管理员密码以及注册码密钥写入到系统参数区,另外将芯片UID、配置文件、生产信息等写入系统参数区。配置模式结束时将会擦除数据库,数据库的位置将用来存储主程序。
系统的工作流程如图3所示。其中需要说明的为配置模式、UID加密和注册码操作。
配置模式:配置模式需要用户输入设备的ID号,用以查询当前ID号在数据库中对应的管理员密码和注册码密钥,然后写入到系统参数区。
UID加密:配置阶段将主芯片的UID写入系统存储区,程序运行时将读取芯片的ID和存储的芯片ID比较,如果二者不一样,则停止运行。如此可以防止通过拷贝某一台设备的固件非法批量生产的行为。
注册码操作:在PC端查询管理员密码或者以特定的方式在设备上查询管理员密码进入系统管理员菜单。在管理员界面通过输入注册码来对系统加解密。使用在PC 数据库里查询的注册码密钥对注册码进行加密处理,注册码输入到设备时系统会利用系统参数区的注册码密钥进行解密。每台设备的注册码密钥不同并且是随机码,同时在设备上无法查询,安全性较高。
以上技术方案,其具有以下优点:1、安全性能高,不同的设备具有不同的管理员密码和注册码密钥,同时利用UID加密加强了芯片自身代码的保护能力,防止恶意注册和恶意抄袭等行为;2、通过配置文件实现系统功能的灵活配置;3、该结构可以在不同的硬件平台上使用,通用性、移植性好;4、可以方便的实现系统的引导功能和升级功能以及参数的传递,可维护性强。

Claims (2)

1.一种基于数据库的嵌入式系统加密方法,其特征在于:将FLASH 划分为启动代码区、系统参数区及数据库/ 主程序区三个区域,配合所需的数据库文件实现加密方案;所述的加密方法如下:
(1)系统进行初始化,包括时钟初始化、FLASH 初始化、编程启动代码和数据库,保证此时系统参数区是未使用的;
(2)判断FLASH 中是否存在数据库文件,是则进入配置模式;否则判断主程序是否存在;
(3)进入配置模式后,将查询数据库结果写入FLASH 系统参数区;
(4)读取芯片UID,并写入FLASH 系统参数区;
(5)进行功能配置,进行生产信息配置,配置模式结束时将会擦除数据库,数据库的位置将用来存储主程序;
(6)判断主程序是否存在,是则判断是否存在升级程序;否则向FLASH 写入主程序;
(7)判断是否存在升级程序,是则升级主程序;否则判断UID 是否匹配;
(8)判断UID 是否匹配,是则运行主程序;否则终止工作;
(9)运行主程序后,判断是否进入管理员界面,是则验证密码是否正确;否则继续运行主程序;
(10)管理员界面验证密码正确后,注册使用时间时验证注册码信息是否匹配,进行管理操作后退出。
2.根据权利要求1 所述的一种基于数据库的嵌入式系统加密方法,其特征在于:所述的UID 为芯片的唯一身份编号Unique ID。
CN201510500638.6A 2015-08-14 2015-08-14 一种基于数据库的嵌入式系统加密方法 Active CN105069375B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510500638.6A CN105069375B (zh) 2015-08-14 2015-08-14 一种基于数据库的嵌入式系统加密方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510500638.6A CN105069375B (zh) 2015-08-14 2015-08-14 一种基于数据库的嵌入式系统加密方法

Publications (2)

Publication Number Publication Date
CN105069375A CN105069375A (zh) 2015-11-18
CN105069375B true CN105069375B (zh) 2018-01-09

Family

ID=54498738

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510500638.6A Active CN105069375B (zh) 2015-08-14 2015-08-14 一种基于数据库的嵌入式系统加密方法

Country Status (1)

Country Link
CN (1) CN105069375B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108595944B (zh) * 2018-03-27 2020-07-10 麒麟软件有限公司 一种基于Linux系统的实现用户UID唯一性的方法
CN109657504B (zh) * 2018-12-12 2020-09-22 深圳忆联信息系统有限公司 芯片与固件的绑定方法、装置、计算机设备及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102902556A (zh) * 2012-09-06 2013-01-30 深圳市共进电子股份有限公司 一种嵌入式设备的多级引导加载方法
CN104572206A (zh) * 2015-01-14 2015-04-29 厦门为那通信科技有限公司 应用程序自更新和备份恢复的方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW201246075A (en) * 2011-05-06 2012-11-16 Asmedia Technology Inc Flash device and associated booting method

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102902556A (zh) * 2012-09-06 2013-01-30 深圳市共进电子股份有限公司 一种嵌入式设备的多级引导加载方法
CN104572206A (zh) * 2015-01-14 2015-04-29 厦门为那通信科技有限公司 应用程序自更新和备份恢复的方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
嵌入式数据库加密管理系统的设计;赵英豪 等;《微计算机信息》;20090630;第25卷(第6-2期);第174-176页 *

Also Published As

Publication number Publication date
CN105069375A (zh) 2015-11-18

Similar Documents

Publication Publication Date Title
US10521571B2 (en) Secure storage devices, with physical input device, for secure configuration in a configuration-ready mode
CN101908119B (zh) 一种动态链接库dll文件的处理方法和装置
JP6227772B2 (ja) 動的ライブラリを保護する方法及び装置
US20080022086A1 (en) Methods and system for a key recovery plan
US20070283003A1 (en) System and method for provisioning a computer system
CN103634482A (zh) 一种手持智能设备应用软件安全保护方法
CN106503494A (zh) 一种带有片上闪存微控制器的固件保护单元及保护方法
CN102449631A (zh) 用于执行管理操作的系统和方法
CN106133739A (zh) 数据到安全元件的非易失性存储器中的加载的安全保护
CN105612715A (zh) 具有可配置访问控制的安全处理单元
CN103136485B (zh) 一种实现计算机安全的方法和计算机
CN101419557A (zh) 一种程序下载控制方法
CN102385671A (zh) 软件加密方法及系统
CN105005721A (zh) 基于计算机开机钥匙的计算机授权开机控制系统及方法
CN106056017A (zh) 智能卡cos加密下载系统
CN100444184C (zh) 软件身份认证的方法和系统
CN105069375B (zh) 一种基于数据库的嵌入式系统加密方法
CN104850764A (zh) 一种基于智能卡的软件保护方法及系统
CN101414342B (zh) 软件狗及其实现软件保护的方法
CN103970540A (zh) 关键函数安全调用方法及装置
CN101464934A (zh) 一种计算机平台与存储设备相互绑定、认证方法及计算机
CN104796532B (zh) 一种销毁移动终端的方法及装置
CN102983969A (zh) 一种操作系统的安全登录系统及安全登录方法
CN102426592B (zh) 一种基于动态口令的数据库初始化方法
CN104680054A (zh) 一种rfid数据处理方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CP03 Change of name, title or address

Address after: 200240 No. 953 lane, Jianchuan Road, Minhang District, Shanghai 322

Patentee after: SHANGHAI FRIENDESS ELECTRONIC TECHNOLOGY Co.,Ltd.

Address before: 200240 west two floor, 2 building, 940 Jianchuan Road, Minhang District, Shanghai.

Patentee before: FRIENDESS CO.,LTD.

CP03 Change of name, title or address
CP02 Change in the address of a patent holder

Address after: 200241 No. 1000, Lanxiang Hunan Road, Minhang District, Shanghai

Patentee after: SHANGHAI FRIENDESS ELECTRONIC TECHNOLOGY Co.,Ltd.

Address before: 200240 No. 953 lane, Jianchuan Road, Minhang District, Shanghai 322

Patentee before: SHANGHAI FRIENDESS ELECTRONIC TECHNOLOGY Co.,Ltd.

CP02 Change in the address of a patent holder