18
1 M C P T T C o n n e c t

CIS2016 - MCPTT Connect

Embed Size (px)

Citation preview

Page 1: CIS2016 - MCPTT Connect

1

MC

PTT C

onnect

Page 2: CIS2016 - MCPTT Connect

2

MC

PTT C

onnect OPENID CONNECT: MISSION CRITICALAdam Lewis – Motorola Solutions – Chief Technology Office

Page 3: CIS2016 - MCPTT Connect

3

MC

PTT C

onnect

Who We Are

Page 4: CIS2016 - MCPTT Connect

4

MC

PTT C

onnect

Page 5: CIS2016 - MCPTT Connect

5

MC

PTT C

onnect

COUNTRIES AROUND THE WORLD CONVERGED ON LTE

AS THE TECHNOLOGY TO SUPPORT

PUBLIC SAFETY BROADBAND

Page 6: CIS2016 - MCPTT Connect

6

MC

PTT C

onnect

THERE IS A NEED FOR STANDARDIZATION OF

PUBLIC SAFETY APPLICATION LAYER

Page 7: CIS2016 - MCPTT Connect

7

MC

PTT C

onnect

PUBLIC SAFETY COMMUNITY DECIDED THAT 3GPP WAS

ONE-STOP SHOPPINGCOUNTRIES JOINED RANK & LOBBIED 3GPP TO CREATE

PUBLIC SAFETY WG

Page 8: CIS2016 - MCPTT Connect

8

MC

PTT C

onnect

EACH OF THESE APPLICATIONS IS GOING TO NEED TO KNOW WHO THE

RESPONDER ISAND WHAT THEY ARE AUTHORIZED TO DO

Page 9: CIS2016 - MCPTT Connect

9

MC

PTT C

onnect

First things First: Who’s on First?

Access Network Identity?

IMS Identity?

Human User Identity!

Page 10: CIS2016 - MCPTT Connect

10

MC

PTT C

onnect

Interoperableacross vendors, across security domains

Flexiblesupport for public deployments, private deployments

Pluggable Authentication Methodspasswords, FIDO, GBA, SIP digest …

Scalable… from 10’s of users to hundreds of thousands of users

Extensiblea common framework for MCPTT (… and beyond)

SA6 Requirements

Page 11: CIS2016 - MCPTT Connect

11

MC

PTT C

onnect

UA client SIP core oidc kms mcptt configmgmt

groupmgmt

user authentication

Authentication

GET/as/authorization.oauth2?response_type=code&client_id=mcptt_client&code_challenge=0x123456789abcdef&code_challenge_method=S256 &scope=openid3gpp:mcptt_server&redirect_uri=http://3gpp.mcptt/cb&state=abc123&acr_values=3gpp:acr:password

HTTP/1.1 302 Found Location:http://mcptt_client/cb?code=SplxlOBeZQQYbYS6WxSbIA &state=abc123

grant_type=authorization_code&code=&client_id=mcptt_client&code_verifier=0x123456789abcdef&redirect_uri=http%3A%2F%2F3gpp.mcptt%2Fcb

"access_token":"eyJhb...XQA","refresh_token":"Y7NSzUJuS0Jp7G4SKpBKSOJVHIZxFbxqsqCIZhOEk9","id_token":"eyJhb...wCfPZo","token_type": "Bearer",

Page 12: CIS2016 - MCPTT Connect

12

MC

PTT C

onnect

Token Profiles

id_token{ 

alg: "RS256"}.{ 

sub: "1234567890",  aud: "mcptt-client",  iss: "IdMS.server.com:9031",  iat: 1453498158,  exp: 1453498458,  mcptt_id: “[email protected]"}.[signature]

access_token{ 

alg: "RS256"}.{ 

mcptt_id: "[email protected]"  exp: 1453506121,  scope: [  

"openid",   "3gpp:mcptt:ptt_server", "3gpp:mcptt:kms_server", "3gpp:mcptt:group-mgmt_server", "3gpp:mcptt:config-mgmt_server"  ],  client_id: "mcptt-client"}.[signature]

JWT

minimalclaim set

Page 13: CIS2016 - MCPTT Connect

13

MC

PTT C

onnect

UA client SIP core oidc kms mcptt configmgmt

groupmgmt

Identity Based Encryption (IBE)

/GET IBE keys for backend resource servers | access_token

public IBE keys to derive enc/int key for backend services, as well as client’s private keys

Page 14: CIS2016 - MCPTT Connect

14

MC

PTT C

onnect

UA client SIP core oidc kms mcptt configmgmt

groupmgmt

Register for MCPTT service

Generate symmetric key K

Token verification. Identity binding between the signalling layer identitiesand the MCPTT user identities.

SIP REGISTER(IMPI, RES, {access-token}K, {K}IBE_mcptt

)

SIP REGISTER(IMPU, {access-token}K, {K}IBE_mcptt)

Page 15: CIS2016 - MCPTT Connect

15

MC

PTT C

onnect

UA client SIP core oidc kms mcptt configmgmt

groupmgmt

Retrieve the First Responder profile

Generate symmetric key K

SIP SUBSCRIBE {access-token}K, {K}IBE_config-mgmt

SIP SUBSCRIBE ({access-token}K, {K}IBE_config-mgmt)Decrypt K with IBE

Decrypt access-token with K

/GET user profile for first responder | access_token

User profile for first responder (incl. TGs)

Page 16: CIS2016 - MCPTT Connect

16

MC

PTT C

onnect

UA client SIP core oidc kms mcptt configmgmt

groupmgmt

Fetch the Crypto Keys

Generate symmetric key K

SIP SUBSCRIBE {access-token}K, {K}IBE_group-mgmt

SIP SUBSCRIBE ({access-token}K, {K}IBE_group-mgmt)

Decrypt K with IBEDecrypt access-token with K

/GET crypto keys for encryption | access_token

Crypto keys for secure group communications

Page 17: CIS2016 - MCPTT Connect

17

MC

PTT C

onnect

Next …

Inter-connect: Federating OAuth

Proof-of-Possession

Mission Critical Video, Data

Page 18: CIS2016 - MCPTT Connect

18

MC

PTT C

onnect

And in Closing …

• Questions? • Comments?• Scrutiny?

• Thank you! :-)[email protected]