Usability of WKD
Contents
How good does an email client use WKD (to improve crypto usability)
In a bachelor thesis two use cases were developed which describe how users who don't have much experience with encryption can encrypt emails or check signatures with little effort and a good usability.
These use cases are used to name criteria which help developers to improve the usability of their products. They are also useful when it comes to a comparison between the usability of different products.
OpenPGP pubkeys fetched via WKD come with basic trust. See the explanations of the web key directory why.
- C1 - Direct method: The product allows fetching pubkeys by the direct method of WKD somehow.
- C2 - Advanced method: The product allows fetching pubkeys somehow, by the preferred, "advanced" method of WKD.
- C3 - WKD-ready: ´WKD can be used without any preparations after a clean installation
- C4 - Offered in compose area: WKD is offered in the area where users enter an email-address. To fulfill this criterion it's sufficient that there is a button to start a key lookup. It's not necessary that WKD will be executed automatically. But, users shouldn't have to open additional windows before they can start the lookup.
- C5 - Offered in signature area: WKD is offered in the area where users check the signature of an email. Like for C4 users shouldn't have to open additional windows.
- C6 - Automatic WKD (Compose): The product uses WKD automatically when users enter an email-address in the area where they can compose an email. The users do not have to press a button to retrieve a key via WKD.
- C7 - Prefer WKD-keys (Compose): When the product has access to keys which were directly imported and don't contain any information about their trust and a WKD-key it should automatically use the WKD-key. This criterion applies to the area to compose an email.
- C8 - Prefer WKD-keys (Signature): When the product has access to keys which were directly imported and don't contain any information about their trust and a WKD-key it should automatically use the WKD-key. This criterion applies to the area to check the signature of an email.
- C9 - Displays basic trust (Compose): The product distinguishes between keys without any information about their trust and WKD-keys that have at least a basic trust. It displays this trust in the area to compose an email.
- C10 - Displays basic trust (Signature): The product distinguishes between keys without any information about their trust and WKD-keys that have at least a basic trust. It displays this trust in the area to check the signature of an email.
Usability of different products
Balsa
Criterion | Fullfilled | Tested version |
---|---|---|
C1: Direct method | ![]() |
2.6.3 |
C2: Advanced method | ![]() |
2.6.3 |
C3: WKD-ready | ![]() |
2.6.3 |
C4: Offered in compose area | ![]() |
2.6.3 |
C5: Offered in signature area | ![]() |
2.6.3 |
C6: Automatic WKD (Compose) | ![]() |
2.6.3 |
C7: Prefer WKD-keys (Compose) | ||
C8: Prefer WKD-keys (Signature) | ||
C9: Displays basic trust (Compose) | ||
C10: Displays basic trust (Signature) |
Claws Mail
Criterion | Fullfilled | Tested version |
---|---|---|
C1: Direct method | ![]() |
3.18.0/4.0.0 |
C2: Advanced method | ![]() |
3.18.0/4.0.0 |
C3: WKD-ready | ![]() |
3.18.0/4.0.0 |
C4: Offered in compose area | ![]() |
3.18.0/4.0.0 |
C5: Offered in signature area | ![]() |
3.18.0/4.0.0 |
C6: Automatic WKD (Compose) | ![]() |
3.18.0/4.0.0 |
C7: Prefer WKD-keys (Compose) | ![]() |
3.18.0/4.0.0 |
C8: Prefer WKD-keys (Signature) | ![]() |
3.18.0/4.0.0 |
C9: Displays basic trust for WKD-keys(Compose) | ![]() |
3.18.0/4.0.0 |
C10: Displays basic trust for WKD-keys (Signature) | ![]() |
3.18.0/4.0.0 |
Evolution
Criterion | Fullfilled | Tested version | |
---|---|---|---|
C1: Direct method | ![]() |
3.48.1 | |
C2: Advanced method | ![]() |
3.48.1 | |
C3: WKD-ready | ![]() |
3.48.1 | |
C4: Offered in compose area | ![]() |
3.48.1 | |
C5: Offered in signature area | |||
C6: Automatic WKD (Compose) | ![]() |
3.48.1 | |
C7: Prefer WKD-keys (Compose) | |||
C8: Prefer WKD-keys (Signature) | |||
C9: Displays basic trust for WKD-keys(Compose) | ![]() |
3.48.1 | Quiet the opposite because it is showing "Detailed error: Failed to encrypt: The key for recipient <email-address> is not trusted." |
C10: Displays basic trust for WKD-keys (Signature) |
FairEmail
Criterion | Fullfilled | Tested version |
---|---|---|
C1: Direct method | ![]() |
1.1776 |
C2: Advanced method | ![]() |
1.1776 |
C3: WKD-ready | ![]() |
1.1776 |
C4: Offered in compose area | ![]() |
1.1776 |
C5: Offered in signature area | ![]() |
1.1776 |
C6: Automatic WKD (Compose) | ![]() |
1.1776 |
C7: Prefer WKD-keys (Compose) | ![]() |
1.1776 |
C8: Prefer WKD-keys (Signature) | ![]() |
1.1776 |
C9: Displays basic trust for WKD-keys(Compose) | ![]() |
1.1776 |
C10: Displays basic trust for WKD-keys (Signature) | ![]() |
1.1776 |
K9Mail
Criterion | Fullfilled | Tested version |
---|---|---|
C1: Direct method | ![]() |
5.806 |
C2: Advanced method | ![]() |
5.806 |
C3: WKD-ready | ![]() |
5.806 |
C4: Offered in compose area | ![]() |
5.806 |
C5: Offered in signature area | ![]() |
5.806 |
C6: Automatic WKD (Compose) | ![]() |
5.806 |
C7: Prefer WKD-keys (Compose) | ![]() |
5.806 |
C8: Prefer WKD-keys (Signature) | ![]() |
5.806 |
C9: Displays basic trust for WKD-keys(Compose) | ![]() |
5.806 |
C10: Displays basic trust for WKD-keys (Signature) | ![]() |
5.806 |
KMail
Criterion | Fullfilled | Tested version | Comment |
---|---|---|---|
C1: Direct method | ![]() |
5.20.3 | |
C2: Advanced method | ![]() |
5.20.3 | |
C3: WKD-ready | ![]() |
5.23.0 | Have to enable Settings -> Configure KMail... -> Security -> Encrypt all messages when possible |
C4: Offered in compose area | ![]() |
5.20.3 | |
C5: Offered in signature area | ![]() |
5.20.3 | |
C6: Automatic WKD (Compose) | ![]() |
5.20.3 | |
C7: Prefer WKD-keys (Compose) | ![]() |
5.18.3 | |
C8: Prefer WKD-keys (Signature) | ![]() |
5.18.3 | |
C9: Displays basic trust (Compose) | ![]() |
5.23.0 | |
C10: Displays basic trust (Signature) | ![]() |
5.20.3 |
Mailvelope
Criterion | Fullfilled | Tested version |
---|---|---|
C1: Direct method | ![]() |
4.4.1 |
C2: Advanced method | ![]() |
4.5.0 |
C3: WKD-ready | ![]() |
4.4.1 |
C4: Offered in compose area | ![]() |
4.4.1 |
C5: Offered in signature area | ![]() |
4.4.1 |
C6: Automatic WKD (Compose) | ![]() |
4.4.1 |
C7: Prefer WKD-keys (Compose) | ![]() |
4.4.1 |
C8: Prefer WKD-keys (Signature) | ||
C9: Displays basic trust (Compose) | ![]() |
4.4.1 |
C10: Displays basic trust (Signature) |
GpgOL (Outlook)
Criterion | Fullfilled | Tested version | Comment |
---|---|---|---|
C1: Direct method | ![]() |
2.5.3 | |
C2: Advanced method | ![]() |
2.5.3 | |
C3: WKD-ready | ![]() |
2.5.3 | |
C4: Offered in compose area | ![]() |
2.5.3 | |
C5: Offered in signature area | ![]() |
2.5.3 | |
C6: Automatic WKD (Compose) | ![]() |
2.5.3 | |
C7: Prefer WKD-keys (Compose) | ![]() |
2.5.3 | When sending an email GpgOL shows a dialog where the user has to select a key. The WKD key was pre-selected but it's not sure why. |
C8: Prefer WKD-keys (Signature) | ![]() |
2.5.3 | |
C9: Displays basic trust (Compose) | ![]() |
2.5.3 | |
C10: Displays basic trust (Signature) | ![]() |
2.5.3 |
Thunderbird
Criterion | Fullfilled | Tested version |
---|---|---|
C1: Direct method | ![]() |
97.0a1 |
C2: Advanced method | ![]() |
97.0a1 |
C3: WKD-ready | ![]() |
97.0a1 |
C4: Offered in compose area | ![]() |
97.0a1 |
C5: Offered in signature area | ![]() |
97.0a1 |
C6: Automatic WKD (Compose) | ![]() |
97.0a1 |
C7: Prefer WKD-keys (Compose) | ![]() |
97.0a1 |
C8: Prefer WKD-keys (Signature) | ![]() |
97.0a1 |
C9: Displays basic trust (Compose) | ![]() |
97.0a1 |
C10: Displays basic trust (Signature) | ![]() |
97.0a1 |