IP Library Granted Patent US 6,925,570
Granted Patent B2
US 6,925,570 · App. 09/858,058 · Granted Aug 2, 2005

Method and system for setting a secure computer environment

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 6,925,570
App. No.
09/858,058
Granted
Aug 2, 2005
Kind
B2
Abstract

A computer system processor incorporates a special S-latch which may only be set by secure signals. One state of the S-latch sets the processor into a secure mode where it only executes instructions and not commands from an In Circuit Emulator (ICE) unit. A second state of the S-latch sets the processor into a non-secure mode. A non-volatile random access memory (NVRAM) is written with secure data which can only be read by boot block code stored in a BIOS storage device. The boot block code is operable to read the secure data in the NVRAM and set the S-latch to an appropriate security state. If the boot block code cannot set the S-latch, then remaining boot up with BIOS data is stopped. On boot up the boot block code reads the NVRAM and sets the S-latch into the appropriate security state.

Claims (42)

1. A method for ensuring a secure programming environment for a computer system comprising the steps:

modifying a processor of said computer system to incorporate an S-latch, a first state of said S-latch setting said processor in a secure state and a second state of said S-latch setting said processor in a non-secure state;

writing a security code in an NVRAM coupled to said computer system;

reading said security code from said NVRAM;

setting said first and second state of said S-latch in response to states of said security code; and

not accepting processor commands from an In Circuit Emulator (ICE) unit coupled to said computer system when said S-latch is in said first state and accepting processor commands from said ICE unit when said S-latch is in said second state.

2. The method of claim 1 , wherein said security code is read by boot block code within a Basic Input Output System (BIOS) code of said computer system.

3. The method of claim 2 , wherein said S-latch is set by said boot block code in response to reading said security code.

4. The method of claim 2 , wherein said boot block code is a first code executed on each power up or system reset of said computer system.

5. The method of claim 1 , wherein said security code is encrypted when written into said NVRAM.

6. The method of claim 1 , wherein said security code is password protected when written into said NVRAM.

7. The method of claim 2 , wherein said BIOS code is executed if said boot block code is able to authenticate said security code and said boot block code is able to write to said S-latch if said security code corresponds to setting said first state of said S-latch.

8. The method of claim 2 , wherein said BIOS code is not executed if said boot block code is not able to authenticate said security code.

9. The method of claim 2 , wherein said BIOS code is not executed if said boot block code is able to authenticate said security code and said boot block code is not able to set a state of said S-latch.

10. The method of claim 1 , wherein said ICE unit is coupled to said computer system on a system bus of said computer system.

11. The method of claim 1 , wherein said ICE unit is coupled to said computer system on a JTAG scan chain bus.

12. The method of claim 1 , wherein said ICE unit is coupled to said computer system in place of said modified processor.

13. The method of claim 1 , wherein a default said S-latch in said computer system is set to a non-secure state.

14. A computer system comprising:

a central processing unit (CPU);

a random access memory (RAM);

non-volatile RAM (NVRAM);

a communications adapter coupled to a communication network;

an I/O adapter;

a bus system coupling said CPU to said NVRAM, said communications adapter, said I/O adapter, and said RAM, wherein said CPU further comprises:

a modified processor with an S-latch, a first state of said S-latch setting said modified processor in a secure state and a second state of said S-latch setting said modified processor in a non-secure state;

first circuitry operable to receive and write a security code in said NVRAM;

second circuitry operable to read said security code from said NVRAM

and operable to set said first and second state of said S-latch in response to states of said security code;

wherein said modified processor accepts commands from an In Circuit Emulator (ICE) unit coupled to said computer system when said S-latch is in said second state and does not accept processor commands from said ICE unit when said S-latch is in said first state.

15. The computer system of claim 14 , wherein said security code is read by boot block circuitry within Basic Input Output System (BIOS) circuitry of said computer system.

16. The computer system of claim 15 , wherein said S-latch is set by said boot block circuitry in response to reading said security code.

17. The computer system of claim 15 , wherein said boot block circuitry reads said security code as a first operation on each power up or system reset of said computer system.

18. The computer system of claim 14 , wherein said security code is encrypted when written into said NVRAM.

19. The computer system of claim 14 , wherein said security code is pass word protected when written into said NVRAM.

20. The computer system of claim 15 , wherein said BIOS circuitry is enabled if said boot block code is able to authenticate said security code and said boot block code is able to write to said S-latch if said security code corresponds to setting said first state of said S-latch.

21. The computer system of claim 15 , wherein said BIOS circuitry is disabled if said boot block is not able to authenticate said security code.

22. The computer system of claim 15 , wherein said BIOS circuitry is disabled if said boot block circuitry is not able to set said S-latch into a state.

23. The computer system of claim 14 , wherein said ICE unit is coupled to said computer system on a system bus of said computer system.

24. The computer system of claim 14 , wherein said ICE unit is coupled to said computer system on a JTAG scan chain bus.

25. The computer system of claim 14 , wherein said ICE unit is coupled to said computer system in place of said modified processor.

26. The computer system of claim 14 , wherein a default said S-latch in said computer system is set to a non-secure state.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 4, 2005
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: LENOVO (SINGAPORE) PTE LTD.
Reel/Frame 016891/0507 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 15, 2001
From: FREEMAN, JOSEPH WAYNE; SPRINGFIELD, RANDALL SCOTT
To: INTERNATIONAL BUSINESS MACHINES CORP.
Reel/Frame 011829/0930 →