Detecting man-in-the-middle attacks in adaptive streaming
Systems and methods for adaptively streaming video content to a wireless transmit/receive unit (WTRU) or wired transmit/receive unit may comprise obtaining a media presentation description that comprises a content authenticity, requesting a key for a hash-based message authentication code; receiving the key for the hash-based message authentication code, determining a determined hash for a segment of the media presentation description, requesting a reference hash for the segment from a server, receiving the reference hash for the segment from the server, and comparing the reference hash to the determined hash to determine whether the requested hash matches the determined hash.
1. A method for streaming video content, comprising:
a server sending a media presentation description (MPD) file to a device, the MPD file comprising a content authenticity XML element;
the server receiving from the device a hypertext transfer protocol (HTTP) request for a media segment based on the MPD file;
the server communicating to the device the media segment;
the server receiving from the device an HTTP request message comprising a request for a hash associated with the media segment, the request for the hash comprising a device-computed authentication hash;
the server determining a server-provided hash associated with the media segment; and
the server communicating to the device the server-provided hash associated with the media segment.
2. The method of claim 1 , wherein the HTTP request message further comprises at least one diagnostic parameter.
3. The method of claim 2 , wherein the at least one diagnostic parameter comprises at least one of an Internet Protocol (IP) address of content server that provided the media segment, device location information, a cell tower identification, a wireless access point identifier, or signal strength.
4. The method of claim 1 , wherein the HTTP request message is encrypted.
5. The method of claim 1 , further comprising storing the device-computed authentication hash.
6. The method of claim 1 , wherein the device-computed authentication hash is embedded in a uniform resource locator (URL) parameter.
7. The method of claim 1 , wherein the HTTP request message comprises an HTTP header comprising the device-computed authentication hash.
8. The method of claim 1 , wherein the server comprises at least one of a content server or an integrity verification server.
9. The method of claim 1 , wherein communicating to the device the server-provided hash associated with the media segment comprises communicating an HTTP response.
10. A server for adaptively streaming video content, comprising:
a hardware processor programmed to:
send a media presentation description (MPD) file to a device, the MPD file comprising a content authenticity XML element;
receive from the device a hypertext transfer protocol (HTTP) request for a media segment based on the MPD file;
send to the device the media segment;
receive from the device an HTTP request message that comprises a request for a server-provided hash associated with the media segment, the request for a server-provided hash comprising a device-computed authentication hash;
determine a server-provided hash associated with the media segment; and
communicate to the device the server-provided hash associated with the media segment.
11. The server of claim 10 , wherein the HTTP request message further comprises at least one diagnostic parameter.
12. The server of claim 11 , wherein the at least one diagnostic parameter comprises at least one of an internet protocol (IP) address of a content server that provided the media segment, device location information, a cell tower identification, a wireless access point identifier, or signal strength.
13. The server of claim 10 , wherein the HTTP request message is encrypted.
14. The server of claim 10 , wherein the hardware processor is further configured to store the device-computed authentication hash.
15. The server of claim 10 , wherein the device-computed authentication hash is embedded in a uniform resource locator (URL) parameter.
16. The server of claim 10 , wherein the HTTP request message comprises the device-computed authentication hash.
17. The server of claim 10 , wherein the hardware processor programmed to communicate to the device the server-provided hash associated with the media segment is programmed to communicate the server-provided hash in an HTTP response.