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

Method and apparatus for enhancing software security and distributing software

Assignee: Sun Microsystems Inc
•
Filing: 1995-05-31
•
Granted: —
•
Expires: 2015-05-31
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract Source code to be protected, a software application writer's private key, along with an application writer's license provided to the first computer. The application writer's license includes identifying information such as the application writer's name as well as the application writer's public key. A compiler program executed by the first computer compiles the source code into binary code, and computes a message digest for the binary code. The first computer then encrypts the message digest using the application writer's private key, such that the encrypted message digest is defined as a digital "signature" of the application writer. A software passport is then generated which includes the application writer's digital signature, the application writer's license and the binary code. The software passport is then distributed to a user using any number of software distribution models known in the industry. A user, upon receipt of the software passport, loads the passport into a computer which determines whether the software passport includes the application writer's license and digital signature. In the event that the software passport does not include the application writer's license, or the application writer's digital signature, then the user's computer system discards the software passport and does not execute the binary code. As an additional security step, the user's computer computes a second message digest for the software passport and compares it to the first message digest, such that if the first and second message digests are not equal, the software passport is also rejected by the user's computer and the code is not executed. If the first and second message digests are equal, the user's computer extracts the application writer's public key from the application writer's license for verification. The application writer's digital signature is decrypted using the application writer's public key. The user's computer then compares a message digest of the binary code to be executed, with the decrypted application writer's digital signature, such that if they are equal, the user's computer executes the binary code.

Inventors

  • 👤 Sheue-Ling Chang
  • 👤 James Gosling

Bibliographic Details

Application Number —
Jurisdiction EP
Data Source google_patents
Last Synchronized 2026-11-07 12:15
CPC Classifications
G; G06; G06F; G06F21/00; G06F21/10; G06F21/12; G06F21/121; G06F21/125; G06F2211/00; G06F2211/007; G06F2211/008

Claims Analysis

Total Claims: 34
Claim 1
Independent Claim 126 words
A method for enhancing software security, comprising the steps of: providing a first computer; providing a private key; providing an application writer's license which contains a public key; providing software; providing said first private key, said application writer's license and said software to a compiler executed by said first computer, said compiler compiling said software into binary code and computing a message digest for said binary code; said first computer further encrypting said message digest using said private key, said encrypted message digest comprising an application writer's digital signature; said first computer generating a software passport comprising said application writer's digital signature and said application writer's license; providing an element for performing the step of distributing said software passport and said binary code to a user.
Claim 2
Dependent Claim 34 words
The method as defined by Claim 1 further including the step by said user of receiving said software passport and executing said binary code on a second computer in conjunction with an operating system.
Claim 3
Dependent Claim 19 words
The method as defined by Claim 2 wherein said license includes a name of an author of said software.
Claim 4
Dependent Claim 18 words
The method as defined by Claim 3 wherein said license further includes a public key for said author.
Claim 5
Dependent Claim 17 words
The method as defined by Claim 4 wherein said license includes a validity date for said software.
Claim 6
Dependent Claim 21 words
The method as defined by Claim 3 wherein said license further includes a digital signature for a Software Publishing Authority ("SPA").
Claim 7
Independent Claim 141 words
A method for enhancing software security, comprising the steps of: providing a first computer; providing an application writer's private key; providing an application writer's license including an application writer's public key and a platform builder's digital signature; providing software; providing said application writer's private key, said application writer's license and said software to a compiler executed by said first computer, said compiler compiling said software into binary code and computing a first message digest for said binary code; said first computer further encrypting said first message digest using said application writer's private key, said encrypted first message digest comprising an application writer's digital signature; said first computer generating a software passport comprising said application writer's digital signature, said application writer's license and said binary code; providing an element for performing the step of distributing said software passport to a second computer.
Claim 8
Dependent Claim 52 words
The method as defined by Claim 7 further including the steps of: said second computer receiving said software passport; said second computer determining if said software passport includes said application writer's license, such that if said software passport does not include said application writer's license said second computer rejects said software passport.
Claim 9
Dependent Claim 21 words
The method as defined by Claim 8 further including the step of extracting said application writer's license from said software passport.
Claim 10
Dependent Claim 44 words
The method as defined by Claim 9 further including the step of determining if said application writer's license includes said platform builder's digital signature, such that if said platform builder's digital signature is not included said software passport is rejected by said second computer.
Claim 11
Dependent Claim 29 words
The method as defined by Claim 10 further including the step of decrypting said platform builder's digital signature using a platform builder's public key provided to said second computer.
Claim 12
Dependent Claim 56 words
The method as defined by Claim 11 further including the step of said second computer computing a second message digest of said software passport and comparing said first message digest to said second message digest, such that if said first and second message digest are not equal said software passport is rejected by said second computer.
Claim 13
Dependent Claim 35 words
The method as defined by Claim 12 further including the step that if said first and second message digests are equal said second computer extracts said application writer's public key from said application writer's license.
Claim 14
Dependent Claim 23 words
The method as defined by Claim 13 further including the step of said second computer extracting said binary code from said software passport.
Claim 15
Dependent Claim 25 words
The method as defined by Claim 14 further including the step of said second computer extracting said application writer's digital signature from said software passport.
Claim 16
Dependent Claim 23 words
The method as defined by Claim 15 further including the step of said second computer computing a message digest of said binary code.
Claim 17
Dependent Claim 27 words
The method as defined by Claim 16 further including the step of said second computer decrypting said application writer's digital signature using said application writer's public key.
Claim 18
Dependent Claim 55 words
The method as defined by Claim 17 further including the step of said second computer comparing said message digest of said binary code with said decrypted application writer's digital signature, such that if said message digest of said binary code and said decrypted application writer's signature are equal, said second computer executes said binary code.
Claim 19
Independent Claim 96 words
A system for enhancing software security, comprising: a first computer; a private key; an application writer's license; software; a compiler executed by said first computer, said compiler compiling said software into binary code and computing a message digest for said binary code; said first computer further encrypting said message digest using said private key, said encrypted message digest comprising an application writer's digital signature; said first computer generating a software passport comprising said application writer's digital signature and said application writer's license; an element for distributing said software passport and said binary code to a user.
Claim 20
Dependent Claim 29 words
The system as defined by Claim 19 wherein said user receives said software passport and executes said binary code on a second computer in conjunction with an operating system.
Claim 21
Dependent Claim 19 words
The system as defined by Claim 20 wherein said license includes a name of an author of said software.
Claim 22
Dependent Claim 18 words
The system as defined by Claim 21 wherein said license further includes a public key for said author.
Claim 23
Independent Claim 114 words
A system for enhancing software security, comprising: a first computer; an application writer's private key; an application writer's license including an application writer's public key and a platform builder's digital signature; software; a compiler executed by said first computer, said compiler compiling said software into binary code and computing a first message digest for said binary code; said compiler further encrypting said first message digest using said application writer's private key, said encrypted first message digest comprising an application writer's digital signature; said first computer generating a software passport comprising said application writer's digital signature, said application writer's license and said binary code; an element for distributing said software passport to a second computer.
Claim 24
Dependent Claim 46 words
The system as defined by Claim 23 wherein said second computer receives said software passport and determines if said software passport includes said application writer's license, such that if said software passport does not include said application writer's license said second computer rejects said software passport.
Claim 25
Dependent Claim 20 words
The system as defined by Claim 24 wherein said second computer extracts said application writer's license from said software passport.
Claim 26
Dependent Claim 43 words
The system as defined by Claim 25 wherein said second computer determines if said application writer's license includes said platform builder's digital signature, such that if said platform builder's digital signature is not included said software passport is rejected by said second computer.
Claim 27
Dependent Claim 28 words
The system as defined by Claim 26 wherein said second computer decrypts said platform builder's digital signature using a platform builder's public key provided to said second computer.
Claim 28
Dependent Claim 52 words
The system as defined by Claim 27 wherein said second computer computes a second message digest of said software passport and compares said first message digest to said second message digest, such that if said first and second message digest are not equal said software passport is rejected by said second computer.
Claim 29
Dependent Claim 31 words
The system as defined by Claim 28 wherein if said first and second message digests are equal said second computer extracts said application writer's public key from said application writer's license.
Claim 30
Dependent Claim 19 words
The system as defined by Claim 29 wherein said second computer extracts said binary code from said software passport.
Claim 31
Dependent Claim 21 words
The system as defined by Claim 30 wherein said second computer extracts said application writer's digital signature from said software passport.
Claim 32
Dependent Claim 19 words
The system as defined by Claim 31 wherein said second computer computes a message digest of said binary code.
Claim 33
Dependent Claim 23 words
The system as defined by Claim 32 wherein said second computer decrypts said application writer's digital signature using said application writer's public key.
Claim 34
Dependent Claim 51 words
The system as defined by Claim 33 wherein said second computer compares said message digest of said binary code with said decrypted application writer's digital signature, such that if said message digest of said binary code and said decrypted application writer's signature are equal, said second computer executes said binary code.

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