张飞软硬开源基于STM32 BLDC直流无刷电机驱动器开发视频套件,👉戳此立抢👈

单片机程序存储中的软件标识分析

集成电路应用杂志 2018-11-28 17:16 次阅读

在某些特殊设备中,如智能电表等产品,由于使用方并非产品设计方,而使用方又担心设计方将程序外泄,带来使用的安全问题,便要求设计方在单片机存储程序时可自动形成带有一定特征和加密特性的软件标识,以达到使用方可以溯源程序的目的。采用对软件代码计算,并形成校验码的方式,是单片机程序存储中的软件标识的一种良好设计方式。

1  引言

目前,电子设备、智能仪表等器件实现一些功能通常需要安装对应的应用软件。为了便于管理,需要对应用软件进行软件标识,特别是像电能表这类仪表需要执行法制计量机构颁布的相关标准,更加需要对安装于其中的软件进行软件标识,以实现有效管理[1,2]。

现有技术中,软件标识一般是由微处理器软件生成的,用户可更改软件标识,也存在软件更改或更新而未更改软件标识的情形,不利于器件的管理,存在数据泄露的风险[3,4]。

2  设计思路

在单片机生成方法为存储在存储介质中的软件代码生成软件标识,这需要一个前提,即存储介质包括至少一个第一存储单元、至少一个第二存储单元、第三存储单元。第一存储单元用于存储软件代码,第二存储单元用于存储多项式。其中,每个第二存储单元中存储的多项式是不同的。

2.1 实施方法一

如图 1 所示软件标识生成方法,包括以下步骤。

步骤一,设置第二存储单元与第一存储单元的对应关系。

步骤二,对软件代码进行计算以生成校验码。其中,不同的软件代码生成不同的校验码本实施例中,步骤二还包括:(1)从第一存储单元中获取软件代码,从对应的第二存储单元中获取多项式。(2)根据多项式对软件代码进行计算,生成校验码。

具体,当下载软件代码时,将软件代码依次写入第一存储单元中,每将一个第一存储单元写满则从该第一存储单元中获取软件代码,从对应的第二存储单元中获取多项式,根据多项式对软件代码进行计算。

以下通过一个具体实例说明根据多项式对软件代码进行计算的过程:例如,一个第一存储单元中存储的软件代码为 1010。与该第一存储单元对应的第二存储单元中存储的多项式为:H(x)=x3+x+1。

首先,根据变量的指数,将H(x)=x3+x+1转换成对应的二进制数 1011;由于多项式有4位,则把软件代码左移 3(4-1)位,得到 1010000。

其次,用多项式的二进制数对左移 3 位后的软件代码进行模2除,得到余位 011,即为校验码。

由于每个第一存储单元均会生成一个校验码,软件代码存储于几个第一存储单元中,即可得到几个校验码。需要说明的是,校验码的位数可根据实际需要自行设置,也即通过设置多项式的最高次幂实现。

步骤三,根据校验码生成软件标识。若一段软件代码共有 i 个 16 Bit 的校验码,生成软件标识具体可以是:将 i 个校验码进行分组后先进行同或运算,产生 64 Bit 数据,将这 64 Bit 数据与 Flash 的 Key 进行异或运算生成软件标识。

步骤四,将校验码存储于第三存储单元中。本实例中,根据不同的软件代码生成不同的校验码,进而生成不同的软件标识,也即只要软件代码不同,软件标识必不相同。当器件中的应用软件被更改、更新,相应的软件标识也会更改,从而能快速识别器件的应用软件是否符合用户要求,实现器件的安全管理。

2.2 实施方法二

在这种实施方法中,提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现实施例一所提供的软件标识生成方法。计算机可读存储介质为 Flash 存储器

Flash 存储器的程序存储区一般由 M 个存储块(也即第一存储单元)组成,每一存储块分若干个页。程序存储区只支持片擦除,不支持块擦除和页擦除。Flash 存储器的 NVR 区的 NVR1(也即第二存储单元)存有一定的长度的数据码 K(多项式的二进制数),数据码 K 中的第 n 个 16 Bit 数据 Kn 与 M个数据块中的第 n 个块 Mn 对应,在写 Flash 每个存储块时,Flash 控制器根据对应关系选择相应的多项式计算校验码。

其中,NVR1 对用户不支持读写功能。写完一个存储块,则计算出一个 16 Bit 的校验码 Cn,并将此校验码 Cn 存储在 NVR 区的 NVR2(也即第三存储单元)中。NVR2 对用户有只读功能。

下载程序时所需要的存储块都写完后,共有 M 个16 Bit 的校验码。再将这些校验码进行分组后先进行同或运算,产生 64 Bit 数据,将这 64 Bit 数据与Flash 的 Key 进行异或运算生成软件标识。并将此软件标识的 64 Bit 数据存储到 NVR2 中的固定位置。

使用这种方法的计算机可读存储介质存储应用程式,只要 Flash 存储器中的应用软件被更改、更新,相应的软件标识也会更改,从而能快速识别 Flash 存储器的应用软件是否符合用户要求,实现器件的安全管理

2.3 实施方法三

在这种实施方法中,提供一种单片机,如图 2 所示,单片机包括:计算机可读存储介质、控制单元和 TR 接口。其中,计算机可读存储介质为实施例 2 所提供的计算机可读存储介质。

控制单元分别与计算机可读存储介质和 TR 接口电连接。控制单元用于在接收到读取指令时从计算机可读存储介质中获取软件标识,并通过 TR 接口向外输出软件标识。其中读取指令由外设设备生成并发送至单片机。本实施例中,不需要单片机干预,外设设备即可读取软件标识,避免单片机对软件标识进行处理的可能性,便于法律监督机构管理。

在这种实施方法中,可根据实际需求,还可在单片机中设置并串转换电路。控制单元通过并串转换电路与 TR 接口电连接。并串转换电路用于将软件标识转换成串行的 Bit 数据流。从而,经过并串转换的软件标识可有红外RS485 通信接口输出至外设设备。

3  结语

根据不同的软件代码生成不同的校验码,进而生成不同的软件标识,也即只要软件代码不同,软件标识必不相同。当器件中的应用软件被更改、更新,相应的软件标识也会更改,从而能快速识别器件的应用软件是否符合用户要求,实现器件的安全管理。

原文标题:单片机程序存储中的软件标识研究

文章出处:【微信号:appic-cn,微信公众号:集成电路应用杂志】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
分享:

评论

相关推荐

玩单片机到千万身家,“技术型老总”需要哪些神技能?

中国硬件创新大赛网络培训会—技术培训篇如果你就干这行,毫无疑问你不能错过这次直播;如果不是,可能你不一定喜欢单片机,也不
发表于 05-16 00:00 585次 阅读
玩单片机到千万身家,“技术型老总”需要哪些神技能?

宏旺半导体ICMAX:eMMC仍是智能设备主流存储选择

近几年,电子类产品发展日新月异,运行内存也从1GB发展到了8GB,技术的发展是伴随着市场需求的变化而....
发表于 06-24 16:56 11次 阅读
宏旺半导体ICMAX:eMMC仍是智能设备主流存储选择

视频监控存储怎样才能保证安全

随着技术发展,“云存储”“大数据”“互联网+”在各个行业应用中深入,数据资源就像石油、黄金一样,受到....
发表于 06-24 15:50 24次 阅读
视频监控存储怎样才能保证安全

基于STM32的半导体制冷片(TEC)温度控制系统设计

一些医疗检测仪器在检测时需要模拟人体温度环境以确保检测的精确性,本文以STM32为主控制器,电机驱动芯片DRV8834 为驱...
发表于 06-24 10:31 167次 阅读
基于STM32的半导体制冷片(TEC)温度控制系统设计

详解ARM单片机的双相步进电机细分驱动器设计

         步进电机是一种运用广泛的控制电机,其特征是不使用位置反馈回路就能进行速度控制及定位...
发表于 06-24 08:00 110次 阅读
详解ARM单片机的双相步进电机细分驱动器设计

单片机实现定时器和计数器的详细资料说明

本文档的主要内容详细介绍的是单片机实现定时器和计数器的详细资料说明包括了:• 定时/计数器的功能 •....
发表于 06-24 08:00 9次 阅读
单片机实现定时器和计数器的详细资料说明

MSP430单片机的C语言例题资料合集免费下载

本文档的主要内容详细介绍的是MSP430单片机的C语言例题资料合集免费下载。
发表于 06-24 08:00 13次 阅读
MSP430单片机的C语言例题资料合集免费下载

使用AVR单片机的电子琴仿真带protues资料免费下载

本文档的主要内容详细介绍的是使用AVR单片机的电子琴仿真带protues资料免费下载。
发表于 06-24 08:00 12次 阅读
使用AVR单片机的电子琴仿真带protues资料免费下载

使用单片机设计交通灯的实验报告包括了原理图和仿真截图

本文档的主要内容详细介绍的是使用单片机设计交通灯的实验报告包括了原理图和仿真截图。
发表于 06-24 08:00 13次 阅读
使用单片机设计交通灯的实验报告包括了原理图和仿真截图

STM32F4xx系列单片机的中文参考手册免费下载

本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/....
发表于 06-24 08:00 16次 阅读
STM32F4xx系列单片机的中文参考手册免费下载

基于STC单片机的21C02模拟

浙江  黄松正 本文介绍一种用STC12C2052单片机的I/O口模拟I2C总线的从模式,进而模拟和替代E2PROM(2...
发表于 06-24 06:18 108次 阅读
基于STC单片机的21C02模拟

单片机容量不足

STC15W4K48S4  48K flash 装不下
发表于 06-24 04:36 217次 阅读
单片机容量不足

请问单片机串口发数的时候能同时接收到数据吗?

我用下位机 首先是等待上位机的命令, 能接收到串口的开启设备指令, 然后下位机采集传感器数据,不断的向上位机发送数据。 但...
发表于 06-24 03:44 66次 阅读
请问单片机串口发数的时候能同时接收到数据吗?

【uFun试用体验】迟来的第二帖——简单的LIS3DH陀螺仪上位机

因为最近忙于别的事情如面试等,已经足足两个月没有更新ufun的帖子了,现在补上。         uFu...
发表于 06-23 16:38 353次 阅读
【uFun试用体验】迟来的第二帖——简单的LIS3DH陀螺仪上位机

单片机C语言编程实例

本书结合目前应用非常广泛的C语言以及Keil C51编译器,详细介绍单片机C语言编程的方法。本书通过大量应用实例对单片机资源及...
发表于 06-22 10:29 104次 阅读
单片机C语言编程实例

浪潮展示分布式存储平台AS13000G5

在HPC传统的“地盘”里,HPC与AI的融合在能源、生物、气象等超算传统强势领域深度推进。举个例子,....
发表于 06-22 09:11 65次 阅读
浪潮展示分布式存储平台AS13000G5

一种机器人的寻迹算法的详细资料说明

针对基于光电传感器组寻迹的自动导引机器人, 设计了传感器阵列的布置方式。根据此布置方式, 提出了三个....
发表于 06-21 17:14 126次 阅读
一种机器人的寻迹算法的详细资料说明

使用单片机设计智能赛车的论文技术报告免费下载

智能汽车系统是一个集环境感知、规划决策、多等级辅助驾驶等功能于一体的综合系统,涉及传感器技术、信息融....
发表于 06-21 17:14 57次 阅读
使用单片机设计智能赛车的论文技术报告免费下载

Flash动画和单片机结合的详细资料说明

冰冷的单片机加上Flash逼真、形象的动态艺术效果,能帮助提高学生学习的兴趣。将过去面向过程的微观学....
发表于 06-21 16:52 54次 阅读
Flash动画和单片机结合的详细资料说明

单片机内嵌外设应用串行通信的详细资料说明

本文档的主要内容详细介绍的是单片机内嵌外设应用串行通信的详细资料说明包括了:1、介绍单片机串行口的基....
发表于 06-21 16:52 54次 阅读
单片机内嵌外设应用串行通信的详细资料说明

MK12DX128VLH5芯线在线烧录接口定义

大神们:请问飞思卡尔 MK12DX128VLH5芯线在线烧录接口定义?...
发表于 06-21 15:45 368次 阅读
MK12DX128VLH5芯线在线烧录接口定义

如何优化单片机系统使其运行拥有更好的可靠性

看门狗电路的定时时间长短可由具体应用程序的循环周期决定,通常比系统正常工作时最大循环周期的时间略长即....
发表于 06-21 15:34 98次 阅读
如何优化单片机系统使其运行拥有更好的可靠性

7人多数表决器

仅供参考,有哪里不对的话还望各位网友多多指教,大家共同探讨。...
发表于 06-21 15:24 85次 阅读
7人多数表决器

单片机串行通信的结构组成及工作原理解析

目前多数单片机都配有串行接口,如51单片机和MCS - 96等系列单片机都配有一个全双工的串行接口,....
发表于 06-21 15:22 191次 阅读
单片机串行通信的结构组成及工作原理解析

单片机发送数据间隔时间过短labview读取visa函数如何清空读取缓冲区

大神们好,我前段时间做了一个串口接收数据,和峰岹单片机(基于51)进行UART通信。现在我出现了一个问题,我让单片机循环给...
发表于 06-21 10:38 177次 阅读
单片机发送数据间隔时间过短labview读取visa函数如何清空读取缓冲区

干货 | 基于单片机的16×64 LED 点阵显示屏的设计

本文详细介绍了一种低廉的16x64点阵LED显示屏的设计过程。
的头像 畅学单片机 发表于 06-20 17:08 318次 阅读
干货 | 基于单片机的16×64 LED 点阵显示屏的设计

干货 | 单片机、ARM、FPGA、嵌入式的区别和特点有哪些呢?

学习嵌入式需要了解硬件知识,其中包括单片机、ARM、FPGA等,不同的硬件有不同的特点,需要了解他们....
的头像 单片机 发表于 06-20 10:50 559次 阅读
干货 | 单片机、ARM、FPGA、嵌入式的区别和特点有哪些呢?

干货 | 关于单片机上for循环中运用ACC的隐蔽错误

想到了这个方法后,觉得自己好白痴,以后都不用ACC了。
的头像 畅学单片机 发表于 06-20 10:47 233次 阅读
干货 | 关于单片机上for循环中运用ACC的隐蔽错误

如何使用STM32单片机进行三相逆变器的设计

针对当前电网需要能输出高质量的交流电,且需具备较好的负载适应性及调压、调频等问题。设计了基于 STM....
发表于 06-20 08:00 52次 阅读
如何使用STM32单片机进行三相逆变器的设计

如何使用STM32F103单片机进行三相SPWM软件的设计

基于对三相 鼠笼式异步 电动 机变频转速控制 的 目的,在阐述 SPWM输 出原 理基础上 进行软件....
发表于 06-20 08:00 44次 阅读
如何使用STM32F103单片机进行三相SPWM软件的设计

STM32单片机常用元件的元件库文件资料免费下载

本文档的主要内容详细介绍的是STM32单片机常用元件的元件库文件资料免费下载。
发表于 06-20 08:00 56次 阅读
STM32单片机常用元件的元件库文件资料免费下载

粤芯半导体本月将试产

近日,智光电气在投资者互动平台上透露,其参与投资的广州粤芯半导体技术有限公司在生产线在做试产前的测试....
的头像 芯智讯 发表于 06-19 17:56 1006次 阅读
粤芯半导体本月将试产

如何进行简易避障机器人的设计

针对矿井中的各种灾害,设计了一种适合矿井救援的简易避障机器人。该设计以A1’89c51单片机作为智能....
发表于 06-19 17:37 63次 阅读
如何进行简易避障机器人的设计

使用C8051F005单片机设计智能小车的自动控制系统

本系统采用单片机C8051F005作为核心器件对小汽车行驶的自动控制。控制过程是利用反射型光电传感器....
发表于 06-19 17:37 51次 阅读
使用C8051F005单片机设计智能小车的自动控制系统

MSP430单片机库中部分函数的资料总结免费下载

本文档的主要内容详细介绍的是MSP430库中部分函数的资料总结免费下载
发表于 06-19 17:16 44次 阅读
MSP430单片机库中部分函数的资料总结免费下载

工程师经验手记:深入浅出玩转51单片机PDF电子书免费下载

本书包含4部分,共计27章 。首先从最基本的概念、开发软件的操作入手,教读者如何搭建一个工程; 之后....
发表于 06-19 16:29 83次 阅读
工程师经验手记:深入浅出玩转51单片机PDF电子书免费下载

如何采用单片机实现VD5026编码器的工作过程

由专用编/解码器组成的报警系统,通常需要用单片机的10~14位输入/输出口,对编码器进行编码和控制,....
发表于 06-19 15:23 58次 阅读
如何采用单片机实现VD5026编码器的工作过程

CA51F551系列单片机的中文用户手册免费下载

CA51F551 系列芯片是基于 1T 8051 内核的 8 位微控制器,通常情况下,运行速度比传统....
发表于 06-19 08:00 35次 阅读
CA51F551系列单片机的中文用户手册免费下载

单片机原理及应用的21个课程设计题目资料免费下载

本文档的主要内容详细介绍的是单片机原理及应用的21个课程设计题目资料免费下载包括了:题目1 智能电....
发表于 06-19 08:00 73次 阅读
单片机原理及应用的21个课程设计题目资料免费下载

太阳能充电控制器的电源电路部分

太阳能充电控制器以太阳能极板为供电电源,以MSP430GR553单片机为控制和数据处理核心,负责完成....
发表于 06-19 08:00 69次 阅读
太阳能充电控制器的电源电路部分

单片机应该如何学习详细的学习步骤说明

不知不觉自己接触单片机已经有两年多了,从最初的MCS-51,到后来的AVR、MSP430,对于单片机....
发表于 06-18 17:50 80次 阅读
单片机应该如何学习详细的学习步骤说明

使用MSP430单片机设计的高级流水灯程序免费下载

本文档的主要内容详细介绍的是使用MSP430单片机设计的高级流水灯程序免费下载。
发表于 06-18 17:49 49次 阅读
使用MSP430单片机设计的高级流水灯程序免费下载

EM3-V22单片机开发板电路原理图免费下载

本文档的主要内容详细介绍的是EM3-V22单片机开发板电路原理图免费下载。
发表于 06-18 17:20 36次 阅读
EM3-V22单片机开发板电路原理图免费下载

使用51单片机进行家用智能电热水器的毕业设计免费下载

本设计采用ATEML公司生产的AT89C51单片机为核心来设计智能电热水器。本设计也对单片机控制电热....
发表于 06-18 17:20 71次 阅读
使用51单片机进行家用智能电热水器的毕业设计免费下载

STM32嵌入式入门必看之文章给你详细的讲解

STM32嵌入式入门必看之文章-----介绍非常详细!(学习STM32的理由!!!!)为什么要写这篇....
发表于 06-18 16:52 78次 阅读
STM32嵌入式入门必看之文章给你详细的讲解

如何使用16位单片机进行智能循线和避障机器人设计资料说明

本文介绍了一种具有智能循线和避障功能的机器人设计方案,机器人系统包括控制系统的硬件和软件设计。硬件部....
发表于 06-18 15:49 42次 阅读
如何使用16位单片机进行智能循线和避障机器人设计资料说明

实例解读51单片机完全学习与应用的PPT课件教程免费下载

本文档的主要内容详细介绍的是实例解读51单片机完全学习与应用的PPT课件教程免费下载包括了:第1章 ....
发表于 06-18 15:49 43次 阅读
实例解读51单片机完全学习与应用的PPT课件教程免费下载

什么是AI芯片“存储墙”的解决方案?

作为从小学马列的中国人,我们最熟悉螺旋式上升的概念。对于计算和I/O来讲,和中国经济调控一样,都是“....
的头像 ssdfans 发表于 06-18 15:12 410次 阅读
什么是AI芯片“存储墙”的解决方案?

STC8系列单片机技术参考手册的详细资料免费下载

STC8系列单片机是不需要外部晶振和外部复位的单片机,是以超强抗干扰/超低价/高速/低功耗为目标的8....
发表于 06-18 08:00 32次 阅读
STC8系列单片机技术参考手册的详细资料免费下载

2019第一季度全球存储市场规模134亿美元 浪潮存储位居全球第五

日前,IDC发布了2019年第一季度全球企业存储系统市场追踪报告,本季度全球企业存储系统行业规模达到....
的头像 浪潮存储 发表于 06-17 17:34 737次 阅读
2019第一季度全球存储市场规模134亿美元 浪潮存储位居全球第五

单片机定时器中断原理及s3c2440的定时器使用方法

使CPU中断的事件称中断源。中断源向CPU发出中断请求,CPU暂时中断原来执行的事件A转去做事件B。....
发表于 06-17 16:06 95次 阅读
单片机定时器中断原理及s3c2440的定时器使用方法

51单片机的定时器

从上面定时器/计数器的结构图中我们可以看出,16位的定时/计数器分别由两个8位专用寄存器组成,即:T....
发表于 06-17 15:02 137次 阅读
51单片机的定时器

单片机定时器/计数器的结构

 每来一个脉冲计数器加1,当加到计数器为全1(即FFFFH)时,再输入一个脉冲就使计数器回零,且计数....
发表于 06-17 09:57 109次 阅读
单片机定时器/计数器的结构

单片机定时器/计数器基本原理

AT89S52单片机内部的定时/计数器的结构如图2所示。定时器T0由特殊功能寄存器TL0(低8位)和....
发表于 06-17 09:19 58次 阅读
单片机定时器/计数器基本原理

使用TMS320F28027单片机进行LED照明的程序免费下载

本文档的主要内容详细介绍的是使用TMS320F28027单片机进行LED照明的程序免费下载。
发表于 06-17 08:00 34次 阅读
使用TMS320F28027单片机进行LED照明的程序免费下载

C8051F系列单片机板子的原理图和PCB资料免费下载

本文档的C8051F系列单片机板子的原理图和PCB资料免费下载。
发表于 06-17 08:00 25次 阅读
C8051F系列单片机板子的原理图和PCB资料免费下载

你有这些嵌入式硬件电路设计的基本功吗?

我走的电子开发道路其实和大多数人说的一样,基本的路线为模拟电子(熟练)→数字电路设计(掌握)→单片机....
的头像 玩转单片机 发表于 06-16 11:52 600次 阅读
你有这些嵌入式硬件电路设计的基本功吗?

使用单片机设计超声波测距1602显示的程序和接线图免费下载

本文档的主要内容详细介绍的是使用单片机设计超声波测距1602显示的程序和接线图免费下载
发表于 06-13 17:40 69次 阅读
使用单片机设计超声波测距1602显示的程序和接线图免费下载

如何提高单片机的抗干扰性

搞过产品的朋友都有体会,一个设计看似简单,硬件设计和代码编写很快就搞定,但在调试过程中却或多或少的意....
发表于 06-13 17:40 65次 阅读
如何提高单片机的抗干扰性

使用单片机设计MP3的电路图免费下载

本文档的主要内容详细介绍的是使用单片机设计具有能显示歌名,电子书,闹钟,随音乐播放流水灯功能的MP3....
发表于 06-13 17:40 82次 阅读
使用单片机设计MP3的电路图免费下载

如何使用单片机设计AD和DA转换器详细资料说明

 某些单片机内部巳经集成了AD DA转换器,使其在工控行业、仪器仪表.家电产品的应用与日俱增.但是这....
发表于 06-13 17:17 75次 阅读
如何使用单片机设计AD和DA转换器详细资料说明