arXivDaily arXiv每日学术速递 周一至周五更新
arXiv 2201.00270cs.NIcs.SE
收藏

面向IoT设备的安全API客户端生成器

Towards a secure API client generator for IoT devices

Anders Aaen Springborg, Martin Kaldahl Andersen, Kaare Holland Hattel, Michele Albano

摘要:

鉴于物联网平台的成功,越来越多的开发人员和公司希望将该技术纳入其产品组合。然而,就单板的微控制器而言,对联网操作的支持并不理想,不同的物联网平台允许通过不同的库和系统调用访问联网子模块,导致学习曲线更陡。API客户端的代码生成器可以提高生产力,但它们往往会生成通用代码,另一方面,物联网设备的网络原语是特定于平台的,特别是当传输层安全性等安全机制是其中的一部分时。本文介绍了\texttt{cpp-tiny-client},这是一个API客户端生成器,作为OpenAPI Generator项目的插件开发,可以根据用户指定的IoT平台定制生成的代码。我们的工作允许为物联网设备的API客户端生成正确的代码,从而可以为开发人员提供更高的生产力和更快的应用程序上市时间。通过将主流技术结合在一起,\texttt{cpp-tiny-client}提供了一个温和的学习曲线。此外,实验表明,生成的代码具有合理的占用空间,至少对于验证工作中使用的物联网设备而言。与这项工作相关的代码可以通过OpenAPI Generator项目~ \cite{OpenAPIGenerator}获得。本技术报告是~ \cite{acmsac22}的扩展,它整合了ACM SAC 2022会议上提供的信息。

英文摘要:

Given the success of IoT platforms, more developers and companies want to include the technology in their portfolio. However, in the case of single board microcontrollers, the support for networking operations is not ideal, and different IoT platforms allow access to the networking submodule via different libraries and system calls, leading to a steeper learning curve. Code generators for API clients can enhance productivity, but they tend to generate universal purpose code, and on the other hand the networking primitives of IoT devices are platform specific, especially when security mechanisms such as Transport Layer Security are part of the picture. This paper presents \texttt{cpp-tiny-client}, an API client generator developed as a plugin for the OpenAPI Generator project, which can tailor the generated code based on the IoT platform specified by the user. Our work allows to generate correct code for API clients for IoT devices, and thus can empower a developer with more productivity and a faster time-to-market for its own applications. By combining together mainstream technologies only, \texttt{cpp-tiny-client} offers a gentle learning curve. Moreover, experiments show that the generated code has a reasonable footprint, at least with respect to the IoT devices that were used in the validation of the work. The code related to this work is available through the OpenAPI Generator project~\cite{OpenAPIGenerator}. This technical report is an extension of~\cite{acmsac22}, and it integrates the information presented at the ACM SAC 2022 conference.

机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。

↑