Collaborate with our Hardware Engineering and Cisco Security teams on component selection relating to secure boot and roots of trust
Develop and maintain software for security chips, ranging from Linux device drivers to cloud authentication mechanisms to protect against attacks on hardware systems
Design and implement secure hardware architectures
Troubleshoot at the hardware and software level when things don’t go quite as planned
Collaborate with Platform Engineers across product teams to continually improve our firmware design, development, and deployment practices
Work with manufacturing teams to ensure security is maintained throughout the production process
Stay up-to-date on the latest emerging hardware security threats and technologies
You Have:
Proven experience programming in C or C++
Minimum of 5 years of experience with software development focused on hardware security
Experience with Yocto build systems, Jenkins automation, and CI/CD pipelines to streamline development and deployment processes
Have a good understanding of unix-based OS and Network fundamentals
Experience with integrating Trusted Platform Modules (TPM) and implementing Secure Boot
Understanding of common serial bus protocols like I2C, SPI, and LPC
Are comfortable using network protocol analyzers, logic analyzers, hardware debuggers, and source-level debuggers to troubleshoot problems at all layers of the stack
Capable of reading and advising on board-level designs, schematics, and layouts
Skilled at reworking boards and soldering, such as SMT components
Building and modifying boot-loaders and device drivers
Familiarity with hardware security techniques and technologies, such as TrustZone, crypto modules, hardware root of trust, and anti-tampering measures.
Excellent communication and collaboration skills
Experience interacting with software and hardware components using OpenSSL for cryptographic operations and secure communications.
Bonus If You Have:
Proficiency in writing and implementing limited data hygiene practices on devices, ensuring compliance with best data security and integrity practices.
Proven experience with CPLDs and FPGAs programming and debugging
Experience writing device drivers
Familiarity with Assembly or Python programming
Interests in hardware hacking, reverse engineering, and information security
Delight in breaking things to uncover security vulnerabilities