IP Library › Granted Patent US 12,204,463
Granted Patent B2
US 12,204,463 · App. 17/699,320 · Granted Jan 21, 2025

Integration of disparate system architectures using configurable isolated memory regions and trust domain conversion bridge

Inventors: Aditya Katragada (Austin, TX); Peter Munguia (Chandler, AZ); Gregg Lahti (Gilbert, AZ)
Assignee: Intel Corporation
G06F12/1491G06F12/1441G06F13/4018G06F21/6236G06F21/79
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,204,463
App. No.
17/699,320
Granted
Jan 21, 2025
Kind
B2
Abstract

Techniques are described for providing consistent memory operations and security across electronic circuitry components having disparate memory and/or security architectures when integrating such disparately architected components within a single system, such as a system on chip. A programmable logical hierarchy of isolated memory region (IMR) enforcement circuits is provided to protect such IMRs, allowing or preventing memory access requests from one of multiple distinct circuitry components based on configuration registers for the IMR enforcement circuits. Integration of multiple trust domain architectures associated with the multiple distinct circuitry components is facilitated via trust domain conversion bridge circuitry that includes translation logic for generating information in accordance with a first trust domain architecture based on information provided in accordance with a distinct second trust domain architecture.

Claims (43)

1. A trust domain conversion bridge including:

inputs;

outputs;

trust domain bridge circuitry coupled, by way of at least one of the inputs to one or more first circuitry components that, in operation, utilize a first trust domain architecture corresponding to first security information, and further coupled, by way of at least one of the outputs, to one or more second circuitry components that, in operation, utilize a second trust domain architecture corresponding to second security information different from the first security information, and wherein the trust domain bridge circuitry is to:

receive first trust domain information from at least one of the one or more first circuitry components through the at least one of the inputs, wherein the first trust domain information includes an address and a cycle type, the first trust domain information being compliant with the first trust domain architecture and corresponding to a transaction between said at least one of the one or more first circuitry components and at least one of the one or more second circuitry components;

generate, based on the first trust information, second trust domain information that is in accordance with the second trust domain architecture and corresponds to the transaction between the at least one of the one or more first circuitry components and the at least one of the one or more second circuitry components; and

provide the second trust domain information to the at least one of the one or more second circuitry components through the at least one of the outputs.

2. The trust domain bridge of claim 1 , wherein the trust domain bridge circuitry is to generate the second trust domain information by using one or more of a finite state machine, a fixed lookup table, or a programmable lookup table.

3. The trust domain bridge of claim 1 , wherein the trust domain bridge circuitry is to use configurable parameters to compensate for one or more machine states not specific to any one trust domain, the one or more machine states including at least one of a debug state, a pre-boot state, a boot state or an operating system (OS) specified state.

4. The trust domain bridge of claim 1 , wherein the first trust domain information includes at least one of NS bits or an identification (ID).

5. The trust domain bridge of claim 4 , wherein the ID includes one or more of fabric IDs.

6. The trust domain bridge of claim 1 , wherein the second trust domain information includes at least one of a Cycle Type, an address, an identification (ID), or a Security Attributes Initiator.

7. The trust domain bridge of claim 6 , wherein the second trust domain information further includes a programmable state to distinguish between a pre-boot, boot and post-boot machine state.

8. The trust domain bridge of claim 1 , wherein the first trust domain architecture is based on an a flexible memory map with target-based protections for at least one of memory or memory-mapped input/output.

9. The trust domain bridge of claim 1 , wherein the second trust domain architecture is based on a fixed memory map security model for memory-based protection.

10. A system for integrating multiple circuitry components that are based on multiple trust domain architectures, the system comprising:

one or more first circuitry components that in operation utilize a first trust domain architecture corresponding to first security information;

one or more second circuitry components that in operation utilize a second trust domain architecture corresponding to second security information different from the first security information;

trust domain bridge circuitry coupled to each of at least one of the one or more first circuitry components and to each of at least one of the one or more second circuitry components, wherein the trust domain bridge circuitry is to:

receive first trust domain information from at least one of the one or more first circuitry components, wherein the first trust domain information includes an address and a cycle type, the first trust domain information being compliant with the first trust domain architecture and corresponding to a transaction between said at least one of the one or more first circuitry components and at least one of the one or more second circuitry components;

generate, based on the first trust domain information, second trust domain information that is in accordance with the second trust domain architecture and corresponds to the transaction between the at least one of the one or more first circuitry components and the at least one of the one or more second circuitry components; and

provide the generated second trust domain information to the at least one of the one or more second circuitry components.

11. The system of claim 10 , wherein generating second trust domain information includes using one or more of a finite state machine, a fixed lookup table, or a programmable lookup table.

12. The system of claim 10 , further including using configurable parameters of the trust domain bridge circuitry to compensate for one or more machine states not specific to any one trust domain, the one or more machine states including at least one of a debug state, a pre-boot state, a boot state or an operating system (OS) specified state.

13. The system of claim 10 , wherein the first trust domain information includes at least one of an address, a cycle type, NS bits, an identification (ID).

14. A method to be performed at a trust domain bridge circuitry (TDBC) that is connected to each of one or more first circuitry components that in operation utilize a first trust domain architecture corresponding to first security information, and that is connected to each of one or more second circuitry components that in operation utilize a second trust domain architecture corresponding to a second security information different from the first security information, the method including:

receiving first trust domain information from at least one of the one or more first circuitry components, wherein the first trust domain information includes an address and a cycle type, the first trust domain information being compliant with the first trust domain architecture and corresponding to a transaction between said at least one of the one or more first circuitry components and at least one of the one or more second circuitry components;

generate, based on the first trust domain information, second trust domain information that is in accordance with the second trust domain architecture and corresponds to the transaction between the at least one of the one or more first circuitry components and the at least one of the one or more second circuitry components; and

provide the generated second trust domain information to the at least one of the one or more second circuitry components.

15. The method of claim 14 , wherein generating second trust domain information includes using one or more of a finite state machine, a fixed lookup table, or a programmable lookup table.

16. The method of claim 14 , further including using configurable parameters of the trust domain bridge circuitry to compensate for one or more machine states not specific to any one trust domain, the one or more machine states including at least one of a debug state, a pre-boot state, a boot state or an operating system (OS) specified state.

17. The method of claim 14 , wherein the first trust domain information includes at least one of an address, a cycle type, NS bits, an identification (ID).

18. The method of claim 17 , wherein the ID includes one or more of fabric IDs.

19. The method of claim 14 , wherein the second trust domain information includes at least one of a Cycle Type, an address, an identification (ID), or a Security Attributes Initiator.

20. The method of claim 19 , wherein the second trust domain information further includes a programmable state to distinguish between a pre-boot, boot and post-boot machine state.

21. A non-transitory machine readable storage medium to store instructions that, when executed, cause a trust domain bridge circuitry (TDBC) that is connected to each of one or more first circuitry components that in operation utilize a first trust domain architecture corresponding to first security information, and that is connected to each of one or more second circuitry components that in operation utilize a second trust domain architecture corresponding to second security information different from the security information, to perform operations including:

receive first trust domain information from at least one of the one or more first circuitry components, wherein the first trust domain information includes an address and a cycle type, the first trust domain information being compliant with the first trust domain architecture and corresponding to a transaction between said at least one of the one or more first circuitry components and at least one of the one or more second circuitry components;

generate, based on the first distinct second trust domain information that is in accordance with the second trust domain architecture and corresponds to the transaction between the at least one of the one or more first circuitry components and the at least one of the one or more second circuitry components; and

provide the generated distinct second trust domain information to the at least one of the one or more second circuitry components.

22. The storage medium of claim 21 , wherein generating second trust domain information includes using one or more of a finite state machine, a fixed lookup table, or a programmable lookup table.

23. The storage medium of claim 21 , further including using configurable parameters of the trust domain bridge circuitry to compensate for one or more machine states not specific to any one trust domain, the one or more machine states including at least one of a debug state, a pre-boot state, a boot state or an operating system (OS) specified state.

24. The storage medium of claim 21 , wherein the first trust domain information includes at least one of NS bits or an identification (ID).

25. The method of claim 24 , wherein the ID includes one or more of fabric IDs.

Continuity (2)
Division 15990720 · May 28, 2018
Related Publication 20220283959A1 · Sep 8, 2022
References Cited (31)
US 9852084B1 · Soderquist et al. · 2017 [cited by applicant]
US 20070067549A1 · Gehman · 2007 [cited by applicant]
US 20080072277A1 · Cohen · 2008 [cited by examiner]
US 20080072278A1 · Cohen · 2008 [cited by examiner]
US 20090320103A1 · Veeraraghavan · 2009 [cited by examiner]
US 20120079590A1 · Sastry · 2012 [cited by examiner]
US 20130086287A1 · Fleming et al. · 2013 [cited by applicant]
US 20140137231A1 · Sastry · 2014 [cited by examiner]
US 20140189187A1 · Acharya et al. · 2014 [cited by applicant]
US 20140201435A1 · Dong · 2014 [cited by examiner]
US 20140250253A1 · Luo · 2014 [cited by examiner]
US 20140282819A1 · Sastry · 2014 [cited by examiner]
US 20150032996A1 · Koeberl et al. · 2015 [cited by applicant]
US 20150089173A1 · Chhabra et al. · 2015 [cited by applicant]
US 20150286584A1 · Humphries et al. · 2015 [cited by applicant]
US 20160119289A1 · Jain · 2016 [cited by examiner]
US 20170185550A1 · Chellappan · 2017 [cited by examiner]
CN 103973451A · 2014 [cited by examiner]
JP 2010514028A · 2010 [cited by examiner]
WO WO2008099420A2 · 2008 [cited by examiner]
Siddiqui et al., “Pro-Active Policing and Policy Enforcement Architecture for Securing MPSoCs,” 2018 31st IEEE International System-on-Chip Conference (SOCC), Arlington, VA, USA, 2018, pp. 140-145, doi: 10.1109/SOCC.201… [cited by examiner]
Ray et al., “Security policy enforcement in modern SoC designs,” 2015 IEEE/ACM International Conference on Computer-Aided Design (ICCAD), Austin, TX, USA, 2015, pp. 345-350, doi: 10.1109/ICCAD.2015.7372590. (Year: 2015). [cited by examiner]
Farzana et al., “SoC Security Verification using Property Checking,” 2019 IEEE International Test Conference (ITC), Washington, DC, USA, 2019, pp. 1-10, doi: 10.1109/ITC44170.2019.9000170. (Year: 2019). [cited by examiner]
Zhou et al., “A Formal Verification Method for the SOPC Software,” in IEEE Transactions on Reliability, vol. 71, No. 2, pp. 818-829, Jun. 2022, doi: 10.1109/TR.2022.3166548. (Year: 2022). [cited by examiner]
Kwak et al., “Trust domain based trustworthy networking,” 2017 International Conference on Information and Communication Technology Convergence (ICTC), Jeju, Korea (South), 2017, pp. 1247-1259, doi: 10.1109/ICTC.2017.81… [cited by examiner]
Zhang et al., “The Research of Cross-Domain Usage Control Model in Web Services,” 2010 2nd International Conference on E-business and Information System Security, Wuhan, China, 2010, pp. 1-5, doi: 10.1109/EBISS.2010.547… [cited by examiner]
Ma et al., “Leveraging Transitive Trust Relations to Improve Cross-Domain Recommendation,” in IEEE Access, vol. 6, pp. 38012-38025, 2018, doi: 10.1109/ACCESS.2018.2850706. (Year: 2018). [cited by examiner]
Liu et al., “A New Model for Authentication and Authorization across Heterogeneous Trust-Domain,” 2008 International Conference on Computer Science and Software Engineering, Wuhan, China, 2008, pp. 789-792, doi: 10.1109… [cited by examiner]
Mckeen, Frank; et. al.; “Innovative Instructions and Software Model for Isolated Execution;” Aug. 14, 2013; Intel.com; available at: https ://software. i ntel. com/content/www /us/en/develop/articles/innovative instruct… [cited by applicant]
Meng, Dan et. al.; “Security-first architecture: deploying physically isolated active security processors for safeguarding the future of computing;” Jun. 5, 2018; SpringerOpen: Cybersecurity; available at: https://cyber… [cited by applicant]
Ruhalkde; “ARM—Confused Over Memmory Mapping;” Jul. 13, 2011; StackOverflow.com; available at: https://stackoverflow.com/questions/6648873/confused-over-memory-mapping (Year: 2011). [cited by applicant]