Digital rights management engine systems and methods
Systems and methods are described for performing digital rights management. In one embodiment, a digital rights management engine is provided that evaluates license associated with protected content to determine if a requested access or other use of the content is authorized. In some embodiments, the licenses contain control programs that are executable by the digital rights management engine.
1 . A method of determining whether a first entity is within a predefined proximity of a second entity, the method comprising:
generating a set of random number pairs at the first entity;
sending from the first entity to the second entity encrypted information from which the second entity can derive the set of random number pairs:
decrypting the encrypted information at the second entity;
deriving the set of random number pairs at the second entity;
sending an acknowledgement from the second entity to the first entity;
measuring a first time value at the first entity;
sending from the first entity to the second entity a first number from the set of random number pairs;
verifying, at the second entity, that said first number is from the set of random number pairs;
sending from the second entity to the first entity, a corresponding random number from said set of random number pairs; and
receiving the corresponding random number at the first entity; and
measuring a second value of time at the first entity.
2 . The method of claim 1 , further comprising:
computing a difference between the first value of time and the second value of time, and
comparing the difference to a threshold.
3 . The method of claim 2 , further comprising:
denying the second entity access to a computing resource if the difference is greater than said threshold.
4 . The method of claim 2 , further comprising:
granting the second entity access to a computing resource if the difference is less than said threshold.
5 . A method of determining the proximity of a first entity to a second entity, the method comprising:
sending a first secret from the first entity to the second entity;
receiving an acknowledgement from the second entity;
measuring a first time value at the first entity;
sending from the first entity to the second entity a portion of the first secret;
receiving a corresponding portion of the first secret from the second entity;
measuring a second time value at the first entity; and
computing a difference between the first time value and the second time value.
6 . The method of claim 5 , further comprising:
comparing the difference to a threshold.
7 . The method of claim 6 , further comprising:
denying the second entity access to a computing resource if the difference is greater than said threshold.
8 . The method of claim 6 , further comprising:
granting the second entity access to a computing resource if the difference is less than said threshold.