Скачать презентацию Highly Available and Secure Fault-tolerant Mobile Computing Sanjay Скачать презентацию Highly Available and Secure Fault-tolerant Mobile Computing Sanjay

290d967768c322cd55b8dcca0b3d99f3.ppt

  • Количество слайдов: 65

Highly Available and Secure Fault-tolerant Mobile Computing Sanjay K. Madria Department of Computer Science Highly Available and Secure Fault-tolerant Mobile Computing Sanjay K. Madria Department of Computer Science University of Missouri-Rolla [email protected] edu 1

Mobile Constraints ·Low bandwidth. ·Frequent disconnections but predictable. ·High bandwidth variability. ·Monetarily Expensive. ·Broadcast Mobile Constraints ·Low bandwidth. ·Frequent disconnections but predictable. ·High bandwidth variability. ·Monetarily Expensive. ·Broadcast is physically supported in a cell. ·Limited battery power and storage. ·Fast changing locations. 2

 MH – Mobile Host Cell MSS – Mobile Support Station MH MH M MH – Mobile Host Cell MSS – Mobile Support Station MH MH M H Fixed Host MSS Fixed Network Mbps to Gbps MSS Fixed Host Cell MH Fixed Host MH Trusted Part Cell MH Wireless connection (unreliable) Fixed and dedicated connection (reliable) Mobile Architecture. 3

Objectives l To Improve Data Availability in Mobile Computing - Transaction models for mobile Objectives l To Improve Data Availability in Mobile Computing - Transaction models for mobile computing (Journal Paper appeared in DPDB’ 01) l l To provide Secure Fault-tolerant Mobile systems – To provide uninterrupted secure service to the mobile hosts when base station moves or fails. (Paper in IC Internet Computing’ 00 and Research Grants of 80 K) 4

How Mobile Transactions are different ? l Long-lived transactions due to the mobility and How Mobile Transactions are different ? l Long-lived transactions due to the mobility and frequent disconnection. l To split computations, some of which execute on mobile host while others on MSS. l To share partial results with others. l Computations and communications supported by MSS. Mobile hosts move from one cell to another, but the execution must continue 5 l To maintain mutual consistency of data objects l

Prewrite Mobile Transaction Model l Introduce a prewrite operation before a write operation; makes Prewrite Mobile Transaction Model l Introduce a prewrite operation before a write operation; makes visible (the exact or abstract) the value that data object will have after the commit of the transaction. l pre-committed – MT has announced all the prewrites values and read all the required data objects, but has not been finally committed (updates on database are not performed). l A pre-committed MT’s results are made visible at MH and MSSs before the final commit 6

l Shifts the resource consuming part of the MT’s execution (updates of the database l Shifts the resource consuming part of the MT’s execution (updates of the database on disk) to the MSS. l Pre-committed avoids costly undo or compensating action. l Pre-read returns a prewrite value whereas a read returns a write value. l MTs are serialized based on their pre-commit order. 7

Example 1: Long-duration Transaction Application l “House-construction” and “House-buying” Transactions – “Model House” as Example 1: Long-duration Transaction Application l “House-construction” and “House-buying” Transactions – “Model House” as prewrite Example 2: Data Structure Application Record Delete Operation in Hashing l Storage allocator and deallocator to work concurrently l 8

Mobile Transaction Processing with Prewrites l MH has limited server capability Start____Reads/Prewrite____Pre-commit____Writes_____Commit Part of Mobile Transaction Processing with Prewrites l MH has limited server capability Start____Reads/Prewrite____Pre-commit____Writes_____Commit Part of transaction executed at MH Part of transaction executed at MSS l Example – News-reporter Transaction MH has very slow CPU and small memory; I/O device only. l Example – Image Retrieval Transaction l 9

Concurrent Operations Case 1: Suppose a pre-read is currently being executed at MH and Concurrent Operations Case 1: Suppose a pre-read is currently being executed at MH and at the same time, the transaction that has announced the prewrite values finally commits at MSS T 1_____r(x), pw(x)_______pc_______ w(x)_______c At MSS T 2____ pr(x) _____ c At MH Time 10

Case 2: Consider a case where a read transaction commits at MH after the Case 2: Consider a case where a read transaction commits at MH after the transaction that announced the prewrite operation, has been pre-committed. T 1_____r(x), pw(x)_______pc_______w(x)____c At MSS T 2_____r(x)_____c At MH Time 11

Operation Compatibility Matrix Pre-read Read Pre-write Write Read Yes Pre-write Yes No Yes No Operation Compatibility Matrix Pre-read Read Pre-write Write Read Yes Pre-write Yes No Yes No Write No Yes No Yes No 12

Performance (Simulation Parameters) System Parameters Description Value DB-size Average size of the database 500 Performance (Simulation Parameters) System Parameters Description Value DB-size Average size of the database 500 Num-MH Number of MHs Simulation parameter Num-MSS Number of MSSs 2 Trans-size Average no. of objects per transaction 6 objects Pre-value-size Average size of pre-write values 1/40 of write value Max-Size Maximum number of objects per transaction 10 objects Min-Size Minimum number of objects per transaction 2 objects Local-object-MH Ratio of objects found in cache at MH 0. 4 CPU-time Time taken by CPU per request 12 msec 13

Simulation Parameters (Table continued) I/O Time taken by I/O per request both 30 msec Simulation Parameters (Table continued) I/O Time taken by I/O per request both 30 msec at MSS and MH Num-transactions. MSS Transactions at each MSS Simulation parameter Wireless-bandwidth Data transfer rate from MH to MSS 0. 5 Mbps Write-prob Probability that object read will be Simulation parameter written also Trans-delay Inter-arrival delay time 500 msecs Prewrite-to-write Delay in write 0. 2 msecs 14

Throughput v/s MPL 15 Throughput v/s MPL 15

Throughput v/s MPL 16 Throughput v/s MPL 16

Transaction-Abort-ratio v/s MPL 17 Transaction-Abort-ratio v/s MPL 17

Transaction-Abort-ratio v/s MPL 18 Transaction-Abort-ratio v/s MPL 18

Serializable Schedules in Mobile Transaction Model Case 1: In case of simple data objects, Serializable Schedules in Mobile Transaction Model Case 1: In case of simple data objects, a history with a prewrite is same as the history without a prewrite. Case 2: Once a transaction’s prewrite-lock is updated to the write-lock, it can not acquire any other lock. Case 3: A prewrite-lock can not be updated to a write-lock if some other transaction is holding a conflicting lock. Case 4: A transaction, which returns an old value, can be serialized in the history 19

Multi-version Model to Exploit Availability in Mobile Computing l Start State, Commit, Termination l Multi-version Model to Exploit Availability in Mobile Computing l Start State, Commit, Termination l MH process ops, but Terminate at MSS l One Terminated version, but many committed version l MSS terminates them in–order of commitment 20

 Read-write Availability MH MSS commit terminate Xi 0 Xjts(j) Xi 0 Zkts(k) --- Read-write Availability MH MSS commit terminate Xi 0 Xjts(j) Xi 0 Zkts(k) --- Zi 0 Zkts(k) Transaction Tj Transaction Tk 21

 Write-Write Availability MH MSS Two committed versions Xkts(k) Xjts(j) Xi 0 Xkts(k) Zkts(k) Write-Write Availability MH MSS Two committed versions Xkts(k) Xjts(j) Xi 0 Xkts(k) Zkts(k) --- Zi 0 Zkts(k) Transaction Tj Transaction Tk 22

Fault Tolerant Authentication in Mobile Computing 23 Fault Tolerant Authentication in Mobile Computing 23

Objective l To provide uninterrupted secure service to the mobile hosts when base station Objective l To provide uninterrupted secure service to the mobile hosts when base station moves or fails. – Example – Battle Field 24

Mobile IP Entities l Mobile Host (MH) - Changes its point of attachment to Mobile IP Entities l Mobile Host (MH) - Changes its point of attachment to the internet from one link to another. l Home Agent (HA) - Router on MH’s home network which tunnels datagrams (packets of data) to MH when it is away from home. l Foreign Agent (FA) - Router on MH’s visited network which provides routing services to the MH while registered. 25

To ensure security and theft of resources (like bandwidth), all the packets originating inside To ensure security and theft of resources (like bandwidth), all the packets originating inside the network should be authenticated. l MH sends a packet to its HA along with the authentication information. l Authentication is successful-> HA forwards the packet. Otherwise, dropped. l Mobile Node Authentication and Forwarding Services Arbitrary Internet Topology Home Agent 26

Disadvantages of Typical Setup l Home Agent becomes a single point of failure. l Disadvantages of Typical Setup l Home Agent becomes a single point of failure. l Home Agent becomes an attractive spot for attackers. l Not scalable – large number of hosts overload the Home Agent. 27

Research Goals l Eliminate the single point of failure. l Distribute the load and Research Goals l Eliminate the single point of failure. l Distribute the load and enhance scalability and survivability of the system. l Failures -- transparent to applications l Easy to implement 28

Traditional Approaches l Using a Proxy Server that takes up the responsibilities of the Traditional Approaches l Using a Proxy Server that takes up the responsibilities of the Base Station l Using a Second Base Station that forwards the packets to the actual Home Agent, using Mobile IP, which is now at a Foreign Network. 29

Proxy-based solution Destination Network BS 1 Source Network Arbitrary Network BS Foreign Network 30 Proxy-based solution Destination Network BS 1 Source Network Arbitrary Network BS Foreign Network 30

Traditional Approaches Disadvantages: l Manual updating of the routing tables l Not transparent to Traditional Approaches Disadvantages: l Manual updating of the routing tables l Not transparent to applications l Communication Delays l Additional security threats as the packets now traverse long paths through Internet. 31

Proposed Schemes l We propose two schemes: – Virtual Home Agent – Hierarchical Authentication Proposed Schemes l We propose two schemes: – Virtual Home Agent – Hierarchical Authentication l They differ in the architecture and the responsibilities that the Mobile Hosts and Base Stations hold. 32

Authentication Using Virtual Home Agent Entities in the proposed scheme l Virtual Home Agent(VHA) Authentication Using Virtual Home Agent Entities in the proposed scheme l Virtual Home Agent(VHA) is an abstract entity identified by a network address. l Master Home Agent(MHA) is the physical entity that carries out the responsibilities of the VHA. 33

Authentication Using Virtual Home Agent l Backup Home Agent(BHA) is the entity that backs-up Authentication Using Virtual Home Agent l Backup Home Agent(BHA) is the entity that backs-up a VHA. When MHA fails, BHA having the highest priority becomes MHA. l Shared Secrets Database Server is the entity that manages and processes the queries on the secret database. 34

Virtual Home Agent Set up VHA ID = IP ADDR 1 Master Home Agent(MHA) Virtual Home Agent Set up VHA ID = IP ADDR 1 Master Home Agent(MHA) Database Server Shared Secrets Database Backup Home Agents Other hosts in the network 35

Protocol Description l All the MHAs and BHAs join a pre- configured multicast group. Protocol Description l All the MHAs and BHAs join a pre- configured multicast group. l MHA and each BHA is assigned a priority that indicates its preference to become a MHA, when the current MHA fails. l MHA has the highest priority at any given point of time. 36

Protocol Description l Periodically, MHA sends an advertisement packet to the configured multicast group. Protocol Description l Periodically, MHA sends an advertisement packet to the configured multicast group. l Purpose of this advertisement packet is to let the BHAs know that MHA is still alive l Time-to-live is set to 1 in each advertisement as they never have to be transmitted outside the network. 37

Protocol Description l Advertisement Packet Format l VHA’s ID MHA’s priority Authentication Information l Protocol Description l Advertisement Packet Format l VHA’s ID MHA’s priority Authentication Information l VHA’s ID indicates the VHA that this Agent is the Master. l MHA’s priority is the priority of this MHA. l Authentication Information is necessary to void the masquerading attacks (i. e. anybody posing as a Master after compromising it). 38

Protocol Description l BHAs only listen for advertisements, they do not send the advertisements. Protocol Description l BHAs only listen for advertisements, they do not send the advertisements. l If a BHA did not receive any advertisement for some period, starts the Down Interval Timer, computed as follows l Down Time Interval = 5*Advertisement Interval + ((MHA’s priority-BHA’s priority)/MHA’s priority) 39

Protocol Description l Down Interval Time takes care of packet losses (as it is Protocol Description l Down Interval Time takes care of packet losses (as it is atleast 5 advertisement intervals) l Down Interval Time is a function of BHA’s configured priority (if the priority is more, Down Interval Time is less). 40

Protocol Description l Down Interval Timer of the BHA having the highest priority will Protocol Description l Down Interval Timer of the BHA having the highest priority will expire first and that guarantee BHA transitions from BHA to MHA. l New MHA sends advertisements from now onwards. 41

Protocol Description Advantages of this Election Protocol l No communication between the BHAs is Protocol Description Advantages of this Election Protocol l No communication between the BHAs is required. l There is no confusion about which BHA becomes MHA (only the one whose timer expires first) l No additional security threats (like manipulating priorities of BHAs) 42

Protocol Description Backup State Start State Master State Transitions 43 Protocol Description Backup State Start State Master State Transitions 43

Advantages of the proposed scheme l Has only 3 states and hence the overhead Advantages of the proposed scheme l Has only 3 states and hence the overhead of state maintenance is negligible. l Very few tasks need to be performed in each state l Flexible – there could be multiple VHAs in the same LAN and a MHA could be a BHA for another VHA, a BHA could be a BHA for more than one VHA at the same time. 44

Hierarchical Authentication Scheme l Multiple Home Agents in a LAN are organized in a Hierarchical Authentication Scheme l Multiple Home Agents in a LAN are organized in a hierarchy (like a tree data structure). l A Mobile Host shares a key with each of the Agents above it in the tree (Multiple Keys). l At any time, highest priority key is used for sending packets or obtaining any other kind of service. 45

Hierarchical Authentication Scheme A K 2 Database B K 1 C Database D E Hierarchical Authentication Scheme A K 2 Database B K 1 C Database D E F G (K 1, P 1) (K 2, P 2) 46

Hierarchical Authentication Scheme Key Priority depends on several factors and computed as cumulative sum Hierarchical Authentication Scheme Key Priority depends on several factors and computed as cumulative sum of weighted priorities of each factor. Example factors: l Communication Delays l Processing Speed of the Agents l Secret Key Usage l Life Time of the Key l Configurable Priorities l Availability of secret key information to an Agent 47

Hierarchical Authentication Scheme l Hosts detect the Home Agent’s failure or mobility when the Hierarchical Authentication Scheme l Hosts detect the Home Agent’s failure or mobility when the Home Agent does not send an acknowledgement for a request. l When the failure is detected, host reduces the priority of the current key and picks up highest priority key to be used now onwards. 48

 VHA Scheme l Flat structure l Host has only one key l. Failure VHA Scheme l Flat structure l Host has only one key l. Failure is transparent to the user l No Priority is assigned to the keys Hierarchical Scheme l Tree structure l number of keys depend on height of the tree. l Hosts should be aware of the failure of BS as which key to be used depends on the base station serving it. l Each key has priority, the key with the highest priority is used for authentication. 49

Cluster for scalability One IP Add. Requests Request Distribution Front End Clients Back-end 50 Cluster for scalability One IP Add. Requests Request Distribution Front End Clients Back-end 50

Locality-Aware Request Distribution R 1, R 1 Cache R 1, R 2, R 3, Locality-Aware Request Distribution R 1, R 1 Cache R 1, R 2, R 3, R 2, R 1, R 2, R 3 Back-end nodes Front-end node R 2, R 3, R 2, R 3 Cache R 2, R 3 51

Back-end Forwarding Forwarded Request Host Front-end Back-end nodes 52 Back-end Forwarding Forwarded Request Host Front-end Back-end nodes 52

Request Redirection 1. Request Front End 2. Redirect to Back End Front End 3. Request Redirection 1. Request Front End 2. Redirect to Back End Front End 3. Redirected Request Back-end 53

Conclusions l Discuss Transactions design to Increase Data Availability (Application Oriented) l Flat-model and Conclusions l Discuss Transactions design to Increase Data Availability (Application Oriented) l Flat-model and tree based schemes for faulttolerant authentication in mobile environment (System Oriented) 54

Future work l Quantifying the priorities for each factor and computing the overall key Future work l Quantifying the priorities for each factor and computing the overall key priority as a weighted function of all these factors. l Designing a adaptable replication and partitioning scheme for secret keys that increases the system performance. l Simulation of these approaches and obtaining performance statistics. 55

Current Projects l WAP and WML for Web Engineering on Mobile Platforms – Different Current Projects l WAP and WML for Web Engineering on Mobile Platforms – Different Approach to Content Management and caching – Developing Device dependent Software for web Access (minimum number of clicks, textual input, reduce latency) – Requirement Engineering (capturing, structuring, and accurately representing users requirements) l Data, operational, functional constraints – Performance and Design constraints 56

References l IP Mobility Support - RFC 2002. l Group Key Management Protocol (GKMP) References l IP Mobility Support - RFC 2002. l Group Key Management Protocol (GKMP) Architecture - RFC 2094. l Key Management for multicast : Issues and Architectures - RFC 2627. l Secure Group Communications using Key Graphs, Chung Kei Wong, Md. Gouda 57

Concurrency Control and Locking Pre-Read-Lock(X): Grant the requested pre-read-lock to a transaction T on Concurrency Control and Locking Pre-Read-Lock(X): Grant the requested pre-read-lock to a transaction T on X if no other transaction holds a prewritelock on X. Read-Lock(X): Grant the requested read-lock to a transaction T on X if no other transaction holds a write-lock on X. Prewrite-Lock(X): Grant the prewrite-lock to a transaction T on X if no other transaction holds are Prewrite- or pre-read-lock on X. (continued………. ) 58

Write-Lock(X): Update a prewrite-lock on X held by a transaction T to write-lock if Write-Lock(X): Update a prewrite-lock on X held by a transaction T to write-lock if Begin If the write-lock-wait queue for X is empty then Begin If the transaction T is pre-committed and no other transaction holds a read-or write-lock on X then convert prewrite-lock to write-lock; End; else Begin put the transaction T in a write-lock-wait queue for X; End; End. 59

Serializable Schedules in Mobile Transaction Model 1. Ti { pri(x), pwi(x), wi(x) x is Serializable Schedules in Mobile Transaction Model 1. Ti { pri(x), pwi(x), wi(x) x is a design object} {pci, a i} 2. If ai Ti if and only if pci Ti and ci Ti 3. If it is ci or ai then for any other operation p Ti , p

Case 1: In this case we consider simple data objects and see that a Case 1: In this case we consider simple data objects and see that a history with a prewrite is same as the history without a prewrite. Consider the following history H: pwl 1(x)pw 1(x)rl 2(x)r 1(x)rul 1(x)c 2 pc 1(pwl 1(x))prl 3(x)pr 3(x) prul 3(x)c 3 w 1(x)wul 1(x)c 1 After taking into account these commutative operations, the above history will be Equivalent to: rl 2(x)rul 2(x)c 2 pwl 1(x)pw 1(x)pc 1(pwl 1(x)) prl 3(x) prul 3(x)c 3 w 1(x) wul 1(x)c 1 Consider another history H’: pwl 1(x)pw 1(x)rl 2(x)rul 2(x)c 2 pc 1(pwl 1(x))pwl 3(x)pw 3(x) pc 3 w 1(x)wul 1(x)c 1(pwl 3(x) wl 3(x))wl 3(x)wul 3(x)c 3 61

Case 2: In this case we see that once a transaction’s prewrite-lock is updated Case 2: In this case we see that once a transaction’s prewrite-lock is updated to the write-lock, it can not acquire any other lock. Consider the following history: pwl 1(x)pw 1(x)pc 1(pwl 1(x))prl 2(x)pr 2(x)pwl 2(y)pw 2(y)pc 2 (pwl 2(y) wl 2(y))w 2(y)prul 2(x) wul 2(x)c 2 w 1(x) rl 1(y)rul 1(y)wul 1(x)c 1 Case 3: In this case, we see that a prewrite-lock can not be updated to a write-lock if some other transaction is holding a conflicting lock. Consider a partial history: rl 1(x)r 1(x) pwl 1(x) pw 1(x)rl 2(x)r 2(x) pc 1(pwl 1(x) wl 1(x)) Consider another partial history: pwl 1(x) pw 1(x) pc 1(pwl 1(x)) plw 2(x) pw 2(x)w 1(x) pc 2(pwl 2(x) w 2(x)) Case 4: In this case, we see that a transaction, which returns an old value, can be serialized in the history. Consider a history: rl 1(x)r 1(x)pwl 1(x) pw 1(x)rl 2(x)r 2(x)pc 1 rul 2(x)c 2(pwl 1(x) wl 1(x)) 62

Proof of Correctness Property 1: If o is an operation then ol(x) < ou(x). Proof of Correctness Property 1: If o is an operation then ol(x) < ou(x). Property 2: If pi(x) and qi(y) are two operations under Ti then pli(x) < quli(y), i. e. , for all lock operations li Ti and un-lock operations uli Ti , li < uli Property 3: If (pwli(x)) Ti then 1) For any operational oli Ti , oli

Property 4: If pi(x) and qj (x) are two conflicting operations then either 1) Property 4: If pi(x) and qj (x) are two conflicting operations then either 1) puli(x)

Lemma 1: If T 1 T 2 in SG(H) then there exists an unlock Lemma 1: If T 1 T 2 in SG(H) then there exists an unlock operation pul 1 T 1 or a lock convert operation (pwl 1 wl 1) T 1 such that for all lock operations ql 2 T 2 or a lock convert operation (pwl 2 wl 2) T 2 , pul 1(x) < ql 2(x) or (pwl 1(x) wl 1(x))< ql 2(x) or pul 1(x) < (pwl 2(x)). Lemma 2: Let T 1 T 2 …. Tn be a path in SG(H) where n>1. Then for data objects x and y and some operations p 1(x) and qn(y) in H, pu 1(x)< qln(y) or (pwl 1(x) wl 1(x))< qln(y) or pul 1(x) < (pwln(y)). Theorem : Every history H obtained by the locking protocols given before is serializable. 65