IP Library Granted Patent US 8,543,816
Granted Patent B2
US 8,543,816 · App. 13/210,245 · Granted Sep 24, 2013

Secure, auditable file exchange system and method

Inventor: Thomas Mercer (Seattle, WA)
Assignee: File Drop Vault LLC
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 8,543,816
App. No.
13/210,245
Granted
Sep 24, 2013
Kind
B2
Abstract

Secure and auditable file exchange between a professional and a client, patient, colleague, or other associate of the professional may be achieved via a file exchange service that automatically verifies the professional's professional status and identity and provides applications and/or tools to accept files for transfer to the verified professional. The files are stored in encrypted form, along with cryptographic integrity codes. After the files have been transferred to the professional, the cryptographic integrity codes may be used to verify that the professional received a correct copy of the file that was originally provided.

Claims (112)

1. A computer-implemented method for providing a secure file-exchange service, the method comprising:

obtaining, by a file-exchange server from a remote member device, new member information including identity information and a professional credential associated with a new member;

verifying, by said file-exchange server according to said identity information, that said new member has a personal identity as indicated by said identity information, and that said new member has a professional designation as indicated by said professional credential;

when said new member's personal identity and professional designation have been verified, designating said new member as a verified-professional member and obtaining, by said file-exchange server, a member public key of a public/private key pair for said verified-professional member;

generating, by said file-exchange server, a member widget indicating said verified-professional member's status as a verified professional and being configured to accept files submitted for secure transfer to said verified-professional member;

providing, by said file-exchange server, said member widget for publication by said new member;

receiving an indication, by said file-exchange server via said published member widget, to provide a file from a remote sender device to said verified-professional member;

obtaining, by said file-exchange server from said remote sender device via said published member widget, metadata associated with said file;

obtaining, by said file-exchange server, a reference cryptographic integrity code derived from said file;

obtaining, by said file-exchange server from said remote sender device via said published member widget, an encrypted copy of said file, said encrypted copy being encrypted with said member public key;

storing said metadata, said reference cryptographic integrity code, and said encrypted copy in a non-transient data store;

receiving, from said remote member device, a request for said file; and in response to said request:

retrieving said encrypted copy from said data store;

sending said encrypted copy to said remote member device for decryption, according to said private key, into an unconfirmed unencrypted file;

receiving, from said remote member device, an unconfirmed cryptographic integrity code derived from said unconfirmed unencrypted file;

determining whether said unconfirmed cryptographic integrity code matches said reference cryptographic integrity code; and

when said unconfirmed cryptographic integrity code is determined to match said reference cryptographic integrity code, confirming to said remote member device that said unconfirmed unencrypted file is a correct copy of said file.

2. The method of claim 1 , further comprising, prior to generating said member widget, providing a client-side secure file-transfer application to said remote member device.

3. The method of claim 2 , wherein said new-member information is obtained via said client-side secure file-transfer application.

4. The method of claim 1 , wherein generating said member widget comprises customizing a widget template according to said new-member information.

5. The method of claim 1 , further comprising, prior to generating said member widget, providing a client-side secure file-transfer application to said remote member device, said client-side secure file-transfer application being provided in a restricted non-member mode.

6. The method of claim 5 , wherein designating said new member as said verified-professional member comprises updating said client-side secure file-transfer application to a member mode.

7. The method of claim 1 , further comprising:

providing a client-side secure file-transfer application to said remote sender device, said client-side secure file-transfer application being provided in a restricted mode; and

receiving, from said remote sender device via said client-side secure file-transfer application, non-member credentials associated with a non-member with whom said remote sender device is associated.

8. The method of claim 7 , further comprising:

receiving, from said remote member device, a request to sponsor said non-member as having a professional relationship with said verified-professional member; and

in response to receiving said request:

providing said non-member credentials to said remote member device; and

updating said client-side secure file-transfer application to a sponsored mode.

9. The method of claim 8 , wherein updating said client-side secure file-transfer application to said sponsored mode enables said verified-professional member to securely and auditably transfer files to said non-member via said updated client-side secure file-transfer application.

10. The method of claim 1 , wherein providing said member widget comprises sending program code corresponding to said member widget to said verified-professional member.

11. The method of claim 1 , wherein providing said member widget comprises sending a resource identifier corresponding to said member widget to said verified-professional member.

12. The method of claim 1 , further comprising, prior to receiving said request for said file:

receiving, from said remote member device, a pending-files query; and

in response to receiving said query, retrieving said metadata associated with said file from said data store and providing said metadata for retrieval by said remote member device.

13. The method of claim 1 , further comprising,

when said unconfirmed cryptographic integrity code is determined to match said reference cryptographic integrity code:

storing in said data store an indication that said remote member device received said correct copy of said file.

14. The method of claim 1 , further comprising permanently deleting said encrypted copy from said data store when said unconfirmed cryptographic integrity code is determined to match said reference cryptographic integrity code.

15. The method of claim 13 , wherein said indication includes file transfer details comprising:

said unconfirmed cryptographic integrity code received from said remote member device; and

a timestamp denoting a delivery date and/or delivery time at which said unconfirmed cryptographic integrity code was determined to match said reference cryptographic integrity code.

16. The method of claim 15 , further comprising:

receiving, from said remote sender device, a confirmation request to confirm correct receipt of said file by said remote member device; and

in response to receiving said confirmation request:

retrieving from said data store said indication that said remote member device received said correct copy of said file; and

providing said file transfer details to said remote sender device to confirm that said remote member device received said correct copy of said file as of said delivery date and/or delivery time.

17. A non-transient computer-readable medium having stored thereon instructions that, when executed by a processor, configure the processor to:

obtain, from a remote member device, new-member information including identity information and a professional credential associated with a new member;

verify, according to said identity information, that said new member has a personal identity as indicated by said identity information, and that said new member has a professional designation as indicated by said professional credential;

when said new member's personal identity and professional designation have been verified, designate said new member as a verified-professional member and obtaining a member public key of a public/private key pair for said verified-professional member;

generate a member widget indicating said verified-professional member's status as a verified professional and being configured to accept files submitted for secure transfer to said verified-professional member;

provide said member widget for publication by said new member;

receive an indication, via said published member widget, to provide a file from a remote sender device to said verified-professional member;

obtain, from said remote sender device via said published member widget, metadata associated with said file;

obtain a reference cryptographic integrity code derived from said file;

obtain, from said remote sender device via said published member widget, an encrypted copy of said file, said encrypted copy being encrypted with said member public key;

store said metadata, said reference cryptographic integrity code, and said encrypted copy in a non-transient data store;

receive, from said remote member device, a request for said file; and

in response to said request:

retrieve said encrypted copy from said data store;

send said encrypted copy to said remote member device for decryption, according to said private key, into an unconfirmed unencrypted file;

receive, from said remote member device, an unconfirmed cryptographic integrity code derived from said unconfirmed unencrypted file;

determine whether said unconfirmed cryptographic integrity code matches said reference cryptographic integrity code; and

when said unconfirmed cryptographic integrity code is determined to match said reference cryptographic integrity code, confirm to said remote member device that said unconfirmed unencrypted file is a correct copy of said file.

18. The computer-readable medium of claim 17 , have stored thereon further instructions that further configure the processor to, prior to generating said member widget, providing a client-side secure file-transfer application to said remote member device.

19. The computer-readable medium of claim 17 , have stored thereon further instructions that further configure the processor to:

provide a client-side secure file-transfer application to said remote sender device, said client-side secure file-transfer application being provided in a restricted mode; and

receive, from said remote sender device via said client-side secure file-transfer application, non-member credentials associated with a non-member with whom said remote sender device is associated.

20. The computer-readable medium of claim 17 , have stored thereon further instructions that further configure the processor to:

receive, from said remote member device, a request to sponsor said non-member as having a professional relationship with said verified-professional member; and

in response to receiving said request:

provide said non-member credentials to said remote member device; and

update said client-side secure file-transfer application to a sponsored mode.

21. The computer-readable medium of claim 17 , have stored thereon further instructions that further configure the processor to, prior to receiving said request for said file:

receive, from said remote member device, a pending-files query; and

in response to receiving said query, retrieve said metadata associated with said file from said data store and providing said metadata for retrieval by said remote member device.

22. The computer-readable medium of claim 17 , have stored thereon further instructions that further configure the processor to permanently deleting said encrypted copy from said data store when said unconfirmed cryptographic integrity code is determined to match said reference cryptographic integrity code.

23. A computing apparatus for secure file exchange, the apparatus comprising:

a processor; and

a memory storing instructions that, when executed by the processor, configure the apparatus to:

obtain, from a remote member device, new-member information including identity information and a professional credential associated with a new member;

verify, according to said identity information, that said new member has a personal identity as indicated by said identity information, and that said new member has a professional designation as indicated by said professional credential;

when said new member's personal identity and professional designation have been verified, designate said new member as a verified-professional member and obtaining a member public key of a public/private key pair for said verified-professional member;

generate a member widget indicating said verified-professional member's status as a verified professional and being configured to accept files submitted for secure transfer to said verified-professional member;

provide said member widget for publication by said new member;

receive an indication, via said published member widget, to provide a file from a remote sender device to said verified-professional member;

obtain, from said remote sender device via said published member widget, metadata associated with said file;

obtain a reference cryptographic integrity code derived from said file;

obtain, from said remote sender device via said published member widget, an encrypted copy of said file, said encrypted copy being encrypted with said member public key; and

store said metadata, said reference cryptographic integrity code, and said encrypted copy in a non-transient data store;

receive, from said remote member device, a request for said file; and

in response to said request:

retrieve said encrypted copy from said data store;

send said encrypted copy to said remote member device for decryption, according to said private key, into an unconfirmed unencrypted file;

receive, from said remote member device, an unconfirmed cryptographic integrity code derived from said unconfirmed unencrypted file;

determine whether said unconfirmed cryptographic integrity code matches said reference cryptographic integrity code; and

when said unconfirmed cryptographic integrity code is determined to match said reference cryptographic integrity code, confirm to said remote member device that said unconfirmed unencrypted file is a correct copy of said file.

24. The apparatus of claim 23 , wherein the memory stores further instructions that further configure the apparatus to, prior to generating said member widget, provide a client-side secure file-transfer application to said remote member device.

25. The apparatus of claim 23 , wherein the memory stores further instructions that further configure the apparatus to:

provide a client-side secure file-transfer application to said remote sender device, said client-side secure file-transfer application being provided in a restricted mode; and

receive, from said remote sender device via said client-side secure file-transfer application, non-member credentials associated with a non-member with whom said remote sender device is associated.

26. The apparatus of claim 23 , wherein the memory stores further instructions that further configure the apparatus to:

receive, from said remote member device, a request to sponsor said non-member as having a professional relationship with said verified-professional member; and

in response to receiving said request:

provide said non-member credentials to said remote member device; and

update said client-side secure file-transfer application to a sponsored mode.

27. The apparatus of claim 23 , wherein the memory stores further instructions that further configure the apparatus to, prior to receiving said request for said file:

receive, from said remote member device, a pending-files query; and

in response to receiving said query, retrieve said metadata associated with said file from said data store and providing said metadata for retrieval by said remote member device.

28. The apparatus of claim 23 , wherein the memory stores further instructions that further configure the apparatus to permanently delete said encrypted copy from said data store when said unconfirmed cryptographic integrity code is determined to match said reference cryptographic integrity code.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 16, 2011
From: MERCER, THOMAS
To: FILE DROP VAULT, LCC
Reel/Frame 026758/0474 →
Continuity (2)
Provisional Application 61374784 · Aug 18, 2010
Related Publication 20120047365A1 · Feb 23, 2012