Supriya Ghosh (Editor)

Polyinstantiation

Updated on
Edit
Like
Comment
Share on FacebookTweet on TwitterShare on LinkedInShare on Reddit

Polyinstantiation in computer science is the concept of type (class, database row or otherwise) being instantiated into multiple independent instances (objects, copies). It may also indicate, such as in the case of database polyinstantiation, that two different instances have the same name (identifier, primary key).

Contents

Operating system security

In Operating system security, polyinstantiation is the concept of creating a user or process specific view of a shared resource. I.e. Process A cannot affect process B by writing malicious code to a shared resource, such as UNIX directory /tmp.

Polyinstantiation of shared resources have similar goals as process isolation, an application of virtual memory, where processes are assigned their own isolated virtual address space to prevent process A writing into the memory space of process B.

Database

In databases, polyinstantiation is database-related SQL (structured query language) terminology. It allows a relation to contain multiple rows with the same primary key; the multiple instances are distinguished by their security levels. It occurs because of mandatory policy. Depending on the security level established, one record contains sensitive information, and the other one does not, that is, a user will see the record's information depending on his/her level of confidentiality previously dictated by the company's policy

Consider the following table, where the primary key is Name and λ(x) is the security level:

Although useful from a security standpoint, polyinstantiation raises several problems:

  • Moral scrutiny, since it involves lying
  • Providing consistent views
  • Explosion in the number of rows
  • Cryptography

    In cryptography, polyinstantiation is the existence of a cryptographic key in more than one secure physical location.

    References

    Polyinstantiation Wikipedia