210 likes | 403 Views
Security in Ad Hoc Wireless Networks. Agenda. Problem description Existing security tools/knowledge base Project goals Design overview Known problems. Problem Description. The following are known security concerns in wireless ad hoc networks: Node identity—who am I really talking to
E N D
Agenda • Problem description • Existing security tools/knowledge base • Project goals • Design overview • Known problems
Problem Description The following are known security concerns in wireless ad hoc networks: • Node identity—who am I really talking to • Packet insertion • Packet capture—the man in the middle
Existing Security Information • PGP (Pretty Good Privacy) • Diffie-Hellman Key Exchange • Larns-Arne Mattsson Thesis
Project Goals • Design a robust, flexible API for a secure, wireless, ad hoc network • Develop a reference implementation to exemplify, validate, and debug the API
Design Assumptions–1 • The level of security required of a network is application dependent • The underlying protocol of a wireless, ad hoc network is application dependent • Most nodes in a wireless, ad hoc network will be geographically close to each other • Members of a secure network group trust each other
Design Assumptions—2 • Nodes should be able to join the secure group at any time • Network groups will frequently, but not always, be comprised of two or more members of a known group—a company, group of friends, etc.
Design Overview The design of our security paradigm is comprised of three elements: • Group Announcement • Member Authentication • Group Data Transmission
Initiator of a group broadcasts the existence of a group to the network via a well-known address or handle OR Node asks the network which groups are available via well-known address or handle Each node replies with its identity and the groups to which it belongs Group Announcement
Initiator Announcement Example—1 Node 2 Group Annc. Group Id User Id Node 3 This is a really Important group …. MyGroup Node 1
Node 5 I’m Node 3 and I’m in Group A and Group B I’m Node 2 and I’m in Group A Node 2 Group A What groups are out there? Node 3 I’m Node 1 and I’m in Group B Group B Node 1
Member Authentication • Group members are authenticated using a very robust algorithm—PGP (desired) or Diffie-Hellman • Initiator of the group authenticates the first node that requests group membership • Subsequent requestors are authenticated by any member of the group
Node 5 Authentication Example—1 Group B sounds nifty. May I join? Maybe. Who are you? Group B Node 1
Authentication Example—2 Node 5 I can’t take your word for it. Let’s shake to make sure. I’m Node 5 Group B Node 1
Node 5 Authentication Example—3 Group B Node 1 (A clipart rendering of Diffie-Hellman handshaking)
Node 5 Authentication Example—4 Okay, now that our transmission is encrypted, I’ll send you the session key Group B Session Key (Secret) Node 1
Node 5 Authentication Example—5 Node 2 Group A Node 3 Group B Node 1
Data Transmission • Data is encrypted using a group session key (less robust) • New members are sent the session key via the secure connection created during authentication • Reliability is handled exclusively by the underlying protocol
API Specifics • Abstracts protocol-specific details (handles, addresses, etc) • Provides flexibility regarding the underlying protocol and level of security of the group • Allows nodes to belong to multiple groups
What aren’t we doing? • Writing our own encryption scheme • Data routing • Caching data for late joiners • Embedding security into a specific protocol