© 2014 oneM2M14-Nov-14 1
Facing the Challenges of
M2M Security and Privacy
Phil Hawkes
Principal Engineer at Qualcomm Inc.
phawkes@qti.qualcomm.com
oneM2M www.oneM2M.org
© 2014 oneM2M14-Nov-14 2
Overview
• oneM2M Architecture: a quick review
• Challenges
1. Large variety of scenarios
2. Any device in any deployment
3. A device cannot make autonomous “judgment calls”
on privacy
• Solutions
A. Secure communication
B. Remote provisioning
C. Access control policies
• Future Challenges
© 2014 oneM2M14-Nov-14 3
oneM2M Architecture:
A Quick Review
• Entities
– Nodes (=Devices)
– Common Service Entity
(CSE)
– Application Entity (AE)
• Interactions:
– Mca: AE-to-CSE
– Mcc, Mcc’: CSE-to-CSE
– RESTful
• For more info see
webinar Taking a look
inside oneM2M
CSE
CSE CSE
CSE CSE
AE
AE
AE
AE
AE
AE
AE
CSE
Field Domain
Infrastructure
Domain
© 2014 oneM2M14-Nov-14 4
Challenges
1. Large variety of scenarios
2. Any device in any deployment
3. A device cannot make autonomous
“judgment calls” on privacy
© 2014 oneM2M14-Nov-14 5
Challenges
1. Large variety of deployments
– “Assets” that need protecting can be unique to a
deployment
• Content confidentiality, content integrity, anonymity, traffic
efficiency
– Environment can be unique to a deployment
• Does wired or wireless transport layer provide adequate
security?
• Tamper-resistance considerations
– (Continued on next slide)
2. Any device in any deployment
3. A device cannot make autonomous “judgment
calls” on privacy
© 2014 oneM2M14-Nov-14 6
Challenges
1. Large variety of deployments (continued)
– Variety of authentication scenarios
• Pre-shared Key provisioned to both by end-points
• PKI/Certificates (asymmetric cryptography)
• Centralized authentication
2. Any device in any deployment
3. A device cannot make autonomous
“judgment calls” on privacy
© 2014 oneM2M14-Nov-14 7
Challenges
1. Large variety of deployment scenarios
2. Any device in any deployment
– Interoperability: agree on minimal set of cipher suites
– Credential management
a. Provisioning at manufacture
b. Human-assisted provisioning during deployment
– e.g. manual entry, via USB
c. Remote provisioning of fielded devices
d. Derivation from pre-existing credentials (e.g. transport
network)
Note: a, b are enabled but not specified by oneM2M
3. A device cannot make autonomous “judgment
calls” on privacy
© 2014 oneM2M14-Nov-14 8
Challenges
1. Large variety of scenarios
2. Any device in any deployment
3. A device cannot make autonomous “judgment
calls” on privacy
– M2M/IoT may expose information about our lives
without our awareness
– Privacy = who can access information about me
– CSE needs to determine: “Should I allow access?”
– Can’t ask human to make case-by-case judgment call
– CSE needs clear rules
© 2014 oneM2M14-Nov-14 9
Challenges & Solutions
1. Large variety of
scenarios
2. Any device in any
deployment
3. A device cannot make
“judgment calls” on
privacy
A. Secure communication
various authentication options
B. Remote provisioning
various authentication options
C. Access Control Policies
expresses wide variety of rules
© 2014 oneM2M14-Nov-14 10
Secure Communication:
Example
CSE2
CSE1
AE2
AE1
Infrastructure
Domain
Field Domain
Sensor Gateway
M2M SP’s Server
Web App
Server
E-Health
Web-application
© 2014 oneM2M14-Nov-14 11
Secure Communication:
Example
CSE2
CSE1
AE2
AE1
Infrastructure
Domain
Field Domain
Sensor Gateway
M2M SP’s Server
Web App
Server
1. AE1 passes sensor
reading to CSE1
CoAP
UDP
© 2014 oneM2M14-Nov-14 12
Secure Communication:
Example
CSE2
CSE1
AE2
AE1
Infrastructure
Domain
Field Domain
Sensor Gateway
M2M SP’s Server
Web App
Server
1. AE1 passes sensor
reading to CSE1
2. CSE1 forwards
sensor reading to
CSE2
HTTP
TCP
CoAP
UDP
© 2014 oneM2M14-Nov-14 13
Secure Communication:
Example
CSE2
CSE1
AE2
AE1
Infrastructure
Domain
Field Domain
Sensor Gateway
M2M SP’s Server
Web App
Server
1. AE1 passes sensor
reading to CSE1
2. CSE1 forwards
sensor reading to
CSE2
3. AE2 retrieves
sensor reading
from CSE2
CoAP
UDP
HTTP
TCP
HTTP
TCP
© 2014 oneM2M14-Nov-14 14
Secure Communication
• Hop-by-Hop
– Transited CSEs see
clear text
– Trusted to behave
CSE2
CSE1
AE2
AE1
Infrastructure
Domain
Field Domain
Sensor Gateway
M2M SP’s Server
Web App
Server
© 2014 oneM2M14-Nov-14 15
Secure Communication
CSE2
CSE1
AE2
AE1
Infrastructure
Domain
Field Domain
Sensor Gateway
M2M SP’s Server
Web App
Server
CoAP
DTLS
UDP
• Hop-by-Hop
• TLS/DTLS v1.2
– DTLS if UDP transport
© 2014 oneM2M14-Nov-14 16
Secure Communication
• Hop-by-Hop
• TLS/DTLS v1.2
– DTLS if UDP transport
– TLS if TCP transport
– Sometimes write
(D)TLS or just TLS for
both CSE2
CSE1
AE2
AE1
Infrastructure
Domain
Field Domain
Sensor Gateway
M2M SP’s Server
Web App
Server
HTTP
TLS
TCP
HTTP
TLS
TCP
© 2014 oneM2M14-Nov-14 17
Secure Communication
• Hop-by-Hop
• TLS/DTLS v1.2
• AE-CSE
– AE: TLS Client (C)
– CSE: TLS Server (S)
CSE2
CSE1
AE2
AE1
Infrastructure
Domain
Field Domain
Sensor Gateway
M2M SP’s Server
Web App
Server
C S
C S
© 2014 oneM2M14-Nov-14 18
Secure Communication
• Hop-by-Hop
• TLS/DTLS v1.2
• AE-CSE
– AE: TLS Client (C)
– CSE: TLS Server (S)
• CSE-CSE
– CSE1: TLS Client (C)
– CSE2: TLS Server (S)
CSE2
CSE1
AE2
AE1
Infrastructure
Domain
Field Domain
Sensor Gateway
M2M SP’s Server
Web App
Server
C S
C
C S
S
© 2014 oneM2M14-Nov-14 19
Authentication Options
• Pre-Shared Key (PSK)
– TLS Client & Server provisioned with a shared key#
• Certificate
– TLS Client & Server both have certificates
• M2M Authentication Function (MAF)
– MAF operated by 3rd Party or M2M Service Provider
– TLS Client and MAF provisioned with a shared key#
– MAF assists authentication of TLS Client & Server
#This shared key can be remotely provisioned
© 2014 oneM2M14-Nov-14 20
Certificates
• Somewhat aligned with CoAP Security RFC7252
• X.509/PKIX (RFC 5280)
• RawPublicKey Certificates
– Contains only X.509 SubjectPublicKeyInfo element
– Suits less complex deployments & debugging
• Certificates chaining to a trust anchor. E.g.
– Device Certificate (e.g. manufacturer issued)
– M2M SP issued certificate identifying CSE or AE
© 2014 oneM2M14-Nov-14 21
Remote Provisioning
• Process provisioning a shared key to two entities
• M2M Enrolment Function (MEF)
– Assists remote provisioning
– Operated by 3rd Party or M2M Service Provider
• Mechanisms for establishing shared key
– TLS Client & MEF perform (D)TLS, export shared key
• PSK
• Certificates
– Derived from Network Access credentials
• Network Access Provider assists in mutual authentication
• Generic Bootstrapping Architecture (GBA) 3GPP TS 33.220
© 2014 oneM2M14-Nov-14 22
Access Control Requirements
• oneM2M uses a RESTful architecture
– API: request to perform an operation on a resource
– Operations: Create, Retrieve, Update, Delete
– Webinar Taking a look inside oneM2M has more info
• CSEs can’t make resource access judgement calls
• CSE need clear rules dictating, for each resource
– WHO (which CSEs and AEs) are authorized to access,
– WHAT operations (see above), and under…
– WHICH circumstances (e.g. time, location of entity)
© 2014 oneM2M14-Nov-14 23
Access Control Policies (ACP)
Resources
Resource1
Resource4
Resource3
Resource2
ACP1
ACP3
ACP2
ACP Rule1
ACP Rule2
links contains
ACP Rule3
Resource access is authorized upon satisfying at least one ACP
rule in one of the linked ACPs
© 2014 oneM2M14-Nov-14 24
Resource1
Resource4
Resource3
Resource2
ACP1
ACP3
ACP2
ACP Rule1
ACP Rule2
links contains
WHO: entities
CSE-ID
AE-ID
WHICH: circumstances
Time,
location,
IP address
WHAT: operations
Create,
Retrieve
Update
Delete
with conditions on
ACP Rule3
ACP rule is satisfied if WHO and WHAT and WHICH are satisfied
by requesting entity, requested operation and circumstances
Access Control Policies (ACP)
Resources
© 2014 oneM2M14-Nov-14 25
oneM2M Security Documents
• TR-0008 “Analysis of Security Solutions for the
oneM2M System”
http://onem2m.org/images/files/deliverables/oneM2M_TR-0008-Security-V1_0_0.doc
• TS-0003 “Security Solutions”
http://onem2m.org/images/files/deliverables/TS-0003-Security_Solutions-V-2014-08.pdf
• Latest versions available from
ftp://ftp.onem2m.org/Work%20Programme/WI0007/
© 2014 oneM2M14-Nov-14 26
Limitations of initial release
• A “minimum deployable solution” addressing
short term needs
• Focus: Vertically deployed industrial applications
– Centralized client-server architectures
– Most devices have limited number of static
connections
– Deployments are managed by skilled workforce
– Nodes are trusted to behave
• Our solutions meet these needs while having a
place in future M2M/IoT (consumer) scenarios
© 2014 oneM2M14-Nov-14 27
Future Challenges
• Decentralization
– Increasingly complex interactions
• Sharing Information between deployments
• Complex authentication and authorization scenarios
• Confidentiality & integrity concerns
– Unskilled Consumers managing their “Things”
• Technological Challenges:
– End-to-End (multi-hop) message security
– Many connections per device
– Authentication & Authorization mechanisms
© 2014 oneM2M14-Nov-14 28
Conclusion:
Challenges & Solutions
1. Large variety of
scenarios
2. Any device in any
deployment
3. A device cannot make
“judgment calls” on
privacy
A. Secure communication
various authentication options
B. Remote provisioning
various authentication options
C. Access Control Policies
expresses wide variety of rules
© 2014 oneM2M14-Nov-14 29
Join us for the next webinar
27 November 2014 at 0700 UTC
“On Management, Abstraction &
Semantics”
by Dr. Yongjing Zhang
Standard Research Project Lead
at Huawei Technologies Co., Ltd
http://www.onem2m.org/btchannel.cfm
© 2014 oneM2M14-Nov-14 30
Check out the recorded webinars
“How standardization enables the next
internet evolution”
by Marc Jadoul
Strategic Marketing Director, Alcatel-Lucent
http://www.onem2m.org/btchannel.cfm
“Taking a look inside”
by Nicolas Damour
Senior Manager for Business and Innovation Development,
Sierra Wireless
© 2014 oneM2M14-Nov-14 31
Join us at the
oneM2M showcase event
9 December 2014, Sophia-Antipolis, France
(free of charge, but online registration is required)
• OneM2M project partners, rationale and goals
• OneM2M Service Layer Specification release
• Showcase demos that demonstrate oneM2M “live"
http://www.onem2m.org/Showcase
Followed by the ETSI M2M workshop
© 2014 oneM2M14-Nov-14 32
Q & A
© 2014 oneM2M14-Nov-14 33
Backup Slides
© 2014 oneM2M14-Nov-14 34
PSK-Based Authentication
Client Server
© 2014 oneM2M14-Nov-14 35
PSK
Client Server
1. Provision identical PSK, PSK-ID to A, B
PSK, PSK-ID PSK, PSK-ID
© 2014 oneM2M14-Nov-14 36
PSK
2. TLS/DTLS
A provides PSK-ID
B identifies PSK from PSK-ID
Client Server
PSK, PSK-ID PSK, PSK-ID
© 2014 oneM2M14-Nov-14 37
PSK
2. (D)TLS
A provides PSK-ID
B identifies PSK from PSK-ID
• Advantages:
– Simple Concept
• Challenges:
– May need multiple
keys provisioned
– Doesn’t scale well
Client Server
PSK, PSK-ID PSK, PSK-ID
© 2014 oneM2M14-Nov-14 38
PKI/Certificate-Based
Authentication
Client Server
© 2014 oneM2M14-Nov-14 39
PKI
Client Server
Client’s Cert Server’s Cert
1. Provision certificate 1’. Provision certificate
© 2014 oneM2M14-Nov-14 40
PKI
Client Server
2. Configure trust anchors 2’. Configure trust anchors
Client’s Cert Server’s Cert
Client’s
Trust Anchors
Server’s
Trust Anchors
© 2014 oneM2M14-Nov-14 41
PKI
Client Server
Client’s Cert Server’s Cert
Client’s
Trust Anchors
Server’s
Trust Anchors2. (D)TLS
Validate client cert
against
server’s trust anchors
Validate server’s cert
against
client’s trust anchors
© 2014 oneM2M14-Nov-14 42
MAF Assisted
(D)TLS
Client
MAF
(D)TLS
Server
© 2014 oneM2M14-Nov-14 43
MAF Assisted
(D)TLS
Client
1. Provision symmetric key Km, KmId
MAF
(D)TLS
Server
Km, KmID Km, KmId
© 2014 oneM2M14-Nov-14 44
MAF Assisted
(D)TLS
Client
2. Generate Kc, KcId from Km
MAF
(D)TLS
Server
Km, KmID Km, KmId
Kc, KcId Kc, KcId
© 2014 oneM2M14-Nov-14 45
MAF Assisted
(D)TLS
Client
MAF
(D)TLS
Server
3a. (D)TLS: KcId
Kc, KcId Kc, KcId
© 2014 oneM2M14-Nov-14 46
MAF Assisted
(D)TLS
Client
MAF
(D)TLS
Server
3a. (D)TLS: KcId 3b. KcId
Kc, KcId Kc, KcId
© 2014 oneM2M14-Nov-14 47
MAF Assisted
(D)TLS
Client
MAF
(D)TLS
Server
3a. (D)TLS: KcId 3b. KcId
3c. Kc
Kc, KcIdKc, KcIdKc, KcId
© 2014 oneM2M14-Nov-14 48
MAF Assisted
(D)TLS
Client
MAF
(D)TLS
Server
3a. (D)TLS: KcId 3b. KcId
(D)TLS w/ Kc 3b. Kc
Kc, KcIdKc, KcIdKc, KcId
© 2014 oneM2M14-Nov-14 49
Remote Provisioning PArticipants
• Process provisions a shared key to two entities
• M2M Enrolment Function (MEF)
– Assists remote provisioning
– Operated by 3rd Party or M2M Service Provider
• Enrolee
– Entity requesting to be provisioned
• Enrolment Target
– Other entity that will ends up with the shared key
© 2014 oneM2M14-Nov-14 50
Remote Provisioning
M2M Enrolment
FunctionEnrolee
Enrolment
Target
© 2014 oneM2M14-Nov-14 51
Remote Provisioning
Mutual Authentication
M2M Enrolment
FunctionEnrolee
Enrolment
Target
© 2014 oneM2M14-Nov-14 52
Remote Provisioning
Mutual Authentication
M2M Enrolment
FunctionEnrolee
Enrolment
Target
Generate Ke, KeId Generate Ke, KeId
Ke, KeId
Ke, KeId
© 2014 oneM2M14-Nov-14 53
Remote Provisioning
M2M Enrolment
FunctionEnrolee
Enrolment
Target
Ke, KeId
Ke, KeId
© 2014 oneM2M14-Nov-14 54
Remote Provisioning
M2M Enrolment
FunctionEnrolee
Enrolment
Target
Ke, KeId
Ke, KeId
KeId
© 2014 oneM2M14-Nov-14 55
Remote Provisioning
M2M Enrolment
FunctionEnrolee
Enrolment
Target
Ke, KeId
Ke, KeId
KeId
+ Enrolment
Target ID
+ Enrolment
Target ID
Shared Key
Shared Key
© 2014 oneM2M14-Nov-14 56
Remote Provisioning
M2M Enrolment
FunctionEnrolee
Enrolment
Target
KeId
Shared Key
Shared Key
Shared Key
© 2014 oneM2M14-Nov-14 57
Remote Provisioning
M2M Enrolment
FunctionEnrolee
Enrolment
Target
Shared Key
Shared Key
© 2014 oneM2M14-Nov-14 58
GBA
UE
(hosts
TLS
Client)
Network Access
Authentication Server
(HSS, HLR, AAA)
TLS
Server
Network Access
Credentials
GBA Bootstrap Server
Function
(plays role of MEF)
Network Access
Credentials
© 2014 oneM2M14-Nov-14 59
GBA
UE
(hosts
TLS
Client)
Network Access
Authentication Server
(HSS, HLR, AAA)
TLS
Server
Network Access
Credentials
GBA Bootstrap Server
Function
(plays role of MEF)
Network Access
Credentials
© 2014 oneM2M14-Nov-14 60
GBA
UE
(hosts
TLS
Client)
Network Access
Authentication Server
(HSS, HLR, AAA)
TLS
Server
Network Access
Credentials
Network Access
Credentials
GBA Bootstrap Server
Function
(plays role of MEF)
B-TID,
Ks
B-TID,
Ks
© 2014 oneM2M14-Nov-14 61
GBA
UE
(hosts
TLS
Client)
Network Access
Authentication Server
(HSS, HLR, AAA)
TLS
Server
GBA Bootstrap Server
Function
(plays role of MEF)
B-TID,
Ks
(D)TLS: B-TID
B-TID,
Ks
© 2014 oneM2M14-Nov-14 62
GBA
UE
(hosts
TLS
Client)
Network Access
Authentication Server
(HSS, HLR, AAA)
TLS
Server
GBA Bootstrap Server
Function
(plays role of MEF)
B-TID,
Ks
B-TID(D)TLS: B-TID
B-TID,
Ks
© 2014 oneM2M14-Nov-14 63
GBA
UE
(hosts
TLS
Client)
Network Access
Authentication Server
(HSS, HLR, AAA)
TLS
Server
GBA Bootstrap Server
Function
(plays role of MEF)
B-TID,
Ks
Shared
Key
(D)TLS: B-TID B-TID
TLS Server FQDN
B-TID,
Ks
Shared
Key
© 2014 oneM2M14-Nov-14 64
GBA
UE
(hosts
TLS
Client)
Network Access
Authentication Server
(HSS, HLR, AAA)
TLS
Server
GBA Bootstrap Server
Function
(plays role of MEF)
Shared
Key
Shared Key
Shared
Key
(D)TLS: B-TID B-TID
Shared
Key
© 2014 oneM2M14-Nov-14 65
GBA
UE
(hosts
TLS
Client)
Network Access
Authentication Server
(HSS, HLR, AAA)
TLS
Server
GBA Bootstrap Server
Function
(plays role of MEF)
Shared
Key
Shared
Key
Continue
(D)TLS
(D)TLS: B-TID

oneM2M - Facing the challenges of M2M security and privacy

  • 1.
    © 2014 oneM2M14-Nov-141 Facing the Challenges of M2M Security and Privacy Phil Hawkes Principal Engineer at Qualcomm Inc. phawkes@qti.qualcomm.com oneM2M www.oneM2M.org
  • 2.
    © 2014 oneM2M14-Nov-142 Overview • oneM2M Architecture: a quick review • Challenges 1. Large variety of scenarios 2. Any device in any deployment 3. A device cannot make autonomous “judgment calls” on privacy • Solutions A. Secure communication B. Remote provisioning C. Access control policies • Future Challenges
  • 3.
    © 2014 oneM2M14-Nov-143 oneM2M Architecture: A Quick Review • Entities – Nodes (=Devices) – Common Service Entity (CSE) – Application Entity (AE) • Interactions: – Mca: AE-to-CSE – Mcc, Mcc’: CSE-to-CSE – RESTful • For more info see webinar Taking a look inside oneM2M CSE CSE CSE CSE CSE AE AE AE AE AE AE AE CSE Field Domain Infrastructure Domain
  • 4.
    © 2014 oneM2M14-Nov-144 Challenges 1. Large variety of scenarios 2. Any device in any deployment 3. A device cannot make autonomous “judgment calls” on privacy
  • 5.
    © 2014 oneM2M14-Nov-145 Challenges 1. Large variety of deployments – “Assets” that need protecting can be unique to a deployment • Content confidentiality, content integrity, anonymity, traffic efficiency – Environment can be unique to a deployment • Does wired or wireless transport layer provide adequate security? • Tamper-resistance considerations – (Continued on next slide) 2. Any device in any deployment 3. A device cannot make autonomous “judgment calls” on privacy
  • 6.
    © 2014 oneM2M14-Nov-146 Challenges 1. Large variety of deployments (continued) – Variety of authentication scenarios • Pre-shared Key provisioned to both by end-points • PKI/Certificates (asymmetric cryptography) • Centralized authentication 2. Any device in any deployment 3. A device cannot make autonomous “judgment calls” on privacy
  • 7.
    © 2014 oneM2M14-Nov-147 Challenges 1. Large variety of deployment scenarios 2. Any device in any deployment – Interoperability: agree on minimal set of cipher suites – Credential management a. Provisioning at manufacture b. Human-assisted provisioning during deployment – e.g. manual entry, via USB c. Remote provisioning of fielded devices d. Derivation from pre-existing credentials (e.g. transport network) Note: a, b are enabled but not specified by oneM2M 3. A device cannot make autonomous “judgment calls” on privacy
  • 8.
    © 2014 oneM2M14-Nov-148 Challenges 1. Large variety of scenarios 2. Any device in any deployment 3. A device cannot make autonomous “judgment calls” on privacy – M2M/IoT may expose information about our lives without our awareness – Privacy = who can access information about me – CSE needs to determine: “Should I allow access?” – Can’t ask human to make case-by-case judgment call – CSE needs clear rules
  • 9.
    © 2014 oneM2M14-Nov-149 Challenges & Solutions 1. Large variety of scenarios 2. Any device in any deployment 3. A device cannot make “judgment calls” on privacy A. Secure communication various authentication options B. Remote provisioning various authentication options C. Access Control Policies expresses wide variety of rules
  • 10.
    © 2014 oneM2M14-Nov-1410 Secure Communication: Example CSE2 CSE1 AE2 AE1 Infrastructure Domain Field Domain Sensor Gateway M2M SP’s Server Web App Server E-Health Web-application
  • 11.
    © 2014 oneM2M14-Nov-1411 Secure Communication: Example CSE2 CSE1 AE2 AE1 Infrastructure Domain Field Domain Sensor Gateway M2M SP’s Server Web App Server 1. AE1 passes sensor reading to CSE1 CoAP UDP
  • 12.
    © 2014 oneM2M14-Nov-1412 Secure Communication: Example CSE2 CSE1 AE2 AE1 Infrastructure Domain Field Domain Sensor Gateway M2M SP’s Server Web App Server 1. AE1 passes sensor reading to CSE1 2. CSE1 forwards sensor reading to CSE2 HTTP TCP CoAP UDP
  • 13.
    © 2014 oneM2M14-Nov-1413 Secure Communication: Example CSE2 CSE1 AE2 AE1 Infrastructure Domain Field Domain Sensor Gateway M2M SP’s Server Web App Server 1. AE1 passes sensor reading to CSE1 2. CSE1 forwards sensor reading to CSE2 3. AE2 retrieves sensor reading from CSE2 CoAP UDP HTTP TCP HTTP TCP
  • 14.
    © 2014 oneM2M14-Nov-1414 Secure Communication • Hop-by-Hop – Transited CSEs see clear text – Trusted to behave CSE2 CSE1 AE2 AE1 Infrastructure Domain Field Domain Sensor Gateway M2M SP’s Server Web App Server
  • 15.
    © 2014 oneM2M14-Nov-1415 Secure Communication CSE2 CSE1 AE2 AE1 Infrastructure Domain Field Domain Sensor Gateway M2M SP’s Server Web App Server CoAP DTLS UDP • Hop-by-Hop • TLS/DTLS v1.2 – DTLS if UDP transport
  • 16.
    © 2014 oneM2M14-Nov-1416 Secure Communication • Hop-by-Hop • TLS/DTLS v1.2 – DTLS if UDP transport – TLS if TCP transport – Sometimes write (D)TLS or just TLS for both CSE2 CSE1 AE2 AE1 Infrastructure Domain Field Domain Sensor Gateway M2M SP’s Server Web App Server HTTP TLS TCP HTTP TLS TCP
  • 17.
    © 2014 oneM2M14-Nov-1417 Secure Communication • Hop-by-Hop • TLS/DTLS v1.2 • AE-CSE – AE: TLS Client (C) – CSE: TLS Server (S) CSE2 CSE1 AE2 AE1 Infrastructure Domain Field Domain Sensor Gateway M2M SP’s Server Web App Server C S C S
  • 18.
    © 2014 oneM2M14-Nov-1418 Secure Communication • Hop-by-Hop • TLS/DTLS v1.2 • AE-CSE – AE: TLS Client (C) – CSE: TLS Server (S) • CSE-CSE – CSE1: TLS Client (C) – CSE2: TLS Server (S) CSE2 CSE1 AE2 AE1 Infrastructure Domain Field Domain Sensor Gateway M2M SP’s Server Web App Server C S C C S S
  • 19.
    © 2014 oneM2M14-Nov-1419 Authentication Options • Pre-Shared Key (PSK) – TLS Client & Server provisioned with a shared key# • Certificate – TLS Client & Server both have certificates • M2M Authentication Function (MAF) – MAF operated by 3rd Party or M2M Service Provider – TLS Client and MAF provisioned with a shared key# – MAF assists authentication of TLS Client & Server #This shared key can be remotely provisioned
  • 20.
    © 2014 oneM2M14-Nov-1420 Certificates • Somewhat aligned with CoAP Security RFC7252 • X.509/PKIX (RFC 5280) • RawPublicKey Certificates – Contains only X.509 SubjectPublicKeyInfo element – Suits less complex deployments & debugging • Certificates chaining to a trust anchor. E.g. – Device Certificate (e.g. manufacturer issued) – M2M SP issued certificate identifying CSE or AE
  • 21.
    © 2014 oneM2M14-Nov-1421 Remote Provisioning • Process provisioning a shared key to two entities • M2M Enrolment Function (MEF) – Assists remote provisioning – Operated by 3rd Party or M2M Service Provider • Mechanisms for establishing shared key – TLS Client & MEF perform (D)TLS, export shared key • PSK • Certificates – Derived from Network Access credentials • Network Access Provider assists in mutual authentication • Generic Bootstrapping Architecture (GBA) 3GPP TS 33.220
  • 22.
    © 2014 oneM2M14-Nov-1422 Access Control Requirements • oneM2M uses a RESTful architecture – API: request to perform an operation on a resource – Operations: Create, Retrieve, Update, Delete – Webinar Taking a look inside oneM2M has more info • CSEs can’t make resource access judgement calls • CSE need clear rules dictating, for each resource – WHO (which CSEs and AEs) are authorized to access, – WHAT operations (see above), and under… – WHICH circumstances (e.g. time, location of entity)
  • 23.
    © 2014 oneM2M14-Nov-1423 Access Control Policies (ACP) Resources Resource1 Resource4 Resource3 Resource2 ACP1 ACP3 ACP2 ACP Rule1 ACP Rule2 links contains ACP Rule3 Resource access is authorized upon satisfying at least one ACP rule in one of the linked ACPs
  • 24.
    © 2014 oneM2M14-Nov-1424 Resource1 Resource4 Resource3 Resource2 ACP1 ACP3 ACP2 ACP Rule1 ACP Rule2 links contains WHO: entities CSE-ID AE-ID WHICH: circumstances Time, location, IP address WHAT: operations Create, Retrieve Update Delete with conditions on ACP Rule3 ACP rule is satisfied if WHO and WHAT and WHICH are satisfied by requesting entity, requested operation and circumstances Access Control Policies (ACP) Resources
  • 25.
    © 2014 oneM2M14-Nov-1425 oneM2M Security Documents • TR-0008 “Analysis of Security Solutions for the oneM2M System” http://onem2m.org/images/files/deliverables/oneM2M_TR-0008-Security-V1_0_0.doc • TS-0003 “Security Solutions” http://onem2m.org/images/files/deliverables/TS-0003-Security_Solutions-V-2014-08.pdf • Latest versions available from ftp://ftp.onem2m.org/Work%20Programme/WI0007/
  • 26.
    © 2014 oneM2M14-Nov-1426 Limitations of initial release • A “minimum deployable solution” addressing short term needs • Focus: Vertically deployed industrial applications – Centralized client-server architectures – Most devices have limited number of static connections – Deployments are managed by skilled workforce – Nodes are trusted to behave • Our solutions meet these needs while having a place in future M2M/IoT (consumer) scenarios
  • 27.
    © 2014 oneM2M14-Nov-1427 Future Challenges • Decentralization – Increasingly complex interactions • Sharing Information between deployments • Complex authentication and authorization scenarios • Confidentiality & integrity concerns – Unskilled Consumers managing their “Things” • Technological Challenges: – End-to-End (multi-hop) message security – Many connections per device – Authentication & Authorization mechanisms
  • 28.
    © 2014 oneM2M14-Nov-1428 Conclusion: Challenges & Solutions 1. Large variety of scenarios 2. Any device in any deployment 3. A device cannot make “judgment calls” on privacy A. Secure communication various authentication options B. Remote provisioning various authentication options C. Access Control Policies expresses wide variety of rules
  • 29.
    © 2014 oneM2M14-Nov-1429 Join us for the next webinar 27 November 2014 at 0700 UTC “On Management, Abstraction & Semantics” by Dr. Yongjing Zhang Standard Research Project Lead at Huawei Technologies Co., Ltd http://www.onem2m.org/btchannel.cfm
  • 30.
    © 2014 oneM2M14-Nov-1430 Check out the recorded webinars “How standardization enables the next internet evolution” by Marc Jadoul Strategic Marketing Director, Alcatel-Lucent http://www.onem2m.org/btchannel.cfm “Taking a look inside” by Nicolas Damour Senior Manager for Business and Innovation Development, Sierra Wireless
  • 31.
    © 2014 oneM2M14-Nov-1431 Join us at the oneM2M showcase event 9 December 2014, Sophia-Antipolis, France (free of charge, but online registration is required) • OneM2M project partners, rationale and goals • OneM2M Service Layer Specification release • Showcase demos that demonstrate oneM2M “live" http://www.onem2m.org/Showcase Followed by the ETSI M2M workshop
  • 32.
  • 33.
    © 2014 oneM2M14-Nov-1433 Backup Slides
  • 34.
    © 2014 oneM2M14-Nov-1434 PSK-Based Authentication Client Server
  • 35.
    © 2014 oneM2M14-Nov-1435 PSK Client Server 1. Provision identical PSK, PSK-ID to A, B PSK, PSK-ID PSK, PSK-ID
  • 36.
    © 2014 oneM2M14-Nov-1436 PSK 2. TLS/DTLS A provides PSK-ID B identifies PSK from PSK-ID Client Server PSK, PSK-ID PSK, PSK-ID
  • 37.
    © 2014 oneM2M14-Nov-1437 PSK 2. (D)TLS A provides PSK-ID B identifies PSK from PSK-ID • Advantages: – Simple Concept • Challenges: – May need multiple keys provisioned – Doesn’t scale well Client Server PSK, PSK-ID PSK, PSK-ID
  • 38.
    © 2014 oneM2M14-Nov-1438 PKI/Certificate-Based Authentication Client Server
  • 39.
    © 2014 oneM2M14-Nov-1439 PKI Client Server Client’s Cert Server’s Cert 1. Provision certificate 1’. Provision certificate
  • 40.
    © 2014 oneM2M14-Nov-1440 PKI Client Server 2. Configure trust anchors 2’. Configure trust anchors Client’s Cert Server’s Cert Client’s Trust Anchors Server’s Trust Anchors
  • 41.
    © 2014 oneM2M14-Nov-1441 PKI Client Server Client’s Cert Server’s Cert Client’s Trust Anchors Server’s Trust Anchors2. (D)TLS Validate client cert against server’s trust anchors Validate server’s cert against client’s trust anchors
  • 42.
    © 2014 oneM2M14-Nov-1442 MAF Assisted (D)TLS Client MAF (D)TLS Server
  • 43.
    © 2014 oneM2M14-Nov-1443 MAF Assisted (D)TLS Client 1. Provision symmetric key Km, KmId MAF (D)TLS Server Km, KmID Km, KmId
  • 44.
    © 2014 oneM2M14-Nov-1444 MAF Assisted (D)TLS Client 2. Generate Kc, KcId from Km MAF (D)TLS Server Km, KmID Km, KmId Kc, KcId Kc, KcId
  • 45.
    © 2014 oneM2M14-Nov-1445 MAF Assisted (D)TLS Client MAF (D)TLS Server 3a. (D)TLS: KcId Kc, KcId Kc, KcId
  • 46.
    © 2014 oneM2M14-Nov-1446 MAF Assisted (D)TLS Client MAF (D)TLS Server 3a. (D)TLS: KcId 3b. KcId Kc, KcId Kc, KcId
  • 47.
    © 2014 oneM2M14-Nov-1447 MAF Assisted (D)TLS Client MAF (D)TLS Server 3a. (D)TLS: KcId 3b. KcId 3c. Kc Kc, KcIdKc, KcIdKc, KcId
  • 48.
    © 2014 oneM2M14-Nov-1448 MAF Assisted (D)TLS Client MAF (D)TLS Server 3a. (D)TLS: KcId 3b. KcId (D)TLS w/ Kc 3b. Kc Kc, KcIdKc, KcIdKc, KcId
  • 49.
    © 2014 oneM2M14-Nov-1449 Remote Provisioning PArticipants • Process provisions a shared key to two entities • M2M Enrolment Function (MEF) – Assists remote provisioning – Operated by 3rd Party or M2M Service Provider • Enrolee – Entity requesting to be provisioned • Enrolment Target – Other entity that will ends up with the shared key
  • 50.
    © 2014 oneM2M14-Nov-1450 Remote Provisioning M2M Enrolment FunctionEnrolee Enrolment Target
  • 51.
    © 2014 oneM2M14-Nov-1451 Remote Provisioning Mutual Authentication M2M Enrolment FunctionEnrolee Enrolment Target
  • 52.
    © 2014 oneM2M14-Nov-1452 Remote Provisioning Mutual Authentication M2M Enrolment FunctionEnrolee Enrolment Target Generate Ke, KeId Generate Ke, KeId Ke, KeId Ke, KeId
  • 53.
    © 2014 oneM2M14-Nov-1453 Remote Provisioning M2M Enrolment FunctionEnrolee Enrolment Target Ke, KeId Ke, KeId
  • 54.
    © 2014 oneM2M14-Nov-1454 Remote Provisioning M2M Enrolment FunctionEnrolee Enrolment Target Ke, KeId Ke, KeId KeId
  • 55.
    © 2014 oneM2M14-Nov-1455 Remote Provisioning M2M Enrolment FunctionEnrolee Enrolment Target Ke, KeId Ke, KeId KeId + Enrolment Target ID + Enrolment Target ID Shared Key Shared Key
  • 56.
    © 2014 oneM2M14-Nov-1456 Remote Provisioning M2M Enrolment FunctionEnrolee Enrolment Target KeId Shared Key Shared Key Shared Key
  • 57.
    © 2014 oneM2M14-Nov-1457 Remote Provisioning M2M Enrolment FunctionEnrolee Enrolment Target Shared Key Shared Key
  • 58.
    © 2014 oneM2M14-Nov-1458 GBA UE (hosts TLS Client) Network Access Authentication Server (HSS, HLR, AAA) TLS Server Network Access Credentials GBA Bootstrap Server Function (plays role of MEF) Network Access Credentials
  • 59.
    © 2014 oneM2M14-Nov-1459 GBA UE (hosts TLS Client) Network Access Authentication Server (HSS, HLR, AAA) TLS Server Network Access Credentials GBA Bootstrap Server Function (plays role of MEF) Network Access Credentials
  • 60.
    © 2014 oneM2M14-Nov-1460 GBA UE (hosts TLS Client) Network Access Authentication Server (HSS, HLR, AAA) TLS Server Network Access Credentials Network Access Credentials GBA Bootstrap Server Function (plays role of MEF) B-TID, Ks B-TID, Ks
  • 61.
    © 2014 oneM2M14-Nov-1461 GBA UE (hosts TLS Client) Network Access Authentication Server (HSS, HLR, AAA) TLS Server GBA Bootstrap Server Function (plays role of MEF) B-TID, Ks (D)TLS: B-TID B-TID, Ks
  • 62.
    © 2014 oneM2M14-Nov-1462 GBA UE (hosts TLS Client) Network Access Authentication Server (HSS, HLR, AAA) TLS Server GBA Bootstrap Server Function (plays role of MEF) B-TID, Ks B-TID(D)TLS: B-TID B-TID, Ks
  • 63.
    © 2014 oneM2M14-Nov-1463 GBA UE (hosts TLS Client) Network Access Authentication Server (HSS, HLR, AAA) TLS Server GBA Bootstrap Server Function (plays role of MEF) B-TID, Ks Shared Key (D)TLS: B-TID B-TID TLS Server FQDN B-TID, Ks Shared Key
  • 64.
    © 2014 oneM2M14-Nov-1464 GBA UE (hosts TLS Client) Network Access Authentication Server (HSS, HLR, AAA) TLS Server GBA Bootstrap Server Function (plays role of MEF) Shared Key Shared Key Shared Key (D)TLS: B-TID B-TID Shared Key
  • 65.
    © 2014 oneM2M14-Nov-1465 GBA UE (hosts TLS Client) Network Access Authentication Server (HSS, HLR, AAA) TLS Server GBA Bootstrap Server Function (plays role of MEF) Shared Key Shared Key Continue (D)TLS (D)TLS: B-TID