Click here to load reader
Upload
jongseok-choi
View
1.886
Download
9
Embed Size (px)
Citation preview
최종석
2016.1.18
전체 목차
사물인터넷 암호및플랫폼 보안기술
목차
2
• 사물인터넷 개요• 사물인터넷과 헬스케어• 사물인터넷과 스마트공장• 그 외의 사물인터넷 서비스
III.�OneM2M�개요및보안I.�사물인터넷개요및응용
• 사물인터넷 서비스 구현사례• 사물인터넷 플랫폼 구현사례• 사물인터넷 브로커 구현사례• 사물인터넷 디바이스 구현사례• 사물인터넷의 보안이슈
II.�사물인터넷구현기술및보안 IV.�맺음말
• OneM2M�개요• OneM2M�구현 사례• OneM2M�보안 요소기술
I.�사물인터넷과 보안
3
1.�사물인터넷 개요2.�사물인터넷과 헬스케어3.�사물인터넷과 스마트공장4.�그 외의 사물인터넷 서비스
1.�사물인터넷 개요 - 패러다임변화
우리사회는산업혁명(오프라인),�정보화혁명(온라인)을 거쳐,�모든 것이인터넷과연결되는
사물인터넷 기반의초연결혁명(온-오프라인융합혁명) 진행 중
4
• 의류, 섬유, 철강• 대량 생산 체계• 시간ㆍ공간 제약
산업사회
오프라인 (물리적 공간)
은행
제조업 강국
• 포털/뱅킹, 전자상거래• ICT 일상화• 서비스 혁신
정보화 사회
온라인 (가상공간)
컴퓨터/스마트폰 – 인터넷 연결
인터넷 뱅킹
ICT 인터넷 강국
초연결 사회
오프라인과 온라인 융합
모든 사물 – 인터넷 연결
가상공간물리적 공간
융합공간
• 스마트 카/ 홈/ 에너지• ICT 기반 사회문제해결• 제조업 혁신 (생산성/효율성)
창조경제 강국
인터넷
컴퓨터
사물인터넷
스마트기기
▷ 향후 연결 확대 과정에서 모든 분야에 파괴적 혁신 유발 전망• 사물인터넷은 2020년까지 전 세계 기업 총이익을 21% 성장시키는 잠재력을 지닌 기술
à 10년간(’13~’22) 19조불(공공 4.6조불, 민간 14.4조불) 경제효과 창출 추정(Cisco, 2013)
I.� 사물인터넷 개요
※참고 문헌 [1]
1.�사물인터넷 개요 - 변화에따른 시대적요구
5
새로운 성장모멘텀필요 국가사회 현안 문제 해결
창의적 아이디어를 가진
중소�벤처기업을 중심으로
SW/부품 등 산업경쟁력 확보
경제 저성장 지속 불확실성 증대
제조업 경쟁심화,대기업 중심의 성장한계 등 자원 고갈과 재난증가 등
사물인터넷을 기반으로
공공 산업 개인 분야대민서비스
혁신제조업 혁신,신산업 육성
안전, 편리 등삶의질 제고
I.� 사물인터넷 개요
1.�사물인터넷 개요 - 기술개념
6
유비쿼터스사회를실현하는사물인터넷기술개념
[유비쿼터스 사회를 실현하는 핵심 기술은 IoT(사물 인터넷) 기술 개념도]
I.� 사물인터넷 개요
1.�사물인터넷 개요 - 개념
7
사물인터넷정의 (CERP-IoT�2009:Cluster�of�European�Research�Projects�on�the�Internet�of�Things)
§ 사물인터넷(IoT)은 미래인터넷의 통합된 부분으로서 표준과 상호 호환 통신 프로토콜로자가 설정 기능을 갖춘 동적 글로벌네트워크 인프라로 정의될 수 있으며,�
§ IoT는 자기 식별자와 각각의 특성을 갖는물리적인 사물과 가상 사물로 구성된다.�
§ 또한,�지능형 인터페이스를 가지며 정보망에 잘 통합되는 특성을 갖는다.�IoT에서의 사물은비즈니스와 정보,�소셜 프로세스의 적극적인 참여자로서 사물간 혹은 환경과 데이터/센싱된환경 정보를 상호 전달/반응 할 수 있다.�
§ 사물은 자율적으로 물리적인 실환경 이벤트에 반응하거나,�인간의 직접적인 개입 유무와는관련 없이 서비스를 만들거나 특정 행위 동작을촉발하는 프로세스를 실행한다.�
§ 서비스 형태에서의 인터페이스는 인터넷을 통해 이와 같은 스마트 사물과의 상호 작용을촉진하고 보안과 프라이버시 이슈를 고려하여 사물의 상태나 관련 정보를 질의혹은교환한다.
– IoT는 센서/상황인지기술과통신/네트워크기술,�칩 디바이스 기술,�경량 임베디드네트워크기술,�자율적/지능형플랫폼기술,�대량의데이터를 처리하는빅데이터기술,�데이터마이닝기술,�사용자중심의응용서비스 기술,�웹 서비스기술,�보안/프라이버시보호기술등다양한 형태의기술을필요로한다.�
I.�의료융합산업 &�IoT
1.�사물인터넷 개요 - 개념
8
사물인터넷(Internet of Things, IoT)은 사람, 사물, 공간, 데이터 등
모든 것이 인터넷으로 서로 연결되어, 정보가 생성�수집�공유�활용되는 초연결 인터넷
생활기기 가치창출 국민 편익 및 쾌적환경 제공 기존산업의 신 가치창출
대국민 삶의 질 향상 사회 현안문제 해소 산업 경쟁력 강화
개인 IoT 공공 IoT 산업 IoT
주차공간확보에낭비되는시간
7천만 시간 절감
주차중 배출되는
양 10% 감소
고부가가치서비스회사로변신
서비스 사업 점유율 50%영업이익률 2.5배
부가가치상승
229 + α150
I.� 사물인터넷 개요
※참고 문헌 [1]
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.� 사물인터넷 개요
1.�사물인터넷 개요 - 개념
10
가트너그룹이발표한2013년Technology�Hype�Cycle
I.� 사물인터넷 개요
1.�사물인터넷 개요 - 로드맵
11
1.�사물인터넷 개요 - 기술개념
12
2013년가트너Hype�Cycle에서제시된주요기술의6대경향(1/2)§ 기술로인간 능력증강
– 기술의진보로 인해인간은 물리적인영역과 감성적인측면,�그리고인지측면에서 능력이향상된다고 함.�인간 능력 증강기술로는 3차원바이오프린팅기술이나 인간-뇌 인터페이스,�언어간 자동번역,�웨어러블기술 등을예로 들고있음
§ 인간을대체하는 머신
– 위험한작업에 있어서머신이 인간을대체하는 것은당연한 것으로보임.�이뿐만아니라 고객의다양한 요구를처리할 수있는 서비스나자동 주행자동차,�모바일로봇,�가상 비서 등고객의 다양한요구를 인간대신처리하는 머신에대한수요가 늘어날것으로 예측함
§ 인간과머신의 협력
– 인간과머신은 제어명령을 주고이를 수행하는주종 관계가아니라 좀더대등하고 협력적인관계로 발전할것으로 보임.�예를 들어 IBM�watson 머신은학습과지능 능력을갖추게 되어특정 분야에서는인간과 실질적인협력을수행하는 존재로까지발전하고 있음
I.� 사물인터넷 개요
1.�사물인터넷 개요 - 기술개념
13
2013년가트너Hype�Cycle에서제시된주요기술의6대경향(2/2)§ 인간과환경을 더욱더 잘이해하는 머신
– 머신은인간과 인간의행동,�인간의감정 등을좀 더이해함으로서 많은능력을갖추게될 것임.�이러한 머신의이해력 증대는상황 인지기반대응력을 향상시킬것임.�예를 들면,�이러한능력은 고객이새로운제품에 대한선호도를 미리예측하여 대응할수있도록 할수 있을것임
§ 머신을더 잘이해하게 되는인간
– 머신이더욱 스마트해지고 자율적으로발전함에 따라인간은 머신을신뢰하게되고더욱 안전하다고느끼게 될것임
§ 점점더스마트해지는 머신과 인간
– 빅데이터의 출현과애널리틱스 기술,�인지 컴퓨티 기술은인간의 판단을위한근거를제시해주며 기술에게도 지능을갖추게 만듦
I.� 사물인터넷 개요
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.� 사물인터넷 개요
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.� 사물인터넷 개요
1.�사물인터넷 개요 - 국내외동향
16
스마트워터시스템
(카타르,�브라질,�중국등)
상하수도 시스템에 센서 설치→ 40~50%의 누수방지
쓰레기관리시스템
(신시내티)
가정쓰레기 배출량 모니터링→ 쓰레기 배출량 17%�감소 및
재활용 49%�증가
지능형운영센터운영
(브라질)
기상데이터 분석을 폭우 가능성 예측→ 대응시간 약 30%�개선,
사망자 수 10%�감소
지능형교통시스템
(영국)
고속도로 지능형교통 시스템 구축→ 통행시간 25%�단축 및
교통사고 50%�감소
I.� 사물인터넷 개요
1.�사물인터넷 개요 - 국내외동향
17
스마트가도등(바로셀로나)
가로등에 센서설치 및자동 조명 세기 조절
→ 연간 30%�에너지 절감
GPS/센서농축산업적용
GPS�활용 파종한 라인제어→ 트랙터 작업효율을 20%�개선
제조업의서비스화(롤스로이스)
제품의 서비스화(10% →50%)→ 영업이익률 2.5배 증가
스마트약병서비스
약 뚜껑 센서 부착 및투약 시점관련 정보 제공→ 98%�이상의 복약 이행
I.� 사물인터넷 개요
1.�사물인터넷 개요 - 서비스이용환경의 변화
18
개발자 이용자
사물 검색,�연결,�제어(스마트폰 활용)
아이디어 ▶ 개발▶ 서비스 구현
개방형생태계
[Open�API]
모든 것(Everything)의 연결광대역/모바일 네트워크
I.� 사물인터넷 개요
1.�사물인터넷 개요 - 서비스
19
공공 IoT
다양한시범사업추진
호환성미흡및중복개발로개발·�구축비용부담
확산 저조
대기업중심일부도입
중소기업은초기구축비용문제
활용 저조
산업 IoT
[글로벌기업]스마트홈/자동차등경쟁중
[중소기업]다품종소량생산제품으로
시장진출노력중
개인 IoT
I.� 사물인터넷 개요
1.�사물인터넷 개요 - 플랫폼 개념 및의의
20
개발자 à비용절감 /�개발시간 단축
온라인 커뮤니티 Open API�공개 제품/서비스 개발
Open� IoT Platform
네트워크관리
데이터관리및저장
접근인증 과금
디바이스등록관리
그룹관리응용서비스
관리검색
사물 검색 연결,�제어 서비스 이용
이용자 à스마트폰 등 활용 직관적 접근/�쉽게 활용
IoT응용
소프트웨어
IoT디바이스
I.� 사물인터넷 개요
1.�사물인터넷 개요 - 플랫폼
21
[기존동향]�각 서비스분야별로별도의 시장이형성[소규모화·파편화][최근동향]�oneM2M의 “서비스 플랫폼표준”은 14년 하반기제정예정 [규모의경제 실현전망]
네트워크 사업자 1네트워크 사업자 2
서비스· 비즈니스,�응용
단말
네트워크 사업자
서비스· 비즈니스,�응용 &4
서비스· 비즈니스,�응용 &L
서비스· 비즈니스,�응용 &Q
로컬 네트워크
단말 표준플랫폼
단말 단말 단말단말
서비스 표준플랫폼 /�서비스사업자
게이트웨이
게이트웨이
종속적,�폐쇄적,�수직적 구조
수평적 구조(공통인프라 환경)서비스 응용에대한 인프라(플랫폼)�환경을 통합·공유
Ø IoT 응용사업자는
IoT서비스 사업자 또는
IoT단말/게이트웨이 고객에게
서비스응용을 제공
Ø IoT 서비스사업자는
표준서비스 플랫폼을 구축하고
IoT응용사업자 및 IoT단말 사업자
에게제공
Ø 네트워크 사업자는
IoT 서비스사업자에게
망서비스를 제공
Ø IoT 단말사업자는
IoT 단말플랫폼 규격에 따라개발한
단말을 IoT서비스 사업자 또는
End-user에게 제공
I.� 사물인터넷 개요
1.2�의료사물인터넷 - 디바이스
웨어러블디바이스*,�스마트센서**�등을중심으로시장확대전망*글로벌 대기업 :�웨어러블,�스마트카,�스마트홈 등 주력**스마트센서 :�글로벌 전문기업 주도,�국내는 전적으로 수입 의존
22
오픈소스 HW,�D.I.Y�등
개방형 HW�생태계
SW�서비스 +�디바이스 +�부품
이종기업간동반성장전략
I.� 사물인터넷 개요
1.2�의료사물인터넷 - 보안 개요
인터넷에연결되는사물수의증가로인하여주요 IoT�서비스별보안위협에대한대응정책논의단계
23
국민이안심할 수있는 사물인터넷 서비스도임을 위해
보안,�프라이버시,�윤리 등을 고려한대응정책 마련필요
기획.�설계단계부터 보안을고려한 IoT�기술 및 서비스
개발필요
사물인터넷 생태계(SPND)별 다양한보안 위협요소내재
I.� 사물인터넷 개요
1.2�의료사물인터넷 산업개요
24
eHealth§ ICT�기술을 사용하여 건강 관리 서비스혹은 건강 관련 정보를 전송하는 것을 의미함
Telemedicine/Telehealth§ ICT기술을 사용하여 원격으로 건강 관리 서비스 혹은 건강관련 정보를 전송하는 것을의미함
mHealth (모바일헬스)§ 모바일 디바이스 및 기술을 사용하는 원격 건강관리 서비스
헬스케어에서의사물인터넷§ 웨어러블 디바이스(IoT�디바이스),�통신/네트워크,�플랫폼,�지능화 기술,�보안/프라이버시보호 기술,�집단지성 등,�다양한 사물인터넷 기술 기반 헬스케어 서비스
I.�의료융합산업 &�IoT
1.2�의료사물인터넷 - IoT기반헬스케어
25
전형적인IoT�기반헬스케어서비스구조도
I.�의료융합산업 &�IoT
*�참고:��Qualcomm�Preventice자료참고
IoT�기반헬스케어서비스주요특징• 환자/사용자의 건강상태 및 운동상태 추적가능
• 위급 상황에대한 조기 탐지및 예방 가능
• 환자/사용자의 생체신호,�생리적 상태모니터링 뿐만 아니라,�환경 정보/상황정보,�개인정보(개인습관,�선호도,�위치,�병력
정보 등)�등의 모니터링및 통합 기능
• 웨어러블 디바이스,�스마트 의류,�CCTV,�IoT�센서등 다양한센싱 디바이스를 사용하여 모니터링가능 (정보기반 가상
센서도 유용하게활용 가능)
• 클라우드 기반데이터 저장/가공/처리/활용등이 가능함
• 다양한 IoT�통신/네트워크 활용가능
• 매쉬업 서비스를통한 고부가가치 헬스케어 서비스창출 가능
1.2�의료사물인터넷 - IoT기반헬스케어
26
I.�의료융합산업 &�IoT
*�참고:��Qualcomm�Preventice자료참고
IoT�기반헬스케어서비스장점
• 의료진의 시간을 절약할 수 있음
• IoT�기술 접목을 통해의료진은 주어진 시간에 더 많은 환자를 모니터링 할 수 있음
• IoT�기반 헬스케어는 환자의 행동습관,�위치,�현재 상태를 정확히파악 가능함
• 클라우드 기반 IoT�플랫폼/서비스는 필요시,�의료진에게 해당 상황을 정확히 알려줄 수 있음
• 휴대성이 높아진 웨어러블 디바이스 센서(혹은 심지어 이식 센서)는 환자의 vital�신호를 더욱
정확히 모니터링 가능하며,�이를 헬스케어 서비스 제공자에게 정확히 전달 가능
• 실시간 정보는 생(⽣)과 사(死)를 선택하는 중요한 요소가 될 수 있음
• IoT�기반 헬스케어 서비스는 장기간 치료가필요한 질병(예:�암)을 앓고 있는 환자의 경제적
부담을 줄여줌
• IoT�기반 자가 모니터링은 운동및 건강한 생활을 위한 유인책이 됨
1.2�의료사물인터넷 - 산업 개요
27
I.�의료융합산업 &�IoT
원격진료의역사§ 1924:� radio�doctor�
§ 1975:�첫번째 원격 신경 치료사례.�“Comparison� of�television� and�telephone� for�remote�medical� consultation”
§ 미항공우주국(NASA):�우주비행사 vital�신호분석
§ ’90:�인터넷 출현
§ 2000년 초 :�원격진료 개념 활성화
§ 2010년~:�빅데이터 분석/지능화/사물인터넷
기반 원격 진료 가능성 대두
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
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- 기존 헬스케어공급자들의 전자 의료 기록기술과 함께 환자의재입원을 감소시키고 환자의
적극적인 활동과참여를 개선하기 위한 솔루션들을제공
1.2�의료사물인터넷- IBM�Watson�Health
30
Solutions
II.�IoT 기반 헬스케어 사례
§ 왓슨의인지컴퓨팅을 통해개인의건강정보를 생성하여의사,�연구자,�보험업자들에게도움을줄수 있는솔루션
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
1.2�의료사물인터넷 - Wearable�health�care
32
AliveCor의 심전도 측정기
§ 스마트폰에부착하여 사용할수있는앱세서리(Appcessory)�형
태의심전도측정기
§ 어디서든간편하게 심전도측정이가능하고스마트폰이나 태블
릿을이용하여 확인가능
§ FDA�승인 완료상태
II.�IoT 기반 헬스케어 사례
Google의 혈당측정콘택트렌즈
§ 2014년 1월,�당뇨 환자들을위해혈당측정이가능한 스마트렌
즈발표
§ 무선통신을위한 칩과소형화된혈당측정센서를 삽입한콘텍트
렌즈
§ 구글스마트콘택트렌즈를 착용한사용자의눈물에 포함된혈당
량을측정하여 당뇨환자가간편하게포도당 수치를판독할수
있도록도움
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�
웨어러블헬스케어디바이스와보안/프라이버시이슈(1/10)
34
AiQ사의 Smart�Shirt§ EKG,�EEG,�EMG�등의데이터 수집§ 태양판을이용한 충전방식제공§ 카메라를통한 시간촬영기능제공§ Bluetooth를 통한 통신방식제공
주요 보안/프라이버시 이슈
§ 스마트폰,�PC와의 Bluetooth�통신상에서의 보안문제§ EKG,�EEG,�EMG등의데이터에 대한저장시,�개인정보유출의 위험성§ 데이터에접근하고자 하는사용자에대한인증/인가기능 미지원
II.�IoT 기반 헬스케어 사례
웨어러블헬스케어디바이스와보안/프라이버시이슈(2/10)
35
Metria사의 Imformed Health
§ 사용자의생리적 데이터수집§ 센서보드상에서의 데이터수집/가공/분석기능제공§ USB,�Bluetooth를 통한실시간 통신방식제공
주요 보안/프라이버시 이슈
§ 스마트폰,�PC와의 Bluetooth/USB�통신상에서의보안 문제§ 센서보드 상의 USB�단자를통한센싱 데이터유출문제§ 센싱데이터 저장시,�데이터에대한암호화미지원 문제§ 데이터에접근하고자 하는사용자에대한인증/인가기능 미지원
II.�IoT 기반 헬스케어 사례
웨어러블헬스케어디바이스와보안/프라이버시이슈(3/10)
36
BodyTel사의 Gluco Tel,�Pressure�Tel,�Weight�Tel
§ 사용자의혈당,�혈압,�체중계데이터수집§ Bluetooth를 통한 실시간통신방식제공§ 스마트폰,�온라인웹포털과의 연동기능제공§ 센싱주기:�10초(혈당),�30초(혈압)
주요 보안/프라이버시 이슈
§ 스마트폰,�PC와의 Bluetooth�통신상에서의 보안문제§ 웨어러블기기의 센싱주기사이의오류 데이터전송공격가능§ 센싱데이터 저장시,�데이터에대한암호화미지원 문제§ 데이터에접근하고자 하는사용자에대한인증/인가기능 미지원
II.�IoT 기반 헬스케어 사례
웨어러블헬스케어디바이스와보안/프라이버시이슈(4/10)
37
DANFOSS사의 PolyPower A/S
§ 사용자피부부착형 센서§ 사용자의호흡,�자세,�동작데이터수집§ 무선통신방식과 plug&play방식 제공§ 높은정확도제공
주요 보안/프라이버시 이슈
§ 자체무선 통신방식을이용,�통신보안미지원가능성§ USB�plug&play 방식에서의보안 문제§ 센싱데이터에 대한암호화미지원§ 데이터에접근하고자 하는사용자에대한인증/인가기능 미지원
II.�IoT 기반 헬스케어 사례
웨어러블헬스케어디바이스와보안/프라이버시이슈(5/10)
38
IMEC사의 WEARABLE�EEG�HEADSET/PATCH
§ 휴대용웨어러블 뇌파헤드셋및심전도측정 패치§ 심박수와 3D�가속계 정보를수집,�스마트폰등원격지에 전송§ 정확도높은뇌파정보를 기록가능하고이전기록과 비교하여분석가능§ 수집/분석된데이터는 10마일 이상의원격지에전송가능
II.�IoT 기반 헬스케어 사례
주요 보안/프라이버시 이슈
§ 스마트폰,�PC와의 Bluetooth/USB�통신상에서의 보안문제§ IEEE�802.15.6�WBANs의 보안 이슈포함§ ECG,�EEG�데이터저장시,�암호화미지원에 대한개인정보유출의 위험성
웨어러블헬스케어디바이스와보안/프라이버시이슈(6/10)
39
MOTICON사의 INTEGRATED�INSOLE
§ 웨어러블스마트 깔창§ 사용자의부상 방지및운동능력향상을도움§ 사용자의하중 분포,�움직임 패턴및발온도를실시간으로 측정가능§ 하중분포및 패턴분석으로선수의부상 방지,�능력 향상에기여§ 족질환환자의 치료를돕는정보수집
II.�IoT 기반 헬스케어 사례
주요 보안/프라이버시 이슈
§ 하중분포,�움직임패턴,�발 온도 등데이터저장시암호화 미지원§ 데이터접근에 제한이없어분실시 개인정보유출의위험성
웨어러블헬스케어디바이스와보안/프라이버시이슈(7/10)
40
nECG
§ 사용자의심전도 데이터수집§ 무선원격심장 모니터링플랫폼§ 심장병예방, 진단, 회복에사용
주요 보안/프라이버시 이슈
§ PC와의 Bluetooth�통신 상에서의보안문제§ 마이크로 SD 카드저장시데이터암호화 미지원문제§ 데이터에접근하고자 하는사용자에대한인증/인가기능 미지원
II.�IoT 기반 헬스케어 사례
웨어러블헬스케어디바이스와보안/프라이버시이슈(8/10)
41
Preventice사의 BodyGuadian RMS
§ 사용자흉부에 센서부착§ 사용자의 ECG,�심박수,�호흡수 데이터수집§ 스마트폰과의통신 방식을통한데이터전송§ 디바이스보안(암호화 통신,�데이터암호화등)§ 데이터전송보안(SSL을 통한암호화통신,�플랫폼보안)§ 데이터암호화,�사용자인증,�Oauth기능 제공
주요 보안/프라이버시 이슈
§ OAuth�보안취약성문제§ SSL�보안취약성문제
II.�IoT 기반 헬스케어 사례
웨어러블헬스케어디바이스와보안/프라이버시이슈(9/10)
42
Zephyr사의 Portable�bio-data�logger
§ 자세/활동모니터링,� ECG�모니터링§ 데이터실시간 확인혹은데이터기록기능 제공을위한 RF통신제공§ 전송가능거리:�10m§ 미국 FDA�승인완료
주요 보안/프라이버시 이슈
§ RF�통신보안 문제점(자체 RF�통신 프로토콜사용으로인한보안성 미지원)§ 데이터암호화 미지원§ 데이터에접근하고자 하는사용자에대한인증/인가기능 미지원
II.�IoT 기반 헬스케어 사례
웨어러블헬스케어디바이스와보안/프라이버시이슈(10/10)
43
Medtronic사의 Portable�glucose�level�monitoring
§ 체내혈당모니터링 기능제공§ 환자의복부에 부착,�베터리 전원사용§ 무선통신을통한 데이터전송기능제공§ 도킹스테이션을 통한베터리충전,�데이터전송§ 분석관리소프트웨어를 통한혈당분석3일 이상사용가능§ 미국 FDA�승인완료
주요 보안/프라이버시 이슈
§ RF�통신보안 문제점(자체 RF�통신 프로토콜사용으로인한보안성 미지원)§ 혈당량데이터 저장시,�데이터암호화미지원§ 데이터에접근하고자 하는사용자에대한인증/인가기능 미지원
II.�IoT 기반 헬스케어 사례
1.3�스마트공장 - 사물인터넷/CPS 기반산업
CPS(Cyber-Physical�Systems)�기반산업환경변화– S/W,�센서,�정보처리장치 등을기반으로 상품제조와 같은실제세계와
인터넷/서비스 중심의사이버 세계를통합하여 스마트생산 실현
– CPS는 인바운드물류부터 생산,�마케팅 등,�아웃바운드 물류/서비스,�생산 시설,�생산 물품 등을 ICT기반으로 End-to-End�통합
44
1차 산업혁명증기기관 발명,�기계를이용한 공장생산 시작
2차 산업혁명전력사용,�작업의규격화
및 분업이용한 대량생산 시작
3차 산업혁명산업용 로봇이용한공장 자동화시작
4차 산업혁명CPS를기반으로한
Smart�Factory�환경도래
I.�스마트 공장 개요
1.3�스마트 공장 - 개념
스마트공장(smart�factory)�개념– 업종및 기업수준에 맞춰, ICT�기반 생산시스템의 최적화구현
– 생산과정의 실시간모니터링,�공정 최적화
– 과학적품질.자원(원자재,인력,에너지 등)�관리
– 고객요구 대응,�환경 적응성높인 유연생산체계
– 실시간의사 결정및 자동적으로이뤄지는 지능화된공장
– 다품종동시 생산유연 생산
원자재, 인력, 에너지 관리
최적화품질 향상
모니터링,공정 최적화
관리 시스템
45
사물인터넷빅데이터
MES센싱
통신/네트워크
I.�스마트 공장 개요
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.�스마트 공장 개요
1.3�스마트 공장 - 로보틱스
47
Universal�Robots
http://www.universal-robots.com/
KUKA
- 머신 텐딩,�제품 포장라인,�랩 테스팅 등다용도로 사용
- 제품 조립라인등에 배치되어 다용도로사용
http://www.kuka-labs.com/
• Microsoft사의 Azure (cloud) 연동• 작업자가현장에서해당머신(로봇)의작업을학습 시킬수 있음• Machine Learning 기법활용
I.�스마트 공장 개요
1.3�스마트 공장 - 아마존 물류 시스템
48
창고로봇Kiva
- 온라인 시스템으로 주문 시 키바가 해당 제품보관함을 끌고와 작업자가 출하하도록 도움
물품배송서비스PrimeAir
- 2.3kg�이하의 제품을 반경 16km배송지로 결재 후 30분 이내 배송
기존Robot : 단순조립à 스마트공장 Robot : 설계/조립/제작/물류등이통합된역할수행
I.�스마트 공장 개요
1.3�스마트 공장 - 제철소 적용 사례
49
Big�Data�활용- 제품 불량 예측,�장비 고장예측
포스코 ICT, 철강산업의 스마트팩토리 사례, http://www.hellot.net
에너지관리시스템적용- 실시간 물류관리
통합모니터링
환경및안전관리- 위치추적 기반의 작업자 안전행동 예측
로봇활용을통한무인화Visual�Factory
- 신/증설 설계 시 사전검증- 3D�교육 컨텐츠
I.�스마트 공장 개요
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.�스마트 공장 개요
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.�스마트 공장 개요
1.3�스마트 공장 - 주요 요소 기술
52
스마트공장 주요 요소 기술- 스마트공장의 요소기술은 크게 애플리케이션,�플랫폼,�디바이스로 구성됨
§ 애플리케이션:�스마트공장 IT�솔루션의 최상위 소프트웨어 시스템
§ 플랫폼:�스마트공장 IT�솔루션의 하위단계 정보를 센싱/가공/처리/저장/공유하여,�
상위 애플리케이션에서 원하는 서비스를 수행할 수 있도록 하는 중간소프트웨어
시스템
§ 디바이스:�제조 설비와 제조 공정을 구성하거나 설비와 제조 공정 상태,�제조물,�
작업자 상태를 센싱하고 이를 플랫폼,�애플리케이션에 제공/연동하는 스마트공장
IT�솔루션의 최하위 단계를 구성 요소
II.�스마트공장 기술 로드맵
RFID, 장비동작상태 센싱, (접점), Factory of Things(IoT 센서), 작업자의수작업 입력 등이모두 디바이스 단에서 작업자의상태와 장비의 상태, 공정
상태를 알 수 있도록 함
1.3�스마트 공장 - 기술 로드맵
53
II.�스마트공장 기술 로드맵
스마트공장기술로드맵(산업부)
1.3�스마트 공장 - 기술 로드맵
54
II.�스마트공장 기술 로드맵
스마트공장기술로드맵(산업부)�:�2015년스마트공장R&D�과제영역
1.3�스마트 공장 - 애플리케이션
55
II.�스마트공장 기술 로드맵
o (배경) IoT,�빅데이터,�CPS�등 ICT를 바탕으로 실시간으로 연동·피드백되는 데이터를 효율적으로
처리·저장·관리하고 다양한 제조업무에 최적으로 활용할 수 있는 고도화된 애플리케이션에 대한
산업요구 증대
o�(목표) 가치사슬 상의 중소·중견·대기업 공장에 대한 공정설계,�생산운영,�품질분석,�설비보전,�
작업안전,�조달유통 등 산업수요 기반의 애플리케이션 및 애플리케이션 운영환경 개발
1.3�스마트 공장 - 플랫폼(1/2)
56
II.�스마트공장 기술 로드맵
o (배경)�스마트공장을 위한 IT�및 OT기술을 융합한 공통플랫폼 기술이 필요함.�이종 제조 디바이스/센서등을 공통 표준
플랫폼으로 연결하고 최적 생산을위한 클라우드,�빅데이터,�사이버물리기반 가상생산 및 시뮬레이션기술에 대한 고도화요소
기술이 요구됨
o (목표)�스마트공장의 최적 생산 및운영을 위한 생산빅데이터 애널리틱스,�사이버물리,�팩토리 자원 모델링/시뮬레이션,�
생산프로세스 제어/관,�클라우드,�생성(C)-관리(M)-운용(O)-연결(O),�Factory-Thing�D2D�Protocol,�이벤트참조모델기반판단,�
센싱정보 링크,�Factory-Thing�자원관리기술들이개발되어야함
1.3�스마트 공장 - 플랫폼(2/2)
57
II.�스마트공장 기술 로드맵
1.3�스마트 공장 - 디바이스/네트워크
58
II.�스마트공장 기술 로드맵
o�(목표) 제조 공정의 센싱ㆍ제어를 담당하는 디바이스들을 IoT�기반으로 자율ㆍ협업 제조가
가능한 미래형 스마트 디바이스 및 네트워크로 기술 개발
o�(추진방향) 단기적으로 공장의다양한 제조 환경을 고려한 다기능 센서, 고신뢰 유.무선통신
기술 개발을 통한 제조라인의 효율성 향상.�장기적으로 자율ㆍ협업 기능을 수행할 수 있는스마트
제어기 개발을 통한 제조라인의 고도화
1.4�사물인터넷 기술/서비스사례
Sen.se사의IoT�제품 (1/2)§ 개요
§ 주요특성
–Open�sen.se(http://open.sen.se/)라는 개방형 플랫폼 웹사이트를제공하고 있으며,
– 웹 기반으로 센서로부터 데이터 취합 및 이벤트를 발생 시키고,�데이터를분석하여 시각화 할 수 있는 툴을 제공함
–다양한 형태의 센싱 디바이스와 액추에이터 디바이스를 개발하고 있으며,�사용자에게 친숙한 형태의 디자인으로 실생활에 쉽게 접목될 수 있도록 함
59
I.� 사물인터넷 개요
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.� 사물인터넷 개요
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.� 사물인터넷 개요
1.4�사물인터넷 기술/서비스사례
DropCam제품§ 주요기능/특성
–방범(Home�security),�유아 모니터링,�애완 동물 관리 등의 목적으로 사용가능
–특정 영역에 대한 이미지 변화시,�스마트폰 등을 통해 알려줌
–Cloud에 모든 영상 정보 저장
62
I.� 사물인터넷 개요
모니터링 영상 정보 cloud에저장(암호화됨)
PC, 노트북, 각종모바일디바이스로해당영상 확인가능(실시간 확인도가능)
1.4�사물인터넷 기술/서비스사례
DropCam제품§ 주요기능/특성
–특정 동작 인식 기능 갖춤(학습 필요)�(예:�고양이가 식탁에 올라가는 동작,�냉장고에서 음식을 꺼내 먹는 동작 등)
– https://www.dropcam.com/cloud-recording
63
I.� 사물인터넷 개요
1.4�사물인터넷 기술/서비스사례
모뉴엘Babble�제품§ 주요기능/특성
– 아기울음소리에 대한음성인식기술및 SVM(센서 가상머신)�기술등을적용하여,� 아기상태를진동형웨어러블 워치로전달
– 아기울음소리를느끼지 못하는청각장애인부모뿐만 아니라아기와떨어져생활하는 맞벌이부모에유용함.�CES�2014�혁신기술로 선정됨
64
I.� 사물인터넷 개요
< Babble 제품 >
1.4�사물인터넷 기술/서비스사례
모뉴엘Babble�제품§ 주요구성도
65
I.� 사물인터넷 개요
1.4�사물인터넷 기술/서비스사례
Fitbit 제품§ 주요제품/구성도
– 3축 가속센서가 내장되어있어 칼로리소비,�이동 거리,�걸음 수,�계단의 사용유무나수면의 질과같은 활동패턴을 측정한다.
– 클립형장치로 크기가매우 작고휴대하기 간편하다.�푸쉬 버튼으로모드를조작할수 있다.
– 모바일장치나 PC에 무선으로 동기화되어 정보를이용할 수있다.
66
I.� 사물인터넷 개요
1.4�사물인터넷 기술/서비스사례
Fitbit 제품§ 주요제품/구성도
– 3축 가속센서가 내장되어있어 칼로리소비,�이동 거리,�걸음 수,�계단의 사용유무나수면의 질과같은 활동패턴을 측정한다.
– 클립형장치로 크기가매우 작고휴대하기 간편하다.�푸쉬 버튼으로모드를조작할수 있다.
– 모바일장치나 PC에 무선으로 동기화되어 정보를이용할 수있다.
67
I.� 사물인터넷 개요
1.4�사물인터넷 기술/서비스사례
Libelium사의 IoT�제품§ 주요구성도
68
I.� 사물인터넷 개요
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.� 사물인터넷 개요
1.4�사물인터넷 기술/서비스사례
LG�전자 IoT�제품§ HomeChat 기술
– 스마트가전과 메신저를 결합하여문자기반의 가전제어
– {냉장고+세탁기+로봇청소기+스마트TV+오븐+프린터}+메신저(LINE)
– 가전과 SNS의 연결추진(Social�Web�of�Things�개념 도입)
70
I.� 사물인터넷 개요
I.�사물인터넷과 보안
71
1.�사물인터넷 서비스 구현사례2.�사물인터넷 플랫폼 구현사례3.�사물인터넷 브로커 구현사례4.�사물인터넷 디바이스 구현사례5. 사물인터넷의 보안이슈
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)
⑦
①
②③
④
⑤
⑥
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.
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
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
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
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
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
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
개발 결과물 및 개발방법
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
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
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
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
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
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
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
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
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
…
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
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
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
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
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
§ 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 사물인터넷 플랫폼 상황인지프레임워크
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
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
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 사물인터넷 플랫폼 상황인지프레임워크
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
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
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
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.
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.
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
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
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
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.
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
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
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
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
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
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
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
2.5�사물인터넷 보안이슈 보안요구사항
IoT의주요특성과주요보안요구사항– 사물의 지능화 및 대상 사물 확대
• 지능화된사물에 의한자율적상황학습및 제어(Sensor�&�Actuator� :Autonomous�Control)�à 디바이스보안취약성 해결,�embedded�system�보안,�프라이버시침해문제,�인증/인가,�권한제어/접근제어등
– LOD,�SNS�데이터와의 통합(서비스 Mashup,� Horizontal� 서비스)• 다양한주체의 데이터/정보활용 신규서비스개발.�외부 LOD/SNS�데이터활용확대 à
API보안,�Mashup�보안,�인증/인가,�권한제어/접근제어,�프라이버시침해 문제등
– 사람/사물/서비스의 초연결 특성(Hyperconnectivity)• 다양한이기종 프로토콜/네트워킹/데이터공유기술 사용으로인한보안정합/보안취약성유발,�
Data�Analytics를 통한지식 추출/활용à프라이버시 보호(자기정보통제권),�통신/네트워크프로토콜보안/정합등
114
I.�사물인터넷 보안 취약성
2.5�사물인터넷 보안이슈 서비스
115
I.�사물인터넷 보안 취약성
사물인터넷서비스가성공하기위해중요한요소는?
– 실생활의 문제를해결하거나,�기존 방법보다효율성이 높아야함
– IoT�서비스는 외부정보 센싱/처리/저장/분석에 기반을두므로,�“프라이버시침해가능성(Big�Brother)”이 상존하므로이를 해결해야함
– 사이버공간의 해킹은곧 물리공간의 위험을의미하므로 “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
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로 부팅 가능
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�설정)�
기능을 통해 악의적코드 실행을 방지함
2.5�사물인터넷 보안이슈 서비스
119
I.�사물인터넷과 보안
DropCam§ 주요특성
–실시간 영상 혹은 기록된 영상을 통한 Surveillance�특성 +�특정 동작에대한 이벤트 감지
–WiFi 연결
–모든 영상 정보는 암호화되어 클라우드에 저장됨
–보안 특성§ 암호화되어 저장됨
§ 하지만,�사용자 영상 정보는 ID와 password�기반 접근제어,�Privacy�이슈
monitoring Image information(encrypted)
Connected with Labtop, Smartphone
2.5�사물인터넷 보안이슈 서비스
120
I.�사물인터넷과 보안
Mother�by�sen.se– 운동량,�부재여부,�온도/습도,�움직임감지– 독자프로토콜 사용à 통신기밀성제공하지않음
eavesdropping
Dedicated protocol(no security)
Mother
cookie
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.�사물인터넷과 보안
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.�사물인터넷과 보안
2.5�사물인터넷 보안이슈 플랫폼
사물인터넷플랫폼분야보안특성/문제점– 플랫폼에서는 서비스 구성 요소 보안 기능을 제공해야 함
• 사물인터넷 디바이스 보안(인증,�키 관리),�통신/네트워크 보안,�서비스 보안,�프라이버시 보호,�사물인터넷 Resolution�인프라 보안 등,�다양한 보안 기능 제공을필요로 함
– 플랫폼에서의 일반화된 보안 기술의 유효성은?
• 서비스 구성 요소(예:�특정 디바이스 보안 등)에 특화된 보안 기술을 제공해야 함
• 일반화된 플랫폼 보안/프라이버시 기술은 활용도가 낮음
• 제시된 플랫폼 보안은 보안 요구 사항 정의수준
123
III.�IoT�보안/프라이버시 이슈
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
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)
2.5�사물인터넷 보안이슈 플랫폼
126
사물인터넷Mashup서비스/API�보안특성/문제점– 과도한 SSL�의존성(OAuth2의 Token�노출 문제)
– API�보안 프로토콜보안 취약성
– Mashup 서비스보안,�Federation�보안 등
III.�IoT�보안/프라이버시 이슈
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�보안/프라이버시 이슈
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�보안/프라이버시 이슈
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�보안/프라이버시 이슈
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�보안/프라이버시 이슈
2.5�사물인터넷 보안이슈 통신/네트워크
사물인터넷통신/네트워크분야보안특성/문제점– 과도한 SSL�의존성 (높은 자원 제약성을 갖는 환경에서구현 가능 여부)
– 불완전한 표준에서의 보안 기술 정의
– 타 프로토콜 연동시의 문제점(CoAP�security� --- HTTPS�연동시의 문제점)�등
131
III.�IoT�보안/프라이버시 이슈
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:�장치에 사용 가능한
키를 미리 입력
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�통신/네트워크 보안
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�통신/네트워크 보안
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�통신/네트워크 보안
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�통신/네트워크 보안
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�통신/네트워크 보안
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�통신/네트워크 보안
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�통신/네트워크 보안
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�통신/네트워크 보안
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�통신/네트워크 보안
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�통신/네트워크 보안
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�통신/네트워크 보안
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�통신/네트워크 보안
2.5�사물인터넷 보안이슈 통신/네트워크
Mifare 카드실시간해킹보드 (CHES�2015)– Chamelonmini 보드
• Mifare 카드를사용할경우,�실시간으로복제가능함
• http://kasper-oswald.de/chameleonmini
145
V.�IoT�통신/네트워크 보안
실시간 cloning !
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
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
2.5�사물인터넷 보안이슈 프라이버시 보호
148
사물인터넷프라이버시보호특성/문제점– 정보 센싱,�가공/처리/저장/활용 단계별 프라이버시 보호 기능을 제공해야 함
• 사물인터넷 서비스 단계별 프라이버시 보호 기능을 제공해야 함
• 정보 센싱(수집)�단계에서의 프라이버시 보호
• 정보 가공/처리 단계에서의 프라이버시 보호(Re-identification� by�Linking,�Privacy�infringement� in�Data�mining�등)
• 정보 저장/활용 단계에서의 프라이버시 보호(noise�추가,�자기정보통제권 등)
III.�IoT�보안/프라이버시 이슈
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�보안/프라이버시 이슈
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�됨
2.5�사물인터넷 보안이슈 프라이버시 보호
151
사물인터넷서비스에서의위치정보침해사례– 교수 A는 자신의 위치 정보 서비스 S에 수집을 허락함
– 교수 A가 참여하고 있는 ‘자문회의’에 위원 B,C,D,…�등이 참여하고 있음을 서비스S에서는 알고 있음(공개된 정보임)
– 현재 특정인 A는 ‘자문회의’에 참석중이며,�해당 위치수집을 허락함
– 추론을 통해 위원 B,C,D,…�등의현재 위치 정보를 서비스 S에서는 알게 됨.�
서비스 S‘자문회의 위원’
위치정보 수집허용
교수 A
추론을 통한 위원B,C,D,…의 위치정보 획득가능
위원B,C,D,
…
III.�사물인터넷 플랫폼 보안
2.5 사물인터넷보안 이슈 – 프라이버시 보호
152
수집 저장 가공/분석 공유/이용, 제공/위탁 폐기
IoT
주요
단계
LOD데이터
IoT서비스
IoT주요
단계별
개인정보침해위협
서비스 1…n
IoT 클라우드
센싱데이터/정보
개인정보보호수단
• 부적절한접근으로개인 식별정보 수집
• 개인식별정보보호정책에명시되지않은항목수집
• 소유자 동의없이 사생활 모니터링
• 민감정보에 대한암호화미적용
• 적절한 보안기법미적용• 저장된데이터베이스 시
스템의 미보호• 부주의로 인해 시스템
및 서비스를 통해 개인식별정보노출
• 고의적인 개인식별정보유·노출
• 데이터 분석, 가공을 통한 개인정보추출 (?)
• 수집된개인식별정보의 부적절한 분석
• 공개된개인정보가 다른일반정보와 결합되어무단으로 습관 및 패턴 분석
• 동의없이 상품광고 및광고성 정보 제공
• 개인식별정보를 제3자에게양도 하는 등 불법적 거래
• 위탁/양도 절차 미준수로 인한 권리위협
• 파기과정 기술적� 제도적보호방안 미흡
• 명시된보유 기간 이후지속적 개인정보 보존
가공정보 공유/이용,타업자에 제공/위탁
데이터 센싱/
외부 데이터 입력폐기센싱 데이터저장 데이터 분석, 정보/지식
추출
매쉬업 서비스데이터
가공/연결
센싱정보
클라우드 저장
개인정보 수집이용 동의 개인정보 제3자 제공 동의개인정보목적외사용금지
개인정보검색 개인정보완전삭제개인정보 비식별화(익명화, 마스킹등)
개인정보보호관리체계 (개인정보보호책임자 지정, 내부관리계획, 개인정보처리방침, 영향평가 등)
개인정보보호를 위한 기술적 수단
III.�사물인터넷 플랫폼 보안
2.5�사물인터넷 보안이슈 프라이버시 보호
153
전통적인프라이버시보호기법§ 정보수집시,�동의 획득
– 개인정보 수집시,�개인정보 소유자로부터동의 획득
§ 암호화를 통한프라이버시 보호
– Confidentiality�제공 ~�프라이버시보호
§ 접근제어를 통한정보 유출방지
– 사례)�DB�접근 제어를통한 정보유출 방지 (cf.�DB�암호화,�searchable�encryption�in�DB)
§ 시스템보안 기법을통한 정보유출 방지
–방화벽,�sandbox,�etc.�
프라이버시를 정보에대한 기밀성보장,�접근제어,�시스템보안 등을통해서 완벽히제공할수 없음§ 빅데이터 처리,�데이터마이닝기법은 프라이버시 침해가능성을 높임
III.�IoT�보안/프라이버시 이슈
2.5�사물인터넷 보안이슈 프라이버시 보호
154
데이터수집 및 publish 단계에서의프라이버시 보호 (Sanitization�기법)
§ Input�perturbation
– 입력 값에 noise�추가(즉,�database에 random�noise�추가)
§ Output�perturbation
– Data statistics�정보에 noise�추가/�Output�값에 noise�추가
III.�IoT�보안/프라이버시 이슈
2.5�사물인터넷 보안이슈 프라이버시 보호
155
가공/활용 단계에서의프라이버시 보호 à Privacy�preserving�data�mining�기법필요
데이터마이닝은단편화된데이터/정보로부터의미있는정보및지식을얻음§ 사용자의 동의를받거나,�기밀성이 적용된단편화된 정보를타 정보와결합함으로서 고급정보 추출
§ 연관성분석,�분류,�예측,�군집화 등각종 마이닝기법을통해 프라이버시침해가능성높은 개인정보를 만들거나/추출할수 있음
프라이버시 침해문제는 top-tier�서비스 수준에서중요하게 취급되어야함
§ 데이터수집/전송/저장 단계에서프라이버시 보호를위한 기술적인절차도중요하지만,�
§ 가공/활용 단계에서프라이버시 보호를위한 기술적인조치는 더욱중요함
III.�IoT�보안/프라이버시 이슈
2.5�사물인터넷 보안이슈 디바이스
사물인터넷디바이스분야보안특성/문제점– 디바이스에 대한 부채널 공격의 용이함 및 높은자원제약성으로 인한경량 암호 구현의어려움
– 디바이스에 대한 부채널 공격• 소비전력분석공격(SPA,�DPA)�:�비밀키 값추출
– 디바이스 H/W Crack/Reversing� 공격• Chip�Cloning,�Chip�Reversing,�ROM�Code�추출,�key/password�값 추출 등
– 디바이스 OS�,�SW�공격• 악성코드삽입,�Code�Cracking�공격등
156
II.�IoT 디바이스 경량 암호
2.5�사물인터넷 보안이슈 디바이스
디바이스부채널공격
157
II.�IoT 디바이스 경량 암호
소비전력정보
http://en.wikipedia.org/wiki/Power_analysis
소비전력 정보
암호키값/비밀번호추출
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
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 디바이스 경량 암호
2.5�사물인터넷 보안이슈 디바이스
사물인터넷디바이스용경량암호§ 경량암호 알고리즘구현 이슈
– Block Cipher:�PRESENT,�LEA,�AES�등
– Public�Key�Cryptography:�ECC�(NIST�compliant)�
– Target�Platform�:�MSP430,�Atmega,�Cortex�M3�등
– Smart�Dust��디바이스 환경?�
160
II.�IoT 디바이스 경량 암호
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
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.�디바이스 보안
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.
2.5�사물인터넷보안이슈 D-LINK�DCS-2132L
Metasploit§ dlink_dcp_command_exec
164
VI.�디바이스 보안
2.5�사물인터넷보안이슈 D-LINK�DCS-2132L
165
Password 임의로 설정
VI.�디바이스 보안
2.5�사물인터넷보안이슈 D-LINK�DCS-2132L
ssh 를통해접속
166
VI.�디바이스 보안
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.�디바이스 보안
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.�디바이스 보안
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.�디바이스 보안
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.�디바이스 보안
2.5�사물인터넷 보안이슈 Control4�HC-250
Attack�Target§ Custom�console� port�5800
• Ncat can�be�used�to�access� to�the�device
§ Webserver
171
VI.�디바이스 보안
2.5�사물인터넷 보안이슈 Control4�HC-250
Approaches§ can’t�drop�to�uboot
§ boot�to�shell�
§ login�with�default• root�
• password:t0talc0ntr0l4!�
172
VI.�디바이스 보안
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.�디바이스 보안
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.�디바이스 보안
2.5�사물인터넷 보안이슈 Hive
115200�baud
175
VI.�디바이스 보안
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.�디바이스 보안
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.�디바이스 보안
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.�디바이스 보안
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.�사물인터넷 경량 암호 기술
경량대칭키 암호기술 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.�사물인터넷 경량 암호 기술
경량대칭키 암호기술 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.�사물인터넷 경량 암호 기술
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.�사물인터넷 경량 암호 기술
경량대칭키 암호기술 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.�사물인터넷 경량 암호 기술
경량대칭키 암호기술 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.�사물인터넷 경량 암호 기술
경량대칭키 암호기술 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.�사물인터넷 경량 암호 기술
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.�사물인터넷 경량 암호 기술
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.�사물인터넷 경량 암호 기술
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.�사물인터넷 경량 암호 기술
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.�사물인터넷 경량 암호 기술
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.�사물인터넷 경량 암호 기술
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.�사물인터넷 경량 암호 기술
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.�사물인터넷 경량 암호 기술
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.�사물인터넷 경량 암호 기술
4bit�Micro-Controller�소비전력측정
EPSON�S5U1C6F016T1상에서의암호연산소비전력측정§ EPSON�S5U1C6F016T1� 동작 주파수(최대):�4MHz
§ EPSON�S5U1C6F016T1� 동작 전압:�3V
§ EPSON�S5U1C6F016T1� 동작 전류:�약 3.5mA
§ 소비전력 측정:�전압*전류*(cycles*2)/동작주파수
§ 소비전력 측정 공식을 통해,�소비전력에 대한 예측치를 구할 수 있음
194
II.�사물인터넷 경량 암호 기술
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.�사물인터넷 경량 암호 기술
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.�사물인터넷 경량 암호 기술
대칭키암호화 성능비교
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.�사물인터넷 경량 암호 기술
대칭키암호화 성능비교
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.�사물인터넷 경량 암호 기술
대칭키암호화 성능비교
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.�사물인터넷 경량 암호 기술
대칭키암호화 성능비교
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.�사물인터넷 경량 암호 기술
대칭키암호화 성능비교
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.�사물인터넷 경량 암호 기술
대칭키암호화 성능비교
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.�사물인터넷 경량 암호 기술
경량공개키 암호기술
203
타원곡선암호화(ECC)�구현 결과§ 그룹연산 및 프로토콜 수행 결과 (8MHz,�8-bit�프로세서,�단위:�second)�
II.�사물인터넷 경량 암호 기술
I.�사물인터넷과 보안
204
1. OneM2M�개요2. OneM2M�구현 사례3. OneM2M�보안
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.�사물인터넷과 보안
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.�사물인터넷과 보안
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.�사물인터넷과 보안
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
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’
서버, 센서, 디바이스 등에올라가는 미들웨어스택
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
3.1�OneM2M�개요 - Architecture
원격조명제어애플리케이션– IN-AE�:원격 조명제어스마트폰 애플리케이션
– IN-CSE�:oneM2M�공통 서비스 플랫폼
– MN-CSE�:�게이트웨이
– MN-AE�:�게이트웨이애플리케이션
– AND-AE�:�조명 (Hue)�
211
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
기본구조 예제
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> 위치 정보획득및 관리와관련된정책저장
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의목록
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
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
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> 자원의주소
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
3.1�OneM2M�개요 - Common�Service�Function(CSF)
§ Data�Management�and�Repository(DMR)�CSF– 데이터저장소 기능
• 데이터의분류,�포맷변경,�처리등의기능 제공
• 다양한데이터 저장기능
– 애플리케이션 데이터
– 서비스 구독 정보 데이터
– 과금 데이터
– 위치 정보 데이터
– 디바이스 정보 데이터
– 접근 제어 정책을 통한 데이터 접근• 요청및전달 데이터에대한보관및 처리
– Store-and-Forward
• 빅데이터저장 및처리기능
219
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
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)
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 전송
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
3.1�OneM2M�개요 - Common�Service�Function(CSF)
§ Group�Management(GMG)�CSF• 리소스들의 그룹핑을담당,�그룹 리소스에대한 관리기능- Bulk�Operation� :�그룹 리소스에 속한멤버 리소스들에게 동일한기능실행
- 같은접근권한을 가진리소스들이그룹핑*�GMG�CSF가 이를검증하는역할담당
224
2. Bulk Operation1. Request to group resource
3. 결과취합하여응답
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
3.1�OneM2M�개요 - Common�Service�Function(CSF)
§ Subscription�and�Notification(SUB)�CSF• 리소스에 대한구독정보 관리
• 리소스및 Attribute에 대한 업데이트발생,�삭제등해당리소스에대한 트랙킹및관련변화 정보통지역할
• 이벤트가발생했을 때,�Notification�URI�정보를바탕으로 통보
• 싱글/그룹리소스에대한구독 가능
226
create<subscription>
resource
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
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
3.1�OneM2M�개요 - Common�Service�Function(CSF)
§ Location�CSF• AE의 위치정보요청에 대해서 ASN,�MN과 관련된 위치정보를획득하기 위한
방법제공- 위치정보 제공 서버 활용
- 위치수신 하드웨어(GPS) 활용
- 공유 방식의 위치정보 제공(for�constrained� device)
229
공유 방식의 위치정보 제공 방법
자신의 위치 정보 요청
Topology 기반의상대적인 위치정보제공
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 등)
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..
3.1�OneM2M�개요 - Common�Service�Function(CSF)
§ Service�Charging�and�Accounting�CSF• oneM2M�공통 서비스플랫폼을 통해서제공되는 서비스에대한 과금체계및
방법에관한 기능제공- 가입 기반 과금 방식 :�서비스 프로바이더의 서비스에 가입하여 리소스 접근
- 이벤트기반 과금 방식 :�리소스 접근마다 이벤트가 발생하여 이를 과금에 활용
• 3가지 기능- Charging�Management� Function
*�과금과관련된 정책및설정관리
- Chargning� Triggering� Function*�과금이벤트에 대한처리및정보 기록
- Offline�Charging�Fuction
*�오프라인 과금정보 기록(트랜잭션 단위)
232
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 리스트 정보실패• 실패원인 및 에러정보
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
3.1�OneM2M�개요 - Message�Flow
Response�Message�Parameters– Mandatory
• Response�Code
• Request� Identifier
– Operation�Dependent• Content
– Optional• To
• From
• Originating�Timestamp
• Status�Code
• …
• …
235
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)
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
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
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 생성
처리완료확인
처리완료확인에대한응답(처리 결과전달)
접근권한 확인
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
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
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
3.1�OneM2M�개요 - Protocol
Data�Type– Common�Data�Types
• 기존에많이사용되고 있는 XML�Schema�Language(XSD)�사용
243
데이터타입 설명
xs:string XML에서글자를 표현
xs:boolean 논리적인 참/거짓
xs:decimal 십진수로 표현되는실수를 표현
xs:duration 시간 주기를 표현
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
3.1�OneM2M�개요 - Protocol
Primitive(Request/Response)�Parameter의 Data�Type
245
Data Types for Request Primitive parameters
Data Types for Response primitive parameters
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
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
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
3.2�OCEAN�소개및 현황
249
OCEAN�:�Open�allianCE for�Iot stANdard§ OCEAN�소개
§ 표준기반 사물인터넷 오픈소스 연합체
§ WiFi 연결,�스마트폰 제어
§ IoT 플랫폼,�제품,�서비스의 개발 및 사용화 촉진
§ 글로벌 표준을 기반으로 개발된 오픈소스 공유
§ 기업 및 기관을 대상으로 하는 회원제
§ 오픈소스 라이선스 규정에 따라 자유롭게 상용화 가능
§ 멤버사는 개발된 소스코드 배포 가능
§ 멤버는 3-Clause�BSD�오픈소스 라이선스 규정 적용
§ IPR정책은 참조 표준의 정책 따름
3.2�OCEAN�소개및 현황
250
OCEAN�:�Open�allianCE for�Iot stANdard§ OCEAN�목적
§ IoT 글로벌 표준을 기반으로 개발된 오픈 소스를 공유
§ 표준기반 IoT 서비스의 조기 개발 및 상용화를 촉진
§ 표준기술을 활용하여 대·중·소 기업간 협력 도모하기 위한 매개체역할을 수행
§ 글로벌 시장에 진출하기 위해 오픈소스 연합체를 유지
§ IoT 산업 활성화
I.�IoT 공통 플랫폼 Mobius�분석
3.2�OCEAN�소개및 현황
251
OCEAN�:�Open�allianCE for�Iot stANdard§ OCEAN��가입 기업 현황
§ 표준기반 사물인터넷 오픈소스 얼라이언스:�220개 맴버사 가입 (15.10.15�기준)
I.�IoT 공통 플랫폼 Mobius�분석
※�20여기업은로고파일 이상으로 보이지 않음
3.2�OCEAN�소개및 현황
252
OCEAN�:�Open�allianCE for�Iot stANdard§ OCEAN�추진현황
§ Mobius�Family
I.�IoT 공통 플랫폼 Mobius�분석
Mobius
Java�Spring�framework
Node.js�framework�
OCEAN�:�Open�allianCE for�Iot stANdard§ OCEAN�추진전략
§ Open source�directions
§ Focus�on�oneM2M� standard
§ Interwroking functions
3.2�OCEAN�소개및 현황
253
I.�IoT 공통 플랫폼 Mobius�분석
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.
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
3.3�oneM2M과Mobius�- Protocol
256
CoAP :�Constrained�Application�Protocol§ CoAP 소개
§ Open�IETF�Standard
§ 저전력,�고손실 네트워크 및 소용량,�소형 노드에 사용될 수 있는 특수한 웹전송프로토콜
§ 데이터그램 방식 의 트랜스포트 계층 위에서 비동기적으로 전송
§ DTLS�Security
I.�IoT 공통 플랫폼 Mobius�분석
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�분석
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�분석
3.3�oneM2M과Mobius�- Protocol
259
MQTT:�M2M/IoT connectivity�protocol§ Topic
§ Pub와 Sub는 토픽을기준으로동작
§ 토픽은 /를이용해계층적으로 구성가능
§ 대량의 센서/기기들을 효과적으로 관리
§ EX)
I.�IoT 공통 플랫폼 Mobius�분석
3.3�oneM2M과Mobius�- Protocol
260
MQTT:�M2M/IoT connectivity�protocol§ Message�Bus
§ 브로커는메시지 버스에메시지를전송
§ 버스에 Topic을 이름으로 하는채널을만들고클라이언트는 채널로메시지수신
§ EX)
I.�IoT 공통 플랫폼 Mobius�분석
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
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
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
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
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
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
주요리소스
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
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�분석
3.4�oneM2M과Mobius�- Architecture
oneM2M�in�Mobius�Platform– oneM2M에서 제정된 CSF과 Mobius�에서 지원하는 CSF
– 각 기능을 RESTful�API로 제공 (Resource�Tree�Access)
269
3.4�oneM2M과Mobius�- Architecture
270
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
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
사용자등록
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
사용자등록
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�생성
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
생성
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�생성
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�생성
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
디바이스데이터결과전송
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
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
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와 연동을 수행
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와 연동을 수행함
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
3.6�&Cube�플랫폼 구조
284
&Cube 플랫폼 버전 별 상세 구조
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
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
3.6�&Cube�플랫폼 구조
287
&Cube 연동 구조
3.6�&Cube�플랫폼 구조
288
&Cube 연동 구조
AE(&Cube:Lavender)TAS
Smart Socket
Aaaㄴ
3.7�&Cube�플랫폼 소스분석
289
&Cube 플랫폼 소스 구조
Manger은 다음과 같이 6개로 구성되어 있으며각각 Package로 개발되어 있음.
Main Method의 동작은 Device Manager에서최초구동을 담당하며 각각의 Manager들은
Thread로서 동작
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 플랫폼 소스코드 상세분석
3.7�&Cube�플랫폼 소스분석
291
TAS 소스 구조
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 전송 메시지
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 전송 메시지
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
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
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인 경우사용
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
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
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)
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 보안의 핵심계층
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자간인증을 수행
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�
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
3.3 OneM2M�보안
304
III.�사물인터넷 플랫폼 보안
OneM2M�Security�Framework§ Security�Association�Establishment�Frameworks
– Credential�Configuration
• 사전 파라미터 설정 단계
– Association�Configuration• 상대방 정보 송수신
– Association�Security�Handshake• 상호 인증
3.3 OneM2M�보안
305
대칭키기반두entity간인증기법– 동일한 비밀키를 서로 공유했는지 여부를 확인함
공개키(Certificate)�기반두entity간인증기법– 특정 entity의 비밀키로 암호화한 경우, 이를 certificate 상의 공개키로검증했을 때, 해당 entity의 신원(identity)는 확인됨(인증됨)
IV.�OneM2M�보안
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�보안
3.3 OneM2M�보안 - Certificate�기술
307
프로토콜버전– Interoperability� between� l
Client와 Server��
IV.�OneM2M�보안
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:
3.3 OneM2M�보안 - 공개키암호 기술(secp256r1)
309
IV.�OneM2M�보안
짧은키길이와높은성능을위해타원곡선암호사용– Prime field상의 타원곡선 암호 사용 : secp256r1 (INST P-256 커브)– GF(p)상에서 정의됨
Curve ( , , , , , )T p a b G n h=
3.3 OneM2M�보안 - 공개키암호 기술(secp256r1)
310
IV.�OneM2M�보안
인증및키교환을위해선ECDSA,�ECDH�사용– ECDSA : 서명 생성 및 검증 프로토콜– ECDH : 원격 키 분배 프로토콜
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 가접근 허용여부를 결정하는 단계
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�보안
3.3 OneM2M�보안 - TLS�기술
313
TLS는크게두가지종류의프로토콜로구성됨(1)�Handshake�protocol
– Client와 Server사이에 공유 비밀키 설정을 위해 공개키 암호 사용(2)�Record�protocol(Secure�Transfer�of�Application�Data)
– 공유한 비밀키를 사용하여 메시지에 대한 안전한 전송 수행
IV.�OneM2M�보안
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�보안
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�보안
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의목적: - 상호인증과 키교환
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�보안
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�보안
맺음말
사물인터넷구성요소별보안/프라이버시보호기술제공해야§ 센서/디바이스,�통신/네트워크,�플랫폼,�응용서비스 등 사물인터넷 구성 요소 각각 및 통합관점에서의 보안 필요
– 사물인터넷 디바이스• 부채널공격문제와 디바이스의높은자원 제약성을고려한보안기술
– 사물인터넷 통신/네트워크 분야• 기존표준의한계 극복필요
• 불완전한 CoAP�보안(DTLS),�MQTT�보안(SSL)
– 사물인터넷 플랫폼
• 서비스에특화된 플랫폼보안기술필요
– 사물인터넷 프라이버시 보호• 정보센싱에서 가공/처리/저장/활용,�각 단계별프라이버시보호필요
– 사물인터넷 매쉬업 보안/서비스 API�보안• 과도한 SSL�의존성문제와기존 프로토콜의보안취약성
• 매쉬업보안기술 부재
319
VII.�맺음말 및 Q&A
320
참고자료
[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
참고 자료