CN110929304A - 一种基于risc-v的内存保护方法 - Google Patents
一种基于risc-v的内存保护方法 Download PDFInfo
- Publication number
- CN110929304A CN110929304A CN201911228295.7A CN201911228295A CN110929304A CN 110929304 A CN110929304 A CN 110929304A CN 201911228295 A CN201911228295 A CN 201911228295A CN 110929304 A CN110929304 A CN 110929304A
- Authority
- CN
- China
- Prior art keywords
- memory
- risc
- app
- applications
- application
- 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
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/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/78—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2141—Access rights, e.g. capability lists, access control lists, access tables, access matrices
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开了一种基于RISC‑V的内存保护方法,包括:一种基于RISC‑V的内存保护方法,包括:步骤S1:采用RISC‑V芯片的设备开发n个APP应用;步骤S2:将RISC‑V芯片的内存划分为n个互相独立的内存区域,其中n个内存区域分别对应n个APP应用;步骤S3:配置RISC‑V特权指令集,内存控制寄存器配置每一个应用APP,使每个应用APP在其对应的内存区域有访问权限,在其他内存区域无访问权限。本发明分块控制RISC‑V的内存区域,有效防止内存被恶意程序访问和篡改;RISC‑V设备的各个应用独立访问各自权限内的内存区域,互不干扰,保证数据私密性和安全性的问题。
Description
技术领域
本发明涉及信息安全技术领域,尤其是涉及嵌入式内存安全技术领域,具体的说,是一种基于RISC-V的内存保护方法。
背景技术
随着物联网设备目前都开始接入互联网,针对设备上的安全保护变得尤为重要,特别是安全应用程序。目前几乎所有的没有MMU(Memory Manage Unit内存管理单元)的嵌入式设备的内存都是没有进行保护的,设备上的所有应用都可以访问内存的所有区域,这给应用数据的私密性和安全性带来了威胁和挑战。
发明内容
本发明的目的在于提供一种基于RISC-V的内存保护方法,用于解决现有技术中嵌入式设备对内存没有保护,应用可以访问内存所有区域,对数据的私密性和安全性存在威胁的问题。
本发明通过下述技术方案解决上述问题:
一种基于RISC-V的内存保护方法,包括:
步骤S1:采用RISC-V芯片的设备开发n个APP应用;
步骤S2:将RISC-V芯片的内存划分为n个互相独立的内存区域,其中n个内存区域分别对应n个APP应用;
步骤S3:配置RISC-V特权指令集,内存控制寄存器配置每一个应用APP,使每个应用APP在其对应的内存区域有访问权限,在其他内存区域无访问权限。
将各个应用的内存区域独立划分,每个应用只能访问自己对应的内存区域,有效防止内存被恶意程序访问和篡改。
进一步地,所述步骤S1中的APP应用若存在交互,则在步骤S2中将RISC-V芯片的内存划分为n+1个互相独立的内存区域,其中n个内存区域分别对应n个APP应用,第n+1个设置为共享内存区域;
步骤S3:配置RISC-V特权指令集,内存控制寄存器配置每一个应用APP,使每个应用APP在其对应的内存区域和共享内存区域有访问权限,在其他内存区域无访问权限;
步骤S4:应用APP与其他应用APP进行交互时,将执行结果存储在第n+1个区域。
基于RISC-V特权指令集配置内存控制寄存器,通过配置内存控制寄存器来分配和管理内存地址的访问权限。分配内存地址访问权限后,各个应用访问各自所属的内存区域和共享内存区域,无法访问其他应用的内存区域的地址。如果设备的各个应用之间需要交互,则应用执行完成后将执行结果存储在共享内存区域的地址,这样既可以保证RISC-V内存的安全,又可以进行应用间的数据交互。
进一步地,步骤S3中的配置RISC-V特权指令集的具体步骤为:
步骤S31:内存控制寄存器配置第一个应用APP对内存区域1和内存区域n+1的访问权限为RWX=111,对其他内存区域的访问权限设置为RWX=000;
步骤S32:内存控制寄存器配置第二个应用APP对内存区域2和内存区域n+1的访问权限为RWX=111,对其他内存区域的访问权限设置为RWX=000;
步骤S33:采用同样的方式配置其他应用APP对内存区域的访问权限。
待RISC-V设备应用开发完成,应用APP1启动后只能够访问内存区域1和内存区域n+1的内存地址,其他内存地址无法正常访问;如果设备的应用之间需要有交互,则应用执行完成后将执行结果存储在内存n+1的地址;需要交互的应用则到n+1内存区域获取另一个应用的执行结果,这样既保证了内存的安全,又可以达到应用间的数据交互。
本发明与现有技术相比,具有以下优点及有益效果:
本发明分块控制RISC-V的内存区域,有效防止内存被恶意程序访问和篡改;RISC-V设备的各个应用独立访问各自权限内的内存区域,互不干扰,保证数据私密性和安全性的问题。
附图说明
图1为本发明的流程图;
图2为本发明中内存访问权限的划分示意图。
具体实施方式
下面结合实施例对本发明作进一步地详细说明,但本发明的实施方式不限于此。
实施例1:
结合附图1所示,一种基于RISC-V的内存保护方法,包括:
步骤1、RISC-V芯片设备开发了n个APP应用,并且APP应用之间有交互;
步骤2、将RISC-V芯片内存区域划分为n+1个相互独立的区域,前n个区域分别对应n个APP应用,第n+1区域为共享内存区域,任何APP应用都可以访问该区域,该共享内存区域供APP应用之间数据交互时使用;
步骤3、配置RISC-V特权指令集,内存控制寄存器配置应用APP1对内存区域1和内存区域n+1的访问权限为RWX=111(R表示度权限,W表示写权限,X表示可执行权限,1表示有权限,0表示无权限),对其他剩余内存访问权限为RWX=000;
步骤4、配置RISC-V特权指令集,内存控制寄存器配置应用APP2对内存区域2和内存区域n+1的访问权限为RWX=111,对其他剩余内存访问权限为RWX=000,具体如附图2所示;
步骤5、使用同样的方式配置剩余的应用APP对内存的访问权限。
步骤6、待RISC-V设备应用开发完成,应用APP1启动后只能够访问内存区域1和内存区域n+1的内存地址,其他内存地址无法正常访问;
步骤7、如果设备各个应用之间需要有交互,则应用执行完成后将执行结果存储在内存n+1的地址;
步骤8、另外需要交互的应用则之间到n+1内存区域获取应用的执行结果,这样既保证了内存的安全,又可以达到应用间的数据交互。
到此基于RISC-V的内存保护方法已经完成。其保护的核心是基于RISC-V特权指令集,该特权指令集可以通过配置内存控制寄存器来分配管理内存地址的访问权限。分配内存地址访问权限后,各自应用访问各自所属的内存区域和共享内存区域,自己应用无法访问其他应用内存区域的地址。这样既可以保证RISC-V内存的安全,又可以进行应用间的数据交互。
尽管这里参照本发明的解释性实施例对本发明进行了描述,上述实施例仅为本发明较佳的实施方式,本发明的实施方式并不受上述实施例的限制,应该理解,本领域技术人员可以设计出很多其他的修改和实施方式,这些修改和实施方式将落在本申请公开的原则范围和精神之内。
Claims (3)
1.一种基于RISC-V的内存保护方法,其特征在于,包括:
步骤S1:采用RISC-V芯片的设备开发n个APP应用;
步骤S2:将RISC-V芯片的内存划分为n个互相独立的内存区域,其中n个内存区域分别对应n个APP应用;
步骤S3:配置RISC-V特权指令集,内存控制寄存器配置每一个应用APP,使每个应用APP在其对应的内存区域有访问权限,在其他内存区域无访问权限。
2.根据权利要求1所述的一种基于RISC-V的内存保护方法,其特征在于,所述步骤S1中的APP应用若存在交互,则在步骤S2中将RISC-V芯片的内存划分为n+1个互相独立的内存区域,其中n个内存区域分别对应n个APP应用,第n+1个设置为共享内存区域;
步骤S3:配置RISC-V特权指令集,内存控制寄存器配置每一个应用APP,使每个应用APP在其对应的内存区域和共享内存区域有访问权限,在其他内存区域无访问权限;
步骤S4:应用APP与其他应用APP进行交互时,将执行结果存储在第n+1个区域。
3.根据权利要求2所述的一种基于RISC-V的内存保护方法,其特征在于,所述步骤S3中的配置RISC-V特权指令集的具体步骤为:
步骤S31:内存控制寄存器配置第一个应用APP对内存区域1和内存区域n+1的访问权限为RWX=111,对其他内存区域的访问权限设置为RWX=000;
步骤S32:内存控制寄存器配置第二个应用APP对内存区域2和内存区域n+1的访问权限为RWX=111,对其他内存区域的访问权限设置为RWX=000;
步骤S33:采用同样的方式配置其他应用APP对内存区域的访问权限。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911228295.7A CN110929304A (zh) | 2019-12-04 | 2019-12-04 | 一种基于risc-v的内存保护方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911228295.7A CN110929304A (zh) | 2019-12-04 | 2019-12-04 | 一种基于risc-v的内存保护方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110929304A true CN110929304A (zh) | 2020-03-27 |
Family
ID=69856711
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911228295.7A Pending CN110929304A (zh) | 2019-12-04 | 2019-12-04 | 一种基于risc-v的内存保护方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110929304A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113220225A (zh) * | 2021-04-06 | 2021-08-06 | 浙江大学 | Risc-v处理器的内存数据读写方法及装置、处理器、存储介质 |
WO2021203767A1 (zh) * | 2020-04-08 | 2021-10-14 | 中兴通讯股份有限公司 | 内存访问方法、系统级芯片和电子设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1203394A (zh) * | 1997-06-20 | 1998-12-30 | 国际商业机器公司 | 在安全存储区中保护应用程序数据的方法和装置 |
CN108052461A (zh) * | 2017-12-29 | 2018-05-18 | 普华基础软件股份有限公司 | 一种操作系统的内存保护方法 |
US20190042461A1 (en) * | 2018-04-20 | 2019-02-07 | Rupin Vakharwala | Pause communication from i/o devices supporting page faults |
CN109766165A (zh) * | 2018-11-22 | 2019-05-17 | 海光信息技术有限公司 | 一种内存访问控制方法、装置、内存控制器及计算机系统 |
-
2019
- 2019-12-04 CN CN201911228295.7A patent/CN110929304A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1203394A (zh) * | 1997-06-20 | 1998-12-30 | 国际商业机器公司 | 在安全存储区中保护应用程序数据的方法和装置 |
CN108052461A (zh) * | 2017-12-29 | 2018-05-18 | 普华基础软件股份有限公司 | 一种操作系统的内存保护方法 |
US20190042461A1 (en) * | 2018-04-20 | 2019-02-07 | Rupin Vakharwala | Pause communication from i/o devices supporting page faults |
CN109766165A (zh) * | 2018-11-22 | 2019-05-17 | 海光信息技术有限公司 | 一种内存访问控制方法、装置、内存控制器及计算机系统 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021203767A1 (zh) * | 2020-04-08 | 2021-10-14 | 中兴通讯股份有限公司 | 内存访问方法、系统级芯片和电子设备 |
CN113220225A (zh) * | 2021-04-06 | 2021-08-06 | 浙江大学 | Risc-v处理器的内存数据读写方法及装置、处理器、存储介质 |
CN113220225B (zh) * | 2021-04-06 | 2022-04-12 | 浙江大学 | Risc-v处理器的内存数据读写方法及装置、处理器、存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111651778B (zh) | 基于risc-v指令架构的物理内存隔离方法 | |
JP6913636B2 (ja) | 共有ページ | |
JP6966333B2 (ja) | 安全な初期化 | |
JP6893479B2 (ja) | 所有権テーブルを用いたデータ処理装置及び方法 | |
KR101970744B1 (ko) | 신뢰 레벨 활성화 기법 | |
RU2640300C2 (ru) | Движок интроспекции памяти для защиты целостности виртуальных машин | |
US8429741B2 (en) | Altered token sandboxing | |
TWI780546B (zh) | 執行安全操作的系統以及系統執行安全操作的方法 | |
CN104866762A (zh) | 安全管理程序功能 | |
US8006055B2 (en) | Fine granularity hierarchiacal memory protection | |
EP2827272B1 (en) | Electronic device, operating system and access control method | |
CN110929304A (zh) | 一种基于risc-v的内存保护方法 | |
US8689288B2 (en) | Apparatus and method for protecting system in virtualized environment | |
US20180129828A1 (en) | Exclusive execution environment within a system-on-a-chip computing system | |
US10380338B2 (en) | System and method for intra-level privilege seperation for system software on arm | |
US20140289739A1 (en) | Allocating and sharing a data object among program instances | |
US10459851B2 (en) | Method and apparatus for executing a process on a device using memory privileges | |
KR101460451B1 (ko) | 프로세스 주소 공간을 제어하는 장치 및 방법 | |
JP6838223B2 (ja) | 車両制御装置 | |
KR102028704B1 (ko) | 전자기기에서 코드 삽입 공격으로부터 보호를 위한 메모리 운용 방법 | |
CN114722404B (zh) | 基于risc-v实现任意数量eapp的方法、系统 | |
US11429412B2 (en) | Guest protection from application code execution in kernel mode | |
CN111914284B (zh) | 操作系统中进程地址空间隔离保护方法、装置及设备 | |
JP5496464B2 (ja) | 仮想化環境での安全なシステム保護装置および方法 | |
US20160313938A1 (en) | Fine grained memory protection to thwart memory overrun attacks |
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 |
Application publication date: 20200327 |
|
RJ01 | Rejection of invention patent application after publication |