@article{10.1145/3437537, author = {Alhirabi, Nada and Rana, Omer and Perera, Charith}, title = {Security and Privacy Requirements for the Internet of Things: A Survey}, year = {2021}, issue_date = {February 2021}, publisher = {Association for Computing Machinery}, address = {New York, NY, USA}, volume = {2}, number = {1}, issn = {2691-1914}, url = {https://doi.org/10.1145/3437537}, doi = {10.1145/3437537}, abstract = {The design and development process for internet of things (IoT) applications is more complicated than that for desktop, mobile, or web applications. First, IoT applications require both software and hardware to work together across many different types of nodes with different capabilities under different conditions. Second, IoT application development involves different types of software engineers such as desktop, web, embedded, and mobile to work together. Furthermore, non-software engineering personnel such as business analysts are also involved in the design process. In addition to the complexity of having multiple software engineering specialists cooperating to merge different hardware and software components together, the development process requires different software and hardware stacks to be integrated together (e.g., different stacks from different companies such as Microsoft Azure and IBM Bluemix). Due to the above complexities, non-functional requirements (such as security and privacy, which are highly important in the context of the IoT) tend to be ignored or treated as though they are less important in the IoT application development process. This article reviews techniques, methods, and tools to support security and privacy requirements in existing non-IoT application designs, enabling their use and integration into IoT applications. This article primarily focuses on design notations, models, and languages that facilitate capturing non-functional requirements (i.e., security and privacy). Our goal is not only to analyse, compare, and consolidate the empirical research but also to appreciate their findings and discuss their applicability for the IoT.}, journal = {ACM Trans. Internet Things}, month = {feb}, articleno = {6}, numpages = {37}, keywords = {design principles, software engineering, Internet of Things, notation, software design tools, non functional requirements} }