How do you scan the QR code when the majority of people use their phones
to read the email?
Matt
On 2021-12-11 3:16 p.m., Sebastian Nielsen via mailop wrote:
Hi.
Im new here, and have been a mail server operator for quite a bit of a
time.
I just got a new idea for a new internet standard – that builds upon
DKIM – that should be named as DKIM-QR.
And want to hear your toughts about the idea.
The idea is as follows:
An DKIM-compliant sender, can choose to include a QR-code in the
email, as a picture. How this QR-code is generated on the sender’s
side (either by unique ID that loads the whole QR from a database, or
by embedding the whole DKIM signature inside the src= of the image and
then have server to generate the QR, or simply attaching the QR code
to the email as a inline attachment) is up to the sender.
The QR code’s textual content should be “dkim://” followed by the
content of the “DKIM-Signature:” header field, in an URL_Safe format,
then followed by the content of the fields being signed in the same
order as it appears in the h= field.
Note here, that if full body is signed, the content of the QR code
signature, and the DKIM-Signature: field, will differ by the bh=, as
the email without QR-code embedded will be signed in the QR-signature,
and the header DKIM-Signature will have the email WITH the
QR-signature. This should be completely valid, otherwise a chicken&egg
problem would appear if the signature must be a signature of itself.
If the sender want to save on signing resources, he can use the l= tag
to exclude the to-be-appended QR from body validation, then the sender
can just copy the mail’s signature from the header and append the
generated QR to the email.
URL-safe then means ; must be replaced with &, and all base64 strings
should be converted to URL-safe format, where + is replaced by – and /
is replaced by _, and any padding is removed.
On the end, a &-separated list of all signed header fields should be
included after a ?.
The header DKIM-Signature:
v=1;a=rsa-sha256;d=filmstaden.se;s=apsis;c=relaxed/relaxed; q=dns/txt;
t=1639144767;h=content-type:mime-version:subject:date:message-id:to:from:feedback-id:reply-to:list-unsubscribe-post:list-unsubscribe;bh=2hkchgJnI3p6njCQxrjr8vXfERYte+YcbH+rnJbgtEs=;b=Ulh8/Hi1eYO4tp9TgSWVSsHvi2AE7bL48/lR+F5IcIwJufNbaGafOMjQvj7c8+w3mkWneNskNYHJ1WBr6T+cMaUPgmiUiRRviyl2BWhmPivcfZVA/B4xSOcRW2nMjOvWRldcrdkrz00g2XnwJwyyE02e8quaBjzODe4bTTUHWyNeap+kE9R0rAfTAcTvRYCOiqtUitIIU6a82W10C8rXR6Atx/wIl3mQAsP6sZpGckUtCfFPPdD1n6gCS6FDav7Ss7a2DQjzhkallSWaOfQ5IpKiYqcLf1kTPdtL4Gw/TYbKzOJDHCQ3BA8HBzFDXdhwBW03pkbuwzdz+T6/caylbg==
Would in QR-form become:
dkim://v=1&a=rsa-sha256&d=filmstaden.se&s=apsis&c=relaxed/relaxed&q=dns_txt&t=1639144767&h=content-type:mime-version:subject:date:message-id:to:from:feedback-id:reply-to:list-unsubscribe-post:list-unsubscribe&bh=2hkchgJnI3p6njCQxrjr8vXfERYte-YcbH-rnJbgtEs=&b=Ulh8_Hi1eYO4tp9TgSWVSsHvi2AE7bL48_lR-F5IcIwJufNbaGafOMjQvj7c8-w3mkWneNskNYHJ1WBr6T-cMaUPgmiUiRRviyl2BWhmPivcfZVA_B4xSOcRW2nMjOvWRldcrdkrz00g2XnwJwyyE02e8quaBjzODe4bTTUHWyNeap-kE9R0rAfTAcTvRYCOiqtUitIIU6a82W10C8rXR6Atx_wIl3mQAsP6sZpGckUtCfFPPdD1n6gCS6FDav7Ss7a2DQjzhkallSWaOfQ5IpKiYqcLf1kTPdtL4Gw_TYbKzOJDHCQ3BA8HBzFDXdhwBW03pkbuwzdz-T6_caylbg?multipart/alternative;
boundary="----A854E1CE55B241EFA7CBBDCF4B9DFCB1"&MIME-Version:
1.0&=?UTF-8?Q?K=C3=B6p_biljetter_idag_till_The_Matrix_Resurrections!?=&Fri,
10 Dec 2021 14:59:29
+0100&329fc538580440abb21e9f4858643...@filmstaden.se&"Sebastian
Nielsen" <sebast...@sebbe.eu>&"Filmstaden Medlem"
<medlem.no-re...@filmstaden.se>&********:*********************:*-1:apsis&medlem.no-re...@filmstaden.se&List-Unsubscribe=One-Click&<https://www.anpdm.com/oa-auto/********/**************************>,<mailto:del...@apsis.com?subject=UnReg:*******::********************************::*>
And now to why this would be useful:
An receiver of an email, could then scan the QR code with his mobile
phone, and the mobile app would do the validation against public DNS.
This, if this would become a standard, could be even implemented
built-in in phones.
The validation popup should be part of phone, not a web page, indicate
if signature validation is OK, which domain that signed (d= of the
DKIM signature), and the content of the fields “From”, “To”, “Date”,
“Subject” – if those fields were signed.
This allows a user, to be able to DKIM validate an email EVEN if the
receiving system has no support for DKIM validation at all, neither
the client or receiving mail server. This would increase trust for
email, as users that suspect an email with an embedded link is
phishing, could easily scan the QR code with his mobile phone, and
instantly know the email is legit.
Security considerations:
If a phisher steals the QR code, he would not be able to use it,
because the Date: will be different. It would be immediately clear to
the receiver that its an old signature that have been wrongly reused.
Since the To: is included in the validation popup, it would also be
evident to the original user that the To: address doesn’t match.
And misusing a QR for one email, to send a phishing email with another
content, would also be evident either by the subject tag not matching
the content of the email, or the subject tag not matching whats shown
in validation popup.
There is a risk that someone might include a malicious link instead of
dkim:// in QR-code, but since all the QR scanner apps today ask the
user if they want to open the link, the danger decreases.
Also another thing is that mobile phones are today inherently more
secure, as they, unless configured, will refuse to install binaries
from unknown sources and isolate apps from each other, meaning that
even if a dangerous link would be mistakenly opened, nothing would
install without clicking through multiple consent windows.
This would bring DKIM more to the masses, by senders being able to put
in a “Scan-To-Verify” DKIM-QR in emails, also prompting users to
verify their emails.
Would love to hear the toughts about the idea.
Best regards, Sebastian Nielsen
_______________________________________________
mailop mailing list
mailop@mailop.org
https://list.mailop.org/listinfo/mailop
_______________________________________________
mailop mailing list
mailop@mailop.org
https://list.mailop.org/listinfo/mailop