Engineering Secure Devices (A Practical Guide for Embedded System Architects and Developers)