Security Patterns in Practice: Designing Secure Architectures Using Software Patterns