140 likes | 218 Views
Location Service Security. Philip Hawkes phawkes@qualcomm.com. Colour Notation. GREEN: Entities/Things Mobile phones, network entities Purple: operations Functions, algorithms Protocols (who does what when) BLUE: Values Stored secrets Publicly known values (time)
E N D
Location Service Security Philip Hawkes phawkes@qualcomm.com
Colour Notation • GREEN: Entities/Things • Mobile phones, network entities • Purple: operations • Functions, algorithms • Protocols (who does what when) • BLUE: Values • Stored secrets • Publicly known values (time) • Orange: Important things
H-PS MS : X MS MALBA: X MALBA MS: position request MALBA MS: X MSH-PS: X HALBA H-PS : X H-PSMS:X MS H-PS : X H-PSHALBA: X H-PSS-PS: X HALBA H-PS: IP_LOC_REQ MS H-PS: SUPL_START H-PS MS: SUPL_INIT MS has pos_info? Proxy Mode? MS has pos_info? MS has pos_info? Periodic? MS H-PS:SUPL_START(pos_info) H-PSMS: pos_info H-PS use cached pos_info? H-PS use cached pos_info? Home or Roaming? H-PS S-PS: PS_REQ/PS_ACK S-PS Assigns PDE,Modes agreed PDE (S-PS) H-PS PDE_RESPONSE H-PS assigns PDE Modes agreed SUPL_POS direct H-PSMS: SUPL_RESPONSE SUPL_POS via H-PS MS MALBA: pos_info Pos_info is now known at MS (and H-PS where applicable) H-PS HALBA: IP_LOC_RESPONSE/REPORT Stage 1 Application Request Yes No No Yes Yes Yes Stage 2 Session Negotiation No Home Roaming Yes Stage 3 Service (Positioning) No No Yes Stage 4 Application Report Stage 5: Canceling Periodic Reporting Yes
In-Scope Countermeasures (1) Stage 1: SUPL_INIT see Outstanding Problems Stage 2: • MSH-PS (SUPL_START/RESPONSE): • Mutual Authentication H-PSUIM • Integrity/Replay + Encrypt • TLS-PSK, fresh key generated in UIM: PSKA? • (Periodic Mode) Association can be restored for SUPL_CANCEL • Association restored for anotherSUPL_START/RESPONSEsession???
In-Scope Countermeasures (2) Stage 3 • MSPDE (SUPL_POS): • Mutual Authentication PDEUIM • Integrity/Replay + Encrypt • TLS-PSK, key gen’d in UIM • Fresh key for each SUPL_POS session? Stage 4: No in-scope countermeasures
In-Scope Countermeasures (3) Stage 5 • MSH-PS (SUPL_CANCEL): • Authentication of UIM by H-PS • Integrity/Replay + Encrypt • TLS-PSK, fresh key gen’d in UIM: • H-PS MS (SUPL_END): • Authentication of H-PSbyUIM • Integrity/Replay + Encrypt • TLS-PSK, fresh key gen’d in UIM:
Out-of-Scope Countermeasure Requirements (1) Stage 1+4 MS Initiated • LBAMSrequest/response msgs: • Authenticationof LBA by MS • Integrity/Replay + Encrypt Stage 1+4 Network Initiated • LBAH-PS (IP_LOC_REQ/RESP): • Mutual Authentication • Integrity/Replay + Encrypt
Out-of-scope Countermeasure Requirements (2) Stage 2 • H-PSS-PS: PS_REQ/PS_ACK • Mutual Authentication • Integrity/Replay + Encrypt Stage 3 • S-PSH-PS: PS_RESPONSE/PS_REPORT • Mutual Authentication • Integrity/Replay + Encrypt
Out-of-scope Countermeasure Requirements (3) Stage 5: Cancelling Periodic Session • LBA H-PS/MS: Cancel msg • Already authenticated • Integrity/Replay + Encrypt • H-PSS-PS: PS_REQ_CANCEL • Already authenticated • Integrity/Replay + Encrypt
Outstanding Problems (1) Stage 1 MS-Initiated • LBAMSrequest/response msgs: • Authenticationof LBA by H-PS? Stage 1 Network-Initiated • LBAH-PSIP_LOC_REQ/RESP: • Authenticationof LBA by MS? • (Is this REALLY the LBA I wanted)
Outstanding Problems (2) Stage 1 Network-Initiated • H-PSMS (SUPL_INIT): • MS Authenticates H-PS • Integrity/Replay + Encrypt • Problem: not IP based • (Authenticationof LBA by MS?) Stage 2 • H-PSAuthorizesMS+LBA • Any mechanisms required?
Outstanding Problems (3) Stage 4 • H-PSHALBA: IP_LOC_RESP • Integrity/Replay verification byMS? • Is this necessary?
Three TLS sessions? • MSH-PS (SUPL_START/SUPL_RESPONSE): • Mutual Authentication H-PSUIM • Integrity/Replay + Encrypt • TLS-PSK, fresh key generated in UIM • MSPDE (SUPL_POS): • Mutual Authentication PDEUIM • Integrity/Replay + Encrypt • TLS-PSK, key gen’d in UIM • Fresh key for each SUPL_POS session? • MSH-PS(SUPL_CANCEL) or H-PSMS(SUPL_END): • Authentication ofSender • Integrity/Replay + Encrypt • TLS-PSK, fresh key generated in UIM
How? • 1,3: MSH-PS • UIM+H-PS establish fresh Master Key • Initiate TLK_PSK • 2: ?