321

Click here to load reader

IoT Introduction and Security

Embed Size (px)

Citation preview

Page 1: IoT Introduction and Security

최종석

2016.1.18

Page 2: IoT Introduction and Security

전체 목차

사물인터넷 암호및플랫폼 보안기술

목차

2

• 사물인터넷 개요• 사물인터넷과 헬스케어• 사물인터넷과 스마트공장• 그 외의 사물인터넷 서비스

III.�OneM2M�개요및보안I.�사물인터넷개요및응용

• 사물인터넷 서비스 구현사례• 사물인터넷 플랫폼 구현사례• 사물인터넷 브로커 구현사례• 사물인터넷 디바이스 구현사례• 사물인터넷의 보안이슈

II.�사물인터넷구현기술및보안 IV.�맺음말

• OneM2M�개요• OneM2M�구현 사례• OneM2M�보안 요소기술

Page 3: IoT Introduction and Security

I.�사물인터넷과 보안

3

1.�사물인터넷 개요2.�사물인터넷과 헬스케어3.�사물인터넷과 스마트공장4.�그 외의 사물인터넷 서비스

Page 4: IoT Introduction and Security

1.�사물인터넷 개요 - 패러다임변화

우리사회는산업혁명(오프라인),�정보화혁명(온라인)을 거쳐,�모든 것이인터넷과연결되는

사물인터넷 기반의초연결혁명(온-오프라인융합혁명) 진행 중

4

• 의류, 섬유, 철강• 대량 생산 체계• 시간ㆍ공간 제약

산업사회

오프라인 (물리적 공간)

은행

제조업 강국

• 포털/뱅킹, 전자상거래• ICT 일상화• 서비스 혁신

정보화 사회

온라인 (가상공간)

컴퓨터/스마트폰 – 인터넷 연결

인터넷 뱅킹

ICT 인터넷 강국

초연결 사회

오프라인과 온라인 융합

모든 사물 – 인터넷 연결

가상공간물리적 공간

융합공간

• 스마트 카/ 홈/ 에너지• ICT 기반 사회문제해결• 제조업 혁신 (생산성/효율성)

창조경제 강국

인터넷

컴퓨터

사물인터넷

스마트기기

▷ 향후 연결 확대 과정에서 모든 분야에 파괴적 혁신 유발 전망• 사물인터넷은 2020년까지 전 세계 기업 총이익을 21% 성장시키는 잠재력을 지닌 기술

à 10년간(’13~’22) 19조불(공공 4.6조불, 민간 14.4조불) 경제효과 창출 추정(Cisco, 2013)

I.� 사물인터넷 개요

※참고 문헌 [1]

Page 5: IoT Introduction and Security

1.�사물인터넷 개요 - 변화에따른 시대적요구

5

새로운 성장모멘텀필요 국가사회 현안 문제 해결

창의적 아이디어를 가진

중소�벤처기업을 중심으로

SW/부품 등 산업경쟁력 확보

경제 저성장 지속 불확실성 증대

제조업 경쟁심화,대기업 중심의 성장한계 등 자원 고갈과 재난증가 등

사물인터넷을 기반으로

공공 산업 개인 분야대민서비스

혁신제조업 혁신,신산업 육성

안전, 편리 등삶의질 제고

I.� 사물인터넷 개요

Page 6: IoT Introduction and Security

1.�사물인터넷 개요 - 기술개념

6

유비쿼터스사회를실현하는사물인터넷기술개념

[유비쿼터스 사회를 실현하는 핵심 기술은 IoT(사물 인터넷) 기술 개념도]

I.� 사물인터넷 개요

Page 7: IoT Introduction and Security

1.�사물인터넷 개요 - 개념

7

사물인터넷정의 (CERP-IoT�2009:Cluster�of�European�Research�Projects�on�the�Internet�of�Things)

§ 사물인터넷(IoT)은 미래인터넷의 통합된 부분으로서 표준과 상호 호환 통신 프로토콜로자가 설정 기능을 갖춘 동적 글로벌네트워크 인프라로 정의될 수 있으며,�

§ IoT는 자기 식별자와 각각의 특성을 갖는물리적인 사물과 가상 사물로 구성된다.�

§ 또한,�지능형 인터페이스를 가지며 정보망에 잘 통합되는 특성을 갖는다.�IoT에서의 사물은비즈니스와 정보,�소셜 프로세스의 적극적인 참여자로서 사물간 혹은 환경과 데이터/센싱된환경 정보를 상호 전달/반응 할 수 있다.�

§ 사물은 자율적으로 물리적인 실환경 이벤트에 반응하거나,�인간의 직접적인 개입 유무와는관련 없이 서비스를 만들거나 특정 행위 동작을촉발하는 프로세스를 실행한다.�

§ 서비스 형태에서의 인터페이스는 인터넷을 통해 이와 같은 스마트 사물과의 상호 작용을촉진하고 보안과 프라이버시 이슈를 고려하여 사물의 상태나 관련 정보를 질의혹은교환한다.

– IoT는 센서/상황인지기술과통신/네트워크기술,�칩 디바이스 기술,�경량 임베디드네트워크기술,�자율적/지능형플랫폼기술,�대량의데이터를 처리하는빅데이터기술,�데이터마이닝기술,�사용자중심의응용서비스 기술,�웹 서비스기술,�보안/프라이버시보호기술등다양한 형태의기술을필요로한다.�

I.�의료융합산업 &�IoT

Page 8: IoT Introduction and Security

1.�사물인터넷 개요 - 개념

8

사물인터넷(Internet of Things, IoT)은 사람, 사물, 공간, 데이터 등

모든 것이 인터넷으로 서로 연결되어, 정보가 생성�수집�공유�활용되는 초연결 인터넷

생활기기 가치창출 국민 편익 및 쾌적환경 제공 기존산업의 신 가치창출

대국민 삶의 질 향상 사회 현안문제 해소 산업 경쟁력 강화

개인 IoT 공공 IoT 산업 IoT

주차공간확보에낭비되는시간

7천만 시간 절감

주차중 배출되는

양 10% 감소

고부가가치서비스회사로변신

서비스 사업 점유율 50%영업이익률 2.5배

부가가치상승

229 + α150

I.� 사물인터넷 개요

※참고 문헌 [1]

Page 9: IoT Introduction and Security

1.�사물인터넷 개요 - 개념

9

주요 시장 조사 기관, 미래 IT 기술로 IoT(Internet of Things) 선정 (Gartner 2014, China High-Tech Fair 2011, Forrester 2012 등)

EU의 IoT-A 프로젝트, EU FP7(RFID, SPITFIRE: IoT Semantic Service 연구), ETSI의 M2M, OneM2M 등 다양한표준화 진행 중

유럽, 중국, 미국, 한국등, 학계,산업계, 표준화 단체 등에서 IoT 관련 연구 및

기술 개발, 상용화, 표준화등 활발히 수행

가트너그룹, 미래 10대 기술에 IoT(IoE) 선정2011, 2012, 2013

사 람

서비스IoT

사 물

지식 마이닝

빅데이터

증강현실

환경센싱

행동패턴 센싱

사람을 위한 다양한 서비스 창출 가능

스마트마이크로그리드

생활습관개선 클리닉응급 환자

자동차 모니터링Car Healthcare

웹 서비스 연동

데이터마이닝Machine Learning

상황인지

가상 센싱

다중 인식(Perception)물리환경 제어

임베디드시스템

NLP 처리

사람과 사물, 서비스의소통수단인사물인터넷

I.� 사물인터넷 개요

Page 10: IoT Introduction and Security

1.�사물인터넷 개요 - 개념

10

가트너그룹이발표한2013년Technology�Hype�Cycle

I.� 사물인터넷 개요

Page 11: IoT Introduction and Security

1.�사물인터넷 개요 - 로드맵

11

Page 12: IoT Introduction and Security

1.�사물인터넷 개요 - 기술개념

12

2013년가트너Hype�Cycle에서제시된주요기술의6대경향(1/2)§ 기술로인간 능력증강

– 기술의진보로 인해인간은 물리적인영역과 감성적인측면,�그리고인지측면에서 능력이향상된다고 함.�인간 능력 증강기술로는 3차원바이오프린팅기술이나 인간-뇌 인터페이스,�언어간 자동번역,�웨어러블기술 등을예로 들고있음

§ 인간을대체하는 머신

– 위험한작업에 있어서머신이 인간을대체하는 것은당연한 것으로보임.�이뿐만아니라 고객의다양한 요구를처리할 수있는 서비스나자동 주행자동차,�모바일로봇,�가상 비서 등고객의 다양한요구를 인간대신처리하는 머신에대한수요가 늘어날것으로 예측함

§ 인간과머신의 협력

– 인간과머신은 제어명령을 주고이를 수행하는주종 관계가아니라 좀더대등하고 협력적인관계로 발전할것으로 보임.�예를 들어 IBM�watson 머신은학습과지능 능력을갖추게 되어특정 분야에서는인간과 실질적인협력을수행하는 존재로까지발전하고 있음

I.� 사물인터넷 개요

Page 13: IoT Introduction and Security

1.�사물인터넷 개요 - 기술개념

13

2013년가트너Hype�Cycle에서제시된주요기술의6대경향(2/2)§ 인간과환경을 더욱더 잘이해하는 머신

– 머신은인간과 인간의행동,�인간의감정 등을좀 더이해함으로서 많은능력을갖추게될 것임.�이러한 머신의이해력 증대는상황 인지기반대응력을 향상시킬것임.�예를 들면,�이러한능력은 고객이새로운제품에 대한선호도를 미리예측하여 대응할수있도록 할수 있을것임

§ 머신을더 잘이해하게 되는인간

– 머신이더욱 스마트해지고 자율적으로발전함에 따라인간은 머신을신뢰하게되고더욱 안전하다고느끼게 될것임

§ 점점더스마트해지는 머신과 인간

– 빅데이터의 출현과애널리틱스 기술,�인지 컴퓨티 기술은인간의 판단을위한근거를제시해주며 기술에게도 지능을갖추게 만듦

I.� 사물인터넷 개요

Page 14: IoT Introduction and Security

1.�사물인터넷 개요 - 주요시장 Players

14

IBM, CISCO, Apple, ERICSSON, NI, GE, 삼성 전자, LG전자, Google, HP, ARM, Atmel, BOSCH 등 대형 업체와 Xively, Mocana, Touchtag, Fitbit, nest 등 다수의 업체들이 참여중임

Big�Data,�Cloud�Services,�Data�Analytics,�etc.Car�Applications

IoT�Infrastructure,�Platform,�M2M,�WoT,�etc

Home�Applications

IoT�DevicesIoT�Entertainments,�Healthcare,�etc.

I.� 사물인터넷 개요

Page 15: IoT Introduction and Security

1.�사물인터넷 개요 - 시장전망

15

‘25년까지국가경쟁력에영향을 미칠 수 있는‘혁신적인 파괴적 기술’중에 하나로사물인터넷 선정→ 기술로드맵 수립 (‘08)

• 경제혁신을 위한 도구 : ‘신에너지'와 ‘사물인터넷‘ 설정

• 최근 Reshoring Initiative (제조업 본국 회귀전략)로 3D프린팅, 반도체, 센서 등을중심으로 제조업 활성화추진

미국 – 파괴적 기술/경제혁신 도구

u-Japan (’04년), i-Japan 2015 전략 (‘09년), Active Japan ICT전략(‘12년) 등을통해사물인터넷 관련 정책 추진

• 다양한 ICT 발전전략(센서네트워크기반의 M2M 기술및 서비스) 등을 통해 2000년대초반부터꾸준히추진중

일본 – i-Japan 2015 전략

1

UnitedStates

2

Korea

3

Japan

4United

Kingdom

5China

Top5 Countries in G20Internet of Things Composite Index

I.� 사물인터넷 개요

Page 16: IoT Introduction and Security

1.�사물인터넷 개요 - 국내외동향

16

스마트워터시스템

(카타르,�브라질,�중국등)

상하수도 시스템에 센서 설치→ 40~50%의 누수방지

쓰레기관리시스템

(신시내티)

가정쓰레기 배출량 모니터링→ 쓰레기 배출량 17%�감소 및

재활용 49%�증가

지능형운영센터운영

(브라질)

기상데이터 분석을 폭우 가능성 예측→ 대응시간 약 30%�개선,

사망자 수 10%�감소

지능형교통시스템

(영국)

고속도로 지능형교통 시스템 구축→ 통행시간 25%�단축 및

교통사고 50%�감소

I.� 사물인터넷 개요

Page 17: IoT Introduction and Security

1.�사물인터넷 개요 - 국내외동향

17

스마트가도등(바로셀로나)

가로등에 센서설치 및자동 조명 세기 조절

→ 연간 30%�에너지 절감

GPS/센서농축산업적용

GPS�활용 파종한 라인제어→ 트랙터 작업효율을 20%�개선

제조업의서비스화(롤스로이스)

제품의 서비스화(10% →50%)→ 영업이익률 2.5배 증가

스마트약병서비스

약 뚜껑 센서 부착 및투약 시점관련 정보 제공→ 98%�이상의 복약 이행

I.� 사물인터넷 개요

Page 18: IoT Introduction and Security

1.�사물인터넷 개요 - 서비스이용환경의 변화

18

개발자 이용자

사물 검색,�연결,�제어(스마트폰 활용)

아이디어 ▶ 개발▶ 서비스 구현

개방형생태계

[Open�API]

모든 것(Everything)의 연결광대역/모바일 네트워크

I.� 사물인터넷 개요

Page 19: IoT Introduction and Security

1.�사물인터넷 개요 - 서비스

19

공공 IoT

다양한시범사업추진

호환성미흡및중복개발로개발·�구축비용부담

확산 저조

대기업중심일부도입

중소기업은초기구축비용문제

활용 저조

산업 IoT

[글로벌기업]스마트홈/자동차등경쟁중

[중소기업]다품종소량생산제품으로

시장진출노력중

개인 IoT

I.� 사물인터넷 개요

Page 20: IoT Introduction and Security

1.�사물인터넷 개요 - 플랫폼 ­ 개념 및의의

20

개발자 à비용절감 /�개발시간 단축

온라인 커뮤니티 Open API�공개 제품/서비스 개발

Open� IoT Platform

네트워크관리

데이터관리및저장

접근인증 과금

디바이스등록관리

그룹관리응용서비스

관리검색

사물 검색 연결,�제어 서비스 이용

이용자 à스마트폰 등 활용 직관적 접근/�쉽게 활용

IoT응용

소프트웨어

IoT디바이스

I.� 사물인터넷 개요

Page 21: IoT Introduction and Security

1.�사물인터넷 개요 - 플랫폼

21

[기존동향]�각 서비스분야별로별도의 시장이형성[소규모화·파편화][최근동향]�oneM2M의 “서비스 플랫폼표준”은 14년 하반기제정예정 [규모의경제 실현전망]

네트워크 사업자 1네트워크 사업자 2

서비스· 비즈니스,�응용

단말

네트워크 사업자

서비스· 비즈니스,�응용 &4

서비스· 비즈니스,�응용 &L

서비스· 비즈니스,�응용 &Q

로컬 네트워크

단말 표준플랫폼

단말 단말 단말단말

서비스 표준플랫폼 /�서비스사업자

게이트웨이

게이트웨이

종속적,�폐쇄적,�수직적 구조

수평적 구조(공통인프라 환경)서비스 응용에대한 인프라(플랫폼)�환경을 통합·공유

Ø IoT 응용사업자는

IoT서비스 사업자 또는

IoT단말/게이트웨이 고객에게

서비스응용을 제공

Ø IoT 서비스사업자는

표준서비스 플랫폼을 구축하고

IoT응용사업자 및 IoT단말 사업자

에게제공

Ø 네트워크 사업자는

IoT 서비스사업자에게

망서비스를 제공

Ø IoT 단말사업자는

IoT 단말플랫폼 규격에 따라개발한

단말을 IoT서비스 사업자 또는

End-user에게 제공

I.� 사물인터넷 개요

Page 22: IoT Introduction and Security

1.2�의료사물인터넷 - 디바이스

웨어러블디바이스*,�스마트센서**�등을중심으로시장확대전망*글로벌 대기업 :�웨어러블,�스마트카,�스마트홈 등 주력**스마트센서 :�글로벌 전문기업 주도,�국내는 전적으로 수입 의존

22

오픈소스 HW,�D.I.Y�등

개방형 HW�생태계

SW�서비스 +�디바이스 +�부품

이종기업간동반성장전략

I.� 사물인터넷 개요

Page 23: IoT Introduction and Security

1.2�의료사물인터넷 - 보안 개요

인터넷에연결되는사물수의증가로인하여주요 IoT�서비스별보안위협에대한대응정책논의단계

23

국민이안심할 수있는 사물인터넷 서비스도임을 위해

보안,�프라이버시,�윤리 등을 고려한대응정책 마련필요

기획.�설계단계부터 보안을고려한 IoT�기술 및 서비스

개발필요

사물인터넷 생태계(SPND)별 다양한보안 위협요소내재

I.� 사물인터넷 개요

Page 24: IoT Introduction and Security

1.2�의료사물인터넷 ­ 산업개요

24

eHealth§ ICT�기술을 사용하여 건강 관리 서비스혹은 건강 관련 정보를 전송하는 것을 의미함

Telemedicine/Telehealth§ ICT기술을 사용하여 원격으로 건강 관리 서비스 혹은 건강관련 정보를 전송하는 것을의미함

mHealth (모바일헬스)§ 모바일 디바이스 및 기술을 사용하는 원격 건강관리 서비스

헬스케어에서의사물인터넷§ 웨어러블 디바이스(IoT�디바이스),�통신/네트워크,�플랫폼,�지능화 기술,�보안/프라이버시보호 기술,�집단지성 등,�다양한 사물인터넷 기술 기반 헬스케어 서비스

I.�의료융합산업 &�IoT

Page 25: IoT Introduction and Security

1.2�의료사물인터넷 - IoT기반헬스케어

25

전형적인IoT�기반헬스케어서비스구조도

I.�의료융합산업 &�IoT

*�참고:��Qualcomm�Preventice자료참고

IoT�기반헬스케어서비스주요특징• 환자/사용자의 건강상태 및 운동상태 추적가능

• 위급 상황에대한 조기 탐지및 예방 가능

• 환자/사용자의 생체신호,�생리적 상태모니터링 뿐만 아니라,�환경 정보/상황정보,�개인정보(개인습관,�선호도,�위치,�병력

정보 등)�등의 모니터링및 통합 기능

• 웨어러블 디바이스,�스마트 의류,�CCTV,�IoT�센서등 다양한센싱 디바이스를 사용하여 모니터링가능 (정보기반 가상

센서도 유용하게활용 가능)

• 클라우드 기반데이터 저장/가공/처리/활용등이 가능함

• 다양한 IoT�통신/네트워크 활용가능

• 매쉬업 서비스를통한 고부가가치 헬스케어 서비스창출 가능

Page 26: IoT Introduction and Security

1.2�의료사물인터넷 - IoT기반헬스케어

26

I.�의료융합산업 &�IoT

*�참고:��Qualcomm�Preventice자료참고

IoT�기반헬스케어서비스장점

• 의료진의 시간을 절약할 수 있음

• IoT�기술 접목을 통해의료진은 주어진 시간에 더 많은 환자를 모니터링 할 수 있음

• IoT�기반 헬스케어는 환자의 행동습관,�위치,�현재 상태를 정확히파악 가능함

• 클라우드 기반 IoT�플랫폼/서비스는 필요시,�의료진에게 해당 상황을 정확히 알려줄 수 있음

• 휴대성이 높아진 웨어러블 디바이스 센서(혹은 심지어 이식 센서)는 환자의 vital�신호를 더욱

정확히 모니터링 가능하며,�이를 헬스케어 서비스 제공자에게 정확히 전달 가능

• 실시간 정보는 생(⽣)과 사(死)를 선택하는 중요한 요소가 될 수 있음

• IoT�기반 헬스케어 서비스는 장기간 치료가필요한 질병(예:�암)을 앓고 있는 환자의 경제적

부담을 줄여줌

• IoT�기반 자가 모니터링은 운동및 건강한 생활을 위한 유인책이 됨

Page 27: IoT Introduction and Security

1.2�의료사물인터넷 - 산업 개요

27

I.�의료융합산업 &�IoT

원격진료의역사§ 1924:� radio�doctor�

§ 1975:�첫번째 원격 신경 치료사례.�“Comparison� of�television� and�telephone� for�remote�medical� consultation”

§ 미항공우주국(NASA):�우주비행사 vital�신호분석

§ ’90:�인터넷 출현

§ 2000년 초 :�원격진료 개념 활성화

§ 2010년~:�빅데이터 분석/지능화/사물인터넷

기반 원격 진료 가능성 대두

Page 28: IoT Introduction and Security

1.2�의료사물인터넷- IBM�Watson

28

기술개요

§ IBM에서개발한 자연어형식으로된질문들에 답할수있는인공지능 컴퓨터시스템§ Cognitive�computing�을 통한결과 도출§ Personality�Insights,�Concept� Insights,�Tradeoff�Analytics,�Machine�Translation등과같은서비스 제공

Watson�Health

II.�IoT 기반 헬스케어 사례

§ Personal�fitness� trackers,�wearable�health�monitors와 같은장치들을통해 생성된데이터와cognitive�computing을 통해서 개인의건강상태정보를생성

§ 개인의건강상태 정보를통해서의사,�연구자,�보험업자들의더 나은,�빠른,�효율적인결정에 도움

“Imagine�using�Watson�analytic�capabilities�to�consider�all�of�the�prior�cases,�the�state-of-the-art�clinical�knowledge�in�the�medical�literature�and�clinical�best�practices�to�help�a�physician�advance�a�diagnosis�and�guide�a�course�of�treatment”• Executive�Vice�President,�Clinical�Health�Policy• Chief�Medical�Officer�for�Anthem

How�do�I�reducemy�risk�for

heart�disease?

PREVENTATIVEOPTIONS

EXERCISE

SPECIALISTS

DIET

STRESS

FAMILYHISTORY

PERSONALHEALTHHISTORY

Page 29: IoT Introduction and Security

1.2�의료사물인터넷- IBM�Watson�Health

29

IBM�Watson�Health�Cloud

§ 임상,�연구조사,�공공데이터등과같은 다양한범위의건강정보를 합치고 CONGNITIVE,�ANALYTIC�기술로처리하는 클라우드기반의데이터공유 허브

§ Explorys,�Phytel과 같은회사들이 IBM�Watson�Health�Cloud�의 한부분

II.�IoT 기반 헬스케어 사례

§ Explorys (An�IBM�Company)- 금융,�운용,�의료 기록소스 시스템과 같은 다양한정보를 모아놓은 가장큰

헬스케어 데이터베이스 중하나

§ Phytel (An�IBM�Company)- Empowering�Provider-Led�Population�Health�Improvement- 기존 헬스케어공급자들의 전자 의료 기록기술과 함께 환자의재입원을 감소시키고 환자의

적극적인 활동과참여를 개선하기 위한 솔루션들을제공

Page 30: IoT Introduction and Security

1.2�의료사물인터넷- IBM�Watson�Health

30

Solutions

II.�IoT 기반 헬스케어 사례

§ 왓슨의인지컴퓨팅을 통해개인의건강정보를 생성하여의사,�연구자,�보험업자들에게도움을줄수 있는솔루션

Page 31: IoT Introduction and Security

1.2�의료사물인터넷- IBM�Watson�Health

31

응용 사례

II.�IoT 기반 헬스케어 사례

§ The�Mayo�Clinic§ Memorial�Sloan�Kettering�Cancer�Center

§ New�York�Genome�Center § The�University�of�Texas�MD�Anderson�Cancer�Center

Page 32: IoT Introduction and Security

1.2�의료사물인터넷 - Wearable�health�care

32

AliveCor의 심전도 측정기

§ 스마트폰에부착하여 사용할수있는앱세서리(Appcessory)�형

태의심전도측정기

§ 어디서든간편하게 심전도측정이가능하고스마트폰이나 태블

릿을이용하여 확인가능

§ FDA�승인 완료상태

II.�IoT 기반 헬스케어 사례

Google의 혈당측정콘택트렌즈

§ 2014년 1월,�당뇨 환자들을위해혈당측정이가능한 스마트렌

즈발표

§ 무선통신을위한 칩과소형화된혈당측정센서를 삽입한콘텍트

렌즈

§ 구글스마트콘택트렌즈를 착용한사용자의눈물에 포함된혈당

량을측정하여 당뇨환자가간편하게포도당 수치를판독할수

있도록도움

Page 33: IoT Introduction and Security

1.2�의료사물인터넷 - 헬스케어 보안트렌드

33

20152014

OregonHIE

rolloutissues

Breaches�costhealth�core

$5.68annually

HealthCare.govhacked

Spring Summer Fall Winter

Shellshock

POODLE

Sony�hack

CHS�announcestheft�of�4.5Mpatient�records

HIPAA�breachesaffect�39Mpeople�since

2009

Wearable�Medical�device�

hacking�

Page 34: IoT Introduction and Security

웨어러블헬스케어디바이스와보안/프라이버시이슈(1/10)

34

AiQ사의 Smart�Shirt§ EKG,�EEG,�EMG�등의데이터 수집§ 태양판을이용한 충전방식제공§ 카메라를통한 시간촬영기능제공§ Bluetooth를 통한 통신방식제공

주요 보안/프라이버시 이슈

§ 스마트폰,�PC와의 Bluetooth�통신상에서의 보안문제§ EKG,�EEG,�EMG등의데이터에 대한저장시,�개인정보유출의 위험성§ 데이터에접근하고자 하는사용자에대한인증/인가기능 미지원

II.�IoT 기반 헬스케어 사례

Page 35: IoT Introduction and Security

웨어러블헬스케어디바이스와보안/프라이버시이슈(2/10)

35

Metria사의 Imformed Health

§ 사용자의생리적 데이터수집§ 센서보드상에서의 데이터수집/가공/분석기능제공§ USB,�Bluetooth를 통한실시간 통신방식제공

주요 보안/프라이버시 이슈

§ 스마트폰,�PC와의 Bluetooth/USB�통신상에서의보안 문제§ 센서보드 상의 USB�단자를통한센싱 데이터유출문제§ 센싱데이터 저장시,�데이터에대한암호화미지원 문제§ 데이터에접근하고자 하는사용자에대한인증/인가기능 미지원

II.�IoT 기반 헬스케어 사례

Page 36: IoT Introduction and Security

웨어러블헬스케어디바이스와보안/프라이버시이슈(3/10)

36

BodyTel사의 Gluco Tel,�Pressure�Tel,�Weight�Tel

§ 사용자의혈당,�혈압,�체중계데이터수집§ Bluetooth를 통한 실시간통신방식제공§ 스마트폰,�온라인웹포털과의 연동기능제공§ 센싱주기:�10초(혈당),�30초(혈압)

주요 보안/프라이버시 이슈

§ 스마트폰,�PC와의 Bluetooth�통신상에서의 보안문제§ 웨어러블기기의 센싱주기사이의오류 데이터전송공격가능§ 센싱데이터 저장시,�데이터에대한암호화미지원 문제§ 데이터에접근하고자 하는사용자에대한인증/인가기능 미지원

II.�IoT 기반 헬스케어 사례

Page 37: IoT Introduction and Security

웨어러블헬스케어디바이스와보안/프라이버시이슈(4/10)

37

DANFOSS사의 PolyPower A/S

§ 사용자피부부착형 센서§ 사용자의호흡,�자세,�동작데이터수집§ 무선통신방식과 plug&play방식 제공§ 높은정확도제공

주요 보안/프라이버시 이슈

§ 자체무선 통신방식을이용,�통신보안미지원가능성§ USB�plug&play 방식에서의보안 문제§ 센싱데이터에 대한암호화미지원§ 데이터에접근하고자 하는사용자에대한인증/인가기능 미지원

II.�IoT 기반 헬스케어 사례

Page 38: IoT Introduction and Security

웨어러블헬스케어디바이스와보안/프라이버시이슈(5/10)

38

IMEC사의 WEARABLE�EEG�HEADSET/PATCH

§ 휴대용웨어러블 뇌파헤드셋및심전도측정 패치§ 심박수와 3D�가속계 정보를수집,�스마트폰등원격지에 전송§ 정확도높은뇌파정보를 기록가능하고이전기록과 비교하여분석가능§ 수집/분석된데이터는 10마일 이상의원격지에전송가능

II.�IoT 기반 헬스케어 사례

주요 보안/프라이버시 이슈

§ 스마트폰,�PC와의 Bluetooth/USB�통신상에서의 보안문제§ IEEE�802.15.6�WBANs의 보안 이슈포함§ ECG,�EEG�데이터저장시,�암호화미지원에 대한개인정보유출의 위험성

Page 39: IoT Introduction and Security

웨어러블헬스케어디바이스와보안/프라이버시이슈(6/10)

39

MOTICON사의 INTEGRATED�INSOLE

§ 웨어러블스마트 깔창§ 사용자의부상 방지및운동능력향상을도움§ 사용자의하중 분포,�움직임 패턴및발온도를실시간으로 측정가능§ 하중분포및 패턴분석으로선수의부상 방지,�능력 향상에기여§ 족질환환자의 치료를돕는정보수집

II.�IoT 기반 헬스케어 사례

주요 보안/프라이버시 이슈

§ 하중분포,�움직임패턴,�발 온도 등데이터저장시암호화 미지원§ 데이터접근에 제한이없어분실시 개인정보유출의위험성

Page 40: IoT Introduction and Security

웨어러블헬스케어디바이스와보안/프라이버시이슈(7/10)

40

nECG

§ 사용자의심전도 데이터수집§ 무선원격심장 모니터링플랫폼§ 심장병예방, 진단, 회복에사용

주요 보안/프라이버시 이슈

§ PC와의 Bluetooth�통신 상에서의보안문제§ 마이크로 SD 카드저장시데이터암호화 미지원문제§ 데이터에접근하고자 하는사용자에대한인증/인가기능 미지원

II.�IoT 기반 헬스케어 사례

Page 41: IoT Introduction and Security

웨어러블헬스케어디바이스와보안/프라이버시이슈(8/10)

41

Preventice사의 BodyGuadian RMS

§ 사용자흉부에 센서부착§ 사용자의 ECG,�심박수,�호흡수 데이터수집§ 스마트폰과의통신 방식을통한데이터전송§ 디바이스보안(암호화 통신,�데이터암호화등)§ 데이터전송보안(SSL을 통한암호화통신,�플랫폼보안)§ 데이터암호화,�사용자인증,�Oauth기능 제공

주요 보안/프라이버시 이슈

§ OAuth�보안취약성문제§ SSL�보안취약성문제

II.�IoT 기반 헬스케어 사례

Page 42: IoT Introduction and Security

웨어러블헬스케어디바이스와보안/프라이버시이슈(9/10)

42

Zephyr사의 Portable�bio-data�logger

§ 자세/활동모니터링,� ECG�모니터링§ 데이터실시간 확인혹은데이터기록기능 제공을위한 RF통신제공§ 전송가능거리:�10m§ 미국 FDA�승인완료

주요 보안/프라이버시 이슈

§ RF�통신보안 문제점(자체 RF�통신 프로토콜사용으로인한보안성 미지원)§ 데이터암호화 미지원§ 데이터에접근하고자 하는사용자에대한인증/인가기능 미지원

II.�IoT 기반 헬스케어 사례

Page 43: IoT Introduction and Security

웨어러블헬스케어디바이스와보안/프라이버시이슈(10/10)

43

Medtronic사의 Portable�glucose�level�monitoring

§ 체내혈당모니터링 기능제공§ 환자의복부에 부착,�베터리 전원사용§ 무선통신을통한 데이터전송기능제공§ 도킹스테이션을 통한베터리충전,�데이터전송§ 분석관리소프트웨어를 통한혈당분석3일 이상사용가능§ 미국 FDA�승인완료

주요 보안/프라이버시 이슈

§ RF�통신보안 문제점(자체 RF�통신 프로토콜사용으로인한보안성 미지원)§ 혈당량데이터 저장시,�데이터암호화미지원§ 데이터에접근하고자 하는사용자에대한인증/인가기능 미지원

II.�IoT 기반 헬스케어 사례

Page 44: IoT Introduction and Security

1.3�스마트공장 - 사물인터넷/CPS 기반산업

CPS(Cyber-Physical�Systems)�기반산업환경변화– S/W,�센서,�정보처리장치 등을기반으로 상품제조와 같은실제세계와

인터넷/서비스 중심의사이버 세계를통합하여 스마트생산 실현

– CPS는 인바운드물류부터 생산,�마케팅 등,�아웃바운드 물류/서비스,�생산 시설,�생산 물품 등을 ICT기반으로 End-to-End�통합

44

1차 산업혁명증기기관 발명,�기계를이용한 공장생산 시작

2차 산업혁명전력사용,�작업의규격화

및 분업이용한 대량생산 시작

3차 산업혁명산업용 로봇이용한공장 자동화시작

4차 산업혁명CPS를기반으로한

Smart�Factory�환경도래

I.�스마트 공장 개요

Page 45: IoT Introduction and Security

1.3�스마트 공장 - 개념

스마트공장(smart�factory)�개념– 업종및 기업수준에 맞춰, ICT�기반 생산시스템의 최적화구현

– 생산과정의 실시간모니터링,�공정 최적화

– 과학적품질.자원(원자재,인력,에너지 등)�관리

– 고객요구 대응,�환경 적응성높인 유연생산체계

– 실시간의사 결정및 자동적으로이뤄지는 지능화된공장

– 다품종동시 생산유연 생산

원자재, 인력, 에너지 관리

최적화품질 향상

모니터링,공정 최적화

관리 시스템

45

사물인터넷빅데이터

MES센싱

통신/네트워크

I.�스마트 공장 개요

Page 46: IoT Introduction and Security

1.3�스마트 공장 - 특성

스마트 공장(smart� factory)�특성– 통합목표

• End-to-end�솔루션을제공하는것을 목표로함

– 수평통합• 회사내부(인바운드 물류,�아웃바운드물류,�마케팅)�뿐만 아니라다른회사(가치 네트워크)의 제조및생산

계획(원자재,�에너지,�정보의 교환을 포함)과 같이서로상이한단계에서사용되는 다양한 IT�시스템을통합

– 수직통합• 서로다른계층(수행 및감지레벨,�제어레벨,�생산 관리레벨,�제조 및 실행레벨,�통합 계획레벨)간 다양한

IT�시스템의통합

46

– Cyber-Physical�Systems(CPS)

• 회사의기계,�창고시스템,�생산시설을통합하여구축한최적화된상품제조플랫폼

– Smart�Product• CPS를통해생산된제품으로제품이자신의정보를알고있음

• Smart�Mobility,�Logistic,�Grid,�Building�등과함께Smart�Factory를구성

CPS

Internet of Services

Smart Product

Smart Mobility

Smart Buildings

Smart Logistics

Smart Grids

Internet of Things

I.�스마트 공장 개요

Page 47: IoT Introduction and Security

1.3�스마트 공장 - 로보틱스

47

Universal�Robots

http://www.universal-robots.com/

KUKA

- 머신 텐딩,�제품 포장라인,�랩 테스팅 등다용도로 사용

- 제품 조립라인등에 배치되어 다용도로사용

http://www.kuka-labs.com/

• Microsoft사의 Azure (cloud) 연동• 작업자가현장에서해당머신(로봇)의작업을학습 시킬수 있음• Machine Learning 기법활용

I.�스마트 공장 개요

Page 48: IoT Introduction and Security

1.3�스마트 공장 - 아마존 물류 시스템

48

창고로봇Kiva

- 온라인 시스템으로 주문 시 키바가 해당 제품보관함을 끌고와 작업자가 출하하도록 도움

물품배송서비스PrimeAir

- 2.3kg�이하의 제품을 반경 16km배송지로 결재 후 30분 이내 배송

기존Robot : 단순조립à 스마트공장 Robot : 설계/조립/제작/물류등이통합된역할수행

I.�스마트 공장 개요

Page 49: IoT Introduction and Security

1.3�스마트 공장 - 제철소 적용 사례

49

Big�Data�활용- 제품 불량 예측,�장비 고장예측

포스코 ICT, 철강산업의 스마트팩토리 사례, http://www.hellot.net

에너지관리시스템적용- 실시간 물류관리

통합모니터링

환경및안전관리- 위치추적 기반의 작업자 안전행동 예측

로봇활용을통한무인화Visual�Factory

- 신/증설 설계 시 사전검증- 3D�교육 컨텐츠

I.�스마트 공장 개요

Page 50: IoT Introduction and Security

1.3�스마트 공장 - 계층Enterprise�Pyramid�in�Transformation

Level�4

Level�3

Level�2

Level�1

ERP

제조 실행 시스템(MES)

통합 제조공정

제조 현장

SCADA DCS HMI

PLC

Motors

Drives

PLM�Layer

The�Enterprise�Pyramid

• 기업 피라미드는각자의 위치에서 다른동작계층의 종합적인표현

• Level1 :�제조현장• Level2�:�통합제조 공정 (제어 및자동화)• Level3 :�제조실행시스템• Level4 : ERP�(전사적 자원관리)

• 미래의 기업피라미드에서 PLM(Product�Life�cycle�Management)�계층은레벨 3과 4�사이로예상됨

제품 설계및 엔지니어링은 ERP와함께전통적으로 레벨4의일부로 인식됨

그리고 기업피라미드에서 점차 PLM의의미가중요해지면서 레벨3과 4�사이에 위치할 것으로예상됨

스마트공장 솔루션은 모든기업 계층에 대한통합 및가시성 제공 필요

Source : ANS/ISA standard 95 and Frost & Sullivan analysis.

Panel

50

Product Lifecycle Mgmt

I.�스마트 공장 개요

Page 51: IoT Introduction and Security

1.3�스마트 공장 - Industrie 4.0스마트공장과IoT�연동구조– 응용서비스 : IoT의 응용서비스와 연결되며마켓 및사용자가 접근가능

– BP�서비스 : IoT 요소 기술과 연결되며비즈니스 분야와응용서비스에서 사용가능

– 제어시스템 : IoT 플랫폼 계층에해당되며 데이터분석 및 SDK를 제공

– 장비및 데이터 : IoT 디바이스와연결되며 다양한 Connectivity�특성을가짐

51

Level Requirements

Access to markets and customers

Knowledge of business areas and

applications

Model-based development

platforms

Connectivity

Applications

Internet of Services

Internet-based system& service

platforms

Internet of Things

Compiling and networking of functions, data and processesManagement of end devices and systems

Business Processes Business ProcessesServices Services Services Services

Reference architecture for connecting the IoT with the Internet of Services

디바이스

플랫폼

비즈니스프로세스

서비스

I.�스마트 공장 개요

Page 52: IoT Introduction and Security

1.3�스마트 공장 - 주요 요소 기술

52

스마트공장 주요 요소 기술- 스마트공장의 요소기술은 크게 애플리케이션,�플랫폼,�디바이스로 구성됨

§ 애플리케이션:�스마트공장 IT�솔루션의 최상위 소프트웨어 시스템

§ 플랫폼:�스마트공장 IT�솔루션의 하위단계 정보를 센싱/가공/처리/저장/공유하여,�

상위 애플리케이션에서 원하는 서비스를 수행할 수 있도록 하는 중간소프트웨어

시스템

§ 디바이스:�제조 설비와 제조 공정을 구성하거나 설비와 제조 공정 상태,�제조물,�

작업자 상태를 센싱하고 이를 플랫폼,�애플리케이션에 제공/연동하는 스마트공장

IT�솔루션의 최하위 단계를 구성 요소

II.�스마트공장 기술 로드맵

RFID, 장비동작상태 센싱, (접점), Factory of Things(IoT 센서), 작업자의수작업 입력 등이모두 디바이스 단에서 작업자의상태와 장비의 상태, 공정

상태를 알 수 있도록 함

Page 53: IoT Introduction and Security

1.3�스마트 공장 - 기술 로드맵

53

II.�스마트공장 기술 로드맵

스마트공장기술로드맵(산업부)

Page 54: IoT Introduction and Security

1.3�스마트 공장 - 기술 로드맵

54

II.�스마트공장 기술 로드맵

스마트공장기술로드맵(산업부)�:�2015년스마트공장R&D�과제영역

Page 55: IoT Introduction and Security

1.3�스마트 공장 - 애플리케이션

55

II.�스마트공장 기술 로드맵

o (배경) IoT,�빅데이터,�CPS�등 ICT를 바탕으로 실시간으로 연동·피드백되는 데이터를 효율적으로

처리·저장·관리하고 다양한 제조업무에 최적으로 활용할 수 있는 고도화된 애플리케이션에 대한

산업요구 증대

o�(목표) 가치사슬 상의 중소·중견·대기업 공장에 대한 공정설계,�생산운영,�품질분석,�설비보전,�

작업안전,�조달유통 등 산업수요 기반의 애플리케이션 및 애플리케이션 운영환경 개발

Page 56: IoT Introduction and Security

1.3�스마트 공장 - 플랫폼(1/2)

56

II.�스마트공장 기술 로드맵

o (배경)�스마트공장을 위한 IT�및 OT기술을 융합한 공통플랫폼 기술이 필요함.�이종 제조 디바이스/센서등을 공통 표준

플랫폼으로 연결하고 최적 생산을위한 클라우드,�빅데이터,�사이버물리기반 가상생산 및 시뮬레이션기술에 대한 고도화요소

기술이 요구됨

o (목표)�스마트공장의 최적 생산 및운영을 위한 생산빅데이터 애널리틱스,�사이버물리,�팩토리 자원 모델링/시뮬레이션,�

생산프로세스 제어/관,�클라우드,�생성(C)-관리(M)-운용(O)-연결(O),�Factory-Thing�D2D�Protocol,�이벤트참조모델기반판단,�

센싱정보 링크,�Factory-Thing�자원관리기술들이개발되어야함

Page 57: IoT Introduction and Security

1.3�스마트 공장 - 플랫폼(2/2)

57

II.�스마트공장 기술 로드맵

Page 58: IoT Introduction and Security

1.3�스마트 공장 - 디바이스/네트워크

58

II.�스마트공장 기술 로드맵

o�(목표) 제조 공정의 센싱ㆍ제어를 담당하는 디바이스들을 IoT�기반으로 자율ㆍ협업 제조가

가능한 미래형 스마트 디바이스 및 네트워크로 기술 개발

o�(추진방향) 단기적으로 공장의다양한 제조 환경을 고려한 다기능 센서, 고신뢰 유.무선통신

기술 개발을 통한 제조라인의 효율성 향상.�장기적으로 자율ㆍ협업 기능을 수행할 수 있는스마트

제어기 개발을 통한 제조라인의 고도화

Page 59: IoT Introduction and Security

1.4�사물인터넷 기술/서비스사례

Sen.se사의IoT�제품 (1/2)§ 개요

§ 주요특성

–Open�sen.se(http://open.sen.se/)라는 개방형 플랫폼 웹사이트를제공하고 있으며,

– 웹 기반으로 센서로부터 데이터 취합 및 이벤트를 발생 시키고,�데이터를분석하여 시각화 할 수 있는 툴을 제공함

–다양한 형태의 센싱 디바이스와 액추에이터 디바이스를 개발하고 있으며,�사용자에게 친숙한 형태의 디자인으로 실생활에 쉽게 접목될 수 있도록 함

59

I.� 사물인터넷 개요

Page 60: IoT Introduction and Security

1.4�사물인터넷 기술/서비스사례

Sen.se사의IoT�제품 (2/2)§ Mother와 Cookies

– CES�2014에서 제품이 소개됨

– Home 및 family�모니터링 시스템

– Mother� :�• Ethernet�연결(WiFi 연결)

• Email,�SMS�등으로 이벤트 통지

–Cookies:�• Mother와 915MHz�통신(유럽:868MHz)

• Location,�Movement,�Temperature,�sleep�quality,�도어/윈도우 개방여부,�가족 구성원 귀가 여부 센싱 등

• Mother와 통신 없어도 10일 분량의 data�저장함

60

I.� 사물인터넷 개요

Page 61: IoT Introduction and Security

1.4�사물인터넷 기술/서비스사례

nest사의 IoT�제품 (온도조절장치)§ 개요

§ 주요특성

–Nest사의 Thermostat은 사용자의 시간별/일별 선호 온도에 대한 학습기능을 갖춤

–부재중일 경우,이를 감지하여 실내 난방 중지(Auto-Away�기능)

–구글이 3조4천억원(32억 달러)에 인수함

– http://www.youtube.com/watch?v=L8TkhHgkBsg

– http://www.youtube.com/watch?v=6InjhtZ6NP8

61

I.� 사물인터넷 개요

Page 62: IoT Introduction and Security

1.4�사물인터넷 기술/서비스사례

DropCam제품§ 주요기능/특성

–방범(Home�security),�유아 모니터링,�애완 동물 관리 등의 목적으로 사용가능

–특정 영역에 대한 이미지 변화시,�스마트폰 등을 통해 알려줌

–Cloud에 모든 영상 정보 저장

62

I.� 사물인터넷 개요

모니터링 영상 정보 cloud에저장(암호화됨)

PC, 노트북, 각종모바일디바이스로해당영상 확인가능(실시간 확인도가능)

Page 63: IoT Introduction and Security

1.4�사물인터넷 기술/서비스사례

DropCam제품§ 주요기능/특성

–특정 동작 인식 기능 갖춤(학습 필요)�(예:�고양이가 식탁에 올라가는 동작,�냉장고에서 음식을 꺼내 먹는 동작 등)

– https://www.dropcam.com/cloud-recording

63

I.� 사물인터넷 개요

Page 64: IoT Introduction and Security

1.4�사물인터넷 기술/서비스사례

모뉴엘Babble�제품§ 주요기능/특성

– 아기울음소리에 대한음성인식기술및 SVM(센서 가상머신)�기술등을적용하여,� 아기상태를진동형웨어러블 워치로전달

– 아기울음소리를느끼지 못하는청각장애인부모뿐만 아니라아기와떨어져생활하는 맞벌이부모에유용함.�CES�2014�혁신기술로 선정됨

64

I.� 사물인터넷 개요

< Babble 제품 >

Page 65: IoT Introduction and Security

1.4�사물인터넷 기술/서비스사례

모뉴엘Babble�제품§ 주요구성도

65

I.� 사물인터넷 개요

Page 66: IoT Introduction and Security

1.4�사물인터넷 기술/서비스사례

Fitbit 제품§ 주요제품/구성도

– 3축 가속센서가 내장되어있어 칼로리소비,�이동 거리,�걸음 수,�계단의 사용유무나수면의 질과같은 활동패턴을 측정한다.

– 클립형장치로 크기가매우 작고휴대하기 간편하다.�푸쉬 버튼으로모드를조작할수 있다.

– 모바일장치나 PC에 무선으로 동기화되어 정보를이용할 수있다.

66

I.� 사물인터넷 개요

Page 67: IoT Introduction and Security

1.4�사물인터넷 기술/서비스사례

Fitbit 제품§ 주요제품/구성도

– 3축 가속센서가 내장되어있어 칼로리소비,�이동 거리,�걸음 수,�계단의 사용유무나수면의 질과같은 활동패턴을 측정한다.

– 클립형장치로 크기가매우 작고휴대하기 간편하다.�푸쉬 버튼으로모드를조작할수 있다.

– 모바일장치나 PC에 무선으로 동기화되어 정보를이용할 수있다.

67

I.� 사물인터넷 개요

Page 68: IoT Introduction and Security

1.4�사물인터넷 기술/서비스사례

Libelium사의 IoT�제품§ 주요구성도

68

I.� 사물인터넷 개요

Page 69: IoT Introduction and Security

1.4�사물인터넷 기술/서비스사례

Libelium사의 IoT�제품§ 주요제품

§ 관련서비스

– 센서네트워크가 적용되는다양한 서비스에적용이 가능함

– 스마트시티 응용 :�SmartParkiing,�Smart�Lighting,�Smart�Roads

– 스마트환경 응용 :�ForestFire Detection,�Air�Pollution,�Snow�LevelMonitoring

– 스마트워터 응용 :�Water�Quality,�Water�Leakages,�River�Floods

– 스마트미터 응용 :�Smart�Grid,�Tank�Level,�Water�Flow

69

I.� 사물인터넷 개요

Page 70: IoT Introduction and Security

1.4�사물인터넷 기술/서비스사례

LG�전자 IoT�제품§ HomeChat 기술

– 스마트가전과 메신저를 결합하여문자기반의 가전제어

– {냉장고+세탁기+로봇청소기+스마트TV+오븐+프린터}+메신저(LINE)

– 가전과 SNS의 연결추진(Social�Web�of�Things�개념 도입)

70

I.� 사물인터넷 개요

Page 71: IoT Introduction and Security

I.�사물인터넷과 보안

71

1.�사물인터넷 서비스 구현사례2.�사물인터넷 플랫폼 구현사례3.�사물인터넷 브로커 구현사례4.�사물인터넷 디바이스 구현사례5. 사물인터넷의 보안이슈

Page 72: IoT Introduction and Security

PNU�IoThink Platform

72

PNU IoThink Platform�improving�intelligence– Device�+�IoT Broker�+�intelligent�recognition� framework +�cloud�based IoT service�platform +�visible�sevice maker

IoT�Broker

IoT Device

Cloud-based�IoTservice�integration�

environment

WiFi

Interaction with Device, Broker, Platform and cognitive framework

Cloud-based�IoTservice�platform

Visible�IoT service�making�tool

IoT Broker(indoor�monitoring�with�

sensored data)

Situation�Cognition�Chip

Intelligence�cognitive�framework

Intelligence�cognitive�framework

IoT resource�management tool(IoT Explorer)

②③

Page 73: IoT Introduction and Security

2.1 사물인터넷 서비스 - Smart�mirror

73

(3)Monitoring and Diagnosing the User state to the level of specialist

USER

(1) User Authentication(2) User State Information

(4) Diagnosis Information by Watson

Sensing Devices

IoT Service�Integration�Environment�based�on�Cloud

Personal Health Recognition Technique

(5) Diagnosis InformationDisplay

1. Disabetes Symptom- Diet Suggestion- Exercise Suggestion- Etc.

2. Infection Measurement- Medicine Suggestion- Food Suggestion- Etc.

Page 74: IoT Introduction and Security

2.1 사물인터넷 서비스 - Smart�mirrorII.�IoT�플랫폼/응용

Sensing�Device Smart�Mirror

IBM Cloud�PlatformDatabase

User�Authentication�

NFC CardFace

RecognitionSmartWatch

SPO2

Bio impedance

Pulse rate

blood pressure

UI / UX Data Analysis

Watson APISensing dataUser ID

Page 75: IoT Introduction and Security

2.1 사물인터넷 서비스 - Smart�mirror

75

Operating System Window 7 Pro 64bits

Development Language C++, C#(WPF), Python2.7, Java

Requirement NFC tag/reader, camera, smart watch

Libraries ComponentArt,OpenCV

Specification

User Authentication by using NFC Card

User Authentication by using Face Recognition

Component 1 Component 2 Component 3

User Authentication by using Smart Watch

Page 76: IoT Introduction and Security

2.1 사물인터넷 서비스 - Smart�mirror

76

Sensing�Device

SPO2

Bio impedance

Pulse rate

blood pressure

IBM�Cloud�PlatformDatabase

Watson APISensing dataUser ID

Database (MongoDB)• Store data of Health Care Sensing Devices

and User Authentication Values

IBM Cloud Platform• Receive and Analysis

Health care date of the User• Create Health Information

by receiving the user data to Watson API of IBM

Sensing Device(C Language)• Convert Analog Values

from Sensors to Digital Values by using ADC

• Extraction the Sensing Device Value by using specific method based on Analog and Digital Value

Page 77: IoT Introduction and Security

2.1 사물인터넷 서비스 - Smart�mirror

77

Smart�Mirror

User�Authentication�

NFC CardFace

RecognitionSmartWatch

UI / UX Data Analysis

Intuitive UI/UX Implement by using C#-WPF

NFC Card(C#)• Create Initiative Random V

alue• Update the random Value e

ach time of AuthenticationSmart Watch(Java)• Request Login from Watch• Check the database and

Give the authorityFace Recognition(Python)• Store the specific user face

point to database.• Recognize and Compare

the user face point and then Give the correct grand of authority.

Transmit the user information to IBM Cloud Watson API

Page 78: IoT Introduction and Security

2.1사물인터넷서비스­ Energy�Disaggregation

78

What is the Energy Disaggregation System?

§ Energy�efficiency�by�real-time�power�analysis� and�prediction�of�appliances� state§ User�activity�recognition� through� appliances� usage�pattern

(init data) power consumption history

Update disaggregation resultEx) Monitor “on”, Lamp “off”, Fan “on”

Collect sensing dataEx) time, power consumption

Data gathering period(6~10 sec)

IoT Gateway

Power sensor

Database

Energy Disaggregation Algorithm : Factorial Hidden Markov Model(FHMM)

OFF ON ON

AggregatedPower

242W 150W 150W

ON ON ON

ON OFF OFF

Lamp

Monitor

Fan

§ FHMM�is�a�variant�of�HMM� in�which� the�system�being�modeled� is�assumed� to�be�a�Markov�process�with�hidden� states.

§ FHMM�is�trained�by�appliances� usage�history�and�then�predicts�appliances� operating� state�from�power�analysis

§ Model� input�is�total�power� consumption,�output� is�list�of�appliances� state

Power disaggregation

agent

Page 79: IoT Introduction and Security

Test Bed Process Diagram

Power�sensor

Monitor

Lamp

Hair�dryer

IoT�Gateway Intelligence�Cognitive�Framework

① Gathering power consumption from sensor at one point in the house

Node-RED�Service�Flow

② Parsing the collected data and sending(saving) to IoT Platform using Node-RED

Power disaggregation service Agent

③Power disaggregation service agent is analysis appliances usage pattern using algorithm of intelligence cognitive framework in real time.

④ Visualized power consumption history, usage statistics

④ Real-time power consumption

Monitoring�web�site

개발 결과물 및 개발방법

79

2.1사물인터넷서비스­ Energy�Disaggregation

④ Power disaggregation result

Page 80: IoT Introduction and Security

개발 결과물 및 개발방법

Use Case & Upgrade Plan

IoT Gateway

Emergency AlarmService

Activity MonitoringService

Measuring�sensors�&�power�consumptionCollecting power consumption and timeDeploying�other�sensors�:�Current,�Temperature,�Humidity,�Motion�etc.

Data�FusionMaking�a�comprehensive�decision�using�gathered�various�sensor�data

Action�ForecastingPredict�people�activity�in�house�from�sensors�data�and�appliances�stateEx) cooking, resting, taking a shower, sleeping, …

Power�DisaggregationAppliances�operating�state�prediction�by�analysis�total�power�consumption

Services based on activity prediction• Power Consumption Monitoring Service• Appliances Scheduler (ex. Robot cleaner scheduling)• Activity Monitoring Service for children • Emergency Alarm Service for disabled person or senior citizen Appliances

Scheduler

Services API

Power sensor Temperature sensor

Humidity sensor

Motion sensor

Intelligence Cognitive Framework

+ Power Disaggregation Service Agent

80

2.1사물인터넷서비스­ Energy�Disaggregation

Page 81: IoT Introduction and Security

2.2 사물인터넷 플랫폼 - IoT Explorer

Overview– IoT Explorer�is�resources�management�tool.�It�is�possible�to�check�sensing�data�and�manage�

IoT Devices�in�virtual�environments

– Device/Broker�installation�and�lookup.�Check�real-time�sensing�data

– Interworking�with�Node-RED�which�provides�a�browser-based� flow�editor� that�makes�it�easy�to�wire�together� flows�using�the�wide�range�nodes�in�the�palette

System�Configuration

Excellence�and�applications– IoT resources�are�intuitively�managed�through�the�linkage�of�the�physical�space�and�virtual�

space

– Intuitive�setup,�control�and�checking�the�sensing�data

81

Arduino

Current Sensor

Sensor IoT Explorer

Hue

IoT Broker

IoT Devices

IoT Foundation

Page 82: IoT Introduction and Security

2.2 사물인터넷 플랫폼 - IoT Explorer

Scenario– In�the�IoT Explorer,�check�the�service(flow)� list�installed�on�IoT Broker

– Choose�a�service�in�the�list�and�then�deploying�service

– Get�information�related�to�the�deployed�service�such�as�device�information,�real-time�sensing�data,�History�graph,�and�so�on

82

① Service Management ② IoT Service Lookup ③ Check connection between devices

④ Check the device information ⑤Check real-time sensing data/History graph

Page 83: IoT Introduction and Security

2.2 사물인터넷 플랫폼 - IoT Explorer

Overview– IoT Explorer�communications�with�IoT Foundation�and�IoT Broker

– IoT Explorer�gets� the�information(User,�Broker,�Device)�through�the�IoT Foundation

– Remote�service(flow)�deployment�is�possible�through� IoT Foundation

– IoT Explorer�can�control/manage�the�IoT device�through�IoT Broker

Broker/DeviceInterface

FlowController

Data Base

Arduino

DeviceManagement

Broker Management

FlowManagement

Flow Interface

IoT Explorer

Sensor

IoT Device IoT Foundation

IoT Broker

Hue

Interface Broker / Device Management

Flow Management

Synchronization

InformationManagement

InformationManagement

Broker Controller

Device Controller

Page 84: IoT Introduction and Security

2.2 사물인터넷 플랫폼 - IoT Explorer

84

• Component– Broker/Device�Management�

• Providing�functions�such�as�resource�management,�control,�synchronization�related�to�IoT Broker�and�Device

– Flow�Management�• Providing�functions�that�installed�on�IoT Broker�related�to�IoT Service(Flow)�

– Interface• An�interface�for�communicating�with�IoT Foundation,�IoT Broker.�It�is�related�to�Broker/Device/Flow�

Management�fuctions

Flow in a virtual environment Node-RED Flow

Broker and Device in a virtual environment

Page 85: IoT Introduction and Security

Broker/Device�Management– Synchronization�

• Component�for�the�synchronization�information�between�IoT Foundation�and�IoT Broker

– Broker�Controller��• State�control�and�management�of�the�IoT Broker

– Device�Controller� �• State�control�and�management�of�IoT Device

• Check�Sensing�data�from�a�sensor

– Information�Management• Information(Broker/Device)�management�per�user

• Management�of�data�obtained�from�the�IoT Foundation�

• Management�of�the�Sensing�data�obtained�from�sensor

85

IoT Explorer

Broker / Device Management

Synchronization

InformationManagementBroker Controller

Device Controller

Interface

Flow Management

Data Base

IoT Foundation

IoT Broker

Post/Get Inforamtion

Broker/Device ControllerInformation ManagementSynchronization

Control Signal

SynchronizeInformation

2.2 사물인터넷 플랫폼 - IoT Explorer

Page 86: IoT Introduction and Security

Flow�Management– Flow�Controller

• Remote�Flow�Deployment�via�IoT Foundation

• Creating�Flows�in�a�virtual�environment

• Send�Flow�to�IoT Foundation�

• Flow�on/off�

– Information�Management• Management�of�Flow�Information�per�IoT Broker

• Management�of�Flow�data�obtained�from�the�IoT Foundation�

• Store�Flow�shape�in�a�virtual�environment

86

FlowController

IoT Explorer

Interface

Broker/Device Management

Flow Management

InformationManagement

Data Base

IoT Foundation

IoT Broker

Flow on/off

Remote FlowDeployment,Send Flow

Information ManagementFlow Controller

Post/Get Inforamtion

2.2 사물인터넷 플랫폼 - IoT Explorer

Page 87: IoT Introduction and Security

Broker/DeviceInterface

Interface– Broker�/Device�Interface�

• Search�IoT Broker�and�device�list

• Search�IoT Broker�and�device�information

• Registration�of�broker�and�device

• Check�sensing�data�from�sensor�and�send�to�IoT Foundation

– Flow�Interface�• Search�Flow�list

• Create�Flow�and�send�to�IoT Foundation

• Remote�Deployment�

• Flow�on/off

87

Flow Interface

IoT Explorer

InterfaceBroker/DeviceManagement

FlowManagement

Data Base

IoT Foundation

IoT Broker

Broker InterfaceFlow Interface

Flow Management

Interface

Broker/Device Management

Interface

2.2 사물인터넷 플랫폼 - IoT Explorer

Page 88: IoT Introduction and Security

2.2 사물인터넷 플랫폼 - IoT Common�Platform

Overview– Cloud-based�IoT Service�Platform�for�Device�Registration/Management,�Sensing�Data�

Management,�Service�Management,�Open�API�Management

System�Configuration

Excellence�and�applications– Connect�All�:�Excellent�scalability�with�device�connectivity.�Analyzing�and�gathering�big�data�in�real�time

– Easy�Mash-up�things :�Supporting�flexible�development�environment�that�can�develop�new�types�of�services�through�the�fusion�of�a�variety�of�devices�and�services

– Dynamic�Collaboration�:�Easy�to�collaborate�with�different�service�provider�through�supporting�the�detection�and�combination�of�the�various�resources

88

Connect�All Dynamic�CollaborationEasy Mash-up�things

Energy�Application

IoT Foundation

RDF�Store

Device/Application�Management

Resource�Discovery&�Resolution

Data�Management

Node�/Flow

Portal

Node-RED

Device�Registry

Service�Registry

Portal

Development�Tool

IoT Service�Framework(Node-RED�Extension)

Wellness�Applications

Smart�Phone

Smart�Home�Devices

ArduinoRaspberry�PiBeagleBone�Black

Industry-specificApplication

Page 89: IoT Introduction and Security

2.2 사물인터넷 플랫폼 - IoT Common�Platform

Scenario– Device�Registration/Management

• It�can�register�the�device�such�as�TelosB,�Arduino,�Raspberry-Pi

• Registered�devices�are�manageable�through�IoT Portal

– IoT Service�Development�and�Deployment• Services�can�be�developed�using�Mobile�Device�such�as�IoT Explorer

• Flow�Editor�for�mobile�device�and�interworking�with�Node-RED

– Remote�Deployment�of�IoT Service�and�App�Store�• It�is�possible�to�search�and�utilize�flow�developed�by�third�parties�through�IoT Portal�(App�Store)

• Flow�can�be�remotely�installed�on�IoT Broker

89

IoT Cloud�Platform

RDF�Store

Device/Application�Management

Resource�Discovery&�Resolution

Data�Management

Node�/Flow

Portal

Node-RED

Device�Registry

Service�Registry

IoT Portal

IoT SDK

IoT Service�Framework(Node-RED�Extension)

Parent’s�Home

Smart�Phone

ArduinoRaspberry� PiBeagleBone Black

(1) Device Registration

(2) IoT Service Development And Deployment(Mobile Device)

My�Home

(3) Remote deployment of

IoT Service

Page 90: IoT Introduction and Security

2.2 사물인터넷 플랫폼 - IoT Common�Platform

Overview

IoT Service Platform

Generic Data Model

(RDF Store)

IoT Foundation

Connected Device Platform (Device Connectivity, Device Data Management, Device Authentication)

Sensors Appliances Computers Utilities Security TV’s & Media Devices

VehiclesHVAC Production Equipment

IoT Broker IoT Broker IoT Broker

Medical Devices

Mobile Devices

Lighting

IoT Services

Device Management

Resource Management

Device Spec Management

Service Management

Entity Management

Resource Discovery

Flow Management

Node Management

IoT Service Framework

Flow Editor(Node-RED)

Portal

Access Management

Account Management

Connection Management

System Service Framework

Usage Monitoring

Implemented Unimplemented

Page 91: IoT Introduction and Security

2.2 사물인터넷 플랫폼 - IoT Common�Platform

91

• Component– Portal

• Provide�user�interface�for�IoT Service�Platform

– IoT Service�Framework• Framework�for�Node-RED�based�service�such�as�remote�deploy,�creating�flow,�flow�management

– Resource�Management• Management�of�resources�used�in�IoT Service�Platform

– System�Service�Framework• Provide�functions�such�as�user�management,�broker/device�monitoring,�access�control

Flow ManagementCreate FlowRemote Deploy

IoT Service Platform Portal

Page 92: IoT Introduction and Security

2.2 사물인터넷 플랫폼 - IoT Common�Platform

IoT Foundation�Feature�(1/2)

92

• Real-time various data collection for the accurate prediction

• Supporting data provisioning through Common Data Model-based Big Data management for a wide variety of uses of the data

Supporting standards-based device connectivity Big data processing for IoT Devices

• MQTT standards-based connection optimized mobile, smart sensor, telemetry devices

• Low power compared to HTTP (1/10 Battery Consumption), High Efficiency(93 times faster transmission speed)

• Event-based monitoring, remote resource management

Real-time big data

IoT Foundation

Open API

IoT Big Data (Generic Data

Model)

Services

디바이스

MQTT MQTT

Connected Device Platform

Page 93: IoT Introduction and Security

2.2 사물인터넷 플랫폼 - IoT Common�Platform

IoT Foundation�Features�(2/2)

93

IoT Service FrameworkCondition Process Action

Analytics Service

API

Social Service

API

Enterprise Service

API

DeviceSDK

Communication Protocol

Open Web Service

Node Management Flow Management

Remote Deployment Flow Editor

IoT Foundation

Resource Discovery & Resolution

• Easy to collaborate with different service provider through supporting the detection and combination of the various resources

• Service Recommendation considering user ’s environment and various contexts

Development Environment for IoT Mashup Support dynamic search and combination of service

• Support flexible development environment in order to creating a new type of service through fusing a variety of devices and services

• Placing a flexible process(Cloud-oriented, Distributed) depending on data size, algorithm complexity and so on

Page 94: IoT Introduction and Security

§ Providing�a�Intelligence� to�IoT�Service§ Development� using�convenient� Restful�API�for�intelligence� algorithm§ Doing�Prediction,�Clustering,� Recognition� and�Classification

II.�IoT�플랫폼/응용

What is the intelligence cognitive framework?

The Intelligence Cognitive Framework

IoT Service User

IoT Service Developer

IoT Platform

User data, Service data, IoT device se nsing data

User data, Service data, IoT device sensing data

Intelligence Model Management

Intelligence Service

2.2 사물인터넷 플랫폼 ­ 상황인지프레임워크

Page 95: IoT Introduction and Security

95

2.2 사물인터넷 플랫폼 ­ 상황인지프레임워크

MemoryMgt.

StorageMgt.

ScheduleMgt.

TrafficMgt.

Example Flow 1. Intelligence Service Request

① RequestAnalysis Power

CommonInterface

ResourceManagement Security

Core

② Check Policy

② Check resource state

③ Run intelligence Model

④ ResponsePrediction of appliances state

Power Analysis Service

Intelligence Cognitive Framework

Check access policypriority, ..

Running algorithm

Example Flow 2. Developer & Service Registration

① RequestDeveloper Registration

CommonInterface

Security

ResourceManagement

Intelligence Cognitive Framework

Core

Developer

Policy CryptoAuthenti-cation

Autoriza-tion

② CreateCredential

③ RequestService Registration

Algorithm④ Select Model

⑧ Issue API Key

⑦ Create API Key

⑤ Create & Train Model

⑥ Create API

Page 96: IoT Introduction and Security

2.2 사물인터넷 플랫폼 ­ 상황인지프레임워크

96

DeepLearning

DataProcessing

MachineLearning

Core

CommonInterface

MemoryMgt.

ResourceManagement

StorageMgt.

ScheduleMgt.

TrafficMgt.

Policy

Security

Crypto Authenti-cation

Autoriza-tion

Intelligence Cognitive Framework Architecture

§ Interface� (I)�:�Communication� for�services�and�other�platform§ Resource�management� (R)�:�Manage� framework� server�resource§ Security� (S)�:�Provide�data�confidentiality,� integrity�and�AAA§ Core�(C)�:�Machine� learning� algorithm,�Deep� learning�algorithm�

Architecture

Page 97: IoT Introduction and Security

97

Detail Components

Components Module Description

Interface Common• Module�for communication�with�IoT�platform�or�related�services• For�services,�we�provide�a�open�API�using�RESTful over�HTTP

Resource�Management

Memory�Mgt. • Module�for�restriction on�framework�server�memory�usage

Storage�Mgt. • Module�for�management�of�framework�storage(Database)

Schedule Mgt.• Module�for�check�access policy�of�service�and�for�adjustment�

running�priority�among�the�servicesTraffic Mgt. • Module�for�limitation�on�repeated� request from�same�service

Security

Policy • Including�policy list�about�service�use�authority�per�each�service

Crypto• Module�for�providing�confidentiality and�integrity�by�encrypting

data�and�adding�Message�Authentication�Code

Authentication• Offering authentication�of�developer�who�want�to�use�

intelligence�service�• Issuing API�Key�to�developer

Authorization• Authorization function�of�each�service�user�and�framework�

resources

Core

MachineLearning

• Basic�machine learning�algorithm�:�classification,�clustering,�..

Deep Learning• Providing advanced�recognition, prediction�by�using�GPU�and�

deep�learning�algorithm

Data Processing• In/Output�data�processing� for�training�intelligence service�model�

or�using�it.

2.2 사물인터넷 플랫폼 ­ 상황인지프레임워크

Page 98: IoT Introduction and Security

2.3 사물인터넷 Broker�- 개요

98

IoT Broker for connection among Human, Things and Services § Interaction with various devices§ Interaction with social network such as calendar§ IoT broker can be managed easily by using IoT explorer from smart phone§ Providing higher security and privacy levels

Device RegistryDevice

Description Mgr

Device ControlDevice Actuation

MgrDevice Conf.

ManagerStore (F ile)

상황인지 플랫폼

Bluetooth 체중계

PHILIPS Hue

IoT 응용 서비스

IoT Broker서비스 플랫폼

Google Calendar, SNS

Page 99: IoT Introduction and Security

2.3 사물인터넷 Broker�- Example�Action�Flow

99

Protocol Conversion Unit Test (CoAP, MQTT)– Scenario

• Motor sends their data in real time.• IoT Broker Middleware convert monitored data from UDP to publish message for MQTT.• Upon monitoring symptoms, the motor can be controlled by CoAPmassages.

– Required techniques• Protocol Conversion, MQTT, CoAP

Wi-fi(UDP) IoT Broker

Publish

Page 100: IoT Introduction and Security

2.3 사물인터넷 Broker�- ArchitectureII.�IoT�플랫폼/응용

External Protocol Resolution (MQTT, CoAP, Web service, HTTP, ...)

Application (Business model)

Management

Smar

t Inf

orm

atio

n

SecuritySe

rvic

e O

rgan

izat

ion

Seamless Communication

RFID Bluetooth 802.11 ZigBee Others

Storage and Resources

IoT Broker Service

Virtual Entity

Service Layer

IoT Broker

Device Layer

Page 101: IoT Introduction and Security

2.3 사물인터넷 Broker�- Specification

101

Processor Exynos5422 Cortex-A15 2.0 QuadCortex-A7 Quad

Memory 2GB LPDDR3 933MHz

Operating System Embedded Linux(Linaro Ubuntu)

Development Language C, PHP, Java

Libraries HostAP, dhcpd, califonium

Network IEEE802.15.4/Zigbee RF, WiFi, Bluetooth

Specification of IoT Broker

Implemented components– External Protocol Resolution : This module resolves CoAP, MQTT and so on. Then it convert

into compatible protocol messages for communication with other layer.– Management : This module manages identification of users, devices. Moreover – Service Organization : This module resolves CoAP, MQTT and so on. Then it convert into

compatible protocol messages for communication with other layer.– Virtual Entity : This module resolves CoAP, MQTT and so on. Then it convert into compatible

protocol messages for communication with other layer.

Page 102: IoT Introduction and Security

WiFi Client mode interface

Wireless AP Interface

2.3 사물인터넷 Broker�- AP�Configuration

102

Bridged interface

Wireless AP Interface

Eth0 : wired interface connected to the Internet.Wlan3 : wireless interface with internal connection.Br0 : bridged interface both eth0 and wlan3.NAT between eth0 and wlan3 will be implemented.

Page 103: IoT Introduction and Security

2.4�사물인터넷디바이스- 상황인지칩

Automatic�Lighting�Control�using�Situation�Cognition�Chip(SCC)– Cognitive�chip�senses�situation�information�after�learning�user�

preference�in�advance�and�controls�lightings• Under� the�situation� user�uses�hair�dryer,�turns�on�the�TV,�IoT Broker�and�

Situation�cognition� chip�runs�automatic� lighting�control�by�user�preferences�already�learned

103

HUE�BulbHUE�AP

Cognitive�Chip(FPGA)

IoT Broker

Sensing�Power�Consumption�

Monitor(In�place�of�TV)

Hair�Dryer

ZigBee

I2C

PIR�Sensor

Current�Cost

DetectingThings Monitoring

SmartSituationCognitive

LightingControl

Notebook

IBMNodeRed

USB

USB

Page 104: IoT Introduction and Security

2.4�사물인터넷디바이스- 상황인지칩

Automatic�Lighting�Control�using�Situation�Cognition�Chip(SCC)*PIR�Sensor�detects�weather�user�uses�hair�dryer� in�front�of�the�mirror

– Situation�1(Sleep)� :�No�devices�are�used,�PIR�sensing�data�isn’t�sensed• HUE�Lighting�:�Red�and�Yellow�colored�bulb�with�low�brightness

– Situation�2(Watching� TV)�:�Watching� TV,�PIR�Sensor�doesn’t� sense• HUE�Lighting�:�White�colored�bulb�with�middle�brightness

– Situation�3(Make�up�- morning)� :�Watching� TV,�using�hair�dryer,�PIR�Senses�user• HUE�Lighting�:�White�colored�bulb�with�high�brightness

104

PIR SensorTV(Monitor) Hair Dryer

Situation1

Situation2

PIR SensorTV(Monitor) Hair Dryer

Situation3

PIR SensorTV(Monitor) Hair Dryer

Page 105: IoT Introduction and Security

2.4�사물인터넷디바이스-상황인지칩

This�architecture�consist�of�4�components– IoT Broker

– Situation�Cognition� Chip

– User�devices(PIR�Sensor,� TV,�Hair�Dryer)

– Broker�Control�Device(Hue)

II.�IoT�플랫폼/응용

Situation Cognition Chip

Classifier User Preference Learning

Classify and find

proper situation for user

Classification Model

PIRTV

DryerTime

Run Schedulingfor each data

PIR Sensor

Hair Dryer

TV

User devices

IoT Broker

Classify Aggregation

Collects data from external environment with internal server timeto send chip’s classifier

Hue ControlUser Preference Learning Data

Send pre-defined

user preferencedata

ControlHue Bulb #1

ControlHue Bulb #2

Hue AP

Change HueColor

Change HueBrightness

User devices

Page 106: IoT Introduction and Security

2.4�사물인터넷디바이스- 상황인지칩

106

IoT Broker– Collects�data�from�user�devices� (TV,�Hair�dryer,�PIR�Sensor,� etc.)

– Runs�predefined� user�preference� learning�

– Sends�data�to�the�Situation�Cognition� Chip

– Receives� classification� result�from�the�Chip

– Control�Hue�by�the�classification� result

Situation�Cognition�Chip– Learn�user�preference

– Classify�collected� data

– Sends� results�to�the�IoT Broker

Specification of Implementation

Implementation Env. Xilinx ISE 14.7(Windows 7), Node-red(Ubuntu 14.04, Odroid)

Programming Lang. Verilog, Node.js

Requirements

Etc.

Page 107: IoT Introduction and Security

2.4�사물인터넷디바이스-상황인지칩

Feature�of�situation�cognition�chip�and�it’s�structure– Minimize�bottleneck� by�simultaneous� memory�access�and�calculation

– Optimize�hardware� resource�by�supporting� pipelined� floating�point�calculation

107

Local Variable Module

CU

Discrete Valued Attr. Continuous Valued Attr.

Cont Data 1Module

Cont Data 2Module

Disc Data 1Module

Disc Data 2Module

CLASSModule

WEIGHTModule

ITEMCounter

FPU BlockFPU Arbiter

Tree Memory

Classification Module

INIT

WE

ADDRESS

Disc_1 DATA

Disc_2 DATA

Cont_1 DATA

Cont_2 DATA

CLASS DATA

ITEM NUM

RUN TRAIN

RUN CLASSIFY

CLASS OUT

DONE

Structure of situation cognition chip

Page 108: IoT Introduction and Security

2.4�사물인터넷디바이스-상황인지칩

Arranging�learning�data�(example)– For�continuous� attribute�data,� calculate�

‘Gain’�to�find�optimized� split�point�after�arranging� ascending� order

– Original� software� implements,� this�is�done�according� to�the�time�sequence

– To�calculate� ‘Gain’�simultaneously,� Our�design�uses�pointer� (next�page)

108

65 70 true 1.0 D’play

64 65 true 1.0 Play

72 95 false 1.0 D’play

69 70 false 0.9 Play

75 80 false 0.9 Play

64 65 true 1.0 Play

65 70 true 1.0 D’play

69 70 false 0.9 Play

72 95 false 1.0 D’play

75 80 false 0.9 Play

64 65 true 1.0 Play

65 70 true 1.0 D’play

69 70 false 0.9 Play

75 80 false 0.9 Play

72 95 false 1.0 D’play

case1

case2

case3

case4

case5

case1

case2

case3

case4

case5

case1

case2

case3

case4

case5

Page 109: IoT Introduction and Security

2.4�사물인터넷디바이스-상황인지칩

Arranging�learning�data�(example)– Adopt� indexing�pointer�to�finds�out�original� index�and�continuous� data

– By�renewing� pointer,� simultaneous� ranging�can�be�done� for�each�attributes

109

case1 1 1 true 1.0 D’play

case2 2 2 true 1.0 Play

case3 3 3 false 1.0 D’play

case4 4 4 false 0.9 Play

case5 5 5 false 0.9 Play

1

2

3

4

5

65

64

72

69

75

70

65

95

70

80

1

2

3

4

5

case1 2 2 true 1.0 D’play

case2 1 1 true 1.0 Play

case3 4 5 false 1.0 D’play

case4 3 3 false 0.9 Play

case5 5 4 false 0.9 Play

2

1

4

3

5

64

65

69

72

75

65

70

70

80

95

2

1

4

5

3

pointer

Page 110: IoT Introduction and Security

2.4�사물인터넷디바이스-상황인지칩

Calculating�by�time�sequence�(Software)

110

Initialize�Memory Data�input Count�class�number Calculate�‘Return’Condition

Gain�&�Info

Calculate

Disc.�Attr.

Continuous�Attribute Splitting�

Attribute�Select

Create�

Child�Node Grouping

Weight�Modify Recursive�Call Weight�RecoveryGrouping Grouping Weight�Modify

Weight�Recovery Grouping Node�return�&�Quit

Cont.�Arr.

Count

Gain�&�Info

Calculate Count

Gain�&�Info

Calculate Arrange�&�Count

Continuous�Attribute

Arrange�&�Count

Gain�&�Info

Calculate

Page 111: IoT Introduction and Security

2.4�사물인터넷디바이스-상황인지칩

Calculating�by�time�sequence�(Hardware)– By�calculating� ‘Gain�&�Info’�simultaneously,� hardware� implementation� is�more�

efficient� than�original� software� implementation

111

Gain�&�Info�Calculation

Discrete�Attributes

Continuous�Attributes

Splitting�Attribute

Select

Create

Child�Node Grouping

Weight�Modify Recursive�Call Weight�RecoveryGrouping Grouping Weight�Modify

Weight�Recovery Grouping Node�return�&�Quit

Initialize�Memory Data�input

Simultaneously

Count�for�each�Attr.

Calculate�‘Return’

Condition

Page 112: IoT Introduction and Security

2.4�사물인터넷디바이스-상황인지칩

Implement�result�(Zynq board,�Xilinx�XC7Z020-CLG484)– Support�max�1024�learning�data

– Max�4�recursive� call

– Max�16�Tree�node

– Arrange�using�Heap�Sort

– Register�uses�:�7,918

– LUTs�:�40,338

– RAM�Block�:�7�(36Kb)

– Clock�Frequency� :�10.388MHz

– Required�Time(Learning)� :�347.114ms� (@10MHz)

– Required�Time(Classify)� :�2.7us�~�11.1us� (@10MHz)

112

Page 113: IoT Introduction and Security

2.5�사물인터넷 보안이슈 ­ 요약

사물인터넷환경에서의보안/프라이버시보호의어려움– 사물인터넷 디바이스

• 공격자에게노출되기 쉬운센서디바이스 (환경센서,�스마트미터등)

• SW�업데이트및관리의어려움 (터널내센서,�교량설치 센서등)

• 제한적연산능력 보유(resource�constraints:�기존 보안기술/crypto/SSL�적용의어려움)

• 낮은 visibility�(사용자 interface가 좋지않음.�No�UI,�it’s�a�thing�!)

– 사물인터넷 통신/네트워크• 불완전하게정의된 표준에서의보안 (CoAP�보안,�MQTT�보안)�à보안은 개발자능력에의존

• 과도한 TLS(SSL)�의존성 (DTLS�포함)

– 사물인터넷 플랫폼• 센서퓨전,�데이터퓨전에의한 높은프라이버시침해가능성

• LOD�데이터연계,�데이터분석/데이터마이닝에의한프라이버시 침해가능성증대

– 사물인터넷 서비스• 과도한 TLS(SSL)�의존성 (OAuth2 참고)

• 디바이스검색,�사용자검색,�서비스검색 등을기반으로서비스가이뤄짐(IoT�Resolution/Lookup/Discovery)

• 서비스는외부 정보센싱을기반으로함(프라이버시 침해우려 높음)

• Mashup�서비스에 의한접근제어/권한제어의어려움등

113

I.�사물인터넷 보안 취약성

참고) Securing the Internet of Things by Paul Fremantle, Paul Madsen

Page 114: IoT Introduction and Security

2.5�사물인터넷 보안이슈 ­ 보안요구사항

IoT의주요특성과주요보안요구사항– 사물의 지능화 및 대상 사물 확대

• 지능화된사물에 의한자율적상황학습및 제어(Sensor�&�Actuator� :Autonomous�Control)�à 디바이스보안취약성 해결,�embedded�system�보안,�프라이버시침해문제,�인증/인가,�권한제어/접근제어등

– LOD,�SNS�데이터와의 통합(서비스 Mashup,� Horizontal� 서비스)• 다양한주체의 데이터/정보활용 신규서비스개발.�외부 LOD/SNS�데이터활용확대 à

API보안,�Mashup�보안,�인증/인가,�권한제어/접근제어,�프라이버시침해 문제등

– 사람/사물/서비스의 초연결 특성(Hyperconnectivity)• 다양한이기종 프로토콜/네트워킹/데이터공유기술 사용으로인한보안정합/보안취약성유발,�

Data�Analytics를 통한지식 추출/활용à프라이버시 보호(자기정보통제권),�통신/네트워크프로토콜보안/정합등

114

I.�사물인터넷 보안 취약성

Page 115: IoT Introduction and Security

2.5�사물인터넷 보안이슈 ­ 서비스

115

I.�사물인터넷 보안 취약성

사물인터넷서비스가성공하기위해중요한요소는?

– 실생활의 문제를해결하거나,�기존 방법보다효율성이 높아야함

– IoT�서비스는 외부정보 센싱/처리/저장/분석에 기반을두므로,�“프라이버시침해가능성(Big�Brother)”이 상존하므로이를 해결해야함

– 사이버공간의 해킹은곧 물리공간의 위험을의미하므로 “security 강화” 필요

Page 116: IoT Introduction and Security

2.5�사물인터넷 보안이슈 ­ 서비스

116

I.�사물인터넷과 보안

NESTLab’s Thermostat���

§ 주요특성

–사용자의 설정 온도에 기반한 학습 기능 (daily,�weekly)

–Auto-away�기능 :�사용자가 부재중 여부를 모션센서로 감지à 자동으로실내 온도를 낮춤

–에너지 절약 효과 우수 및 사용자 만족도 높음

–Connectivity�특성§ WiFi 연결,�스마트폰 제어

–보안 취약성§ 펌웨어 해킹 가능,�WiFi용 비밀키 노출 등,��(“Smart�Nest�Thermostat:�A�

Smart�Spy�in�Your�Home,”�Black�Hat�USA,�Aug.�2014)

https://www.blackhat.com/docs/us-14/materials/us-14-Jin-Smart-Nest-Thermostat-A-Smart-Spy-In-Your-Home-WP.pdf

Page 117: IoT Introduction and Security

2.5�사물인터넷 보안이슈 ­ 서비스

117

I.�사물인터넷과 보안

Vulnerability�in�NESTLab’s Thermostat���§ 공격사례

–NESTLab의 Thermostat의 Linux를 사용함.�Booting�과정 공격§ Thermostat을 10초간 누르면 “global�reset”�상태로 감.�sys_boot5�pin이

high로 되어 외부장치 부팅(peripheral�booting)을 triggering�함§ 한편,�sys_boot5�핀은 Thermostat�메인보드에 직접 드러나 있으므로,�이때 해당

핀에 신호를 주입하여 USB로부팅되도록 제어 가능함

§ 실행코드에 대한 integrity를 체크하지 않기 때문에 악위적 코드를 실행할 수있음(Thermostat제어됨)

<표> NestLab의 Thermostat에서사용한 TI사의 AM3703(Cortex-A8)프로세서의 sys_boot[5:0] 외부핀값과 Boot configuration

Sys_boot5 핀값이 ‘1’인 경우, USB로 부팅 가능

Page 118: IoT Introduction and Security

2.5�사물인터넷 보안이슈 ­ 서비스

118

I.�사물인터넷과 보안

Vulnerability�in�NESTLab’s Thermostat���§ 공격방지 방법(예)

–디바이스에 Chain�of�Trust�구현 필요함§ Thermostat은자신이 실행하는 코드를 인증해야 함(code�integrity�제공)

§ Thermostat�해킹사례는 조작된 bootloader (x-loader)에의해서발생되었음.�해당 코드의 integrity를 check하여,�악의적 코드 실행을 방지

§ TI사의 OMAP�platform에는secure�boot�기능제공 (Thermostat에서사용한프로세서,�AM3703(Cortex-A8)에는해당기능없음

§ 파일 시스템 암호화를 통한 공격 방어§ File�system을암호화하고,�암호화된 코드를 processor�내부에서실시간으로

복호화하여 이를 실행할 수있다면,�공격자의 부팅 과정에 대한공격은 어려워짐

§ 특정 메모리 영역을 nx(non-executable)�영역으로 설정하여,�실행 제한§ 프로세서가 가지고 있는 특정메모리 영역에 대한 실행 제한설정(nx-bit�설정)�

기능을 통해 악의적코드 실행을 방지함

Page 119: IoT Introduction and Security

2.5�사물인터넷 보안이슈 ­ 서비스

119

I.�사물인터넷과 보안

DropCam§ 주요특성

–실시간 영상 혹은 기록된 영상을 통한 Surveillance�특성 +�특정 동작에대한 이벤트 감지

–WiFi 연결

–모든 영상 정보는 암호화되어 클라우드에 저장됨

–보안 특성§ 암호화되어 저장됨

§ 하지만,�사용자 영상 정보는 ID와 password�기반 접근제어,�Privacy�이슈

monitoring Image information(encrypted)

Connected with Labtop, Smartphone

Page 120: IoT Introduction and Security

2.5�사물인터넷 보안이슈 ­ 서비스

120

I.�사물인터넷과 보안

Mother�by�sen.se– 운동량,�부재여부,�온도/습도,�움직임감지– 독자프로토콜 사용à 통신기밀성제공하지않음

eavesdropping

Dedicated protocol(no security)

Mother

cookie

Page 121: IoT Introduction and Security

2.5�사물인터넷 보안이슈 ­ 서비스

121

IoT 제품에대한프라이버시침해문제제기– 인형제작회사인 Mattel은 IoT 인형인 “Hello�Barbie” 개발계획을발표함§ 음성인식및 어린이와의대화기능갖춤(ToyTalk 기술사용)§ 인형은학습기능을 갖춤(클라우드에 정보저장)§ 어린이와인형은 대화는클라우드에저장되어학습됨§ 어린이의대화는 클라우드에서분석되며,�클라우드에미리저장된답변중에서 적당한것이선택되어응답함

§ 프라이버시보호 기능:��부모는 1주일간격으로클라우드에저장된어린이의 대화내역확인가능함

– 구글의 IoT 장난감§ 아이들과대화를 하며,�감정 표현을함§ 집안의가전제품을 켜거나끄며,�어린이의대화를기록및분석함

§ 마이크,�스피커,�카메라등을내장하고웃음 등얼굴표정변경가능함

§ 프라이버시보호 단체문제제기시작함

– 퀄컴:�스마트테디베어,�MWC– IDX�Lab의 Teddy�the�Guardian�

참고 자료: http://www.fastcompany.com/3042430/most-creative-people/using-toytalk-technology-new-hello-barbie-will-have-real-conversations-http://www.nixonpeabody.com/files/174004_NP_Privacy_Privacy_13MAR2015.pdfhttp://www.etnews.com/20150525000015 “구글, 말동무 수퍼장난감 특허, 빅브러더 논란”, 전자신문. 2015.5.25

I.�사물인터넷과 보안

Page 122: IoT Introduction and Security

2.5�사물인터넷 보안이슈 ­ 서비스

122

IoT 제품에대한프라이버시침해문제제기– 퀄컴의스마트 하우스개념소개,�MWC

참고 자료: http://www.dailymail.co.uk/sciencetech/article-2568234/The-home-future-Smart-house-boasts-features-including-mobile-controlled-door-locks-teddy-takes-child-bed.htmlhttp://teddytheguardian.com/

– Teddy�the�Guardian� 제품

• 퀄컴의스마트 하우스

• AllJoyn 플랫폼을사용하여구현

• 집안내가전제어 가능

• 사용자심박,�산소포화도,�체온등추적

I.�사물인터넷과 보안

Page 123: IoT Introduction and Security

2.5�사물인터넷 보안이슈 ­ 플랫폼

사물인터넷플랫폼분야보안특성/문제점– 플랫폼에서는 서비스 구성 요소 보안 기능을 제공해야 함

• 사물인터넷 디바이스 보안(인증,�키 관리),�통신/네트워크 보안,�서비스 보안,�프라이버시 보호,�사물인터넷 Resolution�인프라 보안 등,�다양한 보안 기능 제공을필요로 함

– 플랫폼에서의 일반화된 보안 기술의 유효성은?

• 서비스 구성 요소(예:�특정 디바이스 보안 등)에 특화된 보안 기술을 제공해야 함

• 일반화된 플랫폼 보안/프라이버시 기술은 활용도가 낮음

• 제시된 플랫폼 보안은 보안 요구 사항 정의수준

123

III.�IoT�보안/프라이버시 이슈

Page 124: IoT Introduction and Security

2.5�사물인터넷 보안이슈 ­ 플랫폼

사물인터넷플랫폼보안기술정의사례1§ IoT-A�보안 기술

– IoT-A에서 정의된 IoT�서비스 Resolution� infrastructure� 보안 기술

– Security� components�

124

III.�IoT�보안/프라이버시 이슈

Component Name and Short Name Component Functionality Security Goals Targeted

AuthZ(Authorization)

Access control on services • Service access control • Confidentiality (data) • Integrity (data)

Access control on resolution infrastructure

• Service privacy • Service availability

AuthN (Authentication) Authentication of service users • Authentication

• Accountability

IM (Identity Management) Management of Identities, Pseudonyms and related access policies

• User privacy • Service privacy

KEM (Key Exchange and Management)

Exchange of cryptographic keys

• Confidentiality (communication)

• Integrity (communication)

TRA (Trust & Reputation) Collecting user reputation scores and calculating service trust levels

• Service Reputation Metering

• Service Trust

Page 125: IoT Introduction and Security

2.5�사물인터넷 보안이슈 ­ 플랫폼

IoT-A에서정의한보안기술의관계도

125

III.�IoT�보안/프라이버시 이슈

사물/서비스Resolution�

Infrastructure

인증(AuthN)

인가(AuthZ)

실행

필요한 사물,�서비스 검색(Discovery,�Resolution,�

Lookup)

접근제어/권한제어(RBAC,�ABAC)

사용자 인증,�객체(사물,�서비스 등)�인증

해당 자원에 대한 접근권한 제공

접근제어 대상자원 Access�

객체 단위의미세한 접근제어 가능

KEM(Key�Exchange�&�

Mgmt)

IM(ID�Mgmt)

ID�관리,� Pseudonym,�Anonymity�관리 등

비밀키,�인증서 등 관리객체(사물,� 서비스)에

대한 신뢰도 및 평판 관리

TRA(Trust�&�

Reputation)

Page 126: IoT Introduction and Security

2.5�사물인터넷 보안이슈 ­ 플랫폼

126

사물인터넷Mashup서비스/API�보안특성/문제점– 과도한 SSL�의존성(OAuth2의 Token�노출 문제)

– API�보안 프로토콜보안 취약성

– Mashup 서비스보안,�Federation�보안 등

III.�IoT�보안/프라이버시 이슈

Page 127: IoT Introduction and Security

2.5�사물인터넷 보안이슈 ­ 플랫폼

127

개발하고자 하는새로운응용: Auto Alarm Application •Google Calendar 정보기반Alarm Application 개발 사용자

OAuth보안§ [문제] Google Calendar 정보를 이용하는 새로운 Application을 개발할 경우,

어떤 사용자의 Google Calendar 일정 정보 접근 권한을 어떻게 얻을 수 있나?

§ 해결책 1: Google의 ID, Password를 개발자에게 제공할 경우à 문제 발생

1. Calendar와더불어 Gmail, Drive, Photo 등 모든 정보에 접근가능

2. 검증되지 않은 Application에 Google ID,PW가 저장됨

3. Google PW가 변경되면이용불가

4. 더이상 Google Calendar 정보를 동기화 하고싶지 않은 경우, 적절한 취소방법없음

§ 해결책 2: OAuth를 사용한 정보 접근방법

사용자의 Google Calendar 정보접근

III.�IoT�보안/프라이버시 이슈

Page 128: IoT Introduction and Security

2.5�사물인터넷 보안이슈 ­ 플랫폼

128

Resource Owner Client

AuthorizationServer

ResourceServer

②Request Authentication & Authorization

①Access Client

③Authentication ④Authorization code

⑤Request Access token

⑥Issue Access token

⑦Request Resource

⑧Resource

Authorization Server로 Redirect

Authorization code와 Client Credential 포함

Authorization Grant Type은 4가지가 정의 되어 있음

Blog : http://tutorials.jenkov.com/oauth2/overview.html

표준 문서 – RFC6749

OAuth 2.0 Abstract Protocol Flow

III.�IoT�보안/프라이버시 이슈

Page 129: IoT Introduction and Security

2.5�사물인터넷 보안이슈 ­ 플랫폼

129

OAuth 2.0 – Authorization GrantAuthorization�Code�방법:

https://client.example.com/cb?code=SplxlOBeZQQYbYS6WxSbIA&state=xyz

GET /authorize?response_type=code&client_id=s6BhdRkqt3&state=xyz&redirect_uri=https%3A%2F%2Fclient%2Eexample%2Ecom%2FcbHost: server.example.com

Ⓐ Request Authorization

Ⓒ Response Authorization

POST /token HTTP/1.1Host: server.example.comAuthorization: Basic czZCaGRSa3F0MzpnWDFmQmF0M2JWContent-Type: application/x-www-form-urlencodedgrant_type=authorization_code&code=SplxlOBeZQQYbYS6WxSbIA&redirect_uri=https%3A%2F%2Fclient%2Eexample%2Ecom%2Fcb

Ⓓ Request Access Token

HTTP/1.1 200 OKContent-Type: application/json;charset=UTF-8Cache-Control: no-storePragma: no-cache{"access_token":"2YotnFZFEjr1zCsicMWpAA","token_type":"example","expires_in":3600,"refresh_token":"tGzv3JOkF0XG5Qx2TlKWIA",}

ⒹAuthorization Code

Web Application Client

• Confidential client에서 사용하는 방식 à Client에서

Authorization Code를 가짐

• Client는 Auth 서버로부터 받은 Authorization code를 사용해

서 Auth서버에 직접 access token을 요청해서 받음

III.�IoT�보안/프라이버시 이슈

Page 130: IoT Introduction and Security

2.5�사물인터넷 보안이슈 ­ 플랫폼

130

Vulnerability�Issues�OAuth 2.0�and�the�Road�to Hell

OAuth�2.0�Threat�Model�and�Security�Considerations,�IETF�OAuth�Working�Group�draft,�work�in�progress,�July�2011

1. 암호화 되지않은 토큰, SSL에 의존

2. Resource owner가Authentication 과정에서 위임되는권한에 대해무관심

3. Access 유효기간역시 세분화 되어관리 되지 못함.

http://hueniverse.com/

OAuth Web Authorization Protocol, Barry Leiba, January/February 2012 (vol. 16 no. 1), IEEE

III.�IoT�보안/프라이버시 이슈

Page 131: IoT Introduction and Security

2.5�사물인터넷 보안이슈 ­ 통신/네트워크

사물인터넷통신/네트워크분야보안특성/문제점– 과도한 SSL�의존성 (높은 자원 제약성을 갖는 환경에서구현 가능 여부)

– 불완전한 표준에서의 보안 기술 정의

– 타 프로토콜 연동시의 문제점(CoAP�security� --- HTTPS�연동시의 문제점)�등

131

III.�IoT�보안/프라이버시 이슈

Page 132: IoT Introduction and Security

MK(Master�Key)�- 두 개의장치사이에초기에 공유되는비밀키- SKKE(Symmetric�Key-Key�Establishment)�과정에서사용

LK(Link�Key) - 두 개장치의 APL에서 Unicast로 전달되는메시지를 암호화

NK(Network�Key)- NWK�계층에서의보안에사용되는키- 네트워크내모든장치가 공유하는키

2.5�사물인터넷 보안이슈 ­ 통신/네트워크

ZigBee�보안기술§ 8가지 보안 운영모드

§ 키구조

132

III.�IoT�보안/프라이버시 이슈

모드 적용내용

No�Security 보안 없음

AES-CBC-MAC-32(MIC-32) 32비트메시지 인증

AES-CBC-MAC-64(MIC-64) 64비트메시지 인증

AES-CBC-MAC-128(MIC-128) 128비트메시지 인증

AES-CTR(ENC) 암호화만 적용

AES-CCM-32 32비트암호화 및 메시지인증

AES-CCM-64 64비트암호화 및 메시지인증

AES-CCM-128 128비트암호화 및메시지 인증

§ 키전달 방법

– Key�Transport:� 무선 통신을 통해

다른 장치에 키를 전달

– Key�Establishment:� 장치간의

신뢰성 확인 후 새로운 키생성

– Pre�Installation:�장치에 사용 가능한

키를 미리 입력

Page 133: IoT Introduction and Security

2.5�사물인터넷 보안이슈 ­ 통신/네트워크

ZigBee– ZigBee�Security��

• Symmetric�Encryption,�Message�Authentication�à AES-CCM*�128bit

• Integrity�Protection�àMIC�0�­ 128�bit

• Replay�Protection�à Frame�Counter�4Byte

• One�security� level�per�network

• Security�based�on�encryption�keys– Network�Key

» Used�for�broadcast�communication

» Shared�among�all�devices

– Link�Key» Used�for�secure�unicast�communication

» Shared�only�between�two�devices

• Key�Exchange�– Preinstalled�Devices

– Key�Transport

– Key�Establishment

– ZigBee�응용 분야• Remote�Control,�Building�Automation,�Home�Automation,�Health�Care,�Smart�Energy,�

Retail�Services,�Telecom�Services�등

133

V.�IoT�통신/네트워크 보안

Page 134: IoT Introduction and Security

2.5�사물인터넷 보안이슈 ­ 통신/네트워크

ZigBee�보안취약점(ZigBee�Exploited�The�Good�The�Bad�and�The�ugly�­ Black�Hat�2015)

– ZigBee�애플리케이션 프로파일 (Home�Automation)• Default�Trust�Center�Link�Key

– 0x5A�0x69�0x67�0x42�0x65�0x65 0x41�0x6C�0x6C 0x69�0x61�0x6E�0x63�0x65�0x30�0x39

– ZigBeeAlliance09

• Use�Default�Link�Key�Join�– 0x01(True)

– This�flag�enables�to�use�of�default�link�key�join�as��a�fallback�case�at�startup�time

• Return� to�Factory�Defaults

– Zigbee Light�Link• Devices�in�a�ZLL�shall�use�ZigBee�network�layer�security

• Using�a�fixed�secret�key(ZLL�key)

• Default�key�for�communicating�with�a�trust�center�(0x5a�0x69�0x67�0x42�0x65�0x41�0x6c�0x6c 0x69�x061�0x6e�0x63�0x65�0x30�0x39)

• Use�insecure� join– Use�insecure�join�as�a�fallback�option

• All�tested�systems�only�use�the�default�TC�link�key�for� securing�the�initial�key�exchange

• No�link�keys�are�used�or�supported

• No�ZigBee�security�configuration�possibilities�available

• No�key�rotation�applied�(Test�period�of�11month)

134

V.�IoT�통신/네트워크 보안

Page 135: IoT Introduction and Security

2.5�사물인터넷 보안이슈 ­ 통신/네트워크

ZigBee�보안취약점(ZigBee�Exploited�The�Good�The�Bad�and�The�ugly�­ Black�Hat�2015)

– Tested�Devices

• All�tested�systems�only�use�the�default�TC�link�key�for� securing�the�initial�key�exchange

• No�link�keys�are�used�or�supported

• No�ZigBee�security�configuration�possibilities�available

• No�key�rotation�applied�(Test�period�of�11month)

• Device�reset�often�difficult

• Light�bulbs�do�not�require�physical�interaction� for�pairing

135

Hue by Philips

SmartThings Hub by SmartThings

Z-Wave Touchscreen Deadbolt by Yale

V.�IoT�통신/네트워크 보안

Page 136: IoT Introduction and Security

2.5�사물인터넷 보안이슈 ­ 통신/네트워크

ZigBee�보안취약점– Network�Key�Sniffing

1. Fallback�key�exchange�insecure

2. Most�vendors�only�implement�fallback�solution

3. Same�security� level�as�plaintext�exchange

– Device�Hijacking– Devices�are�paired�and�working

1. Identify�the�target�device

2. Reset�to�factory�default�settings

3. Join�the�target�device�to�our�network

136

Jam the communication

Wait for users to re-pair the device

V.�IoT�통신/네트워크 보안

Page 137: IoT Introduction and Security

2.5�사물인터넷 보안이슈 ­ 통신/네트워크

ZigBee�보안취약점– Security�Measures�provided� are�good,�But

à requirements�due�to�interoperability�weaken�the�security� level�drasticallyà vendors�only�implement�the�absolute�minimum�to�be�compliantà useability overrules� security

– Proper�implementations� of�security�measeures is�crucial�­ Compliance� is�not�Security

– Learn�from�history�and�do�not�rely�on�“Security�by�Obscurity”

– There�is�a�world�beside�TCP/IP

137

V.�IoT�통신/네트워크 보안

Page 138: IoT Introduction and Security

2.5�사물인터넷 보안이슈 ­ 통신/네트워크

RFID(Radio�Frequency�Identification)– 전파를 이용해 근/원거리에서 정보를 인식하는 기술

• RFID�태그,�안테나,�리더기등으로구성

– 특징• 비접촉식통신 방법

• 근,원거리에서효과적으로 Read�&�Write�가능

• 다양한형태와 크기로제조가능등

– Low-Frequency� :�125kHz� ­ 134kHz• Access�Control�Proximity�cards� :�HID,�Indala,�AWID,�etc

• Pet�chips/implantable�:AVID,�Fecava,�ISO�11784/11785

– High-Frequency� :�13.56MHz

• Access�Control�:�HID�iCLASS,�NXP�Mifare family

• NFC�:�Contactless�payment,�Bluetooth�pairing,�etc

• IDs�:�ePA(German�ID�card),�passports,�etc

138

V.�IoT�통신/네트워크 보안

Page 139: IoT Introduction and Security

2.5�사물인터넷 보안이슈 ­ 통신/네트워크

RFID�hacking�tool을 이용한공격(How�to�Train�Your�RFID�Hacking�Tools�- DEFCON�2015)

– Proxmark3�• Powerful�general�purpose�RFID�tool

• The�size�of�a�deck�of�cards

• Designed�to�snoop,�listen�and�emulate�everything�from�Low�Frequency�(125kHz)�to�High�Frequency�(13.56MHz)�tags

139

Proxmark3

V.�IoT�통신/네트워크 보안

Page 140: IoT Introduction and Security

2.5�사물인터넷 보안이슈 ­ 통신/네트워크

RFID�hacking�tool을 이용한공격(How�to�Train�Your�RFID�Hacking�Tools�- DEFCON�2015)

– Proxmark3�에서 제공하는 command를 이용하여 손쉽게 RFID�복제가능(https://github.com/Proxmark/proxmark3/wiki/commands�참고)

– Example�(T55xx�Cards�Cloning)

140

V.�IoT�통신/네트워크 보안

Page 141: IoT Introduction and Security

2.5�사물인터넷 보안이슈 ­ 통신/네트워크

RFID�hacking�tool을 이용한공격(How�to�Train�Your�RFID�Hacking�Tools�- DEFCON�2015)

– T55xx�Clone�with�Proxmark 3• If�search� :�Read�and�Search�for�valid�known�tag

• Extract�Tag�Bitstream- data�printdemodbuffer x�:�print�the�data�in�the�DemodBuffer - 'x'�for�hex�output�'o'�to�shift�binary�by�offset�amount

141

V.�IoT�통신/네트워크 보안

Page 142: IoT Introduction and Security

2.5�사물인터넷 보안이슈 ­ 통신/네트워크

RFID�hacking�tool을 이용한공격(How�to�Train�Your�RFID�Hacking�Tools�- DEFCON�2015)

– T55xx�Clone�with�Proxmark 3• Tag’s�Demodulated�Bitstream

• T55xx�Block�0�Values– Option�1�:�Determine�block�0�manually�via�datasheets

– Option�2�:�Refer�to�excellent�thread�at�proxmark.org» http://www.proxmark.org/forum/viewtopic.php?id=1767$

142

Black 1 Black 2 Black 3

V.�IoT�통신/네트워크 보안

Page 143: IoT Introduction and Security

2.5�사물인터넷 보안이슈 ­ 통신/네트워크

How�to�Train�Your�RFID�Tools�(DEFCON�2015)– T55xx�Clone�with�Proxmark 3

• Programming�a�T5557�Card�with�HID�37�deadbeef

• lf�t55xx�write�:� Write�T55xx�block�data�(page�0)

• lf�hid�fskdemod :�Realtime HID�FSK�demodulator

143

If t55xx write 명령어를이용하여 block data 입력

If hid fskdemod 명령을이용하여 Clone 확인

V.�IoT�통신/네트워크 보안

Page 144: IoT Introduction and Security

2.5�사물인터넷 보안이슈 ­ 통신/네트워크

How�to�Train�Your�RFID�Tools�(DEFCON�2015)– Proxmark3�외에 다양한 RFID�Hacking� tool�존재

• Making�Fake�Readers,�Phone�Case�snooper,�Cloning�MiFare 같은것들을쉽게 할수있음

144

Fabrication ComputingRFID

125kHz-134kHz�ASK�and�FSK�reading�and�emulation

USB�based�computer�with�security�in�mind

NXP�chipset�for�Near�Field�Communications

V.�IoT�통신/네트워크 보안

Page 145: IoT Introduction and Security

2.5�사물인터넷 보안이슈 ­ 통신/네트워크

Mifare 카드실시간해킹보드 (CHES�2015)– Chamelonmini 보드

• Mifare 카드를사용할경우,�실시간으로복제가능함

• http://kasper-oswald.de/chameleonmini

145

V.�IoT�통신/네트워크 보안

실시간 cloning !

Page 146: IoT Introduction and Security

2.5�사물인터넷 보안이슈 ­ 통신/네트워크

CoAP(Constrained�Application�Protocol)�보안기술– HTTP�의 경우 TCP�상의 TLS�(Transport� Layer�Security)를 통해 보안 제공

– CoAP 보안은 DTLS�(Datagram� Transport� Layer�Security)를 통해 제공

– 자원 한정적인 노드와 네트워크 환경에서는 DTLS�와 초기 핸드셰이크 과정의 부하가 크기때문에 DTLS�패킷의 크기를 제한하여 부하를 줄임

– CoAP 보안은 현재 그룹키/멀티캐스트 보안은 제공하지 않으며 추후에 그룹키 관리기법을 추가할 예정임

DTLS-보안CoAP– Messaging,� Request/Response� Layer�상에서의 보안을 위해 모든 message와request/response는 안전한 DTLS 세션을 통해 교환됨

– Endpoint�신원의 경우 Server�Name� Indication� (SNI)�를 통해 authority 이름을지칭하며 이는 virtual�server를 통한 다중 authority�환경에서의 새로운 DTLS�연결을위해 사용이 가능

– 4가지의 보안 모드를 제공함

§ NoSec,�PreSharedKey,� RawPublicKey,�Certificate

§ LWM2M에서의 UDP�채널보안에 적용되었음

146

III.�IoT�보안/프라이버시 이슈

UDP

DTLS

Request/ResponseMessage

Application

DTLS�보안 CoAP Layer

Page 147: IoT Introduction and Security

2.5�사물인터넷 보안이슈 ­ 통신/네트워크

MQTT�보안기술§ MQTT를 사용하는 응용서비스에서는 다음과같은 보안기법구현을 필요로함

– Authentication of�users�and�devices

– Authorization� of�access� to�Server� resources

– Integrity�of�MQTT�Control�Packets�and�application� data�contained� therein

– Privacy of�MQTT�Control�Packets�and�application� data�contained� therein

MQTT�표준에서 사용을권하는 보안기술

§ MQTT 표준에서는 SSL�사용을 권하며,�또한,�NIST의 cyber security�framework,�FIPS-140-2,�NSA�Suite�B�표준에서 정의된표준 기술,�보안 권고를따를것을 요구함

§ 사용을권하는 경량암호– 특정 경량 암호 알고리즘 사용을 강제하지는 않지만,�ISO�29192의 사용을 권함

– ISO�29192에서는 PRESENT와 CLEFIA�lightweight� block�cipher가 정의됨

147

III.�IoT�보안/프라이버시 이슈

http://docs.oasis-open.org/mqtt/mqtt/v3.1.1/csprd01/mqtt-v3.1.1-csprd01.html

Page 148: IoT Introduction and Security

2.5�사물인터넷 보안이슈 ­ 프라이버시 보호

148

사물인터넷프라이버시보호특성/문제점– 정보 센싱,�가공/처리/저장/활용 단계별 프라이버시 보호 기능을 제공해야 함

• 사물인터넷 서비스 단계별 프라이버시 보호 기능을 제공해야 함

• 정보 센싱(수집)�단계에서의 프라이버시 보호

• 정보 가공/처리 단계에서의 프라이버시 보호(Re-identification� by�Linking,�Privacy�infringement� in�Data�mining�등)

• 정보 저장/활용 단계에서의 프라이버시 보호(noise�추가,�자기정보통제권 등)

III.�IoT�보안/프라이버시 이슈

Page 149: IoT Introduction and Security

2.5�사물인터넷 보안이슈 ­ 프라이버시 보호

149

사물인터넷프라이버시보호이슈§ Personally�Identifiable�Information�(PII)��정보 제거 =�프라이버시보호 ?

– PII:�

• Name,�Social�Security�number,�phone�number,�email,�address…�what�else?

• Anything�that�identifies�the�person�directly

§ PII�정보 제거 혹은해당 정보암호화만으로 IoT�서비스에서프라이버시가 보호될까?�– No!

– 정보 연결 통한 PII�정보 확보가능

– Re-identification� by�Linking�à Re-identification� by�Data�mining� in�IoT�Services� :�프라이버시 침해

III.�IoT�보안/프라이버시 이슈

Page 150: IoT Introduction and Security

2.5�사물인터넷 보안이슈 ­ 프라이버시 보호

150

Re-identification�by�Linking�사례 (프라이버시침해사례)

III.�IoT�보안/프라이버시 이슈

EthnicityVisit dateDiagnosisProcedureMedicationTotal charge…

NameAddressDate registeredParty affiliationDate last voted

ZIPBirthdateGender

Medical Data Voter List

§ 미국 NAHDO(National�Association�of�Health�Data�Organization)에서는병원에서의환자 치료데이터를수집할수있음 (Medical�Data)

§ Massachusetts의 단체보험위원회(Group�Insurance�Commission)에서는미국NAHDO로부터State�직원에대한건강정보를 “anonymous”�형태로 매입함

§ Massachusetts�주 정부에서는가지고있는Medical�Data가 anonymous하다고판단하여이를 질병연구자들에게판매함

§ Medical�Data를 확보한 질병연구자중한사람이Massachusetts의 유권자정보(Voter�List)를 구입함

§ 구매한 Voter�List의 “ZIP,�Birthdate,�Gender”�정보를활용하여 특정인의Medical�Data�정보를얻게됨

§ Data�Linking을통하여 특정인을 Re-identification�됨

Page 151: IoT Introduction and Security

2.5�사물인터넷 보안이슈 ­ 프라이버시 보호

151

사물인터넷서비스에서의위치정보침해사례– 교수 A는 자신의 위치 정보 서비스 S에 수집을 허락함

– 교수 A가 참여하고 있는 ‘자문회의’에 위원 B,C,D,…�등이 참여하고 있음을 서비스S에서는 알고 있음(공개된 정보임)

– 현재 특정인 A는 ‘자문회의’에 참석중이며,�해당 위치수집을 허락함

– 추론을 통해 위원 B,C,D,…�등의현재 위치 정보를 서비스 S에서는 알게 됨.�

서비스 S‘자문회의 위원’

위치정보 수집허용

교수 A

추론을 통한 위원B,C,D,…의 위치정보 획득가능

위원B,C,D,

III.�사물인터넷 플랫폼 보안

Page 152: IoT Introduction and Security

2.5 사물인터넷보안 이슈 – 프라이버시 보호

152

수집 저장 가공/분석 공유/이용, 제공/위탁 폐기

IoT

주요

단계

LOD데이터

IoT서비스

IoT주요

단계별

개인정보침해위협

서비스 1…n

IoT 클라우드

센싱데이터/정보

개인정보보호수단

• 부적절한접근으로개인 식별정보 수집

• 개인식별정보보호정책에명시되지않은항목수집

• 소유자 동의없이 사생활 모니터링

• 민감정보에 대한암호화미적용

• 적절한 보안기법미적용• 저장된데이터베이스 시

스템의 미보호• 부주의로 인해 시스템

및 서비스를 통해 개인식별정보노출

• 고의적인 개인식별정보유·노출

• 데이터 분석, 가공을 통한 개인정보추출 (?)

• 수집된개인식별정보의 부적절한 분석

• 공개된개인정보가 다른일반정보와 결합되어무단으로 습관 및 패턴 분석

• 동의없이 상품광고 및광고성 정보 제공

• 개인식별정보를 제3자에게양도 하는 등 불법적 거래

• 위탁/양도 절차 미준수로 인한 권리위협

• 파기과정 기술적� 제도적보호방안 미흡

• 명시된보유 기간 이후지속적 개인정보 보존

가공정보 공유/이용,타업자에 제공/위탁

데이터 센싱/

외부 데이터 입력폐기센싱 데이터저장 데이터 분석, 정보/지식

추출

매쉬업 서비스데이터

가공/연결

센싱정보

클라우드 저장

개인정보 수집이용 동의 개인정보 제3자 제공 동의개인정보목적외사용금지

개인정보검색 개인정보완전삭제개인정보 비식별화(익명화, 마스킹등)

개인정보보호관리체계 (개인정보보호책임자 지정, 내부관리계획, 개인정보처리방침, 영향평가 등)

개인정보보호를 위한 기술적 수단

III.�사물인터넷 플랫폼 보안

Page 153: IoT Introduction and Security

2.5�사물인터넷 보안이슈 ­ 프라이버시 보호

153

전통적인프라이버시보호기법§ 정보수집시,�동의 획득

– 개인정보 수집시,�개인정보 소유자로부터동의 획득

§ 암호화를 통한프라이버시 보호

– Confidentiality�제공 ~�프라이버시보호

§ 접근제어를 통한정보 유출방지

– 사례)�DB�접근 제어를통한 정보유출 방지 (cf.�DB�암호화,�searchable�encryption�in�DB)

§ 시스템보안 기법을통한 정보유출 방지

–방화벽,�sandbox,�etc.�

프라이버시를 정보에대한 기밀성보장,�접근제어,�시스템보안 등을통해서 완벽히제공할수 없음§ 빅데이터 처리,�데이터마이닝기법은 프라이버시 침해가능성을 높임

III.�IoT�보안/프라이버시 이슈

Page 154: IoT Introduction and Security

2.5�사물인터넷 보안이슈 ­ 프라이버시 보호

154

데이터수집 및 publish 단계에서의프라이버시 보호 (Sanitization�기법)

§ Input�perturbation

– 입력 값에 noise�추가(즉,�database에 random�noise�추가)

§ Output�perturbation

– Data statistics�정보에 noise�추가/�Output�값에 noise�추가

III.�IoT�보안/프라이버시 이슈

Page 155: IoT Introduction and Security

2.5�사물인터넷 보안이슈 ­ 프라이버시 보호

155

가공/활용 단계에서의프라이버시 보호 à Privacy�preserving�data�mining�기법필요

데이터마이닝은단편화된데이터/정보로부터의미있는정보및지식을얻음§ 사용자의 동의를받거나,�기밀성이 적용된단편화된 정보를타 정보와결합함으로서 고급정보 추출

§ 연관성분석,�분류,�예측,�군집화 등각종 마이닝기법을통해 프라이버시침해가능성높은 개인정보를 만들거나/추출할수 있음

프라이버시 침해문제는 top-tier�서비스 수준에서중요하게 취급되어야함

§ 데이터수집/전송/저장 단계에서프라이버시 보호를위한 기술적인절차도중요하지만,�

§ 가공/활용 단계에서프라이버시 보호를위한 기술적인조치는 더욱중요함

III.�IoT�보안/프라이버시 이슈

Page 156: IoT Introduction and Security

2.5�사물인터넷 보안이슈 ­ 디바이스

사물인터넷디바이스분야보안특성/문제점– 디바이스에 대한 부채널 공격의 용이함 및 높은자원제약성으로 인한경량 암호 구현의어려움

– 디바이스에 대한 부채널 공격• 소비전력분석공격(SPA,�DPA)�:�비밀키 값추출

– 디바이스 H/W Crack/Reversing� 공격• Chip�Cloning,�Chip�Reversing,�ROM�Code�추출,�key/password�값 추출 등

– 디바이스 OS�,�SW�공격• 악성코드삽입,�Code�Cracking�공격등

156

II.�IoT 디바이스 경량 암호

Page 157: IoT Introduction and Security

2.5�사물인터넷 보안이슈 ­ 디바이스

디바이스부채널공격

157

II.�IoT 디바이스 경량 암호

소비전력정보

http://en.wikipedia.org/wiki/Power_analysis

소비전력 정보

암호키값/비밀번호추출

Page 158: IoT Introduction and Security

2.5�사물인터넷 보안이슈 ­ 디바이스

디바이스 H/W Crack/Reversing�공격

158

II.�IoT 디바이스 경량 암호

http://www.ic-cracker.com/http://www.break-ic.com/http://hack-mcu.com/MCU-crack/Zilog-IC-Crack.htmhttp://www.hualantech.com/tag/ic-crackhttp://www.mcu-reverse.com/tag/ic-crack

Page 159: IoT Introduction and Security

2.5�사물인터넷 보안이슈 ­ 디바이스

사물인터넷디바이스보안기술§ Tamper�resistance�기술/Tamper�Evidence 기술

– Clone�detection� (PUF�기술 등)

– Key�zeroisation 기술 등

§ Side�channel�attack�countermeasure�기술

– SPA/DPA/CPA� attack�countermeasure� (Random�Masking�기법 등)

§ 인증/인가 기술

– Secret�credential,� Certificate� (X.509�기반 등) 사용등

§ 접근제어 기술– Access�Control� (ACL,�RBAC,�etc.)

§ Code�Integrity�보장 기술– Hash�value,�MIC(Message� Integrity�Code)�등

159

II.�IoT 디바이스 경량 암호

Page 160: IoT Introduction and Security

2.5�사물인터넷 보안이슈 ­ 디바이스

사물인터넷디바이스용경량암호§ 경량암호 알고리즘구현 이슈

– Block Cipher:�PRESENT,�LEA,�AES�등

– Public�Key�Cryptography:�ECC�(NIST�compliant)�

– Target�Platform�:�MSP430,�Atmega,�Cortex�M3�등

– Smart�Dust��디바이스 환경?�

160

II.�IoT 디바이스 경량 암호

Page 161: IoT Introduction and Security

2.5�사물인터넷 보안이슈 ­ 디바이스

Hardware§ Most�IoT devices�can�be�accessed�by�serial�consolesPC�apps§ monitor�communications�(local�network and�remote)�

§ determine�if�the�device�trusts�the�pc�app�Mobile�apps§ MITM�in�all�communications

§ decompile�app,�look�for�“secrets”�Cloud�communications§ how�are�comms authenticated

§ do�mobile�and�devices�share�same�API’s�

§ how�is�a�device�initially�registered

§ are�all�comms secured�

161

VI.�디바이스 보안

MITM: Man in the Middle Attack

Page 162: IoT Introduction and Security

2.5�사물인터넷 보안이슈 ­ 디바이스

Cameras§ D-LINK�DCS-2132L

§ Dropcam Pro

§ Foscam FL9826W

§ WithingsBaby�Monitor

Thermostats§ Hive

§ Honeywell�Lyric

§ Nest�Thermostat

§ Nest�Protect

162

Home�Automation§ Control4�HC-250

§ Lowes�Iris

§ Revolv

§ SmartThings

VI.�디바이스 보안

Page 163: IoT Introduction and Security

2.5�사물인터넷보안이슈­ D-LINK�DCS-2132L

Features§ custom�cleartext UDP�protocol�

§ public�exploits�for�custom�UDP�protocol�

§ management�interface�uses�plain�http (https�is�an�option,�but�not�even�redirected)

§ cloud�can�store�camera�data�

Threats§ backups�contain�cleartext passwords�

§ auto�updates�from�plain�http

§ can�reverse�to�obtain�UDP�protocol�info�

§ app�login�never�times�out�

§ http�by�default�for�cam�communications�

§ no�cert�pinning�

§ signal.us.mydlink.comuses�plain�http�

§ user�can�also�connect�direct�and�bypasscloud�

163

VI.�디바이스 보안

Cert pinning: The Public Key Pinning Extension for HTTP (HPKP) is a security feature that tells a web client to associate a specific cryptographic public key with a certain web server to prevent MITM attacks with forged certificates.

Page 164: IoT Introduction and Security

2.5�사물인터넷보안이슈­ D-LINK�DCS-2132L

Metasploit§ dlink_dcp_command_exec

164

VI.�디바이스 보안

Page 165: IoT Introduction and Security

2.5�사물인터넷보안이슈­ D-LINK�DCS-2132L

165

Password 임의로 설정

VI.�디바이스 보안

Page 166: IoT Introduction and Security

2.5�사물인터넷보안이슈­ D-LINK�DCS-2132L

ssh 를통해접속

166

VI.�디바이스 보안

Page 167: IoT Introduction and Security

2.5�사물인터넷보안이슈­ D-LINK�DCS-2132L

set�bootargs mem=80M�console=ttyAMA0,115200� root=/dev/mtdblock4� rorootfstype=jffs2� init=/bin/sh sf�probe�0;sf�read�0x82000000� $(loadbootaddr)�$(loadbootsize);bootm 0x82000000�

167

cat /etc/passwd

VI.�디바이스 보안

Page 168: IoT Introduction and Security

2.5�사물인터넷 보안이슈 ­ Dropcam Pro

Features§ built�on�top�of�the�Ambarella dev kit�

§ generally�actually�quite�secure�

§ login�creds stored�in�keychain�

§ no�SSL�cert�pinning

§ SSL�comms only�

§ all�SSL�certs�properly�checked�

Threats§ exposed�serial�port

§ older�versions�vulnerable�to�DLL�hijacking�

§ rwe permissions�on�OSX�binaries�

§ video�stored�in�cloud�only�(no�local�recording)�

168

VI.�디바이스 보안

Page 169: IoT Introduction and Security

2.5�사물인터넷 보안이슈 ­ Dropcam Pro

Serial�console

169

>console=ttyS0 ubi.mtd=lnx root=ubi0:rootfs rwrootfstype=ubifs init=/linuxrc>boot console=ttyS0 ubi.mtd=lnx root=ubi0:rootfs rw rootfstype=ubifs init=/bin/sh

Transmitting a newline immediately upon powering the device

VI.�디바이스 보안

Page 170: IoT Introduction and Security

2.5�사물인터넷 보안이슈 ­ Control4�HC-250

Features§ no�network�controls

§ “backdoor”�mostly�gone

§ only�decent�if�firewalled

§ filesystem mostly�stored�on�SD�card�

Threats§ default�root�password

§ Webserver

§ Remote�shell

170

VI.�디바이스 보안

Page 171: IoT Introduction and Security

2.5�사물인터넷 보안이슈 ­ Control4�HC-250

Attack�Target§ Custom�console�­ port�5800

• Ncat can�be�used�to�access� to�the�device

§ Webserver

171

VI.�디바이스 보안

Page 172: IoT Introduction and Security

2.5�사물인터넷 보안이슈 ­ Control4�HC-250

Approaches§ can’t�drop�to�uboot

§ boot�to�shell�

§ login�with�default• root�

• password:t0talc0ntr0l4!�

172

VI.�디바이스 보안

Page 173: IoT Introduction and Security

2.5�사물인터넷 보안이슈 ­ SmartThings

Features§ no�obvious�serial�console

§ PIC�programming�port�locked

§ telnet�server�accessible�(fixed?)

§ old�versions�did�not�verify�SSL�certs�seems�quite�locked�down�

Threats§ api keys�exposed

§ custom�protocol�wrapped�in�SSL�• someone� should�reverse�engineer� it�

173

VI.�디바이스 보안

Page 174: IoT Introduction and Security

2.5�사물인터넷 보안이슈 ­ Hive

Features§ no�cert�pinning

§ mix�of�http�and�https�content.�

§ comms to�alertme.com appear�properly�encrypted.�

§ on�device�references�to�test�instances�

Approach§ Firstly,�access�to�serial�mode

• user:�root�

• password:�<blank>�

174

VI.�디바이스 보안

Page 175: IoT Introduction and Security

2.5�사물인터넷 보안이슈 ­ Hive

115200�baud

175

VI.�디바이스 보안

Page 176: IoT Introduction and Security

2.5�사물인터넷 보안이슈 ­ Nest�Thermostat

Features§ linux based

§ can�be�rooted�via�usb some�mystery�usb ports�

§ overall�quite�secure�

§ no�cert�pinning

§ credentials�not�stored�in�keychain�

§ https�used�for�comms

Threats§ weather�data�used�http,�not�https�

§ Firmware�integrity�is�not�verified�on�boot�time

176

VI.�디바이스 보안

Page 177: IoT Introduction and Security

2.5�사물인터넷 보안이슈 ­ Nest�Thermostat

Approaches§ Serial�mode�can�be�accessed.

§ gtvhacker (now�exploiteers)�have great�tools(NESTDFUAttack)�to�root�.• https://github.com/gtvhacker/NestDFUAttack

§ no�fcc id�printed�on device,�weird.�• ZQAT20�

177

VI.�디바이스 보안

Page 178: IoT Introduction and Security

2.5�사물인터넷 보안이슈 ­ Nest�Protect

Features§ usb port�can�act�as�mass�storage�

§ probably�FreeRTOS�

§ 6�digit�pairing�codes�

§ “Nest�Weave”�UDP�port�11095�

§ Acts�as�Wifi�AP�during�pairing�

§ no�cert�pinning�

§ credentials�not�stored�in�keychain�

§ https�used�for�comms�

§ “weave”�protocol�during�pairing�

Threats§ weather�data�used�http,�not�https�

§ likely�a�2.2v�serial�port�

178

VI.�디바이스 보안

Page 179: IoT Introduction and Security

SPN�VS�ARX

179

SPN�(Substitution�Permutation�Network)

§ S-Box:�substitutes� a�small�block�of�bits

§ P-Box:�permutes� the�all�bits�

§ Ex)�AES,�ARIA

ARX�(Addition,�Rotation,�eXclusive-or)

§ Modular�addition,� Rotation�with�fixed�rotation�amounts,�XOR

§ 하드웨어/소프트웨어에서 상대적으로SPN에 비해빠르고 적은 리소스를 차지

§ Constant� time�연산이 가능하여timing�attack에 강인함

§ Ex)�SPECK,�SIMON,� LEA

https://en.wikipedia.org/wiki/Substitution-permutation_network

II.�사물인터넷 경량 암호 기술

Page 180: IoT Introduction and Security

경량대칭키 암호기술 ­ SPN�Variant

180

AES�(AES�conference’98에서제안)§ Block�size�/�key�size�(128-bit� /�128,�192,�256-bit)

§ 8-bit�word를 기준으로 설계됨,�32-bit의 경우 T-table을 통해 성능 향상이 가능

§ 하지만 cache�attack과 같은메모리 timing�분석에 취약함

§ MixColumn의 곱셈 연산의 경우 left�shift와 xor 연산을 통해 구현

§ SubBytes는 사전 테이블에 대한 접근을 통해 구현

AES�연산및 Round�함수구조

II.�사물인터넷 경량 암호 기술

Page 181: IoT Introduction and Security

경량대칭키 암호기술 ­ SPN�Variant

181

ARIA�(2004년국가표준㉿지정)§ Block�size�/�key�size�(128-bit� /�128,�192,�256-bit)

§ 라운드 수 12/14/16

§ 치환계층:�2종의 8-bit�S-box와 그 역변환으로 구성

§ 확산계층:�16x16� involution�이진 행렬을 사용한 확산 함수로 구성

§ 라운드 키 덧셈:�128비트 키와 XOR연산 수행

§ AES와 유사하게 T테이블을 통해 구현 가능

II.�사물인터넷 경량 암호 기술

Page 182: IoT Introduction and Security

182

경량대칭키 암호기술 ­ SPN�Variant

SEED�(1999년정보통신단체표준(TTA)으로제정)§ 128비트 키를 지원하는 SEED�128가 1999년에 개발

§ 256비트 키를 지원하는 SEED�256이 2009년에 개발

§ Block�size�/�key�size�(128-bit� /�128,�256-bit)

§ 라운드 수 16�/�24

§ F함수:�64비트 Feistel 형태로 구성

§ G함수:�S-box와 메시지 permutation으로 구성

II.�사물인터넷 경량 암호 기술

Page 183: IoT Introduction and Security

경량대칭키 암호기술 ­ ARX�Variant

183

HIGHT�(CHES’06에서제안)§ Block�size�/�key�size�(64-bit� /�128-bit)

§ Addition,� Rotation,�eXclusive-or� (ARX)�기반 암호화

§ Feistel 구조를 가지며 Whitening�연산이 수행됨

§ 𝑮𝑭(𝟐𝟖)상에서의 덧셈과 뺼셈 그리고 xor,�rotation�연산으로 구성됨

§ F0와 F1는 xor와 3개의 다른 rotation으로 구성됨

§ Whitening�키는 마스터 키에서 8�Bytes를 취함

HIGHT�Round�연산

II.�사물인터넷 경량 암호 기술

Page 184: IoT Introduction and Security

경량대칭키 암호기술 ­ ARX�Variant

184

SIMON�/�SPECK�(NSA�에서2013년에제안)§ Feistel 구조를 따라 설계됨

§ SIMON의 경우 rotation(S)과 and 그리고 xor 연산으로 구성됨

§ SPECK의 경우 rotation(S)과 addition 그리고 xor 연산으로 구성됨

§ 기존의 대칭키 암호화와 달리 다양한 block�size와 key�size를 제공

SIMON�Round�연산 SPECK�Round�연산

Block�및Key�크기

II.�사물인터넷 경량 암호 기술

Page 185: IoT Introduction and Security

경량대칭키 암호기술 ­ ARX�Variant

185

LEA�(NSRI�에서2013년도에제안)§ ARX�기반 대칭키 암호화 (Addition,� Rotation,�eXclusive-or)

§ 32-bit�wise�word�size

§ Inner�round�연산은 동일하며 128-,�192-,�256-bit�암호화 연산을 위해 Round�함수는24/28/32회씩 각각 수행됨

LEA�Round�연산

II.�사물인터넷 경량 암호 기술

Page 186: IoT Introduction and Security

4bit�Micro-Controller�개발환경

EPSON�S/W�시뮬레이터(개발도구)§ EPSON�4-bit�Assembly�언어 기반 소스 개발

§ 소스 코드의 Cycle�Count,�Code�size�정보 및 레지스터 정보 제공

§ Window�7,�32-bit�환경에서의 실시간 디버깅 기능 제공

EPSON�In-Circuit�Emulator(ICE)§ FPGA�기반 In-Circuit� Emulator

§ 평가보드에 소스 포팅 이전에 소스의 정상 동작확인 기능 제공

EPSON�S5U1C6F016T1�평가보드특징§ 32.768kHz�혹은 4MHz로 동작

§ Usb-Serial� on�Board�Writer�및 ICE와 USB로 연결되어 구현 코드 컴파일/빌드

§ LCD,�온/습도 센서등의 기능을 갖춘 Evaluation� Board�활용

186

II.�사물인터넷 경량 암호 기술

Page 187: IoT Introduction and Security

4bit�Micro-Controller�ARX�연산구현

EPSON�S5U1C6F016T1상에서의데이터메모리저장/로드§ 16-bit�레지스터인 X,�Y를 이용하여 해당 레지스터의 값을 이용하여 메모리 주소 접근 방식

§ X,�Y�레지스터는 각각 8-bit�레지스터 XH와 XL,�YH,�YL로 구성

§ X,�Y�레지스터 값을이용하여 8-bit�혹은 4-bit�크기의데이터 로드 및 저장 기능 제공

187

Mnemonic Operation Cycle

LD %A,[%X] Aß[X] 1

%A,[%X]+ Aß[X]XßX+1

1

%A,%B AßB 1

%A,%F AßF 1

[%X]+,%A [X]ßA, XßX+1

1

[%X]+,%B [X]ßB, XßX+1

1

[%X]+,imm4 [X]ßimm4, XßX+1

1

%F,%A FßA 1

%F,imm4 Fßimm4 1

Mnemonic Operation Cycle

LDB

%BA,imm8 BAßimm8 1

%BA,[%X]+ Aß[X], Bß[X+1],XßX+2

2

%XL,%BA XLßBA 1

%XL,imm8 XLßimm8 1

%XH,%BA XHßBA 1

%EXT,imm8 XHßimm8Or

YHßimm8

1

LDB %EXT,0x05LDB %XL,0x00LD [%X]+,0xF

LDB %XL,0x00LD %A,[%X]

LDB %BA,[%X]+

LDB %EXT,0x05LDB %XL,0x00LDB [%X]+,0xFF

4-bit�데이터메모리저장

8-bit�데이터메모리저장

4-bit�메모리 데이터로드

8-bit�메모리 데이터로드

II.�사물인터넷 경량 암호 기술

Page 188: IoT Introduction and Security

4bit�Micro-Controller�ARX�연산구현

EPSON�S5U1C6F016T1상에서의Addition�연산§ ADC�명령어:�Addtion with�carry�연산 지원

§ 4-bit씩 나누어 ADC�명령어를 이용한 연산 수행

§ 4-bit�레지스터 A,�B�혹은 4-bit�immediate�값을이용하여 구현(1cycle�소모)

188

Mnemonic Operation Cycle

ADC

%A,%A AßA+A+C 1

%A,%B AßA+B+C 1

%A,imm4 AßA+imm4+C 1

%A,[%X] AßA+[X]+C 1

%A,[%X]+ AßA+[X]+C,X<-X+1

1

[%X],%A [X]ß[X]+A+C 2

[%X],%B [X]ß[X]+B+C 2

[%X],imm4 [X]ß[X]+imm4+C 2

[%X]+,%A [X]ß[X]+A+C,XßX+1

2

[%X]+,%B [X]ß[X]+B+C,XßX+1

2

[%X]+,imm4 [X]ß[X]+imm4+C,XßX+1

2

II.�사물인터넷 경량 암호 기술

Page 189: IoT Introduction and Security

4bit�Micro-Controller�ARX�연산구현

EPSON�S5U1C6F016T1상에서의Rotation�연산관련명령어/기능§ 4-bit단위의 1-bit�단위의 SLL(shift� left),�SRL(shift� right)�명령어를 이용한 연산 수행

§ Shift연산을 통해,�나오는 1-bit는 Flag�register의 C에 해당하는 bit에 setting

§ Flag�register의 경우,�LD�%A,%F�연산을 통해,�레지스터 A로 로드후, 사용 가능

§ 2-bit�이상에 대한 Rotation연산의 경우,�1-bit�Rotation연산에 대해,�반복 수행필요

189

Mnemonic Operation Cycle

SLL %A A(CßD3ßD2ßD1ßD0ß0) 1

%B B(CßD3ßD2ßD1ßD0ß0) 1

[%X] [X](CßD3ßD2ßD1ßD0ß0) 2

[%X]+ [X](CßD3ßD2ßD1ßD0ß0),XßX+1

2

[%Y] [Y](CßD3ßD2ßD1ßD0ß0) 2

[%Y]+ [Y](CßD3ßD2ßD1ßD0ß0),YßY+1

2

Mnemonic Operation Cycle

SRL %A A(0àD3àD2àD1àD0àC) 1

%B B(0àD3àD2àD1àD0àC) 1

[%X] [X](0àD3àD2àD1àD0àC) 2

[%X]+ [X](0àD3àD2àD1àD0àC),XßX+1

2

[%Y] [Y](0àD3àD2àD1àD0àC) 2

[%Y]+ [Y](0àD3àD2àD1àD0àC),YßY+1

2

II.�사물인터넷 경량 암호 기술

Page 190: IoT Introduction and Security

4bit�Micro-Controller�ARX�연산구현

EPSON�S5U1C6F016T1상에서의Rotation�Left�연산§ 4-bit단위의 1-bit�단위의 SLL(shift� left),�SRL(shift� right)�명령어를 이용한 연산 수행

§ Shift연산을 통해,�나오는 1-bit는 Flag�register의 C에 해당하는 bit에 setting

§ Flag�register의 경우,�LD�%A,%F�연산을 통해,�레지스터A로 로드하여야만 사용 가능

§ SRL(Shift� right)명령어 1회 수행을 통한 C값 위치 설정 후,�XOR�연산

EPSON�S5U1C6F016T1상에서의Rotation�Right�연산§ 4-bit단위의 1-bit�단위의 SLL(shift� left),�SRL(shift� right)�명령어를 이용한 연산 수행

§ SRL(Shift� right)명령어 1회,�SLL(Shift� left)명령어 3회 수행을 통한 C값 위치 설정 후,�XOR�연산

190

SLL %APUSH %A

LD %A,%FSRL %ASLL %B

XOR %A,%B

SRL %APUSH %A

LD %A,%FSRL %ASLL %ASLL %ASLL %A

SRL %B

XOR %A,%B

Rotation�Left�연산 Rotation�Right�연산

II.�사물인터넷 경량 암호 기술

Page 191: IoT Introduction and Security

4bit�Micro-Controller�ARX�연산구현

EPSON�S5U1C6F016T1상에서의XOR�연산§ 4-bit씩 데이터를 나누어 XOR�명령어를 이용한 연산 수행

§ 4-bit�레지스터 A,B�혹은 4-bit�immediate�값을 사용할 경우,�1cycle�소모

§ 16-bit�크기의 X,Y레지스터 값에 대한 4-bit�XOR�연산 수행가능

§ 16-bit�크기의 X,Y레지스터 값을 이용할 경우,�2cycles�소모

191

Mnemonic Operation Cycle

XOR

%A,%A AßA⊕A 1

%A,%B AßA⊕B 1

%A,imm4 AßA⊕imm4 1

%A,[%X] AßA⊕[X] 1

%A,[%X]+ AßA⊕[X],X<-X+1

1

[%X],%A [X]ß[X]⊕A 2

[%X],%B [X]ß[X]⊕B 2

[%X],imm4 [X]ß[X]⊕imm4 2

[%X]+,%A [X]ß[X]⊕A,XßX+1

2

[%X]+,%B [X]ß[X]⊕B,XßX+1

2

[%X]+,imm4 [X]ß[X]⊕imm4,XßX+1

2

II.�사물인터넷 경량 암호 기술

Page 192: IoT Introduction and Security

4bit�Micro-Controller�ARX�연산구현

EPSON�S5U1C6F016T1상에서의 ARX�기반경량암호구현시고려사항(1/2)§ 데이터를 Stack에 저장 시,�MSB와 LSB의 순서를 유지하는 것이 중요(Addition�연산 시)

§ Block의 단위가 8-bit�이상인 경우,�Stack에 저장하는 방식보다 메모리에 저장하는 방식이효율이 높음

§ 데이터의 메모리 저장 시,�8-bit�단위의 저장이 효율적(코드 크기 측면)

§ Addition�연산의 경우,�4-bit�단위의메모리 데이터 로드가 효율적(순서:�LSBàMSB)

§ Rotation�연산의 경우,�Right에 비해 Left�연산이 효율적(속도,�코드 크기 측면)

192

LD %A,0x1LD %B,0xFLD [%X]+,%ALD [%X]+,%B

LD %A,0x1LD %B,0xFLDB [%X]+,%BA

4-bit�단위데이터저장

8-bit�단위데이터저장

LD %A,%FSRL %A

LD %A,%FSRL %ASLL %ASLL %ASLL %A

Rotation�Left�연산 Rotation�Right�연산

II.�사물인터넷 경량 암호 기술

Page 193: IoT Introduction and Security

4bit�Micro-Controller�ARX�연산구현

EPSON�S5U1C6F016T1상에서의 ARX�기반경량암호구현시고려사항(2/2)§ 메모리에 8-bit�단위의 immediate�값을 설정 시,�X�레지스터만 사용 가능

§ X,�Y�레지스터 값설정 시,�EXT�레지스터를 이용 방식이 효율적(속도,�코드 크기 측면)

§ 함수 호출 시,�호출 depth는 1이므로 호출된 함수 내에서 다른함수 호출이 안됨

§ 구현 시,�PC(Program�Counter)�시작주소는 0x0110로 설정(.org�0x0110)

§ 고속 구현 개발 시,�S1C63계열 program�memory�map�크기 :�851,955�bit�고려 필요

§ 구현 개발 시,�data�memory�영역과 크기(Data�area:�257,020bit) 고려

193

Mnemonic Operation Cycle

LDB [%X]+,%BA [X]ßA, [X+1] ß B, X ß X+2 2

[%X]+,imm8 [X] ß i3~0, [X+1] ß i7~4, X ß X+2 2

[%Y]+,%BA [Y] ß A, [Y+1] ß B, Y ß Y+2 2

LDB %BA, imm8_1LDB %XH, %BALDB %XL, imm8_2

LDB %EXT,imm8_1LDB %XL, imm8_2

BA�레지스터이용방식 EXT�레지스터이용방식

II.�사물인터넷 경량 암호 기술

Page 194: IoT Introduction and Security

4bit�Micro-Controller�소비전력측정

EPSON�S5U1C6F016T1상에서의암호연산소비전력측정§ EPSON�S5U1C6F016T1� 동작 주파수(최대):�4MHz

§ EPSON�S5U1C6F016T1� 동작 전압:�3V

§ EPSON�S5U1C6F016T1� 동작 전류:�약 3.5mA

§ 소비전력 측정:�전압*전류*(cycles*2)/동작주파수

§ 소비전력 측정 공식을 통해,�소비전력에 대한 예측치를 구할 수 있음

194

II.�사물인터넷 경량 암호 기술

Page 195: IoT Introduction and Security

4bit�Micro-Controller�AES�구현동향

EPSON�S5U1C6F016T1상에서의AES�구현

195

AES-128 AES-192 AES-256

Naive Mem opt Speed opt. Naive Mem opt. Speed opt. Naive Mem opt. Speed opt

msec(@4MHz) 4.41 4.33 3.44 5.29 5.22 4.13 6.24 6.19 4.86

II.�사물인터넷 경량 암호 기술

Page 196: IoT Introduction and Security

4bit�Micro-Controller�SIMON32/64�구현

EPSON�S5U1C6F016T1상에서의SIMON32/64�암호구현§ SIMON32/64의 round�수:�32

§ For-loop와 함수호출 기반의 구현

§ 8-bit�Rotation�Left 연산의 경우,�4-bit�단위의 데이터로드 순서 변경으로 구현

§ 코드 크기:�11,799�bytes

196

key�expansion Encryption

cycles 12,106 7,758

cycles/byte 6,053 1,939.5

μJ/block(@4MHz) 32.035 10.26

msec(@4MHz)

3�msec 1.9�msec

II.�사물인터넷 경량 암호 기술

Page 197: IoT Introduction and Security

대칭키암호화 성능비교

197

AVR

Cipher Code [B] RAM [B] Time [C/B]

AES 1410 79 198.4

Speck 666 54 203.2

Simon 772 62 333.9

Fantomas 2496 108 369.9

Chaskey 2886 90 390.4

HIGHT 5738 58 397.8

Robin 2530 108 488.3

RC5 1712 58 528.1

LBlock 8456 55 645.4

PRINCE 11382 94 841.8

PRESENT 1416 54 952.4

TWINE 1528 64 1356.3

Piccolo 1298 70 1609.1

LED 2548 267 8441.3

Source: https://www.cryptolux.org/index.php/FELICS_Block_Ciphers_Brief_Results

II.�사물인터넷 경량 암호 기술

Page 198: IoT Introduction and Security

대칭키암호화 성능비교

198

Source: https://www.cryptolux.org/index.php/FELICS_Block_Ciphers_Brief_Results

MSP

Cipher Code [B] RAM [B] Time [C/B]

Chaskey 3234 86 132.2

AES 8844 348 178.9 Fantomas 1920 78 227.9 Robin 1942 80 308.4 Speck 618 58 378.4 Simon 878 84 603.0 PRESENT 1244 58 764.1 RC5 2978 50 900.6 LBlock 10556 64 950.8 HIGHT 15090 64 1237.3

PRINCE 15728 76 1320.3

Piccolo 966 70 1340.5 TWINE 1922 168 1496.1

LED 4422 104 9270.9

II.�사물인터넷 경량 암호 기술

Page 199: IoT Introduction and Security

대칭키암호화 성능비교

199

Source: https://www.cryptolux.org/index.php/FELICS_Block_Ciphers_Brief_Results

ARM

Cipher Code [B] RAM [B] Time [C/B]

Chaskey 648 148 16.7 Speck 560 120 57.8

Simon 648 128 87.9

RC5 1592 124 89.1 AES 7332 216 151.3

Fantomas 2060 1208 220.9 Robin 2128 1212 325.1 HIGHT 6968 152 367.4 LBlock 7712 304 460.9 PRINCE 13392 352 737.3 TWINE 1228 180 981.4 PRESENT 3568 2332 1049.1 Piccolo 988 184 1151.1 LED 2212 392 2199.7

II.�사물인터넷 경량 암호 기술

Page 200: IoT Introduction and Security

대칭키암호화 성능비교

200

암호화(C/B) LEA SEED HIGHT ARIA SPECK SIMON AES

128-bit 169.2 373.2 159.2 1314 143 337 124.5

192-bit 224.6 - - 1482 147 339 -

256-bit 256.1 - - 1658 151 357 -

구현언어 ASM ASM ASM C ASM ASM ASM

성능비교§ 8-bit�AVR�보드 상에서의 구현 결과

§ 구현환경:�ATmega128,� AVR�studio�6.2

II.�사물인터넷 경량 암호 기술

Page 201: IoT Introduction and Security

대칭키암호화 성능비교

201

암호화(C/B) LEA SEED HIGHT ARIA SPECK SIMON AES

128-bit 157.6 - 153.7 - 101 379 132

192-bit 176.4 - - - - - -

256-bit 201.1 - - - - - -

구현언어 ASM - C - ASM ASM ASM

성능비교§ 16-bit�MSP�보드 상에서의 구현 결과

§ 구현환경:�MSP430,� IAR�STUDIO

II.�사물인터넷 경량 암호 기술

Page 202: IoT Introduction and Security

대칭키암호화 성능비교

202

암호화(C/B) LEA SEED HIGHT ARIA SPECK SIMON AES

128-bit 17.3 - - - - - 34

192-bit 21.7 - - - - - -

256-bit 24.7 - - - - - -

구현언어 ASM - - - - - ASM

성능비교§ 32-bit�ARM�보드 상에서의 구현 결과

§ 구현환경:�ARM

II.�사물인터넷 경량 암호 기술

Page 203: IoT Introduction and Security

경량공개키 암호기술

203

타원곡선암호화(ECC)�구현 ­결과§ 그룹연산 및 프로토콜 수행 결과 (8MHz,�8-bit�프로세서,�단위:�second)�

II.�사물인터넷 경량 암호 기술

Page 204: IoT Introduction and Security

I.�사물인터넷과 보안

204

1. OneM2M�개요2. OneM2M�구현 사례3. OneM2M�보안

Page 205: IoT Introduction and Security

oneM2M 기술은다양한 제품간연결성을바탕으로새로운제품및서비스로 손쉽게확장가능

3.1�OneM2M�개요

WLAN

PAN(Bluetooth)

Mobile Network(LTE)WLAN/ZigBee

“내손안의우리집” “즐겁고편한운전환경”“편리한건강관리”

Smart Home Smart CarHealthcare

Common Service Layer

“플랫폼공통화à고객의 가치창조하는새로운 M2M 서비스창출가능”

Module Module Module Module Module Module

Module

Module

Module

ModuleModule

Module

Module

Module

Module

I.�사물인터넷과 보안

Page 206: IoT Introduction and Security

oneM2M Common Service Function oneM2M 핵심요소기술

스마트폰스마트가전

Access Networks (2G/3G/LTE/WiFi/ZigBee)

Common Service Functions

스마트그리드

헬스케어스마트홈

보안

스마트카

자동차센서

식별체계DeliveryHandling

자원탐색 데이터관리 그룹관리

위치정보 네트워크연동 장치관리

데이터서비스

부가서비스

네트워크서비스

• 데이터탐색/저장/접근제어기술• 데이터분석기술 (Big Data)

• 위치정보 제공기술• 원격장치 관리기술

• 액세스네트워크 (3GPP) 연동 기술• QoS, Multicast/Broadcast 제어기술

공통서비스 • 어플리케이션보안성제공• 글로벌식별체계 및 Delivery Handling

Application

M2M서비스플랫폼

AccessNetwork

Device/Module

M2M 주요서비스

• 스마트홈, 스마트카• 스마트그리드, 헬스케어

WAN / HAN

• Cellular Network (2G / 3G / LTE)• Wi-Fi / ZigBee / Bluetooth

M2M Device/Gateway

• Smart TV, Smart Phone• Smart Meter, Health Sensor• Smart Gateway

3.1�OneM2M�개요I.�사물인터넷과 보안

Page 207: IoT Introduction and Security

3.1�OneM2M�개요

다른그룹연합§ 올조인(Alljoyn)은 퀄컴이 처음 개발해 2011년 바르셀로나에서 열린 모바일 월드콩크레스(Mobile�World�Congress)에서 처음 공개한 오픈소스 프로토콜– 퀄컴은 2013년 12월올조인의소스 코드를리눅스재단에이관

– 그리고퀄컴과 리눅스재단은시스코,�마이크로소프트,�LG,�HTC�등이참가하는 올신얼라이언스(AllSeen Aliance)를 결성

– 올조인은디바이스를 와이파이네트워크에연결해유지하는전체과정에필요한 툴을제공

– 제조업체는올조인을 바탕으로디바이스를와이파이 네트워크에배치하고제어 및알림서비스기능을추가시키는 맞춤형앱을개발가능

§ 네스트가 Thread를 발표하기 1주일 전 인텔은 아트멜,�델,�브로드컴,�삼성,�윈드리버가참여하는 오픈 인터커넥트 콘소시움(OIC) 결성을 발표– 퀄컴과경쟁을 하고오픈소스공동체와의협력을 통해사물인터넷표준개발활동을 해나가고있음

§ 애플은 세계개발자대회(WWDC)에서 자체 스마트홈 플랫폼인홈킷(HomeKit)을 발표하며 시장 진출을 선언– IoT를 대상으로하는 독자표준을개발할것으로 보임

– 모바일운영시스템으로 스마트가전과피트니스 디바이스를제어하는신기능을선보임

207

Ref: http://www.ciokorea.com/news/21750?page=0,0

올조인에서 제공하는 Bus 통신을 통한 사물 간 연결

홈킷을 통한 안전하고편리한 홈자동화 실현

I.�사물인터넷과 보안

Page 208: IoT Introduction and Security

3.1�OneM2M�개요 - Architecture

oneM2M�구성원및기능적인역할– User/End-User

• M2M�Solution을 사용하는개인또는기업

– Application�Service�Provider• M2M�Application�Service�제공/운영

– M2M�Service�Provider• Application�Service�Provider에게

M2M�Common�Service�제공/운영

– Network�Operator• M2M�Service�Provider에게 기저

네트워크제공(3GPP�등)/운영

208

Page 209: IoT Introduction and Security

3.1�OneM2M�개요 - Architecture

§ Functional�Architecture• Application�Entity�(AE)�

- M2M�서비스를제공하기 위한애플리케이션 기능 로직 (관제/스마트그리드/헬스케어시스템 등)

• Common�Services�Entity�(CSE)- AE가 사용 가능한 12개의공통 서비스기능을제공

• Network�Services�Entity�(NSE)- CSE에게 네트워크서비스 제공 (장치관리,�네트워크서비스 등)

209

AE AE

Mca Mca Mca

Mcc

Mcn Mcn

CSE CSE

NSE NSE

Field Domain Infrastructure Domain

To Infrastructure Domain of other Service Provider

Mcc’

Service Provider

reference point

Mca : M2M communication with AEMccMcnMcc’

서버, 센서, 디바이스 등에올라가는 미들웨어스택

Page 210: IoT Introduction and Security

3.1�OneM2M�개요 - Architecture

§ oneM2M�Node• 4�종류의노드타입

- Infrastructure�Node�(IN)�:�1개의 IN-CSE,�0개이상의 AE�포함

- Middle�Node�(MN)�:�1개의 MN-CSE,�0개이상의 AE

- Application�Service�Node�(ASN)�:�1개의 ASN-CSE,�1개 이상의 AE

- Application�Dedicated�Node�(ADN)�:�0개의 CSE,�1개 이상의AE

210

Infrastructuredomain

Fielddomain

To an Infrastructure Node of other M2M Service Providers

Mca

IN-CSE

InfrastructureNode(IN)

IN-AE

Mca

Mcn

MN-CSE

MiddleNode(MN)

MN-AE

Mca

Mcn

MN-CSE

MiddleNode(MN)

MN-AE

Mca

Mcn

ASN-CSE

ApplicationServiceNode(ASN)

ASN-AE

Mca

McnASN-CSE

ApplicationServiceNode(ASN)

ASN-AE

IN-AE

ADN-AE

ApplicationDedicatedNode(ADN)

ADN-AE

ApplicationDedicatedNode(ADN)

Non-oneM2MDeviceNode

(NoDN)

Non-oneM2MDeviceNode

(NoDN)

Non-oneM2MDeviceNode

(NoDN)

Non-oneM2MDeviceNode

(NoDN)

MccMca

Mcc

Mcc

Mca

Mcc

Mcc

Non-oneM2MDeviceNode

(NoDN)

Link is out of scope Zero or more AEOne or more AE

Mcc’

Mca

Mcn

Gateway

Server

M2M Device

Sensor/Actuator

Page 211: IoT Introduction and Security

3.1�OneM2M�개요 - Architecture

원격조명제어애플리케이션– IN-AE�:원격 조명제어스마트폰 애플리케이션

– IN-CSE�:oneM2M�공통 서비스 플랫폼

– MN-CSE�:�게이트웨이

– MN-AE�:�게이트웨이애플리케이션

– AND-AE�:�조명 (Hue)�

211

Page 212: IoT Introduction and Security

3.1�OneM2M�개요 - Architecture

리소스기반의구조 (Resource�Oriented�Architecture)– 리소스에 대한 Operation(CRUDN)을 통해서 공통 서비스 기능 제공

– Tree 구조

– 고유한 주소(URI)를 이용한 Addressing

– 리소스는 CSE에 저장 (AE의 경우 리소스를 가질 수없음)

– 리소스 구성• 속성(Attribute)� :�리소스자체와관련된정보 저장

• 자식리소스(Child�Resource)�

212

<resourceType>

0..1

0..1

<childResourceType1>

ORName of childResource1 (if fixed)

<childResourceTypeN>

ORName of childResourceN (if fixed)

Name of Resource Specific Attribute1

Name of Resource Specific AttributeN

0..n

0..n

<accessControlPolicy>

1privileges

selfPrivileges

<subscription>0..n

1

기본구조 예제

Page 213: IoT Introduction and Security

3.1�OneM2M�개요 - Architecture

주요리소스

213

Resource 설명

<CSEBase> CSE에 저장되는자원의 Root 자원타입으로서, CSE 정보 저장

<AE> CSE에 등록된AE 정보 저장

<container> CSE 또는 AE에서 생성되는 data instance의 container

<contentInstance> container의 data instance

<accessControlPolicy> 접근권한과 관련된정보 저장

<group> 여러리소스와관련된정보를 통해 리소스그룹화 지원

<subscription> 리소스에 대한구독정보 저장

<delivery> Request 전달 (CES to CSE)

<fanOutPoint> Group 에 해당하는멤버리스트

<latest> 가장 최근 생성된 contentInstance 리소스저장

<locationPolicy> 위치 정보획득및 관리와관련된정책저장

Page 214: IoT Introduction and Security

3.1�OneM2M�개요 - Architecture

주요속성(Attributes)

214

Attribute 설명

resourceType 리소스타입

resourceID 리소스를 유일하게식별할수 있는 ID

resourceName 리소스 이름

parentID 부모 리소스의 ID

creationTime 리소스가 생성된시간

lastModifiedTime 마지막리소스변경 시간

accessControlPolicyIDs accessControlPolicy의 ID List, 리소스와관련된접근제어정책들의 집합

Link Original 리소스와의연결(announce resource의경우사용)

announceTo announced 되어야하는 CSE-ID의목록

Page 215: IoT Introduction and Security

3.1�OneM2M�개요 - Common�Service�Function(CSF)

§ 12가지의oneM2M�공통서비스기능 (Common�Service�Function)• 유스케이스를 통해도출된 공통서비스요구사항을 통해 기능및리소스 정의

• CSE에서 제공되는기능

215

Mca Reference Point

Mcn Reference Point

Underlying Network Service Entity (NSE)

Common Services Entity (CSE)

Mcc Reference Point

Data Management & Repository

Location

Security

Communication Management/

Delivery Handling

Registration

Device Management

Service Charging & Accounting

DiscoveryNetwork Service

Exposure/Service Ex+Triggering

Group Management

Application Entity (AE)

Subscription and Notification

Application and Service Layer Management

Page 216: IoT Introduction and Security

3GNetwork

LocalNetwork

3.1�OneM2M�개요 - Common�Service�Function(CSF)

§ Registration(REG)�CSF�– 데이터전달/획득 등의 기능을사용하기 위한선행과정

– 등록관계를 통한 oneM2M�엔티티간의 접근및 oneM2M�서비스구성 가능

• AE-CSE,�CSE-CSE�간의 등록

• Registree, Registrar�

216

ADN (Device)

ADN-AE

MN (Gateway)

MN-CSE

IN (Server)

IN-CSERegistration Registration

M2M Customer’s

AERegistration

Registree Registree / Registrar Registrar Registree

Page 217: IoT Introduction and Security

3.1�OneM2M�개요 - Common�Service�Function(CSF)

Registration�Example– CSE-CSE간의 등록

• 상호간의 <remoteCSE> 리소스 생성을통한등록

217

Originator(CSE)

Receiver(CSE)

Registration Request

Registration Response

Create<remoteCSE>

Create<remoteCSE>

CSE Type 정보 (IN-CSE, MN-CSE, ASN-CSE)

해당 CSE에 접근하기 위한네트워크주소(IP 등)

시스템에서 유일하게식별가능한CSE의 ID

remoteCSE의 <CSEBase> 자원의주소

Page 218: IoT Introduction and Security

3.1�OneM2M�개요 - Common�Service�Function(CSF)

§ Communication�Management�and�Delivery�Handling(CMDH)�CSF�• NSE를 통한데이터 전달서비스 (CSE-CSE�/�CSE-AE)

• 메시지를언제 보낼지,�그리고 어떤네트워크연결을활용하여 보낼지를결정

• 메시지버퍼링 및 Aggregation�전달 지원

• Policy�기반의데이터 요청및 전달

• Store-and-Forward�기반의데이터 전달지원

218

Page 219: IoT Introduction and Security

3.1�OneM2M�개요 - Common�Service�Function(CSF)

§ Data�Management�and�Repository(DMR)�CSF– 데이터저장소 기능

• 데이터의분류,�포맷변경,�처리등의기능 제공

• 다양한데이터 저장기능

– 애플리케이션 데이터

– 서비스 구독 정보 데이터

– 과금 데이터

– 위치 정보 데이터

– 디바이스 정보 데이터

– 접근 제어 정책을 통한 데이터 접근• 요청및전달 데이터에대한보관및 처리

– Store-and-Forward

• 빅데이터저장 및처리기능

219

Page 220: IoT Introduction and Security

3.1�OneM2M�개요 - Common�Service�Function(CSF)

§ Device�Management(DMG)�CSF• 디바이스 관리기능

• MN(게이트웨이),�ASN,�ADN(M2M�Device)�등의 디바이스관리

• 펌웨어,�디바이스하드웨어자원(배터리,�메모리등), 디바이스동작 설정,�진단 등에대한관리기능

• 기존기술 활용 (기존의 디바이스관리 프로토콜활용)- BBF�TR-069

- OMA-DM

- OMA-LWM2M�

– oneM2M은 디바이스 관리를위한 리소스타입 및실제장치관리 표준과의Mapping에 관한표준을 정의

220

mc

Mcc

Device in M2M Area Network

mpProxy

Management Client

MN/ASN

CSE

la

Management Adapter

DMG

IN

CSE

ms

DMGManagement

Adapter

Management Proxy

Management Client

Management Server

Out of Scope

Device Management Architecture

Mapping Mapping

기존 기술

BBF : Broadband ForumOMA : Open Mobile Alliance

Page 221: IoT Introduction and Security

3.1�OneM2M�개요 - Common�Service�Function(CSF)

§ Application�and�Service�Layer�Management(ASM)�CSF• AE와 CSE�소프트웨어에 대한관리 기능

• 재설치,�업데이트,�고장탐지,�설정등

• 기능분류- Configuration� Function(CF)

– CSE와 관련된소프트웨어 정보 및 정책 등의설정 기능(e.g.�CMDH�policies�:�데이터요청/전달 등의 정책)

- Software�Management� Fuction(SMF)�– CSE,�AE에 관한 소프트웨어패키지 라이프 사이클관리

(Install,�Installed,�Updating,�Uninstalling,�Uninstalled)

221

Configuration Function (CF)

Application Entity (AE)

Common Services Entity

(CSE)

Software Management

Function (SMF)

Page 222: IoT Introduction and Security

3.1�OneM2M�개요 - Common�Service�Function(CSF)

§ Discovery(DIS)�CSF• oneM2M�리소스 및 Attribute에 담긴서비스 정보에대한검색- 리소스 및 Attribute에 대한 라벨에 담긴 스트링값의 매칭 검색방법

- Filter�Criteria를 통한 필터링 규칙 제공 (생성 시간,�검색 결과의 순서 등)

- AE�또는 CSE로의 검색 요청메시지 전달을 통한 추가적인 검색 지원

222

1. Setup the RETRIEVE operation in the Request

2. Include the conditions in the filter criterion to limit the scope of the discovery results

3. Specify the desired format of returned discovery results

Originator(CSE or AE)

1. Checks the validity of the Request (e.g. format of Filter Criteria)

2. Checks if the request is in accordance with the M2M service subscription

3. May change the filter criteria according to local policies

4. Searches matched resources from the addressed resource hierarchy

5. Limits the discovery result according to DISCOVER privilegesof the discovered resources

6. Limits the discovery result according to the upper limit on the size of the answer

Receiver(Hosting CSE)

Request• To• Filter Criteria• Discovery Result Type

Response• Address list of discovered

resources

1. Discovery Request 생성

3. Filter Criteria를 충족시키는 목록 검색 및 Response 생성

2. Discovery Request 전송

4. Discovery Response 전송

Page 223: IoT Introduction and Security

3.1�OneM2M�개요 - Common�Service�Function(CSF)

Discovery�Example

223

Home

Room1

ACP

Humidity

x1

a1

resourceType = CSEBase

resourceType = container

resourceType = accessControlPolicy

resourceType = container

resourceType = contentInstancecreationTime = “2016-01-12T10:11:20”Content = 34

resourceType = contentInstancecreationTime = “2016-01-12T10:13:20”Content = 42

AE1

Request • fr : AE1• to : /Home/Room1/Humidity• op : Retrieve• fc :

- filterUsage = Discovery- resourceType = contentInstance- createdAfter = 2016-01-06T10:00:00 x1, a1 Retrieve

Page 224: IoT Introduction and Security

3.1�OneM2M�개요 - Common�Service�Function(CSF)

§ Group�Management(GMG)�CSF• 리소스들의 그룹핑을담당,�그룹 리소스에대한 관리기능- Bulk�Operation� :�그룹 리소스에 속한멤버 리소스들에게 동일한기능실행

- 같은접근권한을 가진리소스들이그룹핑*�GMG�CSF가 이를검증하는역할담당

224

2. Bulk Operation1. Request to group resource

3. 결과취합하여응답

Page 225: IoT Introduction and Security

resourceType = fanOutPointmemberList- Bedroom- Living Room

3.1�OneM2M�개요 - Common�Service�Function(CSF)

GMG�Example– 다중데이터/서비스를 단일 그룹으로접근

• 그룹멤버에대한 생성/획득/갱신/삭제/통지등의요청가능

• fanOutPoint 리소스를그룹멤버접근

225

Home

Rooms

fanOutPoint

resourceType = CSEBase

resourceType = group

resourceType = contentInstancecreationTime = “2016-01-12T10:11:20”Content = 34

resourceType = contentInstancecreationTime = “2016-01-12T10:13:20”Content = 42

Bedroom

CSE1Base

container

Temp

Living Room

CSE1Base

container

Temp

2. Fan-out the request

User Application

AE1

1. Retrieve Request

Page 226: IoT Introduction and Security

3.1�OneM2M�개요 - Common�Service�Function(CSF)

§ Subscription�and�Notification(SUB)�CSF• 리소스에 대한구독정보 관리

• 리소스및 Attribute에 대한 업데이트발생,�삭제등해당리소스에대한 트랙킹및관련변화 정보통지역할

• 이벤트가발생했을 때,�Notification�URI�정보를바탕으로 통보

• 싱글/그룹리소스에대한구독 가능

226

create<subscription>

resource

Page 227: IoT Introduction and Security

3.1�OneM2M�개요 - Common�Service�Function(CSF)

Subscription�and�Notification�Example– 구독대상 자원의 child�resource 에 subscription�자원 생성

227

Home

Room1

resourceType = CSEBase

resourceType = container

Receiver(CSE1)

Originator(AE1)

NotificationcurrentTemp = 34

Temp

Value

resourceType = contentInstancecreationTime = “2016-01-12T10:11:20”Content = 33 à 34

Notification Event

resourceType = subscriptionnotificationURI = AE1

TempSub

Page 228: IoT Introduction and Security

3.1�OneM2M�개요 - Common�Service�Function(CSF)

데이터/서비스공지(Announce)– 특정자원이 어디에있는지 다른 CSE에 Link를 생성하여 리소스검색을 지원

– 생성된자원에 직접연결된 Link를 annc�resource�type으로 생성

– 공지를통한 서로다른 애플리케이션간의 자원공유 가능

228

CSE1BaseCSE1

CSE2

AE2

AE1 cont1

CSE2Base

cont1Annc

cont1 resource 를 생성하고CSE2에게공지 요청

CSE2에게 annc resource 생성 요청

labels 정보를통해서 리소스(cont1Annc) discovery

1

2

3

5

• resourceType• resourceID• resourceName• creationTime• lateModifiedTime• labels (WooksHomeTemp)

- tokens use as keys for discovering resources

• link (CSE1Base/cont1)- URI (original resource)

cont1Annc에포함된 cont1 URI를통해 리소스 접근

4

Page 229: IoT Introduction and Security

3.1�OneM2M�개요 - Common�Service�Function(CSF)

§ Location�CSF• AE의 위치정보요청에 대해서 ASN,�MN과 관련된 위치정보를획득하기 위한

방법제공- 위치정보 제공 서버 활용

- 위치수신 하드웨어(GPS) 활용

- 공유 방식의 위치정보 제공(for�constrained� device)

229

공유 방식의 위치정보 제공 방법

자신의 위치 정보 요청

Topology 기반의상대적인 위치정보제공

Page 230: IoT Introduction and Security

3.1�OneM2M�개요 - Common�Service�Function(CSF)

§ Network�Service�Exposure,�Service�Execution�and�Triggering(NSSE)�CSF

• 기저네트워크와 관련된 통신관리- Mcn를 통한 네트워크 액세스 서비스 제공

*�네트워크 기술에대한추상화를통해 직접적인정보관리의간소화

- 디바이스 Triggering,�네트워크를 통한 위치정보 통지,�디바이스 관리 및 Policy�기반네트워크 접근 관리 등의 기능 제공

230

3GPP 네트워크추상화 3GPP 응용Node

3GPP User Equipment(laptop, mobile phone 등)

Page 231: IoT Introduction and Security

3.1�OneM2M�개요 - Common�Service�Function(CSF)

§ Security�CSF• 공통기능으로서의 보안 기능제공

• Security�Functions�Layer

• Secure�Environments�Abstraction�Layer

• Secure�Environments�Layer

231

provides physical access to the Secure Environments

Secret Key, Identifier, etc..

Page 232: IoT Introduction and Security

3.1�OneM2M�개요 - Common�Service�Function(CSF)

§ Service�Charging�and�Accounting�CSF• oneM2M�공통 서비스플랫폼을 통해서제공되는 서비스에대한 과금체계및

방법에관한 기능제공- 가입 기반 과금 방식 :�서비스 프로바이더의 서비스에 가입하여 리소스 접근

- 이벤트기반 과금 방식 :�리소스 접근마다 이벤트가 발생하여 이를 과금에 활용

• 3가지 기능- Charging�Management� Function

*�과금과관련된 정책및설정관리

- Chargning� Triggering� Function*�과금이벤트에 대한처리및정보 기록

- Offline�Charging�Fuction

*�오프라인 과금정보 기록(트랜잭션 단위)

232

Page 233: IoT Introduction and Security

3.1�OneM2M�개요 - Message�Flow

§ AE/CSE�간의리소스접근• Mcc,�Mca 에서의요청/응답 모델기반의 데이터교환- 요청메시지 (Create,�Retrieve,�Update,�Delete,�Notify)

- 응답메시지 (강제 파라미터,�조건부파라미터)

*�강제 파라미터#�Response�Code� :�요청 메시지에 대한 처리 성공,�실패 등의단순한 확인

형태의 값#�Request� Identifier� :�요청 메시지에 포함된 Request�Identifier 값설정을

통해 Originator에서의 요청-응답 메시지 매칭에 사용*�조건부 파라미터

#�Resource�Content� �:�응답 메시지에 포함되는 데이터,�성공과 실패에따른 내용 포함

233

Originator(AE/CSE)

Receiver(AE/CSE)Request Message

Response Message

Mcc, Mca

Resource

성공• Create : 생성된리소스의컨텐츠및 URI 정보• Update : 변경된리소스의컨텐츠정보• Delete : 삭제된리소스 정보• Retrieve : 리소스정보, Discovery 요청인경우

결과로서발견된리소스 URI 리스트 정보실패• 실패원인 및 에러정보

Page 234: IoT Introduction and Security

3.1�OneM2M�개요 - Message�Flow

Request�Message�Parameters– Mandatory

• Operation

• To

• From

• Request� Identifier

– Operation�Dependent• Content

• Resourece�Type

– Optional• Originating�Timestamp

• Response�Type

• Filter�Criteria

• …

• …

234

Page 235: IoT Introduction and Security

3.1�OneM2M�개요 - Message�Flow

Response�Message�Parameters– Mandatory

• Response�Code

• Request� Identifier

– Operation�Dependent• Content

– Optional• To

• From

• Originating�Timestamp

• Status�Code

• …

• …

235

Page 236: IoT Introduction and Security

3.1�OneM2M�개요 - Message�Flow

§ CREATE�요청과응답메시지예제

236

Originator Target CSE

Request (CREATE)• Operation : Create• To : address of the target resource• From : Originator ID• Request Identifier • Content • Resource Type

Response• Response Code• Request Identifier• Content : Address and content of created resource

(if successful)

Page 237: IoT Introduction and Security

3.1�OneM2M�개요 - Message�Flow

Blocking�/�Non-Blocking�Message�Flow– Blocking�Request

• 응답이오기전까지 세션을유지하며대기

– Non-Blocking�Synchronous�Request• 요청에대한확인 메시지만받고세션종료,�요청에대한 처리완료메시지(notification�message)를

받아서확인하는 방식

– Non-Blocking�Asynchronous�Request• 요청에대한확인 메시지만받고세션종료,��요청에 대한확인메시지에포함된 Request�Reference�

정보를받아서 Originator가 처리를완료되었는지를 <request>�리소스에접근하여 확인하는방식

– <request> 리소스 : request에 대한 처리 결과

– Request�Reference� :�<request> 리소스에 대한 정보

237

Page 238: IoT Introduction and Security

3.1�OneM2M�개요 - Message�Flow

Blocking�Request

238

Originator(AE/CSE) Registrar CSE = Transit CSE Hosting CSE

The addressed resource is stored here.

Request (access resource)

Registrar CSE does not have the addressed

resource

Hosting CSE verifies Access Rights

If permitted, the Hosting CSE accesses the

resource and responds with Success or Failure

Response

Request (access resource)

Response

Response

Forward the Request to its registered CSE, which is

the Hosting CSE

접근권한 확인Blocking

Forward

Forward

Page 239: IoT Introduction and Security

3.1�OneM2M�개요 - Message�Flow

Non-Blocking�Request�(Synchronous)

239

Originator Receiver CSE = Hosting CSE

The addressed resource is stored here.

Request (access resource(s))

Response (Req-Ref)

Request (retrieve Req-Ref)

CSE verifies access privileges ,CSE generates response in line with <request> resource

CSE accesses the target Resource (s) and records the

status and result of the operation in the <request>

resource

CSE verifies access priviliges,accepts Request,

creates <request> and provides a reference

Response (result)

요청처리

접근권한 확인Reference Resource 생성

처리완료확인

처리완료확인에대한응답(처리 결과전달)

접근권한 확인

Page 240: IoT Introduction and Security

3.1�OneM2M�개요 - Message�Flow

Non-Blocking�Request�(Asynchronous)

240

Originator(AE) Registrar CSE Hosting CSE

The addressed resource

is stored here .Request (access resourcenotification target(s))

Request accepted, butReceiver – 1 CSE does not

host the target resource

Response (Without Req-Ref)

Request (notification)

Response

Message flow for forwarding request to Hosting CSE

Response

Other NotificationTarget

Response

Request (notification)

Request (notification)

Request operationcompletes

Compose Notificationfor first Receiver

Store Notificationfor re-retargeting

Compose Notificationfor second ReceiverRe-target stored

Notification to AE

Two Notification Target 가정• Hosting CSE의 자원을

2개가 Subscription 하고있는상황

Notification 1 Notification 2

Store-and-Forward

Forward

처리

처리완료 notify

Page 241: IoT Introduction and Security

3.1�OneM2M�개요 - Protocol

§ oneM2M�표준통신프로토콜• Core�Protocol

• oneM2M�에서정의하는통신프로토콜

• Protocol�Binding• oneM2M�프로토콜요소와 Transport�Layer�프로토콜 메시지간의Mapping�정의

– HTTP

– CoAP

– MQTT

– RESTful�스타일의 서비스계층 프로토콜디자인 및서비스계층과 하위계층간의프로토콜 바인딩정의

241

Functional ARC (TS-0001)

Definition

Core Protocol(TS-0004)

Implementation

CoAP/HTTP/MQTT(TS-0008,9,10)

Implementation

기능적 구조 정의 정의된 기능에 대한 데이터 타입 및 표현 방법 서술

Core Protocol 의 Trasport Layer Protocol Mapping

Reuse IP-based existing protocols

Page 242: IoT Introduction and Security

3.1�OneM2M�개요 - Protocol

§ oneM2M�프로토콜구성 :�Primitive�and�Data�Type• Primitive�(기초 요소)- 애플리케이션/공통서비스계층에 있는발신자및수신자로부터의 요청및응답

- Control/Content�Part– Data�Type

• Primitive�parameter�의 데이터타입

242

Originator

Binding Function

Receiver

Binding Function

Request Response RequestResponse

HTTP / CoAP / MQTT

Primitives Primitives

TCP/UDP

HTTP / CoAP / MQTT

TCP/UDP

IP-Based Underlying Network

Page 243: IoT Introduction and Security

3.1�OneM2M�개요 - Protocol

Data�Type– Common�Data�Types

• 기존에많이사용되고 있는 XML�Schema�Language(XSD)�사용

243

데이터타입 설명

xs:string XML에서글자를 표현

xs:boolean 논리적인 참/거짓

xs:decimal 십진수로 표현되는실수를 표현

xs:duration 시간 주기를 표현

Page 244: IoT Introduction and Security

3.1�OneM2M�개요 - Protocol

Data�Type– oneM2M�Simple�Data�Types

• Common�Data�Types�이외에 oneM2M�에서 추가로정의한데이터타입

244

데이터타입 설명

m2m:id onem2M에서사용되는 ID

m2m:acpType AccessControlPolicy identifier와관련된데이터타입

m2m:resourceType

자원의타입과관련된데이터타입1 : accessControlPolicy2 : AE3 : container….

m2m:cseTypeID

<CSEBase>자원의 cseType 속성을위해 사용되는 데이터타입1 : IN-CSE2 : MN-SE3 : ASN-CSE

Page 245: IoT Introduction and Security

3.1�OneM2M�개요 - Protocol

Primitive(Request/Response)�Parameter의 Data�Type

245

Data Types for Request Primitive parameters

Data Types for Response primitive parameters

Page 246: IoT Introduction and Security

3.1�OneM2M�개요 - Protocol

Core�Protocol�Precedure– 발신자측면

• Orig-1.0�

– 요청 Primitive�생성

• Orig-2.0

– 요청 Primitive�전송• Orig-3.0

– 응답 Primitive�대기• Orig-4.0

– 요청 Primitive�모드 확인• Orig-5.0

– Non-Blocking�mode�

– 요청에 대한 확인에 사용되는<request>�리소스 요청

• Orig-6.0

– 전송받은 응답 Primitive�처리

246

Page 247: IoT Introduction and Security

3.1�OneM2M�개요 - Protocol

Core�Protocol�Precedure– 수신자측면

• Recv-1.0�

– 요청 Primitive에 대한유효성 검사(data�type�검사 등)

• Recv-2.0�

– Blocking/Non-Blocking� 구분• Recv-3.0�

– <request>�리소스 생성• Recv-4.0�

– 요청에 대한 ack 응답 primitive�생성• Recv-5.0�

– Recv-4.0에서 생성한 응답 primitive�전송• Recv-6.0�

– 요청에 대한 명령 수행• Recv-7.0

– Recv-6.0의 수행 결과를 <request>�리소스에 갱신

247

Page 248: IoT Introduction and Security

3.1�OneM2M�개요 ­ 부산시 글로벌스마트시티

oneM2M�분석을통해사물인터넷에대한전반적인이해장치관리,�추상화및시맨틱과관련된표준추가분석스마트시티플랫폼및실증서비스분석à oneM2M�표준보안아키텍처및요소기술적용

248

개방형 스마트시티플랫폼 (IN)

CSE

Device ManagementDiscovery Security

Group ManagementRegistration Location

Subscription & Notification

Service Charning & Accounting ……

AE NSE 실증서비스응용 시스템

스마트매장

스마트파킹

스마트횡단보도

Open API(HTTP)

실증서비스 디바이스

실증서비스게이트웨이(MN)

CSE

Discovery

Security

Subscription & Notification

……

AE

HTTPMQTT

Page 249: IoT Introduction and Security

3.2�OCEAN�소개및 현황

249

OCEAN�:�Open�allianCE for�Iot stANdard§ OCEAN�소개

§ 표준기반 사물인터넷 오픈소스 연합체

§ WiFi 연결,�스마트폰 제어

§ IoT 플랫폼,�제품,�서비스의 개발 및 사용화 촉진

§ 글로벌 표준을 기반으로 개발된 오픈소스 공유

§ 기업 및 기관을 대상으로 하는 회원제

§ 오픈소스 라이선스 규정에 따라 자유롭게 상용화 가능

§ 멤버사는 개발된 소스코드 배포 가능

§ 멤버는 3-Clause�BSD�오픈소스 라이선스 규정 적용

§ IPR정책은 참조 표준의 정책 따름

Page 250: IoT Introduction and Security

3.2�OCEAN�소개및 현황

250

OCEAN�:�Open�allianCE for�Iot stANdard§ OCEAN�목적

§ IoT 글로벌 표준을 기반으로 개발된 오픈 소스를 공유

§ 표준기반 IoT 서비스의 조기 개발 및 상용화를 촉진

§ 표준기술을 활용하여 대·중·소 기업간 협력 도모하기 위한 매개체역할을 수행

§ 글로벌 시장에 진출하기 위해 오픈소스 연합체를 유지

§ IoT 산업 활성화

I.�IoT 공통 플랫폼 Mobius�분석

Page 251: IoT Introduction and Security

3.2�OCEAN�소개및 현황

251

OCEAN�:�Open�allianCE for�Iot stANdard§ OCEAN��가입 기업 현황

§ 표준기반 사물인터넷 오픈소스 얼라이언스:�220개 맴버사 가입 (15.10.15�기준)

I.�IoT 공통 플랫폼 Mobius�분석

※�20여기업은로고파일 이상으로 보이지 않음

Page 252: IoT Introduction and Security

3.2�OCEAN�소개및 현황

252

OCEAN�:�Open�allianCE for�Iot stANdard§ OCEAN�추진현황

§ Mobius�Family

I.�IoT 공통 플랫폼 Mobius�분석

Mobius

Java�Spring�framework

Node.js�framework�

Page 253: IoT Introduction and Security

OCEAN�:�Open�allianCE for�Iot stANdard§ OCEAN�추진전략

§ Open source�directions

§ Focus�on�oneM2M� standard

§ Interwroking functions

3.2�OCEAN�소개및 현황

253

I.�IoT 공통 플랫폼 Mobius�분석

Page 254: IoT Introduction and Security

3.2�OCEAN�소개및 현황

254

OCEAN�:�Open�allianCE for�Iot stANdard§ License�정책

§ OCEAN�오픈소스 라이선스

§ 3-clause�BSD-style�라이선스를 기반으로 배포

§ 소스코드 파일에 저작권 헤더를 유지하는 동안 상업용 또는 비상업용시스템에 자유롭게 사용 가능

§ OCEAN기반 오픈 소스를활용하여 개발한 소스코드는 개발자의 것이고 누구와공유할 의무 없음

§ 개발된 소스코드가 OCEAN에 공헌되기를 원한다면 이코드는 OCEAN의라이선스 정책을 따르도록 요구 됨

§ The�full�license�text�(3-clause�BSD)

§ 지식재산권:�관련 표준단체에서 적용하는 IPR�정책 준수

I.�IoT 공통 플랫폼 Mobius�분석

Copyright (c) 20**, X. All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 3. The name of the author may not be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE AUTHOR ̀ `AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

Page 255: IoT Introduction and Security

3.3�oneM2M과Mobius�- Protocol

255

oneM2M�표준통신프로토콜§ Core�Protocol

§ oneM2M�에서 정의하는통신 프로토콜

§ Protocol�Binding

§ oneM2M�프로토콜 요소와 Transport� Layer�프로토콜 메시지 간의 Mapping�정의§ HTTP

§ CoAP

§ MQTT

§ RESTful�스타일의 서비스 계층 프로토콜 디자인 및 서비스 계층과 하위 계층 간의 프로토콜바인딩 정의

I.�IoT 공통 플랫폼 Mobius�분석

Functional ARC (TS-0001)

Definition

Core Protocol(TS-0004)

Implementation

CoAP/HTTP/MQTT(TS-0008,9,10)

Implementation

기능적 구조 정의 정의된 기능에 대한 데이터 타입 및 표현 방법 서술

Core Protocol 의 Trasport Layer Protocol Mapping

Reuse IP-based existing protocols

Page 256: IoT Introduction and Security

3.3�oneM2M과Mobius�- Protocol

256

CoAP :�Constrained�Application�Protocol§ CoAP 소개

§ Open�IETF�Standard

§ 저전력,�고손실 네트워크 및 소용량,�소형 노드에 사용될 수 있는 특수한 웹전송프로토콜

§ 데이터그램 방식 의 트랜스포트 계층 위에서 비동기적으로 전송

§ DTLS�Security

I.�IoT 공통 플랫폼 Mobius�분석

Page 257: IoT Introduction and Security

3.3�oneM2M과Mobius�- Protocol

257

CoAP :�Constrained�Application�Protocol§ CoAP 특징

§ 저전력지향프로토콜

§ Binary�Header

§ UDP�기반의 Request�/�Response�Model§ 센서데이터전달이 목적

§ (제한적)비동기 요청/응답디자인구조

§ Confirmative�Message� :�데이터 송수신시 잃어버린 데이터가 있을 때 알림

§ Non-Confirmative� Message� :�UDP�방식의 메시지

§ Reset�Message� :�약간의 데이터 상실이 있을 때 보내지는 프로토콜,�시간의제약이 존재하므로 구현 시 특정 시간 이내에보냄

§ Ack Message

§ Empty�Message§ RESTful�기반

§ GET,�POST,�PUT,�DELETE의 방식 지원

I.�IoT 공통 플랫폼 Mobius�분석

Page 258: IoT Introduction and Security

3.3�oneM2M과Mobius�- Protocol

258

MQTT:�M2M/IoT connectivity�protocol§ Publish/Subscribe

§ MQTT프로토콜의특징 :�Message�Publishing/Subscribe

§ Publisher와 Subscriber는모두 Broker에 대한 클라이언트로 작동

§ Publisher�:�topic�발행

§ Subscriber�:�topic�구독

§ 하나 이상의 Pub/Sub가 브로커에 연결해서 토픽을 발행/구독

§ 다수의 클라이언트가 하나의 topic�을 구독 가능

I.�IoT 공통 플랫폼 Mobius�분석

Page 259: IoT Introduction and Security

3.3�oneM2M과Mobius�- Protocol

259

MQTT:�M2M/IoT connectivity�protocol§ Topic

§ Pub와 Sub는 토픽을기준으로동작

§ 토픽은 /를이용해계층적으로 구성가능

§ 대량의 센서/기기들을 효과적으로 관리

§ EX)

I.�IoT 공통 플랫폼 Mobius�분석

Page 260: IoT Introduction and Security

3.3�oneM2M과Mobius�- Protocol

260

MQTT:�M2M/IoT connectivity�protocol§ Message�Bus

§ 브로커는메시지 버스에메시지를전송

§ 버스에 Topic을 이름으로 하는채널을만들고클라이언트는 채널로메시지수신

§ EX)

I.�IoT 공통 플랫폼 Mobius�분석

Page 261: IoT Introduction and Security

261

oneM2M�구성원및기능적인역할§ User/End-User

§ M2M�Solution을 사용하는 개인 또는 기업

§ Application�Service�Provider

§ M2M�Application�Service�제공/운영

§ M2M�Service�Provider

§ Application�Service�Provider에게M2M�Common�Service�제공/운영

§ Network�Operator

§ M2M�Service�Provider에게 기저네트워크 제공(3GPP�등)/운영

I.�IoT 공통 플랫폼 Mobius�분석

3.4�oneM2M과Mobius�- Architecture

Page 262: IoT Introduction and Security

262

Functional�Architecture§ Application�Entity�(AE)�

§ M2M�서비스를 제공하기 위한 애플리케이션 기능 로직

§ Common�Services�Entity�(CSE)

§ AE가 사용 가능한 12개의 공통 서비스기능을 제공

§ Network�Services�Entity�(NSE)

§ CSE에게 네트워크 서비스 제공 (장치 관리,�네트워크 서비스 등)

I.�IoT 공통 플랫폼 Mobius�분석

AE AE

Mca Mca Mca

Mcc

Mcn Mcn

CSE CSE

NSE NSE

Field Domain Infrastructure Domain

To Infrastructure Domain of other Service Provider

Mcc’

Service�Provider

reference�point

Mca�:�M2M�communication�with�AE

MccMcnMcc’

서버,�센서,�디바이스등에올라가는미들웨어스택

3.4�oneM2M과Mobius�- Architecture

Page 263: IoT Introduction and Security

263

oneM2M�Node§ Infrastructure�Node�(IN) :�1개의 IN-CSE,�0개이상의 AE�포함

§ Middle�Node�(MN) :�1개의MN-CSE,�0개 이상의AE

§ Application�Service�Node�(ASN)�������:�1개의ASN-CSE,�1개이상의 AE

§ Application�Dedicated�Node�(ADN)�:�0개의 CSE,�1개 이상의AE

I.�IoT 공통 플랫폼 Mobius�분석

Infrastructuredomain

Fielddomain

To an Infrastructure Node of other M2M Service Providers

Mca

IN-CSE

InfrastructureNode(IN)

IN-AE

Mca

Mcn

MN-CSE

MiddleNode(MN)

MN-AE

Mca

Mcn

MN-CSE

MiddleNode(MN)

MN-AE

Mca

Mcn

ASN-CSE

ApplicationServiceNode(ASN)

ASN-AE

Mca

McnASN-CSE

ApplicationServiceNode(ASN)

ASN-AE

IN-AE

ADN-AE

ApplicationDedicatedNode(ADN)

ADN-AE

ApplicationDedicatedNode(ADN)

Non-oneM2MDeviceNode

(NoDN)

Non-oneM2MDeviceNode

(NoDN)

Non-oneM2MDeviceNode

(NoDN)

Non-oneM2MDeviceNode

(NoDN)

MccMca

Mcc

Mcc

Mca

Mcc

Mcc

Non-oneM2MDeviceNode

(NoDN)

Link is out of scope Zero or more AEOne or more AE

Mcc’

Mca

Mcn

Gateway

Server

M2M Device

Sensor/Actuator

3.4�oneM2M과Mobius�- Architecture

Page 264: IoT Introduction and Security

Infrastructuredomain

Fielddomain

To an Infrastructure Node of other M2M Service Providers

Mca

IN-CSE

InfrastructureNode(IN)

IN-AE

Mca

Mcn

MN-CSE

MiddleNode(MN)

MN-AE

Mca

Mcn

MN-CSE

MiddleNode(MN)

MN-AE

Mca

Mcn

ASN-CSE

ApplicationServiceNode(ASN)

ASN-AE

Mca

McnASN-CSE

ApplicationServiceNode(ASN)

ASN-AE

IN-AE

ADN-AE

ApplicationDedicatedNode(ADN)

ADN-AE

ApplicationDedicatedNode(ADN)

Non-oneM2MDeviceNode

(NoDN)

Non-oneM2MDeviceNode

(NoDN)

Non-oneM2MDeviceNode

(NoDN)

Non-oneM2MDeviceNode

(NoDN)

MccMca

Mcc

Mcc

Mca

Mcc

Mcc

Non-oneM2MDeviceNode

(NoDN)

Link is out of scope Zero or more AEOne or more AE

Mcc’

Mca

Mcn

264

oneM2M�Node�와Mobius§ oneM2M�표준에서 요구하는 4종(IN,�MN,�ASN,�ADN�)에 해당하는 오픈소스제공

I.�IoT 공통 플랫폼 Mobius�분석

&Cube:Rosemary

&Cube:Lavander

&Cube:Thyme

3.4�oneM2M과Mobius�- Architecture

Page 265: IoT Introduction and Security

265

oneM2M�Node�와Mobius���§ 제공되는 Open�source

§ IN�(Infrastructure� Node,�서버기능):�Blue�Octopus,�Yellow�Turtle�

§ MN�(Middle�Node,�게이트웨이 기능):�&Cube:Rosemary

§ ASN�(Application�Service�Node,�단말공통 기능):�&Cube:Lavander

§ ADN�(Application�Dedicated�Node,�단말전용 기능):�&Cube:Thyme

I.�IoT 공통 플랫폼 Mobius�분석

3.4�oneM2M과Mobius�- Architecture

Page 266: IoT Introduction and Security

266

I.�IoT 공통 플랫폼 Mobius�분석

리소스기반의구조 (Resource�Oriented�Architecture)§ 리소스에 대한 Operation(CRUDN)을 통해서 공통 서비스 기능 제공

§ Tree�구조

§ 고유한 주소(URI)를 이용한 Addressing

§ 리소스는 CSE에 저장 (AE의 경우 리소스를 가질 수없음)

§ 리소스 구성§ 속성(Attribute)� :�리소스자체와관련된정보 저장

§ 자식리소스(Child�Resource)�

<resourceType>

0..1

0..1

<childResourceType1>

ORName of childResource1 (if fixed)

<childResourceTypeN>

ORName of childResourceN (if fixed)

Name of Resource Specific Attribute1

Name of Resource Specific AttributeN

0..n

0..n

<accessControlPolicy>

1privileges

selfPrivileges

<subscription>0..n

1

기본 구조 예제

3.4�oneM2M과Mobius�- Architecture

Page 267: IoT Introduction and Security

주요리소스

267

Resource 설명

<CSEBase> CSE에 저장되는자원의 Root 자원타입으로서, CSE 정보 저장

<AE> CSE에 등록된AE 정보 저장

<container> CSE 또는 AE에서 생성되는 data instance의 container

<contentInstance> container의 data instance

<accessControlPolicy> 접근권한과 관련된정보 저장

<group> 여러리소스와관련된정보를 통해 리소스그룹화 지원

<subscription> 리소스에 대한구독정보 저장

<delivery> Request 전달 (CES to CSE)

<fanOutPoint> Group 에 해당하는멤버리스트

<latest> 가장 최근 생성된 contentInstance 리소스저장

<locationPolicy> 위치 정보획득및 관리와관련된정책저장

I.�IoT 공통 플랫폼 Mobius�분석

3.4�oneM2M과Mobius�- Architecture

Page 268: IoT Introduction and Security

3.4�oneM2M과Mobius�- Architecture

주요속성(Attributes)

268

Attribute 설명

resourceType 리소스타입

resourceID 리소스를 유일하게식별할수 있는 ID

resourceName 리소스 이름

parentID 부모 리소스의 ID

creationTime 리소스가 생성된시간

lastModifiedTime 마지막리소스변경 시간

accessControlPolicyIDs accessControlPolicy의 ID List, 리소스와관련된접근제어정책들의 집합

Link Original 리소스와의연결(announce resource의경우사용)

announceTo announced 되어야하는 CSE-ID의목록

I.�IoT 공통 플랫폼 Mobius�분석

Page 269: IoT Introduction and Security

3.4�oneM2M과Mobius�- Architecture

oneM2M�in�Mobius�Platform– oneM2M에서 제정된 CSF과 Mobius�에서 지원하는 CSF

– 각 기능을 RESTful�API로 제공 (Resource�Tree�Access)

269

Page 270: IoT Introduction and Security

3.4�oneM2M과Mobius�- Architecture

270

Page 271: IoT Introduction and Security

3.5�Mobius�Source�구조

전체구조– MVC�모델 (DAO�패턴으로 구성)

• Model�:�domain�package�(DAO,�VO)

• View�:�xml/json 으로제공

• Control�:�controller�package�

– Redis에서 MongoDB로 batch를 위한 batch�package

– 다중 프로토콜 지원을 위한 driver�package

– 기타 유틸리티 제공 util package

271

Page 272: IoT Introduction and Security

3.5�Mobius�Source�구조

예상Service�Flow

272

device mobius

사용자등록

contentInstance등록요청contentInstance생성

device

디바이스데이터결과전송

Node�등록요청

Node�생성

contentInstance등록결과반환

Node�등록결과반환

RemoteCSE등록요청

accessControlPolicy생성

remoteCSE등록결과반환

remoteCSE생성

Subscription�등록요청

Subscription�등록결과반환

Subscription�생성

Container�등록요청

Container�생성Container�등록결과반환

디바이스등록

디바이스데이터저장소생성

Push�설정

디바이스데이터전송/�데이터 push

사용자등록

Page 273: IoT Introduction and Security

3.5�Mobius�Source�구조

controller�package�­ UserAction.java�(mca)

– userCreate

– userRetrieve

– userDelete

– deviceUserMappingUpdate

– appUserMappingUpdate

273

pv:�접근제어규칙 집합pvs:�접근제어 규칙집합(self)ty:�resource�typeri:�resource�idrn:�resource�namepi:�parent�id

mobius app

사용자등록

Page 274: IoT Introduction and Security

3.5�Mobius�Source�구조

controller�package�­ NodeAction.java�(mcc)

– nodeCreate

– nodeRetrieve

– nodeDelete

– nodeUpdate

274

ri:�resource�idrn:�resource�nameni:�node�idni:�node�id

device mobius

Node�등록결과반환

Node�등록요청

Node�생성

Page 275: IoT Introduction and Security

3.5�Mobius�Source�구조

controller�package�­ RemoteCSEAction.java�(mcc)

– remoteCSECreate

– remoteCSERetrieve

– remoteCSEDelete

– remoteCSEUpdate

275

acpi:�Access�control�policy�idcb:�CSEBase namenl:�node�link�(remoteCSE ->�node)

cst:�CSE�Type poa:�Control�Access�Type(protocol)csi:�CSE�id

device mobius

remoteCSE등록요청remoteCSE

생성

remoteCSE등록결과반환 (w/dKey)

AccessControlPolicy

생성

Page 276: IoT Introduction and Security

3.5�Mobius�Source�구조

controller�package�­ ContainerAction.java�(mcc)

– ContainerCreate (rc,�Ac,�rAc)

– ContainerRetrieve (rc,�Ac,�rAc)

– ContainerDelete (rc,�Ac,�rAc)

– ContainerUpdate (rc,�Ac,�rAc)

276

containerTypei:�사용자가임의로 정해사용(디바이스를 장애관리해야 하는경우 ‘heartbeat’를입력해 사용

cni:�현재인스턴스 개수cbs:�현재 바이트길이

device mobius

Container�등록결과반환

Container�등록요청

Container�생성

Page 277: IoT Introduction and Security

3.5�Mobius�Source�구조

controller�package�­ SubscriptionAction.java�(mca)

– subscriptionCreate (rc,�Ac,�rAc ,m)

– subscriptionRetrieve (rc,�Ac,�rAc ,m)

– subscriptionDelete (rc,�Ac,�rAc ,m)

– subscriptionUpdate (rc,�Ac,�rAc ,m)

277

mobius app

Subscription�등록요청

Subscription�등록결과반환

Subscription�생성

Page 278: IoT Introduction and Security

3.5�Mobius�Source�구조

controller�package�­ ContentInstanceAction.java�(mcca)

– contentInstanceCreate (rc,�Ac,�rAc)

– contentInstanceRetrieve (rc,�Ac,�rAc)

– contentInstanceDelete (rc,�Ac,�rAc)

– contentInstanceUpdate (rc,�Ac,�rAc)

278

device mobius

contentInstance등록결과반환

contentInstance등록요청contentInstance생성

device

디바이스데이터결과전송

Page 279: IoT Introduction and Security

3.6�&Cube�플랫폼 구조

279

&Cube 정의

IoT 서비스제공을 위해 개방형 IoT 서버플랫폼인 Mobius와연동하는 IoT device를위한플랫폼

사물과 Mobius 플랫폼을 연결하는 중간 매개체

IoT Device

IoTAdaptor

Device Application

&CUBE

TAL MicroServer

Linux OS

ThingManager

ResourceManager

SecurityManager

ApplicationManager

DeviceManager

InteractionManager

Sensors

Actuators

ThingsOpen IoT

ServicePlatform

<Mobius>

IoT Service

IoT Service

IoT Service

Page 280: IoT Introduction and Security

3.6�&Cube�플랫폼 구조

280

&Cube 플랫폼 주요 기능 및 구성

총 6 가지의 Manager로 구성됨

§ Interaction Manager : Mobius 플랫폼과의 통신§ Thing Manager : 사물과의 통신§ Resource Manager : &Cube 플랫폼이 활용하는 리소스 관리§ Application Manager : Device에서 동작하는 응용 어플 관리§ Device Manager : IoT Device 관리§ Security Manager : 보안 관리

ApplicationManager

ResourceManager

SecurityManager

InteractionManager

ThingManager

DeviceManager

&Cube: Core

Page 281: IoT Introduction and Security

3.6�&Cube�플랫폼 구조

281

&Cube : Core별 기능

§ Interaction Manager– 디바이스 등록 및 데이터 업로드, 제어 수신 등 Rest Open API를 활용한 Mobius 연동 기능 수행– 디바이스 등록정보, 제어 수신정보 등을 Resource Manager로 전달하여Resource로 관리– Resource Manager와 연동을 수행

§ Resource Manger– 디바이스 내부 Resource를 관리하는 기능수행– 연결된 사물 및 디바이스 application 등의 데이터또한 Resource로 관리– Resource의 변화에따라필요한 Manager로 데이터또는 요청 전달– 다른 Manager로부터 Resource 요청을받을 시 해당Resource를 전달– 모든 Manager와 연동을 수행

§ Thing Manager– 사물 연결 및 사물에 대한 정보를 관리하는 기능 수행– 사물로부터 올라오는 데이터를 수신하고 사물로 제어를 내려보내는 기능수행– 사물 정보와 데이터는 Resource Manager로 전달하여Resource로 관리– Resource Manager와 연동을 수행

Page 282: IoT Introduction and Security

3.6�&Cube�플랫폼 구조

282

&Cube : Core별 기능

§ Security Manager– Mobius와 연동하기 위한 보안 관련 기능 수행– 디바이스 인증을 위한 인증 토큰 발급 수행– 송수신 데이터 암호화/복호화 기능 수행– Resource Manager와 연동을 수행

§ Device Manger– 모든 Manager를 관리하고 SW업그레이드, 리부팅 등 기능수행– 초기 구동 시각 Manager들을 실행하고 관리하며디바이스 등록요청을 수행– 모든 Manager와 연동을 수행

§ Application Manager– 디바이스 application을 관리하는 기능수행– 사물인터넷 디바이스 전용 응용 application을 다운로드, 실행, 관리– Application 정보를 Resource Manager로 전송– Resource Manager와 연동을 수행함

Page 283: IoT Introduction and Security

3.6�&Cube�플랫폼 구조

283

&Cube 플랫폼 주요 기능 및 구성

IoT Device의 기능에 따라 5가지 버전으로 구성

osemary – 게이트웨이 버전 S/W 플랫폼

avender – 일반 디바이스 버전 S/W 플랫폼

amomile - CoAP기반의 디바이스 버전 S/W 플랫폼

int – 경량 디바이스 버전 S/W 플랫폼

<&Cube 플랫폼버전별연동 구조>

&CUBE:Thyme - Node.js 기반 경량 디바이스 버전 S/W 플랫폼

2015.10.26

Page 284: IoT Introduction and Security

3.6�&Cube�플랫폼 구조

284

&Cube 플랫폼 버전 별 상세 구조

Page 285: IoT Introduction and Security

3.6�&Cube�플랫폼 구조

285

Thing Adaptation S/W 정의

§ 실제 사물(Thing)을 디바이스에 연결하기 위한 S/W로써 OS의 Device Driver 혹은Interface를 통해서 사물과 &Cube간의 연결통로를 만드는역할

§ 사용하고자 하는 사물의 API를 TAS(Thing Adaptation S/W)에서 결정

§ 3가지 Unit으로 구성- Thing Interworking Unit- Data Adaptation Unit- &Cube Interworking Unit

&CubeInterworking

Unit

DataAdaptation

Unit

ThingInterworking

Unit

ThingAdaptationSoftware

&CubeInterworking

Unit

DataAdaptation

Unit

ThingInterworking

Unit

ThingAdaptationSoftware

TAL(Thing Adaptation Layer)

&Cube: Core

Operathing System

Page 286: IoT Introduction and Security

3.6�&Cube�플랫폼 구조

286

TAS 구성 요소

§ Thing Interworking Unit– 연결된 사물 (Thing) 로부터 데이터를 수신하거나 사물로 데이터를 전송하는 기능– 사물 데이터 수신 시 Data Adaptation Unit을호출– Data Adaptation Unit으로부터 사물 제어를 위한 커맨드 수신

§ Data Adaptation Unit– 사물과 &Cube간 데이터를 인식 가능한 형태로 변환하는 기능– Thing Interworking Unit으로부터 사물 데이터를 수신– 사물 데이터를 &Cube가 인식 가능한형태로 변환하고 &Cube Interworking Unit 호출– &Cube Interworking Unit으로부터 사물 제어커맨드 수신– 사물 제어 커맨드를 사물이 인식 가능한형태로 변환하고 Thing Interworking Unit 호출

§ &Cube Interworking Unit– &Cube로 사물 데이터를 전송하고 &Cube로부터 사물 제어 커맨드를 수신하는 기능– 사물 데이터 수신 시 &Cube로 사물 데이터 전송– 사물 제어 커맨드 수신 시 Data Adaptation Unit으로 사물 제어커맨드 전송

&CubeInterworking

Unit

DataAdaptation

Unit

ThingInterworking

Unit

ThingAdaptationSoftware

Page 287: IoT Introduction and Security

3.6�&Cube�플랫폼 구조

287

&Cube 연동 구조

Page 288: IoT Introduction and Security

3.6�&Cube�플랫폼 구조

288

&Cube 연동 구조

AE(&Cube:Lavender)TAS

Smart Socket

Aaaㄴ

Page 289: IoT Introduction and Security

3.7�&Cube�플랫폼 소스분석

289

&Cube 플랫폼 소스 구조

Manger은 다음과 같이 6개로 구성되어 있으며각각 Package로 개발되어 있음.

Main Method의 동작은 Device Manager에서최초구동을 담당하며 각각의 Manager들은

Thread로서 동작

Page 290: IoT Introduction and Security

3.7�&Cube�플랫폼 소스분석

290

AE : onem2M AE ResourceBase64 : base64 En/DecodingContainer : oneM2M container ResourceContentinstance : oneM2M contentInstance resourceCSEBase : oneM2M CSEbase resourceDeviceinfo : oneM2M node/deviceInfo resourceExecinstance : oneM2M mgmtCmd/execInstance resourceFirmware : oneM2M node/firmware resourceLocationPolicy : oneM2M locationPolicy resourceMgmtCmd : oneM2M mgmtCmd resourceSoftware : oneM2M node/software resourceThingASProfile : Thing Adaptation Software's profile

&Cube 플랫폼 소스코드 상세분석

Page 291: IoT Introduction and Security

3.7�&Cube�플랫폼 소스분석

291

TAS 소스 구조

Page 292: IoT Introduction and Security

3.7�&Cube�플랫폼 소스분석

292

TAS 소스 상세구조 Thing Adaptation software

&CUBEIntereworking

Unit

DataAdaptation

Unit

Thing Interworking UnitThing TAS Connector

Sender Receiver

Serial Port Manager

Thing

TAS를 &Cube 플랫폼에 등록

&Cube 전송 메시지

Page 293: IoT Introduction and Security

3.7�&Cube�플랫폼 소스분석

293

TAS 소스 상세구조 Thing Adaptation software

&CUBEIntereworking

Unit

DataAdaptation

Unit

Thing Interworking UnitThing TAS Connector

Sender Receiver

Serial Port Manager

Thing

TAS 등록후 Thing데이터 저장용Container 및 Thing 컨트롤용

mgmtCmd 등록

&Cube 전송 메시지

Page 294: IoT Introduction and Security

3.7�&Cube�플랫폼 소스분석

294

TAS 소스 상세구조 Thing Adaptation software

&CUBEIntereworking

Unit

DataAdaptation

Unit

Thing Interworking Unit

Thing TAS Connector

Sender Receiver

Serial Port Manager

Thing

릴레이 보드 연결 및 데이터 수신(zigbee-> Serial)

Data Adaptation Unit으로 데이터 전송

ReceiveEvent

Page 295: IoT Introduction and Security

3.7�&Cube�플랫폼 소스분석

295

TAS 소스 상세구조 Thing Adaptation software

&CUBEInterworking

Unit

Data Adaptation Unit

Thing

Thing Interworking Unit으로부터 데이터 수신 및 데이터 변환 Thing

InterworkingUnit

&CUBEMessageSender

ThingManagement

ThingMessageSender

TransferLogicThing

MessageListenerReceiveEvent

&CUBEMessageListener

Start Code Channel Code ID Code On/Off Value Extend Code End Code2byte 3byte 8byte 1byte 2byte 1byte

Page 296: IoT Introduction and Security

3.7�&Cube�플랫폼 소스분석

296

TAS 소스 상세구조

&CUBE Interworking Unit으로 변환데이터 전송

Thing Adaptation software

&CUBEInterworking

Unit

Data Adaptation Unit

Thing

ThingInterworking

Unit

&CUBEMessageSender

ThingManagement

ThingMessageSender

TransferLogicThing

MessageListenerReceiveEvent

&CUBEMessageListener

ContainterName : Content가 저장될사물의 이름typeofContent : Content의 typeContent : 실제 Content 값linkType : URL link인 경우사용

Page 297: IoT Introduction and Security

3.7�&Cube�플랫폼 소스분석

297

TAS 소스 상세구조

&CUBE Interworking Unit으로부터제어 커맨드 수신 및 데이터 변환

Thing Adaptation software

&CUBEInterworking

Unit

Data Adaptation Unit

Thing

ThingInterworking

Unit

&CUBEMessageSender

ThingManagement

ThingMessageSender

&CUBEMessageListener

ThingMessageListener

TransferLogic

ReceiveEvent

Page 298: IoT Introduction and Security

3.7�&Cube�플랫폼 소스분석

298

TAS 소스 상세구조

&Cube에서 내린 제어 커맨드를 &Thing에서 받을 수 있는 형태로 변환 및

Thing Interworking Unit으로 전송

Start Code Channel Code On/Off Value ID Code Extend Code End Code2byte 5byte 1byte 8byte 2byte 1byte

Thing Adaptation software

&CUBEInterworking

Unit

Data Adaptation Unit

Thing

&CUBEMessageSender

ThingManagement

ThingMessageSender

&CUBEMessageListener

ThingMessageListener

TransferLogic

ReceiveEvent

ThingInterworking

Unit

Page 299: IoT Introduction and Security

3.3 OneM2M�보안

299

III.�사물인터넷 플랫폼 보안

사물인터넷플랫폼보안기술정의사례2§ OneM2M 보안기술

– Privacy/Trust�관리 기술

– 인증/인가 기술

– 안전한 데이터 전송 기술

– 시스템 보안 기술

– Security�Association�기술

Infrastructuredomain

Fielddomain

Non-oneM2M

Device

Non-oneM2M

Device

Non-oneM2M

Device

Non-oneM2M

Device

To anInfrastructureNode of otherM2M Service

ProvidersIN-AE Mca

InfrastructureNode(IN)

IN-AE

IN-CSE

Mca

MiddleNode(IN)

MN-CSE

MN-AEMca

MiddleNode(IN)

Mca

Mca

Mca

MN-CSE

MN-AE

ApplicationDedicated

Node(ADN)

ADN-AE

Mca

ApplicationServiceNode(ASN)

ASN-AE

ASN-CSE

ApplicationDedicated

Node(ADN)

ADN-AE

Mca

ApplicationServiceNode(ASN)

ASN-AE

ASN-CSE

Mcc’

Mcn

MccMcc

Mcc

McnMcn Mcc

Mcc

Mcn Mcn

Link is out of scope

ApplicationEntity (AE)

Mca Reference Point

Mcn Reference Point

Common Services Entity (CSE)

Application andService LayerManagement

CommunicationManagement/

Delivery HandlingData Management

& RepositoryDevice

Management

DiscoberyGroup

ManagementLocation

Network ServiceExposure/Service

Ex+Triggering

Registration SecurityService Charging &

AccountingSubscription and

Notification

Underlying NetworkService Entity (NSE)

Page 300: IoT Introduction and Security

3.3 OneM2M�보안

300

III.�사물인터넷 플랫폼 보안

사물인터넷플랫폼보안기술정의사례3§ OneM2M Security�Architecture

Security ServicesSecurity API (Mca, Mcc) (not specified in the present document)

Security Functions Layer

IdentificationAnd

AuthenticationAuthorization Identity

ManagementSecurity

AssociationSensitive Data

HandlingSecurity

Administration

Secure Environment Abstraction Layer (not specified in the present document)

Secure Environments Layer

Secure Environment n

Sensitive Data Sensitive Functions

현재 문서에는 components가 정의되어 있지 않은 계층

OneM2M 보안의 핵심계층

Page 301: IoT Introduction and Security

3.3 OneM2M�보안

301

III.�사물인터넷 플랫폼 보안

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

① Provisioned Symmetric Key Security Association Establishment Frameworkü 미리 제공된대칭키를 이용하

여 end-points간의 association 진행

② Certificate-Based Security securityAssociation Establishment Frameworkü 개인 서명키와 인증서, 공개키

를 이용하여 association③ MAF Security security Association

Establishment Frameworkü 3rd party service provider에 의

해서 진행됨

셋 중에 하나 사용

Certificate-Based SAEF와 Symmetric Key-Based SAEF는 Entity 간의 인증을 수행

MAF-Based SAEF는 3자간인증을 수행

Page 302: IoT Introduction and Security

3.3 OneM2M�보안

302

III.�사물인터넷 플랫폼 보안

OneM2M�Security�Framework§ General�Introductions�to�the�Security�Frameworks– the�Symmetric�Key�Security�Framework

– the�Certificate-Based� Security� Framework

– the�Generic�Bootstrapping� Architecture(GBA)� Framework

§ Remote�Security�Provisioning�Frameworks– Pre-Provisioned� Symmetric�Enrolee Key�Remote�Security�Provisioning� Framework

– Certificate-Based� Remote�Security�Provisioning� Framework

– GBA-based�Remote�Security�Provisioning� Framework

§ Security�Association�Establishment�Frameworks– Provisioned� Symmetric�Key�Security�Association� Establishment� Frameworks�

– Certificate-Based� Security�Association� Establishment� Frameworks�

– MAF(M2M�Authentication� Function)-Based� Symmetric�Key�Security�Association�Establishment� Frameworks�

Page 303: IoT Introduction and Security

3.3 OneM2M�보안

303

III.�사물인터넷 플랫폼 보안

OneM2M�Security�Framework§ Remote�Security�Provisioning�Frameworks

– Bootstrap�Credential�Configuration

– Bootstrap� Instruction�Configuration

– Bootstrap�Enrolment�Handshake

– Enrolment�Key�Generation

– Enrolment�Phase

Page 304: IoT Introduction and Security

3.3 OneM2M�보안

304

III.�사물인터넷 플랫폼 보안

OneM2M�Security�Framework§ Security�Association�Establishment�Frameworks

– Credential�Configuration

• 사전 파라미터 설정 단계

– Association�Configuration• 상대방 정보 송수신

– Association�Security�Handshake• 상호 인증

Page 305: IoT Introduction and Security

3.3 OneM2M�보안

305

대칭키기반두entity간인증기법– 동일한 비밀키를 서로 공유했는지 여부를 확인함

공개키(Certificate)�기반두entity간인증기법– 특정 entity의 비밀키로 암호화한 경우, 이를 certificate 상의 공개키로검증했을 때, 해당 entity의 신원(identity)는 확인됨(인증됨)

IV.�OneM2M�보안

Page 306: IoT Introduction and Security

3.3 OneM2M�보안 - Certificate�기술 (IETF�RFC�5280)

306

인증서(Certificate)– Raw Public Key Certificate Profile : IETF RFC 7250– Device 인증서 : OneM2M의 Object ID와 Device ID 정보, 공개키 정보

가짐– CSE-ID 인증서 : CSE-ID와 이에 대한 공개키 정보 가짐– AE-ID 인증서 : AE-ID와 이에 대한 공개키 정보 가짐– FQDN 인증서 : M2M상의 FQDN entity에대한 ID와 이에 대한 공개키

정보 가짐

IV.�OneM2M�보안

Page 307: IoT Introduction and Security

3.3 OneM2M�보안 - Certificate�기술

307

프로토콜버전– Interoperability� between� l

Client와 Server��

IV.�OneM2M�보안

Page 308: IoT Introduction and Security

3.3 OneM2M�보안 - Certificate�기술

308

IV.�OneM2M�보안

Certificate�version�3는디바이스인증서로확장가능함– 주요 확장 요소:

• Key and policy information• Subject and issuer attributes• Certification path constraints

An extension identifier

A criticality indicator

An extension

value

Each extension consists of:

Page 309: IoT Introduction and Security

3.3 OneM2M�보안 - 공개키암호 기술(secp256r1)

309

IV.�OneM2M�보안

짧은키길이와높은성능을위해타원곡선암호사용– Prime field상의 타원곡선 암호 사용 : secp256r1 (INST P-256 커브)– GF(p)상에서 정의됨

Curve ( , , , , , )T p a b G n h=

Page 310: IoT Introduction and Security

3.3 OneM2M�보안 - 공개키암호 기술(secp256r1)

310

IV.�OneM2M�보안

인증및키교환을위해선ECDSA,�ECDH�사용– ECDSA : 서명 생성 및 검증 프로토콜– ECDH : 원격 키 분배 프로토콜

Page 311: IoT Introduction and Security

3.3 OneM2M�보안 - 접근제어 기술

311

III.�사물인터넷 플랫폼 보안

OneM2M�Security Functions�Layer

§ Authorization�Procedure

Policy Enforcement Point(PEP)Policy Decision Point(PDP)Policy Retrieval Point(PRP)Policy Information Point(PIP)

PDP 가 인가를 하기 위해 PRP,PIP에게 정보를언어오는 단계

PDP 가접근 허용여부를 결정하는 단계

Page 312: IoT Introduction and Security

3.3 OneM2M�보안 - 접근제어 기술

312

OneM2M�표준에서는ACL(Access�Control�List),�RBAC/ABAC�사용을권함Role�Based�Access�Control�(RBAC)– 접근 권한은 Role에 할당되며 관리자(또는 시스템)는 사용자에게 Role을부여함

– RBAC에서 자원에 대한 접근제어는 사용자에게 부여된 Role을 기반으로 함– RBAC은 사용자 정보는 자주 바뀌고 Role 정보는 자주 바뀌지 않는 것을

가정함. Role에 대해 접근권한을 관리함으로써 자주 바뀌는 다수 사용자에대해 일일이 접근권한을 관리하지 않아도 되는 장점을 가짐

Attribute�Based�Access�Control�(ABAC)– ABAC에서 자원에 대한 접근제어는 사용자가 가진 속성을 기반으로 함– ABAC에서 시스템은 subject가 object에 접근하기 위해 만족시켜야 할속성에 대해 정의함. Subject는 접근권한을 획득하기 위해 자신의 속성이시스템의 요구사항을 만족함을 증명하여야 함

IV.�OneM2M�보안

Page 313: IoT Introduction and Security

3.3 OneM2M�보안 - TLS�기술

313

TLS는크게두가지종류의프로토콜로구성됨(1)�Handshake�protocol

– Client와 Server사이에 공유 비밀키 설정을 위해 공개키 암호 사용(2)�Record�protocol(Secure�Transfer�of�Application�Data)

– 공유한 비밀키를 사용하여 메시지에 대한 안전한 전송 수행

IV.�OneM2M�보안

Page 314: IoT Introduction and Security

3.3 OneM2M�보안 - TLS� (Handshake�protocol)

314

프로토콜버전,�사용하는알고리즘종류등을설정함– Interoperability between different implementations of the protocolClient와 Server�인증수행– Use digital certificates to learn each other’s public keys and verify

each other’s identity공유비밀키설정을위해공개키암호사용

IV.�OneM2M�보안

Page 315: IoT Introduction and Security

3.3 OneM2M�보안 - TLS� (Handshake�protocol)

315

Handshake�Protocol��

C

ClientHello

ServerHello, [Certificate],[ServerKeyExchange],[CertificateRequest],ServerHelloDone

S[Certificate],ClientKeyExchange,[CertificateVerify]

switch to negotiated cipherFinished

Finishedswitch to negotiated cipher

IV.�OneM2M�보안

Page 316: IoT Introduction and Security

3.3 OneM2M�보안 - TLS� (Handshake�protocol)

316

Phase 1: Establishing Security Capability

§ ClientHello 메시지

• 사용할 수 있는 최대 버전 번호• 32byte 클라이언트의 랜덤 값 (28bit 랜덤값+ 4 byte time stamp값으로 구성됨)

• 세션 ID • 사용할 수 있는 암호 스위트 목록• 사용할 수 있는 압축 방법 목록

§ ServerHello메시지

• 사용할 수 있는 최대 버전 번호• 32 byte 서버의 랜덤 값• 세션 ID • 사용하는 암호 스위트• 사용하는 압축 방법

Phase 2: Server Key Exchange and Authentication (서버키교환 및 인증)

§ Certificate 메시지• RSA 혹은 DSS 공개키, 혹은 DH public key parameter를 가지는 certificate을 보냄 (만약 Phase 1에서 pre-master키 설정을 위해,Anonymous Diffie-Hellman 기법이 선택된 경우, 이 메시지를 전송할 필요없음)

§ ServerKey Exchange • Pre-master secret값 계산을 위해 필요한 parameter를 전송함 (예를 들어, DH key parameter(prime modulo 값 p, generator g 값, serve가 보내는 공개키 g^s mod p 값)

§ Certificate Request• Non-anonymous server는 certificate이 필요할 경우, client에 certificate 전송 요구를 할 수 있음

§ ServerHelloDone• Server가 client에게 자신은 client의 응답을 기다리고 있다고 통보함

* 표시된 부분: 이는 사용하는 key exchange 방식에 의존함

< Message Exchange for Session Establishment >

III.�플랫폼 보안 요소 기술Handshake protocol의목적: - 상호인증과 키교환

Page 317: IoT Introduction and Security

3.3 OneM2M�보안 - TLS� (Handshake�protocol)

317

** 표시된 부분: Client 인증시 사용됨

< Message Exchange for Session Establishment >

Phase 3: Client Key Exchange & Authentication

§ Certificate 메시지

• Client의 Certificate을 Phase 2에서 Server가 요청한 경우이를 Server에 전송함(Client 인증용)

§ ClientKeyExchange메시지

• Client는 pre-master secret 계산을 위해 필요한parameter를 전송함

• 예를 들어, DH key parameter(prime modulo 값 p, generator g 값, serve가 보내는 공개키 g^s mod p 값 전송함

§ Certificate Verify 메시지

• 지금까지 교환된 이전 메시지에 대한 Digest값을 계산해서 보냄. 이 Digest값은 client의 private key로 서명되므로, 서버는 client의 인증서에 있는 client의 public key로 검증

Phase 4: Cipher Suite Implementation 단계(Handshake & ChageCipherSuite 프로토콜)

§ ChangeCIpherSpec (CàS)• Client는 서버에게 전송 payload data에 대해 협의한 cipher suite을 적용한다고 알림

§ Finished (CàS)• Client가 서버에게 ChangeCipherSpec을 보낸 후, 바로 Finished를 보냄

§ ChangeCipherSpec (SàC)• 서버는 Client에게 전송 payload data에 대해 협의한 cipher suite을 적용한다고 알림

§ Finished (SàC)• 서버가 Client에게 ChangeCipherSpec을 보낸 후, 바로 Finished를 보냄

IV.�OneM2M�보안

Page 318: IoT Introduction and Security

3.3 OneM2M�보안 -(TLS�:�Record�Protocol)

318

Secure�Transfer�of�Application�Data– Session 설정 후, 데이터 전송 시작됨– Application data는 fragmented 되고 각 fragment는 압축후, 인증을

위한 MAC 값, 암호화되어 전송됨• 64bit sequence number• Record type(23 for application data)

• TLS version 등

• HMAC 사용. 이때 사용가능한 해쉬함수는 MD5, SHA-1, SHA-256, SHA-384, SHA-512

IV.�OneM2M�보안

Page 319: IoT Introduction and Security

맺음말

사물인터넷구성요소별보안/프라이버시보호기술제공해야§ 센서/디바이스,�통신/네트워크,�플랫폼,�응용서비스 등 사물인터넷 구성 요소 각각 및 통합관점에서의 보안 필요

– 사물인터넷 디바이스• 부채널공격문제와 디바이스의높은자원 제약성을고려한보안기술

– 사물인터넷 통신/네트워크 분야• 기존표준의한계 극복필요

• 불완전한 CoAP�보안(DTLS),�MQTT�보안(SSL)

– 사물인터넷 플랫폼

• 서비스에특화된 플랫폼보안기술필요

– 사물인터넷 프라이버시 보호• 정보센싱에서 가공/처리/저장/활용,�각 단계별프라이버시보호필요

– 사물인터넷 매쉬업 보안/서비스 API�보안• 과도한 SSL�의존성문제와기존 프로토콜의보안취약성

• 매쉬업보안기술 부재

319

VII.�맺음말 및 Q&A

Page 320: IoT Introduction and Security

320

Page 321: IoT Introduction and Security

참고자료

[1]�부산대학교,�“개방형 고성능표준 IoT�기술개발”,�2014.2

[2]��Internet�of�Things�Architecture,� IoT-A,�Project�Deliverable�D4.2

[3]�Getting�Started�with�OAuth 2.0

[4]�OAuth Web�Authorization�Protocol

[5]�OAuth 공식홈페이지 - http://oauth.net

[6]�Google�Developer�site�- https://developers.google.com/

[7]�OAuth Tutorial�blog�- http://tutorials.jenkov.com/oauth2/index.html

[8]�OAuth 분석Bloghttp://blog.naver.com/zoo5252?Redirect=Log&logNo=120209428167

[9]�MAC�Access�Authentication�자료 - http://hdknr.github.io/docs/identity/oauth_mac.html

[10]�OAuth 1.0�- http://hueniverse.com/oauth/

[11]�Karol�Furdik,�IoT�challenges,�approaches,�and�outcomes�in�the�context�of�European�research�projects�

[12]�CISCO,�The�Internet�of�Things,�How�the�Next�Evolution�of�the�Internet� �Is�Changing�Everything

[13]�“Security�as�a�Service�for�User�Customized�Data�Protection”�by Kenichi�Takahashi,�etc., Software�Engineering�and�Computer�Systems,�2011

[14]�“스마트기기제어시스템 보안기술”,�정보보호기술워크샵,�김호원,�2013.6

[15�OneM2M�Technical�Specification,�OneM2M-TS-0003-Security_Solutions-V-2014-08

321

참고 자료