SlideShare ist ein Scribd-Unternehmen logo
1 von 31
Downloaden Sie, um offline zu lesen
Jitsi
‫قنبریان‬ ‫مهدیس‬
Overview
 Introduction
 History
 Features
 Supported protocols
 Architecture
 Designing Jitsi
 Jitsi and the OSGi Framework
 Service Structure
 Protocol Provider Service
 Media Service
 Security
 Voice Privacy
 Chat Privacy
 Authorization
2
Introduction
 Jitsi (formerly SIP Communicator)
 A free and open source multiplatform
 voice (VoIP), videoconferencing and instant messaging
 for Windows, Linux, Mac OS X and Android
 Released under the terms of the
Apache Software License
3
History
 Started in 2003 in the context of a student project by
Emil Ivov at the University of Strasbourg
 An example video phone in the JAIN-SIP stack
 Used as an experimentation tool because of its support for
IPv6
 Adding support for protocols other than SIP
 In 2011, adding support for audio/video
communication over XMPP
 In 2014, "Jitsi + Ostel" scored 6 out of 7 points on the
Electronic Frontier Foundation's secure messaging
scorecard
4
Features
 Supports multiple operating systems
 Direct media connection establishment with the ICE
protocol
 File transfer for XMPP, AIM/ICQ, Windows Live
Messenger, YIM
 IPv6 support for SIP and XMPP
 Media relaying with the TURN protocol
5
Features
 Voice and video calls for SIP and XMPP using
H.264 and H.263 or VP8 for video encoding
 Wideband audio with SILK, G.722, Speex and
Opus
 Packet loss concealment with the SILK and Opus
codecs
6
Supported protocols
 MSNP (Microsoft Messenger service, commonly known as MSN,
.NET, or Live; no multimedia support)
 OSCAR (AIM/ICQ/MobileMe)
 SIP/SIMPLE
 XMPP/Jingle (Google Talk, LJ Talk, Gizmo5, Facebook Chat,
…)
 YMSG (YIM; only basic chat and file transfers)
7
Architecture
 Uses the Apache Felix OSGi implementation for
modularity
 Uses the JAIN-SIP protocol stack for SIP support
and the Jive Software Smack library for XMPP
 Complete an ICE implementation called ice4j.org
 Audio systems supported are PortAudio,
PulseAudio and WASAPI
8
Designing Jitsi
 The three most important constraints :
 multi-protocol support
 cross-platform operation
 developer-friendliness
9
Jitsi and the OSGi Framework
 OSGi is about modules
 Jitsi is a collection of OSGi bundles
 OSGi services
 representing the part of a bundle that is visible to everyone
else
 a group of Java interfaces that allow use of a specific
functionality
10
Jitsi and the OSGi Framework
 service implementation
 The classes that actually implement the functionality
 name of the service interface they implement, with an "Impl"
suffix at the end (e.g., ConfigurationServiceImpl).
 OSGi framework allows developers to hide service
implementations
11
Jitsi and the OSGi Framework
 Most bundles also have activators
 Activators are simple interfaces that define a start
and a stop method
 When calling these methods Felix passes them a parameter
called BundleContext
 The BundleContext gives bundles a way to connect
to the OSGi environment
12
Bundle Activation
13
Service Structure
 All services and implementations in Jitsi are
separated under these two packages
 service in net.java.sip.communicator.service
 package implementation in net.java.sip.communicator.impl
14
Service Structure
 register in the BundleContext and indicate that it
provides an implementation of the
ConfigurationService
 In net.java.sip.communicator.plugin
 keep bundles that use services defined by others but that
neither export nor implement any themselves
15
Service Structure
16
Protocol Provider Service
 The ProtocolProviderService in Jitsi defines the
way all protocol implementations behave
 The protocol service interfaces found under the
net.java.sip.communicator.service.protocol package
17
Media Service
 Real-time Transport Protocol (RTP)
 Actually move voice and video over the Internet
 SIP and XMPP are only responsible for preparing everything
that RTP needs
 MediaService and its implementation are located in
net.java.sip.communicator.service.neomedia and
net.java.sip.communicator.impl.neomedia
18
Security
 Encrypted password storage Password protection
with a master password
 Encrypted Instant Messaging with Off-the-Record
Messaging (OTRv4)
 Chat authentication with the Socialist Millionaire
Protocol over OTR

19
Security
 Call encryption with SRTP and ZRTP for XMPP
and SIP
 DNSSEC support
 TLS support and certificate-based client
authentication for SIP and XMPP
20
Voice Privacy
 ZRTP make encrypted phone calls over the
Internet
 uses three phases
 Discovery phase - detecting if the peers supports ZRTP
 Key agreement phase - exchanging the key material
 Secure phase - confirm the cryptographic data and switch to
SRTP mode
 ZRTP is not a replacement of SRTP but an enabler
to use SRTP in an easy way
21
Voice Privacy
 GNU ZRTP supports two authentication
algorithms:
 HMAC-SHA1 which supports authentication lengths of 32
and 80 bit
 Skein MAC which supports authentication lengths of 32 and
64 bit
22
Voice Privacy
 ZRTP uses the RTP session to exchange its data
 The Diffie-Helman key agreement protocol is
vulnerable to a Man-in-the-Middle (MitM) attack
 To overcome this problem ZRTP defines counter measures
to enable the users to detect a MitM
23
Chat Privacy
 Off-the-record Messaging (OTR) cryptographic
protocol
 Provides strong encryption for instant messaging
conversations
 Uses a combination of
 the AES symmetric-key algorithm
 the Diffie–Hellman key exchange
 the SHA-1 hash function
24
Chat Privacy
 Providing:
 encryption and authentication
 Forward secrecy
 Deniable authentication
 supports mutual authentication of users using a
shared secret through the socialist millionaire
protocol
 avoid a man-in-the-middle attack
25
Authorization
 Allow communications between only authorized
clients
 The action SendRequest
 An authorization mechanism is required before
any execution of the action SendRequest
26
27
Activity diagram for sending an instant message
Authorization
 The authorization aspect
 Specifies an access control behavior
 AddCheckPermission
 injects the authorization behavior as a structured activity
node before any SensitiveMethod
 Application-independent and must be specialized
by the developer
28
29
Authorization aspect
30
Sending an instant message with authorization
31
Sending an instant message with authorization

Weitere ähnliche Inhalte

Was ist angesagt?

암호화 이것만 알면 된다.
암호화 이것만 알면 된다.암호화 이것만 알면 된다.
암호화 이것만 알면 된다.KwangSeob Jeong
 
Pentesting like a grandmaster BSides London 2013
Pentesting like a grandmaster BSides London 2013Pentesting like a grandmaster BSides London 2013
Pentesting like a grandmaster BSides London 2013Abraham Aranguren
 
Cryptography 101 for Java Developers - Devoxx 2019
Cryptography 101 for Java Developers - Devoxx 2019Cryptography 101 for Java Developers - Devoxx 2019
Cryptography 101 for Java Developers - Devoxx 2019Michel Schudel
 
#Blockchain e #SmartContract- Le applicazioni nei sistemi logistici e nel com...
#Blockchain e #SmartContract- Le applicazioni nei sistemi logistici e nel com...#Blockchain e #SmartContract- Le applicazioni nei sistemi logistici e nel com...
#Blockchain e #SmartContract- Le applicazioni nei sistemi logistici e nel com...Giulia Aranguena
 
Digital court and benefits
Digital court and benefitsDigital court and benefits
Digital court and benefitsMahim121
 
Ip spoofing ppt
Ip spoofing pptIp spoofing ppt
Ip spoofing pptAnushakp9
 
Introduction to DID Auth for SSI with Markus Sabadello
Introduction to DID Auth for SSI with Markus SabadelloIntroduction to DID Auth for SSI with Markus Sabadello
Introduction to DID Auth for SSI with Markus SabadelloSSIMeetup
 
Privacy preserving computing and secure multi party computation
Privacy preserving computing and secure multi party computationPrivacy preserving computing and secure multi party computation
Privacy preserving computing and secure multi party computationUlf Mattsson
 
Bitcoin Addresses
Bitcoin AddressesBitcoin Addresses
Bitcoin Addressesashmoran
 
Socket Programming with Python
Socket Programming with PythonSocket Programming with Python
Socket Programming with PythonGLC Networks
 
RSA NetWitness Log Decoder
RSA NetWitness Log DecoderRSA NetWitness Log Decoder
RSA NetWitness Log DecoderSusam Pal
 

Was ist angesagt? (20)

암호화 이것만 알면 된다.
암호화 이것만 알면 된다.암호화 이것만 알면 된다.
암호화 이것만 알면 된다.
 
Pentesting like a grandmaster BSides London 2013
Pentesting like a grandmaster BSides London 2013Pentesting like a grandmaster BSides London 2013
Pentesting like a grandmaster BSides London 2013
 
Cryptography 101 for Java Developers - Devoxx 2019
Cryptography 101 for Java Developers - Devoxx 2019Cryptography 101 for Java Developers - Devoxx 2019
Cryptography 101 for Java Developers - Devoxx 2019
 
Mobile Forensics
Mobile Forensics Mobile Forensics
Mobile Forensics
 
#Blockchain e #SmartContract- Le applicazioni nei sistemi logistici e nel com...
#Blockchain e #SmartContract- Le applicazioni nei sistemi logistici e nel com...#Blockchain e #SmartContract- Le applicazioni nei sistemi logistici e nel com...
#Blockchain e #SmartContract- Le applicazioni nei sistemi logistici e nel com...
 
Digital Certificate
Digital CertificateDigital Certificate
Digital Certificate
 
WebRTC Seminar Report
WebRTC  Seminar ReportWebRTC  Seminar Report
WebRTC Seminar Report
 
Digital court and benefits
Digital court and benefitsDigital court and benefits
Digital court and benefits
 
Ip spoofing ppt
Ip spoofing pptIp spoofing ppt
Ip spoofing ppt
 
iCloud keychain
iCloud keychainiCloud keychain
iCloud keychain
 
Introduction to DID Auth for SSI with Markus Sabadello
Introduction to DID Auth for SSI with Markus SabadelloIntroduction to DID Auth for SSI with Markus Sabadello
Introduction to DID Auth for SSI with Markus Sabadello
 
Privacy preserving computing and secure multi party computation
Privacy preserving computing and secure multi party computationPrivacy preserving computing and secure multi party computation
Privacy preserving computing and secure multi party computation
 
Veracrypt
VeracryptVeracrypt
Veracrypt
 
Bitcoin Addresses
Bitcoin AddressesBitcoin Addresses
Bitcoin Addresses
 
Socket Programming with Python
Socket Programming with PythonSocket Programming with Python
Socket Programming with Python
 
Public Vs. Private Keys
Public Vs. Private KeysPublic Vs. Private Keys
Public Vs. Private Keys
 
I P S P O O F I N G
I P  S P O O F I N GI P  S P O O F I N G
I P S P O O F I N G
 
Cryptography ppt
Cryptography pptCryptography ppt
Cryptography ppt
 
Azure IoT Hub
Azure IoT HubAzure IoT Hub
Azure IoT Hub
 
RSA NetWitness Log Decoder
RSA NetWitness Log DecoderRSA NetWitness Log Decoder
RSA NetWitness Log Decoder
 

Andere mochten auch

Securing Voice Communication
Securing Voice CommunicationSecuring Voice Communication
Securing Voice CommunicationLuca Pradovera
 
Jitsi Videobridge
Jitsi VideobridgeJitsi Videobridge
Jitsi Videobridgeemilivov
 
Top 10 Best Skype Alternatives
Top 10 Best Skype AlternativesTop 10 Best Skype Alternatives
Top 10 Best Skype Alternativesmaccolar
 
Конференции с Jitsi Meet
Конференции с Jitsi MeetКонференции с Jitsi Meet
Конференции с Jitsi MeetYasen Pramatarov
 
Voice securityprotocol review
Voice securityprotocol reviewVoice securityprotocol review
Voice securityprotocol reviewFabio Pietrosanti
 
Reboot the Open Realtime Revolution - #MoreCrypto (Fall 2014)
Reboot the Open Realtime Revolution - #MoreCrypto (Fall 2014)Reboot the Open Realtime Revolution - #MoreCrypto (Fall 2014)
Reboot the Open Realtime Revolution - #MoreCrypto (Fall 2014)Olle E Johansson
 

Andere mochten auch (10)

Securing Voice Communication
Securing Voice CommunicationSecuring Voice Communication
Securing Voice Communication
 
Jitsi Videobridge
Jitsi VideobridgeJitsi Videobridge
Jitsi Videobridge
 
Jitsi meet
Jitsi meetJitsi meet
Jitsi meet
 
Top 10 Best Skype Alternatives
Top 10 Best Skype AlternativesTop 10 Best Skype Alternatives
Top 10 Best Skype Alternatives
 
Конференции с Jitsi Meet
Конференции с Jitsi MeetКонференции с Jitsi Meet
Конференции с Jitsi Meet
 
A jQuery for WebRTC
A jQuery for WebRTCA jQuery for WebRTC
A jQuery for WebRTC
 
De SIP a WebRTC y vice versa
De SIP a WebRTC y vice versaDe SIP a WebRTC y vice versa
De SIP a WebRTC y vice versa
 
Voice securityprotocol review
Voice securityprotocol reviewVoice securityprotocol review
Voice securityprotocol review
 
Jitsi: State of the Union
Jitsi: State of the UnionJitsi: State of the Union
Jitsi: State of the Union
 
Reboot the Open Realtime Revolution - #MoreCrypto (Fall 2014)
Reboot the Open Realtime Revolution - #MoreCrypto (Fall 2014)Reboot the Open Realtime Revolution - #MoreCrypto (Fall 2014)
Reboot the Open Realtime Revolution - #MoreCrypto (Fall 2014)
 

Ähnlich wie Jitsi

Ims, Ip Multimedia System
Ims, Ip Multimedia SystemIms, Ip Multimedia System
Ims, Ip Multimedia Systemmanymbaboy
 
End to End Open Source Telecom
End to End Open Source TelecomEnd to End Open Source Telecom
End to End Open Source TelecomAshish Banerjee
 
Review of SIP based DoS attacks
Review of SIP based DoS attacksReview of SIP based DoS attacks
Review of SIP based DoS attacksEditor IJCATR
 
Voice&Video Client Framework for Public Safety over LTE
Voice&Video Client Framework for Public Safety over LTEVoice&Video Client Framework for Public Safety over LTE
Voice&Video Client Framework for Public Safety over LTEMitchell Smith
 
Current trends and innovations in voice over IP
Current trends and innovations in voice over IPCurrent trends and innovations in voice over IP
Current trends and innovations in voice over IPALTANAI BISHT
 
IMA/Thales EchoVoice (VOIP) for OpenSimulator Presentation at OSCC19
IMA/Thales EchoVoice (VOIP) for OpenSimulator Presentation at OSCC19IMA/Thales EchoVoice (VOIP) for OpenSimulator Presentation at OSCC19
IMA/Thales EchoVoice (VOIP) for OpenSimulator Presentation at OSCC19Lisa Laxton
 
IMS IP multimedia subsystem presentation
IMS IP multimedia subsystem presentationIMS IP multimedia subsystem presentation
IMS IP multimedia subsystem presentationWaldir R. Pires Jr
 
AN OVERVIEW OF VOICE OVER INTERNET PROTOCOL (VOIP
AN OVERVIEW OF VOICE OVER INTERNET PROTOCOL (VOIPAN OVERVIEW OF VOICE OVER INTERNET PROTOCOL (VOIP
AN OVERVIEW OF VOICE OVER INTERNET PROTOCOL (VOIPSean Flores
 
Voice over IP: Issues and Protocols
Voice over IP: Issues and ProtocolsVoice over IP: Issues and Protocols
Voice over IP: Issues and ProtocolsVideoguy
 
Voip
VoipVoip
VoipPTCL
 
9726 dsi-protocol-stacks-ds new
9726 dsi-protocol-stacks-ds new9726 dsi-protocol-stacks-ds new
9726 dsi-protocol-stacks-ds newmm nn
 
Networking and communications security – network architecture design
Networking and communications security – network architecture designNetworking and communications security – network architecture design
Networking and communications security – network architecture designEnterpriseGRC Solutions, Inc.
 
Global Multimedia Collaboration System
Global Multimedia Collaboration SystemGlobal Multimedia Collaboration System
Global Multimedia Collaboration SystemVideoguy
 
Global Multimedia Collaboration System
Global Multimedia Collaboration SystemGlobal Multimedia Collaboration System
Global Multimedia Collaboration SystemVideoguy
 

Ähnlich wie Jitsi (20)

Ims, Ip Multimedia System
Ims, Ip Multimedia SystemIms, Ip Multimedia System
Ims, Ip Multimedia System
 
End to End Open Source Telecom
End to End Open Source TelecomEnd to End Open Source Telecom
End to End Open Source Telecom
 
lecture_5.pptx
lecture_5.pptxlecture_5.pptx
lecture_5.pptx
 
Review of SIP based DoS attacks
Review of SIP based DoS attacksReview of SIP based DoS attacks
Review of SIP based DoS attacks
 
Voice&Video Client Framework for Public Safety over LTE
Voice&Video Client Framework for Public Safety over LTEVoice&Video Client Framework for Public Safety over LTE
Voice&Video Client Framework for Public Safety over LTE
 
ECE 6570 Class01
ECE 6570 Class01ECE 6570 Class01
ECE 6570 Class01
 
Current trends and innovations in voice over IP
Current trends and innovations in voice over IPCurrent trends and innovations in voice over IP
Current trends and innovations in voice over IP
 
9517ijnsa03
9517ijnsa039517ijnsa03
9517ijnsa03
 
How does VOIP work diagram
How does VOIP work diagramHow does VOIP work diagram
How does VOIP work diagram
 
IMA/Thales EchoVoice (VOIP) for OpenSimulator Presentation at OSCC19
IMA/Thales EchoVoice (VOIP) for OpenSimulator Presentation at OSCC19IMA/Thales EchoVoice (VOIP) for OpenSimulator Presentation at OSCC19
IMA/Thales EchoVoice (VOIP) for OpenSimulator Presentation at OSCC19
 
IMS IP multimedia subsystem presentation
IMS IP multimedia subsystem presentationIMS IP multimedia subsystem presentation
IMS IP multimedia subsystem presentation
 
TCP_IP.pptx
TCP_IP.pptxTCP_IP.pptx
TCP_IP.pptx
 
AN OVERVIEW OF VOICE OVER INTERNET PROTOCOL (VOIP
AN OVERVIEW OF VOICE OVER INTERNET PROTOCOL (VOIPAN OVERVIEW OF VOICE OVER INTERNET PROTOCOL (VOIP
AN OVERVIEW OF VOICE OVER INTERNET PROTOCOL (VOIP
 
Voice over IP: Issues and Protocols
Voice over IP: Issues and ProtocolsVoice over IP: Issues and Protocols
Voice over IP: Issues and Protocols
 
Voip
VoipVoip
Voip
 
9726 dsi-protocol-stacks-ds new
9726 dsi-protocol-stacks-ds new9726 dsi-protocol-stacks-ds new
9726 dsi-protocol-stacks-ds new
 
R43019698
R43019698R43019698
R43019698
 
Networking and communications security – network architecture design
Networking and communications security – network architecture designNetworking and communications security – network architecture design
Networking and communications security – network architecture design
 
Global Multimedia Collaboration System
Global Multimedia Collaboration SystemGlobal Multimedia Collaboration System
Global Multimedia Collaboration System
 
Global Multimedia Collaboration System
Global Multimedia Collaboration SystemGlobal Multimedia Collaboration System
Global Multimedia Collaboration System
 

Kürzlich hochgeladen

MS4 level being good citizen -imperative- (1) (1).pdf
MS4 level   being good citizen -imperative- (1) (1).pdfMS4 level   being good citizen -imperative- (1) (1).pdf
MS4 level being good citizen -imperative- (1) (1).pdfMr Bounab Samir
 
Oppenheimer Film Discussion for Philosophy and Film
Oppenheimer Film Discussion for Philosophy and FilmOppenheimer Film Discussion for Philosophy and Film
Oppenheimer Film Discussion for Philosophy and FilmStan Meyer
 
Expanded definition: technical and operational
Expanded definition: technical and operationalExpanded definition: technical and operational
Expanded definition: technical and operationalssuser3e220a
 
Narcotic and Non Narcotic Analgesic..pdf
Narcotic and Non Narcotic Analgesic..pdfNarcotic and Non Narcotic Analgesic..pdf
Narcotic and Non Narcotic Analgesic..pdfPrerana Jadhav
 
4.11.24 Poverty and Inequality in America.pptx
4.11.24 Poverty and Inequality in America.pptx4.11.24 Poverty and Inequality in America.pptx
4.11.24 Poverty and Inequality in America.pptxmary850239
 
Grade Three -ELLNA-REVIEWER-ENGLISH.pptx
Grade Three -ELLNA-REVIEWER-ENGLISH.pptxGrade Three -ELLNA-REVIEWER-ENGLISH.pptx
Grade Three -ELLNA-REVIEWER-ENGLISH.pptxkarenfajardo43
 
ESP 4-EDITED.pdfmmcncncncmcmmnmnmncnmncmnnjvnnv
ESP 4-EDITED.pdfmmcncncncmcmmnmnmncnmncmnnjvnnvESP 4-EDITED.pdfmmcncncncmcmmnmnmncnmncmnnjvnnv
ESP 4-EDITED.pdfmmcncncncmcmmnmnmncnmncmnnjvnnvRicaMaeCastro1
 
Indexing Structures in Database Management system.pdf
Indexing Structures in Database Management system.pdfIndexing Structures in Database Management system.pdf
Indexing Structures in Database Management system.pdfChristalin Nelson
 
Textual Evidence in Reading and Writing of SHS
Textual Evidence in Reading and Writing of SHSTextual Evidence in Reading and Writing of SHS
Textual Evidence in Reading and Writing of SHSMae Pangan
 
Decoding the Tweet _ Practical Criticism in the Age of Hashtag.pptx
Decoding the Tweet _ Practical Criticism in the Age of Hashtag.pptxDecoding the Tweet _ Practical Criticism in the Age of Hashtag.pptx
Decoding the Tweet _ Practical Criticism in the Age of Hashtag.pptxDhatriParmar
 
Sulphonamides, mechanisms and their uses
Sulphonamides, mechanisms and their usesSulphonamides, mechanisms and their uses
Sulphonamides, mechanisms and their usesVijayaLaxmi84
 
Concurrency Control in Database Management system
Concurrency Control in Database Management systemConcurrency Control in Database Management system
Concurrency Control in Database Management systemChristalin Nelson
 
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdf
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdfGrade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdf
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdfJemuel Francisco
 
Daily Lesson Plan in Mathematics Quarter 4
Daily Lesson Plan in Mathematics Quarter 4Daily Lesson Plan in Mathematics Quarter 4
Daily Lesson Plan in Mathematics Quarter 4JOYLYNSAMANIEGO
 
Q4-PPT-Music9_Lesson-1-Romantic-Opera.pptx
Q4-PPT-Music9_Lesson-1-Romantic-Opera.pptxQ4-PPT-Music9_Lesson-1-Romantic-Opera.pptx
Q4-PPT-Music9_Lesson-1-Romantic-Opera.pptxlancelewisportillo
 
4.9.24 School Desegregation in Boston.pptx
4.9.24 School Desegregation in Boston.pptx4.9.24 School Desegregation in Boston.pptx
4.9.24 School Desegregation in Boston.pptxmary850239
 
CLASSIFICATION OF ANTI - CANCER DRUGS.pptx
CLASSIFICATION OF ANTI - CANCER DRUGS.pptxCLASSIFICATION OF ANTI - CANCER DRUGS.pptx
CLASSIFICATION OF ANTI - CANCER DRUGS.pptxAnupam32727
 

Kürzlich hochgeladen (20)

MS4 level being good citizen -imperative- (1) (1).pdf
MS4 level   being good citizen -imperative- (1) (1).pdfMS4 level   being good citizen -imperative- (1) (1).pdf
MS4 level being good citizen -imperative- (1) (1).pdf
 
Oppenheimer Film Discussion for Philosophy and Film
Oppenheimer Film Discussion for Philosophy and FilmOppenheimer Film Discussion for Philosophy and Film
Oppenheimer Film Discussion for Philosophy and Film
 
Expanded definition: technical and operational
Expanded definition: technical and operationalExpanded definition: technical and operational
Expanded definition: technical and operational
 
Narcotic and Non Narcotic Analgesic..pdf
Narcotic and Non Narcotic Analgesic..pdfNarcotic and Non Narcotic Analgesic..pdf
Narcotic and Non Narcotic Analgesic..pdf
 
4.11.24 Poverty and Inequality in America.pptx
4.11.24 Poverty and Inequality in America.pptx4.11.24 Poverty and Inequality in America.pptx
4.11.24 Poverty and Inequality in America.pptx
 
Grade Three -ELLNA-REVIEWER-ENGLISH.pptx
Grade Three -ELLNA-REVIEWER-ENGLISH.pptxGrade Three -ELLNA-REVIEWER-ENGLISH.pptx
Grade Three -ELLNA-REVIEWER-ENGLISH.pptx
 
ESP 4-EDITED.pdfmmcncncncmcmmnmnmncnmncmnnjvnnv
ESP 4-EDITED.pdfmmcncncncmcmmnmnmncnmncmnnjvnnvESP 4-EDITED.pdfmmcncncncmcmmnmnmncnmncmnnjvnnv
ESP 4-EDITED.pdfmmcncncncmcmmnmnmncnmncmnnjvnnv
 
Indexing Structures in Database Management system.pdf
Indexing Structures in Database Management system.pdfIndexing Structures in Database Management system.pdf
Indexing Structures in Database Management system.pdf
 
Paradigm shift in nursing research by RS MEHTA
Paradigm shift in nursing research by RS MEHTAParadigm shift in nursing research by RS MEHTA
Paradigm shift in nursing research by RS MEHTA
 
Textual Evidence in Reading and Writing of SHS
Textual Evidence in Reading and Writing of SHSTextual Evidence in Reading and Writing of SHS
Textual Evidence in Reading and Writing of SHS
 
Decoding the Tweet _ Practical Criticism in the Age of Hashtag.pptx
Decoding the Tweet _ Practical Criticism in the Age of Hashtag.pptxDecoding the Tweet _ Practical Criticism in the Age of Hashtag.pptx
Decoding the Tweet _ Practical Criticism in the Age of Hashtag.pptx
 
Sulphonamides, mechanisms and their uses
Sulphonamides, mechanisms and their usesSulphonamides, mechanisms and their uses
Sulphonamides, mechanisms and their uses
 
Mattingly "AI & Prompt Design: Large Language Models"
Mattingly "AI & Prompt Design: Large Language Models"Mattingly "AI & Prompt Design: Large Language Models"
Mattingly "AI & Prompt Design: Large Language Models"
 
Concurrency Control in Database Management system
Concurrency Control in Database Management systemConcurrency Control in Database Management system
Concurrency Control in Database Management system
 
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdf
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdfGrade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdf
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdf
 
Daily Lesson Plan in Mathematics Quarter 4
Daily Lesson Plan in Mathematics Quarter 4Daily Lesson Plan in Mathematics Quarter 4
Daily Lesson Plan in Mathematics Quarter 4
 
prashanth updated resume 2024 for Teaching Profession
prashanth updated resume 2024 for Teaching Professionprashanth updated resume 2024 for Teaching Profession
prashanth updated resume 2024 for Teaching Profession
 
Q4-PPT-Music9_Lesson-1-Romantic-Opera.pptx
Q4-PPT-Music9_Lesson-1-Romantic-Opera.pptxQ4-PPT-Music9_Lesson-1-Romantic-Opera.pptx
Q4-PPT-Music9_Lesson-1-Romantic-Opera.pptx
 
4.9.24 School Desegregation in Boston.pptx
4.9.24 School Desegregation in Boston.pptx4.9.24 School Desegregation in Boston.pptx
4.9.24 School Desegregation in Boston.pptx
 
CLASSIFICATION OF ANTI - CANCER DRUGS.pptx
CLASSIFICATION OF ANTI - CANCER DRUGS.pptxCLASSIFICATION OF ANTI - CANCER DRUGS.pptx
CLASSIFICATION OF ANTI - CANCER DRUGS.pptx
 

Jitsi

  • 2. Overview  Introduction  History  Features  Supported protocols  Architecture  Designing Jitsi  Jitsi and the OSGi Framework  Service Structure  Protocol Provider Service  Media Service  Security  Voice Privacy  Chat Privacy  Authorization 2
  • 3. Introduction  Jitsi (formerly SIP Communicator)  A free and open source multiplatform  voice (VoIP), videoconferencing and instant messaging  for Windows, Linux, Mac OS X and Android  Released under the terms of the Apache Software License 3
  • 4. History  Started in 2003 in the context of a student project by Emil Ivov at the University of Strasbourg  An example video phone in the JAIN-SIP stack  Used as an experimentation tool because of its support for IPv6  Adding support for protocols other than SIP  In 2011, adding support for audio/video communication over XMPP  In 2014, "Jitsi + Ostel" scored 6 out of 7 points on the Electronic Frontier Foundation's secure messaging scorecard 4
  • 5. Features  Supports multiple operating systems  Direct media connection establishment with the ICE protocol  File transfer for XMPP, AIM/ICQ, Windows Live Messenger, YIM  IPv6 support for SIP and XMPP  Media relaying with the TURN protocol 5
  • 6. Features  Voice and video calls for SIP and XMPP using H.264 and H.263 or VP8 for video encoding  Wideband audio with SILK, G.722, Speex and Opus  Packet loss concealment with the SILK and Opus codecs 6
  • 7. Supported protocols  MSNP (Microsoft Messenger service, commonly known as MSN, .NET, or Live; no multimedia support)  OSCAR (AIM/ICQ/MobileMe)  SIP/SIMPLE  XMPP/Jingle (Google Talk, LJ Talk, Gizmo5, Facebook Chat, …)  YMSG (YIM; only basic chat and file transfers) 7
  • 8. Architecture  Uses the Apache Felix OSGi implementation for modularity  Uses the JAIN-SIP protocol stack for SIP support and the Jive Software Smack library for XMPP  Complete an ICE implementation called ice4j.org  Audio systems supported are PortAudio, PulseAudio and WASAPI 8
  • 9. Designing Jitsi  The three most important constraints :  multi-protocol support  cross-platform operation  developer-friendliness 9
  • 10. Jitsi and the OSGi Framework  OSGi is about modules  Jitsi is a collection of OSGi bundles  OSGi services  representing the part of a bundle that is visible to everyone else  a group of Java interfaces that allow use of a specific functionality 10
  • 11. Jitsi and the OSGi Framework  service implementation  The classes that actually implement the functionality  name of the service interface they implement, with an "Impl" suffix at the end (e.g., ConfigurationServiceImpl).  OSGi framework allows developers to hide service implementations 11
  • 12. Jitsi and the OSGi Framework  Most bundles also have activators  Activators are simple interfaces that define a start and a stop method  When calling these methods Felix passes them a parameter called BundleContext  The BundleContext gives bundles a way to connect to the OSGi environment 12
  • 14. Service Structure  All services and implementations in Jitsi are separated under these two packages  service in net.java.sip.communicator.service  package implementation in net.java.sip.communicator.impl 14
  • 15. Service Structure  register in the BundleContext and indicate that it provides an implementation of the ConfigurationService  In net.java.sip.communicator.plugin  keep bundles that use services defined by others but that neither export nor implement any themselves 15
  • 17. Protocol Provider Service  The ProtocolProviderService in Jitsi defines the way all protocol implementations behave  The protocol service interfaces found under the net.java.sip.communicator.service.protocol package 17
  • 18. Media Service  Real-time Transport Protocol (RTP)  Actually move voice and video over the Internet  SIP and XMPP are only responsible for preparing everything that RTP needs  MediaService and its implementation are located in net.java.sip.communicator.service.neomedia and net.java.sip.communicator.impl.neomedia 18
  • 19. Security  Encrypted password storage Password protection with a master password  Encrypted Instant Messaging with Off-the-Record Messaging (OTRv4)  Chat authentication with the Socialist Millionaire Protocol over OTR  19
  • 20. Security  Call encryption with SRTP and ZRTP for XMPP and SIP  DNSSEC support  TLS support and certificate-based client authentication for SIP and XMPP 20
  • 21. Voice Privacy  ZRTP make encrypted phone calls over the Internet  uses three phases  Discovery phase - detecting if the peers supports ZRTP  Key agreement phase - exchanging the key material  Secure phase - confirm the cryptographic data and switch to SRTP mode  ZRTP is not a replacement of SRTP but an enabler to use SRTP in an easy way 21
  • 22. Voice Privacy  GNU ZRTP supports two authentication algorithms:  HMAC-SHA1 which supports authentication lengths of 32 and 80 bit  Skein MAC which supports authentication lengths of 32 and 64 bit 22
  • 23. Voice Privacy  ZRTP uses the RTP session to exchange its data  The Diffie-Helman key agreement protocol is vulnerable to a Man-in-the-Middle (MitM) attack  To overcome this problem ZRTP defines counter measures to enable the users to detect a MitM 23
  • 24. Chat Privacy  Off-the-record Messaging (OTR) cryptographic protocol  Provides strong encryption for instant messaging conversations  Uses a combination of  the AES symmetric-key algorithm  the Diffie–Hellman key exchange  the SHA-1 hash function 24
  • 25. Chat Privacy  Providing:  encryption and authentication  Forward secrecy  Deniable authentication  supports mutual authentication of users using a shared secret through the socialist millionaire protocol  avoid a man-in-the-middle attack 25
  • 26. Authorization  Allow communications between only authorized clients  The action SendRequest  An authorization mechanism is required before any execution of the action SendRequest 26
  • 27. 27 Activity diagram for sending an instant message
  • 28. Authorization  The authorization aspect  Specifies an access control behavior  AddCheckPermission  injects the authorization behavior as a structured activity node before any SensitiveMethod  Application-independent and must be specialized by the developer 28
  • 30. 30 Sending an instant message with authorization
  • 31. 31 Sending an instant message with authorization