Understanding how other systems are designed can help us to spot weaknesses and improve the security of our own designs.