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 |