| Well...
Nobody jumped forward with any comments, so I'll just say a few quick
words about the B1 Oracle approach.
The "subsetting" approach being used by Oracle ("subsetting" is the term
used in the draft TDI) in order to achieve B1 makes sense for them
for several reasons:
- It will allow Oracle to keep the same design across multiple secure
OS platforms, since the OS is performing the mandatory access control
policy.
- It is a conceptually simple architecture that has been more or less
blessed by the NCSC (the agency within NSA that evaluates secure
systems and subsystems). The first draft TDI was heavily biased
toward this architecture. As the base note says, it should give them
an advantage at evaluation time, since the DBMS is really just
enforcing the discretionary access control policy. This means that
the DBMS can be evaluated independently of the OS.
- Oracle has been heavily involved with the "SeaView" A1 research
effort, and is currently a subcontractor for the prototype
implementation effort. The SeaView approach advocated the use of
this type of security architecture for the DBMS.
- Oracle has a contract with the NCSC to develop a B1 DBMS using
the subsetting approach (on SEVMS, I believe). (Teradata also has a
contract to produce a B1 DBMS using the "monolithic" approach).
These contracts are "helping" the NCSC "validate" the TDI criteria,
in the same way that Multics helped them with the Orange Book
criteria. Whether you believe/accept this type of arrangement between
a vendor and a "neutral" agency is a separate matter not to be
discussed here (it's a sore point).
The above list gives some of the advantages.
However, there are some interesting disadvantages too. Very briefly:
- Multilevel data (and consequently metadata too) must be separated
into single level OS files. This can amount to quite a lot of files for
applications using many security classifications and compartments.
Indexes must also be split up into many separate files, since they
hold data too. Reconstructing the multilevel data from single level
files will quickly become a performance problem.
- The DBMS will have to maintain a lot of info about what OS files are
used to reconstruct the schema/relations. The separation of the
data into single level files is not transparent to the DBMS.
- Integrity of data will be impossible to enforce. Since the DBMS can
not "see" all the data (because it can't open the OS files to
determine if a piece of data exists), it can't enforce entity
integrity and referential integrity of the data. This is a subtle,
but key byproduct of this architecture. It means that the integrity
of the data can be sacrificed in order to achieve secrecy. That will
be unacceptable to many users.
|
| > - Integrity of data will be impossible to enforce. Since the DBMS can
> not "see" all the data (because it can't open the OS files to
> determine if a piece of data exists), it can't enforce entity
> integrity and referential integrity of the data. This is a subtle,
> but key byproduct of this architecture. It means that the integrity
> of the data can be sacrificed in order to achieve secrecy. That will
> be unacceptable to many users.
Is there an alternative here for any implementation? After all, if you
permit integrity constraints between levels, than it is easy to
determine information just by performing existence checks. In other
words, integrity constraints become the equivalent of determining that
an underground nuclear test just occured due to the fact that point A
sent point B a message, even though the messaged was encrypted and you
couldn't understand it.
A subject for a discussion outside this conference would be how we
enforce integrity constraints at B levels of security.
|
| >> - Integrity of data will be impossible to enforce. Since the DBMS can
>> not "see" all the data (because it can't open the OS files to
>> determine if a piece of data exists), it can't enforce entity
>> integrity and referential integrity of the data. This is a subtle,
>> but key byproduct of this architecture. It means that the integrity
>> of the data can be sacrificed in order to achieve secrecy. That will
>> be unacceptable to many users.
>Is there an alternative here for any implementation? After all, if you
>permit integrity constraints between levels, than it is easy to
>determine information just by performing existence checks. In other
>words, integrity constraints become the equivalent of determining that
>an underground nuclear test just occured due to the fact that point A
>sent point B a message, even though the messaged was encrypted and you
>couldn't understand it.
Yes, there is an alternative, and it basically boils down to allowing
the type of "inference" channel that is described above. Some users will
want the secrecy of the data, but will not want the integrity of the data
sacrificed in order to achieve the secrecy. For these users, the "inference
channel" is OK, as long as they can properly audit it, or control it through
proper database design (taking data classification into consideration). The
point is that it may be best to provide options in the situations where
the secrecy characteristics of the data are contrary to its integrity.
The problem goes way beyond the problem mentioned above of integrity
constraints being performed between levels (too detailed for this forum).
Thg point I was making is that the Oracle B1 architecture can never make these
decisions because the DBMS can't even get to the data to see if it is in fact
there. If some "low level" portion of the DBMS could at least "understand"
that a security/integrity problem was about to occur, then it could do
some smarter things (even if they may result in inference problems), like
automatic upgrade, for instance.
>A subject for a discussion outside this conference would be how we
>enforce integrity constraints at B levels of security.
I agree. This is an interesting problem. Obviously they can be enforced if
they are not enforced across multiple levels of data. The key to the problem
lies in getting the data classified correctly during input (classification
constraints?). I'd be happy to discuss it offline, since it's highly relevant.
|