Security engineering: a guide to building dependable distributed systems - Anderson, Ross J; Author (2003)