Skip to content
This repository was archived by the owner on Mar 1, 2024. It is now read-only.
This repository was archived by the owner on Mar 1, 2024. It is now read-only.

Successful entitlement validation will no longer include vmid in the response #63

Description

Context

In the original version of the software entitlement service REST API, the response returned for a successful entitlement verification included a unique identifier for the virtual machine in a vmid field.

The intention for vmid was to allow the hosted software package to verify that it was running on the correct host machine.

We introduced this check early in the design process to mitigate against man-in-the-middle attacks where an attacker ran a proxy server on the Azure Batch compute node to achieve token reuse.

Since we now only permit HTTPS connections and authenticate the server with specified intermediate Microsoft certificate authorities, a MITM attack is no longer possible and the vmid check adds no additional security.

We have also identified useful scenarios where the virtual machine identifier is not easily available. These scenarios include docker containers and Windows PaaS compute nodes.

Decision

We will revise the software entitlement service REST API to remove the vmid return value from the response to a successful entitlement verification.

Consequences

The revised API will use revise the api-version number to allow the introduction of the change without compromising the functionality of any existing packages already deployed.

Documentation within this SDK will be updated to remove references to vmid validation except as a historical note.

Supplied library code and the sesclient application will be updated to comply with the updated API specification.

The sestest application will be enhanced to support the new API specification. The server mode will support both the existing api-version and the new, to allow testing of integrated packages regardless of the API version used.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions