Introduction to Blockchains

BloSS@M relies on blockchain technology as a foundational mechanism for maintaining a shared, verifiable record of software asset lifecycle information across organizational boundaries. A blockchain is a distributed digital ledger that records transactions in a way that makes it resistant to unauthorized modification. These transactions are grouped into blocks and are cryptographically linked to preceding blocks, forming an append-only record that enables the detection of unauthorized changes.

Blockchain technology helps ensure that information is trustworthy, secure, and resistant to tampering. Each transaction is protected through cryptographic techniques that verify its authenticity and integrity. Once a transaction is validated and added to the blockchain, it becomes part of a permanent record that cannot be modified or deleted without leaving evidence of the change. This allows organizations to share and rely on information with greater confidence, even when participants do not fully trust one another or operate under a single governing authority.

To protect sensitive information, blockchain platforms can incorporate encryption and access control capabilities. These controls help determine who can view, submit, or manage specific data, ensuring that stakeholders only have access to information appropriate to their roles. Such capabilities are especially valuable in IT, operational technology (OT), and federal environments, where multiple organizations often collaborate while maintaining different responsibilities and levels of authority.
Blockchain networks are designed to be distributed across multiple participants, with each node maintaining a synchronized copy of the ledger. This decentralized structure improves system resilience, availability, and fault tolerance by avoiding reliance on a single organization or system. Consensus processes allow participating nodes to collectively verify and agree on transactions before they are permanently recorded, helping maintain the accuracy and consistency of the shared ledger.

Blockchain applications use smart contracts to automate and enforce the rules and processes that support business function. These smart contracts are deployed to the network as executable code and help ensure that transactions and data updates are handled consistently across all participants. To maintain trust and security, changes to the deployed code typically require approval from designated network members, reducing the risk of unauthorized or malicious modifications.

Common blockchain attributes:

A persistent, append-only, and tamper-resistant record of transactions.
Cryptographic mechanisms protect data integrity, support authentication, and enable non-repudiation.
A ledger is accessible to authorized participants within the network according to defined governance and access policies.
Replicated copies of the ledger are maintained across multiple nodes to improve availability and resilience.

Permissioned Blockchains

Blockchain systems generally fall into two categories: permissionless and permissioned architectures. A permissionless blockchain allows any participant to join the network without requiring approval from a central authority. Users can typically access the ledger and submit transactions anonymously, with trust established through consensus protocols such as Proof of Work (PoW). Although this approach promotes openness, transparency, and decentralization, it can also introduce challenges related to scalability, computational overhead, and data privacy.

By contrast, a permissioned blockchain limits network access to verified participants. Only approved individuals or organizations are granted the ability to view ledger data or initiate transactions. This controlled access framework provides greater oversight of data sharing and transaction processing, resulting in stronger privacy protections, improved data integrity, and more efficient operations.

Permissioned managed blockchains (PMBs) build upon the permissioned model by adding administrative capabilities such as governance controls, identity and access management, and system oversight functions. As a result, PMBs often provide several advantages over permissionless blockchain networks including:

Higher scalability and performance

Achieved by utilizing cryptographic proof of authorization rather than computationally intensive consensus algorithms such as PoW

Reduced transaction costs

Lower resource consumption and streamlined network operations

Granular access control

Fine-grained permissions to be applied to the user, organization, or channel level

Configurable consensus mechanisms

Enable adaptation to specific operational or compliance requirements

Simplified governance and onboarding processes

Clearly defined participant roles and controlled membership management

Resilience against consensus manipulation

Membership and transaction validation governed by authorized entities rather than arbitrary network participants

Role-based management interfaces

Facilitated by system oversight and maintenance

What Is NGAC?

Next Generation Access Control (NGAC) is a NIST-developed, ANSI-standardized Attribute-Based Access Control (ABAC) framework that uses a graph structure to represent complex access control policies and the relationships between users, objects, and their attributes. NGAC is implemented within the smart contracts of the blockchain's code to enhance the access control to the data generated by BloSS@M. Unlike traditional role-based models, NGAC is designed to express and enforce fine-grained, dynamic permissions at scale, making it well-suited for federal and multi-agency IT environments. In BloSS@M, NGAC is embedded directly into the smart contracts of the blockchain chaincode, enforcing access decisions at the point of data interaction across the distributed ledger.

NGAC Functional Components

NGAC defines a standardized architecture composed of six distinct components, each playing a specific role in ensuring access control policies are consistently enforced, administered, and audited.

Intercepts access requests and enforces decisions made by the PDP before granting or denying access to resources.
Evaluates access requests against defined policies and returns an authorization decision to the PEP.
Provides the interface through which administrators define, update, and manage access control policies.
Monitors for defined event patterns and triggers administrative actions or obligations in response.
Supplies attribute data and contextual information needed by the PDP to evaluate access decisions.
Manages access to the actual resources or objects being protected within the system.

Policy Element Types

NGAC represents access control policies as a graph. Five node types form the building blocks of every policy:

User

Human or non-person entities (e.g., automated systems, services) that request access to resources.

Object

Logical representations of physical or digital resources, regardless of format or location.

User Attribute

Characteristics applied to users (such as role, clearance level, or agency membership) and are used to drive access decisions.

Object Attribute

Properties assigned to objects that determine classification and applicable access rules.

Policy Class

High-level domains defining the overarching access control model in effect, such as Role-Based Access Control (RBAC) or Discretionary Access Control (DAC).

Relationship Types

Edges in the NGAC policy graph define how elements relate to one another. Four relationship types give administrators precise control over how access is granted, restricted, and triggered.

  • Assignment — Builds hierarchy by linking elements, grouping users and objects under attributes, and nesting attributes within policy classes to define access domains.
  • Association — Connects a user attribute to an object attribute, granting access rights from the source to the target. Represented as a directed edge in the policy graph.
  • Prohibition — Explicitly denies access rights. Evaluated after associations, allowing administrators to carve out precise exceptions within broader permissions.
  • Obligation — Specifies event patterns and the administrative actions triggered when those events occur, managed by the Event Processing Point (EPP).

NGAC in BloSS@M

By embedding NGAC directly into blockchain smart contracts, BloSS@M enforces fine-grained, policy-driven access control at every point of data interaction — ensuring that sensitive software asset information is visible only to those authorized to see it, across every participating agency.

Diagram of NGAC Asset Chaincode Policy

Two Private Channels for Access Control

BloSS@M's permissioned blockchain requires two distinct private channels, each governed by their own set of smart contracts that implement NGAC:

  • Authorization Channel: Dedicated to the assessment and authorization (A&A) process, where peer nodes prove and continuously maintain their security posture in line with FISMA requirements
  • Assets Channel: Focused on the core business functions of BloSS@M to support the implementation of its operational and technical capabilities

The network is organized into those two primary channels with their distinct responsibilities. The authorization channel is responsible for handling automated security evaluations, managing member onboarding and authorization, and enforcing cATO-related processes. The asset channel, in contrast, provides access to BloSS@M functionality, enabling participants to locate and evaluate software assets, securely obtain software licenses, and oversee those assets throughout their lifecycle.

BloSS@M operates through a designated service provider member that establishes these channels and applies the NGAC policy framework. This member assigns the required permissions within both channels to organizations as they join the network and deploy their own peer nodes.

Because secure business transactions depend on trusted, participants, trust is established through automated authorization, accreditation, and continuous authority to operate (C-ATO) mechanisms. As a result, the authorization channel serves as the governance layer for the asset channel, determining which peer nodes are authorized to participate in and validate business transactions.