허신욱 2018.
목차 목차 onem2m 사물인터넷표준플랫폼용보안기술 I. onem2m 개요및서비스 II. onem2m 보안 onem2m 개요 onem2m 기반서비스 onem2m 보안개요 onem2m 보안예제 III. onem2m 주요과제 개방형스마트시티과제개요 과제주요결과물및향후계획
IoT 플랫폼보안 I. Introduction of onem2m onem2m 기술은다양한제품간연결성을바탕으로새로운제품및서비스로손쉽게확장가능 Smart Home Healthcare Smart Car Module Module Module Module Module Module Common Service Layer WLAN WLAN/ZigBee Mobile Network (LTE) Module Module Module Module Module Module Module PAN (Bluetooth) Module Module 내손안의우리집 편리한건강관리 즐겁고편한운전환경 플랫폼공통화 고객의가치창조하는새로운 M2M 서비스창출가능 3
IoT 플랫폼보안 I. Introduction of onem2m onem2m Common Service Function onem2m 핵심요소기술 스마트홈 스마트카 스마트그리드 헬스케어 Application M2M 주요서비스 스마트홈, 스마트카 스마트그리드, 헬스케어 Common Service Functions 보안 식별체계 Delivery Handling 자원탐색데이터관리그룹관리 M2M 서비스플랫폼 공통서비스데이터서비스부가서비스 어플리케이션보안성제공 글로벌식별체계및 Delivery Handling 데이터탐색 / 저장 / 접근제어기술 데이터분석기술 (Big Data) 위치정보제공기술 원격장치관리기술 위치정보네트워크연동장치관리 네트워크서비스 액세스네트워크 (3GPP) 연동기술 QoS, Multicast/Broadcast 제어기술 Access Networks (2G/3G/LTE/WiFi/ZigBee) Access Network WAN / HAN Cellular Network (2G / 3G / LTE) Wi-Fi / ZigBee / Bluetooth 센서 스마트가전 자동차 스마트폰 Device/ Module M2M Device/ Gateway Smart TV, Smart Phone Smart Meter, Health Sensor Smart Gateway 4
onem2m 아키텍쳐 I. Introduction of onem2m 사물인터넷플랫폼기술 onem2m 기술 IN : Infrastructure 의플랫폼레벨노드 MN : 중간 Proxy 역할의노드 ASN : 서비스를위한노드 ADN : 서비스용경량센서노드 Infrastructure domain Field domain IN-AE Mca Infrastructure Node(IN) IN-AE IN-CSE Mca Mcc Mcn To an Infrastructure Node of other M2M Service Providers Mca Mcc Middle Node(IN) Mcc Mcc Middle Node(IN) MN-AE MN-AE Mca Mca Application Entity (AE) MN-CSE MN-CSE Mca Reference Point Mcn Mcc Mcn Common Services Entity (CSE) Application and Service Layer Management Discobery Communication Management/ Delivery Handling Group Management Data Management & Repository Location Device Management Network Service Exposure/Service Ex+Triggering Application Dedicated Node (ADN) Application Service Node (ASN) Application Dedicated Node (ADN) Mca Mcc Application Service Node (ASN) Registration Security Service Charging & Accounting Subscription and Notification ADN-AE ASN-AE Mca ADN-AE ASN-AE Mca Underlying Network Service Entity (NSE) Mcn Reference Point ASN-CSE Mcn ASN-CSE Mcn Non-oneM2M Device Non-oneM2M Device Non-oneM2M Device Non-oneM2M Device Link is out of scope 5
onem2m 서비스 에너지분야 IoT 기반에너지절감시스템 IN 에너지조류 I. Introduction of onem2m 에너지정보및시스템제어신호 기상데이터 시변요금제 IoT 기반에너지관리플랫폼 Market Simulator 전력시장 MN MN Smart Place Network onem2m 표준보안기능제공 (D)TLS 를통한보안연관 (Security Association) 구조성립 인가 / 접근제어 (ACL, ABAC, RBAC) 데이터기밀성 / 무결성제공보안연관구조를통한보안채널성립 식별및인증 (X.509 인증서, ECDSA) 메시지암호화및무결성확인 - AES - HMAC_SHA_256 Smart Place Network ADN 경량디바이스에대한보안기능제공 경량암호, 해시최적화구현 onem2m 표준보안기술과의연동지원 ASN ASN + 전기자동차충전시뮬레이션 냉난방시스템 공조시스템 조명시스템 Smart Appliance ㅣ 에너지저장장치 풍력발전에뮬레이터 6
onem2m 서비스 헬스분야 댁내및공공장소정보기반응급상황시스템 IN Platform I. Introduction of onem2m 대처지시 응급상황대처시스템 MN Broker ASN 사용자 onem2m 표준보안기능제공 (D)TLS 를통한보안연관 (Security Association) 구조성립 인가 / 접근제어 (ACL, ABAC, RBAC) 데이터기밀성 / 무결성제공보안연관구조를통한보안채널성립 식별및인증 (X.509 인증서, ECDSA) 메시지암호화및무결성확인 경량디바이스보안기능제공 경량암호, 해시최적화 onem2m 표준보안기술과의연동지원 병원 / 보건소 경찰서 ADN 가정정보 공공장소 ADN 관공서 영상 전력 도어락상태 가족 / 지인 7
onem2m 서비스 스마트홈분야 스마트홈시스템 I. Introduction of onem2m ASN 경량디바이스에대한보안기능제공 경량암호, 해시최적화구현 onem2m 표준보안기술과의연동지원 세탁기 스마트플러그 로봇청소기 스마트냉장고 TV 에어컨 경량디바이스에대한보안기능제공 경량암호, 해시최적화구현 onem2m 표준보안기술과의연동지원 가전기기데이터 MN 가전기기제어 onem2m 표준보안기능제공 (D)TLS 를통한보안연관 (Security Association) 구조성립 인가 / 접근제어 (ACL, ABAC, RBAC) 데이터기밀성 / 무결성제공보안연관구조를통한보안채널성립 식별및인증 (X.509 인증서, ECDSA) 메시지암호화및무결성확인 ADN IoT Broker 센싱데이터 플랫폼 도어센서 온습도센서 움직임센서 가정용캠 IN 8
IoT 플랫폼보안 사물인터넷플랫폼보안기술정의사례 3 onem2m Security Architecture Security Services Security API (Mca, Mcc) (not specified in the present document) Security Functions Layer Identification And Authentication Authorization Identity Management Security Association Sensitive Data Handling Security Administration Secure Environment Abstraction Layer (not specified in the present document) Secure Environments Layer Secure Environment n Sensitive Data Sensitive Functions 9
Access decision If the request matches the access control rules TRUE or 1 If the request matches the access control rules FALSE or 0 The overall result of the access decision algorithm is denoted here with the variable name res_acrs: 10
Access Decision onem2m Security Functions Layer Authorization Procedure PDP 가인가를하기위해 PRP,PIP 에게정보를언어오는단계 PDP 가접근허용여부를결정하는단계 Policy Enforcement Point(PEP) Policy Decision Point(PDP) Policy Retrieval Point(PRP) Policy Information Point(PIP) 11
Authorization ACR_1 Resource_1 Resource_2 Resource_3 Resource_4 Resource_5 ACP_1 ACP_2 ACP_3 ACP_4 ACP_5 ACR_2 ACR_3 ACR_4 ACR_5 ACR_6 ACR_7 ACR_8 selfprivilige/privilige 속성으로나누어짐 selfprivilige 속성 - ACP 에대한연산 (Operation) 을수행하기위해사용됨 Privilige 속성 - ACP 를제외한다른리소스에대한연산을수행하기위해사용됨 ACP_6 ACR_9 PRP 가 ACP 를저장 ACR_10 onem2m 리소스 ACP( 접근제어정책 ) 리소스접근제어규칙 (ACR) 12
Details of Authorization ACP(Access Control Policy) 란?? ACR(Access Control Rule) 로이루어짐 selfprivilege/privilege 두가지의속성으로나누어짐 ACP 리소스에대해서는 selfprivilege 속성을보고, 다른리소스에대해서는 Privilege 속성을이용함 acrs = { acr(1), acr(2),..., acr(k) } ACR(Access Control Rule) 란?? selfprivilege/privilege 속성으로구성됨 acr(k) = { 요청파라미터 accesscontroloriginators acr(k)_accesscontroloriginators, acr(k)_accesscontroloperations, acr(k)_accesscontrolcontexts } 설명 Mandatory /Optional to 대상리소스의 ACP 가있는곳의 URI M fc Retrieve 와 Discovery 의필터조건 O fr 요청자 (originator) 의식별자 M role 요청자 (originator) 의역할 O accesscontroloperations op 대상리소스에대해서요청된연산 (operation) M accesscontrolcontexts rq_time rq_loc rq_ip 요청시간 요청장소 요청 IP O 13
Security Association onem2m Security Functions Layer Authentication UN-SP : Underlying Network Service provider GBA : Generic Bootstrapping Architecture MEF : M2M enrolment function BSF : Bootstrap service function MAF : m2m authentication function RSPF : remote security provisioning framework SAEF : security association establishment framework MAF-Based SAEF 는 3 자간인증을수행 Certificate-Based SAEF 와 Symmetric Key-Based SAEF 는 Entity 간의인증을수행 셋중에하나사용 1 Provisioned Symmetric Key Security Ass ociation Establishment Framework 미리제공된대칭키를이용하여 end-points간의 association 진행 2 Certificate-Based Security security Asso ciation Establishment Framework 개인서명키와인증서, 공개키를이용하여 association 3 MAF Security security Association Estab lishment Framework 3 rd party service provider에의해서진행됨 14
Security Association All type of Security Association Establishment Frameworks General description of SAEF Credential Configuration 사전파라미터설정단계 Association Configuration 상대방정보송수신 Association Security Handshake 상호인증 15
SAEF Based on Provisioned Symmetric Key A B Credential Configuration Kpsa & KpsaId 는두가지방법에의해서공급됨 - Pre-Provisioning - Remote Provisioning Framework B 의식별자는 IdB 로사전에설정 IdB 를 KpsaId 와연관 IdB 는 Security Contexts 에연관되며, Kpsa 에의해서인증 IdA 를 KpsaId 와연관 IdA 는 Security Contexts 에연관되며, Kpsa 에의해서인증 Association Configuration 없음 Association Security Handshake: (D)TLS Handshake A 는 B 와 TLS 를사용하고, TLS_PSK 또는 TLS_DHE_PSK 를사용 : TLS psk_identity 를 KpsaId 으로설정 TLS psk 파라미터를 Kpsa 으로설정 A 는 Kpsa 를이용하여세션정보에대한 MIC 를생성하고, B 는 Kpsa 를이용하여 MIC 를검증 B 는 Kpsa 를이용하여세션정보에대한 MIC 를생성하고, A 는 Kpsa 를이용하여 MIC 를검증 16
SAEF Based on Certificate A B Credential Configuration A 의 privatekey, Cert 를필수로준비하고, Cert Chain 을추가적으로사용할수있음 A 의 Cert 가 CSE-ID/AE-ID Cert 라면 IdA 가준비 B 의 privatekey, Cert 를필수로준비하고, Cert Chain 을추가적으로사용할수있음 B 의 Cert 가 CSE-ID Cert 라면 IdB 가준비 B 의식별자는 IdB 로사전에설정 Association Configuration IdB 와 B 의 Cert 를연관 IdB 는 Security Contexts 에연관되며, B 의 Cert 에의해서인증 IdA 와 A 의 Cert 를연관 IdA 는 Security Contexts 에연관되며, A 의 Cert 에의해서인증 Association Security Handshake: (D)TLS Handshake A 는 A 의 Cert & Chain(o) 을 B 에게보낸다 B 는 B 의 Cert & Chain(o) 을 A 에게보낸다 A 는 B 의 Cert & Chain(o) 을검증한다. B 는 A 의 Cert & Chain(o) 을검증한다. TLS Handshake : A 는 A 의 PrivateKey 를이용하여세션정보에대한 MIC 를생성하고, B 는 A 의 Cert 로검증 B 는 B 의 PrivateKey 를이용하여세션정보에대한 MIC 를생성하고, A 는 B 의 Cert 로검증 17
SAEF Based on MAF(M2M Authentication Function) A MAF-FQDN, Km, KmId B Credential Configuration MAF Km, KmId, IdA B 의식별자는 IdB 로사전에설정 A 는 IdB 를설정 Association Establishment Parameters MAF 는 IdB 를설정 IdB 는 Security Contexts 에연관되며, Km 으로부터생성된 kc 와 idb 에의해서인증 B 에게 Km 으로부터생성된 kc 를발급 Association Security Handshake: (D)TLS Handshake MAF Handshake PSK-TLS handshake Psk_identity 는 KmId 로설정, Psk 파라미터는 Km 으로설정 Kc, RelativeKcId 를 RFC 5705 에따라 export 하고, RelativeKcId 와 MAF-URI 로부터 KcId 를생성하고저장 KcId KcId Kc, KcId Kc,KcId,IdA 18
Security Administration SAEF(Security Association Establishment Framework) 사전에 Association 을위한파라미터가준비되어있어야하며, 이를이용하여상호인증을수행 RSPF(Remote Security Provisioning Framework) 상호인증이요구되지만, SAEF 를위한파라미터가설정되어있지않다면?? Based on symmetric key Based on Certificate Based on GBA(General Bootstrapping Architecture) 19
Remote Security Provisioning Frameworks onem2m Security Framework Remote Security Provisioning Frameworks Bootstrap Credential Configuration Bootstrap Instruction Configuration Bootstrap Enrolment Handshake Enrolment Key Generation Enrolment Phase RSPF 목적 두노드 (Node) 간의공유된파라미터없이상호인증 SAEF 를위한파라미터설정 (Kpsa/KpsaId, Km/KmId) 20
RSPF Based on Symmetric Key Enrolee MEF Enrolment Target (MAF,Enrolee B) Kpm & KpmId, MEF URI Bootstrap Credential Configuration Kpm&KpmId 식별자는사전에설정 Bootstrap Instruction Configuration Enrolment Target ID, Enrolment Expiry Enrolee ID Enrolment Target ID, Enrolment Expiry Bootstrap Enrolment Handshake TLS_PSK 또는 TLS_DHE_PSK 를사용 : TLS psk_identity 를 KpmId 으로설정, TLS psk 파라미터를 Kpm 으로설정 Enrolle 와 MEF 는 Kpm 으로각자의세션정보에대한 MIC 를생성및검증 Enrolment Key Generation Ke, RelativeKeId 를 RFC 5705 에따라 export 하고, RelativeKeId 와 MEF-URI 로부터 KeId 를생성하고저장 Integration to Association Security Handshake KeId {kmid / KpsaId} 를 KeId 로설정 Ke/Enrolee Target ID 로부터 {Km/Kpsa} 생성 상호인증 KeId {Km/Kpsa}, Enrolee ID {kmid / KpsaId} 를 KeId 로설정 21
RSPF Based on Certificate Enrolee MEF Enrolment Target (MAF,Enrolee B) Bootstrap Credential Configuration Enrolee Private Key/Cert/Chain(o), MEF URI MEF Private Key/Cert/Chain 식별자는사전에설정 Bootstrap Instruction Configuration Enrolment Target ID, MEF URI, MEF Certificate Enrolee ID, Enrolment Target ID Enrolee Certificate Bootstrap Enrolment Handshake Enrolee/MEF Cert&Chain TLS : Enrolle/MEF Private Key 로각자의세션정보에대한서명및검증 Enrolment Key Generation Ke, RelativeKeId 를 RFC 5705 에따라 export 하고, RelativeKeId 와 MEF-URI 로부터 KeId 를생성하고저장 Integration to Association Security Handshake KeId {kmid / KpsaId} 를 KeId 로설정 Ke/Enrolee Target ID 로부터 {Km/Kpsa} 생성 상호인증 KeId {Km/Kpsa}, Enrolee 의 CSE-ID 또는 AE-ID {kmid / KpsaId} 를 KeId 로설정 22
RSPF Based on GBA Enrolee MEF Enrolment Target (MAF,Enrolee B) Bootstrap Credential Configuration 3GPP 에따라자격증명설정 식별자는사전에설정 Enrolment Target ID Bootstrap Instruction Configuration Enrolee GUSS Bootstrap Enrolment Handshake GBA Bootstrapping Ks, B-TID Ks, B-TID Ke = Ks KeID = B-TID Enrolment Key Generation Ke = Ks KeID = B-TID Integration to Association Security Handshake KeId {kmid / KpsaId} 를 KeId 로설정 Ke/Enrolee Target ID 로부터 {Km/Kpsa} 생성 상호인증 KeId {Km/Kpsa}, Enrolee 의 CSE-ID 또는 AE-ID {kmid / KpsaId} 를 KeId 로설정 23
Sensitive Data Handling onem2m Security Framework onem2m 에서는 Data 에대한 protection level 을정의하고있음 0 : No protection 1(Low) : protection on passive attack (not active attack) 2(Midium) : protection on remote attack 3(High) : protection on remote and local attack 24
onem2m Security Scenario 헬스케어서비스 IoT 체중계및웹애플리케이션을통한사용자별건강관리서비스 사용자인증및인가 (3) 사용자별건강관리서비스제공 (4) 안전한데이터저장 프라이버시보호 Health Care Web-application AE2 CSE2 M2M SP s Server Infrastructure Domain (2) IoT 체중계와서버간의통신통신보안 Sensor AE1 Gateway CSE1 Field Domain (1) IoT 게이트웨이및 IoT 체중계의서버등록과정 서비스의단계별필요한보안기능 (1) 통신보안 (2) 사용자인증 (3) 사용자및데이터접근제어 (4) 프라이버시보호 o o o o Sensor : 사용자의체중데이터수집을위한 IoT 체중계 Gateway : 센싱데이터수집및서버와의통신을위한게이트웨이 M2M SP s Server : 사용자별데이터수집및처리 Web App Server : 사용자별건강관리서비스제공 25
onem2m Security Scenario 1. 암호화된안전한통신채널성립 -1 식별및인증을통한보안관계성립 PSK, 인증서, MAF 방식존재 PSK 기반의보안관계성립 자격증명준비구조를통해배포된비밀키를통한상호인증 인증서기반의보안관계성립 게이트웨이와서버의인증서및 Trust Anchors 를이용한 (D)TLS Handshake 를통해식별및상호인증수행 암호화및무결성검증을통한안전한통신채널성립 1. Association with Certificate/Symmetric Key Gateway s Ce rt/key Gateway Server Server s Cert/Key 2. TLS/DTLS Handshake 26
onem2m Security Scenario 1. 암호화된안전한통신채널성립 -2 IoT 체중계 - 게이트웨이, 게이트웨이 - 서버등의보안을통해 IoT 체중계 서버단까지의안전한보안채널성립 onem2m 보안에사용되는 (D)TLS v1.2 (D)TLS v1.2 AE-CSE AE : TLS Client(C) CSE : TLS Server(S) CSE-CSE CSE1 : TLS Client(C) CSE2 : TLS Server(S) 27 Sensor AE1 AE2 Web App Server (C) CoAP DTLS UDP Field Domain Infrastructure Domain (S) (C) HTTP TLS TCP (S) (S) Gateway (C) CSE1 CSE2 TLS if TCP transport DTLS if UDP transport HTTP TLS TCP
onem2m Security Scenario 2. 사용자인증 식별및인증을위해필요한보안자격증명을준비하는단계 RSPF : PSK, 인증서, GBA 방식존재 SAEF : PSK, 인증서, MAF 방식존재 (1.2) Generate Ke, KeId (1.2) Generate Ke, KeId (4.1) Generate Secret Key Gateway (Enrolee) Ke, KeId (1.1) Mutual Authentication Ke, KeId M2M Enrolment Function (4.1) Generate Secret Key Secret Key Secret Key (3) KeId (4.2) Secret Key Secret Key (2) KeId in (D)TLS Handshake Server (Enrolment Target) 28
onem2m Security Scenario 3. 사용자별서비스제공을위한인가기능제공 인가 / 접근제어를위해서는사전에상호인증이필요 접근제어리스트 (ACL), 역할 / 속성기반접근제어모델사용 (RBAC/ABAC) 접근제어정책과접근제어모델을통해인가 / 접근제어수행 HTTP Health Care Web-application AE2 TCP CSE2 M2M SP s Server 1. 상호인증 <accesscontrolpolicy> 2. 사용자정보요청 3. 인가 / 접근제어 접근제어모델 ACL RBAC ABAC 4. 접근허용 ( 사용자정보 ) 또는거부응답 29
onem2m Security Scenario 4. 서버에저장되는사용자의중요데이터보호 프라이버시를침해할수있는사용자의민감데이터및중요데이터보호 (Sensitive Data Handling) 민감데이터처리기능 (Sensitive Functions) 보호레벨 (Protection Level 0~3) 에따른민감데이터처리 안전한저장공간 (Secure Storage) 보호레벨 2 : 중간수준의보안레벨로써원격공격에대한보안기술은적용되지않은레벨, 보호레벨 3 : 높은수준의보안레벨로써원격또는로컬공격 ( 부채널공격등 ) 에대해서도안전한레벨 Server AE AE AE AE CSE CSE CSE CSE CSE CSE Security API Security API Remote Secure Environment Protection Level 2 Local Secure Environment Protection Level 3 Sensitive Function Secure Storage 30
서비스구성도 III. onem2m Project Wi-Fi LAN 디바이스플랫폼 LTE CDMA 31
개방형스마트시티플랫폼구축 III. onem2m Project 32
개방형스마트시티플랫폼아키텍쳐 III. onem2m Project 33
onem2m 보안아키텍쳐구현 III. onem2m Project onem2m 표준기반의 Security Framework 구현타플랫폼연동을위한보안아키텍쳐설계및구현 사용자 Service / Application (AE) Infrastructure Domain 타플랫폼 (IN) 공통플랫폼 (IN) 응용플랫폼 (IN) 실증서비스 1 (ASN) 실증서비스 2 (MN) 실증서비스 3 (ASN) 실증서비스 N (ASN) Field Domain 실증서비스구축을위한보안가이드라인제시실증서비스취약점분석및보완 센서 / 액츄에이터 (ADN) M2M 디바이스 (ASN) M2M 디바이스 (ASN) 경량암호기술적용 34
감사합니다 Q & A