Децентрализованный крипточат (командный проект) — различия между версиями

Материал из Wiki - Факультет компьютерных наук
Перейти к: навигация, поиск
(Уточнение критериев)
Строка 44: Строка 44:
 
6 - trust management, как верифицировать, что новый контакт именно тот, за кого он себя выдаёт
 
6 - trust management, как верифицировать, что новый контакт именно тот, за кого он себя выдаёт
  
8 - работает передача файлов и проведено user study на нескольких десятках человек
+
8 - работает обмен файлами через P2P
 +
 
 +
+2 бонус за user study на нескольких десятках человек (друзья, коллеги по курсу, знакомые)
  
 
+2 бонус за поддержку стриминга аудио
 
+2 бонус за поддержку стриминга аудио

Версия 14:43, 6 октября 2017

Компания SolidSoft
Учебный семестр Осень 2017
Учебный курс 3-й курс
Максимальное количество студентов, выбравших проект: 2-3



Что это за проект?

Проект направлен на разработку децентрализованного мессенджера с PFS и возможностью отказа от авторства.

В настоящее время подавляющее большинство защищенных мессенджеров завязаны на существование третьей доверенной стороны, в качестве которой обычно выступает "поставщик сервиса". Например, в мессенджере Telegram доверенной стороной является сервераная часть системы. Аналогично в случае Signal.

В рамках проекта предлагается разработать полностью децентрализованный мессенджер, в котором нужно реализовать наиболее востребованные функции (PFS), децентрализованное хранение пользовательского каталога, и схему установления отношения доверия между клиентами. В идеале реализацию выполнить в виде chrome app или js-приложения, которое можно запускать на десктопах и мобильных устройствах без переписывания кода под каждую платформу (см. Signal).

Чему научатся студенты? Что самое интересное в проекте?

1) Как устроены современные мессенджеры, чем они отличаются друг от друга, в том числе с точки зрения протоколов.

2) Как создавать распределенные приложения.

Организация работы (Как студенты будут работать в команде?)

2-3 (до 4), распределение задача - по компонентам. Проектная работа с трекингом задач через gitlab.

Компоненеты (Из каких частей состоит проект?)

Транспорт - транспортная абстракция поверх P2P топологии

Криптопротокол - вариант реализации mpOTR протокола

UI - интерфейс, который в том числе отвечает за contact management, trust management

Какие будут использоваться технологии?

Chrome API, JavaScript, также возможен другой (обоснованный) выбор технологического стека.

Какие начальные требования?

Знакомство с JavaScript, WebSockets, HTTP, базовыми криптографическими примитивами.

Темы вводных занятий

Почему миру нужен ещё один криптомессенджер.

Критерии оценки

4 - работает P2P, обмен сообщениями, регистрация новых контактов

6 - trust management, как верифицировать, что новый контакт именно тот, за кого он себя выдаёт

8 - работает обмен файлами через P2P

+2 бонус за user study на нескольких десятках человек (друзья, коллеги по курсу, знакомые)

+2 бонус за поддержку стриминга аудио

+1 бонус за кроссплатформенность

+1 бонус за публикацию проекта и привлечение независимых пользователей и user study на них

Похожие проекты

https://signal.org/

https://tox.chat/

https://wire.com/en/

Контактная информация

Денис Гамаюнов

Почта: gamajun собака gmail.com

Контакт в Tg: @jamadharma

Для выполнения проекта создайте приватный репозиторий в BitBucket или GitHub, и добавьте в collaborators ментора:

- BitBucket: jamadharma

- GitHub: jama-dharma