Drop 'Implement and Integrate CONIKS for Tor Messenger' project idea
Damian Johnson

Damian Johnson commited on 2017-01-29 22:06:09
Zeige 1 geänderte Dateien mit 0 Einfügungen und 71 Löschungen.


We had a student (Huy Vu) that did this last year.
... ...
@@ -896,77 +896,6 @@ the codebase that you want to work on.
896 896
     </p>
897 897
     </li>
898 898
 
899
-    <a id="coniks_in_messenger"></a>
900
-    <li>
901
-    <b>Implement and Integrate CONIKS for Tor Messenger</b>
902
-    <br>
903
-    Language: <i>C, JavaScript</i>
904
-    <br>
905
-    Likely Mentors: <i>Marcela (masomel), Arlo (arlolra)</i>
906
-    <br><br>
907
-    <p>
908
-CONIKS is an end-user key management and verification system for end-to-end
909
-secure communication services, which improves upon existing key management
910
-systems by providing both strong security and better usability using a model
911
-called key transparency. CONIKS does this by requiring providers to manage
912
-tamper-evident, publicly-auditable key directories, which contain mappings from
913
-usernames to public keys, on behalf of their users. This design makes it easier
914
-for users (both "default" users and power users) to establish trust since they
915
-don't have to worry about or even see keys, but users also don't have to
916
-trust the provider to be well-behaved because the CONIKS client can run as
917
-part of the secure messaging app and automatically check that the service
918
-provider doesn’t map spurious keys to their users' usernames, and it can
919
-verify that observed name-to-key mappings are consistent with what other
920
-clients in the system are seeing. Unlike existing key transparency solutions,
921
-CONIKS also provides strong privacy guarantees by employing cryptographic
922
-primitives for robust data obfuscation.
923
-    </p>
924
-
925
-    <p>
926
-The CONIKS system design, protocols, and proof-of-concept are described in
927
-great detail in the <a
928
-href="https://www.usenix.org/system/files/conference/usenixsecurity15/sec15-paper-melara.pdf">CONIKS
929
-research paper</a>, and basic reference implementations of a CONIKS key server
930
-and a CONIKS client are avialable on <a
931
-href="https://github.com/coniks-sys/coniks-ref-implementation">Github</a>.
932
-    </p>
933
-
934
-    <p>
935
-This project has two main components: (1) designing and implementing a CONIKS
936
-key server tailored to Tor Messenger users, and (2) building a CONIKS client
937
-which integrates with the Tor Messenger client. One challenge the applicant
938
-will face is ensuring that the key server design is efficient and scalable for
939
-large volumes of users, concurrent traffic and guarantees this scalability even
940
-as Tor Messenger's user base grows. On the client side, the main challenges
941
-will be to focus on space efficiency as well as minimizing computational
942
-overhead when implementing the CONIKS consistency checks, and determining how
943
-to best communicate CONIKS consistency check results to users in the UI. Since
944
-Tor Messenger does not hand out online identities per se, as most online
945
-communication services do (like, say, Twitter, in which each user has a unique
946
-handle), the CONIKS key server for Tor Messenger will have to map usernames
947
-from third-party communication services to the encryption keys used in Tor
948
-Messenger. One additional important challenge that the applicant will have to
949
-help address is ensuring that each such third-party username remains unique in
950
-the Tor Messenger space and that such external, third-party identities are
951
-indeed controlled by the expected user of that third-party communication
952
-service.
953
-    </p>
954
-
955
-    <p>
956
-Some design and implementation questions have been discussed in <a
957
-href="https://trac.torproject.org/projects/tor/ticket/17961">Ticket #17961</a>.
958
-    </p>
959
-
960
-    <p>
961
-The applicant should have some familiarity with well-known crypto primitives
962
-and algorithms, as well as have a basic understanding of the key transparency
963
-model. Client side integration will require some basic use of JavaScript.
964
-Consider submitting a patch for <a
965
-href="https://github.com/arlolra/ctypes-otr/issues">one of the open key
966
-verification issues</a> as part of the application process.
967
-    </p>
968
-    </li>
969
-
970 899
     <a id="panopticlick"></a>
971 900
     <li>
972 901
     <b>Panopticlick</b>
973 902