Patent ID: 9582678
Date: 2017-02-28
CPC Classifications: G06F,H04L

Claim:
1. A computer implemented method for secure storing of a data file in a server computer via a computer communication network, comprising the steps of: providing a computer device of a user with code for: where the code is executed by a web browser on the computer device; receiving the encrypted data file, the encrypted file-specific symmetric key, the encrypted private key of the user and the public key of the user from the computer device; storing the encrypted data file and the encrypted file-specific symmetric key in a file management system; storing the public key of the user and the encrypted private key of the user in a user management system; providing the computer device of the user with code for: sending the password to the non-registered user; providing a hash of the password of the non-registered user by means of a hash function; generating a file-specific symmetric key specific for the data file; encrypting the file-specific symmetric key by means of the password, where the code is executed by the web browser on the computer device; receiving the indication of which data file to share, the e-mail address, the hash of the password and the encrypted file-specific symmetric key; sending an e-mail to the e-mail address of the non-registered user containing a link to a page on the server; where, when the nonregistered user is opening the link, the server is providing the non-registered user with code for: asking the non-registered user for the e-mail address and the password; providing a hash of the password by means of the hash function, where the code is executed by the web browser on the computer device of the non-registered user; receiving the e-mail address and the hash of the password from the non-registered user; generating a unique session-ID; encrypting the session-ID by means of the hash of the password of the non-registered user; sending the encrypted session-ID to the computer device of the non-registered user; providing the non-registered user with code for: where the code is executed by the web browser on the computer device; receiving the session-ID from the computer device of the non-registered user; comparing the received session-ID with the generated session-ID; sending the encrypted file-specific symmetric key and the encrypted data file to the computer device of the non-registered user if the received session-ID is identical to the generated session-ID; providing the non-registered user with code for: decrypting the encrypted data file by means of the decrypted file-specific symmetric key, where the code is executed by the web browser on the computer device.