digraph {
concentrate=true;
overlap=scale;
splines=true;
subgraph cluster_iomt {
root [label=<ξ>];
node [shape = plaintext];
node1 [label=<
>];
node2 [label=< >];
noden [label=< >];
root -> { node1, node2, noden };
subgraph {
rank=same;
node1:nextidx -> node2:idx;
node2:nextidx -> noden:idx;
noden:nextidx -> node1:idx;
}
label="Main IOMT";
}
subgraph cluster_filerecords {
node [shape = plaintext];
table1 [
label=<
Index | Counter | Version | FR Certificate | Certificate HMAC | ACL root |
IDX1 | CTR1 | VER1 | FRCert1 | HMAC(FRCert1, χ) | α1 |
IDX2 | CTR2 | VER2 | FRCert2 | HMAC(FRCert2, χ) | α2 |
>];
label="FileRecords";
}
subgraph cluster_module {
moduleroot [label=ξ>];
modulesecret [label=χ>];
userkeys[label= κ1 ... κn>];
label=T>;
};
/*
node1:idx -> table1:idx1 [ ltail=cluster_iomt, lhead=cluster_filerecords ];
node2:idx -> table1:idx2 [ ltail=cluster_iomt, lhead=cluster_filerecords ];
root -> moduleroot [ltail=cluster_iomt, lhead=cluster_module];
*/
}