DITES: A Lightweight and Flexible Dual-Core Isolated Trusted Execution SoC Based on RISC-V
<p>DITES prototype implementation using E902.</p> "> Figure 2
<p>SHA1 hardware unit. (<b>a</b>) Hardware architecture of SHA1; (<b>b</b>) SHA1 core FSM transfer diagram.</p> "> Figure 3
<p>The hardware framework for AES and RSA. (<b>a</b>) The hardware architecture of AES module; (<b>b</b>) hardware architecture of RSA.</p> "> Figure 4
<p>IOPMP internal list distribution. (<b>a</b>) IOPMP SIDxMD list; (<b>b</b>) list of MD table entries.</p> "> Figure 5
<p>Mailbox-based dual-core communication.</p> "> Figure 6
<p>Confidential access flowchart.</p> "> Figure 7
<p>Secure boot.</p> "> Figure 8
<p>Runtime of SHA1 software and hardware.</p> ">
Abstract
:1. Introduction
- (a)
- A dual-core, fully isolated multi-level bus architecture is built. The integrated crypto core supports SHA1, AES, and RSA algorithm acceleration, in which the key length of RSA can be flexibly configured into five modes.
- (b)
- Based on Chain-of-Trust (CoT), we design a secure boot process that combines SHA1 extraction program digest and RSA signature verification. Meanwhile, Input/Output Physical Memory Protection (IOPMP) has been designed as a firewall to restrict access to the CPU and the crypto core.
- (c)
- A hierarchical access strategy is proposed for data exchange to ensure secure inter-core communication.
- (d)
- DITES is implemented using a Kintex 7 FPGA and uses TSMC 90 nm to verify SoC viability.
2. Related Work
2.1. Relevant Implementations of TEE Systems
2.2. Requirements of Proposed Work
- (a)
- Lightweight: The existing TEE SoCs have high processor complexity and require many system resources. Therefore, there is a need to design a TEE SoC system based on a lightweight core processor.
- (b)
- Flexibility: Existing systems are inflexible and cannot handle different lengths of keys. Therefore, there is a need to design secure computing modules compatible with different key lengths to improve the flexibility of system encryption and decryption.
- (c)
- Security: The existing system is not highly secure and does not achieve a completely isolated computing environment for encryption and decryption. Therefore, it is necessary to explore new isolated computing methods and construct a hierarchical access strategy to improve the security of its system for data processing and transmission.
- (d)
- Reliability and validity: Reliability and validity are also important indicators of system performance. Since TEE SoC is a hardware microsystem, FPGA and ASIC technologies need to be used to fully verify the reliability and validity of TEE SoC.
3. The Design and Implementation of DITES
3.1. Processor and SoC Platform
3.2. SoC Architecture of DITES
- (1)
- Processors: The TEE CPU is in an isolated internal system, responsible for SoC security boot-related work and the handling of communication transactions with the REE CPU, such as obtaining ID and encryption and decryption transactions; REE CPU is in an open environment, using IOPMP to constrain the access rights of the REE CPU to achieve secure operation.
- (2)
- Storage: There are three main storage units, BootRom, ZSBL RAM, and main memory; BootRom stores the most primitive boot program; ZSBL RAM is responsible for storing the program of ZSBL, and Main Memory is responsible for storing the program running in the TEE and REE environments.
- (3)
- Communication: This design uses Mailbox to achieve inter-core communication, and the TEE CPU transmits data to the REE CPU using T2R Mailbox and vice versa using R2T Mailbox.
- (4)
- Peripherals: The peripherals mainly include secure peripherals and non-secure peripherals. Secure peripherals include a secure serial port (S-USI1), a secure timer (S-TIM1), and a secure network port (ETH1). Non-secure peripherals include a non-secure serial port (N-USI0), a non-secure timer (NS-TIM0), and a non-secure network port (ETH0).
- (5)
- Crypto Core: This architecture contains the hardware implementation of RSA/AES/SHA1, and IOPMP restricts access to this IP.
3.3. Secure Hierarchical Bus Architecture
3.4. Design and Implementation of Crypto Core
3.4.1. The Hardware Implementation of SHA1
3.4.2. Hardware Implementation of AES
3.4.3. Hardware Implementation of RSA
Algorithm 1: Modular exponentiation based on pseudo-random operations |
1: Given: m, e, and n represent the message, power, and modulus, respectively. 2: Given: r, t, and nprime0 represent the Montgomery parameters, respectively. 3: Given: represents . 4: Input: The plaintext m, the key (e, n) of RSA. 5: Output: The ciphertext c after modular exponentiation computation. 6: step1: 7: 8: step2: for to 9: 10: random = LSFR(seed) 11: if then 12: else if random > 0.5 then (no return ) 13: 14: step3: return c |
3.5. Design of Firewall and Inter-Core Communication
3.5.1. Design of IOPMP
- (1)
- As shown in Figure 4, IOPMP has four Memory Domains (MDs), with eight table entries under each MD in our design. Each table entry is designed to refer to PMP and has a CFG register and an ADDR register to implement the address range constraints.
- (2)
- The master device input to IOPMP has a Source ID (SID), and IOPMP will complete the MD permission reading according to the SID. In order to reduce the resource consumption of IOPMP and bus latency, the IOPMP designed in this project can complete the indexing of up to four SIDs, while there are four different storage fields, i.e., MD0–MD3.
- (3)
- When the MD authority of the corresponding SID is read, IOPMP will process the table entries under the corresponding MD in parallel and determine whether the request address is hit or not. If it hits, the request address is valid, and the signal output is completed according to the AHB bus protocol. Otherwise, an exception interrupt signal is generated to indicate illegal access. Since IOPMP can be cascaded for more fine-grained security access control, it can be extended by cascading multiple IOPMPs when a single IOPMP is not enough to constrain the security scope.
3.5.2. Design of Mailbox
3.5.3. Multi-Level Access Policy
- (1)
- Level 1, direct access policy: It does not require any access control, and the TEE CPU directly provides access services to the REE CPU, only requires the process to meet the protocol of dual-core communication.
- (2)
- Level 2, integrity access policy: It authenticates the REE CPU process access to the security zone resources to ensure that the process code or data has not been maliciously tampered with.
- (3)
- Level 3, confidentiality access policy: It includes validity and integrity access policy and data encryption policy and is used for the access control of high-security data, such as access to keys, the extraction of fingerprints, the extraction or change of passwords, the updating of data in the security zone, etc.
3.5.4. Implementation of Confidential Access Policy
3.6. Secure Boot
- (1)
- When the SoC is powered on and reset, the TEE CPU first runs the code in BootRom. The code is mainly responsible for loading the ZSBL code and taking the corresponding signature to the ZSBL RAM in the Isolated System through the secure serial port.
- (2)
- The TEE CPU performs a SHA-1 extraction digest of the loaded program in the ZSBL RAM and performs the decryption of the signature using the RSA public key of the ZSBL code segment inside the BootRom for the signature verification of the loaded program. The TEE CPU jumps to ZSBL RAM to run when the verification is passed.
- (3)
- ZSBL first configures the IOPMP restricted access address in the SoC. Then it starts the secure serial port to load the TEE_REE code and the code signature signed by the RSA private key. After the loading is completed, the TEE CPU starts the TEE software stack after the SHA-1 calculation is performed to extract the program digest and verify the signature using RSA.
- (4)
- The TEE CPU performs SHA-1 on specific processes in the REE software stack to obtain the corresponding digest list, setting the basis for secure dual-core communication later. After completing the list generation, the TEE CPU will configure the REE CPU boot address and pull the reset signal of the REE CPU high to start the REE CPU. Hence, the secure boot of the TEE SoC is completed.
4. FPGA Test and ASIC Implementation
4.1. Introduction to the FPGA Test Platform
4.2. Resource Utilization of FPGA
4.3. Performance Analysis of Crypto Core
4.4. Dual-Core Performance Test
4.5. Comparison of TEE SoCs
4.6. ASIC Implementation
5. Limitations and Future Work
6. Conclusions
Author Contributions
Funding
Institutional Review Board Statement
Informed Consent Statement
Data Availability Statement
Conflicts of Interest
Abbreviations
AI | Artificial Intelligence |
TEE | Trusted Execution Environment |
SoC | System-on-Chip |
CPU | Central Processing Unit |
IPC | Inter-processor Communication |
RISC-V | Reduced Instruction Set Computer-V |
SHA1 | Secure Hashing Algorithm-1 |
AES | Advanced Encryption Standard |
RSA | Rivest–Shamir–Adleman |
IOPMP | Input/Output Physical Memory Protection |
CoT | Chain-of-Trust |
AHB | Advanced High-Performance Bus |
ISA | Instruction Set Architecture |
RISC-V | Reduced Instruction Set Computer-V |
FPGA | Field-Programmable-Gate-Array |
ASIC | Application-Specific Integrated Circuit |
ZSBL | Zero Stage Boot Loader |
MEU | Memory Encryption Unit |
MCU | Microcontroller Unit |
References
- Sabt, M.; Achemlal, M.; Bouabdallah, A. Trusted Execution Environment: What It is, and What It is Not. In Proceedings of the 2015 IEEE Trustcom/BigDataSE/ISPA, Helsinki, Finland, 20–22 August 2015; pp. 57–64. [Google Scholar] [CrossRef] [Green Version]
- TrustZone Technology for the ARMv8-M Architecture; ARM: Cambridg, UK, 2017; Available online: https://developer.arm.com/docs/100690/0200 (accessed on 3 March 2017).
- Intel Corporation. Intel Software Guard Extensions (Intel SGX) Developer Guide. Available online: https://download.01.org/intel-sgx/linux-1.7/docs/Intel_SGX_Developer_Guide.pdf (accessed on 17 April 2022).
- Kaplan, D.; Protecting VM Register State With SEV-ES. February 2017. Available online: https://www.amd.com/system/files/TechDocs/Protecting%20VM%20Register%20%State%20with%20SEV-ES.pdf (accessed on 17 July 2022).
- Schiavone, P.D.; Rossi, D.; Di Mauro, A.; Gurkaynak, F.K.; Saxe, T.; Wang, M.; Yap, K.C.; Benini, L. Arnold: An eFPGA-augmented RISC-V SoC for flexible and low-power IoT end nodes. IEEE Trans. Very Large Scale Integr. (VLSI) Syst. 2021, 29, 677–690. [Google Scholar] [CrossRef]
- Lou, W.; Wang, C.; Gong, L.; Zhou, X. RV-CNN: Flexible and efficient instruction set for CNNs based on RISC-V processors. In Proceedings of the 13th International Symposium on Advanced Parallel Processing Technologies, Tianjin, China, 15–16 August 2019; pp. 3–14. [Google Scholar] [CrossRef]
- Liu, Y.; Chen, Y.; Ye, W.; Gui, Y. FPGA-NHAP: A General FPGA-Based Neuromorphic Hardware Acceleration Platform With High Speed and Low Power. IEEE Trans. Circuits Syst. I Regul. Pap. 2022, 69, 2553–2566. [Google Scholar] [CrossRef]
- Oh, H. Testing and Deploying Security Algorithms on FPGA. 2022. Available online: https://s-space.snu.ac.kr/bitstream/10371/181807/1/000000169530.pdf (accessed on 17 July 2022).
- Hoang, T.-T.; Duran, C.; Serrano, R.; Sarmiento, M.; Nguyen, K.-D.; Tsukamoto, A.; Suzaki, K.; Pham, C.-K. Trusted Execution Environment Hardware by Isolated Heterogeneous Architecture for Key Scheduling. IEEE Access 2022, 10, 46014–46027. [Google Scholar] [CrossRef]
- Hoang, T.-T.; Duran, C.; Tsukamoto, A.; Suzaki, K.; Pham, C.-K. Cryptographic accelerators for trusted execution environment in RISC-V processors. In Proceedings of the IEEE International Symposium on Circuits and Systems (ISCAS), Seville, Spain, 12–14 October 2020; pp. 1–4. [Google Scholar] [CrossRef]
- Kumar, V.B.; Chattopadhyay, A.; Haj-Yahya, J.; Mendelson, A. Itus: A secure risc-v system-on-chip. In Proceedings of the 32nd IEEE International System-on-Chip Conference (IEEE SOCC), Singapore, 3–6 September 2019; pp. 418–423. [Google Scholar] [CrossRef]
- Haj-Yahya, J.; Wong, M.M.; Pudi, V.; Bhasin, S.; Chattopadhyay, A. Lightweight secure-boot architecture for risc-v system-on-chip. In Proceedings of the 20th International Symposium on Quality Electronic Design (ISQED), Santa Clara, CA, USA, 6–7 March 2019; pp. 216–223. [Google Scholar] [CrossRef]
- Lee, D.; Kohlbrenner, D.; Shinde, S.; Asanović, K.; Song, D. Keystone: An open framework for architecting trusted execution environments. In Proceedings of the 15th European Conference on Computer Systems (EuroSys), Heraklion, Greece, 27–30 April 2020; pp. 1–16. [Google Scholar] [CrossRef]
- Bahmani, R.; Brasser, F.; Dessouky, G.; Jauernig, P.; Klimmek, M.; Sadeghi, A.-R.; Stapf, E. CURE: A Security Architecture with CUstomizable and Resilient Enclaves. In Proceedings of the 30th USENIX Security Symposium (USENIX Security 21), Vancouver, Canada, 11–13 August 2021; pp. 1073–1090. [Google Scholar]
- Nasahl, P.; Schilling, R.; Werner, M.; Mangard, S. HECTOR-V: A heterogeneous CPU architecture for a secure RISC-V execution environment. In Proceedings of the 2021 ACM Asia Conference on Computer and Communications Security, Virtual Event, Hong Kong, China, 7–11 June 2021; pp. 187–199. [Google Scholar] [CrossRef]
- Costan, V.; Lebedev, I.; Devadas, S. Sanctum: Minimal hardware extensions for strong software isolation. In Proceedings of the 25th USENIX Security Symposium (USENIX Security 16), Austin, TX, USA, 10–12 August 2016; pp. 857–874. [Google Scholar]
- Xia, K.; Luo, Y.; Xu, X.; Wei, S. Sgx-fpga: Trusted execution environment for cpu-fpga heterogeneous architecture. In Proceedings of the 58th ACM/IEEE Design Automation Conference (DAC), San Francisco, CA, USA, 5–9 December 2021; pp. 301–306. [Google Scholar] [CrossRef]
- Cilardo, A. Memory Encryption Support for an FPGA-based RISC-V Implementation. In Proceedings of the 16th International Conference on Design & Technology of Integrated Systems in Nanoscale Era (DTIS), Montpellier, France, 28–30 June 2021; pp. 1–5. [Google Scholar] [CrossRef]
- Aitchison, C.; Buckle, R.; Ch’ng, A.; Clarke, C.; Malley, J.; Halak, B. On the Integration of Physically Unclonable Functions into ARM TrustZone Security Technology. In Proceedings of the 24th IEEE European Conference on Circuit Theory and Design (ECCTD), Sofia, Bulgaria, 7–10 September 2020; pp. 1–4. [Google Scholar] [CrossRef]
- Armanuzzaman, M.; Zhao, Z. BYOTee: Towards Building Your Own Trusted Execution Environments Using FPGA. arXiv 2022, arXiv:https://arxiv.org/abs/2009.05262. [Google Scholar]
- Meng, X.; Raj, K.; Ray, S.; Basu, K. SEVNOC: Security Validation of System-on-Chip Designs with NoC Fabrics. IEEE Trans. Comput.-Aided Des. Integr. Circuits Syst. 2022. [Google Scholar] [CrossRef]
- Singh, S.K.; Pan, Y.; Park, J.H. OTS Scheme Based Secure Architecture for Energy-Efficient IoT in Edge Infrastructure. Comput. Mater. Contin. 2021, 66, 2905–2922. [Google Scholar] [CrossRef]
- T-head-Semi/opene902. Available online: https://github.com/T-head-Semi/opene902 (accessed on 19 October 2021).
- Ye, W.; Chen, Y.; Liu, Y.J. The Implementation and Optimization of Neuromorphic Hardware for Supporting Spiking Neural Networks with MLP and CNN Topologies. IEEE Trans. Comput.-Aided Des. Integr. Circuits Syst. 2022. [Google Scholar] [CrossRef]
- APT32S003. Available online: http://www.aptchip.com/list_72 (accessed on 19 January 2021).
- LE5030. Available online: https://www.linkedsemi.com/products/bluetooth-low-energy-chips.html (accessed on 1 December 2021).
- CH2201. Available online: https://occ.t-head.cn/vendor/detail/index?spm=a2cl5.14293897.0.0.d1495db1Tb2vP6&id=635864638856101888&vendorId=3706716635429273600&module=1 (accessed on 13 November 2019).
- Ganesh, T.; Frederick, M.T.; Sudarshan, T.; Somani, A.K. Hashchip: A shared-resource multi-hash function processor architecture on FPGA. Integration 2007, 40, 11–19. [Google Scholar] [CrossRef]
- Borkar, A.M.; Kshirsagar, R.; Vyawahare, M. FPGA implementation of AES algorithm. In Proceedings of the 3rd International Conference on Electronics Computer Technology, Kanyakumari, India, 8–10 April 2011; pp. 401–405. [Google Scholar] [CrossRef]
- Kaedi, S.; Doostari, M.-A.; Ghaznavi-Ghoushchi, M.; Yusefi, H. A New Side-Channel Attack on Reduction of RSA-CRT Montgomery Method Based. J. Circuits Syst. Comput. 2021, 30, 2150038. [Google Scholar] [CrossRef]
Refs. | Year | Architecture | Cryptography | Complexity | Flexibility | Secure IPC | DC Library | Focus |
---|---|---|---|---|---|---|---|---|
[9] | 2022 | Dual Core (Rocket) | SHA3, AES, Ed25519 | High | Medium | N/A | ROHM −180 nm | TS |
[10] | 2020 | Dual Core (Rocket) | SHA3, Ed25519 | High | Low | N/A | N/A | CA |
[11] | 2019 | Dual Core (Rocket) | CAU + KMU | High | Low | N/A | N/A | TS |
[12] | 2019 | Dual Core (Rocket) | CAU + KMU | High | Low | N/A | N/A | Boot |
[14] | 2021 | Dual Core (Rocket) | N/A | High | Low | N/A | N/A | SA |
[15] | 2021 | Single Core (lowRISC) | N/A | Medium | Low | N/A | N/A | TS |
[17] | 2021 | CPU-FPGA | ECDH, PUF | Medium | Low | N/A | N/A | TS |
[18] | 2021 | Single Core (lowRISC) | ChaCha | Medium | Low | N/A | N/A | MEU |
[19] | 2020 | CPU-FPGA | PUF | Medium | Low | N/A | N/A | TS |
Our | 2022 | Dual Core (E902) | RSA, AES, SHA1 | Low | High | Multi-level Access | TSMC 90 nm | TS |
Security Level | Security Policy | Access Authentication | Security | Flexibility | Efficiency |
---|---|---|---|---|---|
Level 1 | Direct access | NO | Low | High | High |
Level 2 | Integrity Authentication policy | Integrity authentication | Medium | Medium | Medium |
Level 3 | Encrypted authentication policy | Integrity authentication, data encryption | High | Low | Low |
Paras. | Dual CPU | Crypto Core | Mailbox | IOPMP | Total | |||
---|---|---|---|---|---|---|---|---|
TEE | REE | RSA | AES | SHA1 | ||||
LUTs | 8529 | 8185 | 3963 | 2656 | 1399 | 172 | 3889 | 37,484 |
Registers | 2696 | 2292 | 3933 | 1283 | 1608 | 182 | 1211 | 17,272 |
BRAM | 0 | 0 | 7 | 0 | 0 | 1 | 0 | 393 |
DSP | 0 | 0 | 4 | 0 | 0 | 0 | 0 | 4 |
Utilization (%) | 22.75 | 21.83 | 10.57 | 7.09 | 3.73 | 0.46 | 10.37 | 100 |
Power | 0.005 | 0.006 | 0.022 | 0.013 | 0.002 | 0.001 | 0.001 | 0.297 |
Method | Key Length/bit | |||||
---|---|---|---|---|---|---|
192 | 256 | 512 | 1024 | 2048 | ||
RSA | Decryption | 61.7 us | 90.8 us | 273.4 us | 961.4 us | 3.6 ms |
Encryption | 843.31 us | 1.6 ms | 9.7 ms | 68.6 ms | 527.4 ms | |
Random RSA | Decryption | 84.7 us (+0%) | 128.7 us (+52%) | 375.3 us (+192%) | 1.3 ms (+246%) | 4.8 ms (+269%) |
Encryption | 983.4 us (+0%) | 1.90 ms (+93%) | 11.6 ms (+510%) | 80.3 ms (+592%) | 613.8 ms (+664%) | |
E-RSA | Decryption | 335 ms | 446.8 ms | 860.7 ms | 1.73 s | 3.98 s |
Encryption | 4.30 s | 7.61 s | 31.55 s | 119.93 s | 500.73 s | |
P-RSA | Decryption | 994.44 us | 2.99 ms | 4.98 ms | 12.96 ms | 28.92 ms |
Encryption | 22.94 ms | 43.88 ms | 192.48 ms | 916.54 ms | 4.22s |
Core | ISA | Coremark Test | Dhrystone Test | ||
---|---|---|---|---|---|
Coremarks/MHz | Dhrystone/s | DMIPS/MHz | |||
Single-core | RV32EMC | 2.21 | 47,619 | 1.36 | |
Dual-core | TEE CPU | 1.04 (−1.17) | 16,666 | 0.47 (−0.89) | |
REE CPU | 1.69 (−0.52) | 32,258 | 0.92 (−0.44) | ||
[8] | Rocket | RV32IMC | N/A | 138,197 | 1.573 |
IBex | RV32IMC | N/A | 38,165 | 0.434 |
Paras. | [14] | [15] | [11] | [9] | [10] | This Work | |
---|---|---|---|---|---|---|---|
Architecture (Core) | Dual | Single | Dual | Dual | Dual | Dual | |
Core | Name | Rocket | lowRISC | Rocket | Rocket | Rocket | E902 |
LUTs | 74,258 | 55,443 | 74,258 | 74,258 | 161,678 | 16,714 | |
Crypto Core | Yes/No | No | No | Yes | Yes | Yes | Yes |
Utilization | — | — | +27,170 (36.59%) | +19,883 (26.77%) | +14,642 (+9.06%) | +8018 (47.97%) | |
Security features in TEE SoC | |||||||
Secure Boot | ☆☆ | ☆☆☆ | ☆☆☆ | ☆☆☆ | ☆☆ | ☆☆☆ | |
Flexible Boot | ☆☆☆ | ☆☆☆ | ☆ | ☆☆☆ | ☆☆ | ☆☆☆ | |
Exclusive TEE CPU | ☆☆ | ☆☆☆ | ☆ | ☆☆☆ | ☆ | ☆☆☆ | |
TEE Isolation | ☆ | ☆ | ☆ | ☆ | ☆ | ☆☆☆ | |
Isolated Storage | ☆ | ☆☆☆ | ☆☆☆ | ☆☆☆ | ☆☆☆ | ☆☆☆ | |
SCA Protection | ☆☆☆ | ☆☆☆ | ☆ | ☆ | ☆ | ☆☆ | |
Secure IPC | ☆ | ☆ | ☆ | ☆ | ☆ | ☆☆☆ | |
Hardware Cost | ☆ | ☆ | ☆ | ☆☆☆ | ☆☆ | ☆☆☆ |
Paras. | Cell-Count (NAND2) | Cell-Area | Power | ||||
---|---|---|---|---|---|---|---|
um2 | % | Leakage (uW) | Dynamic (uW) | Total (uW) | % | ||
Total | 1,799,804 | 5,075,448 | 100 | 17,768 | 24,309.9 | 48,828.1 | 100 |
TEE Core | 43,796 | 123,507 | 2.43 | 247.79 | 13,978.1 | 14,225.9 | 29.13 |
REE Core | 43,796 | 123,507 | 2.43 | 247.79 | 13,978.1 | 14,225.9 | 29.13 |
RSA | 173,522 | 489,334 | 9.64 | 1474.4 | 2056.1 | 3530.6 | 7.23 |
AES | 36,785 | 103,734 | 2.04 | 200.73 | 944.1777 | 1144.9 | 2.34 |
SHA1 | 15,444 | 43,553 | 0.86 | 90.30 | 445.1427 | 535.5 | 1.10 |
Mailbox | 18,325 | 51,768 | 1.02 | 905.82 | 44.53 | 950.4 | 1.95 |
IOPMP | 22,412 | 63,202 | 1.25 | 91.99 | 391.8656 | 483.9 | 0.99 |
Memory | 1,544,254 | 4,354,798 | 85.80 | 16,357 | 1.837 | 16,790.7 | 34.39 |
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations. |
© 2022 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (https://creativecommons.org/licenses/by/4.0/).
Share and Cite
Chen, Y.; Chen, H.; Chen, S.; Han, C.; Ye, W.; Liu, Y.; Zhou, H. DITES: A Lightweight and Flexible Dual-Core Isolated Trusted Execution SoC Based on RISC-V. Sensors 2022, 22, 5981. https://doi.org/10.3390/s22165981
Chen Y, Chen H, Chen S, Han C, Ye W, Liu Y, Zhou H. DITES: A Lightweight and Flexible Dual-Core Isolated Trusted Execution SoC Based on RISC-V. Sensors. 2022; 22(16):5981. https://doi.org/10.3390/s22165981
Chicago/Turabian StyleChen, Yuehai, Huarun Chen, Shaozhen Chen, Chao Han, Wujian Ye, Yijun Liu, and Huihui Zhou. 2022. "DITES: A Lightweight and Flexible Dual-Core Isolated Trusted Execution SoC Based on RISC-V" Sensors 22, no. 16: 5981. https://doi.org/10.3390/s22165981
APA StyleChen, Y., Chen, H., Chen, S., Han, C., Ye, W., Liu, Y., & Zhou, H. (2022). DITES: A Lightweight and Flexible Dual-Core Isolated Trusted Execution SoC Based on RISC-V. Sensors, 22(16), 5981. https://doi.org/10.3390/s22165981