Cryptophone 2 Matteo Ferrari. Descrizione del Problema e Soluzioni adottate. Realizzare un’interfaccia grafica in C# per dispositivi Mobile di un progetto.

Slides:



Advertisements
Presentazioni simili
Tu hai Facebook, o Facebook ha te?
Advertisements

Funzioni e procedure Ogni linguaggio di programmazione ad alto livello mette a disposizione del programmatore questi strumenti, ed il C non è da meno!
I linguaggi di programmazione
Interfaccia modulo ricalcolo inventari Marco Moretti Febbraio 2012.
Sistema di controllo FORZA-SPOSTAMENTO in tempo reale tramite software di sviluppo CVI.
Modulo o Form in Html.
Internet Explorer Il browser.
DBMS ( Database Management System)
Per costruire unapplicazione occorre compilare il file (o i file se più duno) che contengono il testo del programma (file sorgente) Il risultato sono uno.
Sistema Tele Assistence SISTEMA PER LA GESTIONE DI RICHIESTE DI SOCCORSO.
BRIDGE-3K Verso il futuro La migrazione dai sistemi HP3000. Un ponte verso il futuro conservando la cultura e le risorse aziendali. NOVITA 2007.
Manuale Autoistruzione
portale per la gestione di pratiche medico-legali per le assicurazioni
Configurazione di outlook express Se utilizzate o volete utilizzare Outlook Express per gestire la vostra posta elettronica, potete avviarlo cliccando.
a Finmeccanica company Copyright © Elsag Spa All rights reserved. Sistemi di prenotazione e pagamento innovativi dei parcheggi di interscambio L.
ISA InteractiveSmartAttendant. Il servizio di selezione vocale ISA permette di contattare via telefono le persone che sono inserite nella rubrica di Ateneo,
Attivazione del SISTEMA di VIDEOCONFERENZA
Posta elettronica Usare la posta elettronica con il browser web 2 a parte La rubrica.
66. Rubrica La Rubrica vi consente di raccogliere gli indirizzi di posta elettronica. Potete accedere dalla rubrica dallinterno del programma di posta.
Lavagna interattiva Smart Board Installazione Presentazione
Elenchi in Excel E’ possibile inserire le voci del nuovo elenco oppure
Internet Explorer I preferiti Stampa di pagine web Salvataggio di pagine web Copia di elementi di pagine web in altri applicativi.
Protocollo Informatico Trentino
Threads.
Sezione DiARia (del Portale ServiRe – Servizi Regolati): Discatura, Apertura, Riapertura Punti di Riconsegna Presentazione Utente.
27 Marzo 2014 Come utilizzare il portale rma MOTOROLA SOLUTIONS 1.
La fruizione dei learning object e delle prove OCSE nell’ambiente.
Introduzione all‘app Lync Windows Store Lync 2013.
POSTA ELETTRONICA La posta elettronica è un’innovazione utilissima offerta da Internet. E’ possibile infatti al costo di una telefonata urbana (cioè del.
Introduzione a Windows Lezione 2 Riccardo Sama' Copyright  Riccardo Sama'
PrenotaLab Sistema di prenotazione on line dei Laboratori ed aule di Istituto.
Processo di Registrazione portali: MyCompany
Installare il Software FCG Client Installazione FCG Prima di installare il software ‘Client’ dobbiamo prima mettere in rete il ‘PC Client’ col.
Mini guida alla pubblicazione di articoli.
Registrazione alle istanze on-line
POWER POINT.
Riferimento rapido per l’app © 2013 Microsoft Corporation. Tutti i diritti riservati. Schermata iniziale di Lync I riquadri dell'hub a sinistra nella schermata.
Controllare la segreteria telefonica 1.Fare clic sulla scheda Telefono. Verranno visualizzati i messaggi e i dati dei chiamanti. 2.Posizionare il puntatore.
Scheda di riferimento rapido per le funzioni video Avviare una videochiamata 1.Passare il puntatore del mouse sulla foto di un contatto e fare clic sul.
INFORMAZIONI RISERVATE. Distribuzione riservata ai partner ai sensi dell'accordo di riservatezza. Microsoft non rilascia garanzie esplicite o implicite.
Prof.ssa Chiara Petrioli -- corso di programmazione 1, a.a. 2006/2007 Corso di Programmazione 1 a.a.2006/2007 Prof.ssa Chiara Petrioli Corso di Laurea.
Presentazione progetti per il bando “Interventi per il miglioramento dell’efficienza energetica degli impianti di illuminazione pubblica” Manuale di supporto.
1 MANUALE GESTIONE FAX FaxMaker non verrà più utilizzato, i client non verranno disinstallati dai pc per consentire la consultazione dell’archivio, siete.
PRIMI PASSI PER L’UTILIZZO DELLO STRUMENTO Meetup Movimento 5 Stelle Feltre Passo 1: Vai all’indirizzo (consiglio: inserisci questo.
MODULO 01 Unità didattica 04
MP – SC Applicativo pause VDT per UP Funzionalità operative Roma, 4 ottobre 2010.
Come utilizzare il portale rma MARZO CONTENUTO Vantaggi Navigazione nel Portale RMA Creare nuove Richieste di Riparazione Autorizzazione Informazioni.
Relazione sulle strutture dati Svolta da: Buccella Simone Strutture di dati Aree di memoria Puntatore numericibooleani alfabetici Statici dinamici Puntatori.
1 Input/Output. 2 Livelli del sottosistema di I/O Hardware Gestori delle interruzioni Driver dei dispositivi Software di sistema indipendente dal dispositivo.
Titolo tesi: PROGETTAZIONE E SVILUPPO DI SCRIPTS PER IL MONITORAGGIO DI DEVICES MOBILI ATTRAVERSO L’UTILIZZO DEL SOFTWARE DEVICE-ANYWHERE™ DI MOBILE COMPLETE.
1 Input/Output. 2 Livelli del sottosistema di I/O Hardware Gestori delle interruzioni Driver dei dispositivi Software di sistema indipendente dal dispositivo.
Sistemi di elaborazione dell’informazione Modulo 4 -Tecniche di programmazione distribuita Unità didattica 1 - Socket library Ernesto Damiani Lezione 3.
Reti di calcolatori LS1 Service Middleware Reti di calcolatori LS progetto di Andrea Belardi Infrastruttura dedicata alla gestione di servizi disponibili.
Sistemi di elaborazione dell’informazione Modulo 4 - Tecniche di programmazione distribuita Unità didattica 1 -Socket library Ernesto Damiani Lezione 4.
Progetto e Realizzazione di un servizio di Chat Progetto di: Nicoli Leonardo Corso di: Reti di Calcolatori L-S.
Linguaggio C: Le basi Stefano Cagnoni e Monica Mordonini
Hattrick Stadium Corso di Reti di Calcolatori LS Anno Accademico 2005/2006 Dolif Emilano matr
GUIDA ALL’UTILIZZO DEL
Scratch.
GATECOP Benvenuti in Gatecop, programma specializzato per la gestione delle Palestre.
DISTINTA ONLINE PROCEDURA DI COMPILAZIONE
1 Metodo I metodi sono uno strumento che i programmatori usano per strutturare i programmi, sia per renderli più facili da capire che per permettere il.
SISTEMA GESTIONE TOMBINI
CIVIS canale telematico per l’assistenza sulle comunicazioni di irregolarità, sulle cartelle di pagamento e la presentazione documenti (36/ter)
+ Connettersi al web Nicolò Sordoni. + Verificare se lo smartphone è connesso Per poter accedere alla rete, è consigliato innanzitutto verificare se il.
+ Geolocalizzazione Nicolò Sordoni. + Servizi di localizzazione In Windows Phone, la posizione dell’utente può essere rilevata in 3 differenti modi: GPS:
Socket programming in Java La realizzazione di un server in Java consente di scrivere una sola versione eseguibile su diverse piattaforme. Il linguaggio.
Socket programming in Java La realizzazione di un server in Java consente di scrivere una sola versione eseguibile su diverse piattaforme. Il linguaggio.
28/06/2016Francesco Serafini INDICO Parte 2. 28/06/2016Francesco Serafini CREAZIONE EVENTI Gli eventi possono essere creati in qualsiasi categoria, che.
Cassetto Professionisti Cassetto Previdenziale per Liberi Professionisti iscritti alla Gestione Separata 1.
Transcript della presentazione:

Cryptophone 2 Matteo Ferrari

Descrizione del Problema e Soluzioni adottate. Realizzare un’interfaccia grafica in C# per dispositivi Mobile di un progetto pre- esistente scritto in C++. Riutilizzare la logica esistente mediante utilizzo di librerie (DLL) Implementazione dello scambio di sms come richiesta di chiamata (permettendo l’utilizzo della lista contatti)

L’applicazione Una volta avviata l’applicazione si presenta nella sua schermata principale In questo stato l’applicazione è già operativa e pronta a ricevere richieste di chiamate. Usando il pad numerico è possibile inserire manualmente l’indirizzo ip da chiamare. Se però vogliamo chiamare un nostro contatto in rubrica (che a sua volta dispone di questo software) possiamo accedere a quest’ultima selezionando il menù Contact => Call a contact.

L’applicazione Il risultato è il seguente Nella listBox verranno elencati i contatti memorizzati sul telefono e sarà possibile selezionanrne uno. È possibile ritornare alla schermata principale selezionando il tasto Return senza scatenare nessuna azione oppure, dopo aver selezionato il contatto, avviare la chiamata mediante il controllo Call.

L’applicazione Chi riceve una chiamata vedrà comparire la seguente schermata Ora l’utente ha la possibilità di decidere se rifiutare o accettare il collegamento. In caso di richiesta di chiamata via SMS (selezionando il contatto dalla rubrica), nella prima textBox comparirà il numero del Contatto e nella seconda il nome. In caso la richiesta di chiamata avvenga immettendo direttamente l’indirizzo ip, coparirà solamente una sola textBox con l’indirizzo ip che ha effettuato la richiesta.

L’applicazione Una volta accettata la chiamata verrà mostrata la seguente schermata In questa fase della chiamata verranno generate le chiavi di sicurezza e scambiate mediante socket utilizzando i servizi messi a disposizione da una delle due librerie. Se lo scambio delle chiavi ha esito positivo verrà avviato il processo pjmedia che permette la vera e propria comunicazione. Se la comunicazione viene avviata con successo, la scritta Wait... si trasforma in SAS: con la stringa che i due interlocutori devono scambiarsi a voce in modo da evitare attacchi di tipo Men in the Middle.

SMS come comando di richiesta chiamata In questa nuova versione dell’applicazione è possibile chiamare un contatto presente in rubrica senza conoscere il suo indirizzo ip. Per far questo si ha il bisogno di utilizzare uno strumento in più: gli SMS. L’applicazione è impostata per intercettare gli sms e gestire solo quelli che iniziano con “Cryptophone:” evitando di farli gestire dal sistema operativo. L’utilizzo degli SMS risulta totalmente trasparente all’utente (che ovviamente dovrà essere informato, all’atto dell’installazione, dell’utilizzo della messaggistica). Nel messaggio l’utente manda la richiesta di chiamata insieme all’indirizzo ip sul quale è raggiungibile.

SMS come comando di richiesta chiamata

Socket: La comunicazione La comunicazione avviene mediante l’utilizzo dei socket. I metodi che agiscono su di essi sono per natura bloccanti quindi il loro lavoro è stato relegato a thread appositi. Ve ne sono 3 che gestiscono 3 aspetti diversi. waitForCallThread(). waitForCloseCallThread(). doingCallThread().

Socket: La comunicazione waitForCallThread(). Questo thread si mette in ascolto di richieste di chiamata e, al loro arrivo, fa comparire il form per accettare o rifiutare la chiamata. Una volta accettata instanzia il form che gestirà tutti gli aspetti della chiamata

Socket: La comunicazione waitForCloseCallThread(). Questo thread si mette in ascolto di eventuali comandi di interruzione che il partner della chiamata genera (come la chiusura prematura di una comunicazione) e agisce su una varibile interna del form di chiamata per permetterne la chiusura.

Socket: La comunicazione doingCallThread(). Questo thread permette, ricavato l’ip (dall’sms o dal textbox relativo), di effettuare una richiesta di chiamata. Se accettata abilità l’inizializzazione del form che gestirà la comunicazione.

Richiesta di Chiamata: Rifiutare

Richiesta di Chiamata: Accettare

Dynamic-link Library: Socket and Security Library Questa è la prima delle due DLL. Mette a disposizione 3 funzioni che permettono la generazione e lo scambio delle chiavi di sicurezza necessarie alla crittografia del flusso audio. I metodi che esporta sono I seguenti: int sock_crea(char* indIP, int numero, char* returnIP); sock_chiudi(); int sock_scambioChiavi(char* keyTX, char* keyRX, char* keyVocal);

Dynamic-link Library: Socket and Security Library int sock_crea(char* indIP, int numero, char* returnIP); Questa funzione permette di instanziare e inizializzare I socket su cui verranno trasmesse le chiavi.

Dynamic-link Library: Socket and Security Library sock_chiudi(); Rilascia le risorse e chiude I canali di comunicazione. Questa funzione viene invocata subito dopo la conclusione dello scambio delle chiavi.

Dynamic-link Library: Socket and Security Library int sock_scambioChiavi(char* keyTX, char* keyRX, char* keyVocal); Questa funzione genera le chiavi da utilizzare e utilizza I socket precedentemente creati per scambiare le chiavi pubbliche. Inoltre genera il codice SAS che verrà mostrato dall’applicazione per evitare gli attacchi di tipo Men In The Middle.

Dynamic-link Library: PjMedia Library In questa seconda dll vengono messe a disposizione le funzioni che permettono di attivare la libreria pjmedia incaricata effettuare la vera comunicazione crittografata. I metodi esportati sono: int start(char* ip, char* port, char* codec, char* keyTX, char* keyRX); int stop();

Dynamic-link Library: PjMedia Library int start(char* ip, char* port, char* codec, char* keyTX, char* keyRX); Questa funzione inizializza le strutture della libreria pjmedia, prende in ingresso i parametri che son stati generati dall’altra dll e attiva microfono e altoparlante del telefono permettendo il flusso audio crittografato.

Dynamic-link Library: PjMedia Library int stop(); Questa funzione permette di fermare la comunicazione e rilascia le risorse occupate dalle strutture che la libreria pjmedia utilizza.

La chiamata è stata accettata. Cosa succede?

Staff CoachSport

Budget Budget info here