Design and Analysis of Authentication and Key-establishment Protocols in IoT Applications