CN112256622B - 一种基于可编程逻辑阵列实现安全传输的方法 - Google Patents
一种基于可编程逻辑阵列实现安全传输的方法 Download PDFInfo
- Publication number
- CN112256622B CN112256622B CN202011080151.4A CN202011080151A CN112256622B CN 112256622 B CN112256622 B CN 112256622B CN 202011080151 A CN202011080151 A CN 202011080151A CN 112256622 B CN112256622 B CN 112256622B
- Authority
- CN
- China
- Prior art keywords
- kernel
- encryption
- risc
- programmable logic
- rsic
- 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
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/163—Interprocessor communication
- G06F15/167—Interprocessor communication using a common memory, e.g. mailbox
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Storage Device Security (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开了一种基于可编程逻辑阵列实现信息安全传输系统的方法,步骤1、对开源的RISC‑V指令集进行裁剪和扩展;步骤2、设计信息安全传输系统的发送端、接收端的加密模块和解密模块硬件部分;步骤3、完善信息安全传输系统的编译工具;步骤4、对开源Linux系统进行裁剪,移植到RISC‑V上形成能够运行与调度的资源;步骤5、在交叉编译环境中调用匹配内核以RISC‑V体系架构编译linux内核,同时把加密模块和解密模块的驱动程序加载到内核中,生成新的内核镜像文件;步骤6、对硬件电路进行综合、布局布线后加载到可编程逻辑阵列中,引导嵌入式操作系统的启动。本发明提高了信息安全传输系统的自主可靠性和安全性。
Description
技术领域
本发明涉及数字电路、加密算法、通信技术等技术领域,特别是涉及一种基于可编程逻辑阵列实现安全传输的方法。
背景技术
信息作为一种资源,它的普遍性、共享性、增值性、可处理性和多效用性,使其对于人类具有特别重要的意义。保证信息安全性的实质要保护信息系统或信息网络中的信息资源免受各种类型的威胁、干扰和破坏。
随着科技的发展和互联网的普及,各方面的信息量都在急剧增加,对信息的存储、传输提出了更高的要求。同时,物联网和移动互联网等新网络的快速发展给信息安全带来更大的挑战。物联网将会在智能电网、智能交通、智能物流、金融与服务业、国防军事等诸多领域得到应用,物联网中的认证机制和加密机制是安全上最重要的两个环节,也是信息安全产业中保障信息安全的薄弱环节。与此同时,随着互联网的发展,传统的网络边界不复存在,给未来的互联网应用和业务带来巨大改变,给信息安全也带来了新挑战。融合开放是互联网发展的特点之一,网络安全也因此变得正在向分布化、规模化、复杂化和间接化等方向发展,信息安全产业也将在融合开放的大安全环境中探寻发展。保证信息的安全传输日益成为研究的热点问题。
针对某些行业或领域,对传输系统的安全性有较高要求,为增强软件和硬件的自主可控性,防止传输的信息被窃取,因此需要从软硬件两个方面设计安全传输系统,从而保证安全的信息传输。
保证信息传输安全的方式多种多样,这些方法都具有保证传输信息的安全性,但因行业不同,对传输系统安全性的要求也不同;此外,虽然现在提供信息传输安全的方案及应用越来越多,然而它们中的大部分,仍旧没有通过软硬件协同设计的方法来保证信息传输系统的安全。
随着软硬件协同设计方法的快速发展和成熟,为本领域提出的一种基于可编程逻辑阵列实现安全传输的方法提供了合适的研究基础。
发明内容
基于以上所述当前信息安全传输所存在的不足以及结合科学技术的快速发展,为了更好的满足人们对信息安全的需求,本发明提出了一种基于可编程逻辑阵列实现安全传输的方法,利用开源的RISC-V指令集、自定义加密算法以及可编程逻辑阵列的可重构性对信息进行安全处理和传输。以上几点,都使得本发明提出的基于可编程逻辑阵列实现安全传输的方法成为可能。
本发明的一种基于可编程逻辑阵列实现信息安全传输系统的方法,具体包括以下步骤:
步骤1、对开源的RISC-V指令集进行裁剪和扩展,以满足信息安全传输系统的要求;
步骤2、设计信息安全传输系统的发送端、接收端的加密模块和解密模块硬件部分,采用非对称加密算法以保证加密过程的安全性,用一个密钥加密信息后,只有对应的密钥才能解开;公钥可向其他人公开,私钥则保密,其他人无法通过该公钥推算出相应的私钥;
步骤3、基于LLVM编译器框架进行修改,添加RISC-V后端以及自定义指令,完善信息安全传输系统的编译工具,完善交叉编译工具链,提高系统使用的便利性;
步骤4、对开源Linux系统进行裁剪,移植到RISC-V上形成能够运行与调度的资源;
步骤5、在交叉编译环境中调用匹配内核以RISC-V体系架构编译linux内核,同时把加密模块和解密模块的驱动程序加载到内核中,生成新的内核镜像文件,用于后续管理硬件设备、实现进程调度;
步骤6、利用可编程逻辑阵列厂商提供的工具,对硬件电路进行综合、布局布线后加载到可编程逻辑阵列中,将步骤5生成的内核镜像文件拷贝到存储卡中,引导嵌入式操作系统的启动。
利用可编程逻辑阵列厂商提供的工具,对利用verilog硬件描述语言设计的RSIC-V处理器、加密模块、解密模块硬件电路进行综合、布局布线后加载到可编程逻辑阵列中,将步骤5生成的内核镜像文件拷贝到存储卡中,引导嵌入式操作系统的启动。
所述步骤3中基于LLVM编译器框架进行修改,具体包括以下步骤:
LLVM编译器框架主要前端、优化器以及后端三部分组成,把LLVM的中间表示转换成可在RSIC-V处理器上运行的执行代码,即:在LLVM编译框架的后端部分创建一个Targetmachine类的子类来描述RSIC-V目标机器的特性;然后使用Tablegen为目标机器的寄存器定义、寄存器别名和来自目标特定的RegisterInfo.td的寄存器类产生代码;同时在TargetInfo类添加代码来表示这个目标机器支持的指令集,包括自定义的加密、解密指令。
所述步骤4中对开源Linux系统进行裁剪,具体包括以下步骤:
以开源Linux系统为基础,编译一个最小化的Linux内核,完成整个内核的初始化并启动init进程;然后添加UART、USB、CF等设备的驱动程序,以及完成对Ext2文件系统的支持,添加文件系统相关的MTD、Block设备驱动等,针对内核配置至少添加IPC、网络支持、TCP/IP、Socket内容,生成内核启动镜像,将内核镜像文件嵌入引导程序,并将嵌入后得到的引导程序加载到RSIC-V处理器的内存中,生成可运行于RSIC-V的linux操作系统。
与现有技术相比,本发明充分考虑了软硬件协同设计的方法,保证信息安全传输系统的自主可靠性和安全性。
附图说明
图1为基于RISC-V的安全传输系统框架示意图;
图2为本发明的基于可编程逻辑阵列实现信息安全传输系统的方法整体流程图。
具体实施方式
下面将结合附图对本发明的实施方式作进一步的详细描述。
本发明所采用的技术为基于RISC-V的安全传输系统,如图1所示,为基于RISC-V的安全传输系统框架示意图。该系统分为发送端和接收端。其中,发送端负责拟加密传输数据的采集和接收,然后利用加密算法对数据进行加密处理,再利用传输中介(如以太网等)传输至接收端;接收端负责对接收到的加密数据进行数字签名认证以及解密,然后经过按需求处理后呈现给使用者。
鉴于RISC-V指令集的开源性,使用者根据需求对RISC-V指令集进行裁剪和扩展实现完全的自足可控,同时开源的RISC-VCore也较多,可满足快速地工程实现要求,在信息安全传输系统中的发送端和接收端的控制器基于RISC-V内核进行设计;加密算法则利用非对称加密算法以保证加密过程的效率和安全性,用一个密钥(公钥或私钥)加密信息后,只有对应的密钥才能解开;公钥可向其他人公开,私钥则保密,其他人无法通过该公钥推算出相应的私钥;最后,需要将RISC-V内核和加密算法部署到FPGA设备中,实现大量计算在本地直接处理,而无需把所有数据都发送到云端,实现本地事件的更快响应,从而实现信息的安全传输。
如图2所示,为本发明的一种基于可编程逻辑阵列实现信息安全传输系统的方法整体流程图,该方法具体包括以下步骤:
步骤1、对开源的RISC-V指令集进行裁剪和扩展,RSIC-V指令架构是以模块化方式设计,其包括基本整数指令、乘除法指令、16位紧凑指令、单精度浮点指令、双精度浮点指令、位操作指令、向量指令等指令子集,由于目前已有的指令子集扩展没有适合需求的合适的指令子集,需要添加自定义的添加加密和解密指令。本发明对RSIC-V的支持指令子集包括基本整数指令、乘除法指令和单双精度浮点指令,在RSIC-V预留的指令编码空间扩展自定义的加密和解密指令,添加加密、解密指令可提高系统处理加密任务、解密任务的效率;
步骤2、在基于RISC-V的安全传输系统中的发送端和接收端,设计加密模块和解密模块两个硬件部分,采用非对称加密算法以保证加密过程的安全性,用一个密钥(公钥或私钥)加密信息后,只有对应的密钥才能解开;公钥可向其他人公开,私钥则保密,其他人无法通过该公钥推算出相应的私钥;
步骤3、基于LLVM编译器框架进行修改。LLVM编译器框架主要前端、优化器以及后端三部分组成,在本发明中针对高级编程语言(如C、C++等)在基于RSIC-V安全传输系统上的实现,需要在LLVM后端部分添加RSIC-V后端部分,把LLVM的中间表示转换成可在RSIC-V处理器上运行的执行代码,主要的修改步骤包括:在LLVM编译框架的后端部分创建一个Targetmachine类的子类来描述RSIC-V目标机器的特性;然后使用Tablegen为目标机器的寄存器定义、寄存器别名和来自目标特定的RegisterInfo.td的寄存器类产生代码;同时需要在TargetInfo类添加代码来表示这个目标机器支持的指令集,包括自定义的加密、解密指令;
步骤4、对开源Linux系统进行裁剪,即:利用目前现有的开源Linux系统为基础,编译一个最小化的Linux内核,能够完整完成整个内核的初始化并启动init进程;然后添加UART、USB、CF等设备的驱动程序,以及完成对Ext2文件系统的支持,添加文件系统相关的MTD、Block设备驱动等,针对内核配置添加IPC、网络支持、TCP/IP、Socket等内容,生成内核启动镜像,将内核镜像文件嵌入引导程序,并将嵌入后得到的引导程序加载到RSIC-V处理器的内存中,生成可运行于RSIC-V的linux操作系统;
步骤5、在步骤4的基础之上在linux内核中添加加密模块和解密模块的驱动程序,生成新的内核镜像文件,用于后续管理外部硬件设备(如加密模块、解密模块等)、实现进程调度;
步骤6、利用可编程逻辑阵列厂商提供的工具,对利用verilog硬件描述语言设计的RSIC-V处理器、加密模块、解密模块等硬件电路进行综合、布局布线后加载到可编程逻辑阵列中,将步骤5生成的内核镜像文件拷贝到存储卡中,引导嵌入式操作系统的启动。
本发明并不局限于前述的流程,任何将本发明所披露的特征或新的步骤的组合进行扩展的,皆落入本发明的保护范围。
Claims (1)
1.一种基于可编程逻辑阵列实现信息安全传输系统的方法,其特征在于,该方法具体包括以下步骤:
步骤1、对开源的RISC-V指令集进行裁剪和扩展,以满足信息安全传输系统的要求;在RSIC-V预留的指令编码空间扩展自定义的加密和解密指令,添加加密、解密指令提高系统处理加密任务、解密任务的效率;
步骤2、设计信息安全传输系统的发送端、接收端的加密模块和解密模块硬件部分,采用非对称加密算法以保证加密过程的安全性,用一个密钥加密信息后,只有对应的密钥才能解开;公钥向其他人公开,私钥则保密,其他人无法通过该公钥推算出相应的私钥;
步骤3、基于LLVM编译器框架进行修改,添加RISC-V后端以及自定义指令,完善信息安全传输系统的编译工具,完善交叉编译工具链,提高系统使用的便利性;具体包括:LLVM编译器框架由前端、优化器以及后端三部分组成,把LLVM的中间表示转换成在RSIC-V处理器上运行的执行代码,即:在LLVM编译框架的后端部分创建一个Targetmachine类的子类来描述RSIC-V目标机器的特性;然后使用Tablegen为目标机器的寄存器定义、寄存器别名和来自目标特定的RegisterInfo.td的寄存器类产生代码;同时在TargetInfo类添加代码来表示这个目标机器支持的指令集,包括自定义的加密、解密指令;
步骤4、对开源Linux系统进行裁剪,移植到RISC-V上形成能够运行与调度的资源;具体包括:以开源Linux系统为基础,编译一个最小化的Linux内核,完成整个内核的初始化并启动init进程;然后添加UART、USB、CF设备的驱动程序,以及完成对Ext2文件系统的支持,添加文件系统相关的MTD、Block设备驱动,针对内核配置至少添加IPC、网络支持、TCP/IP、Socket内容,生成内核启动镜像,将内核镜像文件嵌入引导程序,并将嵌入后得到的引导程序加载到RSIC-V处理器的内存中,生成运行于RSIC-V的linux操作系统;
步骤5、在交叉编译环境中调用匹配内核以RISC-V体系架构编译linux内核,同时把加密模块和解密模块的驱动程序加载到内核中,生成新的内核镜像文件,用于后续管理硬件设备、实现进程调度;
步骤6、利用可编程逻辑阵列厂商提供的工具,对利用verilog硬件描述语言设计的RSIC-V处理器、加密模块、解密模块硬件电路进行综合、布局布线后加载到可编程逻辑阵列中,将步骤5生成的内核镜像文件拷贝到存储卡中,引导嵌入式操作系统的启动。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011080151.4A CN112256622B (zh) | 2020-10-10 | 2020-10-10 | 一种基于可编程逻辑阵列实现安全传输的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011080151.4A CN112256622B (zh) | 2020-10-10 | 2020-10-10 | 一种基于可编程逻辑阵列实现安全传输的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112256622A CN112256622A (zh) | 2021-01-22 |
CN112256622B true CN112256622B (zh) | 2022-12-02 |
Family
ID=74242827
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011080151.4A Active CN112256622B (zh) | 2020-10-10 | 2020-10-10 | 一种基于可编程逻辑阵列实现安全传输的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112256622B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114416031B (zh) * | 2021-12-27 | 2022-09-16 | 中国科学院软件研究所 | 面向AIoT场景支持RISC-V处理器的操作系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105068860A (zh) * | 2015-09-08 | 2015-11-18 | 中国矿业大学(北京) | 一种基于ARM的Linux采煤机管理主机系统 |
CN106293756A (zh) * | 2016-08-16 | 2017-01-04 | 汉柏科技有限公司 | 一种用于快速更换的自定义Linux内核系统 |
CN108243186A (zh) * | 2017-12-22 | 2018-07-03 | 深圳市汇川技术股份有限公司 | 远程操作可编程逻辑控制器的系统和方法 |
CN108418673A (zh) * | 2018-03-15 | 2018-08-17 | 天津工业大学 | 一种基于超混沌的网络视频加密传输方法 |
CN111542054A (zh) * | 2020-05-08 | 2020-08-14 | 南京大学 | 一种基于可编程超表面的保密通信方法与系统 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060174089A1 (en) * | 2005-02-01 | 2006-08-03 | International Business Machines Corporation | Method and apparatus for embedding wide instruction words in a fixed-length instruction set architecture |
CN104199713A (zh) * | 2014-08-25 | 2014-12-10 | 山东超越数控电子有限公司 | 一种嵌入式Linux操作系统裁剪定制方法 |
CN105357218B (zh) * | 2015-12-03 | 2018-07-24 | 上海斐讯数据通信技术有限公司 | 一种具备硬件加解密功能的路由器及其加解密方法 |
CN110083385A (zh) * | 2019-05-28 | 2019-08-02 | 苏州浪潮智能科技有限公司 | 基于risc-v处理器的系统移植方法及相关组件 |
CN110971909A (zh) * | 2019-12-13 | 2020-04-07 | 湖南君瀚信息技术有限公司 | 一种低功耗低延时soc芯片 |
CN111078290B (zh) * | 2019-12-17 | 2023-03-14 | 西安电子科技大学 | 一种用于可扩展指令集的编译器及编译方法 |
-
2020
- 2020-10-10 CN CN202011080151.4A patent/CN112256622B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105068860A (zh) * | 2015-09-08 | 2015-11-18 | 中国矿业大学(北京) | 一种基于ARM的Linux采煤机管理主机系统 |
CN106293756A (zh) * | 2016-08-16 | 2017-01-04 | 汉柏科技有限公司 | 一种用于快速更换的自定义Linux内核系统 |
CN108243186A (zh) * | 2017-12-22 | 2018-07-03 | 深圳市汇川技术股份有限公司 | 远程操作可编程逻辑控制器的系统和方法 |
CN108418673A (zh) * | 2018-03-15 | 2018-08-17 | 天津工业大学 | 一种基于超混沌的网络视频加密传输方法 |
CN111542054A (zh) * | 2020-05-08 | 2020-08-14 | 南京大学 | 一种基于可编程超表面的保密通信方法与系统 |
Also Published As
Publication number | Publication date |
---|---|
CN112256622A (zh) | 2021-01-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111683071B (zh) | 区块链的隐私数据处理方法、装置、设备以及存储介质 | |
EP2697949B1 (en) | Method and apparatus for providing secret delegation | |
CN103329139A (zh) | 在具有随机分配的存储范围的安全系统中支持jit的系统和方法 | |
CN105302522A (zh) | 提供通用gf(256)simd密码算法功能性的指令和逻辑 | |
CN115730333A (zh) | 基于秘密分享和同态加密的安全树模型构建方法和装置 | |
CN112256622B (zh) | 一种基于可编程逻辑阵列实现安全传输的方法 | |
US11777707B2 (en) | Homomorphic encryption for machine learning and neural networks using high-throughput CRT evaluation | |
CN112152782A (zh) | 用于可重配置电路装置的后量子公钥签名操作 | |
Fan et al. | Secure ultra-lightweight RFID mutual authentication protocol based on transparent computing for IoV | |
CN115459928A (zh) | 数据共享方法、装置、设备及介质 | |
US12105855B2 (en) | Privacy-enhanced computation via sequestered encryption | |
CN115361163A (zh) | 基于可信执行环境的区块链计算方法、系统、设备和介质 | |
CN105825142A (zh) | 用于对移动终端中文档加解密的方法和装置 | |
CN116974583A (zh) | 数据处理方法、装置、计算机设备、存储介质及程序产品 | |
Zori et al. | Computer Engineering And Artificial Intelligence Textbook 1 | |
Salami et al. | SMAK-IOV: secure mutual authentication scheme and key exchange protocol in fog based IoV | |
CN116302102A (zh) | 一种同态运算装置和方法 | |
EP3972188A1 (en) | Low circuit depth homomorphic encryption evaluation | |
US12008146B2 (en) | Code-based signatures for secure programs | |
CN116415271A (zh) | 数据处理的方法和计算平台 | |
US20210367755A1 (en) | Devices and methods for protecting cryptographic programs | |
Liu et al. | Video data integrity verification method based on full homomorphic encryption in cloud system | |
Garcia et al. | Mapping of the AES cryptographic algorithm on a Coarse-Grain reconfigurable array processor | |
KR20160058290A (ko) | 타원곡선 암호화 기반의 복제 불가능한 rfid 보안 칩 | |
Sepúlveda et al. | Post-quantum cryptography in mpsoc environments |
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 |