SOA Patterns > Service Interaction Security Patterns > Data Origin Authentication
Data Origin Authentication (Hogg, Smith, Chong, Hollander, Kozaczynski, Brader, Delgado, Taylor, Wall, Slater, Imran, Cibraro, Cunningham)
How can a service verify that a message originates from a known sender and that the message has not been tampered with in transit?
Problem
The intermediary processing layers generally required by service compositions can expose sensitive data when security is limited to point-to-point protocols, such as those used with transportlayer security.
Solution
A message can be digitally signed so that the recipient services can verify that it originated from the expected consumer and that it has not been tampered with during transit.
Application
A digital signature algorithm is applied to the message to provide “proof of origin”, allowing sensitive message contents to be protected from tampering. This technology must be supported by both consumer and service.
Impacts
Use of cryptographic techniques can add to performance requirements and the choice of digital signing algorithm can affect the level of security actually achieved.
Principles
Architecture
Composition
In this scenario, the attacker could be attempting to take a valid message and substitute someone else’s credentials thereby impersonating the other party, or perhaps the attacker is trying to modify an existing message to the behavior of the service. Either way, when a message is digitally signed, the service can verify the message origin and reject the message if its origin is deemed invalid.
Related Patterns in This Catalog
Brokered Authentication, Data Confidentiality, Direct Authentication, Messaging Metadata, Service Agent, Service Messaging, State Messaging
Related Service-Oriented Computing Goals