Making distributed systems secure with program analysis and transformation. - Myers, Andrew (Software engineering notes.)
Building secure distributed systems is difficult, and making sure they are secure is even harder. For strong security, a variety of different mechanisms are used, such as encryption, digital signatures, access control, and replication. But once the system is built, it is difficult to know that system-level security objectives have been achieved.