NovelPoint Security LLC v. Apple, Inc.
Filing
1
COMPLAINT against Apple, Inc. ( Filing fee $ 350 receipt number 0540-3484924.), filed by NovelPoint Security LLC. (Attachments: # 1 Exhibit A (562 Patent), # 2 Exhibit B (635 Patent), # 3 Civil Cover Sheet)(Tadlock, Charles)
EXHIBIT B
U.S. Patent No.
6,212,635
111111
1111111111111111111111111111111111111111111111111111111111111
US006212635Bl
United States Patent
(10)
Reardon
(12)
(45)
(54)
NETWORK SECURITY SYSTEM ALLOWING
ACCESS AND MODIFICATION TO A
SECURITY SUBSYSTEM AFTER INITIAL
INSTALLATION WHEN A MASTER TOKEN
IS IN PLACE
(76)
Inventor:
David C. Reardon, 73 Silver Rod Dr.,
Springfield, IL (US) 62707
( *)
Notice:
Subject to any disclaimer, the term of this
patent is extended or adjusted under 35
U.S.C. 154(b) by 0 days.
(21)
Appl. No.: 09/115,185
(22)
Filed:
( 60)
Provisional application No. 60/053,122, filed on Jul. 18,
1997.
(51)
(52)
Int. Cl? ...................................................... G06F 12/14
U.S. Cl. .......................... 713/165; 713/185; 713/192;
713/201; 711!164; 711!153; 705/76; 705/56;
380/30
Field of Search .................... 709/223; 713/160-169,
713/201, 192, 158, 187; 380/30; 705/62;
711!164
Jul. 14, 1998
References Cited
(56)
U.S. PATENT DOCUMENTS
4,405,829
4,757,533
4,757,534
5,144,659
5,201,000
5,289,540
5,434,562
5,485,519
5,533,123
5,548,721
5,623,637
5,657,470
5,710,817
5,757,920
5,799,086
5,844,986
5,956,406
5,982,896
*
*
*
*
*
*
*
*
*
8/1996
4/1997
8/1997
1!1998
5/1998
8/1998
12/1998
9/1999
11/1999
* 9/1983 Rivest et a!. ... ... ... ... .... ... ... ... .. 380/30
* 7/1988 Allen eta!. .......................... 713/192
* 7/1988 Matyas eta!. ......................... 705!56
9/1992 Jones ........................................ 380/4
* 4/1993 Matyas eta!. ......................... 380/30
* 2/1994 Jones .................................... 713/165
7/1995 Reardon ... ... .... ... ... ... ... ... . 340/825.34
US 6,212,635 Bl
Apr. 3, 2001
Denslaw ............................... 713/201
Jones et a!. .......................... 711!164
Fisherman et a!. .................. 711!153
Sjooquist ............................... 380/30
Misra et a!. ......................... 713/158
Sudia ..................................... 705!76
Davis ................................... 713/187
Maldy .................................... 380/30
Cordery et a!. ........................ 705/62
* cited by examiner
Primary Examiner---Meng-Al T. An
Assistant Examiner-Wen-Tai Lin
(74) Attorney, Agent, or Firm-John 1. Goodwin; Albert W.
Hilburger
ABSTRACT
(57)
Related U.S. Application Data
(58)
Patent No.:
Date of Patent:
Apparatus and process are disclosed by which to disable a
computer's access to all or a part of the computer's memory
system or associated peripherals, so as to protect the computer from accidental or malicious damage of data files or
programs that may result from the activity of computer users
or computer viruses. This result is achieved by providing the
authorized user with a token whereby the user can configure
the security gateway to completely or partially disable the
peripheral device without disrupting the operation of the
computer or other peripherals. The principal hardware component of one embodiment of the invention is the security
gateway which in a typical configuration simply adds new
security functions to the programmable controllers that are
typically used for an 1!0 controller or hard drive controller,
although this is not always necessary. The process can just
as easily be incorporated into a local network controller, a
communications controller, or a main processor board for a
system. The speed of the security gateway can be further
enhanced by adding additional computational or encryption
hardware to the chip sets used in said 1!0 or hard drive
controllers.
* 1!1996 Weiss ................................... 713/185
23 Claims, 1 Drawing Sheet
7/1996 Force eta!. .............................. 380/4
(
16
TOKEN
( 14
r---- TOKEN
READER
---
( 12
SECURITY
GATEWAY
10~
CPU
v- 18
PERIPHERAL
DEVICES
v- 20
COMMON
BUS
---
HARD
DRIVE
v- 22
U.S. Patent
( 14
( 12
TOKEN
READER
SECURITY
GATEWAY
( 16
TOKEN
US 6,212,635 Bl
Apr. 3, 2001
r---
r
18
PERIPHERAL r
DEVICES
20
HARD
DRIVE
~
COMMON
BUS
10 """
r 22
CPU
FIG.1
AUXILIARY
MEMORY
30)
32)
FILE STORAGE
DEVICES
34)
CPU
AUXILIARY
CONTROL
UNIT
(38
ACCESS
MEANS
KEY DATA
GENERATING
MEANS
36)
(40
ENCRYPTED
KEY FILE
FIG.2
42
)
BUS
US 6,212,635 Bl
1
2
in the exchange of data. This field of security requires an
ability to encrypt data, to limit access to intended persons, to
verify the accuracy of transmissions, and to verify the
identity of the sender. One popular technique employs the
5 use of asynchronous encryption keys. This technique is
based on the use of public/private key-pair encryption
system wherein two binary strings (one serving as a "public
CLAIM OF PRIORITY BASED ON COkey" and the other as a "private key") are used to encrypt and
PENDING PROVISIONAL APPLICATION
decrypt data. Anything encrypted with one key can only be
The present application is related to co-pending Pro videcrypted by the other. The public key is "published" or at
sional Patent Application Ser. No. 60/053,122 filed Jul. 18, 10
least accessible to intended recipients of data. The private
1997 entitled "COMPUTERAND NETWORK SECURITY
key is never revealed but is held only by owner of that key.
SYSTEM", and based on which priority is herewith claimed
To send a private message, the sender encrypts a message
under 35 U.S.C. §119(e) and the disclosure of which is
using the receiver's public key. Since only the receiver
incorporated herein by reference in its entirety. Likewise, the
possesses the matching private key, only the receiver can
disclosure of Disclosure Document 422490 filed Aug. 11, 15
decrypt the message.
1997 is also incorporated herein by reference in its entirety.
To send proof of one's identity, the sender encrypts a
BACKGROUND OF THE INVENTION
message using his own private key. This message can only
be decrypted using the sender's public key. Thus, any
1. Field of the Invention
receiver who has access to the public key can verify that the
This invention relates to apparatus and methods for com- 20
message was sent by the person who possesses the matching
puter security and to the prevention of unauthorized reading
private key. In this way, the receiver can use nonor altering of computer data by individuals or programs
confidential information, the public key, to verify that the
operating on a computer or a computer network.
sender possesses the corresponding private key, thus con2. Description of the Prior Art
25 firming the identity of the sender as that corresponding to
This invention addresses two major areas of computer
public key.
security for both individual computers and networked comMany additional cryptographic techniques, well known in
puter systems: (1) protection of programs and data at the
the art, can be used to enhance this general scheme. For
place where they are stored, and (2) secure exchange of data
example, proof of the identity of the party associated with a
and programs between computers and computer users.
30 public key can be certified by a private or governmental
Protecting computer data and programs from unauthoauthority who issues said party a an electronic "Digital
rized copying, destruction, or alteration is a major concern
Certificate." Also, the integrity of data transmissions can be
for governmental agencies, businesses, educational
verified by the use of "hashing" formulae that create a short
institutions, and individual users. In addition to protecting
message digest similar to a check sum. In these ways, for
valuable data from spies or malicious programmers, there is 35 example, financial transactions and the like can be
a need to protect data from computer "virus" programs
electronically, securely, and and privately transmitted to the
which can infect a system and cause damage at some later
intended party (using the receiver's public key), including a
date. Numerous computer security programs have been
digital signature (using the sender's private key), verificawritten to provide a large variety of features to protect
tion of the sender's of identity (using a Digital Certificate),
computer data. These include such features as password 40 and verification of the message content (using the hashed
protection, restricted access to specified files, limited menu
message digest). To guard against the accidental loss of a
options, checksum verification, and scanning for known
private key, or to recover corporate data in the event of a key
virus programs or virus-like activities. The major shortcomowners death or disability, private keys can be split into
ing of these computer security programs is that they must
multiple parts that are placed in "escrow" with two or more
operate within the computer's working memory space, its 45 separate parties. In the event of loss or disability, the escrow
RAM. This means the security software is susceptible to
agents can provide to the authorized receiver their escrowed
other forms of software which can defeat the program's
portions of the key so that it can be reassembled and used to
security measures.
recover files encrypted with its associated public key. These
Software protection of computer data can be enhanced by
and other encryption techniques, known to those skilled in
the use of specialized computer hardware that provides 50 the art, can be implemented with the present invention.
additional security functions. In U.S. Pat. Nos. 5,144,659
The use of asynchronous keys, or public/private key pairs,
and 5,289,540, Jones teaches a security method wherein a
has been further enhanced by the use of portable electronic
hard drive controller provides extra security functions. In
devices, often referred to as "tokens," that store the asynU.S. Pat. No. 5,434,562, Reardon teaches the use of CPUchronous key in electronic memory and protect it from
independent, user activated key lock switches by which an 55 unauthorized use by means of a personal identification
CPU-independent security controller can be configured and
number (PIN). Tokens may include both memory for storage
reprogrammed in a secure fashion. These inventions illusof keys and encryption processors for encrypting data. These
trate a method of enhancing security by making some
technologies make the private portion of the asynchronous
security functions independent of the CPU. In Reardon's
key pair more secure because it does not reside on the
invention, these hardware secured parameters require a user 60 computer where the data is created. In addition, the token
to insert and activate a CPU independent hardware switch to
can be easily transported, like an ID card. The "key" to the
change or alter the security parameters. Since this switch is
data can therefore be stored away from the data, thus
CPU independent, it is impossible for this hardware security
enhancing security. To access files encrypted using the
device to be bypassed or defeated by software or keyboard
owner's public key, a corporate spy would need to (1) gain
programming.
65 access to the encrypted files, (2) find and steal the token and
(3) discover the owner's PIN which makes the token funcThe second major area of concern in the field of computer
security revolves around the area of secure communication
tional.
NETWORK SECURITY SYSTEM ALLOWING
ACCESS AND MODIFICATION TO A
SECURITY SUBSYSTEM AFTER INITIAL
INSTALLATION WHEN A MASTER TOKEN
IS IN PLACE
US 6,212,635 Bl
3
4
also disclosed for creating a token that can be used throughout a computer network.
The appropriate security parameters and access rights are
assigned to new users by the appropriate supervisory and/or
5 security personnel and are associated with the token that is
issued to the new user. Assignments of rights, or modification of rights, can only take place after the identities of said
supervisory and/or security personnel have confirmed by the
security gateway's examination of their own tokens and only
10 under such additional conditions that may previously have
been defined.
SUMMARY OF THE INVENTION
After the security gateway has read a token, confirmed a
user's PIN number, and determined the user's rights, the
This invention describes a means and process by which to
security gateway will refuse to allow the user any access to
disable a computer's access to all or part of the computer's
memory system or associated peripherals, so as to protect 15 any restricted peripherals or portions of said peripherals.
Otherwise, the security gateway will be "transparent" to the
the computer from accidental or malicious damage of data
user and computer system.
files or programs that may result from the activity of
computer users or computer viruses. This result is achieved
In addition, the security gateway can monitor a computer
by providing the authorized user with a token whereby the
system's initialization process and monitor the integrity of
user can configure the security gateway to completely or 20 any CPU based security software. Furthermore, the security
partially disable the peripheral device without disrupting the
gateway's tokens can be used for all the functions of secure
operation of the computer or other peripherals.
data communications that are commonly used in public key
cryptography. It should be noted that while the encryption
The present invention has hardware and software eleand decryption of the U.X key stored on the token must be
ments that are well known and utilized in the field of
25
performed by the security gateway itself, when using the
computers and computer security. The present invention,
token for secured communications, the main message could
however, combines these elements in a novel manner unlike
be encrypted by the CPU using any of many encryption
any other system known to produce useful benefits,
techniques. Only the message encryption key would need to
increased security, and reduced costs of manufacture.
The principle hardware component of one embodiment of 30 be encrypted by the security gateway using U.XR (see
definitions to follow). This point is important because the
the invention is the security gateway, which in a typical
packets of information that must be encrypted or decrypted
configuration simply adds new security functions to the
by the security processor would normally be relatively
programmable controllers that are typically used for an 1!0
small. In most applications, the larger files could be
controller or hard drive controller, although this is not
always necessary. The process can just as easily be incor- 35 encrypted using the greater processing power of the CPU.
Furthermore, the security gateway of the present invenporated into a local network controller, a communications
tion can monitor the integrity of program files and implecontroller, or a main processor board for a system. The speed
ment a single site licensing protocol that can prevent the
of the security gateway can be further enhanced by adding
transfer and use of licensed software to other computer
additional computational or encryption hardware to the chip
systems or limit the use of software to a specific period of
sets used in said 1!0 or hard drive controllers.
40
time or number of trials.
With regard to the software elements of this invention,
A distinct advantage of the present invention over the
computer programmers will immediately recognize many
prior art is that it combines the data security features with
ways to implement security software that can employ the
modern encryption techniques in a way that produces new
features of the configuration switch disclosed in this invention. Commercial security programs that allow user 45 and unexpected advantages in terms of both cost and functionality. This invention improves on techniques previously
configuration, but lack a hardware security gateway and
disclosed by Reardon in U.S. Pat. No. 5,434,562 by elimitoken based configuration include Protec by Sophco, Totalnating additional manufacturing costs, provides greater flexsafe by EliaShim, and Cetus by Foundation Ware. U.S. Pat.
ibility for third party software developers, and a provides a
No. 5,144,659 to Jones discloses a detailed flowchart for
software configuration of a CPU-independent, program- 50 means for generating unique asynchronous key pairs for the
authentication of an individual user's identity, secure data
mable security device for hard drives, though the Jones
transmission, and rights access.
invention lacks the user accessible configuration switch of
the present invention and the use of a token as described
An object of the present invention is to provide apparatus
herein.
and methods by means of which the authorized user of a
The present invention provides a security gateway that 55 computer can protect data and programs stored in peripheral
devices, such as mass storage media, from alteration or
operates by intercepting the system data path, address bus,
deletion by malicious persons, or computer "virus"
and control logic signals between the CPU and peripherals,
programs, or accidents initiated by unskilled persons.
such as hard drives and network communication cards. The
Another object of the present invention is to provide a means
requested operation is processed according to the criteria
established by the security gateway's preprogrammed secu- 60 and method for verification of identity of users and encryption and authentication of data transfers.
rity parameters. These security parameters may be unique
for each individual using the computer or computer network.
This invention is particularly useful in multi-user enviThe security gateway generates a unique asynchronous key
ronments. This invention is also useful for persons who
pair for each user and creates a token containing the private
desire to evaluate new software but are afraid that by doing
key for that particular user that is encrypted with the security 65 so will they will be exposing their computer system to
gateway's own public key making the token readable only
infection with a computer virus. By locking out write access
to their computer's hard drive, the system is "safe" and the
by the security gateway. More complicated techniques are
One disadvantage of the encryption tokens described
above is that they are relatively expensive because of the
substantial electronics required for each token. In addition,
while these tokens provide excellent security in the
exchange of data, they cannot directly protect the storage
area where the data is stored from being erased or altered by
computer viruses or sabotage.
It was with knowledge of the foregoing disclosures representative of the state of the art that the present invention
was conceived and has now been reduced to practice.
US 6,212,635 Bl
5
6
suspect program can be run without risk of it causing an
CPU: The Central Processing Unit (CPU) is one or more
infection which may later cause loss or disruption of procomputer programmable devices that serve as the primary
grams and data.
processing center for computer implementation of program
By providing complete user control over a computer's
instructions, computation, and transfer of information.
access to its peripheral devices, this invention allows the 5
CPU Security Program: Program and associated files that
user to implement greater security precautions against unauare implemented by the CPU to monitor system security, and
thorized programs or users. These options include limiting
enforce security restrictions for the system or individual
read and write access to the peripheral device, and the ability
users.
to configure the peripheral device so as to make all or
Digital Certificate: A binary information file that can be
portions of the device appear to the computer as a read-only, 10
verified as issued by a trusted authority by use of the
write-only, or write-once peripheral device.
certifying authority's public key where the certifying authorA further object of the present invention is to provide
ity vouches for some or all of the information contained in
computer security apparatus and methods wherein tokens
the Digital Certificate. Typically, a Digital Certificates may
can be easily and inexpensively created and issued to as
in fact include several layers of Digital Certificates, each
many users as desired with customized rights for each user. 15
layer vouching for the layer beneath it. This is known as a
Still another object of the present invention is to provide
Certification Hierarchy. For example, at the highest level the
a computer security apparatus and methods wherein tokens
U.S. Post Master's public key is used verify that the
can be restricted for use at a single computer or configured
enclosed Digital Certificate #2 was issued to the local
to operate on selected computers within a network.
Metropolis post office. The public key of the Metropolis post
A still further object of the present invention is to provide 20 office is used to certify that the Metropolis post-master
a computer security apparatus and methods wherein modiissued the enclosed Digital Certificate #3 to the ABC corfications to rights and restrictions can be implemented offsite
poration. The public key of the ABC corporation's is used to
by a security supervisor under more secure conditions and
certify that the ABC corporation issued Digital Certificate #4
wherein a security gateway can be easily programmed to
to John Doe in ABC's accounting department. Each certifiblock the installation or use of programs that are not 25 cate would contain information about the public key and
approved for use on a computer system or computer netidentity to whom the certificate was issue, a certificate serial
work.
number, certificate validity dates, and the certifying authoriOther and further features, advantages, and benefits of the
ties I.D. information and digital signature, and any addiinvention will become apparent in the following description
tional information as may be required. All of the Digital
taken in conjunction with the following drawings. It is to be 3 Certificates described in the above example can be contained
understood that the foregoing general description and the
in a single Digital Certificate that is sent to Bill Smith of
following detailed description are exemplary and explanaXYZ, Inc. By examining these Digital Certificates, Bill
tory but are not to be restrictive of the invention. The
Smith can now evaluate the certainty of John Doe's identity
accompanying drawings which are incorporated in and
based on the his trust in the hierarchy of certifying authoriconstitute a part of this invention, illustrate one of the 35 ties. Thereafter, the Bill Smith can use John Doe's public
embodiments of the invention, and together with the
key to privately and securely communicate with John Doe
description, serve to explain the principles of the invention
using the widely known methods of public key cryptograin general terms. Like numerals refer to like parts throughout
phy.
the disclosure.
Gateway Program: A program and associated files that are
40
implemented by the security gateway to monitor system
BRIEF DESCRIPTION OF THE DRAWINGS
security, and enforce security restrictions for the system or
FIG. 1 is a schematic block drawing of a computer system
individual users.
according to the principles of the present invention that
Key Pair: A complimentary pair of encryption keys
illustrates the relationship between the CPU, the security
whereby a message encrypted with one part can only be
gateway, the token reader, and peripheral devices that may 45
decrypted by the other part. This is also known by those in
be subject to security restrictions implemented by the secuthe art as an asynchronous key pair or as a public key
rity gateway; and
cryptography.
FIG. 2 is a functional block diagram illustrating the
Non-volatile memory: Memory locations that preserve
elements of a security subsystem for the present invention.
their stored information even when power has been removed
50
DETAILED DESCRIPTION OF THE
from the memory banks and/or computer system. Typical
PREFERRED EMBODIMENTS
examples of non-volatile memory include ROM, EEPROM,
Flash memory devices, and magnetic storage media.
In the ensuing description of the present invention, the
following definitions will be utilized:
PIN: Personal Identification Number. This can be any
Block Encryption: An encryption method that uses a 55 password associated with the user of a token to prevent the
token's unauthorized use by a person who does not know the
single key for both encryption and decryption and that
PIN.
encrypts groups of bits rather than a single bit at a time.
Private Key: The part of a key pair that is reserved by the
Bus or "host computer bus": The electronic paths within
"owner" of the key pair and not disclosed to any other party.
the host computer that carry address, control, and data
Public Key: The part of a key pair that is shared with
signals. As used herein, the term "bus" should be considered 60
parties with whom the owner desires to exchange files.
to also include any alternate means of data interface with the
CPU and other internal or external devices. A fiber optic
Restricted Memory: Non-volatile memory which is accessystem could be one such alternative.
sible only to the security gateway. This may include reserved
sectors of the hard drive and tokens to which the GATEWAY
Computer virus: Any potentially destructive computer
program that may cause malfunction of the computer, cor- 65 PROGRAM will never allow access requests from the CPU.
ruption of files, loss of data, or other unwanted and unexFor backup purposes, restricted memory can be encrypted
pected results.
using SG.OR prior to transfer to backup media.
°
US 6,212,635 Bl
7
8
Security gateway: A programmable device that is indehistory, and the file is flagged in a manner such that the
pendent of the CPU and situated in such manner as to be able
security gateway will not allow it to be copied to any other
to control or block the CPU's access to secured peripherals
media.
such as mass memory storage devices, network communiSSL.2-Acopy of SSL.l which is embedded in the software
cations devices, and the token reader. This device would 5
and can be freely copied with the program to the hard
include sufficient nonvolatile memory and random access
drive or backup diskettes.
memory for implementation of its functions.
U .0-The master configuration key for the security gateway
Shell: A security program consisting of two parts, a CPU
held by User 0, where User 0 is the person chiefly
Security Program and a Gateway Program, wherein each
responsible for configuring the computer's security. In
part works with the other to enhance the total system 10
addition to any other necessary information, U.OR is
security.
stored on the MASTER TOKEN in a file encrypted with
SSL: Single Site Licensing protocol used to prevent
SG.lB. U.OB may be stored on the hard drive or even
unauthorized use or duplication of software or data.
made available on a network if the MASTER TOKEN is
Token: A removable memory device capable of storing
intended to be used at other sites.
one or more encryption keys. This token may be as simple 15 U.l-Asecurity gateway configuration key used for on-site
as a magnetic strip or as complex as a PCMCIA card.
confirmation of a network issued upgrade of the Security
Token Reader: An input device by which means the
gateway security parameters. U.lR is stored on the on-site
security gateway can read the information encoded on a
diskette in a file encrypted with SG.lB.
U.X-A key for individual user number X. A U.X diskette
token.
contains a file which is encrypted with SG.lB that con20
Definition of Key Names:
tains U.XR and any additional security information such
In the specification that follows abbreviations are used to
specify particular key pairs and, when appropriate, the token
as rights, passwords, and a Digital Certificate associated
associated with the private portion of the key pair. The SG
with the individual user.
Returning now to FIG. 1 which illustrates in a broad sense
prefix refers to a Security Gateway related key. The U prefix
refers to a key that is assigned to an individual user, and SSL 25 one embodiment of a computer system according to the
present invention. In the following description of the FIG. 1
refers to a key that is issued to parties in a single site
embodiment, file control functions will be discussed, and
licensing of software. The prefix CA is used by a Certifying
Authority that issues a Digital Certificate. Since multiple
such basic control functions are described in U.S. Pat. No.
keys may be involved for each party, each prefix is follow
5,289,540 to Jones.
by a decimal point and a number identifying which key pair 30
Because they are so well known and in such common use,
is being referred to, and either the letter R or B where R
the description of this invention will be based on the use of
a personal computer (PC) using on operating system such as
refers to the private portion of an asynchronous key pair and
Windows 95 or MS-DOS. However, it should be understood
B identifies the public portion of the key pair.
AK.l-Akey pair used by a certifying authority to assist in
that this is done for the sake of convenience and simplicity
anonymous but traceable transactions wherein the anony- 35 of description and the invention should not be considered as
mous user's identity and Digital Certificate is sealed with
limited to these or any other operating system or computer
AK.lB. AK.lR is divided and placed in escrow so the
equipment.
anonymous users Digital Certificate and identity can be
The system of FIG. 1 includes a control processing unit
(CPU) 10, a security gateway 12, a token reader 14 for
recovered, with proper authorization such as a court order,
in the event there is a subsequent criminal investigation or 40 reading a user token 16, a hard drive memory 18, protected
peripheral devices 20 such as network communications, and
civil dispute.
CAl-A key pair used by a Certifying Authority to verify
a common bus 22 for peripheral devices.
that some or all of the information contained in a Digital
FIG. 2 shows the functional elements of a security subCertificate encrypted with CA.lR has been verified the
system including a programmable auxiliary memory 30 and
45 auxiliary control unit 32; file storage devices 34 for storing
Certifying Authority.
CS.l-The security gateway key pair of the central server of
files, with at least one of the storage devices capable of
a computer network.
reading and writing to removable storage media; means 42
SG .0-A key pair belonging to the security gateway manufor attaching the security subsystem to the digital computer
bus; means 36 for generating private/public key pair data
facturer. SG.OB is factory installed into the security
gateway. This allows for authentication of manufacturer 50 and storing the private key data in a file location of the file
upgrades of the security gateway's and SSL standards.
storage devices 34 which is under the control of the security
The upgrade may include the issuing of a new public key
subsystem auxiliary control unit 32 and to which access by
for the manufacturer. For authentication purposes, the
central processing unit 10 of the digital computer can be
denied; means 40 for using the public key to create an
upgrade must by verifiable by including one or more files
encrypted with SG.OR.
55 encrypted key file which is written to a removable token,
such that the encrypted key file can only be decrypted and
SG.l-The security gateway's own key pair, generated
authenticated by the security subsystem using the correupon activation of the security subsystem functions. This
key may be generated using site specific "seed numbers."
sponding private key of the private/public key pair; means
A corresponding Digital Certificate may include user ID
38 for permitting access to the security subsystem by the
and site identification information.
60 computer operating system for installation and modification
SG.X-The security gateway key pair of computer other
of security requirements only when the removable token is
than the one that created a particular token where X is a
placed into the appropriate file storage device and has been
number identifying the security gateway and host comauthenticated by the security subsystem; and by a combination of these means requiring the security subsystem to
puter.
SSL.l-A file on the original diskette of an SSL protected 65 deny file storage device and peripheral device access
program or data set. This file contains the SSL protected
requests by the central processing unit when the security
program's Digital Certificate, including a "marriage"
requirements are not satisfied.
US 6,212,635 Bl
9
It should be noted that in the interest of speed, much of the
encrypting can be performed using a faster shared key
algorithm (such as a Data Encryption Standard (DES) key)
if the shared key is itself encrypted using the appropriate
public or private key. The public or private keys, therefore,
merely serve as an authentication barrier to access of the
shared key. The shared key, of course, can be uniquely
generated for each transaction.
In the embodiment of FIG. 1, the functions of the security
gateway 12 may be integrated into a hard drive and floppy
diskette controller. Because most hard drive controllers
already use a programmable processor to implement various
functions, in many cases the functions of security gateway
12 could be added as additional subroutines in the firmware
of the controller without substantial hardware modification.
However, because encryption algorithms may be complex,
additional memory and/or logic circuitry that enhances the
speed of encryption/decryption could be added, if necessary,
to prevent any degradation in speed. Because the security
gateway 12 has control over one or more hard drives 18, it
is most cost effective to reserve space on one or more hard
drives for the security gateway's own use. For all practical
applications, the security gateway's ability to "leech" as
much memory space as it needs off of the system's hard
drive for its own purposes ensures that there is no practical
memory limit on the security gateway's program size or
security parameters. Because these reserved sectors are
under the complete control of the security gateway 12, they
would never be made accessible to the CPU 10 or the host
computer's operating system. For added security, the information contained in these sectors can also be encrypted with
the security gateway's own public key (SG.lB). In this
event, even if the hard drive was moved to a different
computer, these reserved sectors would be indecipherable to
any device other than the security gateway that created them.
To provide a means of recovering these files in the event of
a hardware failure, the public key could be divided and
placed in escrow with trusted authorities. For the sake of
convenience, the security gateway's reserved sectors of hard
drive space will be designated with negative numbers.
In this typical example, upon the powering up of the
computer system the security gateway, 12, would reads its
own factory installed GATEWAY PROGRAM from nonvolatile memory. It might also check for extensions to its
GATEWAY PROGRAM on, for example, sectors -1
through -5 of the hard drive.
The GATEWAY PROGRAM and any extensions that may
be installed contain the instructions and security parameters
that control the security related activities of the security
gateway. The GATEWAY PROGRAM can be either very
simple or very complex, depending upon the needs of users
and the marketing goals of manufacturers and security
software vendors.
The token reader 14, is read directly by the security
gateway 12. In a typical configuration, the token reader
could be a standard floppy diskette drive. Other devices can
be used as a token reader, the only requirement being that the
device must be able to read and write to a removable
memory device that can serve as a token 16. Because the
security gateway is interposed between the token reader and
the CPU 10, information stored on the token is secure from
CPU access unless such access is specifically provided for
by the GATEWAY PROGRAM. In such cases, the security
gateway would echo the data reads and writes from the CPU
to the token reader 14.
In a typical example, a new computer system would be
shipped with a rudimentary GATEWAY PROGRAM and a
10
MASTER TOKEN that the buyer would used to customize
the security features of the computer. To initialize the
security gateway, 12, and setup the security parameters, the
buyer or security supervisor would place the MASTER
5 TOKEN in the token reader, 14. Optionally, the manufacturer could design the GATEWAY PROGRAM to require
that the MASTER TOKEN be in place before the computer
is powered up. The original manufacturer would include as
part of the GATEWAY PROGRAM stored in restricted
10 memory the key SG.OB. The MASTER TOKEN would
include one or more files encrypted with SG.OR. By use of
SG.OB the Gateway Program can verify that the MASTER
TOKEN is indeed a token issued by the manufacturer and
can be "trusted" as a secure device for initiating security
15 software or parameter changes. It should be noted that
SG.OB is never published in any public way. It would only
leave the factory in firmware for a particular series of
security gateway devices. SG.OP would never leave the
manufacturer's premises at all, except in a divided escrowed
20 form. As is true in many other uses of key pairs in this
invention, access to both the "public" and "private" portions
of the key pair is strictly protected. Under no circumstances
would the GATEWAY PROGRAM ever transmit SG.OB to
another device.
25
After determining that the MASTER KEY is in the token
reader, the GATEWAY PROGRAM would scan the MASTER KEY to determine if this is a first time use of the
MASTER KEY and examine the security gateway's
restricted memory to determine if SG.l had already been
30 created. If the GATEWAY PROGRAM determines by these
means that initialization program should be run, said program would be loaded into the CPU to provide a means of
interaction between the user and the security gateway. To
enhance the security of this process, it would be advisable
35 not to allow any other programs to be allowed to run during
any initialization or modification of security parameters. The
manufacturer could enforce this provision through subroutines in the GATEWAY PROGRAM that would be immediately obvious to any computer programmer.
40
Upon confirmation from the user that the first time
initialization should proceed, the security gateway would
request the user to enter personal information, PIN numbers,
and initial security preferences. If desired for the purpose of
added security, the new user can also be presented with
45 dozens of questions of a personal nature (such as the name
of one's first pet). These questions can then be randomly
used as a secondary check after entry of a correct PIN to
further verify a user's identity. The security gateway might
also request additional information about the computer
50 configuration and computer network from the user or
directly from the CPU. After enough information has been
collected to construct a unique profile the security gateway
would use a hash or checksum of this "random" data to
create a unique seed for use in generating SG.l, a key pair
55 that would be unique to this particular security gateway.
After SG.l has been created, the security gateway is distinct
from all the other security gateway's produced by the
manufacturer. Both portions of SG.l are stored in restricted
memory locations.
Using SG.lB, the security gateway creates a file that is
60
stored, perhaps at a specific and predetermined location, on
the MASTER TOKEN. This SG.l encrypted file thereafter
serves as a means of determining that the MASTER TOKEN
has been configured. A PIN would be selected and encrypted
65 and stored on the MASTER TOKEN with additional security parameters, passwords, certificates of authority, and
other information that may be necessary for a particular
US 6,212,635 Bl
11
12
security needs. In addition, the security gateway would also
Tokens can be created for each individual and also for
create U.O, a key pair that is assigned specifically to User 0,
specific applications. For example, a corporate accountant
the owner of the MASTER TOKEN. U.OR would be stored
might have two tokens. The first would be a general use
on the MASTER TOKEN in an encrypted form using
token that provides him with access to all the general
SG.1B. U.OB would be stored in a restricted area. U.OR can 5 purpose programs he might need such as word processing
thereafter be used as the private key of the MASTER
and Internet access with the exception of access to the
accounting books. The second token that gives him access to
TOKEN holder and can be used for verification of identity,
the accounting books might be separately stored under lock
access to modification of security parameters, secured
and key, thus providing an additional level of security.
communications, and for personal file encryption.
To preserve against the loss or destruction of any token
After this first initialization, the MASTER TOKEN can be 10
created by the security gateway, including the MASTER
used to reconfigure security parameters or to create new
tokens for one or more users with rights either equivalent to
TOKEN, the GATEWAY PROGRAM may include subrouthose associated with the MASTER TOKEN, or more
tines that will take the information and keys stored on a
commonly, with restricted rights. Every time the security
token and divide them into multiple parts that can placed in
gateway creates a new token, it would create a unique key 15 escrow onto multiple tokens. By use of these escrow tokens,
pair U.X for the person to whom the token is issued, User X.
the security gateway can reconstruct lost or destroyed
U.XR and an associated PIN would be stored on the token
tokens. SG.1R may also be divided and placed into escrow
in a form encrypted with SG.1B. U.XB would be stored in
to provide a means of recovery in the event the security
the security controllers restricted memory or, if desired,
gateway itself is rendered inoperative.
"published" in a file accessible to the CPU or computer 20
Most ideally, the security gateway would automatically
network. A Digital Certificate, security parameters, and
sense when a token is inserted into the token reader and the
other user specific information could also be incorporated
security SHELL would automatically activate a window
into encrypted files on the token. The specific rights and
requesting the user to enter his or her PIN. Alternatively, the
restrictions associated with each user can saved in the
user can activate a program that instructs the computer to log
security gateway encrypted files on the token, in restricted 25 on a new user. After confirmation of the PIN, the user could
be instructed to remove the token before allowing access to
memory, or, in a network application, in a restricted memory
ensure that user does not forget to remove the token and
location of central server's security gateway. Once the token
properly secure it. The security gateway can record multiple
has been created and a PIN and rights have been assigned,
entries of the wrong PIN on the token and in other memory
User X can thereafter use it for any and all security
functions, including verification of identity, identification of 30 locations and either disable the token or sound an alarm if
computer access rights, secure file communications, and
the number of attempts exceeds a predefined security limit.
personal file encryption.
Additionally, the security gateway can "time out" a user who
In a typical application, the User X would place the token,
has not been active at the computer after a predefined period.
16, in token reader, 14. The token reader would transfer
These and other techniques commonly used in computer
information from the token to the security gateway, 12, and 35 security can easily be made part of the GATEWAY PROverify the users identity by activating a subroutine that
GRAM or SHELL.
The previous discussion has described the basic steps that
would allow the user to enter a PIN. After confirmation of
the PIN, the security controller would determine the access
are always required to implement any of the security funcrights of User X and limit the CPU's access to data and
tions disclosed in this invention. Namely, (1) the security
peripherals according to these assigned rights. Requests to 40 gateway must be initialized to create its own unique SG.1
read or write to restricted files would be denied and might
key pair; (2) A user specific key pair, U.X, must be created;
also be recorded for reference by the Corporate Security
(3) U.XB must be stored in a restricted area or "published"
Officer or trigger an alarm. The GATEWAY PROGRAM can
in a place other than on the token; and (4) U.XR and an
associated user's PIN must stored on a token, 16, in an
also conceal the existence of any files or peripherals such as
peripherals 18 and 20 that are "downline" from the control- 45 encrypted file that can only be opened with SG.1R.
ler and not directly on the CPU bus. By monitoring CPU bus
It should noted, however, that while the encrypted files on
the token must be secured so that only the security gateway
address, data, and control signals, the security gateway can
can open them by use of SG.1R, it is not necessary that they
also detect if the CPU attempts any unauthorized reads or
writes to peripherals on the CPU Bus, 22. While such
actually be entirely and directly encrypted with SG.1B.
peripherals cannot be protected in the same fashion as 50 Greater encryption speeds can often be achieved, without
"down line" peripherals which have the security gateway
loss of security, by the use of other encryption techniques.
One widely used method in public key cryptography
interposed between themselves and the CPU, the security
involves the creation of a "lockbox." A lockbox is a file or
gateway can still provide some protection for "up line"
peripherals. Specifically, unauthorized CPU access to "up
file segment that contains a randomly generated blockline" peripherals or files can result in retaliatory loss of 55 encryption key that was used to encrypt a larger data file.
The lockbox is created by encrypting the block-encryption
rights to "down line" peripherals, the sounding of an alarm
at the computer site or to a network supervisor, or a forced
key with the private key of a key pair, in this case, SG.1B.
shutdown of the host computer which can easily be achieved
To retrieve the information stored on the token, the security
gateway would (1) open the lockbox with SG.1R and
by contesting the CPU's control of the address bus and
control signals, rendering them inoperative. In this manner, 60 retrieve the block encryption key and (2) use the block
encryption key to retrieve all the additional information
the security gateway is able to monitor and control User's
stored in the user files, such as U.XR, the user's PIN, a
access to all peripheral devices. Even a very skilled computer programmer could not program the CPU to get around
Digital Certificate, security rights information, history of
the independently enforced security parameters that are
use, et cetera. The accuracy of the stored information may
enforced at the level of the security gateway.
65 also be verified by the use of hashing techniques to produce
a message digest that is stored on the token with the other
As described above, this invention makes it easy to create
corresponding files.
tokens at a cost as little as the price of a single diskette.
US 6,212,635 Bl
13
14
Finally, it should be noted that for backup purposes the
the hard drive. It may then check to see if there is a system
security gateway can use SG.OR to encrypt restricted
security shell program (hereinafter SHELL) which has been
installed, for example, in sectors -11 to -20. The SHELL
memory in reserved sections of a hard drive and transfer
these encrypted files to backup media. If the security conitself may consist of two parts: all or portions of a security
troller has direct access to the backup media, these files 5 program that is to be implemented by the CPU (hereinafter
the CPU SECURITY PROGRAM) and further extensions
could also be completely concealed from the CPU and all
users.
on the security gateway's own program that are provided by
the CPU SECURITY PROGRAM vendor to establish addiHaving identified these steps that are most basic to all
embodiments of this invention, it would now be instructive
tional security rules governing the interaction between the
to examine a simple application of this invention. For this 10 CPU SECURITY PROGRAM and the security gateway.
example, consider the case of a simple home environment.
If a CPU SECURITY PROGRAM is in place, the security
The parents have purchased a new computer wish, in
gateway could be configured to ensure that the CPU SECUgeneral, to allow their children complete access to everyRITY PROGRAM is installed at the appropriate point in
thing on the computer system. However, they would like to
boot up process of the system. The SHELL could be a
reserve a portion of the hard drive, or a separate logical 15 factory installed, or installed by the user. Let us assume that
drive, that will contain certain business programs and related
there is at least a rudimentary SHELL that is factory
files. They hope to protect these business files from acciinstalled and is capable of running a simple configuration
dental corruption, computer viruses that may be transmitted
setup like that used for BIOS configurations, if only for the
through borrowed software or "surfing the net" or from
purpose of facilitating the installation of a vendor supplied
teenage snooping. In this simple case, it would be sufficient 20 SHELL.
to have only a single user token that is in the custody of the
The following describes one of many ways in which the
parents. This may in fact be the factory issued MASTER
security gateway could be used to install or upgrade the
TOKEN. On first use of this token, U.O is generated and the
SHELL. To install a new security SHELL, the system must
parents select a PIN number to secure the token. To protect
first be powered down. To ensure that the RAM is comtheir business records, the parents use MASTER TOKEN to 25 pletely discharged, a long powerdown may be required. This
long powerdown requirement may be ensured by using a
instruct the security gateway to only allow the holder of the
port on the security gateway controller that can detect the
MASTER TOKEN access to, for example, logical drive H
state of a slow charge capacitor circuit to ensure that the
that they are reserving for their business applications and
business data. Non-token users would not even be allowed
system has been powerdown for a long enough period to be
to see that drive H and its files exist, much less to access or 30 adequately discharged. This is done to ensure that all RAM
has been cleared so no virus or "monitoring" virus can be
alter them deliberately or by accident. Additionally, the
parents wisely configure the security gateway to treat key
lurking in the background. Alternatively, the security conprograms and data files, such as those used in the operating
troller can pass an initialization program to the CPU that
system, as read-only. Non-token users, and any programs
would instruct the CPU to clear all RAM addresses, or in
activated by non-token users, would not be allowed to alter 35 some configurations the security controller may be configor change any of these files. If desired, these files could also
ured to directly write to RAM itself. While the system is
be hidden from directory reports to non-token users. The
powered down, the MASTER TOKEN would be loaded into
parent's children in this example, would be free to boot up
the token reader. Upon power up, the security gateway
would load it's own GATEWAY PROGRAM and
the computer at any time and to do anything that is not
restricted to non-token users. They could run programs, save 40 extensions, if any, and immediately check to see if the
files, and erase files on logical drive C, for example, but all
MASTER TOKEN was in the token reader. If the MASTER
of the business programs, business data, and protected
TOKEN was detected and authenticated, the security gateway defers or aborts all other initialization procedures and
program files would be completely protected from accidenprepares to run the GATEWAY PROGRAM upgrade subtal or deliberate corruption by either computer viruses or
children's accidents. In this very simplest of examples, the 45 routine. After confirming the user PIN associated with the
GATEWAY PROGRAM would do little more than enforce
MASTER TOKEN, the security gateway would allow a
a table of restricted sectors on the hard drive. The children
vendor supplied SHELL to be loaded into the secure area
might not even be aware that the security gateway was in
(sectors -10 to -20, in our example) from the designated
existence or functional. The only imposition on the users is
input source. Alterations of the SHELL could be further
that the parents would be required to insert the MASTER 50 restricted by requiring additional passwords or vendor supTOKEN in the disk drive and enter their PIN in order to gain
plied tokens and certificates of authority. Failed attempts to
access to their business applications. As will be described
enter the proper tokens or passwords could be monitored to
below, much more elaborate security hierarchies can be
limit the number of attempts, provide delays between
attempts, and reported to report attempted security breeches.
developed with little more imposition on users.
Upgrading the Security Shell
55 It would be possible, and perhaps preferable, for the manufacturer of the security gateway to publish interface stanThe security gateway can also be used to assure the
integrity of security programs that are operating at the CPU
dards for the GATEWAY PROGRAM for developers of
or network level. In this respect, the security gateway is
security SHELLS. This would invite competition and creopen, under carefully controlled circumstances, to customiativity in the development of ever better and less obtrusive
zation. The following is a description of a typical example 60 security SHELLS. Software developers would, however, be
unable to sell their new SHELLS to the public until their
of the interactions between the security gateway and a CPU
SECURITY PROGRAM.
programs had been accepted by the manufacturer and a
license fee collected. At that point the manufacturer would
In this typical example, upon the powering up of the
computer system the security gateway would reads its own
issue the new SHELL a Digital Certificate and use SG.OR to
factory installed GATEWAY PROGRAM from nonvolatile 65 encrypt a software upgrade token. Without this SG.OR
memory. It might also check for extensions to its GATEsoftware upgrade token, security gateway's would block any
WAY PROGRAM on, for example, sectors -1 through -5 of
attempts to delete or alter the existing SHELL. In essence,
US 6,212,635 Bl
15
16
then, the communications protocol between the CPU SECUSHELL, which consists of a CPU SECURITY PROGRAM
RITY PROGRAM in a SHELL and the GATEWAY PROand extensions to the security gateway GATEWAY PROGRAM can essentially be public knowledge. Security is
GRAM could involve an elaborate scheme of checks and
maintained by the manufacture's control of the SG.OR. Prior
double checks that serve to constantly check and verify the
to approval of a new SHELL and licensing, the manufacturer 5 security system's integrity.
could provide developers with a unsecured non-consumer
For example, when the security SHELL is first installed,
version of the security gateway that would freely accept any
a checksum of the CPU SECURITY PROGRAM could be
software changes for the purpose of testing and evaluation.
stored in the security gateway's independent non-volatile
When a SHELL upgrade has taken place, the security
memory. Thereafter, whenever the computer was booted up,
gateway can be reprogrammed to accept future upgrades
10 the Security gateway would check the CPU SECURITY
only after the use of an additional upgrade token from the
PROGRAM'S checksum and compare it to the stored value
software vendor that has provided the present SHELL. It
before allowing it, or any other programs in the startup
would even be possible, with the agreement of the software
menu, to be installed. Furthermore, when the CPU SECUdevelopers and the security gateway manufacturer, to transRITY PROGRAM is first installed at SETUP, the Security
fer future authorizations to the software developer or another
15 gateway could generate a random number (seed number
third party.
from date, time, and available hard drive space) which could
Changing Security Parameters
then be stored as the one and only SYSTEM ACCESS
Assume that by using the MASTER TOKEN to enter the
number. This number would stored in the security gateway's
GATEWAY PROGRAM upgrade subroutine as described
nonvolatile memory or restricted portion of the hard drive.
above, the authorized user would be presented with three
menu options: UPGRADE, TABLE MODIFICATION, and 20 Only factory test equipment could clear this number. This
NORMAL OPERATION. The UPGRADE option would be
SYSTEM ACCESS number would then passed out to the
selected to install new extensions to the GATEWAY PROCPU SECURITY PROGRAM, which would alter itself to
GRAM or to install or upgrade a CPU SECURITY PROincorporate this number at one or more places in the body of
GRAM or SHELL. By selecting TABLE MODIFICATION
the key files of the CPU SECURITY PROGRAM. A new
menu, the user could change passwords, redefine restrictions 25 unique checksum would then be calculated for the altered
on directories and files for particular users or user groups,
CPU SECURITY PROGRAM and stored in security gateand define other security programs that would be allowed to
way non-volatile memory. At this point the installation
procedure would then be complete and the CPU SECURITY
alter the basic SHELL. These security parameters might
PROGRAM would be uniquely identified and "married" to
include both those enforced by the security gateway and all
or part of those enforced by the CPU SECURITY PRO- 30 the Security gateway. Thereafter, whenever a reboot
GRAM. By selecting the NORMAL OPERATION menu
occurred, the security gateway would calculate the checkoption, the user would exit the security upgrade subroutine
sum of the CPU SECURITY PROGRAM as it is read from
the hard drive and verify it against the pre-stored value to
and the computer initialization would resume as normal with
confirm the integrity of the program before allowing the
both the GATEWAY PROGRAM and SHELL, if any, in
operation. Under normal operation the CPU SECURITY 35 system to continue with its normal operation.
PROGRAM would be allowed to read its own restricted
As an additional layer of security, prior to allowing any
access tables (which might lie in sector -12, for example)
writes, the security gateway could require that the CPU
but it would not be allowed to alter them. Additional tables
SECURITY PROGRAM provide it with both the SYSTEM
ACCESS password and PSEUDO-RANDOM PASSWORD
that must be more dynamically accessible to the CPU
SECURITY PROGRAM for update and alteration could be 40 which is regenerated at each request. This PSEUDOstored in other areas of the hard drive and would be
RANDOM PASSWORD would be identically calculated by
protected by methods described elsewhere.
both the Security gateway and CPU SECURITY PROGRAM (sharing the same algorithm which can be made
Additional Security Enhancements Made Possible by the
Interaction of the Security Gateway and a CPU Based
unique to the system by using the SYSTEM ACCESS
45 password as part of the calculation). The SEED at which
Security Program
each of the PSEUDO-RANDOM PASSWORD generators
Essentially, what this method does is to create a peer to
would begin their calculations would be generated by the
peer relationship between the CPU and the security gateway.
The CPU cannot demand information, but can only request
security gateway and passed out to the CPU SECURITY
what the security gateway allows. In addition, because the
PROGRAM periodically, or on each reboot of the system.
security gateway's program and security parameters can be 50 These internally generated passwords would serve two functions. First, they would ensure that any program seeking
modified under carefully controlled conditions, the security
access to the hard drive was passing these requests through
software developers will continue to develop new and
the CPU SECURITY PROGRAM which is where the passcustomized ways of meeting the security needs of individuals and corporations. Indeed, the security gateway can be
words are added to the command strings. Second, the use of
programmed to act as an independent "watchdog" over the 55 an ever changing password sequence would make it more
difficult for a "spy" virus to intercept the passwords. If the
CPU SECURITY PROGRAM. In other words, read and
write access to the hard drive can be allowed only when the
algorithm is made unique for each system, it would be even
security gateway has verified that the memory resident CPU
more difficult for the "spy" to attempt to break the algorithm.
SECURITY PROGRAM is active and intact. Whenever the
Finally, the security gateway can be a "watchdog" over
CPU SECURITY PROGRAM, which would include many 60 the passwords themselves. In this scheme the CPU SECURITY PROGRAM would store the passwords, and a critical
security features itself, is not running or is under threat of
portion of its own code, in RAM addresses that are monibeing corrupted, the security gateway's GATEWAY PROGRAM would independently restrict access to peripherals or
tored by the Security gateway. To ensure that only the
force a computer shutdown or reboot to restore the CPU
working CPU SECURITY PROGRAM is accessing these
65 passwords, the security gateway would monitor the CPU's
SECURITY PROGRAM.
Additional peer to peer interactions can be developed to
RAM accesses to ensure that critical sections of the CPU
enhance the system's security. For example, the security
SECURITY PROGRAM are run in proper sequence prior to
US 6,212,635 Bl
17
18
the password access. The location of the CPU SECURITY
access through use of the token, U.XR is encrypted with
PROGRAM in RAM would be pre-defined, or would be
SG.XB which is encrypted with SG.lR, where SG.l is the
passed out to the Security gateway during the initialization
issuing computer. This "key ring" method provide a means
of the SHELL and stored in security gateway secured
by which the other security gateways can verify that the
memory location. Through this method, the security gate- 5 token was indeed created at an authorized site in the netway would always know what memory locations should be
work. When using the token at another host computer #5, for
watched before the passwords are even accessed. If another
example, security gateway #5 would examine the key for a
program attempted to read these sections of RAM tagged as
designator identifying where the token claims to have been
created. Security gateway #5 would then examine network
critical to security, the security gateway could then flag the
intrusion, sound an alarm, or even disable further access to 10 files to find the published key SG.lB and examine the token
for a key file authorizing it to be used at host computer #5.
the drive. This same technique can be used to monitor the
This file would be decrypted using SG.lB. If it decrypts
bootup process. In this latter case, the security gateway
would store in a secured memory location a record of the
properly, security gateway #5 has confirmed that this file
was created at security gateway #1 has therefore been
sequence of events which must occur on the BUS during a
valid bootup. Any variation from this predefined sequence 15 created under controlled and secure procedures. But the
would generate an appropriate security violation alarm.
users file is further secured by use of SG.SB which security
Still another level of security can be attained by providing
gateway #5 can decrypt using its own SG.SR. This last step
for the CPU SECURITY PROGRAM to optionally transmit
releases U.XR and the PIN for use by the security gateway
a special command to the Security gateway which essenat host computer #5.
tially says, "I'm suspicious. I think my process have been or 20
Fourth, the security gateway at the network server can be
are about to be corrupted. Force a shut down until the next
used as a central clearing house for all user logon processes.
reboot." After receiving this command, the Security gateway
In this case, all the security gateways would be configured
would irrevocably lock out the hard drive, sound the alarm,
in a manner that would allow the security gateway procesand respond only to an U.O token. For diagnostic purposes,
sors to communicate over the network, preferably in a
the security gateway would save information about these 25 manner that is independent of the CPUs. In this scheme,
each SG.XR would be registered with the host computer.
and subsequent security breeches a secured memory location
that can be read or cleared only with the validated U.O token.
This would be most securely accomplished encrypting
These examples demonstrate how the use of two indeSG.XR with the CS.lB and then again with SG.XB. As
described above, the server could confirm which security
pendent processors, the CPU and the security gateway,
simultaneously running their own independent security 30 gateway in the network that the packet came from and only
programs, can be utilized to substantially enhance computer
the server security gateway could decrypt SG.XR by using
CS.lR. With all the private keys collected at the security
security. Additional permutations and techniques can easily
gateway of the central server, tokens could then be created
be devised with various levels of complexity and would fall
within the scope of this invention.
simply by using SG.lB. A token used at host computer #5
35 would be identified as created at host computer #1. The
Token Access at Multiple Sites in a Network
In many applications, it may be desirable to have a single
SG.lB encrypted file would be encrypted with SG.SR and
token work at multiple computer stations. In this context, the
sent to the central server. Since the central server security
gateway alone has both SG.SB and SG.lR available in its
token may be likened to a key chain, containing the keys to
restricted memory, it can retrieve the file that provides
multiple computers. This end can be achieved in one of
several ways.
40 access to U.XR and the users PIN and other information.
This file would then be encrypted with SG.SB then again
First, the user can be registered at each individual workstation with each security controller generating a different
with CS.lR. This file would then be transmitted back to
U.XR key secured to be readable only by each security
security gateway #5 where its authenticity would be verified
controllers own SG.XR key. The user could elect to use the
by decrypting first with CS.lB and then with SG.SR. In this
same PIN at each site. If the token is a diskette, there would 45 way, security gateway #5 would be able to retrieve U.XR
be sufficient memory space to stork a large number of keys.
and other associated information. This process could be
repeated every time the token is used at host computer #5.
Second, if the workstations are networked together the
Alternatively, security gateway #5 could, at this point, add
public keys of each security gateway, SG.XB, can be
its own copy of the user files to the token by encrypting them
securely transmitted to all of the other security gateways. At
the time the token is created, the supervisor issuing the token 50 with U.SB in the usual manner. In this way, the "key chain"
could designate which terminals the user would have access
would automatically have new keys added for each site
to and the security gateway at the issuing computer would
immediately after its first use at each site.
Other Network Applications
use the published SG.XB keys of the designated computers
to create separate key files encrypted using each designated
In a network application this invention makes it easy and
computer's SG.XB with each file containing U.XR, the PIN, 55 intuitive to establish a security hierarchy. For example, the
highest ranking security officer on the network, the Corpoand any other necessary information. The user's file for each
rate Security Officer, might issue user tokens to each departdesignated computer could be stored under a file name using
ment head paying particular attention to segregation of files
a portion of designated sites security gateway's public key,
or some other site identifying tag, thus making it easy for the
and memory allocations so that problems or security
security gateway to identify the appropriate file. The user 60 breeches that might occur in one department do not spill
over into other departments. Each manager under the departcould then use the token at any of the designated computers.
ment heads would receive a token with rights no greater than
The security gateway at each site would merely need to
the Department Head and most probably with additional
search the token for the appropriate file that can be decoded
with it's own SG.XR.
restrictions.
Tokens would not necessarily all be created by the CorThird, the method described above could be further 65
porate Security Officer. Department Heads and their manenhanced by adding an additional encryption level using
agers could also generate tokens for each user of a workSG.lR. In this case, for each site where U.X shall be allowed
US 6,212,635 Bl
19
20
station in their department. New tokens would always be
that already described in option four of the section entitled
"Token Access at Multiple Sites in a Network." In either
limited in rights to within the bounds of issuing parties own
case, the Corporate Security Officer would in this way be
allowed limits. For example, a receptionist in the bookkeepable to access a MASTER SECURITY TABLE, that is well
ing department with 100 megabytes of hard drive space
allocated for her word processing files could create a tem- 5 protected in a secured gateway's restricted memory location,
to automate security changes to a single site, multiple sites,
porary token for a summer intern granting 20 megabytes of
or system wide. If for example, USER X is to be assigned
her space to the intern.
Similarly, managers below the level of the Corporate
new rights in the accounting department and have all rights
removed in the purchasing department, the Corporate SecuSecurity Officer might be allowed the privilege not only of
granting rights within the boundaries of their own limits, but 10 rity Officer could use the SYSTEM MASTER KEY to
also withdrawing rights. For example, if the head of
activate a SHELL subroutine that would identify all the
computers that should be instructed to refuse access to
accounting USER 1 discovered that his subordinate, USER
Token U.X and also to notify all the computers that should
6, was embezzling, USER 1 could immediately remove
USER 6's access rights to the system. This security measure
now accept Token U.X. These network messages would be
could be taken even if the Corporate Security Manager was 15 "signed and sealed" by encrypting the message first by use
unavailable.
of each target computers SG.XB and secondly by use of
Typically, the MASTER KEYS for all computers in the
CS.1R. The security gateway receiving the message packet
network would be held in the custody of the highest ranking
could then confirm that the message came from the central
Corporate Security Officer. While department heads and
server, using CS.1B, which is authorized to execute security
lower security officers might be allowed to expand or restrict 20 changes, and then to read the private message using its own
private key, SG.XR.
the rights of particular users or sites in the network, only the
Corporate Security Officer, as holder of the MASTER
Most security changes involve either (1) expanding one or
KEYS, would be able to change, upgrade, or expand the
more rights of a user or (2) restricting one or more rights of
security SHELL program or GATEWAY PROGRAMS used
a user or (3) changing or upgrading the security program
in the network.
25 used at a site or network wide. The last of these is always
problematic and should always be strictly controlled.
As will be detailed below, the MASTER KEYS held in
Changes in user or site rights, however, involve varying
the custody of the Corporate Security Officer can be gathdegrees of risk. When disgruntled employees or computer
ered into a MASTER KEY TABLE to automate security
changes, with this MASTER KEY TABLE secured by use of
hackers restrict a users rights, this is generally very incona single SYSTEM MASTER KEY. In this way, virtually any 30 venient but seldom provides an opportunity to cause great
security changes in the network can be implemented
damage to corporate data. A far more serious problem is
remotely from the Corporate Security Officer's terminal or
when a hacker manages to expand his rights so as to gain
any other predetermined sites. To further secure the SYSaccess to files that would normally be deprived to him which
he can then steal, alter, or destroy. Conversely, when a
TEM MASTER KEY and the MASTER KEY TABLE for
all the security gateways in the system, it would be possible 35 Corporate Security Officer needs to expand the rights of an
and advisable to divide the SYSTEM MASTER KEY into
employee, delays in doing so can be inconvenient, but
seldom damaging. But if the Corporate Security Officer
several parts that would be placed in escrow with two or
needs to restrict the rights of an employee who, for example,
more trusted corporate officials. These escrowed keys would
is about to be fired or has made threats against the company,
be useless until they are used in combination with each other
so that the security gateway implementing the system wide 40 speed can be essential. This analysis suggests that network
computer security might be enhanced by a process that
changes can reconstruct the actual SYSTEM MASTER
delays and verifies the expansion of rights but never impedes
KEY and verify the PINS of each escrowed portion. For the
sake of convenience, however, the following example will
the restriction of rights.
assume that there is a single Corporate Security Officer in
The security technique described above can be easily
whose custody all MASTER KEYS are intrusted. It will also 45 implemented by use of the security gateway disclosed in this
be assumed below that the Corporate Security Officer will
invention. The network SHELL would be designed to allow
also initiate any security changes on the network from the
the Corporate Security Officer or any holder of a token with
central server for the network, thereby using the central
a higher security rating, a department manager for example,
to revoke any or all rights of a particular user or network site
server's security gateway key CS.l. In fact, any terminal
could be used as long as it's public key was "published" to 50 either on site or from a remote location. However, to expand
the rights of a particular user or network site, the Corporate
the rest of the network as a security gateway site that was
authorized to make security changes.
Security Officer, or other to authorized parties could only
In the present example, the Corporate Security Officer
transmit a conditional upgrade of rights. On reception of this
message, the local security gateway and SHELL would
would initialize each new security gateway and collect the
MASTER KEY. A GATEWAY PROGRAM subroutine 55 notify the user that a rights upgrade has been authorized.
would be run to provide any required parts of SG.1 and U.O,
This upgrade of rights, however, would not become active
as determined by the SHELL software vendor, to a network
until authorized by an approved authority at that site. This
table containing this information for all secured computers
might be a department head, for example, who has been
in the network with said table stored in a restricted memory
issued a separate SECURITY UPGRADE token. The seculocation that is accessible only by use of the SYSTEM 60 rity upgrade would be accepted by the security gateway only
MASTER KEY. In this example, let us assume that this
after the SECURITY UPGRADE token was placed into the
token reader and authenticated by use of the appropriate
MASTER KEY TABLE is stored on the central server and
the SYSTEM MASTER KEY is encrypted with CS.lB
PIN. In this manner, it would be impossible to remotely
which is why the Corporate Security Officer can only use it
grant expanded rights to a terminal or user without the
at that site. If desired, it would be possible to accessing this 65 collaboration of an on site agent. If the department head, in
this example, had not received notice of the security
MASTER SECURITY TABLE using the SYSTEM MASTER KEY from a remote site using a technique similar to
upgrade, policy would require him to check with the Cor-
US 6,212,635 Bl
21
22
porate Security Officer before allowing the upgrade to be
cations by limiting their activities to a secured area of the
completed. The use of an onsite SECURITY UPGRADE
computer system.
Just as the security gateway can be used to enforce a table
token would be especially important if extensions or
of authorized programs, so also could it enforce a table of
changes to the security SHELL are to be implemented.
5 authorized Internet sites that a user would be allowed to
Restricted Program Lists
visit. By means of the security gateway, for example, even
A widely desired feature is the ability to restrict what
programs can be run on a corporation's computer. The
computer savvy children could be prevented from entering
ability to restrict the use of unauthorized programs is imporInternet sites with inappropriate material. Similar CPU
tant to prevent employees from introducing computer virus
based programs already exist, but can be easily defeated
programs into the system and also to curtail the risk of costly 10 simply by installing an unrestricted web browser.
Privacy, ID verification, and Traceability on the Internet
copyright and licensing violations. Because the security
The Internet provides unique opportunities and problems
gateway can easily be configured to restrict users activities,
for communications and commercial transactions. There are
it would be a simple task to create a table of executable files
that are allowed to be loaded onto the hard drive or otherconflicting interests in terms of preserving the privacy of
wise executed by the CPU. Alternatively, a list can be made 15 Internet user, verifying the identity of users, securing the
to exclude the installation or operation of popular programs
integrity of financial transactions, and being able to track the
that are frequently the target of illegal copying.
identity of parties in the event of a criminal activity. The
The program restriction subroutine can designed to be
following process is illustrative of many techniques that
could be employed to take advantage of the features offered
either very inflexible (absolutely no unauthorized programs)
or safely flexible (unauthorized programs can only be run in 20 by the security gateway to satisfy these conflicting needs.
The goal is to create the electronic equivalent of a "paper
special isolated parts of the drive, and will automatically be
trail" of signed documents that under normal circumstances
deleted on a periodic basis). On the inflexible side, authorized program names and checksums could be stored on the
is concealed, ensuring privacy, but can be investigated and
network, CPU accessible areas of the hard drive, or in
decoded with proper authorization, such as a court order or
restricted memory. User rights to these programs could be 25 with permission of the transacting parties, to investigate a
flagged and updated by the computer security officer. The
crime or verify disputed issues. Confidence in this "paper
trail" is assured using the security gateway as an indepenSecurity gateway's own security shell would assist the CPU
security shell in enforcing these restrictions. Alternatively, if
dent means for guaranteeing that a sending party is using a
the user is authorized to operate on a "safely flexible"
computer that is under the control of an authentic security
system, the security gateway would reserve an isolated 30 gateway and licensed security SHELL. Because the receiver
knows that an authentic security gateway is ensuring that the
section of the drive for any non-corporate programs the user
might wish to examine, test, or run. Any attempt to load an
proper secure communications protocol is being followed,
unauthorized program onto the system would automatically
the receiver can know that a proper "paper trail" is being
be routed to a safe zone, for example, virtual drive S. In this
recorded which can be decoded in the event of fraud or
in example, whenever a user logged onto drive S, or sought 35 criminal behavior. Indeed, when agreed to by the transacting
to open any files or programs there, the Security gateway
parties, or when demanded by law, anonymous but traceable
would immediately rescind access to all other portions of the
transactions can be easily accomplished. In the following
hard drive that are related to corporate files and could force
discussion, this will be referred to as a CERTIFIED
TRANSACTION.
the host computer to disconnect from any networks to which
it is connected until the system is powered down or other- 40
The key to this technique is the ability to confirm that a
communicating computer is indeed under the supervision of
wise resecured. Only the sectors apportioned to user's drive
S would be readable or writable to the CPU. In this way, the
an authentic security gateway. This can be accomplished by
user could load or run any private programs, games, or even
the manufacturer embedding in each device a "public key"
that is common to all of the security gateways in that line of
known computer viruses without exposing any other parts of
the system to corruption. This method allows corporate 45 products. In this example, it will be assumed that SG.OB is
officials the luxury of using the computer for private purused, although there could be a different key used for this
specific purpose. At the start of a CERTIFIED
poses while maintaining a secure Security gateway enforced
TRANSACTION, the security gateway would encrypt a
wall between corporate files and personal files.
In a similar way, new programs being developed by
SELF-IDENTIFYING MESSAGE, including, for example,
corporate programmers could be automatically restricted by 50 its own serial number, the version of the GATEWAY PROthe security gateway to a specific virtual drive or developGRAM and SHELL in use, and a copy of SG.lB, using
SG.OB. This SELF-IDENTIFYING MESSAGE is sent over
ment site. This restriction could only be lifted by the
the Internet to the manufacturer using a proprietary protocol
computer security officer who has access to the MASTER
TOKEN after the new software had been tested and
for added security and verification of identity. The manuapproved for general use. This provision would severely 55 facturer's host site uses SG.OR to decrypt the package,
limit a corporation's exposure to disgruntled employees who
thereby confirming that the SELF-IDENTIFYING MESare skilled computer programmers.
SAGE must have been encrypted by an authentic security
Internet Activities
gateway since only security gateways manufactured by the
company have access to the SG.OB. The authenticity of the
As more and more communications occur across
networks, on the Internet, for example, security becomes 60 security gateway can be further confirmed by including in
increasingly difficult. The present invention is has numerous
the SELF-IDENTIFYING MESSAGE, other security gateway embedded data, such as a serial number, and the fact
application in securing such Internet activities. For example,
that the proprietary communications protocol was properly
the security gateway could easily be programmed to limit
used.
disk and network access whenever a CPU is connected to the
Included in the SELF-IDENTIFYING MESSAGE would
Internet. In this way, the security gateway would automati- 65
be information about the user as stored on the token in use.
cally quarantine and block any destructive Internet programs
Most ideally, this would be in the form of a Digital Certifiemploying Java or ActiveX or similar cross platform appli-
US 6,212,635 Bl
23
24
cate that can be used to identify of the token holder. If the
independent of the CPU, it cannot be altered or tampered
sender is seeking to complete an anonymous but traceable
with by computer programmers.
transaction, the manufacturer would need to verify the
The above discussion assumes that the manufacturer of
the security gateway would provide the clearinghouse for
authenticity of the Digital Certificate using the published
public key of the certifying authority that had issued the 5 verification of security gateways and issue for issuing
certificate. This step could be skipped if the receiving party
CAAPs or other certificates of authority. In practice,
will be provided with an unsealed Digital Certificate in
however, this responsibility could be transferred to a third
which case the receiving party will open and verify the
party as designated by the manufacturer and/or the owner of
Digital Certificate.
the security gateway with appropriate token authorization
If the sender is seeking to send anonymous but traceable 10 from the manufacturer.
Finally, it should be noted once more that while the
communication, the manufacturer would confirm the
discussion above refers to encryption and decryption of
authenticity of the Digital Certificate and then reencrypt it
using AK.lB, the public portion of a anonymous transaction
messages using one or the other part of a key pair, it may be
key. AK.lR would be held in divided escrow form by two or
preferred in practice to encrypt the bulk of a message with
more trusted authorities. A message packet would be 15 another type of key, such as a block encryption key, which
attached to this packet confirming that the AK.lB encrypted
may provide speed or security enhancements. This other key
Digital Certificate had been authenticated by the manufacwould then be encrypted with the appropriate portion of the
turer and could be retrieved with proper authorization, such
key pair to create a lockbox, as previously discussed. In this
as a court order, by the parties holding AK.lR in escrow. If
way, the entire message can only be decrypted with the
desired, a date and time stamp could also be added to this 20 appropriate key of the key pair first by opening the lockbox
and then using the key in the lockbox to decrypt the rest of
message packet, plus information about the GATEWAY
PROGRAM and SHELL that is "refereeing" this
the message.
Non-duplicatable Tokens
transaction, and information about the authority that had
issued the original Digital Certificate and how that authority
As previously described, a simple floppy diskette can be
was able to confirm the identity of the sender: birth certifi- 25 used as a token. The information on the diskette is securely
encrypted with SG.lB so that it is only readable by the
cate on file, photo on file, fingerprints on file, et cetera. This
information would allow the receiver the opportunity to
security gateway that issued the token (except in network
grade the quality of the Digital Certificate and to evaluate
situations where, as previously described, where token sharing techniques are employed). The token is further secured
how much trust can be placed in the claim that the certifying
authority has adequately verified the identity of the sender. 30 by means of a user PIN and any other identifying informaThis packet containing the AK.lB encrypted version of the
tion that may be collected and used for verification of the
person's identity.
original Digital Certificate and added information would
Still, when using a simple floppy diskette, it would be
then be encrypted again using CA.lR, the private portion of
key pair used for certificates of authority issued by the
possible for an exact duplicate to be made. In some cases,
manufacturer. This CA.lR packet will hereafter be referred 35 this may be advantageous if the user wanted to keep a "spare
to as a digital Certificate for An anonymous Party, or CAAP.
key" in another location. On the other hand, it also provides
Finally, the CAAP is encrypted with SG.lB, which was
an opportunity for an intruder who gains temporary access
transmitted to the manufacturer as part of the SELFto the key to undetectably make a perfect copy of the key.
IDENTIFYING MESSAGE, and transmitted back to the
The intruder would still need to gain access to the PIN and
security gateway that initiated the transaction. The security 40 other information, if any, but his job would be half done.
There are two general ways to thwart the duplication of
gateway then uses SG.lR to retrieve the CAAP which can
then be stored on the token or immediately transmitted over
tokens. First, if security gateways are installed in all comthe Internet to the receiving party. Immediate transmission
puters in system, the GATEWAY PROGRAM can recognize
may be required in some secured transactions and could be
that the diskette which the user is asking to duplicate is a
verified by use of the date and time stamp information 45 token, even if it is a token for another security gateway. The
imbedded in the CAAP by the manufacturer. The receiver of
security gateway can be programmed by the manufacturer or
a Corporate Security Officer either to (1) never duplicate a
the CAAP would then use publicly published CA.lB to
confirm that the authenticity of the AK.lB encrypted identoken diskette, or (2) only to duplicate a token diskette after
confirmation of a duplication request by the token holder's
tifying Digital Certificate had been independently verified
by the manufacturer. If the CAAP is accepted by the 50 PIN and other information and/or permission of a security
receiver, the associate transaction would completed.
officer or department manager using their tokens.
If the sender is not anonymous and is offering to allow the
Additionally, the security gateway might be programmed to
receiver to examine the token holder's Digital Certificate,
not only refuse to make a duplicate of a TOKEN but also to
report the attempt to copy the token to the network
AK.lB would not be used. The manufacturer might still
include a date and time stamp and then reencrypt the Digital 55 supervisor, to make a false copy that will set off an alarm
when used, or to mark the stolen token so that the owner will
Certificate using CA.lR and transmit it back to the security
be notified of the attempted copy attempt the next time it is
gateway using SG.lB. Using SG.lR the security gateway
would recover the Digital Certificate that now has the
used, or to even remove rights granted to the token holder,
additional certification from the manufacturer that the holder
either temporarily or permanently.
of the certificate is using a computer that is using a security 60
As these security gateway technology becomes more
common, the techniques described above, and similar techgateway.
Because the manufacturer is able to confirm the use of a
niques that will be obvious to those skilled in the security
arts, will provide an effective means the security gateway
security gateway and the version of the licenses SHELL and
technology itself will be able to block the unauthorized
GATEWAY PROGRAM in use, parties in electronic transactions of information or financial assets can be assured that 65 duplication of tokens.
the transaction is properly governed by whatever protocols
The second alternative is to use a unique diskette format
are mutually agreed upon. Because the security gateway is
or media for tokens that cannot be duplicated by disk drives
US 6,212,635 Bl
25
26
SG.OR is used by the manufacturer to encrypt a Digital
other than those controlled by a security gateway. While
Certificate that is provided to the licensed SSL software
special formatting could be used, it is likely that a detervendor for distribution with their products. Upon installation
mined corporate spy could find a means to develop a device
of the SSL licences software, the security gateway would use
that could mimic the formatting method and read and write
in that format. Perhaps the most secure option would be to 5 its embedded SG.OB key to verify that the SSL license is
valid and execute the appropriate subroutines required to
create token media that is permanently marked or coded in
implement the SSL protocol for the new SSL program(s).
a non-duplicatable manner.
This technique of verifying an SSL licenced product is
There are many copy protection schemes that can be used
similar to that used for verifying the right to upgrade the
to make diskettes which are uncopyable or at least extremely
GATEWAY PROGRAM or SHELL.
difficult to copy. One method involves laying down an 10
In the following example of an SSL protocol, upon
analog track with a pattern of identifying bits (a
installation and initialization of an SSL protected program,
"fingerprint") embedded in this track. If the drive heads
the software would be "married" to the security gateway of
consistently read this track the same way, then it is known
the host computer. If the software is transferred to another
that this track is a binary one and the diskette is rejected as
computer, the other computer's security gateway will not
a copy. Only if this track gives varying results, except for the 15 have SG.lR and will therefore be unable to decrypt the file
embedded identifying bits, is the diskette assumed to be the
and the program would thereby be rendered useless on other
original. If the identifying bits are unique for each diskette
systems.
manufactured, then each diskette is essentially unique. This
A specific advantage of this technique is that backup
identifying information can be read by the security gateway
copies of the software can easily be made, but they will only
and can be stored in the SG.lB encrypted files along with 20 be useful when reloaded onto a computer in which the
security gateway to which it was "married" is still active.
U.XR. Thereafter, whenever a token diskette is inserted into
the drive, the security gateway would check the diskette's
This would be especially useful with tape drive backups of
actual "fingerprint" and compares it to the copy of the
an entire hard drive. If there was a hard drive failure but the
fingerprint encrypted in the security file. If the diskette is a
security gateway was intact, a new hard drive could be
copy, the fingerprints will not match and the token would be 25 installed and all files restored and the SSL protected programs would immediately work without the requirement for
rejected or the user could be channeled into a network
new "marriage."
security trap. It should be noted that standard copy protected
Protocols can also be developed to "divorce" software
diskette scheme described above proved vulnerable to hackfrom a particular site so that it can be "remarried" to a
ers disassembling the CPU code and disabling the subroutine that went out to check for the analog track. In this 30 different host computer. Similarly, a protocol can be impleapplication, however, because this code would be part of the
mented to transfer the software to another computer in the
GATEWAY PROGRAM stored in restricted memory, it
event the host computer or security gateway to which the
software was "married" is destroyed or rendered inoperable.
would not be vulnerable to disassembling or alteration.
The following is illustrative of how the security gateway can
Other mechanical or chemical marking techniques might
also be employed to create special diskettes that can be used 35 be used in this fashion. Additional variations will be obvious
as tokens wherein each token would have a unique "fingerto those skilled in the art.
print." The diskette media might be precisely or randomly
Marriage Procedures
scarred with lasers, chemical spattering, ion bombardment,
In this example of an SSL Protocol, the security gateway
or other means. It would be sufficient to simply have a
would examine a files prior to allowing CPU access to
number of sites that either no magnetic charge or a fixed 40 determine if the file has an internal tag identifying it as an
magnetic charge. When creating a new token, the security
SSL protected file. An SSL file can also be marked with a file
gateway could consecutively write and read all O's and all
code which tells the Security gateway that said file is
l's to the diskette and identify the unreadable or unchangeavailable for use by the security gateway only and cannot be
able bits which could then be used to describe the diskette's
shared with the CPU nor can it be copied without alteration
"fingerprint" pattern. As described above, a description of 45 to another file or media. This tag can be likened to a "DO
NOT SHARE" tag that would attached to the SSL certificate
this fingerprint pattern can be encrypted with U.XR so that
any other diskette containing the which did not match the
of authenticity.
SSL licensed software would come with a token containfingerprint pattern would be rejected as a valid token.
ing a Digital Certificate identifying it as an SSL protected
Single Site Licensing of Software
Software developers and those who sell electronic infor- 50 product. In this example, the Digital Certificate, hereinafter
referred to as the SSL Certificate, would be initially have
mation are constantly seeking for a better way to protect
their products from being copied and distributed to other
been encrypted with SG.OR.
The SSL certificate would include a complete "marriage"
computers. Using the security subsystem's CONTROLLER
and its own public/private keys, as previously described, it
record for this specific copy of the software. The software
is possible to automate SINGLE SITE LICENSING (SSL) 55 could not be run until it was first "married" to the security
of software or data. In brief, software can be sold which
gateway installed in the host computer on which it is to be
would only operate on computers which have the SINGLE
run. At the first initialization of the software, the security
SITE LICENSING (SSL) protocol installed and operated by
gateway reads the SSL certificate using SG.OB to verify that
the software is not presently "married" to another device. If
the security gateway. The requirement for use of an SSL
enabled security gateway would be enforced by the use of 60 the software is "unmarried" the security gateway modifies
the SSL certificate to record its marriage including in the
licensed encryption key pairs issued by the manufacturer of
certificate any user ID information which may be provided
the security gateway.
for by the SSL Protocol for tracking down software theft as
The security gateway is configured to recognize SSL
licensed software by means of key pair that is provided in a
provided hereafter. The SSL certificate, or portions thereof,
restricted memory location either at the time of manufacture 65 is thereupon encrypted with the Security gateway's public
or during the upgrade or installation of a new GATEWAY
key, SG.lB, so that it can thereafter by decrypted only by the
PROGRAM. For this example, it can be assumed that the
security gateway to which it has been married.
US 6,212,635 Bl
27
28
The SSL certificate may also contain the software venpublic key, SG.lB. This public key would then be posted on
dor's public key which can be used by the Security gateway
an Internet morgue file. Purchases, registrations, and other
to decrypt essential sections of the file. At this point the
transactions which require submission of the security gatesoftware vendor may have the option of designating that
way public key could then be checked against the morgue
these sections of the code, as identified in the SSL certificate, 5 file. Any transactions by a security gateway previously
shall be reencrypted with the security gateway's public key,
reported as "dead" by a user could trigger withdrawal of
SG.B, during installation. Subsequently, only the Security
privileges, investigation of fraud, and civil or criminal
gateway which is "married" to that copy of the software
sanctions.
could decrypt these critical sections of code and pass them
Electronic Purchases
The above procedures assume that SSL software is pur10
on to the CPU.
chased on removable media, in which case the SSL certifiAfter the above initialization procedures, whenever the
CPU attempts to access an SSL protected file, the Security
cate is already in place. When the software or data is
gateway first reads the embedded SSL certificate to detertransferred electronically, the SSL protocol can easily promine if the software is "married" to said security gateway. It
vide for the host security gateway to create an SSL certificate
not, it then determines if the software is "married" to another 15 which would serve to control the marriage and divorce
Security gateway and the "adulterous" CPU's is denied
procedures as outlined above.
access to the requested files. If the certificate shows that the
It is also noteworthy that in electronic transfers of
software, the software or data vendor could request SG.lB,
software is indeed "married" to said security gateway the
or a similar public key owned by the security gateway that
Security gateway then checks its own DIVORCE FILES,
which are located in restricted memory, to determine if the 20 is to be used for SSL transfers. Using this key, SG.lB, the
software has previously been "divorced" from the Security
vendor could then provide the files with the SSL certificate
gateway, or, in other words, uninstalled so that it could be
and any other encrypted blocks already encrypted with the
transferred to another computer site. If there is a history of
SG.lB. In other words, if provided with the security gatedivorce indicated, the files will not be read. In short, the CPU
way's public key in advance, the software vendor could
is allowed to read the SSL protected files only after their 25 complete the "marriage" even before the software is deliv"marriage" to the Security gateway has been authenticated.
ered to the buyer. This would be the most effective means for
Divorce and Remarriage Procedures
preventing unauthorized use of commercial software or data
At the vendor's option, a "divorce and remarriage" profiles.
tocols could provide a means for uninstalling the SSL
Secure Cycling to New Keys
protected program from its original site so that it can be 30
With sufficient computing power, it is possible to factor or
transferred to another computer with an SSL enabled secu"crack" a private key. Yet even if the network manager of a
rity gateway. Using key pairs provided by the SSL protocol,
large corporation were to harness the parallel processing
the "divorcing" security gateway and "new spouse" gateway
power of thousands of computers, the factoring of even a
could communicate over a network or by the exchange of a
small key would take many months or even years. This
token to confirm and verify that each party is an SSL enabled 35 lengthy period of time required to "crack" a key, even when
security gateway and to exchange their respective public
one has immense computer resources, provides a safe zone
passwords, SG.lB and SG.SB, for example. Upon obtaining
during which a key pair can be considered safe. After a year
SG.SB, the security gateway that was presently "married" to
or so, however, one must consider the possibility that critical
the software would use SG.SB to reencrypt the SSL
key pairs, such as SG.O and U.OR could be compromised.
However, since each security gateway is capable of
certificate, including in the certificate a record of the prior 40
"marriage" to SG.l and transfer of the marriage to SG.S.
generating its own SG.l key pair, there is no reason it could
Any SG.lB encrypted blocks in the software would also be
not generate a new key pair every six-months, for example.
If this were done, the complete history of previous keys
reencrypted using SG.SB to enable the transfer or "remarriage."
would stored in a restricted area and/or backed-up using the
The "divorcing" security gateway would also place a 45 latest SG.lB. Drawing on this historical record, security
record of the divorce into a table in its own restricted
gateway could always decrypt files that had not previously
been updated with the new SG.lB. In this way, previously
memory. This is done to prevent an attempt to reload a
backup copy of the "divorced" software onto the system. If
encrypted files that were opened would automatically be
this is attempted, the security gateway would recognize from
re-keyed. Similarly, tokens U.O, U.l, and U.X, could also be
the table that while it is able to read this copy of the software, 50 automatically updated with the newest SG.lB and be issued
it is not authorized to do so because of the divorce.
new U .XR keys, at periodic intervals. A historical record of
U.XR keys would be kept on the token in a file encrypted
Similarly, it is now a common practice for trial copies of
software to be available through the Internet. If a trial copy
with the most recent SG.lB. Such periodic replacement of
"old" keys with fresh ones can be done automatically by the
was SSL enabled, after the trial period was over the security
controller would make a record in its restricted memory 55 CONTROLLER with out any involvement of the user. The
noting that this software has been tried for the allotted
user need not even be aware that it is taking place. The only
number of times or period of time. Subsequent attempts to
cost would be a slight delay when the user accesses a
secured file which is overdue for being be re-keyed.
uninstall the trial software and to reinstall it for a second trial
period would be refused by the security gateway.
Ramifications, Scope of Invention and Conclusion
60
Death Certificate
The present invention increases the security options availIn the unlikely event that the security gateway itself was
able to computer users by introducing a new level of control
over the computer's access to its peripheral devices. In the
damaged or destroyed, users might be allowed to return the
token containing the SSL certificate to the vendor for
prior art, computers have had a direct and unlimited control
issuance of a "virgin" copy. The Protocol, however, would
over their peripheral devices. The users control over the
provide that the returned token would contain a file created 65 peripherals is implemented through a programs operating at
the CPU level. But since a computer's CPU can come under
by the first security gateway which would include the user's
registration information and the "dead" security gateway's
the control of a malicious person or a computer virus, this
US 6,212,635 Bl
29
unlimited access to the peripheral device places the authorized user's data and programs at risk of alteration or
deletion.
The present invention overcomes this inherent weakness
in the prior art by implementing another level of user control 5
over the computer. This control occurs directly at the midpoint between the computer's CPU which operates
programs, and the peripheral devices which are directed by
the CPU to implement programs or retrieve and store data.
Because the security gateway is independent of the CPU, 10
this invention makes it impossible for any program run by
the user to cross over into restricted memory areas to read,
alter, or erase data. Thus, even a system programmer with
extensive rights cannot bypass or alter the Security gateway's security program. Furthermore, as described in the 15
previous disclosure, the Security gateway can protect the
CPU's boot tracks, security shell, and even RAM tables
reserved for the security shell.
While this invention provides an unbreechable barrier
against security attacks initiated at the CPU level, it also 20
retains flexibility, providing a means for security software
designers to enhance and customize security SHELL to meet
evolving consumer needs.
The method disclosed in this invention produces the
following advantages:
25
it allows the user to temporarily make all or portions of a
peripheral device completely inaccessible to the computer;
it allows the user to temporarily make all or portions of a
30
peripheral device read-only;
it allow the user to temporarily make all or portions of a
peripheral device write-once so that important data may
not be accidentally erased or written over;
it allows the user to temporarily make all or portions of a
peripheral device write-only so that sensitive data may not 35
be read or copied except under authorized conditions.
it provides means for alerting the user of unauthorized
attempts by the computer to access a secured peripheral
device which may aid in the detection and elimination of
computer viruses or other interlopers.
40
it provides a means for anonymous but traceable electronic
transactions that offer both parties the assurance of traceability and the confidence that the their identities are
protected unless there is a authorized investigation, such
45
as by court order.
it provides a means for single site licensing of software to
prevent the unauthorized use or duplication of intellectual
property.
Although the description above contains many specifications and precise examples, these should not be construed as 50
limiting the scope of the invention but merely provide
illustrations of some of the principle ways in which the
invention can be implemented. Once disclosed, customizing
of this process to suit an individual client's security needs
will be obvious to one skilled in the art.
55
Thus, the foregoing is considered as illustrative of the
principles of the invention, but is not by any means exhaustive. Numerous modifications and changes will be obvious
to those skilled in the art. Therefore, it is not desired to limit
the invention to the exact construction and process shown 60
and described herein, and accordingly, all modifications and
equivalents which utilize a user accessible switch which
limits a computer's access to its peripheral devices fall
within the scope of this invention.
While preferred embodiments of the invention have been 65
disclosed in detail, it should be understood by those skilled
in the art that various other modifications may be made to
30
the illustrated embodiments without departing from the
scope of the invention as described in the specification and
defined in the appended claims.
What I claim is:
1. A method for providing security for a computer comprised of a central processing unit, peripheral and file storage
devices, at least one of which can be used as a token access
device that can read and write files to removable storage
media suitable for use as a token, a computer operating
system, and a CPU independent security subsystem which
includes a security control unit and programmable auxiliary
memory, sad method comprising of the steps of:
(a) generating with said security control unit a security
subsystem key pair comprised of a public key and a
private key;
(b) storing said private key data in a memory location
which is under the control of the said security subsystem;
(c) creating with said security -subsystem a key file
encrypted with said public key and writing the key file
to a master token by means of said token access device,
such that said encrypted key file can only be decrypted
and authenticated by the security subsystem using its
corresponding private key;
(d) allowing access to said security subsystem after initial
installation and setup by said computer operating system for installation and modification of security
requirements only when said master token is placed
into an appropriate file storage device and said
encrypted key file has been authenticated by the security subsystem;
(e) denying file and peripheral device access requests by
the central processing unit when the security requirements are not satisfied.
2. The method of claim 1 further including the steps of:
(f) creating with said security subsystem a special use
token containing a special use file encrypted with said
public key such that said special use file can only be
decrypted and authenticated by the security subsystem
using its corresponding private key and such that said
special use file contains information that identifies
specific access rights and security restrictions that are
applicable to the user of said special use token;
(g) providing to said security subsystem by a given user
a valid user identification immediately after said special
use token has been authenticated by the security
subsystem, indicating to the computer operating system
only those files which are accessible to the given user
of said special use token and whether read operations,
write operations, and execute operations may be performed upon the accessible files, and denying access to
users with invalid access criteria and refusing to write
data to any of the files stored in the file storage devices
when operations without valid access criteria have been
attempted.
3. The method of claim 2 further including the steps of:
(h) generating with said security control unit a user
specific key pair comprised of a user public key and a
user private key which can be used for authentication,
verification, and private communications by a given
user;
(i) writing to said special use file a copy of said user
private key which has been encrypted with the security
subsystem's own public key; and
G) storing said user public key in at least on file stored on
at least one other file storage devices.
US 6,212,635 Bl
31
4. The method of claim 2 further including the step of:
(h) requiring the security subsystem to access a central file
which contains the public keys for the security subsystems of other computers and to make encrypted
copies of the special use file using the public keys of the
other security subsystems to which the user has been
granted limited access and to store these encrypted files
on the special use token, whereupon the special use
token can be securely used on the other computers.
5. The method of claim 2 further including the steps of:
(h) connecting the computer to a computer network; and
(i) providing that the security subsystem's parameters can
be changed by the network manager at a remote location only when a special use token with security
authorization to allow this change has been placed into
the local token access device and authenticated by the
security subsystem.
6. The method of claim 2 further including the step of:
(h) requiring the security subsystem to record invalid
attempts to enter user identification information on the
token and to initiate additional security precautions if
the number of invalid attempts exceeds a predefined
limit.
7. The method of claim 1 further including the step of:
(t) requiring the removable media to be of a type which
has fixed or unwritable domains by which the security
subsystem can uniquely identify the diskette and record
the identifying diskette information in the key file
recorded on the diskette such that if the key file is
copied to another diskette the security subsystem can
determine that the key file does not reside on the same
removable token on which it was originally placed and
so can reject the non-original diskette as a copy.
8. A computer security system for a computer having a
CPU, a common bus carrying control logic signals, address
signals, and data signals, and a computer operating system
which comprises:
(a) means for providing a CPU independent security
subsystem comprised of a control unit, programmable
memory, a security program and general security
parameters;
(b) means for attaching said security subsystem and a
plurality of peripheral devices and file storage devices,
with at least one of said file storage devices capable of
reading and writing to removable media which will be
used as a token read/write device, to said common bus;
(c) means for said security subsystem to generate at least
one pair of keys comprising a private key and a public
key and storing sad pair of keys in a restricted memory
location residing on at least one of said file storage
devices under the control of said security subsystem;
(d) means for said security subsystem to encrypt at least
one key file using said public key and to write said
encrypted key file by means of said token read/write
device to a token comprised of removable storage
media;
(e) means for requiring said security subsystem to deny
access requests by said CPU to said peripheral and
storage devices whenever said access requests violate
said general security parameters; and
(t) means for requiring said security subsystem to accept
modifications of said general security parameters after
initial installation and setup when said token is inserted
into said token read/write device and said security
subsystem has decrypted said encrypted key file using
said private key and thereby verified the authenticity of
said token.
32
9. The computer security system of claim 8 further
including
(g) means of storing a copy of said security subsystems
manufacturer's public key in a secure memory location
5
of said security subsystem; and
(h) means for requiring said security subsystem to accept
modifications of said security program when a master
token containing an upgrade authorization file
encrypted by said manufacturer's private key is
10
inserted into said token read/write device and said
security subsystem has decrypted said encrypted key
file using said manufacturer's public key and thereby
verified the authenticity of said upgrade authorization
file.
15
10. The computer security system of claim 8 further
including:
(g) means for said security subsystem to generate a
special use key pair comprised of a special use public
key and special use private key and to store said special
20
use public key on at least one of said file storage
devices;
(h) means for said security subsystem to create a special
use security parameters file encrypted with said public
key that contains at least a copy of said special use
25
private key and to write by means of said token
read/write device said special use security parameters
file to a special use token; and
(i) means for said security subsystem to retrieve said
special use security parameters file from said special
30
use token when said special use token is inserted into
said token read/write device and to limit access
requests by said computer to said peripheral and storage devices for a period of time and under such
conditions as provided by said security program and
35
said special use security parameters.
11. The computer security system of claim 10 further
including:
(k) means for obtaining a PIN assigned to a user authorized to use said special use token and storing said PIN
40
in a PIN-file encrypted with said public key and storing
said PIN-file on said special use token;
(1) means for said security subsystem to retrieve said
PIN-file from said special use token when it is inserted
into said token read/write device and retrieve a key45
board entry of the PIN as a means of verification of said
specific users identity; and
(m) means for said security subsystem to utilize said
special use security parameters only when said PIN
matches the keyboard entered value and to otherwise
50
utilize said general security parameters.
12. The computer security system of claim 8 further
including:
(g) means for said security subsystem to monitor the
integrity of a CPU security program and to force a
55
computer reboot operation whenever said integrity
check fails to satisfy said general security parameters.
13. The computer security system of claim 8 further
including:
(g) means for said security subsystem to generate a seed
60
number that is stored in a memory location accessible
to a CPU security program run by said CPU and said
operating system;
(h) means for said security subsystem and said CPU
65
security program to use said seed number in identical
random number generating routines to create a pseudorandom password; and
US 6,212,635 Bl
33
(i) means for said security subsystem to require said CPU
security program to supply said pseudo-random password at such time and under such conditions as
required by said general security parameters and to
activate security breech operations as defined for this 5
case in said general security parameters when ever said
pseudo-random password generated by said CPU does
not match said pseudo-random password generated by
said security subsystem.
14. The computer security system of claim 10 further 10
including
(n) means for said security subsystem to retrieve at least
one other security subsystem's public key, where said
other security subsystem is attached to another computer which is connected to said computer by a com- 15
puter network; and
(o) means for said security subsystem to create a copy of
said special use security parameters file encrypted with
said other security subsystem's public key and to store
it on said special use token so the token can be securely 20
used on said the other computer.
15. The computer security system of claim 10 further
including
(n) means for said security subsystem to transmit said
public key to at least one other security subsystem is 25
attached to another computer which is connected to
said computer by a computer network;
(o) means for said security subsystem to retrieve said
other security subsystem's public key;
(p) means for said security subsystem to encrypt a net- 30
work security parameters change file first using said
other security subsystem's public key and second with
said private key and to transmit said network security
parameters change file to said other security subsystem;
35
and
(q) means for said other security subsystem to implement
the security provisions required by network security
parameters change file after it has been successfully
authenticated by decryption using first said public key
and using second said other security subsystem's pri- 40
vate key.
16. The computer security system of claim 8 further
including
(g) means for said security subsystem to store in said
restricted memory a list of identifying characteristics of 45
authorized programs that may be run by said CPU;
(h) means for said security subsystem to restrict access to
said authorized programs under such conditions as have
been predefined in said security program. and said
50
general security parameters.
17. The computer security system of claim 8 further
including
(g) means for said security subsystem to store a copy of
a certified transaction public key in said restricted 55
memory;
(h) means for said security subsystem to encrypt a selfidentifying message including a copy of said public key
using said certified transaction public key;
(i) means for transmitting said encrypted self-identifying 60
message to the certifying authority who issued said
certified transaction public key;
G) means for receiving from said certifying authority a
unique digital certificate for an anonymous party pri65
vate key encrypted with said public key;
(k) means for said security subsystem to store said unique
digital certificate in said restricted memory; and
34
(1) means for said security subsystem to retrieve said
unique digital certificate from said restricted memory
and to transmit it to as required by said security
program and general security parameters to other computers connected with said computer by means of a
network.
18. The computer security system of claim 8 further
including:
(g) means for storing a copy of single site licensing public
key in a secure memory location of said security
subsystem; and
(h) means for requiring said security subsystem to identify
a new program to be installed on said computer that is
subject to the single site licensing requirements defined
in said security program by decrypting a digital certificate provided with said new program using said
single site licensing public key and implementing said
single site licensing requirements relative to said new
program upon verification of said digital certificate.
19. The computer security system of claim 18 further
including:
(i) means for said security subsystem to extract from said
digital certificate site license parameters defining at
least one limitation on the use of said new program; and
G) means for requiring said security subsystem to deny
requests by said computer to access said new program
whenever said access requests violate said site license
parameters.
20. The computer security system of claim 8 further
including:
(g) means for said security subsystem to transmit said
public key to the software vendor of a site restricted
program;
(h) means for said security subsystem to receive a site
license certificate encrypted with said public key from
said software vendor;
(i) means for said security subsystem to verify the authenticity of said site license certificate by decrypting said
site licence certificate with said private key; and
G) means for requiring said security subsystem to deny
requests by said computer to access said site restricted
program whenever said site license certificate has not
been received and verified.
21. The computer security system of claim 8 further
including:
(g) means for said security subsystem to create a special
use identification file encrypted with said public key
that contains at least a copy of a special use identification code and to write by means of said token
read/write device said special use identification file to
a special use token;
(h) means for said security subsystem to store a copy of
said special use identification code and special use
security parameters assigned to said special use identification code in a restricted memory location; and
(i) means for said security subsystem to retrieve said
special use identification file from said special use
token when said special use token is inserted into said
token read/write device and to decrypt the file using
said private key and to thereby retrieve said special use
identification code and said special use security parameters and to limit access requests by said computer to
said peripheral and storage devices for a period of time
and under such conditions as provided by said security
program and said special use security parameters.
US 6,212,635 Bl
35
36
22. The computer security system of claim 10 further
including:
G) means for said security subsystem to retrieve said
special use private key from said special use token and
to decrypt files that have been encrypted using said
special use public key.
23. The computer security system of claim 10 further
including:
G) means for said security subsystem to retrieve said
special use private key from said special use token and
to encrypt files using said special use private key.
5
* * * * *
Disclaimer: Justia Dockets & Filings provides public litigation records from the federal appellate and district courts. These filings and docket sheets should not be considered findings of fact or liability, nor do they necessarily reflect the view of Justia.
Why Is My Information Online?