Please use this identifier to cite or link to this item: https://ah.nccu.edu.tw/handle/140.119/138382


Title: 區塊鏈與物聯網整合架構下資料匯集與使用者自主管理存取機制的設計樣式
Design Patterns for Accountable Data Collection and User-Managed Access Mechanism in Blockchain-driven IoT Services
Authors: 林俊安
Lin, Chun-An
Contributors: 廖峻鋒
Liao, Chun-Feng
林俊安
Lin, Chun-An
Keywords: 區塊鏈
物聯網
邊界運算
設計樣式
使用者自主管理存取
Blockchain
Internet-of-Things
Edge computing
Design pattern
User- Managed Access
Date: 2020
Issue Date: 2022-01-03 16:09:28 (UTC+8)
Abstract: 近年來,越來越多開發人員開始將區塊鏈與異質技術結合。其中,因為區塊鏈具有高度去中心化與擴展性,故區塊鏈與物聯網整合服務,又稱 B-IoT (Blockchain-driven IoT services),受到很大的矚目,也有許多實作原型被提出。由於區塊鏈技術仍在發展階段,因此,建置高品質的B-IoT系統困難度較高。在匯集物聯網裝置中的資料時,裝置間互動機制的設計會對資料的安全性、系統的效能與成本造成極大的影響。此外,由於近年來資安攻擊事件頻繁,許多物聯網開發人員選擇依賴於中心化的存取控制服務來確保系統的安全。然而,若越依賴中心化的存取控制機制,系統的可用性與可維護性則越低。基於上述原因,本論文聚焦於在B-IoT中部署區塊鏈節點的邊界伺服器與物聯網裝置的架構,討論三種可行的資料匯集設計樣式。另一方面,也針對物聯網的存取控制議題進行研究,並提出基於區塊鏈的使用者自主管理存取機制與其設計樣式。最後,本論文以「智慧海運」系統為案例,實作實證系統並進行可行性分析,以引導開發人員縮短開發時間,並建置出具高品質與安全性的系統。
There is an increasing number of software developers that take advantage of blockchain technology in their projects. Meanwhile, IoT (Internet of Things) is recognized as one of the most promising application domains for blockchain technology due to the highly distributed and extensible nature of blockchain. When collecting data in the blockchain-driven IoT services (B-IoT), the security, throughput, and cost of the data are highly affected by the underlying design strategies of the communication and interaction mechanisms. Besides, traditionally IoT systems rely on centralized access control services. However, the more reliance on the centralized access control mechanism, the lower availability, and scalability of the system can be. On these grounds, the objective of this thesis is two folds. First, the design issues of data collection among the edge server and IoT devices in the B-IoT system are investigated. Then, this research also suggests a decentralized access control approach for B-IoT based on UMA (User-Managed Access). Finally, the findings are presented following the design pattern format to make them reusable by other developers. To explain how these patterns work, this thesis also introduces an “Intelligent Refrigerated Shipping Containers” scenario. Moreover, the prototype is implemented based on the proposed patterns to demonstrate the feasibility. Also, several experiments are conducted to evaluate the performance of the system. The results show that the proposed patterns are feasible and are able to realize a decentralized access control within a reasonable cost of response time.
Reference: [1] S. Nakamoto, "Bitcoin: A peer-to-peer electronic cash system," 2008.
[2] X. Xu, I. Weber, M. Staples, L. Zhu, J. Bosch, L. Bass, C. Pautasso, and P. Rimba, "A taxonomy of blockchain-based systems for architecture design," in 2017 IEEE International Conference on Software Architecture (ICSA), 2017: IEEE, pp. 243-252.
[3] L. Atzori, A. Iera, and G. Morabito, "The internet of things: A survey," Computer networks, vol. 54, no. 15, pp. 2787-2805, 2010.
[4] P. Brody and V. Pureswaran, "Device democracy: Saving the future of the internet of things," IBM, September, 2014.
[5] J. G. Andrews, S. Buzzi, W. Choi, S. V. Hanly, A. Lozano, A. C. Soong, and J. C. J. I. J. o. s. a. i. c. Zhang, "What will 5G be?," vol. 32, no. 6, pp. 1065-1082, 2014.
[6] Ethereum Foundation. "Light Ethereum Subprotocol (LES)." https://github.com/zsfelfoldi/go-ethereum/wiki/Light-Ethereum-Subprotocol-%28LES%29 (accessed February 4, 2020).
[7] H. Sun, S. Hua, E. Zhou, B. Pi, J. Sun, and K. Yamashita, "Using ethereum blockchain in Internet of Things: A solution for electric vehicle battery refueling," in International Conference on Blockchain, 2018: Springer, pp. 3-17.
[8] F. Buschmann, R. Meunier, H. Rohnert, P. Sommerlad, and M. Stal, Pattern-Oriented Software Architecture - Volume 1: A System of Patterns. Wiley Publishing, 1996, p. 476.
[9] M. Wöhrer and U. Zdun, "Design patterns for smart contracts in the ethereum ecosystem," in 2018 IEEE International Conference on Internet of Things (iThings) and IEEE Green Computing and Communications (GreenCom) and IEEE Cyber, Physical and Social Computing (CPSCom) and IEEE Smart Data (SmartData), 2018: IEEE, pp. 1513-1520.
[10] M. Wohrer and U. Zdun, "Smart contracts: security patterns in the ethereum ecosystem and solidity," in 2018 International Workshop on Blockchain Oriented Software Engineering (IWBOSE), 2018: IEEE, pp. 2-8.
[11] X. Xu, C. Pautasso, L. Zhu, Q. Lu, and I. Weber, "A Pattern Collection for Blockchain-based Applications," presented at the Proceedings of the 23rd European Conference on Pattern Languages of Programs, Irsee, Germany, 2018.
[12] J. Eberhardt and S. Tai, "On or off the blockchain? Insights on off-chaining computation and data," in European Conference on Service-Oriented and Cloud Computing, 2017: Springer, pp. 3-15.
[13] C.-F. Liao, C.-C. Hung, and K. Chen, "Blockchain and the Internet of Things: A Software Architecture Perspective," in Business Transformation through Blockchain: Springer, 2019, pp. 53-75.
[14] D. C. Schmidt, M. Stal, H. Rohnert, and F. Buschmann, Pattern-Oriented Software Architecture, Patterns for Concurrent and Networked Objects. John Wiley & Sons, 2013.
[15] D. Evans, "The internet of things: How the next evolution of the internet is changing everything," CISCO white paper, vol. 1, no. 2011, pp. 1-11, 2011.
[16] S. Z. S. Idrus, E. Cherrier, C. Rosenberger, and J.-J. Schwartzmann, "A review on authentication methods," 2013.
[17] A. Z. Ourad, B. Belgacem, and K. Salah, "Using blockchain for IOT access control and authentication management," in International Conference on Internet of Things, 2018: Springer, pp. 150-164.
[18] R. Almadhoun, M. Kadadha, M. Alhemeiri, M. Alshehhi, and K. Salah, "A user authentication scheme of iot devices using blockchain-enabled fog nodes," in 2018 IEEE/ACS 15th International Conference on Computer Systems and Applications (AICCSA), 2018: IEEE, pp. 1-8.
[19] Kantara Initiative. "User-Managed Access (UMA) Core Protocol draft-hardjono-oauth-umacore-00." https://tools.ietf.org/html/draft-maler-oauth-umagrant-00 (accessed February 4, 2020).
[20] E. Maler, "Controlling Data Usage with User-Managed Access (UMA)," in W3C Privacy and Data Usage Control Workshop, Cambridge, 2010.
[21] M. A. Khan and K. Salah, "IoT security: Review, blockchain solutions, and open challenges," Future Generation Computer Systems, vol. 82, pp. 395-411, 2018.
[22] F. L. Viktor Trón. "Go-ethereum." https://github.com/ethereum/go-ethereum (accessed February 4, 2020).
[23] V.Buterin. "A Next-Generation Smart Contract and Decentralized Application Platform." https://github.com/ethereum/wiki/wiki/White-Paper (accessed February 4, 2020).
[24] Ethereum Foundation. "Whisper." https://github.com/ethereum/wiki/wiki/Whisper (accessed February 4, 2020).
[25] Ethereum Foundation. "w3f." https://github.com/w3f/messaging/ (accessed February 4, 2020).
[26] A. M. Antonopoulos and G. Wood, Mastering ethereum: building smart contracts and dapps. O'Reilly Media, 2018.
[27] Truffle Blockchain Group. "Ganache." https://www.trufflesuite.com/ganache (accessed February 4, 2020).
[28] D. Puthal and S. P. J. I. P. Mohanty, "Proof of Authentication: IoT-Friendly Blockchains," vol. 38, no. 1, pp. 26-29, 2019.
[29] C. Alexander, The timeless way of building. New York: Oxford University Press, 1979.
[30] E. Gamma, Design patterns: elements of reusable object-oriented software. Pearson Education India, 1995.
[31] L. Cruz-Piris, D. Rivera, I. Marsa-Maestre, E. De La Hoz, and J. Velasco, "Access control mechanism for IoT environments based on modelling communication procedures as resources," Sensors, vol. 18, no. 3, p. 917, 2018.
[32] Kantara Initiative, "Kantara Initiative." [Online]. Available: https://kantarainitiative.org/.
[33] K. R. Özyılmaz and A. J. a. p. a. Yurdakul, "Designing a blockchain-based IoT infrastructure with Ethereum, Swarm and LoRa," 2018.
[34] M. Wöhrer and U. Zdun, "Design patterns for smart contracts in the ethereum ecosystem," 2018.
[35] OpenID Foundation. "OpenID." https://openid.net/ (accessed November 1, 2019).
[36] S. Cirani, M. Picone, P. Gonizzi, L. Veltri, and G. Ferrari, "Iot-oas: An oauth-based authorization service architecture for secure services in iot scenarios," IEEE sensors journal, vol. 15, no. 2, pp. 1224-1234, 2014.
[37] A. Z. Ourad, B. Belgacem, and K. Salah, "IOT Access control and Authentication Management via blockchain."
[38] V. A. Siris, D. Dimopoulos, N. Fotiou, S. Voulgaris, and G. C. Polyzos, "OAuth 2.0 meets Blockchain for Authorization in Constrained IoT Environments," arXiv preprint arXiv:1905.01665, 2019.
[39] N. Tapas, G. Merlino, and F. Longo, "Blockchain-based IoT-cloud authorization and delegation," in 2018 IEEE International Conference on Smart Computing (SMARTCOMP), 2018: IEEE, pp. 411-416.
[40] P. Dittmer, M. Veigt, B. Scholz-Reiter, N. Heidmann, and S. Paul, "The intelligent container as a part of the Internet of Things," in 2012 IEEE International Conference on Cyber Technology in Automation, Control, and Intelligent Systems (CYBER), 2012: IEEE, pp. 209-214.
[41] Chainlink Ltd SEZC. "Chainlink." https://chain.link/ (accessed February 4, 2020).
[42] A. Ekblaw, A. Azaria, J. D. Halamka, and A. Lippman, "A Case Study for Blockchain in Healthcare:“MedRec” prototype for electronic health records and medical research data," in Proceedings of IEEE open & big data conference, 2016, vol. 13, p. 13.
[43] E. Androulaki, A. Barger, V. Bortnikov, C. Cachin, K. Christidis, A. De Caro, D. Enyeart, C. Ferris, G. Laventman, and Y. Manevich, "Hyperledger fabric: a distributed operating system for permissioned blockchains," in Proceedings of the Thirteenth EuroSys Conference, 2018: ACM, p. 30.
[44] Status Research & Development GmbH. "Status." https://status.im/ (accessed February 4, 2020).
[45] brainbot labs Est. "Raiden network." https://raiden.network/ (accessed February 4, 2020).
[46] M. Jones and D. Hardt, "The oauth 2.0 authorization framework: Bearer token usage," RFC 6750, October, 2012.
[47] D. Meyer. "Sign and validate data with solidity." https://github.com/pubkey/eth-crypto/blob/master/tutorials/signed-data.md (accessed February 4, 2020).
[48] Ethereum Foundation. "Security Considerations in Solidity." https://solidity.readthedocs.io/en/v0.5.11/security-considerations.html#abstraction-and-false-positives (accessed February 4, 2020).
[49] Ethereum Foundation. "Remix." https://remix.ethereum.org/ (accessed February 4, 2020).
[50] D. Meyer. "eth-crypto." https://github.com/pubkey/eth-crypto?fbclid=IwAR0Qka4PQAAeWK95c-EQwxakZCJlpQgkac-IU-GAsQ5GUrdYq6WJsSWIqhY#txdatabycompiled (accessed February 4, 2020).
[51] A. Bluchet. "pidusage." https://www.npmjs.com/package/pidusage (accessed February 4, 2020).
[52] OpenZeppelin. "solidity-jwt." https://github.com/OpenZeppelin/solidity-jwt (accessed February 4, 2020).
[53] MythX. "MythX." https://mythx.io/ (accessed February 4, 2020).
Description: 碩士
國立政治大學
資訊科學系
107753020
Source URI: http://thesis.lib.nccu.edu.tw/record/#G0107753020
Data Type: thesis
Appears in Collections:[資訊科學系] 學位論文

Files in This Item:

File Description SizeFormat
302001.pdf3730KbAdobe PDF32View/Open


All items in 學術集成 are protected by copyright, with all rights reserved.


社群 sharing