Subtyping

Subtyping Definition
Subtyping is the process of defining a subtype — a more specific group of objects, such as data points, entities, or physical objects — within a broader category (called the “supertype”). Objects in a subtype can generally be used in place of the supertype without breaking expected behavior. The term is usually associated with object-oriented programming but has applications in various disciplines.
How Subtyping Works
Subtyping establishes a relation between two categories of objects. It defines a subtype as a more specific version of the supertype category. A subtype inherits characteristics defined by the supertype. It can add new characteristics but stays compatible with the supertype’s expected behavior.
Subtyping Use Cases
- User permissions: An administrator account can be a subtype of user accounts. It inherits the base permissions available to every user and has unique permissions of its own.
- Access management: Temporary login credentials can be a subtype of permanent credentials. They follow the same access rules but have a built-in expiration time.
- Network security: Encrypted tunnels like VPNs can be treated as a subtype in a classification model. VPN protocols can then be categorized as subtypes of VPN connections.
- Trust level: Network traffic can be grouped into subtypes based on trust level. Different subtypes can then access different network security zones.
- Device classification: Devices on a network can be grouped into subtypes, such as trusted, guest, or restricted devices, each with different permissions and access levels.
Subtyping Pros
- Consistent policy application: Allows security policies or rules to be applied across all subtypes within a category.
- Granular control: Enables more precise permissions or behaviors to be defined for different subtypes.
- Interchangeability: Lets systems consistently treat related objects without redefining behavior for each subtype.
Subtyping Cons
- Excessive inheritance risk: Subtypes may inherit more permissions or behaviors than necessary, creating potential security issues.
- Increased complexity: Large or deeply nested hierarchies can make systems harder to understand and manage.
- Unexpected behavior: Replacing a base type with a subtype can lead to issues if the subtype behaves differently than expected.
Read More
- What Is a Network Management System?
- What Are Network Security Protocols?
- What Is a Vulnerability Management System?
FAQ
Subtyping allows for security rules to be implemented on a general and a more granular level. Security rules applied to a supertype also apply to all subtypes, and separate rules can be made for different subtypes.
Not on its own. Subtyping is a method for organizing objects in a category. It can cause security risks if the security policies for the subtype and supertype aren’t properly defined or clash with each other.
Yes, in many systems, an object can belong to several specific categories at the same time. For example, a user account can be both an “administrator” subtype and an “editor” subtype, with all the features of both subtypes.