Check out the new USENIX Web site. next up previous
Next: 3 Implementation Up: 2 Block-based security with Previous: 2.5 Consistency attacks


2.6 Data structures and disk functionality

Figure 4: Additional data structures for security.
\begin{figure}{\small\sffamily\small\textbf{At the metadata server:}
\begin{li...
...t requests (64~KB)
\end{list}}
\vspace{-1em}
\rule{5.5in}{.01in}
\end{figure}

Our addition of security to a NAD file system requires several data structures, which are listed in Figure 4. At the metadata server, we maintain a hash table of all valid capabilities for use in performing revocations: whenever the access to a file changes, we need to find all capabilities associated with that file and revoke them. The server also maintains copies of each disk's valid group list plus the number of valid and revoked capabilities in each group so that it can quickly choose which group to invalidate next.

Clients cache issued capabilities to cut down on metadata-server traffic. No invalidation protocol is needed because if a client uses a cached capability that is no longer valid, the disk will reject it, leading the client to request a new one from the metadata server. The data structures at a disk have already been discussed in the sections on capability management (Section 2.2) and replay attacks (Section 2.4).

Figure 5 lists the modest extra functionality required to add our block-based security to a NAD. Combined with the fact that the additional data structures could use as little as 128 KB of RAM (see Figure 4), this suggests that our approach requires minimal changes to disks.

Figure 5: Additional disk functionality. The left column describes the purpose of the additional functionality that would be required on a secure disk; the right column gives the number of lines of C devoted to that functionality in our software implementation.
\begin{figure}{\small\sffamily\small\par\begin{tabular}{lr}
\multicolumn{2}{l}{
...
... RPC & 610 \\
handlers, logging) & \\
\hline
\end{tabular}\par }
\end{figure}



next up previous
Next: 3 Implementation Up: 2 Block-based security with Previous: 2.5 Consistency attacks
Mark Lillibridge 2003-01-06