CN109460665B - 一种用于保护芯片中敏感信息的装置及方法 - Google Patents
一种用于保护芯片中敏感信息的装置及方法 Download PDFInfo
- Publication number
- CN109460665B CN109460665B CN201811249549.9A CN201811249549A CN109460665B CN 109460665 B CN109460665 B CN 109460665B CN 201811249549 A CN201811249549 A CN 201811249549A CN 109460665 B CN109460665 B CN 109460665B
- Authority
- CN
- China
- Prior art keywords
- signal
- module
- protection
- address
- submodule
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting 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
- G06F21/6245—Protecting personal data, e.g. for financial or medical purposes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/71—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
- G06F21/72—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in cryptographic circuits
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computer Security & Cryptography (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Bioethics (AREA)
- Medical Informatics (AREA)
- Databases & Information Systems (AREA)
- Mathematical Physics (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开一种用于保护芯片中敏感信息的装置,涉及安全芯片技术领域,其安装于MCU系统的总线和flash控制器之间,MCU系统的Master通过总线访问flash的内容,包括地址范围判断模块、Master判断模块、控制模块、读取并写出模块、读保护模块五个模块,其中,地址范围判断模块时刻检测总线中是否有对保护范围内的地址进行读取的操作,并根据监测结果向控制模块发送信号,控制模块根据信号来源进行向其他四个模块发送信号,这四个模块接收控制模块发送的信号并作出相应的反应,最终,通过五个模块的相互协作,保护芯片中的敏感信息不发生泄露。同时,本发明还公开了一种用于保护芯片中敏感信息的方法,该方法与上述保护芯片敏感信息的装置相配合。
Description
技术领域
本发明涉及安全芯片技术领域,具体的说是一种用于保护芯片中敏感信息的装置及方法。
背景技术
随着物联网设备的越来越多,对于安全MCU的需求也越来越大。安全MCU其核心是保护敏感信息的安全,而敏感信息中最重要的就是核心密钥。同时,安全MCU也要能够完成算法的加解密、签名验签等操作。
目前的带有算法运行功能的MCU中,虽然有些能够完成算法相关的运算,但是并不具有安全存储的功能,即数据在芯片内flash中的存储为明文方式,且不具有环境传感器来阻止MCU遭受攻击。另外,芯片中的MPU(存储器保护单元)是可以设置存储器的访问权限的,对于存储的敏感信息具有一定的保护作用,有些MCU仅使用内核自带的MPU,这种MPU绝大多数情况下,仅能设置CPU的访问权限,并不能阻止其他外设的访问权限,例如DMA等。这种情况下会有敏感信息泄露的风险。
另外一些安全性较高的MCU,具备安全存储,环境传感器,独立的MPU等资源,安全性会有明显的改善。
但是,即使就目前的安全性较高的MCU而言,如果有机会在其程序中植入一段木马程序,木马程序就有机会关闭MPU的权限,从而读取芯片中的敏感信息,并通过通信接口将敏感信息发送出来。
发明内容
本发明针对目前技术发展的需求和不足之处,提供一种用于保护芯片中敏感信息的装置及方法,解决芯片中的敏感信息有可能被泄露的问题。
首先,本发明提供一种用于保护芯片中敏感信息的装置,解决上述技术问题采用的技术方案如下:
一种用于保护芯片中敏感信息的装置,其安装于MCU系统的总线和flash控制器之间,MCU系统的Master通过总线访问flash的内容,其包括:
地址范围判断模块,用于判断Master通过总线访问flash或/和RAM的地址范围是否被保护,判断结果是地址范围被保护时输出有效信号;在Master访问的地址范围被保护时进一步判断Master通过总线对flash进行读操作/擦写操作,判断结果为Master通过总线对flash进行读操作时输出有效信号,其余判断结果输出无效信号,地址范围判断模块在两次判断结果均输出有效信号时向控制模块传递有效信号;还用于接收控制模块输出的RAM保护信号,在RAM保护信号有效时对指定的RAM地址范围进行读保护,在RAM保护信号无效时仅对flash地址进行保护;
Master判断模块,用于接收控制模块输出的RAM保护信号,在RAM保护信号有效时判断与总线相连的Master是否为指定的算法外设,在Master不是指定的算法外设时输出有效信号并传递至控制模块,其中,指定的算法外设仅限于硬件算法模块和加密协处理器;
控制模块,用于接收地址范围判断模块和Master判断模块输出的信号,并与自身信号相结合后输出判断结果,根据判断结果输出读保护模块的使能/禁止信号;在控制模块自身SFR中的读写使能控制有效时,用于从自身的SFR中提取信息并转换成读取并写出模块能够识别的格式后输出至读取并写出模块,同时,还向读取并写出模块传递使能信号,随后,还用于判断从自身SFR中提取信息的目的地址是否为RAM,在目的地址为RAM时,向地址范围判断模块和Master判断模块传递有效的RAM保护信号,在目的地址不是RAM时,向地址范围判断模块和Master判断模块传递无效的RAM保护信号;
读取并写出模块,用于接收控制模块输出的使能信号/禁止信号,并在接收使能信号时读取设定flash地址保护范围内的数据,随后,将读取数据写出至目的地址;
读保护模块,用于接收总线信号和控制模块输出的使能信号/禁止信号,在接收到使能信号时对保护范围内的flash进行读保护操作,在接收禁止信号时不对flash做任何限制。
具体的,所涉及地址范围判断模块包括:
地址保护范围值子模块,用于设定flash的地址保护范围;
地址保护范围判断子模块,用于判断Master通过总线访问flash或/和RAM的地址范围是否被保护,并在被保护时输出有效信号,在不被保护时输出无效信号;还用于接收控制模块输出的RAM保护信号,此RAM保护信号有效时,地址保护范围判断子模块对RAM地址进行读保护,此RAM保护信号无效时,地址保护范围判断子模块仅对flash地址进行保护;
flash操作方式判断子模块,用于判断Master通过总线对flash进行的操作,在进行读操作时输出有效信号,在进行读以外的操作时输出无效信号;
与门子模块,用于接收地址保护范围判断子模块和flash操作方式判断子模块输出的信号,并在接收的信号均有效时输出有效信号,并传递至控制模块。
更具体的,所涉及Master判断模块包括:
Master预置子模块,用于预置Master的指定编号;
Master核心判断子模块,用于读取总线中的Master编号,并与Master预置子模块的指定编号进行对比,在两个编号不同时输出有效信号传递至控制模块,在两个编号相同时输出无效信号;
Master判断使能子模块,用于接收控制模块输出的RAM保护信号,此RAM保护信号有效时使能Master核心判断子模块,此RAM保护信号无效时禁止Master核心判断子模块。
更具体的,所涉及控制模块包括:
限制信号的接收和判断子模块,用于接收Master判断模块、地址范围判断模块、RAM保护子模块的输出信号并判断:1)在RAM保护子模块输出无效信号、地址范围判断模块输出有效信号时,限制信号的接收和判断子模块输出保护信号;2)在RAM保护子模块输出无效信号、址范围判断模块输出无效信号时,限制信号的接收和判断子模块输出不保护信号;3)在RAM保护子模块输出有效信号时,仅当Master判断模块输出有效信号且地址范围判断模块输出有效信号时,限制信号的接收和判断子模块输出保护信号,其他情况输出不保护信号;
控制处理子模块,用于接收限制信号的接收和判断子模块输出的保护/不保护信号,并在接收到保护信号时使能读保护信号输出子模块,在接收到不保护信号时禁止读保护信号输出子模块;在SFR中的读写使能控制有效时,用于向读写使能信号生成子模块传递使能信号,还用于从SFR中提取出待处理的源地址和长度信息、目的地址和长度信息,并判断SFR中的目的地址是否为RAM,在SFR中提取的目的地址是RAM时,向RAM保护子模块传送使能信号,在SFR中提取的目的地址不是RAM时,向RAM保护子模块传送禁止信号;还用于向读写使能信号生成子模块传递使能信号;
读保护信号输出子模块,用于接收控制处理子模块的使能信号/禁止信号,生成并输出读保护使能信号/禁止信号给读保护模块,进而限制/不限制对保护地址范围的读取;
源地址和长度桥接子模块,用于接收控制处理子模块提取的源地址和长度信息,并将源地址和长度信息转换为读取并写出模块能够识别的格式,随后将转换格式后的信息传递给读取并写出模块;
目的地址和长度桥接子模块,用于接收控制处理子模块提取的目的地址和长度信息,并将目的地址和长度信息转换为读取并写出模块能够识别的格式,随后将转换格式后的信息传递给读取并写出模块;
RAM保护子模块,用于接收控制处理子模块传送的使能信号/禁止信号,并分别向Master判断模块、地址范围判断模块、限制信号的接收和判断子模块传递有效/无效的RAM保护信号;
读写使能信号生成子模块,用于接收控制处理子模块传送的使能信号,并生成读取并写出模块的使能信号。
更具体的,所涉及读取并写出模块包括:
读取子模块,用于接收控制模块输出的源地址和长度信号,根据此信号,读取地址保护范围值子模块设定范围内的数据,并传递给写出子模块;
写出子模块,用于接收控制模块输出的目的地址和长度信号,还用于接收读取子模块传递的数据,并写出到控制模块输出的目的地址范围内,即芯片本身加密算法模块的SFR或指定的RAM地址范围;
读写使能子模块,用于接收控制模块传递的使能信号/禁止信号,使能/禁止读取子模块将读取的数据传递至写出子模块。
可选的,所涉及读取并写出模块将读取数据写入目的地址,目的地址指的是芯片本身加密算法模块的SFR或指定的RAM地址范围。
可选的,所涉及MCU系统的Master是CPU、DMA、加密协处理器、硬件算法模块、USB控制器、图像处理加速器、以太网控制器中的至少一种或几种的组合。
其次,基于上述装置,本发明还提供一种用于保护芯片中敏感信息的方法,该方法的实现过程包括:
1)地址范围判断模块时刻检测总线中是否有对保护范围内的地址进行读取的操作:
1a)在地址范围判断模块检测到没有对保护的地址范围进行读取操作时,输出无效信号,此时,控制模块也输出无效信号,读保护模块不对flash做任何限制,即总线信号直接透传读保护模块,读取并写出模块处于停止状态,Master判断模块输出无效信号;
1b)在地址范围判断模块检测到有对保护的地址范围进行读取操作时,地址范围判断模块输出有效信号至控制模块,控制模块接收到此有效信号时向读保护模块传递使能信号,使能读保护模块输出固定信号,禁止总线信号的透传,对保护范围内的flash进行读保护操作,此时,读取并写出模块处于停止状态;Master判断模块输出无效信号;
2)控制模块检测到自身的SFR中读写使能控制有效时,控制模块从自身的SFR中提取信息并转换成读取并写出模块能够识别的格式后输出至读取并写出模块,同时,控制模块还向读取并写出模块传递使能信号,使能信号使能读取并写出模块读取设定flash地址保护范围内的数据并写出至目的地址,控制模块用于进一步判断从SFR中提取信息的目的地址是否为RAM:
2a)如果不是RAM,读取并写出模块从保护地址内读取数据,直接写入到目的地址,即写入芯片本身加密算法模块的SFR地址范围,此时,读保护模块完成对总线信号的透传,控制模块向地址范围判断模块和Master判断模块传递无效的RAM保护信号;
2b)如果是RAM,读取并写出模块D从保护地址内读取数据,直接写入到目的地址即指定的RAM地址范围,此时,控制模块A向地址范围判断模块B和Master判断模块C传递有效的RAM保护信号,随后,地址范围判断模块B判断被保护的flash地址范围和RAM地址范围是否被读取,在被读取时输出有效信号,在不被读取时输出无效信号,同时,Master判断模块C判断Master是否属于指定外设,指定外设仅限于硬件算法模块和加密协处理器,在Master不属于指定外设时输出有效信号,在Master属于指定外设时输出无效信号,如果没有异常情况,即地址范围判断模块B输出有效信号、Master判断模块C输出无效信号时,读保护模块E处于透传状态,如果出现异常情况,读保护模块E禁止总线信号的透传,完成读保护;此处提到的异常指Master不符或者有对保护地址进行读取的操作。
可选的,所涉及读取并写出模块将读取数据写入目的地址,目的地址指的是芯片本身加密算法模块的SFR或指定的RAM地址范围。
可选的,所涉及MCU系统中通过总线访问flash的Master是CPU、DMA、加密协处理器、硬件算法模块、USB控制器、图像处理加速器、以太网控制器中的至少一种或几种的组合。
本发明的一种用于保护芯片中敏感信息的装置及方法,与现有技术相比具有的有益效果是:
1)本发明的装置安装于MCU系统的总线和flash控制器之间,在MCU系统的Master通过总线访问flash的内容时,可以限定指定的外设对保护范围内的地址进行读取的操作,此指定的外设仅限于硬件算法模块和加密协处理器,禁止通用外设读取敏感信息;另外,硬件算法模块和加密协处理器的数据输出功能受限,仅能输出加密运算的结果,不可直接输出读取的数据,硬件算法模块或加密协处理器在进行加密运算时,读取限制区域的信息,且该部分信息仅能作为运算参数参与运算,不可直接输出;
2)本发明的方法基于保护芯片敏感信息的装置,实现了敏感信息只能写入到flash中,而不可以读取或输出,同时敏感信息在芯片内部的传输不通过通用总线,更有效的保证了敏感信息的安全性;
3)现有技术一般通过软件配置存储器保护单元来完成对敏感信息的保护,但是在使用敏感信息时,需要将保护的范围设置为可读,之后再通过CPU或DMA将敏感信息读取再写入到芯片的加密算法模块中,交由加密算法模块进行运算,这种情况下,如果在系统中植入木马程序,则很有可能在读取敏感信息的过程中,使敏感信息泄露,从而使威胁到整个设备的安全,而本发明通过这种硬件限制敏感信息的访问方式,即使被植入木马程序,其也没有任何办法读出敏感信息,有效的保证了敏感信息的安全性。
附图说明
附图1是本发明中各模块的连接框图;
附图2是本发明中地址范围判断模块的连接框图;
附图3是本发明中控制模块的连接框图;
附图4是本发明中Master判断模块的连接框图;
附图5是本发明中读取并写出模块的连接框图。
附图中各标号信息表示:
A、控制模块,B、地址范围判断模块,C、Master判断模块,
D、读取并写出模块,E、读保护模块,
1、地址保护范围值子模块,2、地址保护范围判断子模块,
3、flash操作方式判断子模块,4、与门子模块,
5、限制信号的接收和判断子模块,6、控制处理子模块,
7、源地址和长度桥接子模块,8、目的地址和长度桥接子模块,
9、读保护信号输出子模块,10、RAM保护子模块,
11、读写使能信号生成子模块,12、读取子模块,13、写出子模块,
14、读写使能子模块,15、Master预置子模块,
16、Master核心判断子模块,17、Master判断使能子模块。
具体实施方式
为使本发明的技术方案、解决的技术问题和技术效果更加清楚明白,以下结合具体实施例,对本发明的技术方案进行清楚、完整的描述,显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下获得的所有实施例,都在本发明的保护范围之内。
实施例一:
参考附图1,本实施例提出一种用于保护芯片中敏感信息的装置,其安装于MCU系统的总线和flash控制器之间,MCU系统的Master通过总线访问flash的内容,其包括:
地址范围判断模块B,用于判断Master通过总线访问flash或/和RAM的地址范围是否被保护,判断结果是地址范围被保护时输出有效信号;在Master访问的地址范围被保护时进一步判断Master通过总线对flash进行读操作/擦写操作,判断结果为Master通过总线对flash进行读操作时输出有效信号,其余判断结果输出无效信号,地址范围判断模块B在两次判断结果均输出有效信号时向控制模块A传递有效信号;还用于接收控制模块A输出的RAM保护信号,在RAM保护信号有效时对指定的RAM地址范围进行读保护,在RAM保护信号无效时仅对flash地址进行保护;
Master判断模块C,用于接收控制模块A输出的RAM保护信号,在RAM保护信号有效时判断与总线相连的Master是否为指定的算法外设,在Master不是指定的算法外设时输出有效信号并传递至控制模块A,其中,指定的算法外设仅限于硬件算法模块和加密协处理器;
控制模块A,用于接收地址范围判断模块B和Master判断模块C输出的信号,并与自身信号相结合后输出判断结果,根据判断结果输出读保护模块E的使能/禁止信号;在控制模块A自身SFR中的读写使能控制有效时,用于从自身的SFR中提取信息并转换成读取并写出模块D能够识别的格式后输出至读取并写出模块D,同时,还向读取并写出模块D传递使能信号,随后,还用于判断从自身SFR中提取信息的目的地址是否为RAM,在目的地址为RAM时,向地址范围判断模块和Master判断模块传递有效的RAM保护信号,在目的地址不是RAM时,向地址范围判断模块和Master判断模块传递无效的RAM保护信号;
读取并写出模块D,用于接收控制模块A输出的使能信号/禁止信号,并在接收使能信号时读取设定flash地址保护范围内的数据,随后,将读取数据写出至目的地址 ,这个目的地址可以是芯片本身加密算法模块的SFR或指定的RAM地址范围;
读保护模块E,用于接收总线信号和控制模块A输出的使能信号/禁止信号,在接收到使能信号时对保护范围内的flash进行读保护操作,在接收禁止信号时不对flash做任何限制。
参考附图2,所涉及地址范围判断模块B包括:
地址保护范围值子模块1,用于设定flash的地址保护范围;
地址保护范围判断子模块2,用于判断Master通过总线访问flash或/和RAM的地址范围是否被保护,并在被保护时输出有效信号,在不被保护时输出无效信号;还用于接收控制模块A输出的RAM保护信号,此RAM保护信号有效时,地址保护范围判断子模块2对RAM地址进行读保护,此RAM保护信号无效时,地址保护范围判断子模块2仅对flash地址进行保护;
flash操作方式判断子模块3,用于判断Master通过总线对flash进行的操作,在进行读操作时输出有效信号,在进行读以外的操作时输出无效信号;
与门子模块4,用于接收地址保护范围判断子模块2和flash操作方式判断子模块3输出的信号,并在接收的信号均有效时输出有效信号,并传递至控制模块A。
参考附图4,所涉及Master判断模块C包括:
Master预置子模块15,用于预置Master的指定编号;
Master核心判断子模块16,用于读取总线中的Master编号,并与Master预置子模块15的指定编号进行对比,在两个编号不同时输出有效信号传递至控制模块A,在两个编号相同时输出无效信号;
Master判断使能子模块17,用于接收控制模块A输出的RAM保护信号,此RAM保护信号有效时使能Master核心判断子模块16,此RAM保护信号无效时禁止Master核心判断子模块16。
参考附图3,所涉及控制模块A包括:
限制信号的接收和判断子模块5,用于接收Master判断模块C、地址范围判断模块B、RAM保护子模块10的输出信号并判断:1)在RAM保护子模块10输出无效信号、地址范围判断模块B输出有效信号时,限制信号的接收和判断子模块5输出保护信号;2)在RAM保护子模块10输出无效信号、址范围判断模块B输出无效信号时,限制信号的接收和判断子模块5输出不保护信号;3)在RAM保护子模块10输出有效信号时,仅当Master判断模块C输出有效信号且地址范围判断模块B输出有效信号时,限制信号的接收和判断子模块5输出保护信号,其他情况输出不保护信号;
控制处理子模块6,用于接收限制信号的接收和判断子模块5输出的保护/不保护信号,并在接收到保护信号时使能读保护信号输出子模块9,在接收到不保护信号时禁止读保护信号输出子模块9;在SFR中的读写使能控制有效时,用于向读写使能信号生成子模块11传递使能信号,还用于从SFR中提取出待处理的源地址和长度信息、目的地址和长度信息,并判断SFR中的目的地址是否为RAM,在SFR中的目的地址是RAM时,向RAM保护子模块10传送使能信号,在SFR中提取的目的地址不是RAM时,向RAM保护子模块10传送禁止信号;
读保护信号输出子模块9,用于接收控制处理子模块6的使能信号/禁止信号,生成并输出读保护使能信号/禁止信号给读保护模块E,进而限制/不限制对保护地址范围的读取;
源地址和长度桥接子模块7,用于接收控制处理子模块6提取的源地址和长度信息,并将源地址和长度信息转换为读取并写出模块D能够识别的格式,随后将转换格式后的信息传递给读取并写出模块D;
目的地址和长度桥接子模块8,用于接收控制处理子模块6提取的目的地址和长度信息,并将目的地址和长度信息转换为读取并写出模块D能够识别的格式,随后将转换格式后的信息传递给读取并写出模块D;
RAM保护子模块10,用于接收控制处理子模块6传送的使能信号/禁止信号,并分别向Master判断模块C、地址范围判断模块B、限制信号的接收和判断子模块5传递有效/无效的RAM保护信号;
读写使能信号生成子模块11,用于接收控制处理子模块6传送的使能信号,用于生成读取并写出模块D的使能信号。
参考附图5,所涉及读取并写出模块D包括:
读取子模块12,用于接收控制模块A输出的源地址和长度信号,根据此信号,读取地址保护范围值子模块1设定范围内的数据,并传递给写出子模块13;
写出子模块13,用于接收控制模块A输出的目的地址和长度信号,还用于接收读取子模块12传递的数据,并写出到控制模块A输出的目的地址范围内,即芯片本身加密算法模块的SFR或指定的RAM地址范围;
读写使能子模块14,用于接收控制模块A传递的使能信号/禁止信号,使能/禁止读取子模块12将读取的数据传递至写出子模块13。
所涉及MCU系统的Master是CPU、DMA、加密协处理器、硬件算法模块、USB控制器、图像处理加速器,以太网控制器中的至少一种或几种的组合。
实施例二:
参考附图1-5,本实施例提供一种用于保护芯片中敏感信息的方法,该方法基于实施例一的装置,该方法的实现过程包括:
1)地址范围判断模块B时刻检测总线中是否有对保护范围内的flash地址进行读取的操作:
1a)在地址范围判断模块B检测到没有对保护的地址范围进行读取操作时,输出无效信号,此时,控制模块A也输出无效信号,读保护模块E不对flash做任何限制,即总线信号直接透传读保护模块E,读取并写出模块D处于停止状态,Master判断模块C输出无效信号;
1b)在地址范围判断模块B检测到有对保护的地址范围进行读取操作时,地址范围判断模块B输出有效信号至控制模块A,控制模块A接收到此有效信号时向读保护模块E传递使能信号,使能读保护模块E输出固定信号,禁止总线信号的透传,对保护范围内的flash进行读保护操作,此时,读取并写出模块D处于停止状态;Master判断模块C输出无效信号;
2)使用者需要进行算法运算时,需要通过控制CPU完成对SFR的写操作,此时,使用者需要根据实际情况设置SFR中的原地址、目的地址、数据长度、读写使能控制,用以启动敏感信息的搬移,敏感信息搬移完成后,控制模块会自动完成禁止读写使能的操作,这一操作属于常规操作。控制模块A检测到自身的SFR中读写使能控制有效时,控制模块A从自身的SFR中提取信息并转换成读取并写出模块D能够识别的格式后输出至读取并写出模块D,同时,控制模块A还向读取并写出模块D传递使能信号,使能信号使能读取并写出模块D读取设定flash地址保护范围内的数据并写出至目的地址,这个目的地址可以是芯片本身加密算法模块的SFR或指定的RAM地址范围;控制模块A用于进一步判断从自身SFR中提取信息的目的地址是否为RAM:
2a)如果不是RAM,读取并写出模块D从保护地址内读取数据,直接写入到目的地址即加密算法模块的SFR地址范围,此时,读保护模块E完成对总线信号的透传,控制模块A向地址范围判断模块B和Master判断模块B传递无效的RAM保护信号;
2b)如果是RAM,读取并写出模块D从保护地址内读取数据,直接写入到目的地址即指定的RAM地址范围,此时,控制模块A向地址范围判断模块B和Master判断模块C传递有效的RAM保护信号,随后,地址范围判断模块B判断被保护的flash地址范围和RAM地址范围是否被读取,在被读取时输出有效信号,在不被读取时输出无效信号,同时,Master判断模块C判断Master是否属于指定外设,指定外设仅限于硬件算法模块和加密协处理器,在Master不属于指定外设时输出有效信号,在Master属于指定外设时输出无效信号,如果没有异常情况,即地址范围判断模块B输出有效信号、Master判断模块C输出无效信号时,读保护模块E处于透传状态,如果出现异常情况,读保护模块E禁止总线信号的透传,完成读保护;此处提到的异常指Master不符或者有对保护地址进行读取的操作。
所涉及MCU系统中通过总线访问flash的Master是CPU、DMA、加密协处理器、硬件算法模块、USB控制器、图像处理加速器、以太网控制器中的至少一种或几种的组合。
综上可知,采用本发明的一种用于保护芯片中敏感信息的装置及方法,解决芯片中的敏感信息有可能被泄露的问题。
以上应用具体个例对本发明的原理及实施方式进行了详细阐述,这些实施例只是用于帮助理解本发明的核心技术内容,并不用于限制本发明的保护范围,本发明的技术方案不限制于上述具体实施方式内。基于本发明的上述具体实施例,本技术领域的技术人员在不脱离本发明原理的前提下,对本发明所作出的任何改进和修饰,皆应落入本发明的专利保护范围。
Claims (8)
1.一种用于保护芯片中敏感信息的装置,其安装于MCU系统的总线和flash控制器之间,MCU系统的Master通过总线访问flash的内容,其特征在于, 其包括:
地址范围判断模块,用于判断Master通过总线访问flash或/和RAM的地址范围是否被保护,判断结果是地址范围被保护时输出有效信号;在Master访问的地址范围被保护时进一步判断Master通过总线对flash进行读操作/擦写操作,判断结果为Master通过总线对flash进行读操作时输出有效信号,其余判断结果输出无效信号,地址范围判断模块在两次判断结果均输出有效信号时向控制模块传递有效信号;还用于接收控制模块输出的RAM保护信号,在RAM保护信号有效时对指定的RAM地址范围进行读保护,在RAM保护信号无效时仅对flash地址进行保护;
Master判断模块,用于接收控制模块输出的RAM保护信号,在RAM保护信号有效时判断与总线相连的Master是否为指定的算法外设,在Master不是指定的算法外设时输出有效信号并传递至控制模块,其中,指定的算法外设仅限于硬件算法模块和加密协处理器;
控制模块,用于接收地址范围判断模块和Master判断模块输出的信号,并与自身信号相结合后输出判断结果,根据判断结果输出读保护模块的使能/禁止信号;在控制模块自身SFR中的读写使能控制有效时,用于从自身的SFR中提取信息并转换成读取并写出模块能够识别的格式后输出至读取并写出模块,同时,还向读取并写出模块传递使能信号,随后,还用于判断从自身SFR中提取信息的目的地址是否为RAM,在目的地址为RAM时,向地址范围判断模块和Master判断模块传递有效的RAM保护信号,在目的地址不是RAM时,向地址范围判断模块和Master判断模块传递无效的RAM保护信号;
读取并写出模块,用于接收控制模块输出的使能信号/禁止信号,并在接收使能信号时读取设定flash地址保护范围内的数据,随后,将读取数据写出至目的地址,目的地址指的是芯片本身加密算法模块的SFR或指定的RAM地址范围;
读保护模块,用于接收总线信号和控制模块输出的使能信号/禁止信号,在接收到使能信号时对保护范围内的flash进行读保护操作,在接收禁止信号时不对flash做任何限制。
2.根据权利要求1所述的一种用于保护芯片中敏感信息的装置,其特征在于,所述地址范围判断模块包括:
地址保护范围值子模块,用于设定flash的地址保护范围;
地址保护范围判断子模块,用于判断Master通过总线访问flash或/和RAM的地址范围是否被保护,并在被保护时输出有效信号,在不被保护时输出无效信号;还用于接收控制模块输出的RAM保护信号,此RAM保护信号有效时,地址保护范围判断子模块对RAM地址进行读保护,此RAM保护信号无效时,地址保护范围判断子模块仅对flash地址进行保护;
flash操作方式判断子模块,用于判断Master通过总线对flash进行的操作,在进行读操作时输出有效信号,在进行读以外的操作时输出无效信号;
与门子模块,用于接收地址保护范围判断子模块和flash操作方式判断子模块输出的信号,并在接收的信号均有效时输出有效信号,并传递至控制模块。
3.根据权利要求2所述的一种用于保护芯片中敏感信息的装置,其特征在于,所述Master判断模块包括:
Master预置子模块,用于预置Master的指定编号;
Master核心判断子模块,用于读取总线中的Master编号,并与Master预置子模块的指定编号进行对比,在两个编号不同时输出有效信号传递至控制模块,在两个编号相同时输出无效信号;
Master判断使能子模块,用于接收控制模块输出的RAM保护信号,此RAM保护信号有效时使能Master核心判断子模块,此RAM保护信号无效时禁止Master核心判断子模块。
4.根据权利要求3所述的一种用于保护芯片中敏感信息的装置,其特征在于,所述控制模块包括:
限制信号的接收和判断子模块,用于接收Master判断模块、地址范围判断模块、RAM保护子模块的输出信号并判断:1)在RAM保护子模块输出无效信号、地址范围判断模块输出有效信号时,限制信号的接收和判断子模块输出保护信号;2)在RAM保护子模块输出无效信号、址范围判断模块输出无效信号时,限制信号的接收和判断子模块输出不保护信号;3)在RAM保护子模块输出有效信号时,仅当Master判断模块输出有效信号且地址范围判断模块输出有效信号时,限制信号的接收和判断子模块输出保护信号,其他情况输出不保护信号;
控制处理子模块,用于接收限制信号的接收和判断子模块输出的保护/不保护信号,并在接收到保护信号时使能读保护信号输出子模块,在接收到不保护信号时禁止读保护信号输出子模块;在SFR中的读写使能控制有效时,用于向读写使能信号生成子模块传递使能信号,还用于从SFR中提取出待处理的源地址和长度信息、目的地址和长度信息,并判断SFR中的目的地址是否为RAM,在SFR中提取的目的地址是RAM时,向RAM保护子模块传送使能信号,在SFR中提取的目的地址不是RAM时,向RAM保护子模块传送禁止信号;
读保护信号输出子模块,用于接收控制处理子模块的使能信号/禁止信号,生成并输出读保护使能信号/禁止信号给读保护模块,进而限制/不限制对保护地址范围的读取;
源地址和长度桥接子模块,用于接收控制处理子模块提取的源地址和长度信息,并将源地址和长度信息转换为读取并写出模块能够识别的格式,随后将转换格式后的信息传递给读取并写出模块;
目的地址和长度桥接子模块,用于接收控制处理子模块提取的目的地址和长度信息,并将目的地址和长度信息转换为读取并写出模块能够识别的格式,随后将转换格式后的信息传递给读取并写出模块;
RAM保护子模块,用于接收控制处理子模块传送的使能信号/禁止信号,并分别向Master判断模块、地址范围判断模块、限制信号的接收和判断子模块传递有效/无效的RAM保护信号;
读写使能信号生成子模块,用于接收控制处理子模块传送的使能信号,并生成读取并写出模块的使能信号。
5.根据权利要求4所述的一种用于保护芯片中敏感信息的装置,其特征在于,
所述读取并写出模块包括:
读取子模块,用于接收控制模块输出的源地址和长度信号,根据此信号,读取地址保护范围值子模块设定范围内的数据,并传递给写出子模块;
写出子模块,用于接收控制模块输出的目的地址和长度信号,还用于接收读取子模块传递的数据,并写出到控制模块输出的目的地址范围内;
读写使能子模块,用于接收控制模块传递的使能信号/禁止信号,使能/禁止读取子模块将读取的数据传递至写出子模块。
6.根据权利要求1-5中任一项所述的一种用于保护芯片中敏感信息的装置,其特征在于,所述MCU系统的Master是CPU、DMA、加密协处理器、硬件算法模块、USB控制器、图像处理加速器、以太网控制器中的至少一种或几种的组合。
7.一种用于保护芯片中敏感信息的方法,该方法基于如权利要求1所述的装置,其特征在于,该方法的实现过程包括:
1)地址范围判断模块时刻检测总线中是否有对保护范围内的地址进行读取的操作:
1a)在地址范围判断模块检测到没有对保护的地址范围进行读取操作时,输出无效信号,此时,控制模块也输出无效信号,读保护模块不对flash做任何限制,即总线信号直接透传读保护模块,读取并写出模块处于停止状态,Master判断模块输出无效信号;
1b)在地址范围判断模块检测到有对保护的地址范围进行读取操作时,地址范围判断模块输出有效信号至控制模块,控制模块接收到此有效信号时向读保护模块传递使能信号,使能读保护模块输出固定信号,禁止总线信号的透传,对保护范围内的flash进行读保护操作,此时,读取并写出模块处于停止状态;Master判断模块输出无效信号;
2)控制模块检测到自身的SFR中读写使能控制有效时,控制模块从自身的SFR中提取信息并转换成读取并写出模块能够识别的格式后输出至读取并写出模块,同时,控制模块还向读取并写出模块传递使能信号,使能信号使能读取并写出模块读取设定flash地址保护范围内的数据并写出至目的地址,控制模块用于进一步判断从SFR中提取信息的目的地址是否为RAM:
2a)如果不是RAM,读取并写出模块从保护地址内读取数据,直接写入到目的地址,即写入芯片本身加密算法模块的SFR地址范围,此时,读保护模块完成对总线信号的透传,控制模块向地址范围判断模块和Master判断模块传递无效的RAM保护信号;
2b)如果是RAM,读取并写出模块从保护地址内读取数据,直接写入到目的RAM地址,此时,控制模块向地址范围判断模块和Master判断模块传递有效的RAM保护信号,随后,地址范围判断模块( B) 判断被保护的flash地址范围和RAM地址范围是否被读取,在被读取时输出有效信号,在不被读取时输出无效信号,同时,Master判断模块( C) 判断Master是否属于指定外设,指定外设仅限于硬件算法模块和加密协处理器,在Master不属于指定外设时输出有效信号,在Master属于指定外设时输出无效信号,如果没有异常情况,即地址范围判断模块( B) 输出有效信号、Master判断模块( C) 输出无效信号时,读保护模块( E) 处于透传状态,如果出现异常情况,读保护模块( E) 禁止总线信号的透传,完成读保护;此处提到的异常指Master不符或者有对保护地址进行读取的操作。
8.根据权利要求7所述的一种用于保护芯片中敏感信息的方法,其特征在于,所述MCU系统中通过总线访问flash的Master是CPU、DMA、加密协处理器、硬件算法模块、USB控制器、图像处理加速器、以太网控制器中的至少一种或几种的组合。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811249549.9A CN109460665B (zh) | 2018-10-25 | 2018-10-25 | 一种用于保护芯片中敏感信息的装置及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811249549.9A CN109460665B (zh) | 2018-10-25 | 2018-10-25 | 一种用于保护芯片中敏感信息的装置及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109460665A CN109460665A (zh) | 2019-03-12 |
CN109460665B true CN109460665B (zh) | 2022-08-16 |
Family
ID=65608459
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811249549.9A Active CN109460665B (zh) | 2018-10-25 | 2018-10-25 | 一种用于保护芯片中敏感信息的装置及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109460665B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110135202B (zh) * | 2019-03-29 | 2023-08-25 | 北京折叠未来科技有限公司 | 一种安全mcu内的nvm自毁装置及方法 |
CN117633920A (zh) * | 2023-12-13 | 2024-03-01 | 上海国微芯芯半导体有限公司 | 一种敏感数据传输总线架构、控制逻辑电路及传输系统 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7702839B2 (en) * | 2005-04-12 | 2010-04-20 | Nokia Corporation | Memory interface for volatile and non-volatile memory devices |
CN104636275B (zh) * | 2014-12-30 | 2018-02-23 | 北京兆易创新科技股份有限公司 | 一种mcu芯片的信息保护方法和装置 |
CN105335548B (zh) * | 2015-09-24 | 2019-05-24 | 深圳市芯海科技有限公司 | 一种用于ice的mcu仿真方法 |
CN105786735A (zh) * | 2016-02-19 | 2016-07-20 | 大唐微电子技术有限公司 | 一种直接内存存取dma控制器及数据访问方法 |
CN106228087A (zh) * | 2016-07-11 | 2016-12-14 | 武汉瑞纳捷电子技术有限公司 | 一种基于安全芯片的机密信息保护方法及系统 |
-
2018
- 2018-10-25 CN CN201811249549.9A patent/CN109460665B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN109460665A (zh) | 2019-03-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9537656B2 (en) | Systems and methods for managing cryptographic keys in a secure microcontroller | |
US20170024568A1 (en) | Technologies for integrity, anti-replay, and authenticity assurance for i/o data | |
US9152825B2 (en) | Using storage controller bus interfaces to secure data transfer between storage devices and hosts | |
US20140223052A1 (en) | System and method for slave-based memory protection | |
MY146182A (en) | Memory access security management | |
CN101976320B (zh) | 一种可信计算机平台 | |
US9633196B2 (en) | Electronic system, electronic apparatus and access authentication method thereof | |
CN108628791B (zh) | 基于pcie接口的高速安全芯片 | |
CN108090366B (zh) | 数据保护方法及装置、计算机装置及可读存储介质 | |
CN109460665B (zh) | 一种用于保护芯片中敏感信息的装置及方法 | |
US20230297725A1 (en) | Technologies for filtering memory access transactions received from one or more i/o devices | |
CN111191214B (zh) | 一种嵌入式处理器及数据保护方法 | |
CN115659379A (zh) | 一种总线访问权限控制方法及装置 | |
CN111295645A (zh) | 一种SoC芯片及总线访问控制方法 | |
US20190228159A1 (en) | Technologies for filtering memory access transactions received from one or more accelerators via coherent accelerator link | |
KR101867336B1 (ko) | 다중 프로세서를 지원하는 인터럽트 발생을 위한 장치 및 방법 | |
CN112417470A (zh) | 实现gpu数据安全访问的方法、装置、电子设备及存储介质 | |
CN112948840A (zh) | 一种访问控制设备和包含该设备的处理器 | |
CN111159097A (zh) | 一种片上访存保护系统及方法 | |
US20210389884A1 (en) | System and method for memory region protection | |
JP2007310601A (ja) | マイクロコンピュータおよびそのソフトウェア保護方法 | |
CN104361280B (zh) | 一种通过smi中断实现对usb存储设备进行可信认证的方法 | |
CN106548098B (zh) | 用于检测故障攻击的方法和系统 | |
CN202110552U (zh) | 一种基于多体交叉存储技术的软件保护装置 | |
US9990494B2 (en) | Techniques for enabling co-existence of multiple security measures |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20230524 Address after: 100085 303, Block B, Jinyu International Center, Longyu East 1st Road, Changping District, Beijing Patentee after: Beijing Folding Future Technology Co.,Ltd. Address before: Room 307, floor 3, block B, No. 9 Xinghuo Road, Jiangbei new area, Nanjing, Jiangsu 211800 Patentee before: SHISHENGHUA MICROELECTRONICS (NANJING) Co.,Ltd. |