IP Library Granted Patent US 10,666,590
Granted Patent B2
US 10,666,590 · App. 14/139,805 · Granted May 26, 2020

Secure sent message identifier

Inventors: Jack Dubie (Menlo Park, CA); Michael Roeder (Oakland, CA); Steven Kabbes (Mountain View, CA)
Assignee: Dropbox, Inc.
H04L51/12H04L63/12H04L51/16
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,666,590
App. No.
14/139,805
Granted
May 26, 2020
Kind
B2
Abstract

A message management service allows a user to access and manage messages from various message services. The user can access the message management service using a message management client application executing on a client device and can draft messages using the message management client application and send the messages through the different message services. The message management service can add information to messages sent using the message management client application that can be used to identify and organize the messages. A secure sent-message identifier can be added to messages sent by the message management service to reliably indicate that the messages were sent by the message management service.

Claims (49)

1. A method, comprising:

receiving a request, at a server of a message management service, to send a message drafted in a client application executing on a client device, wherein the request includes a copy of the message;

Concatenating an item of message-specific information and a private key;

generating, by the server, a sent-message identifier for the copy of the message, wherein the sent-message identifier indicates that the message was sent using the message management service, and wherein the sent-message identifier includes a cryptographic hash value generated using the concatenated data corresponding to the message management service as input to a hash function that generates the hash value, wherein the item of message-specific information includes at least a portion of the copy of the message content;

adding, by the server, the sent-message identifier to the copy of the message;

sending, by the server, the copy of the message, including the sent-message identifier, to a message provider to be sent to one or more recipients;

generating, by the server, a thread identifier for the message;

adding the thread identifier to the message before sending the message to the message provider;

after the message has been sent by the message provider, retrieving the message, by the message management service, from the message provider;

analyzing the message to determine a thread identifier and the sent-message identifier;

generating a second sent-message identifier for the message, wherein the second sent-message identifier for the message includes a hash value generated using the item of message-specific information and the private key; and

determining whether the thread identifier is valid by comparing the sent-message identifier to the second sent-message identifier, wherein the thread identifier is valid if the sent-message identifier matches the second sent-message identifier.

2. The method of claim 1 , wherein the message is an email message.

3. The method of claim 1 , wherein the hash value is generated using a secure hash algorithm.

4. The method of claim 3 , wherein the item of message-specific information and the private key are concatenated and used as an input to the secure hash algorithm.

5. The method of claim 4 , wherein the item of message-specific information includes an account identifier.

6. A server system, comprising:

one or more processors; and

one or more memory devices including instructions stored thereon which, when executed, cause the one or more processors to execute operations including:

receiving a request, at a message management service, to send a message drafted in a client application executing on a client device, wherein the request includes a copy of the message;

concatenating an item of message-specific information and a private key;

generating a sent-message identifier for the copy of the message, wherein the sent-message identifier includes a hash value generated based on the concatenated data as input to a hash function that generates the hash value, wherein the item of message-specific information includes at least a portion of the copy of the message content;

adding the sent-message identifier to the copy of the message;

sending the copy of the message, including the sent-message identifier, to a message provider to be sent to one or more recipients;

generating a thread identifier for the message;

adding the thread identifier to the message before sending the message to the message provider;

after the message has been sent by the message provider, retrieving the message, by the message management service, from the message provider;

analyzing the message to determine a thread identifier and the sent-message identifier;

generating a second sent-message identifier for the message, wherein the second sent-message identifier for the message includes a hash value generated using the item of message-specific information and the private key; and

determining whether the thread identifier is valid by comparing the sent-message identifier to the second sent-message identifier, wherein the thread identifier is valid if the sent-message identifier matches the second sent-message identifier.

7. The server system of claim 6 , wherein the sent-message identifier is a secure identifier based on an item of message specific information and a private key of the message management service.

8. The server system of claim 7 , wherein the item of message-specific information and the private key are concatenated and used as an input to a secure hash algorithm to generate the sent-message identifier.

9. The server system of claim 8 , wherein the item of message-specific information includes an account identifier.

10. A non-transitory computer readable medium comprising one or more sequences of instructions, which, when executed by one or more processors, cause the one or more processors to perform operations, comprising:

receiving a request, at a server of a message management service, to send a message drafted in a client application executing on a client device, wherein the request includes a copy of the message;

concatenating an item of message-specific information and a private key;

generating, by the server, a sent-message identifier for the copy of the message, wherein the sent-message identifier indicates that the message was sent using the message management service, and wherein the sent-message identifier includes a cryptographic hash value generated using the concatenated data corresponding to the message management service as input to a hash function that generates the hash value, wherein the item of message-specific information includes at least a portion of the copy of the message content;

adding, by the server, the sent-message identifier to the copy of the message;

sending, by the server, the copy of the message, including the sent-message identifier, to a message provider to be sent to one or more recipients;

generating, by the server, a thread identifier for the message;

adding the thread identifier to the message before sending the message to the message provider;

after the message has been sent by the message provider, retrieving the message, by the message management service, from the message provider;

analyzing the message to determine a thread identifier and the sent-message identifier;

generating a second sent-message identifier for the message, wherein the second sent-message identifier for the message includes a hash value generated using the item of message-specific information and the private key; and

determining whether the thread identifier is valid by comparing the sent-message identifier to the second sent-message identifier, wherein the thread identifier is valid if the sent-message identifier matches the second sent-message identifier.

11. The non-transitory computer readable medium of claim 10 , wherein the message is an email message.

12. The non-transitory computer readable medium of claim 10 , wherein the hash value is generated using a secure hash algorithm.

13. The non-transitory computer readable medium of claim 12 , wherein the item of message-specific information and the private key are concatenated and used as an input to the secure hash algorithm.

14. The non-transitory computer readable medium of claim 13 , wherein the item of message-specific information includes an account identifier.

Assignments (8)
RELEASE OF SECURITY INTEREST Recorded Dec 13, 2024
From: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
To: DROPBOX, INC.
Reel/Frame 069635/0332 →
RELEASE OF SECURITY INTEREST Recorded Dec 12, 2024
From: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
To: DROPBOX, INC.
Reel/Frame 069613/0744 →
SECURITY INTEREST Recorded Dec 12, 2024
From: DROPBOX, INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 069604/0611 →
RELEASE OF SECURITY INTEREST Recorded Dec 11, 2024
From: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
To: DROPBOX, INC.
Reel/Frame 069600/0149 →
PATENT SECURITY AGREEMENT Recorded Mar 10, 2021
From: DROPBOX, INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 055670/0219 →
SECURITY INTEREST Recorded Apr 14, 2017
From: DROPBOX, INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 042254/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 25, 2014
From: DUBIE, JACK; ROEDER, MICHAEL; KABBES, STEVEN
To: DROPBOX, INC.
Reel/Frame 032523/0742 →
SECURITY INTEREST Recorded Mar 24, 2014
From: DROPBOX, INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 032510/0890 →
Continuity (2)
Provisional Application 61893844 · Oct 21, 2013
Related Publication 20150113077A1 · Apr 23, 2015