****** DRAFT NUOVO PROTOCOLLO ANONYMIZERS: ****** CIFRATURA: AES-256 con pre-shared key (creata al momento dell'istallazione dell'anon) Base64 dopo la cifratura IDENTIFICAZIONE: Mediante http cookie (cookie creato al momento dell'istallazione dell'anon) FORMATO COMANDI (json): richieste: {command: "COMMAND", params: {...}, body: ""} risposte: {command: "COMMAND", result: {status: "STATUS", msg: "MSG"}} TIPI DI COMANDO: FORWARD: params: {address: "next_hop_ip", cookie: "next_hop_cookie"} body: BLOB (lo interpreta poi chi lo riceve) CONFIG: params: {} body: {nexthop: "xxx.xxx.xxx.xxx"} UPGRADE: params: {} body: Base64(BLOB) -- da eseguire come script di upgrade CHECK: params: {} STATUS: params: {version: 2014040101, status: "OK/ERROR", msg: "msg"} body: "" LOG: params: {time: utc_timestamp, type: "TYPE", desc: "description"} body: "" TIPI DI RISPOSTE: OK: {command: "CONFIG", result: {status: "OK", msg: "New configuration applied"}} ERROR: {command: "CONFIG", result: {status: "ERROR", msg: "Invalid config"}} PIGGYBACKING: volendo si possono unire piu' comandi in un'unica richiesta/risposta (utile per i log): [ {command: "STATUS", params: {version: 2014040101, status: "OK/ERROR", msg: "msg"}}, {command: "LOG", params: {time: utc_timestamp, type: "TYPE", desc: "description"}}, {command: "LOG", params: {time: utc_timestamp, type: "TYPE", desc: "description"}}, ... ] ***** DRAFT NUOVO PROTOCOLLO INJECTORS: ****** CIFRATURA: AES-256 con pre-shared key (creata al momento dell'istallazione dell'anon) Base64 dopo la cifratura IDENTIFICAZIONE: Mediante http cookie (cookie creato al momento dell'istallazione dell'anon) FORMATO COMANDI (json): richieste: {command: "COMMAND", params: {...}, body: ""} risposte: {command: "COMMAND", result: {status: "STATUS", msg: "MSG"}} TIPI DI COMANDO: STATUS: params: {version: 2014040101, status: "OK/ERROR", msg: "msg"} body: "" LOG: params: {time: utc_timestamp, type: "TYPE", desc: "description"} body: "" CONFIG_REQUEST: params: {} body: "" UPGRADE_REQUEST: params: {} body: "" TIPI DI RISPOSTE: OK: {command: "CONFIG_REQUEST", result: {status: "OK", msg: {type: “rules”, body: Base64(BLOB)}}} - il file zip delle regole {command: "UPGRADE_REQUEST", result: {status: "OK", msg: {body: Base64(BLOB)}}} — il deb per l’aggiornamento ERROR: {command: "CONFIG_REQUEST", result: {status: "ERROR", msg: “no config“}} {command: "UPGRADE_REQUEST", result: {status: "ERROR", msg: “no upgrade“}} PIGGYBACKING: volendo si possono unire piu' comandi in un'unica richiesta/risposta (utile per i log): [ {command: "STATUS", params: {version: 2014040101, status: "OK/ERROR", msg: "msg"}}, {command: "LOG", params: {time: utc_timestamp, type: "TYPE", desc: "description"}}, {command: "LOG", params: {time: utc_timestamp, type: "TYPE", desc: "description"}}, ... ]