Designing for Failure: Security Architecture that Assumes Breach