This document will guide you through the process of using our online secured messaging tool.
About
It is a platform for sending secure messages that self-destruct immediately after being read. Unread messages are automatically deleted after 30 days. As such, this application is suitable for sending private information such as PINs, usernames, passwords, and other sensitive information over insecure channels.
Security
All notes are encrypted on the server, and decrypted when the recipient views the note. The note can only be viewed once, and the note is securely destroyed on the server by overwriting the note with random data before deletion. Private passwords can be used to encrypt the note, instead of using the default server password. Private passwords are never stored on disk. In addition to private passwords, duress keys can be generated which will immediately destroy the note without decrypting it, in case you are being forced to provide the private password that decrypts the note.
Self Destruction
Every note submitted to the server will eventually be destroyed. All unread notes are destroyed after 30 days. All notes that have been viewed are destroyed immediately after viewing, and the browser will be redirected away from the note after 3 minutes. When the note is destroyed, it is overwritten with random data. This application does not make any assumptions about the underlying filesystem. Better safe than sorry, we say.
Single View
The note can be viewed only once. If someone attempts to view the note after the initial viewing, the note has been destroyed, so the client is redirected to a standard 404 error.
AES-256 Encrypted with HMAC-SHA512
Before storing the note on disk, every note is compressed with ZLIB, then encrypted with 256-bit AES in CTR mode using HMAC-SHA512 encryption. The AES-256 and HMAC-SHA512 keys are never stored on disk and are part of the URL.
Private Passphrase
The application uses a per note random key that is stored in the URL and is part of the encryption and decryption of the notes. The application supports using a custom passphrase to encrypt and decrypt the note. This custom passphrase is created using a password-based key derivation function (PBKDF2). The private passphrase is not stored to disk in the application, but this does not prevent the system administrator from modifying the code to do so. Therefore, it is best that you host this application yourself, on your own server.
Hashcash Protected
To prevent spammers from abusing the service, note submission is protected by the client solving a proof-of-work puzzle by minting a valid Hashcash token. As such, JavaScript is required to post a note. Hashcash tokens are stored on the server to prevent double-spending of the same token. Unfortunately, minting Hashcash tokens does not work well with mobile browsers.
Anonymous Fingerprints
Part of Hashcash tokens is the ability to create a uniquely identifiable resource string. Typically, this is an email address. However, with this application, your browser fingerprint is used as the resource string. The browser fingerprint is a 32-bit MurmurHash number. By itself, it cannot identify who it belongs to. However, the system administrator could tie that fingerprint to an IP address and user agent string by looking in his web server logs.
How to use
- Browse to https://onetime.msg.quatchi.org
- Type in the details requested into the large text box
- Now secure your message by clicking "Generate One" for randomly generating a passphrase
- You are now ready to submit your message, click "Submit Note"
- Once the next screen is loaded copy the following URL and Passphrase and send them to us (support@aim4cloud.com):
- "Your private url"
- "Your passphrase"
- You must send us the above details or we wont be able to access your note, the system does not send any notification to ensure the security of your message.
- Browse to https://onetime.msg.quatchi.org