@@ -433,15 +433,15 @@ <h3>
433
433
< h2 >
434
434
Security Considerations
435
435
</ h2 >
436
- < div class ="issue " title ="Security Considerations section is a work in progress ">
436
+ < div class ="issue " title =
437
+ "Security Considerations section is a work in progress ">
437
438
< p >
438
439
This section is a work in progress as this document evolves.
439
440
</ p >
440
-
441
441
< p >
442
- The documents listed below outline initial security considerations for
443
- Digital Credentials, both broadly and for presentation on the web.
444
- Their contents will be integrated into this document gradually.
442
+ The documents listed below outline initial security considerations
443
+ for Digital Credentials, both broadly and for presentation on the
444
+ web. Their contents will be integrated into this document gradually.
445
445
</ p >
446
446
< ul >
447
447
< li >
@@ -450,91 +450,92 @@ <h2>
450
450
TAG Security and Privacy Considerations Questionnaire (WIP)</ a >
451
451
</ li >
452
452
< li >
453
- < a href ="https://github.com/w3c-cg/threat-modeling/blob/main/models/decentralized-identities.md ">
453
+ < a href =
454
+ "https://github.com/w3c-cg/threat-modeling/blob/main/models/decentralized-identities.md ">
454
455
Threat Model for Decentralized Identities</ a >
455
456
</ li >
456
457
</ ul >
457
458
</ div >
458
-
459
459
< section >
460
- < h3 > Credential Protocols</ h3 >
461
-
460
+ < h3 >
461
+ Credential Protocols
462
+ </ h3 >
462
463
< p class ="issue " title ="Work in progress ">
463
- Explain that while the API provides security at the browser API level, that
464
- security for the underlying credential issuance or presentation protocol is a
465
- separate concern and that developers need to understand that layer of the stack
466
- to get a total picture of the protections that are in place during any given
467
- transaction.
464
+ Explain that while the API provides security at the browser API
465
+ level, that security for the underlying credential issuance or
466
+ presentation protocol is a separate concern and that developers need
467
+ to understand that layer of the stack to get a total picture of the
468
+ protections that are in place during any given transaction.
468
469
</ p >
469
470
</ section >
470
-
471
471
< section >
472
- < h3 > Cross-device Protocols</ h3 >
473
-
472
+ < h3 >
473
+ Cross-device Protocols
474
+ </ h3 >
474
475
< p class ="issue " title ="Work in progress ">
475
- Explain that cross-device issuance or presentation uses a separate protocol
476
- that has its own security characteristics.
476
+ Explain that cross-device issuance or presentation uses a separate
477
+ protocol that has its own security characteristics.
477
478
</ p >
478
479
</ section >
479
-
480
480
< section >
481
- < h3 > Quishing</ h3 >
482
-
481
+ < h3 >
482
+ Quishing
483
+ </ h3 >
483
484
< p class ="issue " title ="Work in progress ">
484
- Explain that the API is designed to avoid the problem of quishing
485
- (phishing via QR Codes) and other QR Code and non-browser API-based attacks
486
- and to be aware of exposure of QR Codes during digital credential interactions.
485
+ Explain that the API is designed to avoid the problem of quishing
486
+ (phishing via QR Codes) and other QR Code and non-browser API-based
487
+ attacks and to be aware of exposure of QR Codes during digital
488
+ credential interactions.
487
489
</ p >
488
490
</ section >
489
-
490
491
< section >
491
- < h3 > Data Integrity</ h3 >
492
-
492
+ < h3 >
493
+ Data Integrity
494
+ </ h3 >
493
495
< p class ="issue " title ="Work in progress ">
494
- Explain that the API does not provide data integrity on the digital
495
- credential requests or responses and that responsibility is up to the
496
- underlying protocol used for the request or response.
496
+ Explain that the API does not provide data integrity on the digital
497
+ credential requests or responses and that responsibility is up to the
498
+ underlying protocol used for the request or response.
497
499
</ p >
498
500
</ section >
499
-
500
501
< section >
501
- < h3 > Authentication</ h3 >
502
-
502
+ < h3 >
503
+ Authentication
504
+ </ h3 >
503
505
< p class ="issue " title ="Work in progress ">
504
- Explain that authentication (such as a PIN code to unlock) to a particular app,
505
- such as a digital wallet, that responds to an API request is crucial in
506
- high-risk use cases.
506
+ Explain that authentication (such as a PIN code to unlock) to a
507
+ particular app, such as a digital wallet, that responds to an API
508
+ request is crucial in high-risk use cases.
507
509
</ p >
508
510
</ section >
509
-
510
511
< section >
511
- < h3 > Cross-Site Scripting (XSS) and Cross-Site Request Forgery (CSRF)</ h3 >
512
-
512
+ < h3 >
513
+ Cross-Site Scripting (XSS) and Cross-Site Request Forgery (CSRF)
514
+ </ h3 >
513
515
< p class ="issue " title ="Work in progress ">
514
- Explain what attacks are possible via XSS and CSRF, if any.
516
+ Explain what attacks are possible via XSS and CSRF, if any.
515
517
</ p >
516
518
</ section >
517
-
518
519
< section >
519
- < h3 > Session Security</ h3 >
520
-
520
+ < h3 >
521
+ Session Security
522
+ </ h3 >
521
523
< p class ="issue " title ="Work in progress ">
522
- Explain that once a secure session is established at a website using
523
- credentials exchanged over this API, that the subsequent security is no
524
- longer a function of the credential used or this API and is up to the
525
- session management utilized on the website.
524
+ Explain that once a secure session is established at a website using
525
+ credentials exchanged over this API, that the subsequent security is
526
+ no longer a function of the credential used or this API and is up to
527
+ the session management utilized on the website.
526
528
</ p >
527
529
</ section >
528
-
529
530
</ section >
530
-
531
531
< section class ="informative ">
532
532
< h2 >
533
533
Privacy Considerations
534
534
</ h2 >
535
- < div class ="issue " title ="Privacy Considerations section is a work in progress ">
535
+ < div class ="issue " title =
536
+ "Privacy Considerations section is a work in progress ">
536
537
< p >
537
- This section is a work in progress as this document evolves.
538
+ This section is a work in progress as this document evolves.
538
539
</ p >
539
540
< p >
540
541
The documents listed below outline various privacy considerations for
@@ -555,90 +556,93 @@ <h2>
555
556
for consideration in Internet and Web standardization
556
557
</ li >
557
558
< li >
558
- < a href ="https://github.com/w3c-cg/threat-modeling/blob/main/models/decentralized-identities.md ">
559
+ < a href =
560
+ "https://github.com/w3c-cg/threat-modeling/blob/main/models/decentralized-identities.md ">
559
561
Threat Model for Decentralized Identities</ a >
560
562
</ li >
561
563
</ ul >
562
564
</ div >
563
-
564
565
< section >
565
- < h3 > Unnecessary Requests for Credentials</ h3 >
566
-
566
+ < h3 >
567
+ Unnecessary Requests for Credentials
568
+ </ h3 >
567
569
< p class ="issue " title ="Work in progress ">
568
- Explain how the API could be used to unnecessarily request digital credentials
569
- from individuals such as requesting a driver's license to log into a
570
- movie rating website and how the ecosystem can mitigate this risk.
570
+ Explain how the API could be used to unnecessarily request digital
571
+ credentials from individuals such as requesting a driver's license to
572
+ log into a movie rating website and how the ecosystem can mitigate
573
+ this risk.
571
574
</ p >
572
575
</ section >
573
-
574
576
< section >
575
- < h3 > Over Collection of Data</ h3 >
576
-
577
+ < h3 >
578
+ Over Collection of Data
579
+ </ h3 >
577
580
< p class ="issue " title ="Work in progress ">
578
- Explain how the API could be used to request more data than necessary for
579
- a transaction and how the ecosystem can mitigate that over collection.
581
+ Explain how the API could be used to request more data than necessary
582
+ for a transaction and how the ecosystem can mitigate that over
583
+ collection.
580
584
</ p >
581
585
</ section >
582
-
583
586
< section >
584
- < h3 > Individual Consent</ h3 >
585
-
587
+ < h3 >
588
+ Individual Consent
589
+ </ h3 >
586
590
< p class ="issue " title ="Work in progress ">
587
- Explain how the API acquires an individual's consent to share a digital
588
- credential and how digital wallets can also provide further consent when
589
- sharing information.
591
+ Explain how the API acquires an individual's consent to share a
592
+ digital credential and how digital wallets can also provide further
593
+ consent when sharing information.
590
594
</ p >
591
595
</ section >
592
-
593
596
< section >
594
- < h3 > Data Retention</ h3 >
595
-
597
+ < h3 >
598
+ Data Retention
599
+ </ h3 >
596
600
< p class ="issue " title ="Work in progress ">
597
- Explain how verifiers might retain data and what the ecosystem does to
598
- mitigate excessive data retention policies.
601
+ Explain how verifiers might retain data and what the ecosystem does
602
+ to mitigate excessive data retention policies.
599
603
</ p >
600
604
</ section >
601
-
602
605
< section >
603
- < h3 > Compliance with Privacy Regulations</ h3 >
604
-
606
+ < h3 >
607
+ Compliance with Privacy Regulations
608
+ </ h3 >
605
609
< p class ="issue " title ="Work in progress ">
606
- Explain to what extent the API complies with known privacy regulations (e.g.,
607
- consent) and what parts of those regulations are not possible to enforce via the
608
- API (e.g., retention).
610
+ Explain to what extent the API complies with known privacy
611
+ regulations (e.g., consent) and what parts of those regulations are
612
+ not possible to enforce via the API (e.g., retention).
609
613
</ p >
610
614
</ section >
611
-
612
615
< section >
613
- < h3 > Selective and Unlinkable Disclosure</ h3 >
614
-
616
+ < h3 >
617
+ Selective and Unlinkable Disclosure
618
+ </ h3 >
615
619
< p class ="issue " title ="Work in progress ">
616
- Explain how selective disclosure and unlinkable disclosure help preserve
617
- privacy as well as their limitations in doing so.
620
+ Explain how selective disclosure and unlinkable disclosure help
621
+ preserve privacy as well as their limitations in doing so.
618
622
</ p >
619
623
</ section >
620
-
621
624
< section >
622
- < h3 > Phoning Home</ h3 >
623
-
625
+ < h3 >
626
+ Phoning Home
627
+ </ h3 >
624
628
< p class ="issue " title ="Work in progress ">
625
- Explain how some systems might "phone home", the impact on privacy that
626
- might have, and what the ecosystem provides to mitigate the risk.
629
+ Explain how some systems might "phone home", the impact on privacy
630
+ that might have, and what the ecosystem provides to mitigate the
631
+ risk.
627
632
</ p >
628
633
</ section >
629
-
630
634
< section >
631
- < h3 > Transmission of Personally Identifiable Information</ h3 >
632
-
635
+ < h3 >
636
+ Transmission of Personally Identifiable Information
637
+ </ h3 >
633
638
< p class ="issue " title ="Work in progress ">
634
- Explain that the API does enable the transmission of personally identifiable
635
- information and that it does its best to ensure there is informed consent
636
- by the individual, but that the consent might be provided due to exhaustion
637
- or not understanding what PII is being transmitted and how to mitigate those
638
- concerns.
639
+ Explain that the API does enable the transmission of personally
640
+ identifiable information and that it does its best to ensure there is
641
+ informed consent by the individual, but that the consent might be
642
+ provided due to exhaustion or not understanding what PII is being
643
+ transmitted and how to mitigate those concerns.
639
644
</ p >
640
645
</ section >
641
-
642
646
</ section >
643
647
< section class ="informative ">
644
648
< h2 >
0 commit comments