← Back to Patent Explorer
US5825890A Expired / Lapsed US ⏱️ 0.0 years remaining

Secure socket layer application program apparatus and method

Assignee: Meta Platforms Inc
•
Filing: 1997-07-01
•
Granted: 1998-10-20
•
Expires: 2017-07-01
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A computer program product comprising: a computer useable medium having computer readable program code means embodied therein for encrypting and decrypting information transferred over a network between a client application program running in a client computer and a server application program running in a server computer, the computer readable program code means in the computer program product comprising: computer readable program code means for providing a socket application program interface to an application layer program; computer readable program code means for providing encrypted information to transport protocol layer services; computer readable program code means for encrypting information received from an application layer program; and computer readable program code means for decrypting information received from transport protocol layer services.

Inventors

  • 👤 Taher Elgamal
  • 👤 Kipp E.B. Hickman

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-29 15:32
CPC Classifications
H; H04; H04L; H04L63/00; H04L63/04; H04L63/0428; H04L63/08; H04L63/0823; H04L63/16; H04L63/166; H04L67/00; H04L67/01; H04L9/00; H04L9/08; H04L9/0816; H04L9/0838; H04L9/0841; H04L9/40; G; G06; G06F; G06F2211/00; G06F2211/007; G06F2211/008; H04L69/00; H04L69/30; H04L69/32; H04L69/322; H04L69/326

Claims Analysis

Total Claims: 30
Claim 1
Independent Claim 51 words
A socket application interface computer program product that interfaces application program code executing in an application layer to transport protocol layer services code, comprising: application program interface code that encrypts information received from the application program code; and means for providing the encrypted information to the transport protocol layer services code.
Claim 2
Dependent Claim 51 words
A socket application interface computer program product that interfaces application program code executing in an application layer to transport protocol layer services code, comprising: application program interface code that encrypts information received from the application program code; and means for providing the encrypted information to the transport protocol layer services code.
Claim 3
Dependent Claim 51 words
A socket application interface computer program product that interfaces application program code executing in an application layer to transport protocol layer services code, comprising: means for decrypting encrypted information received from the transport protocol layer services code; application program interface code that provides the decrypted information to the application layer program.
Claim 4
Dependent Claim 51 words
A socket application interface computer program product that interfaces application program code executing in an application layer to transport protocol layer services code, comprising: means for decrypting encrypted information received from the transport protocol layer services code; application program interface code that provides the decrypted information to the application layer program.
Claim 5
Dependent Claim 123 words
A client security software application for use by a client application executing on a client computer, for setting up a secure socket connection for secure data transfer between the client computer and a server computer: means for causing the client computer to transmit to the server computer a client-hello message including challenge data and client cipher-specs data, the client cipher-specs data indicating an indication of at least one bulk cipher supported by the client computer; means for causing the client computer to receive from the server computer a server-hello message including connection -- identification data, server -- certificate data and server cipher-specs data, wherein the server cipher-specs data includes an indication of a bulk cipher to be used during the secure data transfer.
Claim 6
Dependent Claim 123 words
A client security software application for use by a client application executing on a client computer, for setting up a secure socket connection for secure data transfer between the client computer and a server computer: means for causing the client computer to transmit to the server computer a client-hello message including challenge data and client cipher-specs data, the client cipher-specs data indicating an indication of at least one bulk cipher supported by the client computer; means for causing the client computer to receive from the server computer a server-hello message including connection -- identification data, server -- certificate data and server cipher-specs data, wherein the server cipher-specs data includes an indication of a bulk cipher to be used during the secure data transfer.
Claim 7
Dependent Claim 22 words
A client security software application as in claim 3, and further comprising: means for providing a master key to the server computer.
Claim 8
Dependent Claim 26 words
A client security software application as in claim 4, wherein the master key provided to the server computer is encrypted using a key exchange encryption algorithm.
Claim 9
Dependent Claim 23 words
A client security software application as in claim 5, wherein the key exchange encryption algorithm is an RSA public key exchange encryption algorithm.
Claim 10
Dependent Claim 27 words
A client security software application as in claim 4, wherein the master key providing means includes means for generating the master key by randomly generating a number.
Claim 11
Dependent Claim 18 words
A client security software application as in claim 4, and further comprising: means for generating a session key.
Claim 12
Dependent Claim 26 words
A client security software application as in claim 8, wherein the session key generating means includes means for applying a hash function to the master key.
Claim 13
Dependent Claim 34 words
A client security software application as in claim 8, and further comprising: means for providing to the server computer a client-finished message indicating that the client security software application is satisfied with the server.
Claim 14
Dependent Claim 41 words
A client security software application as in claim 10, wherein the client-finished message includes an encoding of selected cases of handshake protocol messages previously sent to the client computer by the server during since the client computer sent the client-hello message.
Claim 15
Dependent Claim 21 words
A client security software application as in claim 11, wherein the encoding included in the client-finished message is a hash encoding.
Claim 16
Dependent Claim 28 words
A client security software as in claim 11, wherein the encoding included in the client-finished message is as application of the bulk cipher received from the server computer.
Claim 17
Dependent Claim 38 words
A client security software application as in claim 11, and further including: means for receiving from the server computer a server verification message indicating a verification from the server computer of the integrity of the secure socket connection.
Claim 18
Dependent Claim 43 words
A client security software application as in claim 10, and further comprising: means for receiving from the server computer a server-finished message indicating that the server computer is satisfied with the client and is ready to begin communication via the secure socket connection.
Claim 19
Dependent Claim 33 words
A client security software application as in claim 15, wherein: the server-finished message receiving means includes means for receiving from the server computer a new -- session -- identifier of the server-finished message.
Claim 20
Dependent Claim 53 words
A client security software application as in claim 16, and further comprising: means, responsive to the received server-finished message, for storing the received new-session-identifier in a memory along with corresponding security parameters including the encryption algorithm selection, for use in a future secure socket connection between the client computer and the server computer.
Claim 21
Dependent Claim 44 words
A client security software application as in claim 15, wherein the server-finished message includes an encryption of selected ones of handshake protocol messages sent by the server computer to the client computer since the server computer sent the server-hello message to the client computer.
Claim 22
Dependent Claim 21 words
A client security software application as in claim 18, wherein the encryption included in the server-finished message is a hash encryption.
Claim 23
Dependent Claim 34 words
A client security software application as in claim 19, wherein the hash encryption included in the server-finished message is performed using the agreed-upon bulk cipher and the session key generated by the server computer.
Claim 24
Dependent Claim 32 words
A client security software application as in claim 20, wherein the server-finished message includes challenge data sent in the client-hello message, encrypted by the selected bulk cipher using the server write key.
Claim 25
Dependent Claim 44 words
A client security software application as in claim 21, and further comprising: means for decrypting the encrypted challenge data received from the server computer and for comparing the decrypted challenge data to the challenge data sent to the server computer in the client-hello message.
Claim 26
Dependent Claim 54 words
A client security software application as in claim 17, further including: interval timer means to measure whether a length of time that the new-session-identifiers and corresponding security parameters have been stored exceeds a predetermined interval; and means for deleting the stored new session -- identifier from the memory if the predetermined interval is exceeded.
Claim 27
Dependent Claim 45 words
A client security software application as in claim 23, and further including: means for resetting the interval timer means in response to a subsequent request by the client for a secure socket connection to the server computer session-identifier matching a new-session-identifier stored in the memory.
Claim 28
Dependent Claim 70 words
A client security software application as in claim 23, and further including: means for receiving a server-hello message from the server that includes a session -- identification -- hit indication; means responsive to the session -- identification -- hit indication, for using the security parameters that were previously stored in the cache and that correspond the session-identification sent by the client computer to the server computer in the client-hello message.
Claim 29
Dependent Claim 22 words
A client security software application as in claim 3, wherein the client-hello message and the server-hello message are sent in the clear.
Claim 30
Dependent Claim 68 words
A socket application interface computer program product as in claim 7, and further comprises: means for receiving a request, from a Winsock program, for a socket connection to a server computer; means responsive to the request receiving means, for establishing the socket connection via an operating system protocol stack; means for receiving an indication that socket connection has been successfully established and for so notifying the Winsock program.

References Cited (Backward Citations)

US5553239A Cited
US5550984A Cited
US5657390A Cited
US5671279A Cited
US5673322A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2001-10-19 2002-04-20 2002-10-20 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2005-10-19 2006-04-20 2006-10-20 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2009-10-19 2010-04-20 2010-10-20 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag