Register a free account to unlock additional features at BleepingComputer.com
Welcome to BleepingComputer, a free community where people like yourself come together to discuss and learn how to use their computers. Using the site is easy and fun. As a guest, you can browse and view the various discussions in the forums, but can not create a new topic or reply to an existing one unless you are logged in. Other benefits of registering an account are subscribing to topics and forums, creating a blog, and having no ads shown anywhere on the site.


Click here to Register a free account now! or read our Welcome Guide to learn how to use this site.

Generic User Avatar

GPG Cryptographic signatures, proving only "I" could have sent a mesage


  • Please log in to reply
6 replies to this topic

#1 EncryptiAdvicePlease

EncryptiAdvicePlease

  •  Avatar image
  • Members
  • 15 posts
  • OFFLINE
  •  
  • Local time:02:17 PM

Posted 19 October 2024 - 07:05 PM

Ok, so I have Linux and GPG and want to be able to use signatures to prove I am me (that is to say prove a message was written by the one person in the world who knows some totally secret password in their own head only). I want to do this without having to learn all the encryption infrastructure around GPG, I've used it symmetrically before but I know that this kind of "sign a message to prove it was sent by the one person who knows the right password" requires something asymmetric. I don't want to encrypt the message, I want it readable as plaintext, I just want a receiver ( whom I am initially in secure communication (via an alternate channel) with for the initial sending of the first "signed" message ) to be able to verify that later messages sent over less secure channels are indeed from me as they'll match the signature I used when first talking to him.

As I said, Im a real beginner with GPG, but a long term Linux user and comfortable enough entering terminal every so often but sticking to the GUI for most tasks.

I know gpg is command line and am not afraid of that, Ive been using two simple GPG commands:

gpg --output file.zip --decrypt file.zip.gpg

gpg -c file.zip

to do symmetric crypto, for quite a few years, like for emailing an attached file to yourself, or emailing a file to someone else with whom youve previously shared an agreed symmetric crypto key in a face to face meeting.

But Im now looking to use the asymmetric features of GPGs more advanced crypto methods in a more sophisticated way.

Ths isnt about encryption, the exact scenario here doesnt involve that, this is about authentication. I want to be able to generate very specific messages, on rare occasions that can prove i and me.

Which is to say I want to do the equivalent of presharing a password with someone, and they would then know that any communication they were to later receive which had this password was indeed me, whatever new or anonymised channel it came from. Like if I lost my email address and had to set up a new one, within the first email from the new one I could establish that, as far as the recipient is concerned, the email really is from me and not from an imposter. Or like being able to make forum posts from anonymised accounts, but having the special password included in them all in such a way that one day I could come along and say, those posts, anonymous at the time of posting, were all mine, because see here Im the only one able to sign things with the same password.

Now in the first circumstances a simple quoted password might in theory work, but only once, or maybe not even that long if the first email from a new address got intercepted, blocked and an imposter sent one of his own from another address now that he knew the password. In the second scenario, the moment you quote the password in the first of a series of posts, all from different accounts on different forums maybe, then everyone can learn it and anyone could impersonate you.

So I want to use asymmetric crypto, particularly the gpg tool as it is already preinstalled in most Linux distros so that anyone I talk with can easily have it at hand too, to sign myself wirh a password. I can pre-share information initially, but the main point is to be able to tell someone that, if you receive a message which can $(pass certain gpg based test with the right result) youll know it came from me. Its like having the opposite of normal asymmetric crypto, a publically shared key that anyone can use to decrypt the signature and a private key that only I can encrypt with.

I want this to be independent of actual encryption, I dont want to HAVE to encrypt the messages I do this with, I want to be able to sent authenticated mesages so people can authenticate them properly, but if my recipient hasnt the time right now to properly authenticate a mesage Id like them to still be able to read the contents.

I couldnt find a guide online when searching for this concept, but was probably using the wrong keywords. can anyone point me to an EASY tutorial (command line familiar but not a gpg expert and very sketchy on what various ggpg specific and crypto specific terms all mean in the formal sense, text and image (not video) tutorials preferred) about how to use gpg in this application, for making a uniquely quotable password by which I can prove that a communication I send, to a recipient I already know, is indeed me.

Thank you, your help is most greatly appreciated

Edited by EncryptiAdvicePlease, 19 October 2024 - 07:07 PM.


BC AdBot (Login to Remove)

 


#2 cryptodan

cryptodan

    Bleepin Madman


  •  Avatar image
  • Members
  • 36,797 posts
  • ONLINE
  •  
  • Gender:Male
  • Location:USA
  • Local time:01:17 PM

Posted 19 October 2024 - 08:10 PM

It only works with those with gpg themselves without the ability to verify or the knowledge to so you can't. It would require gpg to be a pki system where everyone is a member.


Edited by hamluis, 20 October 2024 - 04:30 AM.
Fixed typo - Hamluis.

US Navy Veteran from 2002 to 2006
Masters in Computer and Digital Forensics Expert - Stevenson University Alumni 2015
Arch Desktop - https://termbin.com/1h62
Arch Laptop - hhttps://www.termbin.com/98dd
Ubuntu Server - https://termbin.com/ng9t

#3 EncryptiAdvicePlease

EncryptiAdvicePlease
  • Topic Starter

  •  Avatar image
  • Members
  • 15 posts
  • OFFLINE
  •  
  • Local time:02:17 PM

Posted 19 October 2024 - 08:34 PM

You mean the person wanting to verify my message came from me must learn gpg, that much is ok. Or do you mean we have to jointly set up a whole infrastructure so we can all put passwords on everything even where it isn't needed? If not GPG, what tool do people use to sign messages so they can prove it must have been them who sent the message? Thank you

#4 cryptodan

cryptodan

    Bleepin Madman


  •  Avatar image
  • Members
  • 36,797 posts
  • ONLINE
  •  
  • Gender:Male
  • Location:USA
  • Local time:01:17 PM

Posted 19 October 2024 - 08:36 PM

The person on both ends would need to be using gpg.
US Navy Veteran from 2002 to 2006
Masters in Computer and Digital Forensics Expert - Stevenson University Alumni 2015
Arch Desktop - https://termbin.com/1h62
Arch Laptop - hhttps://www.termbin.com/98dd
Ubuntu Server - https://termbin.com/ng9t

#5 EncryptiAdvicePlease

EncryptiAdvicePlease
  • Topic Starter

  •  Avatar image
  • Members
  • 15 posts
  • OFFLINE
  •  
  • Local time:02:17 PM

Posted 19 October 2024 - 08:53 PM

Ok, is there a good tutorial on gpg's use, at both ends, in this context then? Particularly with the focus on verifying rather than encrypting? I have seen tutorials, but they go off on tangents about things like setting up revocation keys and web-of-trust models so people only one person in a netwrok knows can be incorpoated in to larger networks. The tutorials for gpg often seem to be "here's how to do eveeything it can do, at once" rather than tutorials focused on its aplication to simplified use cases.

#6 cryptodan

cryptodan

    Bleepin Madman


  •  Avatar image
  • Members
  • 36,797 posts
  • ONLINE
  •  
  • Gender:Male
  • Location:USA
  • Local time:01:17 PM

Posted 19 October 2024 - 09:10 PM

https://gnupg.org/

It's pretty pointless not many people use it.
US Navy Veteran from 2002 to 2006
Masters in Computer and Digital Forensics Expert - Stevenson University Alumni 2015
Arch Desktop - https://termbin.com/1h62
Arch Laptop - hhttps://www.termbin.com/98dd
Ubuntu Server - https://termbin.com/ng9t

#7 Dominique1

Dominique1

    Bleepin Funny


  •  Avatar image
  • Members
  • 1,221 posts
  • OFFLINE
  •  
  • Gender:Not Telling
  • Local time:08:17 AM

Posted 20 October 2024 - 03:16 PM

Principle to have you authenticated, create a small message encrypted using your private key.  It could be as simple as just containing the current date and time.  This binary file/signature could be UUencoded for example.  Have it decoded on the other end using your public key.  Also inform the other end that the signature will never be the same, i.e. the date&time will change and should match the email reception.  In parallel in the same message, you can join a plain text message.

 

Now, the question, what are you going to do with this?  Good or bad stuff?






1 user(s) are reading this topic

0 members, 1 guests, 0 anonymous users