I designed a system similar to the above diagram. However There is no (Top Secret, {nuclear,crypto}) and no (Secret,{}) levels. Meaning that there is no top and bottom level.
Would it make the BLP lattice more secure if I added them? If so why?
I designed a system similar to the above diagram. However There is no (Top Secret, {nuclear,crypto}) and no (Secret,{}) levels. Meaning that there is no top and bottom level.
Would it make the BLP lattice more secure if I added them? If so why?
You seem to have misunderstood how this lattice model works, and the diagram you gave doesn't really help. It's meant to be a 3D structure.
In this model, we have:
The lattice model essentially puts all possible combinations of entity access on each privilege level. As such, an individual can only possibly be at one point in the lattice.
Entity privileges in this model do not allow for cases where an individual can have a higher privilege on one entity than another. You have the same privilege for all entities that you have access to, but you might not have access to some entities at all. This is often a good thing in classic law enforcement and government systems, but doesn't lend well to modern business computer systems.
Altering this model to have missing privilege levels or have missing layers doesn't make any sense. From a software design point of view, your administrator would hold the highest privilege level for all entities, whilst an unauthenticated user has no privileges on any entity. Individual users would be at any point in between. Removing any of these entity privileges makes escalation paths more circuitous, and makes for some unnecessary validation work.
If you're looking for a more flexible access control model, try access control lists with inheritance. In such a model, users may be organised into groups and subgroups, each of which have a base privilege level that inherits from its parent. Individual users may be escalated beyond the base level, but not below. This allows for complex privilege groups to be created with minimal work, in an intuitive way that mirrors your physical infrastructure.
BLP assumes that the lattice is, well, a lattice. The mathematical definition of a lattice says that it must have a top and a bottom. If you don't have a top and a bottom, it's not a lattice.
If you are asking whether you can make Bell-Lapadula work with a partial order that is not a lattice, the answer is that it depends. If you don't have a lattice, stuff may fall apart in unexpected ways if there is anything in your system that ever updates the labels on subjects or objects. For example, if it's not a lattice and if you update subject labels on the fly, you may run into situations where you won't be able to update a subject's label as required by the rules, because you won't have any suitable lattice point that meets all the requirements.
This doesn't have anything to do with security that I can see; it has to do with ensuring that you have a coherent set of rules that can actually be executed, without getting stuck.
Caveat: The Bell-Lapadula model has a lot of problems and is (in my opinion) a poor choice for most new systems, so you should be looking very carefully at whether it's really the right choice for you.