본문 바로가기 주메뉴 바로가기
국회도서관 홈으로 정보검색 소장정보 검색

목차보기

Title Page

Abstract

Contents

List of Abbreviations 12

Chapter 1. Introduction 13

1.1. Motivation 14

1.2. Objectives and Contributions 15

1.3. Research Taxonomy 17

1.4. Outline 19

Chapter 2. Background 20

2.1. IoT Platform 20

2.1.1. Heterogeneity 21

2.1.2. FIWARE 23

2.1.3. oneM2M 24

2.2. OAuth 2.0 Framework 26

2.2.1. Overview 26

2.2.2. Authorization grant flows 28

2.3. Related Work 36

2.3.1. Interoperability studies for the IoT 37

2.3.2. OAuth studies for the IoT 45

Chapter 3. Interoperable OAuth 2.0. Framework 52

3.1. Target Environment 52

3.2. Core Components and Functionalities 53

3.3. Requirements and Assumptions 56

3.4. Extended Authorization Grant Flows 58

3.4.1. Authorization code for multiple domains 58

3.4.2. Implicit for multiple domains 62

3.4.3. Multiple resource owners' password credentials 66

3.4.4. Multiple client credentials 69

3.4.5. Summary 72

3.5. Discussions 74

Chapter 4. Security Analysis: The Threat Model 77

4.1. Assumptions 78

4.2. Threats and Countermeasures 79

4.2.1. Authorization code for multiple domains (ACMD) 79

4.2.2. Implicit for multiple domains (IMD) 85

4.2.3. Multiple resource owners' password credentials (MROPC) 87

4.2.4. Multiple clients' credentials (MCC) 89

4.2.5. Other security considerations 91

Chapter 5. Proof of Concept 93

5.1. Feasible Scenario 93

5.2. Implementation 96

5.2.1. Registration server 96

5.2.2. Authorization server 98

5.2.3. FIWARE server and client 100

5.2.4. oneM2M server and client 103

5.3. Demonstration 105

Chapter 6. Conclusion 108

Reference 111

국문초록 126

List of Tables

Table 1. Examples of different token formats of the IoT platforms. 22

Table 2. Comparison of Interoperability Studies for the IoT 43

Table 3. Comparison of OAuth Studies for the IoT 50

Table 4. Summary and Comparison of the Extended Authorization Grant Flows. 73

List of Figures

Figure 1. An example of the existing IoT environments. IoT platforms (e.g., AWS IoT,... 14

Figure 2. A taxonomy of IoT interoperability studies. The asterisk mark denotes the... 18

Figure 3. The role of IoT platform. 20

Figure 4. Heterogeneity problem among IoT platforms. 21

Figure 5. FIWARE GEs. 23

Figure 6. Context data model of FIWARE. 24

Figure 7. Layered model of oneM2M. 24

Figure 8. oneM2M resource tree. 25

Figure 9. The simplified authorization flow of the OAuth 2.0 framework. The client... 26

Figure 10. Overview of the authorization code grant flow. An access token is issued... 28

Figure 11. GET request for an authorization code. A client must include the... 29

Figure 12. The AS's response for the authorization code request. The AS sends the... 29

Figure 13. POST Request for an access token. The client credentials must be encoded... 30

Figure 14. AS's response for the access token request. In general, an access token is... 30

Figure 15. Overview of the Implicit grant flow. 31

Figure 16. GET request for an access token. To initiate the implicit grant flow,... 32

Figure 17. AS's response for the access token request. The access token is attached to... 32

Figure 18. Overview of the resource owner password credentials grant flow. 33

Figure 19. POST request for an access token. To initiate the ROPC grant flow, the... 33

Figure 20. AS's response for the access token request. 34

Figure 21. Overview of the client credentials grant flow. 34

Figure 22. POST request for an access token. To initiate the client credentials grant... 35

Figure 23. AS's response for the access token request. 35

Figure 24. An overview of the IOAF and core components. There are three main... 54

Figure 25. Overview of the IOAF. Interoperability between the heterogeneous IoT... 55

Figure 26. Overview of the ACMD authorization grant flow. In the flow, the client... 59

Figure 27. Detailed Flow of the ACMD authorization grant flow. 60

Figure 28. Overview of the IMD authorization grant flow. Compared with the ACMD,... 63

Figure 29. Detailed flow of the IMD. 64

Figure 30. Overview of the MROPC authorization grant flow. A client can obtain an... 67

Figure 31. Detailed Flow of the MROPC authorization grant flow. 68

Figure 32. Overview of MCC. 70

Figure 33. Detailed flow of the MCC. 71

Figure 34. An impersonation attack scenario in ACMD authorization grant flow. The... 80

Figure 35. An overview of a network eavesdropping attacks for capturing critical... 82

Figure 36. Overview of ACMD with PKCE. 83

Figure 37. An overview of eavesdropping attacks on the MROPC authorization grant flow. 88

Figure 38. An eavesdropping attack overview on the MCC authorization grant flow. 90

Figure 39. Overview of the feasible interoperability scenario for IoT platforms. 94

Figure 40. Web pages for registration server. (a) sign in page (b) sign up page. 97

Figure 41. Client registration page. 97

Figure 42. FIWARE environment. FIWARE server is deployed in desktop PC and the... 101

Figure 43. FIWARE resource tree for DHT11. 102

Figure 44. oneM2M environment. oneM2M server and client are deployed on the... 103

Figure 45. oneM2M resource tree. 104

Figure 46. Interoperability scenario between FIWARE and oneM2M. 105

Figure 47. HTTP request for an IAT. 106

Figure 48. IAT Issued from the FIWARE AS. 106

Figure 49. HTTP request and response for oneM2M resource with an IAT issued from FIWARE. 107

Figure 50. Unauthorized error message when invalid IAT is used. 107

초록보기

사물인터넷은 우리의 일상과 산업 전반에 있어서 필수적인 패러다임이 되어가고 있다. 특히 사물인터넷은 센서, 서비스, 사람과 같은 사물들을 연결하는 것이 가능한 기술로, 스마트 시티, 스마트 홈, 스마트 카, 원격 진료 등의 다양한 스마트 서비스들에 활용되어 접근성과 활용성을 높이고 있다. 또한, 사물인터넷은 많은 사물들이 연결될수록 효과적이므로, 사람의 개입 없이 초연결성을 제공하는 이상적인 사물인터넷을 구현하기 위해서는 이종 사물인터넷 시스템 간에 상호운용성을 제공하는 것이 앞으로 필수적이다.

그러나, 사물인터넷을 위한 표준과 기술들은 간혹 이상적인 사물인터넷 환경을 구축하기 위해 필요한 상호운용성에 대해서 충분한 논의 없이 설계되고 있다. 사물인터넷을 포함하여 기존의 웹 환경에서도 널리 사용되고 있음에도 불구하고 상호운용성을 고려하지 않은 채 제정된 OAuth(Open Authorization) 2.0 프레임워크가 그런 표준들 중 하나이다. 따라서, 어떠한 시스템이 OAuth 2.0 프레임워크를 구현하더라도 다른 OAuth 기반 시스템과 상호 운용될 수 있는지는 보장되지 않는다. 초연결성은 사물인터넷의 가장 중요한 목표이므로, 이종의 사물인터넷 시스템 간의 보안 상호운용성은 반드시 제공되어야 한다.

그러므로 본 논문에서는 기존의 OAuth 2.0 프레임워크를 확장하여 이종의 사물인터넷 시스템 간에 보안 상호 운용이 가능한 OAuth 2.0 프레임워크(IOAF; interoperable OAuth 2.0 framework)를 제안한다. IOAF는 상호 운용 가능한 인가 계층으로써 사물인터넷 시스템에 배치되며, 상호 운용 토큰(IAT; interoperable access token)을 기반으로 이종 시스템 간의 보안 상호운용성을 제공한다. 상호 운용 토큰은 하나 이상의 사물인터넷 도메인에 대한 접근 권한을 가지는 글로벌 접근 범위(global access scope)를 가짐으로써 보안 상호운용성을 지원하며, 이를 발급하기 위해서 IOAF는 네 가지 확장된 인가 허가 유형(authorization code for multiple domains (ACMD), implicit for multiple domains (IMD), multiple resource owners' password credentials (MROPC), and multiple clients' credentials (MCC))들을 지원한다. 다시 말해, 본 논문은 IOAF와 상호 운용 토큰을 통해 이종의 사물인터넷 시스템 간에 보안 상호운용성을 제공할 수 있는 인가 프레임워크를 제안한다.

또한, 본 논문은 위협 모델을 기반으로 IOAF와 상호 운용 토큰을 발급하는 네 가지 확장된 인가 허가 유형의 보안에 대해서 분석하며, 이러한 보안 분석의 결과로, 각 인가 허가 유형에 대한 잠재적 위협과 대응 방안들을 식별한다. 더 나아가서, 본 논문에서는 IOAF를 구현하고 실현 가능한 상호 운용 시나리오를 정의하여 유망한 사물인터넷 플랫폼인 FIWARE와 oneM2M을 대상으로 보안 상호 운용 시나리오가 실제로 수행 가능함을 보인다.