Code Monkey home page Code Monkey logo

pb173_project's People

Contributors

dufkan avatar stepgenn avatar

Stargazers

 avatar

pb173_project's Issues

CHR protocol

Naiplementovat 4 cestny challenge response protocol

TODO

  • pridat MAC ke client-client komunikaci
  • PBKDF2 -> chceme to nejak vyuzit jako KDF u DR?
  • mame memory leaky?
  • vlastni DSA
  • podklady, proc nami pouzity generator nahodnych cisel je bezpecny
  • cpp check a clang na analyzu
  • prezentaci, 10-15 slajdu, ukazka, jak to funguje, bezpecnost...

Dr.CryBox

  • drzi klice (RootKey, Krecv, Ksend)
  • umi odvodit aktualni Er (recv key for decryption) a Es (send key for encryption)
  • drzi si aktualni cisla PN (kolikaty RootKey), N (poradi Er/Es z Krecv/Ksend)
  • umi generovat novy EC pair
  • umi prepocitavat ECDH shared key, aktualizovat
  • vi, kdo/zda posila PubKey s aktualni zpravou
  • _drzi si mapu (PN-N, unused_key) preskocenych, nepouzitych klicu
    CryBox si drzi klienti
  • poradne testy na DRBoxe
  • mazani a prepisovani pouzitych klicu ve skipped
  • pridat DRBox clientum a aktivne ho pouzivat

Crypto x3dh

  • overovani podpisu
  • DH funkce v mbedtls
  • KDF funkce v mbedtls --> hash
  • odvozovani klicu DH
  • dev (u)random z terminalu
  • zkontrolovat MAC

Messages x3dh

  • posilat prekey
  • vymenovat mezi klientama
  • zadost o dodani dalsich
  • dodavani
  • initial message - pridat vsude

Z 5.cvika - do 27.3.

  • 🖼️ vytvořit obrázek k API
  • 🖼️ vytvořit obrázek k CHR
  • 🖼️ vytvořit obrázek k X3HD, ...
  • 📑 zaktualizovat dokument

Rozmyslet si útoky 🔫 na clienta, server, linku

  • ⚡ Padding oracle attack, The Bleichenbacher attacks
  • 👨‍🚀 Man in the middle attack
  • 🔁 Replay attack

z minule máme mít naimplementováno a otestováno:

  • new user registration (in: user name / password, out:status)
  • user authentication to server (in:user/pass, out: status)
  • obtain list of other online users (out: formated list – JSON?)

Functions to be implemented (and tested!)

  • Login user (client side) (in: user name / password, out: status) => prepared structure to be send to server
  • Prepare protected message for another user (in: user identification, session context (keys, counters...), out: protected message, status) • Encryption, MAC, Use suitable Authenticated Encryption mode • Update session context
  • Unprotect message from another user (in: protected message, session context
    (keys, counters...), out: unprotected message, status) • Think how to handle errors

  • doplnit, zaktualizovat API clienta a serveru
  • co s MACem?
  • jaké měl na začátu WhatsApp problémy s bezpečností? 🔓
  • jaký náhodný generátor, jaký padding u RSA, jaký MAC....
  • Create implementation of basic client process – No network yet, just methods + tests!

  • rozmyslet si, jak budeme řešit chyby 😞

Pripojeni vice uzivatelu

  • registrace
  • get online users
  • zafixovat klic po prvni registraci - ulozit do souboru, pak pokud existuje soubor, tak z nej nacist klic, jinak generovat novy

Server x3dh

  • prekeys handling
  • na serveru mapa clientu - klice
  • handling msg

casem mozna soubory

Practical assignment - deadline 13.3.

  • 1. Select great name for your group
  1. Setup development workflow for your group:
  • New Github repository (separate folder for client&server), license

  • Add proper developer rights

  • Initial version of code/tests (just copy from last lecture)

  • Try to pull/commits together and create conflict (intentionally)

  • 3. Send me link to your repo (+ members of the group)

  1. Plan your work together
  • Design based on requirements gathered now

  • Add initial issues into separate milestones

  • 5. Prepare document and presentation with design
    decisions (2-3xA4 document (overview, functions, crypto used...), 4-5 slides (presentation), UML diagrams?)

Client x3dh

  • vyporadani se s klici, hafem klicu, ukladani, pamatovani ...
  • generovani klicu
  • pocitani klicu a posilani/prijimani initial msg
    ADD:
  • podepsany SPK, kontrola podpisu
  • aktualizece SPK
  • mazani pouzitych OPK
  • prace s msg posilanou na server s OPKeys a generovanim novych;
  • pridani kontaktu, poslani AskPrekey
  • prijeti RetPrekey

Ze 4. cvika

  • prosudovat Whatsapp - jak to ma poresene vsechno
  • pretizeny server vs jak poresit peer-to-peer (agrumenty proc to nejde jinak)
  • sepsat do dokumentu co chceme chránit
  • sepsat jak chceme řešit ochranu proti jednotlivým hrozbám, útokům
  • jak chráníme privátní klíče klientů proti zcizení?
  • šifrování klient-klient Diffie-Hellman s každou zprávou aktualizovaný?
  • jaký challenge response protokol chceme použivat?
  • jak budeme generovat symetrické klíče pro klient-server?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.