Title: Groove
1Groove
- Preeti Mehra
- 16th November, 2001
- ECE - 579
2Groove Architecture
3(No Transcript)
4Mutually Trusting Shared Spaces
Mutually Suspicious Shared Spaces
- Message Received
- Re-compute MAC using LG
- Compare calc MAC with Transmitted MAC
5Why Mutually Suspicious Shared Spaces
- Corporate discussions where a lot is at risk
- Authenticated identity of a person is really
important for discussion
6Keys used
- Keys used so far
- One passphrase per account
- One symmetric key per account
- One asymmetric key pair per identity for
signature/Verification - Second asymmetric key pair per identity for
encryption / Decryption
7Keys in Mutually Suspicious Shared Spaces
- Diffie-Hellman public/private key pair
- These have to be authenticated identity key pairs
- Pairwise Symmetric keys are established
- These keys are not sent over wire. They are
calculated individually
8Calculation of Diffie-Hellman Pairwise Keys
9Message Format in trusting Mode
Delta Header Delta Body Header Body
Digest
Group Encryption Key
Group MAC Key
10Message Format in Suspicious Mode
11Why Multi-authenticators
- Constant signature size
- Constant Time to compute signature
- Support message fan-out and recovery of lost
messages - Works best for small groups.
12Relay Server
- A System that understands Groove protocols
- No knowledge about members.
- Knows only about shared spaces
- Uses of relay server
- Firewall transparency
- Message fanouts
- Permits user to work offline
13Relay for message fan-outs
____ Modem Link ____ High Speed Link
A
Relay Server
B
C
14Relaying vs. Direct Connection
15Recovery of lost messages
A
B
X
C
16Recovery of lost messages
A
B
Request As Message
C
17Recovery of lost messages
A
B
Sends As Message With B/C encryption A/C MAC
C
18Invitation of people into shared spaces
- Chair - Person who sends an invitation to join a
shared space - Ways of inviting
- Email
- Instant Messages
19Addition of User C
A
B
Delta message of addition of C Cs DH key
C
20- By accepting, Kathleen receives Andrews public
key - By accepting, Kathleen sends to Andrew her public
key - All future instant messages and invitations are
authenticated
21(No Transcript)
22Uninvitation of a member
- A rekey delta message is sent
- Changed membership information
- piggy-backed rekey information
- new group key - transmitted by pairwise
encrypting keys - New piggy-backed key is used to encrypt the
message - Currently there is no administrative control for
uninvitation.
23A
B
Uninvite message
C
24Rekey message sent for both trusted and not
trusted modesPer Member encryption always used
A
B
Rekey Message Group key encrypted using K (AB)
Membership Info
C
25Key Versioning Dependencies
A
B
____ Modem Link ____ High Speed Link
C
26Key Versioning Dependencies
A
B
____ Modem Link ____ High Speed Link
C
27Key Versioning Dependencies
A
B
____ Modem Link ____ High Speed Link
C
28Key Versioning Dependencies
A
B
____ Modem Link ____ High Speed Link
C
29Key Versioning Dependencies
A
B
____ Modem Link ____ High Speed Link
C
30Key Versioning Dependencies
A
B
____ Modem Link ____ High Speed Link
C
31Key Versioning Dependencies
M4
Internet
M1
M6
M5
M3
M2
32Key Versioning Dependencies
Uninvite message
M4
Internet
M1
M6
M3
M2
M5
33Addition of tools
- Any member can add new tools and functionality to
a Groove shared space.
- When Andrew adds a CAD Viewer Tool to the shared
space, Groove automatically tells the other
members shared spaces to add the CAD Viewer Tool
as well.
34- Members do not send tools to each other they
send commands to add a tool. - If a member already has the tool installed
locally, Groove simply adds the tool to the
shared space.
IT Controls
add tool
Andrew
- If a member does not already have the tool
installed, Groove automatically locates the tool
on a component server, downloads and installs the
tool, and adds it to the space. - All components are digitally signed.
- IT managers can limit which components users are
able to download, balancing end user control and
flexibility with corporate security guidelines.
35Enterprise Integration - multi-point Integration
www.groove.net
C
www.groove.net
B
www.groove.net
A
36Enterprise Integration - multi-point Integration
www.groove.net
C
www.groove.net
B
www.groove.net
A
37Enterprise Integration - multi-point Integration
Groove
C
Groove
B
Groove
A
38Enterprise Integration - single-point Integration
E
D
C
Data Source
BOT
A
39Enterprise Integration - single-point Integration
E
D
C
Data Source
BOT
A
40Enterprise Integration - single-point Integration
E
D
C
Data Source
BOT
A
41Building security in P2P (By IBM)
- Peer A connects to peer B announces its
identity - A is asked to authenticate itself
- Authentication can be done in any desired way
- B is asked to authenticate itself
- B authorizes A
- Encrypt channel to communicate
42Building security in P2P (By IBM)
- Peer AA communicates securely with C
- C communicates securely with B
- C gives A information about B (e.g. Keys)
- A initiates secure connection to B
43P2P and SSL
- JSSE - provides SSL for Java applications
- Function like regular sockets
- Transparent authentication and encryption
44Keystore - Private Key certificate containing
Public Key certificates of trusted peers. This
is protected by a password Scenario - A wants to
query resource B. But communication had to be
secure. Authentication proceeds as described
earlier
45Steps to use JSSE (Intialization)
- Prompt user for identity password
- Create home directory for that user
- Create a keystore. Secure APIs cannot do it in
same process. Needs an external process - Create an instance of keystore
- Create key manager to hold peers private key
- Create trust manager to hold trusted certificates
- Create SSL connection
- Create socket factories
46References
- IBMs security site
- http//www-106.ibm.com/developerworks/security/
- Groove
- http//www.groove.net
- Other interesting sites
- Intels P2P trusted library
- www.sourceforge.net/projects/ptp1
- http//www.idg.net/english/crd_peer_699186.html