Foreword |
|
xvii | |
Preface |
|
xix | |
|
|
|
Chapter 1 Motivation and Objectives |
|
|
1 | (6) |
|
Why Do We Need Security Patterns? |
|
|
1 | (2) |
|
|
3 | (2) |
|
The History of Security Patterns |
|
|
5 | (1) |
|
Industrial Use of Security Patterns |
|
|
6 | (1) |
|
Other Approaches to Building Secure Systems |
|
|
6 | (1) |
|
Chapter 2 Patterns and Security Patterns |
|
|
7 | (16) |
|
What is a Security Pattern? |
|
|
7 | (1) |
|
The Nature of Security Patterns |
|
|
8 | (2) |
|
Pattern Descriptions and Catalogs |
|
|
10 | (1) |
|
The Anatomy of a Security Pattern |
|
|
11 | (6) |
|
|
17 | (1) |
|
How Can We Classify Security Patterns? |
|
|
17 | (2) |
|
|
19 | (1) |
|
Uses for Security Patterns |
|
|
20 | (1) |
|
How to Evaluate Security Patterns and their Effect on Security |
|
|
21 | (1) |
|
Threat Modeling and Misuse Patterns |
|
|
22 | (1) |
|
|
22 | (1) |
|
Chapter 3 A Secure Systems Development Methodology |
|
|
23 | (8) |
|
Adding Information to Patterns |
|
|
23 | (1) |
|
A Lifecyle-Based Methodology |
|
|
24 | (3) |
|
Using Model-Driven Engineering |
|
|
27 | (4) |
|
|
|
Chapter 4 Patterns for Identity Management |
|
|
31 | (20) |
|
|
32 | (2) |
|
|
34 | (2) |
|
|
36 | (2) |
|
|
38 | (6) |
|
Liberty Alliance Identity Federation |
|
|
44 | (7) |
|
Chapter 5 Patterns for Authentication |
|
|
51 | (20) |
|
|
51 | (1) |
|
|
52 | (4) |
|
Remote Authenticator/Authorizer |
|
|
56 | (6) |
|
|
62 | (9) |
|
Chapter 6 Patterns for Access Control |
|
|
71 | (46) |
|
|
71 | (3) |
|
|
74 | (4) |
|
Role-Based Access Control |
|
|
78 | (3) |
|
|
81 | (3) |
|
Policy-Based Access Control |
|
|
84 | (7) |
|
|
91 | (5) |
|
|
96 | (4) |
|
Reified Reference Monitor |
|
|
100 | (4) |
|
Controlled Access Session |
|
|
104 | (3) |
|
Session-Based Role-Based Access Control |
|
|
107 | (4) |
|
Security Logger and Auditor |
|
|
111 | (6) |
|
Chapter 7 Patterns for Secure Process Management |
|
|
117 | (28) |
|
|
117 | (3) |
|
|
120 | (6) |
|
Controlled-Process Creator |
|
|
126 | (3) |
|
Controlled-Object Factory |
|
|
129 | (3) |
|
Controlled-Object Monitor |
|
|
132 | (4) |
|
|
136 | (3) |
|
|
139 | (6) |
|
Chapter 8 Patterns for Secure Execution and File Management |
|
|
145 | (18) |
|
|
145 | (1) |
|
Virtual Address Space Access Control |
|
|
146 | (3) |
|
|
149 | (2) |
|
Controlled Execution Domain |
|
|
151 | (5) |
|
Virtual Address Space Structure Selection |
|
|
156 | (7) |
|
Chapter 9 Patterns for Secure OS Architecture and Administration |
|
|
163 | (30) |
|
|
163 | (2) |
|
Modular Operating System Architecture |
|
|
165 | (4) |
|
Layered Operating System Architecture |
|
|
169 | (5) |
|
Microkernel Operating System Architecture |
|
|
174 | (5) |
|
Virtual Machine Operating System Architecture |
|
|
179 | (5) |
|
|
184 | (3) |
|
|
187 | (6) |
|
Chapter 10 Security Patterns for Networks |
|
|
193 | (38) |
|
|
194 | (1) |
|
Abstract Virtual Private Network |
|
|
195 | (5) |
|
|
200 | (2) |
|
TLS Virtual Private Network |
|
|
202 | (3) |
|
|
205 | (9) |
|
|
214 | (5) |
|
|
219 | (5) |
|
|
224 | (7) |
|
Chapter 11 Patterns for Web Services Security |
|
|
231 | (54) |
|
|
231 | (3) |
|
|
234 | (8) |
|
|
242 | (6) |
|
|
248 | (6) |
|
XACML Access Control Evaluation |
|
|
254 | (6) |
|
Web Services Policy Language |
|
|
260 | (3) |
|
|
263 | (9) |
|
|
272 | (7) |
|
|
279 | (6) |
|
Chapter 12 Patterns for Web Services Cryptography |
|
|
285 | (52) |
|
|
286 | (2) |
|
|
288 | (7) |
|
|
295 | (6) |
|
Digital Signature with Hashing |
|
|
301 | (8) |
|
|
309 | (8) |
|
|
317 | (13) |
|
|
330 | (7) |
|
Chapter 13 Patterns for Secure Middleware |
|
|
337 | (46) |
|
|
337 | (2) |
|
|
339 | (8) |
|
|
347 | (6) |
|
|
353 | (5) |
|
|
358 | (4) |
|
Secure Three-Tier Architecture |
|
|
362 | (4) |
|
Secure Enterprise Service Bus |
|
|
366 | (6) |
|
Secure Distributed Publish/Subscribe |
|
|
372 | (3) |
|
Secure Model-View-Controller |
|
|
375 | (8) |
|
Chapter 14 Misuse Patterns |
|
|
383 | (28) |
|
|
383 | (7) |
|
|
390 | (7) |
|
Denial-of-Service in VoIP |
|
|
397 | (6) |
|
|
403 | (8) |
|
Chapter 15 Patterns for Cloud Computing Architecture |
|
|
411 | (30) |
|
|
411 | (2) |
|
Infrastructure-as-a-Service |
|
|
413 | (10) |
|
|
423 | (8) |
|
|
431 | (10) |
|
Part III Use of the Patterns |
|
|
|
Chapter 16 Building Secure Architectures |
|
|
441 | (38) |
|
|
442 | (3) |
|
|
445 | (3) |
|
|
448 | (3) |
|
Secure Handling of Legal Cases |
|
|
451 | (8) |
|
|
459 | (7) |
|
|
466 | (12) |
|
|
478 | (1) |
|
Chapter 17 Summary and the Future of Security Patterns |
|
|
479 | (20) |
|
|
479 | (15) |
|
Future Research Directions for Security Patterns |
|
|
494 | (2) |
|
|
496 | (1) |
|
|
497 | (2) |
Appendix A Pseudocode for XACML Access Control Evaluation |
|
499 | (2) |
Glossary |
|
501 | (8) |
References |
|
509 | (34) |
Index of Patterns |
|
543 | (4) |
Index |
|
547 | |