idnits 2.17.1 draft-marques-pep-rating-01.txt: Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt: ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- ** The document seems to lack an IANA Considerations section. (See Section 2.2 of https://www.ietf.org/id-info/checklist for how to handle the case when there are no actions for IANA.) Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust and authors Copyright Line does not match the current year -- The document date (March 11, 2019) is 1845 days in the past. Is this intentional? Checking references for intended status: Informational ---------------------------------------------------------------------------- == Outdated reference: A later version (-06) exists of draft-birk-pep-03 == Outdated reference: A later version (-05) exists of draft-birk-pep-trustwords-02 == Outdated reference: A later version (-05) exists of draft-marques-pep-handshake-01 Summary: 1 error (**), 0 flaws (~~), 4 warnings (==), 1 comment (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 Network Working Group H. Marques 3 Internet-Draft pEp Foundation 4 Intended status: Informational B. Hoeneisen 5 Expires: September 12, 2019 Ucom.ch 6 March 11, 2019 8 pretty Easy privacy (pEp): Mapping of Privacy Rating 9 draft-marques-pep-rating-01 11 Abstract 13 In many Opportunistic Security scenarios end-to-end encryption is 14 automatized for Internet users. In addition, it is often required to 15 provide the users with easy means to carry out authentication. 17 Depending on several factors, each communication channel to different 18 peers may have a different Privacy Status, e.g., unencrypted, 19 encrypted and encrypted as well as authenticated. Even each message 20 from/to a single peer may have a different Privacy Status. 22 To display the actual Privacy Status to the user, this document 23 defines a Privacy Rating scheme and its mapping to a traffic-light 24 semantics. A Privacy Status is defined on a per-message basis as 25 well as on a per-identity basis. The traffic-light semantics (as 26 color rating) allows for a clear and easily understandable 27 presentation to the user in order to optimize the User Experience 28 (UX). 30 This rating system is most beneficial to Opportunistic Security 31 scenarios and is already implemented in several applications of 32 pretty Easy privacy (pEp). 34 Status of This Memo 36 This Internet-Draft is submitted in full conformance with the 37 provisions of BCP 78 and BCP 79. 39 Internet-Drafts are working documents of the Internet Engineering 40 Task Force (IETF). Note that other groups may also distribute 41 working documents as Internet-Drafts. The list of current Internet- 42 Drafts is at https://datatracker.ietf.org/drafts/current/. 44 Internet-Drafts are draft documents valid for a maximum of six months 45 and may be updated, replaced, or obsoleted by other documents at any 46 time. It is inappropriate to use Internet-Drafts as reference 47 material or to cite them other than as "work in progress." 48 This Internet-Draft will expire on September 12, 2019. 50 Copyright Notice 52 Copyright (c) 2019 IETF Trust and the persons identified as the 53 document authors. All rights reserved. 55 This document is subject to BCP 78 and the IETF Trust's Legal 56 Provisions Relating to IETF Documents 57 (https://trustee.ietf.org/license-info) in effect on the date of 58 publication of this document. Please review these documents 59 carefully, as they describe your rights and restrictions with respect 60 to this document. Code Components extracted from this document must 61 include Simplified BSD License text as described in Section 4.e of 62 the Trust Legal Provisions and are provided without warranty as 63 described in the Simplified BSD License. 65 Table of Contents 67 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 68 2. Terms . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 69 3. Per-Message Privacy Rating . . . . . . . . . . . . . . . . . 4 70 3.1. Rating Codes . . . . . . . . . . . . . . . . . . . . . . 4 71 3.2. Color Codes . . . . . . . . . . . . . . . . . . . . . . . 5 72 3.3. Surjective Mapping of Rating Codes into Color Codes . . . 6 73 3.4. Semantics of Color and Rating Codes . . . . . . . . . . . 6 74 3.4.1. Red . . . . . . . . . . . . . . . . . . . . . . . . . 6 75 3.4.2. No Color . . . . . . . . . . . . . . . . . . . . . . 6 76 3.4.3. Yellow . . . . . . . . . . . . . . . . . . . . . . . 7 77 3.4.4. Green . . . . . . . . . . . . . . . . . . . . . . . . 7 78 4. Per-Identity Privacy Rating . . . . . . . . . . . . . . . . . 7 79 5. Security Considerations . . . . . . . . . . . . . . . . . . . 8 80 6. Implementation Status . . . . . . . . . . . . . . . . . . . . 8 81 6.1. Introduction . . . . . . . . . . . . . . . . . . . . . . 8 82 6.2. Current software implementing pEp . . . . . . . . . . . . 9 83 7. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 9 84 8. References . . . . . . . . . . . . . . . . . . . . . . . . . 9 85 8.1. Normative References . . . . . . . . . . . . . . . . . . 9 86 8.2. Informative References . . . . . . . . . . . . . . . . . 10 87 Appendix A. Excerpts from the pEp Reference Implementation . . . 11 88 A.1. pEp rating . . . . . . . . . . . . . . . . . . . . . . . 11 89 Appendix B. Document Changelog . . . . . . . . . . . . . . . . . 11 90 Appendix C. Open Issues . . . . . . . . . . . . . . . . . . . . 11 91 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 12 93 1. Introduction 95 In many Opportunistic Security [RFC7435] scenarios end-to-end 96 encryption is automatized for Internet users. In addition, it is 97 often required to provide the users with easy means to carry out 98 authentication. 100 Depending on several factors, each communication channel to different 101 identities may have a different Privacy Status, e.g. 103 o unreliable 105 o encrypted 107 o encrypted and authenticated 109 o mistrusted 111 Even each message from or to a single peer may have a different 112 Privacy Status. 114 To display the actual Privacy Status to the user, this document 115 defines a Privacy Rating scheme and its mapping to a traffic-light 116 semantics, i.e., a mapping to different color codes as used in a 117 traffic-light: 119 o red 121 o yellow 123 o green 125 o no color (or gray) 127 Note: While "yellow" color is used in the context of traffic-lights 128 (e.g., in North America), in other parts of the world (e.g., the UK) 129 this is generally referred to as "orange" or "amber" lights. For the 130 scope of this document, "yellow", "amber", and "orange" refer to the 131 same semantics. 133 A Privacy Status is defined on a per-message basis as well as on a 134 per-identity basis. The traffic-light semantics (as color rating) 135 allows for a clear and easily understandable presentation to the user 136 in order to optimize the User Experience (UX). To serve also 137 (color-)blind Internet users or those using monochrome displays, the 138 traffic light color semantics may also be presented by simple texts 139 and symbols for signaling the corresponding Privacy Status. 141 The proposed definitions are already implemented and used in 142 applications of pretty Easy privacy (pEp) [I-D.birk-pep]. This 143 document is targeted to applications based on the pEp framework and 144 Opportunistic Security [RFC7435]. However, it may be also used in 145 other applications as suitable. 147 Note: The pEp [I-D.birk-pep] framework proposes to automatize the use 148 of end-to-end encryption for Internet users of email and other 149 messaging applications and introduces methods to easily allow 150 authentication. 152 2. Terms 154 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 155 "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this 156 document are to be interpreted as described in [RFC2119]. 158 o pEp Handshake: The process when Alice - e.g., in-person or via 159 phone - contacts Bob to verify Trustwords (or by fallback: 160 fingerprints) is called pEp Handshake. 161 [I-D.marques-pep-handshake] 163 o Trustwords: A scalar-to-word representation of 16-bit numbers (0 164 to 65535) to natural language words. When doing a Handshake, 165 peers are shown combined Trustwords of both public keys involved 166 to ease the comparison. [I-D.birk-pep-trustwords] 168 o Trust on First Use (TOFU): cf. [RFC7435] 170 o Man-in-the-middle attack (MITM): cf. [RFC4949] 172 3. Per-Message Privacy Rating 174 3.1. Rating Codes 176 To rate messages (cf. also Appendix A.1), the following 13 Rating 177 codes are defined as scalar values (decimal): 179 +-------------+------------------------+ 180 | Rating code | Rating label | 181 +-------------+------------------------+ 182 | -3 | under attack | 183 | | | 184 | -2 | broken | 185 | | | 186 | -1 | mistrust | 187 | | | 188 | 0 | undefined | 189 | | | 190 | 1 | cannot decrypt | 191 | | | 192 | 2 | have no key | 193 | | | 194 | 3 | unencrypted | 195 | | | 196 | 4 | unencrypted for some | 197 | | | 198 | 5 | unreliable | 199 | | | 200 | 6 | reliable | 201 | | | 202 | 7 | trusted | 203 | | | 204 | 8 | trusted and anonymized | 205 | | | 206 | 9 | fully anonymous | 207 +-------------+------------------------+ 209 3.2. Color Codes 211 For an Internet user to understand what the available Privacy Status 212 is, the following colors (traffic-light semantics) are defined: 214 +------------+-------------+ 215 | Color code | Color label | 216 +------------+-------------+ 217 | -1 | red | 218 | | | 219 | 0 | no color | 220 | | | 221 | 1 | yellow | 222 | | | 223 | 2 | green | 224 +------------+-------------+ 226 3.3. Surjective Mapping of Rating Codes into Color Codes 228 Corresponding User Experience (UX) implementations use a surjective 229 mapping of the Rating Codes into the Color Codes (in traffic light 230 semantics) as follows: 232 +--------------+------------+-------------+ 233 | Rating codes | Color code | Color label | 234 +--------------+------------+-------------+ 235 | -3 to -1 | -1 | red | 236 | | | | 237 | 0 to 5 | 0 | no color | 238 | | | | 239 | 6 | 1 | yellow | 240 | | | | 241 | 7 to 9 | 2 | green | 242 +--------------+------------+-------------+ 244 This mapping is used in current pEp implementations to signal the 245 Privacy Status (cf. Section 6.2). 247 3.4. Semantics of Color and Rating Codes 249 3.4.1. Red 251 The red color MUST only be used in three cases: 253 o Rating code -3: A man-in-the-middle (MITM) attack could be 254 detected. 256 o Rating code -2: The message was tempered with. 258 o Rating code -1: The user explicitly states he mistrusts a peer, 259 e.g., because a Handshake [I-D.marques-pep-handshake] mismatched 260 or when the user learns the communication partner was attacked and 261 might have gotten the corresponding secret key leaked. 263 3.4.2. No Color 265 No specific (or a gray color) MUST be shown in the following cases: 267 o Rating code 0: A message can be rendered, but the encryption 268 status is not clear, i.e., undefined 270 o Rating code 1: A message cannot be decrypted (because of an error 271 not covered by rating code 2 below). 273 o Rating code 2: No key is available to decrypt a message (because 274 it was encrypted with a public key for which no secret key could 275 be found). 277 o Rating code 3: A message is received or sent out unencrypted 278 (because it was received unencrypted or there's no public key to 279 encrypt a message to a recipient). 281 o Rating code 4: A message is sent out unencrypted for some of the 282 recipients of a group (because there's at least one recipient in 283 the group whose public key is not available to the sender). 285 o Rating code 5: A message is encrypted, but cryptographic 286 parameters (e.g., the cryptographic method employed or key length) 287 are insufficient. 289 3.4.3. Yellow 291 o Rating code 6: Whenever a message can be encrypted or decrypted 292 with sufficient cryptographic parameters, it's considered 293 reliable. It is mapped into the yellow color code. 295 3.4.4. Green 297 o Rating code 7: A message is mapped into the green color code only 298 if a pEp handshake [I-D.marques-pep-handshake] was successfully 299 carried out. 301 By consequence that means, that the pEp propositions don't strictly 302 follow the TOFU (cf. [RFC7435]) approach, in order to avoid 303 signaling trust without peers verifying their channel first. 305 In current pEp implementations (cf. Section 6) only rating code 7 is 306 achieved. 308 The rating codes 8 and 9 are reserved for future use in pEp 309 implementations which also secure meta-data (rating code 8), by using 310 a peer-to-peer framework like GNUnet [GNUnet], and/or allow for fully 311 anonymous communications (rating code 9), where sender and receiver 312 don't know each other, but trust between the endpoints could be 313 established nevertheless. 315 4. Per-Identity Privacy Rating 317 The same Color Codes (red, no color, yellow and green) as for 318 messages (cf. Section 3.2) MUST be applied for identities (peers), 319 so that a user can easily understand, which identities private 320 communication is possible with. 322 The green color code MUST be applied to an identity whom the pEp 323 handshake [I-D.marques-pep-handshake] was successfully carried out 324 with. 326 The yellow color code MUST be set whenever a public key could be 327 obtained to securely encrypt messages to an identity, although a MITM 328 attack cannot be excluded. 330 The no color code MUST be used for the case that no public key is 331 available to engage in private communications with an identity. 333 The red color code MUST only be used when an identity is marked as 334 mistrusted. 336 [[ It's not yet clear if there are proper cases where it makes sense 337 to set an identity automatically to the red color code, as it appears 338 to be difficult to detect attacks (e.g., secret key leakage) at the 339 other endpoint with certainty. ]] 341 5. Security Considerations 343 [[ TODO ]] 345 6. Implementation Status 347 6.1. Introduction 349 This section records the status of known implementations of the 350 protocol defined by this specification at the time of posting of this 351 Internet-Draft, and is based on a proposal described in [RFC7942]. 352 The description of implementations in this section is intended to 353 assist the IETF in its decision processes in progressing drafts to 354 RFCs. Please note that the listing of any individual implementation 355 here does not imply endorsement by the IETF. Furthermore, no effort 356 has been spent to verify the information presented here that was 357 supplied by IETF contributors. This is not intended as, and must not 358 be construed to be, a catalog of available implementations or their 359 features. Readers are advised to note that other implementations may 360 exist. 362 According to [RFC7942], "[...] this will allow reviewers and working 363 groups to assign due consideration to documents that have the benefit 364 of running code, which may serve as evidence of valuable 365 experimentation and feedback that have made the implemented protocols 366 more mature. It is up to the individual working groups to use this 367 information as they see fit." 369 6.2. Current software implementing pEp 371 The following software implementing the pEp protocols (to varying 372 degrees) already exists: 374 o pEp for Outlook as add-on for Microsoft Outlook, release 375 [SRC.pepforoutlook] 377 o pEp for Android (based on a fork of the K9 MUA), release 378 [SRC.pepforandroid] 380 o Enigmail/pEp as add-on for Mozilla Thunderbird, release 381 [SRC.enigmailpep] 383 o pEp for iOS (implemented in a new MUA), beta [SRC.pepforios] 385 pEp for Android, iOS and Outlook are provided by pEp Security, a 386 commercial entity specializing in end-user software implementing pEp 387 while Enigmail/pEp is pursued as community project, supported by the 388 pEp Foundation. 390 All software is available as Free Software and published also in 391 source form. 393 7. Acknowledgements 395 The authors would like to thank the following people who have 396 provided feedback or significant contributions to the development of 397 this document: Leon Schumacher and Volker Birk 399 This work was initially created by pEp Foundation, and then reviewed 400 and extended with funding by the Internet Society's Beyond the Net 401 Programme on standardizing pEp. [ISOC.bnet] 403 8. References 405 8.1. Normative References 407 [I-D.birk-pep] 408 Marques, H. and B. Hoeneisen, "pretty Easy privacy (pEp): 409 Privacy by Default", draft-birk-pep-03 (work in progress), 410 March 2019. 412 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 413 Requirement Levels", BCP 14, RFC 2119, 414 DOI 10.17487/RFC2119, March 1997, 415 . 417 [RFC4949] Shirey, R., "Internet Security Glossary, Version 2", 418 FYI 36, RFC 4949, DOI 10.17487/RFC4949, August 2007, 419 . 421 [RFC7435] Dukhovni, V., "Opportunistic Security: Some Protection 422 Most of the Time", RFC 7435, DOI 10.17487/RFC7435, 423 December 2014, . 425 8.2. Informative References 427 [GNUnet] Grothoff, C., "The GNUnet System", October 2017, 428 . 430 [I-D.birk-pep-trustwords] 431 Birk, V., Marques, H., and B. Hoeneisen, "IANA 432 Registration of Trustword Lists: Guide, Template and IANA 433 Considerations", draft-birk-pep-trustwords-02 (work in 434 progress), June 2018. 436 [I-D.marques-pep-handshake] 437 Marques, H. and B. Hoeneisen, "pretty Easy privacy (pEp): 438 Contact and Channel Authentication through Handshake", 439 draft-marques-pep-handshake-01 (work in progress), October 440 2018. 442 [ISOC.bnet] 443 Simao, I., "Beyond the Net. 12 Innovative Projects 444 Selected for Beyond the Net Funding. Implementing Privacy 445 via Mass Encryption: Standardizing pretty Easy privacy's 446 protocols", June 2017, . 450 [RFC7942] Sheffer, Y. and A. Farrel, "Improving Awareness of Running 451 Code: The Implementation Status Section", BCP 205, 452 RFC 7942, DOI 10.17487/RFC7942, July 2016, 453 . 455 [SRC.enigmailpep] 456 "Source code for Enigmail/pEp", March 2019, 457 . 459 [SRC.pepforandroid] 460 "Source code for pEp for Android", March 2019, 461 . 463 [SRC.pepforios] 464 "Source code for pEp for iOS", March 2019, 465 . 467 [SRC.pepforoutlook] 468 "Source code for pEp for Outlook", March 2019, 469 . 471 Appendix A. Excerpts from the pEp Reference Implementation 473 This section provides excerpts of the running code from the pEp 474 reference implementation pEp engine (C99 programming language). 476 A.1. pEp rating 478 From the reference implementation by the pEp foundation, src/ 479 message_api.h: 481 typedef enum _PEP_rating { 482 PEP_rating_undefined = 0, 483 PEP_rating_cannot_decrypt, 484 PEP_rating_have_no_key, 485 PEP_rating_unencrypted, 486 PEP_rating_unencrypted_for_some, 487 PEP_rating_unreliable, 488 PEP_rating_reliable, 489 PEP_rating_trusted, 490 PEP_rating_trusted_and_anonymized, 491 PEP_rating_fully_anonymous, 493 PEP_rating_mistrust = -1, 494 PEP_rating_b0rken = -2, 495 PEP_rating_under_attack = -3 496 } PEP_rating; 498 Appendix B. Document Changelog 500 [[ RFC Editor: This section is to be removed before publication ]] 502 o draft-birk-pep-rating-00: 504 * Initial version 506 Appendix C. Open Issues 508 [[ RFC Editor: This section should be empty and is to be removed 509 before publication ]] 510 o Better explain usage of Color Codes in Per-Identity Privacy Rating 512 o Decide whether rating code scalars 6 and 7-9 should be raised to 513 leave space for future extensions 515 o Add Security Considerations 517 o Add more source code excerpts to Appendix 519 o Add rating codes for secure cryptographic methods and parameters 520 and reference them 522 Authors' Addresses 524 Hernani Marques 525 pEp Foundation 526 Oberer Graben 4 527 CH-8400 Winterthur 528 Switzerland 530 Email: hernani.marques@pep.foundation 531 URI: https://pep.foundation/ 533 Bernie Hoeneisen 534 Ucom Standards Track Solutions GmbH 535 CH-8046 Zuerich 536 Switzerland 538 Phone: +41 44 500 52 44 539 Email: bernie@ietf.hoeneisen.ch (bernhard.hoeneisen AT ucom.ch) 540 URI: https://ucom.ch/