I'm not sure what the precise words I am looking for are so I apologize if there is a better way to phrase this. What I am thinking of is ways to transfer an identity in a way that it is tamper resistant and can be used for authentication.

Normally to know who someone is people use driver licenses or a person's face. In cryptographic terms this would be similar to your public key. You can use this to sign and encrypt messages validating you are who you say you are just like when someone speaks and you here it come from the person's mouth. You know who they are by their face.

If you send a public key over a unsecured network it has the chance to be modified in such cases as using Diffie-Hellman key exchange. Your communications are secure but not authenticated.

One solution to this is such things used by PGP a network of trust where people would sign your key after seeing your photo id or knowing you by being your friend etc. They vouch for your identity by seeing those things that prove who you are.

Would it be possible to digitize this by transferring video of a person with a QR code representation of your key? Such as a video chat the other person can see your face and your public key. The attacks on this would be man in the middle but even then you would either have to modify the video stream or create a fake of the video with your own QR code.

Is there any other holes in this (obviously if you don't have a webcam it won't work) that I am not seeing? Is there a way to mitigate modifying the QR code in a better way (obviously this would be a very specific attack but unless you can somehow make it time sensitive or somehow make it so it can't be changed*)?


Some other thoughts, in stead of a QR code (which people may not have access to a printer and you don't want to just transmit the screen or a picture of it digitally as that could easily be replaced) maybe a hash of the public key, though it does have the down side of being 160 characters for sha1 so it is long.

PGP uses a web of trust this could also happen you already know many people who most likely know people you know. You could confirm that in fact it is them (to a certain degree) by other people you both know.

While video could be altered (again highly unlikely but I don't think it would be hard, tedious yes) voice would have another issue to be faked (though this being the start of the connection may not be of benefit as they could queue up it, though it would be odd as video messaging wouldn't be synced, and somehow use audio to piece it together).

All these things take time to alter and attack, sense it is streaming it would seem resistant in that a video message naturally needs to be in sync and not delayed, if there is a long delay that could potentially be an issue. However (though I am not sure how feasible this is), computer automation could speed up tampering**.

Another though was some kind of shared secret but I think this would be weak because either it is rather public (where did we sit at the xyz game last week) or if secret enough why not just give each other your QR code...

* However any method of signing the video wouldn't work because you would just change the key as well... maybe encrypting it with the other person's public key but that still would be weak against a man in the middle attack wouldn't it?

** Computer automation is obviously rather unlikely but it could be possible for a QR code as it is meant to be computer readable, less likely for a string written on paper or voice information (as far as I am aware of).


I wouldn't consider voice or video to remain a secure means of identification for much longer. Advances in real-time video stream editing are near enough to reality that I wouldn't build a new security system on it.

In the olden times in millennia past, you could have the computers on either end display a short MAC for both parties to alternate reading aloud one letter at a time to each other (quickly), and the lack of delay plus the sound of your partner's voice was a pretty good assurance that you weren't being MITM'ed. But today, the technology available to a sophisticated attacker could render even that approach untrustworthy.

If you are really that paranoid, you need to physically and privately exchange some other kind of okay/duress signal, such as a specific word or phrase; right leg crossed over left; carnation or rose on the table facing right or left; cigarette or other object in the left or right hand; book face down or face up, or any of a thousand other cheesy spy tradecraft signals. But sometimes the old standbys can't be beat.

  • $\begingroup$ If there is really an ability to fake video and voice data for arbitrary data then that would pose much worse issues then intercepting communications. $\endgroup$ – Zimm3r Oct 8 '13 at 17:39

Modifying the video stream or creating a fake of the video with your own QR code is not hard, so your specific proposal is not secure. Verifying the identity of someone who you have never met, remotely, when they are not physically present is... well, it's challenging.

  • $\begingroup$ Yes I did add that sense it is inherit in a QR code being machine readable! What about voice transmission or writing on a piece of paper? As for modifying the video it also has to hold up to time constraints of video messaging though I don't think it would be secure to simply rely on noticing something is out of sync to be insecure (and it may be too late). $\endgroup$ – Zimm3r Oct 7 '13 at 20:42
  • 1
    $\begingroup$ Note didn't mean ! as mad or annoyed just glad in that both had the same thought $\endgroup$ – Zimm3r Oct 7 '13 at 20:50

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.