A computer program product comprising computer executable program code recorded on a non-transitory computer readable storage medium, the computer executable program code for moving protected content between first and second authorized domains, which when executed, performs steps comprising:
- causing determining, by a server, whether domain traversal is allowed for encrypted content associated with a voucher, the voucher including a domain traversal flag and an encrypted content key, the second authorized domain to receive the encrypted content from the first authorized domain and the first authorized domain being currently authorized to store the content;
- wherein a usage state record and the domain traversal flag in the voucher indicates that inter- domain copying is allowed:
- causing decrypting, by the server, the encrypted content key with a private key of the server;
- causing re-encrypting, by the server, the decrypted content key with a public key of a target device within the second authorized domain;
- causing including, by the server, the domain traversal flag and the re-encrypted content key in a re-targeted voucher;
- and
- causing sending, by the server, the encrypted content and the re-targeted voucher to the target device to thereby enable the target device to decrypt the re-encrypted content key with its private key and decrypt the encrypted content received from the first domain, using the decrypted content key.