Open libcrack opened 9 years ago
OMG! My "Hello, sup, how r u" messages were compromised. CIA, NSA and evil hackers are able to read it. NOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO.....
Sorry, I couldn't resist.
Hi... You're wrong :) Cutegram uses a random key (and not guessable one) for messages. But yes. Currently It just used on the systems that has kwallet installed.
QString CutegramAuth::readEncryptKeyFromKWallet()
{
if(!init_kwallet())
return get_hostid();
static QByteArray data;
if(data.isEmpty())
data = cg_wallet->readEntry(WALLET_FOLDER, "EncryptKey");
if(data.isEmpty())
{
data = QUuid::createUuid().toString().toUtf8();
cg_wallet->writeEntry(WALLET_FOLDER, "EncryptKey", data);
}
return data;
}
Also auth file encrypts using a guessable key on the systems without kwallet. We're working to add keyring, kwallet5 and also another wallet systems support for the security on the next releases. But currently It's better than our old system (completely non-encrypted messages and auth file). Just please be patient until the next releases. We have limited contributors. Thank you very much...
"You're wrong :) Cutegram uses a random key (and not guessable one) for messages. But yes. Currently It just used on the systems that has kwallet installed."
Therefore I'm right, indeed, if you examine the ticket text body, no reference to kwallet is made. I can understand that it should not be confortable to read this ticket, but please, stick it to the reality: if kwallet is not in use, the key is not random and it is gueseable.
Looking forward to help you to implementing the gnome-keyring code.
Regards
@borjiviri, so about gnome-keyring, it would be great. @realbardia, what do you think?
I would say that it worth to take a look at this project https://github.com/frankosterfeld/qtkeychain
I think tht a good approach is just to store all messages (normal chats & secret chats) encrypted in a local database (sqlite). Which encryption should be implemented to store those data securely? None! They are already encrypted when traveling through the network! Just let's work with the messages but before they are decrypted by the client-tp-server authorization key or the end-to-end key in case of secret chats as can be read in https://core.telegram.org/api/end-to-end, https://core.telegram.org/mtproto#authorization-and-encryption and https://core.telegram.org/mtproto/description#authorization-key.
So what must be stored on the user's keychain (kwallet/gnome-keyring)?
Please also do a quick read of https://core.telegram.org/mtproto/security_guidelines just in case I missed something important.
Thank you for your information. It's good. Also I'll check QtKeyChain project to add keyring and ... support on the Cutegram...
@Sollex-21412 Yes. I agree with you. It's great to add this features in the future :)
Cutegram uses symmetric encryption keys for saving the user's messages in the storage. This is no good, but what is worse indeed is to use the a key which is easily guesable as It is heavily just based on the user's phone number. Also the "host_id" is used.
This is an EPIC fail, I wouldn't recomment to anyone to use this Telegram client, as I would counsider Telegram's 1st. Ok, lets do this:
Note: key creation SERPENT_PASSWORD(phone)**