-
Notifications
You must be signed in to change notification settings - Fork 2
BSL v1.0 Test Readiness Review
- Agenda
- Review Board
- Software Overview
- Documents
- Requirements
- Improvements
- Defect Corrections
- Sustaining Activities
- Other
- Test Objectives
- Test Environment
- Key/New Test Cases
- Test Personnel
- Test Effort Rationale
- Test Constraint And Risks
- Action Item Status
- Deviations
| Review Board Chair | Jamie Seung Shin |
| (Optional) MGSS Chief Engineer | Michele Vogt |
| MGSS Deputy Chief Engineer | Kyran Owen-Mankovich |
| MGSS Assurance Engineer | Eva Bokor |
| MGSS Cybersecurity Engineer | Mike Pajevski |
| ASEC/ASIS SE | Ken Gieselman |
| Task Manager | Chris Krupiarz |
| Task Lead | Brian Sipos |
The BPSec Library (BSL) is a software library (v1.0) and an implementation of Bundle Protocol Security (BPSec), which is the standardized mechanism for BPv7 bundle-layer security as specified in the IETF RFC 9172. The BPv7 transport protocol was developed as part of an overall Delay-Tolerant Networking (DTN) architecture for data exchange in challenging communications environments. BPv7 has been baselined for use in a variety of NASA and other space agency missions such as NASA’s LunaNet and ESA’s Moonlight projects, and has been recommended for a variety of other IOAG and CCSDS space-networked architectures and functions.
The BPv7 protocol data unit is the Bundle, and bundles are comprised of multiple Blocks of information. An application that produces, processes, and/or delivers bundles in compliance with the BPv7 specification is called a Bundle Protocol Agent (BPA). BPSec defines special extension blocks that carry cryptographic information related to other blocks in the same bundle. All standards-compliant BPAs must be able to process BPSec blocks in a received bundle if required by the security policy of the BPA. This project will create a BPSec Library (BSL) that implements a general-purpose BPSec security block processor.
Release information for the software can be found in the BSL docs repository.
| Title | Document Number |
|---|---|
| BSL TIP | DOC-005726 |
| BSL CONOPS | DOC-005727 |
| BSL SRD | DOC-005735 |
| BSL SIS | DOC-005835 |
| BSL Test Plan | DOC-TBD |
| BSL Test Specification Document | DOC-TBD |
This section has no updates because this is the initial release, and there have been no changes from the baseline as of yet.
The following table is the sections of requirements and how many requirements per section.
| Area | Number of Requirements |
|---|---|
| General (GEN) | 20 |
| Security Service (SSF) | 9 |
| Error and Safety (ERR) | 10 |
| BPA Interface (BIN) | 13 |
| Crypto Interface (CIN) | 5 |
| Policy Interface (PIN) | 6 |
| Telemetry Interface (TIN) | 1 |
| Logging Interface (LIN) | 4 |
| Service (SVC) | 4 |
| Configuration (CFG) | 7 |
| Performance (PFR) | 2 |
| Security (SEC) | 2 |
| Adaptability (ADP) | 4 |
All requirements are mapped to a specific test case via the BSL Test Matrix. This matrix shows the requirement, the description, the verification procedure, the verification type, and the test type. The test types are described in further detail below.
This section has no updates because this is the initial release, and there have been no changes from the baseline as of yet.
This section has no updates because this is the initial release, and there have been no changes from the baseline as of yet.
This section has no updates because this is the initial release and there have been no changes from the baseline as of yet.
| ID | Title | Status | Test Case ID(s) |
|---|---|---|---|
| N/A | N/A |
The BSL is a library and the objective of testing is to ensure the library performs its expected behaviors in accordance with the requirements.
The overall purpose is to make test results reproducible for the users. All testing happens as a single library instance on a single "mock BPA" node. There are no requirements or expectations about integrating with any particular real BPA or any multiple node test cases. Certain requirements for the overall environment are as follows:
- Must be RedHat Enterprise 9
- Must have FIPS 140 enabled at OS install
- Must have SE Linux enabled
- Since the BSL software will be configuration managed as rpm packages, the test executor must interact with tests via command prompt/terminal
Note that we describe in more detail the Test Environment in the Acceptance Test Plan.
The source code for testing is currently in the BSL private repository. This repository will become public at a TBD date.
BSL requirements are verified via two Key Test Cases/Types:
- Mock BPA
- Unit Test
The test team performs black box testing through a simulated Bundle Protocol Agent called the Mock BPA. Testers input a predefined bundle hex string into the Mock BPA and observe the resultant bundle modified by the BSL and outputted by the BPA. An example case for such usage is when a block needs to be removed from a bundle.
Since BSL is a library it contains some functionality that is not visible using the Mock BPA only. For those tests, the test teams reuses unit tests created by the software developers. These unit tests are independently reviewed by the test team to ensure that the tests operate as defined
There are no requirements or expectations about integrating with any particular real BPA or any multiple node test cases.
| Person | Role | Expected Testing Time |
|---|---|---|
| Chris Krupiarz | Task Manager | 60 hours |
| Brian Sipos | Task Cognizant Engineer and Test Lead | 50 hours |
| Bill Van Besien | BSL Developer | 30 hours |
This adds up to more than the 72.5 staff hours below as that is test execution time. Additional staff time is allocated here to identify the bundles that are needed for the Mock BPA input, dry runs, bug fixes, and review of unit tests. Sufficient budget remains for conducting the testing. All three testers are allocated in the current BSL staff plan for working on this project.
| Milestone | Estimated Date |
|---|---|
| TRR | 1/16/2025 |
| BSL SW delivered | 1/30/2025 |
| Begin test execution | 3/3/2025 |
| End test execution | 5/8/2025 |
| Test Closure Report | 5/21/2025 |
| DDR | 5/29/2024 |
For test effort amount, the estimate is that each test will likely take a minimal amount of time per test execution, e.g. 5 minutes, and there are 87 tests to complete for a total effort of 435 minutes or 72.5 staff hours.
There are no external organization dependencies.
Because the BSL is a library and its Mock BPA can operate in isolation, testing doesn't require external systems or resources. The lack of constraints means there are no risks to being able to execute the tests.
This is the initial release so there are no action items from previous release.
This is the initial release so there are no deviations from previous release. We are treating the need for an architecture description as being fulfilled by PDR presentation. Design specifications will be fulfilled by CDR.