aerospace track and find out what they have up their sleeves. Every time you set out to design a system, you face significant challenges, but this group of experts stands ready to entertain you with demos, solve your thorniest problems, and help prevent you from making mistakes you'll regret later.
Security is an essential characteristic in defense and security applications, but side-channel analysis makes even encrypted systems vulnerable. Every time the key is used, current flows in the hardware, which essentially leaks information about the key. Attack techniques like current analysis, magnetic field monitoring by a small coil, or E/M signal capture with the nearby antenna can acquire data that can be used to extract the key and break into the system. Concerned? You should be.
Find out why at "Securing Embedded Systems, Mobile Devices, FPGAs, and Military/Aerospace Applications from Side-Channel Analysis" (ESC-422), presented by senior staff engineer Gilbert Goodwill and senior cryptographer Mark Marson of Cryptography Research Inc. (San Francisco,
"In some industries, side-channel attacks and countermeasures are well understood, but in industries like military and aerospace, where product lifecycles are much longer, they're only now becoming important to address," says Pankaj Rohatji, technical director, hardware security solutions at Cryptography Research.
Watch as the speakers demonstrate all three attack modalities on FPGAs and mobile phones, including extracting the key from a device at a distance of 10 feet. Even better, they'll review countermeasures such as altering signal-to-noise ratio, incorporating randomness, and using protocol-level countermeasures to reduce the value of the information sent. As usual for this market, challenges abound. Particularly in a product designed for a lifecycle of several decades, the countermeasures
implemented today may not be effective in 10 years or in 20. Find out how to future proof your systems at this must-see session.
Solving hidden headaches
When you think about challenges in mil/aero design, security and reliability are probably the first topics that jump to mind. Although they’re important concerns, they're not the only problems you face. The unique requirements of the application force you to approach a host of tasks differently, including troubleshooting,data logging, and even the process of analyzing and developing requirements. “There are a number of issues that come into play on military and aerospace systems that people almost never talk about, because the focus is always on security and reliability," says Dave
Stewart, director of software engineering at InHand Electronics Inc. (Rockville, MD).
In “Unique Software Considerations in Military and Avionic Embedded Systems” (ESC-402), Stewart will highlight design issues—and solutions—that are unique to the application domain, including software for environmental testing, incorporating back-door mechanisms to improve software development (despite prohibitions), built-in self tests, watchdog timer architecture, non-volatile storage, zeroization requirements, system monitors, debug logs, sleep states and shelf modes, battery charging and monitoring, low-power management, target system emulation, and more. "When we go from customer to customer, we realize everyone is struggling with exactly the same problems," Stewart observes. "That's truly the motivation of this paper, trying to give people a starting point for addressing these other issues."
Although C and C++ are powerful, flexible programming languages, they do present risks for the unwary software developer working on high-reliability, long-lifetime systems. “If you do everything that C/C++ allows you to do, there are so many traps for you to fall into and so many things that can go wrong if you're not careful," says Greg Davis, director of engineering, compilers at Green Hills Software (Santa Barbara, CA).
The Motor Industry Software Reliability Association (MISRA) developed a standard to address these issues, which Davis will cover in "Using MISRA C/C++ For Security and Reliability" (ESC-407). “The idea of the MISRA C/C++ guidelines is to steer you to a safe subset of the languages, to keep
you away from the corners and the rough edges that can cause you to put bugs in your code," he says. C and C++ allow you to assign different sizes to datatypes, for example, which could result in code that might work on a 32-bit processor but not on a 16-bit replacement. "MISRA tells you to stay away from the language-defined datatypes and introduce your own types that have a known size to them, so you know that your code will behave the way you want it."
On the face of it, automotive seems like a different beast from mil/aero, but the reality is that the two applications share many characteristics. "The automotive industry strives to make its code very reliable to avoid a recall, whereas in themilitary and aerospace world, it's all about human lives, but the basic thing is to try to get the code right in the beginning so that you don't have to go back and fix it," says Davis. "Patching is just patching a problem. Oftentimes to comprehensively fix the fundamental problem, you have to actually redesign the way the software is architected. That can be very costly and may not be practical with your existing code base, so it is important to get your code right from the beginning. The MISRA C/C++ standard came from a different industry but it's very applicable to an industry [where the goals are] reliability, security, and accuracy."
This is just a sampling of the presentations being delivered at ESC Boston. To find out more, visit the ESC portal. To those of you who attend the sessions, please drop a line and let us know what you thought.
Did you find this article of interest? Then visit Military & Aerospace Designline, where we update daily with design, technology, product, and news articles tailored to fit your world. Too busy to go every day? Sign up for our newsletter to get the week's best items delivered to your inbox.
Just click here and choose the "Manage Newsletters" tab.