Presentazione della mia tesi di laurea presso l'UNISA (Università degli Studi di Salerno) incentrata sullo studio della tecnologia WebRTC per la realizzazione di uno strumento aziendale di videoconferenza e file sharing. Altre tecnologie utilizzate: EasyRTC e Identity Provider.
SIGNALR TO-THE-MAX: VERSO IL WEB ED OLTRE!DotNetCampus
Vedremo come impiegare SignalR al massimo per realizzare una infrastruttura che serva a semplificare la creazione di HubHost da poter usare sia in modo tradizionale sia à-la WCF Service da sfruttare anche al di fuori dell'ambiente web per la comunicazione tra processi, approfondendo inoltre anche i meccanismi della Pipeline dell ErrorHandling per implementare Listener e Logger. Aggireremo inoltre una limitazione dell HubClient creandone una versione strong-typed completamente event-based.
Liferay SSL/TLS Security. Come configurare il bundle Liferay per abilitare il...Antonio Musarra
In questo eBook sarà affrontato un argomento legato alla sicurezza che riguarda il come rendere sicure le connessioni HTTP attraverso il protocollo SSL/TLS (da ora in avanti TLS). Questo aspetto di sicurezza non è strettamente legato a Liferay, infatti non esiste nessun riferimento sulla LDN, riguarda invece l’infrastruttura dove il portale Liferay è collocato.
Il percorso che seguiremo nel corso di questo eBook per raggiungere il nostro obiettivo, sarà così organizzato:
1. Gestione dei certificati
2. Configurazione del protocollo TLS
3. Configurazione del portale Liferay (sia Apache Tomcat sia WildFly)
SIGNALR TO-THE-MAX: VERSO IL WEB ED OLTRE!DotNetCampus
Vedremo come impiegare SignalR al massimo per realizzare una infrastruttura che serva a semplificare la creazione di HubHost da poter usare sia in modo tradizionale sia à-la WCF Service da sfruttare anche al di fuori dell'ambiente web per la comunicazione tra processi, approfondendo inoltre anche i meccanismi della Pipeline dell ErrorHandling per implementare Listener e Logger. Aggireremo inoltre una limitazione dell HubClient creandone una versione strong-typed completamente event-based.
Liferay SSL/TLS Security. Come configurare il bundle Liferay per abilitare il...Antonio Musarra
In questo eBook sarà affrontato un argomento legato alla sicurezza che riguarda il come rendere sicure le connessioni HTTP attraverso il protocollo SSL/TLS (da ora in avanti TLS). Questo aspetto di sicurezza non è strettamente legato a Liferay, infatti non esiste nessun riferimento sulla LDN, riguarda invece l’infrastruttura dove il portale Liferay è collocato.
Il percorso che seguiremo nel corso di questo eBook per raggiungere il nostro obiettivo, sarà così organizzato:
1. Gestione dei certificati
2. Configurazione del protocollo TLS
3. Configurazione del portale Liferay (sia Apache Tomcat sia WildFly)
Programma il futuro: una scelta open sourceMarco Ferrigno
Un'analisi tecnica dello strumento che avrà un grande impatto culturale sul futuro del nostro Paese: Programma Il Futuro. Nato da un'idea che ha visto coinvolti Il MIUR, il CINI – Consorzio Interuniversitario Nazionale per l’Informatica - e aziende IT intervenute come sponsor, l'iniziativa ha l’obiettivo di fornire alle scuole una serie di strumenti semplici, divertenti e facilmente accessibili per formare gli studenti ai concetti di base dell'informatica. Il fine ultimo è dunque la formazione sin dalla tenera età del pensiero computazionale. Scopriremo insieme al collega Mario Rossano (responsabile della progettazione software) il perchè di un approccio opensource ad un progetto ad elevata criticità per il sistema Paese.
Linux Day 2014 - Napoli - Programma Il Futuro: una scelta open sourceMario Rossano
Slide di presentazione del progetto Programma Il Futuro (http://www.programmailfuturo.it) che mi ha visto come progettista del software in cooperazione con Marco Ferrigno che ha curato l'infrastruttura di rete.
Il progetto, ideato dal prof. Giorgio Ventre (Univ. "Federico II" di Napoli) ed il prof. Enrico Nardelli (Univ. di Roma "Tor Vergata") per il CINI (Consorzio Interuniversitario Nazionale per l'Informatica) ed il MIUR (Ministero dell'Istruzione, Università e Ricerca), fa parte de "La Buona Scuola", iniziativa promossa dal Ministro Giannini, in collegamento con il progetto internazionale Code.org tra i cui testimonial Barak Obama.
Il portale, che è il primo ad integrare la crittografia frattale FNA che ho sviluppato, ha come cuore il sistema di registrazione con profilazione capillare - a nodi - degli utenti, ed il bridge di comunicazione (un hack) verso il sistema di registrazione di code.org e di hourofcode.com.
Nelle slides i link ipertestuali verso pastebin.com dove sono riportate alcune parti del codice crittografico e del bridge in Perl.
Tesi di: Lino Antonio Buono
Relatore: Marco Cremonini
Lavoro dedicato a tecniche avanzate di OSINT con particolare attenzione alle possibili strategie di deaninomizzazione di comunicazioni via TOR.
Strumenti per il deploy e l'esecuzione di Smart Contract sulla Blockchain Ethereum. Interazione fra Blockchain e Intelligenza Artificiale a livello strutturale e applicativo.
SignalR, il WebSocket che tanto ci mancavaAndrea Tosato
Sessione presentata a CodeGen 2018, evento di CloudGenVerona.
SignalR, il WebSocket che tanto ci mancava.
Vengono presentati scenari On-Premise e Cloud scalabili.
Sessione "Fun with Machine Translation APIs" tenuta al DotNetCmpus 2012.
Microsoft Translator è il frutto del reparto ricerca e sviluppo Microsoft che permette, tramite una serie di API multi protocollo, di fornire ai nostri utenti un servizio di traduzione automatica. La sessione è dedicata alla scoperta delle funzionalità e degli scenari supportati da questa innovativa piattaforma di traduziuone automatica. Durante la sessione si cercherà di dare un quadro preciso e puntuale di quando usare e quando non utilizzare un meccanismo di traduzione automatica.
Utilizziamo il Bot Framework per realizzare il nostro primo Bot utilizzabile sulle maggiori piattaforme di Messaging (facebook, telegram, skype, slack e molto altro) e con la potenza dei cognitive rendiamo in grado di analizzare e reagire alle immagini che invieeremo.
More Related Content
Similar to WebRTC per la realizzazione di uno strumento di videoconferenza aziendale
Programma il futuro: una scelta open sourceMarco Ferrigno
Un'analisi tecnica dello strumento che avrà un grande impatto culturale sul futuro del nostro Paese: Programma Il Futuro. Nato da un'idea che ha visto coinvolti Il MIUR, il CINI – Consorzio Interuniversitario Nazionale per l’Informatica - e aziende IT intervenute come sponsor, l'iniziativa ha l’obiettivo di fornire alle scuole una serie di strumenti semplici, divertenti e facilmente accessibili per formare gli studenti ai concetti di base dell'informatica. Il fine ultimo è dunque la formazione sin dalla tenera età del pensiero computazionale. Scopriremo insieme al collega Mario Rossano (responsabile della progettazione software) il perchè di un approccio opensource ad un progetto ad elevata criticità per il sistema Paese.
Linux Day 2014 - Napoli - Programma Il Futuro: una scelta open sourceMario Rossano
Slide di presentazione del progetto Programma Il Futuro (http://www.programmailfuturo.it) che mi ha visto come progettista del software in cooperazione con Marco Ferrigno che ha curato l'infrastruttura di rete.
Il progetto, ideato dal prof. Giorgio Ventre (Univ. "Federico II" di Napoli) ed il prof. Enrico Nardelli (Univ. di Roma "Tor Vergata") per il CINI (Consorzio Interuniversitario Nazionale per l'Informatica) ed il MIUR (Ministero dell'Istruzione, Università e Ricerca), fa parte de "La Buona Scuola", iniziativa promossa dal Ministro Giannini, in collegamento con il progetto internazionale Code.org tra i cui testimonial Barak Obama.
Il portale, che è il primo ad integrare la crittografia frattale FNA che ho sviluppato, ha come cuore il sistema di registrazione con profilazione capillare - a nodi - degli utenti, ed il bridge di comunicazione (un hack) verso il sistema di registrazione di code.org e di hourofcode.com.
Nelle slides i link ipertestuali verso pastebin.com dove sono riportate alcune parti del codice crittografico e del bridge in Perl.
Tesi di: Lino Antonio Buono
Relatore: Marco Cremonini
Lavoro dedicato a tecniche avanzate di OSINT con particolare attenzione alle possibili strategie di deaninomizzazione di comunicazioni via TOR.
Strumenti per il deploy e l'esecuzione di Smart Contract sulla Blockchain Ethereum. Interazione fra Blockchain e Intelligenza Artificiale a livello strutturale e applicativo.
SignalR, il WebSocket che tanto ci mancavaAndrea Tosato
Sessione presentata a CodeGen 2018, evento di CloudGenVerona.
SignalR, il WebSocket che tanto ci mancava.
Vengono presentati scenari On-Premise e Cloud scalabili.
Sessione "Fun with Machine Translation APIs" tenuta al DotNetCmpus 2012.
Microsoft Translator è il frutto del reparto ricerca e sviluppo Microsoft che permette, tramite una serie di API multi protocollo, di fornire ai nostri utenti un servizio di traduzione automatica. La sessione è dedicata alla scoperta delle funzionalità e degli scenari supportati da questa innovativa piattaforma di traduziuone automatica. Durante la sessione si cercherà di dare un quadro preciso e puntuale di quando usare e quando non utilizzare un meccanismo di traduzione automatica.
Utilizziamo il Bot Framework per realizzare il nostro primo Bot utilizzabile sulle maggiori piattaforme di Messaging (facebook, telegram, skype, slack e molto altro) e con la potenza dei cognitive rendiamo in grado di analizzare e reagire alle immagini che invieeremo.
Similar to WebRTC per la realizzazione di uno strumento di videoconferenza aziendale (20)
WebRTC per la realizzazione di uno strumento di videoconferenza aziendale
1. UNIVERSITÀ DEGLI STUDI DI SALERNO
Dipartimento di Informatica
TESI DI LAUREA IN
INFORMATICA
Studio della tecnologia WebRTC per la realizzazione
di uno
strumento di videoconferenza e file sharing
Relatrice:
Ch.ma Prof.ssa
Filomena De Santis
Candidato:
Francesco Montanino
Matr.: 0512101725
3. WebRTC
WebRTC (Web Real-Time
Communication) è un
recente standard open
source appoggiato da W3C
(World Wide Web
Consortium) e IETF
(Internet Engineering Task
Force) che consente, ai
browser che supportano
HTML5, di comunicare in
real-time utilizzando
un’architettura peer to peer.
4. WebRTC: Signaling
Architettura peer to peer ma…
…c’è bisogno di un server
Browser (Peer)
WebRTC
Application
Browser (Peer)
WebRTC
Application
Peer to peer communication
(audio, video, data)
Signaling
Server
5. WebRTC: Sicurezza
Browser (Peer)
WebRTC
Application
Browser (Peer)
WebRTC
Application
Peer to peer communication
(audio, video, data)
DTLS + SRTP
Signaling
Server
Protocolli di sicurezza utilizzati per la
condivisione dei dati:
• DTLS (Datagram Transport Layer
Security);
• SRTP (Secure Real-Time
Transport Protocol).
7. EasyRTC
EasyRTC è una soluzione open-
source, basata su WebRTC, che
mette a disposizione dello
sviluppatore una libreria client ed una
server consentendo la creazione di
una semplice applicazione di video-
conferenza, chat e condivisione di file
utilizzando poche righe di codice.
9. Descrizione del prototipo
Il prototipo sviluppato ha lo scopo di
consentire la comunicazione in un
contesto aziendale, fornendo uno
strumento realizzato per funzionare
all’interno della propria rete aziendale.
14. Irrobustimenti di sicurezza
Fase di autenticazione
In questa fase i compiti
principali dell’Identity Provider
sono quelli di permettere
all’utente l’autenticazione per
consentire l’accesso alla room e
di restituire all’applicazione un
Access Token e le informazioni
personali richieste (nome,
cognome, email).
15. Richiesta di connessione
In questa fase l’Identity
Provider viene interpellato dal
server per richiedere la verifica
dell’Access Token dell’utente
che ha richiesto una
connessione.
Irrobustimenti di sicurezza
17. Integrazione di TURN e STUN
Server STUN: fornisce un
indirizzo pubblico, rendendo il
peer visibile al di fuori della
propria rete.
Server TURN: possiede, a
differenza di un server STUN,
la funzionalità di trasmissione
di uno stream.
Alternative media traffic
Salve sono Montanino Francesco, il mio lavoro di tesi, tenuto durante il periodo di tirocinio esterno presso l’azienda Kineton di Napoli, è incentrato sullo studio della tecnologia WebRTC e lo sviluppo di un prototipo aziendale di videoconferenza e file sharing.
WebRTC è un recente standard open source che permette ai browser che supportano HTML5, di comunicare in real time utilizzando un’architettura peer to peer. Esso infatti consente lo scambio di uno stream audio-video e la condivisione di file direttamente attraverso i browser, i quali possono trovarsi su dispositivi completamente diversi.
Questo sembra in contraddizione con quanto detto in precedenza ma per funzionare a pieno WebRTC ha bisogno di un server di signaling.
Server di signaling che ha lo scopo di coordinare la comunicazione tra i peer coinvolti, come la gestione dell’avvio e la chiusura della comunicazione e l’invio di messaggi di controllo.
WebRTC per garantire la sicurezza della comunicazione utilizza due protocolli: DTLS e SRTP. DTLS (Datagram Transport Layer Security) utilizzato per impedire l'intercettazione, la manomissione o la falsificazione dei messaggi [7]. SRTP (Secure Real-Time Transport Protocol) invece aggiunge alcune funzionalità di sicurezza, come l’autenticazione dei messaggi, la riservatezza e la protezione contro la riproduzione.
WebRTC offre agli sviluppatori una semplice API Javascript basata su tre concetti fondamentali:
MediaStream (o getUserMedia)
RTCPeerConnection
RTCDataChannel
MediaStream permette al browser di richiedere agli utenti il consenso per l’acquisizione dello stream audio e video grazie al metodo getUserMedia().
RTCPeerConnection rappresenta il collegamento esistente tra i due peer e può essere utilizzata per inviare al corrispettivo peer connesso lo stream ricevuto da getUserMedia().
RTCDataChannel rappresenta un canale di comunicazione tra due peer per consentire lo scambio di dati generici.
Tra le diverse soluzioni prese in considerazione per l’implementazione del prototipo, ma la più appropriata alle esigenze dell’azienda è risultata essere EasyRTC.
La libreria per il client browser è scritta in Javascript e permette al client di comunicare col server per gestire il signaling dell’applicazione e crea uno strato software in grado di separare le applicazioni dagli eventuali cambiamenti in corso nelle API di WebRTC.
La libreria server esposta invece è basata su Node.js.
…esso permette la condivisione di uno stream audio/video, di messaggi e di file.
Il prototipo realizzato, presenta la seguente architettura.
In una comunicazione tra due utenti è indispensabile che ognuno dei due abbia la certezza di essere realmente in contatto con la persona che lui crede e che quindi non ci siano stati furti di identità. Questo significa che l’identità dei due peer deve essere verificata anche quando non è in corso la condivisione di uno stream video.
Per risolvere questo problema, ci vengono in aiuto gli Identity Provider (IdP), ovvero dei servizi esterni (come Facebook, Google+, Twitter, eccetera) che permettono l’autenticazione al sito web, utilizzando però identità già create e verificate in precedenza all’interno dei social network.
Identity Provider che vengono sfruttati in due fasi dell’utilizzo dell’applicazione web: durante la fase di autenticazione e ogni qualvolta viene richiesta una connessione. Nella fase di autenticazione il client utilizza l’Identity Provider per richiedere l’accesso ottenendo in questo modo un Access Token il quale verrà inviato, unitamente ai dati dell’utente al server. Il server andrà ad associare L’EasyRTCID, utile per individuare univocamente il peer sul server, all’Access Token e lo andrà a memorizzare in un file.
Mentre durante una richiesta di connessione, l’applicativo del client richiederà al server la validazione dell’identità del peer che ha richiesto la connessione tramite l’Identity Provider. Nel caso in cui i parametri ritornati dall’Identity Provider coincidano con quelli memorizzati sul server, allora comparirà la richiesta di connessione sull’applicazione del client che l’ha ricevuta.
Il protocollo ICE infatti per avviare una connessione tenta dapprima tutte le possibili connessioni dirette tra i due peer attraverso UDP, o TCP in caso di problemi, scegliendo la strada più efficiente. Nel caso in cui non fosse possibile si serve di una tipologia di server denominata STUN (Session Traversal Utilities for NAT) che ha il solo scopo di rendere il peer visibile al di fuori della rete grazie al fatto che offre un indirizzo e ad una relativa porta, entrambi pubblici.
Nel caso in cui dovesse fallire anche questa soluzione, il traffico verrà indirizzato su di un server TURN (Traversal Using Relays around NAT).
Un server TURN è un’estensione del server STUN, difatti esso possiede in aggiunta solo le funzionalità di trasmissione. In questo caso quindi lo stream verrebbe trasmesso attraverso i corrispondenti server TURN e non più direttamente tramite i due peer.