@@ -630,6 +630,134 @@ \subsection{Alternative Approaches}
630630
631631% XXX include failure rates from Gollmann
632632
633+ \subsection {Anonymous Credentials }
634+
635+ \begin {frame }
636+ \begin {example }[Age limits]
637+ \begin {itemize }
638+ \item Bob wants to go see a film in cinema.
639+ \item Bob looks very young so Alice who works there wants to have proof
640+ of his age.
641+
642+ \pause {}
643+
644+ \item Show physical ID, reveals name, exact date of birth, \dots
645+ \end {itemize }
646+ \end {example }
647+
648+ \pause {}
649+
650+ \begin {exercise }
651+ \begin {itemize }
652+ \item That's a bit overkill, right?
653+ \item What does Alice actually need to know?
654+ \item In what direction must we move to achieve that?
655+ \end {itemize }
656+ \end {exercise }
657+ \end {frame }
658+
659+ \begin {frame }
660+ \begin {block }{What Alice needs?}
661+ She must be convinced that Bob is older than 15.
662+ \end {block }
663+
664+ \pause {}
665+
666+ \begin {alertblock }{How can she learn that?}
667+ \begin {enumerate }
668+ \item She has known Bob since he was born, so she knows.
669+
670+ \pause {}
671+
672+ \item She can ask someone \emph {she trusts } who knows Bob is older than
673+ 15.
674+ \end {enumerate }
675+ \end {alertblock }
676+ \end {frame }
677+
678+ \begin {frame }
679+ \begin {alertblock }{But how can she do that?}
680+ \begin {enumerate }
681+ \item The trusted person who knows Bob is with Alice.
682+
683+ \pause {}
684+
685+ \item Alice can send a picture to the other person who verifies.
686+ \begin {itemize }
687+ \item This requires an \emph {authenticated } channel.
688+ \end {itemize }
689+
690+ \pause {}
691+
692+ \item The trusted person made a certificate for Bob showing that he's
693+ older than 15.
694+ \begin {itemize }
695+ \item Alice must be able to \emph {verify } the certificate.
696+ \item Bob must bring this certificate with himself everywhere.
697+ \end {itemize }
698+
699+ \end {enumerate }
700+ \end {alertblock }
701+ \end {frame }
702+
703+ \begin {frame }
704+ \begin {alertblock }{Alice interacts with the trusted person}
705+ \begin {itemize }
706+ \item Gaah, but Bob doesn't want the trusted person (his parents) to know
707+ he's at the cinema right now!
708+ \item It's a small cinema so they'll know which film he sees if they
709+ learn when he's there.
710+ \end {itemize }
711+ \end {alertblock }
712+
713+ \pause {}
714+
715+ \begin {alertblock }{Alice reads and verifies the certificate}
716+ \begin {itemize }
717+ \item Phew, she accepted the note from his parents.
718+ \item But now Alice learned all those embarrassing things in
719+ there.
720+ \begin {itemize }
721+ \item And Bob who has a crush on Alice \dots
722+ \end {itemize }
723+ \end {itemize }
724+ \end {alertblock }
725+ \end {frame }
726+
727+ \begin {frame }
728+ \begin {block }{The idea}
729+ \begin {itemize }
730+ \item What if Bob could convince Alice
731+ \begin {itemize }
732+ \item that he has a certificate saying he's older than 15,
733+ \item and is signed by someone Alice trusts.
734+ \end {itemize }
735+ \item Wouldn't that be awesome?
736+ \end {itemize }
737+ \end {block }
738+ \end {frame }
739+
740+ \begin {frame }
741+ \begin {example }[Anonymous
742+ Credentials\footfullcite {ElectronicIdentitiesNeedPrivateCredentials}]
743+ \begin {itemize }
744+ \item Makes heavy use of zero-knowledge proofs of knowledge.
745+ \item Can prove equalities, inequalities, knowledge, ownership, \dots
746+ \item Implementations and approaches:
747+ \begin {description }
748+ \item [Identity Mixer]
749+ \url {https://www.research.ibm.com/labs/zurich/idemix/}
750+ \item [U-Prove]
751+ \url {http://research.microsoft.com/en-us/projects/u-prove/}
752+ \item [AnonPass]
753+ \url {https://eprint.iacr.org/2013/317}
754+ \item [IRMA]
755+ \url {https://www.irmacard.org/irma/}
756+ \end {description }
757+ \end {itemize }
758+ \end {example }
759+ \end {frame }
760+
633761
634762% %%%%%%%%%%%%%%%%%%%%%
635763
0 commit comments