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 |