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?
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.
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.
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.
Use of cryptographic techniques can add to performance requirements and the choice of digital signing algorithm can affect the level of security actually achieved.
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.