Professional Documents
Culture Documents
Aoe Video
Aoe Video
Client 2
Long haul
bottleneck
paths Client 3
source
Server bandwidth
(fan-out) is very Client N
limited
Client AN
Proxy B
source Client B1
Client B2
Client B3
Proxy P Client P1
Client P2 Client BN
Client P3
Client PN
Why Secure Video Proxy ?
Commercial multimedia contents are
copyright protected, unauthorized distribution
must be prohibited.
Some services, like the “Pay-per-view”, clients
must pay the service so that they can access
the contents.
Proxy infrastructure must support data
confidentiality in conjunction with data
caching.
Background
Simple
Client N
Source has very high workload.
not scalable.
Proxy Caching with Decrypted Content
Encrypt
with Client
Encrypt Proxy A A1’s key
Client A1
with
Proxy’s key
Encrypt
with Client
A2’s key
Decrypted
Content
source Client A2
Simple
Proxy’s storage is insecure, original content can be retrieved
by intruders
Proxy Caching with Encrypted Content
Proxy A
Encrypt
with Client A1
Proxy’s key
Client A2
source Encrypted
Content
Intentionally
Corrupted
Content
Client A2
source Encrypted
Content
DN
source
eN Client N
Our Design
Decryption:
Data D = Cd mod n
Implement ARPSf using Multi-Key RSA
Extend to Multi-Key RSA
Proxy generates p, q, and then n and
Encryption block
Spkt = 1400 bytes, I = 2,
P = 0.5 and B = 4
Encryption sub-block
Secure Multimedia Library - SML
Implementation of the Multi-key RSA with ECP
Structure
C language API
Data type
SML_SESSION session
Functions
SML_InitSession(), SML_DestroySession()
SML_NewKeyPair(), SML_LoadKeyPair(), SML_SaveKeyPair()
SML_Connect(), SML_Accept()
SML_ConfigureRps(), SML_SaveRps(), SML_LoadRps()
SML_SendRps(), SML_ReceiveRps()
SML_SendEncryptRps(), SML_ReceiveDecryptRps()
Secure Multimedia Library - SML
Programming Paradigm
Server Proxy
SML_InitSession(); SML_InitSession();
SML_Accept(); SML_Connect();
SML_SendRps(); SML_ReceiveRps();
SML_SendEncryptRps(); StoreData();
Proxy Client
SML_InitSession(); SML_InitSession();
SML_ProxyAccept(); SML_ConnectProxy();
SML_SendRps(); SML_ReceiveRps();
ReadData(); SML_ReadDecryptRps();
SML_SendReEncryptRps();
Secure Multimedia Library - SML
Client Code Example
SML_InitSession(&session);
if (SML_Connect(&session)) {
SML_ReceiveRps(&session);
for (i=0; i<total_pkt; i++) {
SML_ReadDecryptRps(&session, buffer, buf_size);
}
}
SML_DestroySession(&session);
Secure Multimedia Library - SML
Server Code Example
SML_InitSession(&session);
if (SML_Accept(&session)) {
SML_LoadRps(&session, “movie_0.rps”);
SML_SendRps(&session);
for (i=0; i<total_pkt; i++) {
SML_SendEncryptECP(&session, buffer, buf_size);
}
}
SML_DestroySession(&session);
Encryption Configuration Parameters
P = 0.257 P = 0.214 P = 0.171 P = 0.120 P = 0.086 P = 0.043
t M t M t M t M t M T M
I=1 2.13 11.36 2.53 13.5 3.11 16.60 4.05 21.60 5.8 30.90 10.10 53.90
I=2 4.10 21.87 4.84 25.81 5.91 32.52 7.54 40.20 10.16 54.19 11.77 62.77
I=5 9.06 48.32 10.17 52.24 11.56 61.66 11.64 62.08 11.76 62.72 11.78 62.82
I = 10 11.64 62.08 10.7 57.10 11.70 62.40 11.73 62.56 11.73 62.56 11.82 63.04
B=1
t = proxy throughput, M = Number of concurrent MPEG-1 streams that could support.
MPEG-1 Experiment
QuickTime Experiment
-End