Patent JPS4832014A successfully refreshed from Google Patents.
Patent EP0396894A2 successfully refreshed from Google Patents.
← Back to Patent Explorer
EP0396894A2 Expired / Lapsed EP ⏱️ 0.0 years remaining

Secure management of keys using control vectors with multi-path checking

Assignee: International Business Machines Corp
•
Filing: 1990-03-28
•
Granted: —
•
Expires: 2010-03-28
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract An apparatus and method are disclosed for validating that a cryptographic function requested to be performed with a cryptographic key has been authorized by the originator of the key. The invention is used in a data processing system which processes cryptographic service requests for the performance of cryptographic functions with cryptographic keys which are associated with control vectors defining the functions which each key is allowed by its originator to perform. The invention includes a cryptographic facility (4) characterized by a secure boundary through which passes an I/O path (8) for receiving a cryptographic key and its associated control vector (CVa, CVb,...CVm), and for providing a response thereto, there being included within the boundary a cryptographic processing means coupled to the I/O path (8) and a master key storage coupled to the processing means, for providing a secure location to execute a cryptographic function with the cryptographic key.

Inventors

  • 👤 Stephen M. Matyas
  • 👤 Dennis G. Abraham
  • 👤 Donald B. Johnson
  • 👤 Ramesh K. Karne
  • 👤 An V. Le
  • 👤 Patrick J. Mccormack
  • 👤 Rostislaw Prymak
  • 👤 John D. Wilkins

Bibliographic Details

Application Number —
Jurisdiction EP
Data Source google_patents
Last Synchronized 2026-11-04 14:51
CPC Classifications
G; G06; G06F; G06F9/00; G06F9/06; G06F9/30; G06F9/30003; G06F9/30007; G06F9/30018; G07; G07B; G07B17/00; G07B17/00733; H; H04; H04L; H04L9/00; H04L9/08; H04L9/088; G07B2017/00959; G07B2017/00967; H04L2209/00; H04L2209/12

Claims Analysis

Total Claims: 33
Claim 1
Independent Claim 162 words
In a data processing system which executes cryptographic functions with cryptographic keys which are associated with control vectors defining the functions which each key is allowed by its originator to perform, a method for validating that a cryptographic function to be performed with a cryptographic key has been authorized by the originator of the key, comprising: receiving a representation of said cryptographic key which is cryptographically coupled with its associated control vector; receiving a candidate control vector which purports to be said associated control vector; checking a first field of said candidate control vector to determine if said cryptographic function is authorized to be performed by said cryptographic key; checking a second field of said candidate control vector to determine if said cryptographic function is authorized to be performed by said cryptographic key; cryptographically combining said representation of said cryptographic key with said candidate control vector and recovering said cryptographic key only if said candidate control vector is said associated control vector.
Claim 2
Dependent Claim 162 words
In a data processing system which executes cryptographic functions with cryptographic keys which are associated with control vectors defining the functions which each key is allowed by its originator to perform, a method for validating that a cryptographic function to be performed with a cryptographic key has been authorized by the originator of the key, comprising: receiving a representation of said cryptographic key which is cryptographically coupled with its associated control vector; receiving a candidate control vector which purports to be said associated control vector; checking a first field of said candidate control vector to determine if said cryptographic function is authorized to be performed by said cryptographic key; checking a second field of said candidate control vector to determine if said cryptographic function is authorized to be performed by said cryptographic key; cryptographically combining said representation of said cryptographic key with said candidate control vector and recovering said cryptographic key only if said candidate control vector is said associated control vector.
Claim 3
Dependent Claim 32 words
Method of claim 1 further comprising: executing said cryptographic function with said cryptographic key only if said first and said second checking steps determine that the function is authorized to be performed.
Claim 4
Dependent Claim 254 words
In a data processing system which executes cryptographic functions with cryptographic keys which are associated with control vectors defining the functions which each key is allowed by its originator to perform, a method for validating that a cryptographic function to be performed with a cryptographic key has been authorized by the originator of the key, comprising: receiving in a first processor in said system, a representation of said cryptographic key which is cryptographically coupled with its associated control vector; receiving in said first processor at least a first field of a candidate control vector which purports to be said associated control vector; receiving in a second processor in said system, at least a second field of a candidate control vector which purports to be said associated control vector; checking said second field of said candidate control vector in said second processor to determine if said cryptographic function is authorized to be performed by said cryptographic key and outputting the results of said checking to said first processor; checking said first field of said candidate control vector in said first processor to determine if said cryptographic function is authorized to be performed by said cryptographic key; cryptographically combining said representation of said cryptographic key with said candidate control vector and recovering said cryptographic key only if said candidate control vector is said associated control vector; executing said cryptographic function with said cryptographic key in said first processor only if said first and said second checking steps determine that the function is authorized to be performed.
Claim 5
Dependent Claim 254 words
In a data processing system which executes cryptographic functions with cryptographic keys which are associated with control vectors defining the functions which each key is allowed by its originator to perform, a method for validating that a cryptographic function to be performed with a cryptographic key has been authorized by the originator of the key, comprising: receiving in a first processor in said system, a representation of said cryptographic key which is cryptographically coupled with its associated control vector; receiving in said first processor at least a first field of a candidate control vector which purports to be said associated control vector; receiving in a second processor in said system, at least a second field of a candidate control vector which purports to be said associated control vector; checking said second field of said candidate control vector in said second processor to determine if said cryptographic function is authorized to be performed by said cryptographic key and outputting the results of said checking to said first processor; checking said first field of said candidate control vector in said first processor to determine if said cryptographic function is authorized to be performed by said cryptographic key; cryptographically combining said representation of said cryptographic key with said candidate control vector and recovering said cryptographic key only if said candidate control vector is said associated control vector; executing said cryptographic function with said cryptographic key in said first processor only if said first and said second checking steps determine that the function is authorized to be performed.
Claim 6
Dependent Claim 28 words
The method of claim 3, wherein said first processor is a host processor and said second processor is a smart card processor operatively coupled to said host processor.
Claim 7
Dependent Claim 28 words
The method of claim 3, wherein said first processor is a terminal processor and said second processor is a smart card processor operatively coupled to said terminal processor.
Claim 8
Dependent Claim 29 words
The method of claim 3, wherein said first processor is a smart card processor and said second processor is a terminal processor operatively coupled to said smart card processor.
Claim 9
Dependent Claim 23 words
The method of claim 3, wherein said first and said second processor are coupled over a communications link in a distributed processing system.
Claim 10
Dependent Claim 264 words
In a data processing system which executes cryptographic functions with cryptographic keys which are associated with control vectors defining the functions which each key is allowed by its originator to perform, a method for validating that a cryptographic function to be performed with a cryptographic key has been authorized by the originator of the key, comprising: receiving in a first program operating in a multiprogramming mode in said system, a representa­tion of said cryptographic key which is cryptographi­cally coupled with its associated control vector; receiving in said first program at least a first field of a candidate control vector which purports to be said associated control vector; receiving in a second program operating in said multiprogramming mode in said system, at least a second field of a candidate control vector which purports to be said associated control vector; checking said second field of said candidate control vector in said second program to determine if said cryptographic function is authorized to be performed by said cryptographic key and outputting the results of said checking to said first program; checking said first field of said candidate control vector in said first program to determine if said cryptographic function is authorized to be performed by said cryptographic key; cryptographically combining said representation of said cryptographic key with said candidate control vector and recovering said cryptographic key only if said candidate control vector is said associated control vector; executing said cryptographic function with said cryptographic key in said first program only if said first and said second checking steps determine that the function is authorized to be performed.
Claim 11
Dependent Claim 264 words
In a data processing system which executes cryptographic functions with cryptographic keys which are associated with control vectors defining the functions which each key is allowed by its originator to perform, a method for validating that a cryptographic function to be performed with a cryptographic key has been authorized by the originator of the key, comprising: receiving in a first program operating in a multiprogramming mode in said system, a representa­tion of said cryptographic key which is cryptographi­cally coupled with its associated control vector; receiving in said first program at least a first field of a candidate control vector which purports to be said associated control vector; receiving in a second program operating in said multiprogramming mode in said system, at least a second field of a candidate control vector which purports to be said associated control vector; checking said second field of said candidate control vector in said second program to determine if said cryptographic function is authorized to be performed by said cryptographic key and outputting the results of said checking to said first program; checking said first field of said candidate control vector in said first program to determine if said cryptographic function is authorized to be performed by said cryptographic key; cryptographically combining said representation of said cryptographic key with said candidate control vector and recovering said cryptographic key only if said candidate control vector is said associated control vector; executing said cryptographic function with said cryptographic key in said first program only if said first and said second checking steps determine that the function is authorized to be performed.
Claim 12
Dependent Claim 268 words
In a data processing system which executes cryptographic functions with cryptographic keys which are associated with control vectors defining the functions which each key is allowed by its originator to perform, a method for validating that a cryptographic function to be performed with a cryptographic key has been authorized by the originator of the key, comprising: receiving in a managing processor in said system, a representation of said cryptographic key which is cryptographically coupled with its associated control vector; receiving in a first processor in said system, at least a first field of a candidate control vector which purports to be said associated control vector; receiving in a second processor in said system, at least a second field of a candidate control vector which purports to be said associated control vector; checking said first field of said candidate control vector in said first processor to determine if said cryptographic function is authorized to be performed by said cryptographic key and outputting the results of said checking to said managing processor; checking said second field of said candidate control vector in said second processor to determine if said cryptographic function is authorized to be performed by said cryptographic key and outputting the results of said checking to said managing processor; cryptographically combining said representation of said cryptographic key with said candidate control vector and recovering said cryptographic key only of said candidate control vector is said associated control vector; executing said cryptographic function with said cryptographic key in said managing processor only if said first and said second checking steps determine that the function is authorized to be performed.
Claim 13
Dependent Claim 268 words
In a data processing system which executes cryptographic functions with cryptographic keys which are associated with control vectors defining the functions which each key is allowed by its originator to perform, a method for validating that a cryptographic function to be performed with a cryptographic key has been authorized by the originator of the key, comprising: receiving in a managing processor in said system, a representation of said cryptographic key which is cryptographically coupled with its associated control vector; receiving in a first processor in said system, at least a first field of a candidate control vector which purports to be said associated control vector; receiving in a second processor in said system, at least a second field of a candidate control vector which purports to be said associated control vector; checking said first field of said candidate control vector in said first processor to determine if said cryptographic function is authorized to be performed by said cryptographic key and outputting the results of said checking to said managing processor; checking said second field of said candidate control vector in said second processor to determine if said cryptographic function is authorized to be performed by said cryptographic key and outputting the results of said checking to said managing processor; cryptographically combining said representation of said cryptographic key with said candidate control vector and recovering said cryptographic key only of said candidate control vector is said associated control vector; executing said cryptographic function with said cryptographic key in said managing processor only if said first and said second checking steps determine that the function is authorized to be performed.
Claim 14
Dependent Claim 41 words
The method of claim 9, wherein said managing processor is a host processor, said first processor is a terminal processor operatively coupled to said host processor and said second processor is a smart card processor operatively coupled to said terminal processor.
Claim 15
Dependent Claim 41 words
The method of claim 9, wherein said managing processor is a smart card processor, said first processor is a terminal processor operatively coupled to said smart card processor and said second processor is host processor operatively coupled to said terminal processor.
Claim 16
Dependent Claim 33 words
The method of claim 9, wherein said first processor is a smart card processor and said managing processor and said second processor are a terminal processor operatively coupled to said smart card processor.
Claim 17
Dependent Claim 25 words
The method of claim 9, wherein managing processor, said first and said second processor are coupled over a communications link in a distributed processing system.
Claim 18
Dependent Claim 45 words
The method of claim 9, wherein said managing processor sends request messages to said first and said second processors to perform control vector checking operations and said first and second processors send response messages to said managing processor as to the results of said checking.
Claim 19
Dependent Claim 25 words
The method of claim 14, wherein said managing processor requires an authorization response from both said first and second processors before executing said cryptographic function.
Claim 20
Dependent Claim 27 words
The method of claim 14, wherein said managing processor performs a voting assessment of the responses from said first and second processors before executing said cryptographic function.
Claim 21
Dependent Claim 283 words
In a data processing system which executes cryptographic functions with cryptographic keys which are associated with control vectors defining the functions which each key is allowed by its originator to perform, a method for validating that a cryptographic function to be performed with a cryptographic key has been authorized by the originator of the key, comprising: receiving in a managing program operating in a multiprogramming mode in said system, a representation of said cryptographic key which is cryptographically coupled with its associated control vector; receiving in a first program operating in said multiprogramming mode in said system, at least a first field of a candidate control vector which purports to be said associated control vector; receiving in a second program operating in said multiprogramming mode in said system, at least a second field of a candidate control vector which purports to be said associated control vector; checking said first field of said candidate control vector in said first program to determine if said cryptographic function is authorized to be performed by said cryptographic key and outputting the results of said checking to said managing program; checking said second field of said candidate control vector in said second program to determine if said cryptographic function is authorized to be performed by said cryptographic key and outputting the results of said checking to said managing program; cryptographically combining said representation of said cryptographic key with said candidate control vector and recovering said cryptographic key only if said candidate control vector is said associated control vector; executing said cryptographic function with said cryptographic key in said managing program only if said first and said second checking steps determine that the function is authorized to be performed.
Claim 22
Dependent Claim 283 words
In a data processing system which executes cryptographic functions with cryptographic keys which are associated with control vectors defining the functions which each key is allowed by its originator to perform, a method for validating that a cryptographic function to be performed with a cryptographic key has been authorized by the originator of the key, comprising: receiving in a managing program operating in a multiprogramming mode in said system, a representation of said cryptographic key which is cryptographically coupled with its associated control vector; receiving in a first program operating in said multiprogramming mode in said system, at least a first field of a candidate control vector which purports to be said associated control vector; receiving in a second program operating in said multiprogramming mode in said system, at least a second field of a candidate control vector which purports to be said associated control vector; checking said first field of said candidate control vector in said first program to determine if said cryptographic function is authorized to be performed by said cryptographic key and outputting the results of said checking to said managing program; checking said second field of said candidate control vector in said second program to determine if said cryptographic function is authorized to be performed by said cryptographic key and outputting the results of said checking to said managing program; cryptographically combining said representation of said cryptographic key with said candidate control vector and recovering said cryptographic key only if said candidate control vector is said associated control vector; executing said cryptographic function with said cryptographic key in said managing program only if said first and said second checking steps determine that the function is authorized to be performed.
Claim 23
Dependent Claim 373 words
In a data processing system which processes cryptographic service requests for the performance of cryptographic functions with cryptographic keys which are associated with control vectors defining the functions which each key is allowed by its originator to perform, an apparatus for validating that a cryptographic function requested to be performed with a cryptographic key has been authorized by the originator of the key, comprising: a cryptographic facility having an I/O path for receiving a first expression which is a cryptographic key cryptographically coupled with its associated control vector, and also receiving second expression which is purported to be said associated control vector, there being included in said cryptographic facility a cryptographic processing means coupled to said I/O path for executing a cryptographic function with said cryptographic key; a first control vector checking means having an input to receive at least a first portion of said second expression and to receive a cryptographic service request to perform said cryptographic function with said cryptographic key, for performing a first check of said first portion of said second expression to determine if said cryptographic function is authorized to be performed by said cryptographic key; said first control vector checking means having a first authorization output coupled to said cryptographic processing means, for outputting a first authorization signal that said cryptographic function is authorized to be performed by said cryptographic key; a second control vector checking means having an input to receive at least a second portion of said second expression and to receive a cryptographic service request to perform said cryptographic function with said cryptographic key, for performing a second check of said second portion of said second expression to determine if said cryptographic function is authorized to be performed by said cryptographic key; said second control vector checking means having a second authorization output coupled to said cryptographic processing means, for outputting a second authorization signal that said cryptographic function is authorized to be performed by said cryptographic key; said cryptographic facility recovering said cryptographic key from said first expression only if said second expression is said associated control vector; said cryptographic processing means initiating the execution of said cryptographic function with said cryptographic key in response to receiving said first and second authorization signals.
Claim 24
Dependent Claim 373 words
In a data processing system which processes cryptographic service requests for the performance of cryptographic functions with cryptographic keys which are associated with control vectors defining the functions which each key is allowed by its originator to perform, an apparatus for validating that a cryptographic function requested to be performed with a cryptographic key has been authorized by the originator of the key, comprising: a cryptographic facility having an I/O path for receiving a first expression which is a cryptographic key cryptographically coupled with its associated control vector, and also receiving second expression which is purported to be said associated control vector, there being included in said cryptographic facility a cryptographic processing means coupled to said I/O path for executing a cryptographic function with said cryptographic key; a first control vector checking means having an input to receive at least a first portion of said second expression and to receive a cryptographic service request to perform said cryptographic function with said cryptographic key, for performing a first check of said first portion of said second expression to determine if said cryptographic function is authorized to be performed by said cryptographic key; said first control vector checking means having a first authorization output coupled to said cryptographic processing means, for outputting a first authorization signal that said cryptographic function is authorized to be performed by said cryptographic key; a second control vector checking means having an input to receive at least a second portion of said second expression and to receive a cryptographic service request to perform said cryptographic function with said cryptographic key, for performing a second check of said second portion of said second expression to determine if said cryptographic function is authorized to be performed by said cryptographic key; said second control vector checking means having a second authorization output coupled to said cryptographic processing means, for outputting a second authorization signal that said cryptographic function is authorized to be performed by said cryptographic key; said cryptographic facility recovering said cryptographic key from said first expression only if said second expression is said associated control vector; said cryptographic processing means initiating the execution of said cryptographic function with said cryptographic key in response to receiving said first and second authorization signals.
Claim 25
Dependent Claim 53 words
The apparatus of claim 18, wherein said cryptographic processing means is located in a first data processor in said system, said first control vector checking means is located in a second data processor in said system and said second control vector checking means is located in a third data processor in said system.
Claim 26
Dependent Claim 52 words
The apparatus of claim 18, wherein said cryptographic processing means is located in a data processor in said system, said first control vector checking means is located in a terminal connected to said data processor and said second control vector checking means is located in a smart card coupled to said terminal.
Claim 27
Dependent Claim 52 words
The apparatus of claim 18, wherein said first control vector checking means is located in a data processor in said system, said cryptographic processing means is located in a terminal connected to said data processor and said second control vector checking means is located in a smart card coupled to said terminal.
Claim 28
Dependent Claim 33 words
The apparatus of claim 18, wherein said cryptographic processing means, said first control vector checking means and said second control vector checking means are located in the same data processor in said system.
Claim 29
Dependent Claim 73 words
The apparatus of claim 22, wherein said first check performed by said first control vector checking means is controlled by a first component program in a multiprogramming operating mode and said second check performed by said second control vector checking means is controlled by a second component program in said multiprogramming operating mode, said first authorization signal being directed from said first control vector checking means to said second control vector checking means.
Claim 30
Dependent Claim 37 words
The apparatus of claim 18, wherein said cryptographic processing means, said first control vector checking means and said second control vector checking means are located in the same cryptographic facility in a data processor in said system.
Claim 31
Dependent Claim 308 words
In a data processing system which processes cryptographic service requests for the performance of cryptographic functions with cryptographic keys which are associated with control vectors defining the functions which each key is allowed by its originator to perform, a process for validating that a cryptographic function requested to be performed with a cryptographic key has been authorized by the originator of the key, comprising the steps of: receiving a cryptographic key and its associated control vector at cryptographic processing means in a cryptographic facility characterized by a secure boundary which provides a secure location to execute a cryptographic function with said cryptographic key; receiving at least a first portion of said associated control vector and a cryptographic service request to perform said cryptographic function with said cryptographic key in a first control vector checking means; performing a first check of said first portion of said associated control vector to determine if said cryptographic function is authorized to be performed by said cryptographic key; outputting a first authorization signal from said first control vector checking means to said cryptographic processing means that said cryptographic function is authorized to be performed by said cryptographic key; receiving at least a second portion of said associated control vector and a cryptographic service request to perform said cryptographic function with said cryptographic key in a second control vector checking means; performing a second check of said second portion of said associated control vector to determine if said cryptographic function is authorized to be performed by said cryptographic key; outputting a second authorization signal from said second control vector checking means to said cryptographic processing means that said cryptographic function is authorized to be performed by said cryptographic key; initiating the execution of said cryptographic function with said cryptographic key in response to said cryptographic processing means receiving said first and second authorization signals.
Claim 32
Dependent Claim 308 words
In a data processing system which processes cryptographic service requests for the performance of cryptographic functions with cryptographic keys which are associated with control vectors defining the functions which each key is allowed by its originator to perform, a process for validating that a cryptographic function requested to be performed with a cryptographic key has been authorized by the originator of the key, comprising the steps of: receiving a cryptographic key and its associated control vector at cryptographic processing means in a cryptographic facility characterized by a secure boundary which provides a secure location to execute a cryptographic function with said cryptographic key; receiving at least a first portion of said associated control vector and a cryptographic service request to perform said cryptographic function with said cryptographic key in a first control vector checking means; performing a first check of said first portion of said associated control vector to determine if said cryptographic function is authorized to be performed by said cryptographic key; outputting a first authorization signal from said first control vector checking means to said cryptographic processing means that said cryptographic function is authorized to be performed by said cryptographic key; receiving at least a second portion of said associated control vector and a cryptographic service request to perform said cryptographic function with said cryptographic key in a second control vector checking means; performing a second check of said second portion of said associated control vector to determine if said cryptographic function is authorized to be performed by said cryptographic key; outputting a second authorization signal from said second control vector checking means to said cryptographic processing means that said cryptographic function is authorized to be performed by said cryptographic key; initiating the execution of said cryptographic function with said cryptographic key in response to said cryptographic processing means receiving said first and second authorization signals.
Claim 33
Dependent Claim 53 words
The method of claim 25, wherein said first check performed by said first control vector checking means is controlled by a first component program in a multiprogramming operating mode and said second check performed by said second control vector checking means is controlled by a second component program in said multiprogramming operating mode.

References Cited (Backward Citations)

No citation records indexed.

USPTO Annuity & Maintenance Windows

Maintenance schedule is calculated for granted US utility patents.

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag