From Wikipedia, the free encyclopedia
Jump to: navigation, search

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).

Operating system security[edit]

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.[1][2]

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.


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.[3] 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[4]

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

Name λ(Name) Age λ(Age) λ
Alice S 18 TS TS
Bob S 22 S S
Bob S 33 TS TS
Trudy TS 15 TS TS

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


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


  1. ^ Robb R. Romans (2008-03-26). "Improve security with polyinstantiation: Using a Pluggable Authentication Module to protect private data". IBM DeveloperWorks. 
  2. ^ Russell Coker (2007-01-04). "Polyinstantiation of directories in an SE Linux system". Sage 2006. 
  3. ^ Jajodia, Sushil; Sandhu, Ravi S; Blaustein, Barbara T. (2006-02-01). "Solutions to the Polyinstantiation Problem" (PDF). 
  4. ^ Pfleeger, Charles P.; Pfleeger, Shari Lawrence (2003). Security in Computing. Prentice Hall Professional. ISBN 9780130355485.