Requirement 7.4.4a
VVSG 1.0 Requirement 7.4.4a:
a. The vendor shall document all software including voting system software, third party software (such as operating systems and drivers) to be installed on the certified voting system, and installation programs.
i. The documentation shall have a unique identifier (such as a serial number or part number) for the following set of information: documentation, software vendor name, product name, version, the certification application number of the voting system, file names and paths or other location information (such as storage addresses) of the software.
ii. The documentation shall designate all software files as static, semi-static or dynamic.
Test Assertions
TA744a-1: The manufacturer SHALL document, in the TDP, all software that is installed on the certified voting system.
TA744ai-1-1: This software, which will be documented, SHALL include, but is not limited to, voting system software and third party software (including operating systems and drivers).
TA744ai-1-2: The documentation SHALL include a unique identifier.
TA744a-1-3: The documentation SHALL include a unique identifier for the software vendor name.
TA744ai-1-4: The documentation SHALL include a unique identifier for the software product name.
TA744ai-1-5: The documentation SHALL include a unique identifier for the software version.
TA744ai-1-6: The documentation SHALL include a unique identifier for the certification application number of the voting system.
TA744ai-1-7: The documentation SHALL include a unique identifier for the file names of the software.
TA744ai-1-8: The documentation SHALL include a unique identifier for the file paths of the software.
TA744ai-1-9: The documentation SHALL include a unique identifier for all other location information of the software, besides file paths.
TA744ai-1-9-1: The other location information SHALL include, but is not limited to, storage addresses.
TA744aii-1-1: The documentation SHALL designate all software files as one of the following: EITHER static OR semi-static OR dynamic.
TA744a-2: The manufacturer SHALL document, in the TDP, all installation programs.
TA744ai-2-1: This software, which will be documented, SHALL include, but is not limited to, voting system software and third party software (including operating systems and drivers).
TA744ai-2-2: The documentation SHALL include a unique identifier.
TA744ai-2-3: The documentation SHALL include a unique identifier for the software vendor name.
TA744ai-2-4: The documentation SHALL include a unique identifier for the software product name.
TA744ai-2-5: The documentation SHALL include a unique identifier for the software version.
TA744ai-2-6: The documentation SHALL include a unique identifier for the certification application number of the voting system.
TA744ai-2-7: The documentation SHALL include a unique identifier for the file names of the software.
TA744ai-2-8: The documentation SHALL include a unique identifier for the file paths of the software.
TA744ai-2-9: The documentation SHALL include a unique identifier for all other location information of the software, besides file paths.
TA744ai-2-9-1: The other location information SHALL include, but is not limited to, storage addresses.
TA744aii-2-1: The documentation SHALL designate all software files as one of the following: EITHER static OR semi-static OR dynamic.
Requirement 7.4.4b
VVSG 1.0 Requirement 7.4.4b:
a. The EAC accredited testing lab shall witness the final build of the executable version of the certified voting system software performed by the vendor.
i. The testing lab shall create a complete record of the build that includes: a unique identifier (such as a serial number) for the complete record; a list of unique identifiers of unalterable storage media associated with the record; the time, date, location, names and signatures of all people present; the source code and resulting executable file names; the version of voting system software; the certification application number of the voting system; the name and versions of all (including third party) libraries; and the name, version, and configuration files of the development environment used for the build.
ii. The record of the source code and executable files shall be made on unalterable storage media. Each piece of media shall have a unique identifier.
Discussion: Unalterable storage media includes technology such as a CD-R, but not CD-RW. The unique identifiers appear on indelibly printed labels and in a digitally signed file on the unalterable storage media.
iii. The testing lab shall retain this record until notified by the EAC that it can be archived.
Test Assertions
TA744b-1: The manufacturer SHALL perform the final build of the executable version of the certified voting system software.
TA744b-2: A laboratory that has been accredited by the EAC SHALL witness this final build.
TA744bi-1: A laboratory that has been accredited by the EAC SHALL create a complete record of this final build.
TA744bi-1-1: The complete record of the final build SHALL include a unique identifier for the complete record.
TA744bi-1-1-1: The unique identifier MAY be a serial number.
TA744bi-1-2: The complete record of the final build SHALL include a list of unique identifiers of unalterable storage media associated with the record.
TA744bi-1-3: The complete record of the final build SHALL include the time of all people present.
TA744bi-1-4: The complete record of the final build SHALL include the date of all people present.
TA744bi-1-5: The complete record of the final build SHALL include the location of all people present.
TA744bi-1-6: The complete record of the final build SHALL include the names of all people present.
TA744bi-1-7: The complete record of the final build SHALL include the signatures of all people present.
TA744bi-1-8: The complete record of the final build SHALL include the source code.
TA744bi-1-9: The complete record of the final build SHALL include the resulting executable file names.
TA744bi-1-10: The complete record of the final build SHALL include the version of voting system software.
TA744bi-1-11: The complete record of the final build SHALL include the certification application number of the voting system.
TA744bi-1-12: The complete record of the final build SHALL include the name of all libraries, including third party libraries.
TA744bi-1-13: The complete record of the final build SHALL include the versions of all libraries, including third party libraries.
TA744bi-1-14: The complete record of the final build SHALL include the name of the development environment used for the build.
TA744bi-1-15: The complete record of the final build SHALL include the version of the development environment used for the build.
TA744bi-1-16: The complete record of the final build SHALL include the configuration files of the development environment used for the build.
TA744bii-1: The record of the source code SHALL be made on unalterable storage media.
TA744bii-2: The record of the executable files SHALL be made on unalterable storage media.
TA744bii-1-1: Each piece of media SHALL have a unique identifier.
TA744bii-1-2: The unalterable storage media SHALL NOT include CD-RW.
TA744bii-1-3: The unalterable storage media MAY include CD-R.
TA744biii-1: The testing lab SHALL retain the complete record of the build until notified by the EAC that the complete record may be archived.
Requirement 7.4.4c
VVSG 1.0 Requirement 7.4.4c:
b. After EAC certification has been granted, the testing lab shall create a subset of the complete record of the build that includes a unique identifier (such as a serial number) of the subset, the unique identifier of the complete record, a list of unique identifiers of unalterable storage media associated with the subset, the vendor and product name, the version of voting system software, the certification number of the voting system, and all the files that resulted from the build and binary images of all installation programs.
iii. The record of the software shall be made on unalterable storage media. Each piece of media shall have a unique identifier.
iv. The testing lab shall retain a copy, send a copy to the vendor, and send a copy to the NIST National Software Reference Library (NSRL) and/or to any repository designated by a State.
v. The NSRL shall retain this software until notified by the EAC that it can be archived.
Test Assertions
TA744c-1: After certification has been granted by the EAC, a laboratory that has been accredited by the EAC SHALL create a subset of the complete record of the build.
TA744c-1-1: The subset of the complete record SHALL include a unique identifier of the subset.
TA744c-1-1-1: The unique identifier MAY be a serial number.
TA744c-1-2: The subset of the complete record SHALL include a unique identifier of the complete record.
TA744c-1-3: The subset of the complete record SHALL include a list of unique identifiers of unalterable storage media associated with the subset.
TA744c-1-4: The subset of the complete record SHALL include the vendor of the voting system software.
TA744c-1-5: The subset of the complete record SHALL include the product name of the voting system software.
TA744c-1-6: The subset of the complete record SHALL include the version of the voting system software.
TA744c-1-7: The subset of the complete record SHALL include the certification number of the voting system.
TA744c-1-8: The subset of the complete record SHALL include all the files that resulted from the build.
TA744c-1-9: The subset of the complete record SHALL include binary images of all installation programs.
TA744c-1-10: The subset of the complete record SHALL be made on unalterable storage media.
TA744c-1-10-1: Each piece of media SHALL have a unique identifier.
TA744c-1-11: The Testing Laboratory SHALL retain a copy of the subset.
TA744c-1-12: The Testing Laboratory SHALL send a copy of the subset to the vendor.
TA744c-1-13: The Testing Laboratory SHALL send a copy of the subset to the NIST National Software Reference Library (NSRL) OR the Testing Laboratory SHALL send a copy of the subset to any repository designated by a State.
TA744c-1-13-1: IF the Testing Laboratory sends a copy of the subset to the NIST National Software Reference Library (NSRL) THEN the NSRL SHALL retain this software until notified by the EAC that it may be archived.
Requirement 7.4.4d
VVSG 1.0 Requirement 7.4.4d:
c. The vendor shall provide the NSRL and any repository designated by a state with a copy of the software installation disk, which the vendor will distribute to purchasers-- including the executable binary images of all third party software.
i. All voting system software, installation programs and third party software (such as operating systems and drivers) used to install or to be installed on voting system equipment shall be distributed using unalterable storage media.
ii. The vendor shall document that the process used to verify the software distributed on unalterable storage media is the certified software by using the reference information provided by the NSRL or other designated repository before installing the software.
Test Assertions
TA744d-1: The manufacturer SHALL provide the NSRL with a copy of the software installation disk.
TA744d-2: IF a repository is designated by a state, THEN the manufacturer SHALL provide that repository with a copy of the software installation disk.
TA744d-3: The manufacturer SHALL distribute the software installation disk to purchasers.
TA744d-4: The software installation disk SHALL include the executable binary images of all third party software.
TA744di-1: All voting system software used to install on voting system equipment SHALL be distributed using unalterable storage media.
TA744di-2: All installation programs used to install on voting system equipment SHALL be distributed using unalterable storage media.
TA744di-3: All third party software, including, but not limited to, operating systems and drivers, used to install on voting system equipment SHALL be distributed using unalterable storage media.
TA744di-4: All voting system software to be installed on voting system equipment SHALL be distributed using unalterable storage media.
TA744di-5: All installation programs to be installed on voting system equipment SHALL be distributed using unalterable storage media.
TA744di-6: All third party software, including, but not limited to, operating systems and drivers, to be installed on voting system equipment SHALL be distributed using unalterable storage media.
TA744dii-1: Before installing the software, the manufacturer SHALL document that the software distributed on unalterable storage media is the certified software.
TA744dii-2: The reference information provided by the NSRL or provided by another designated repository SHALL be used to perform this verification.
Requirement 7.4.4e
VVSG 1.0 Requirement 7.4.4e:
e. The voting system equipment shall be designed to allow the voting system administrator to verify that the software is the certified software by comparing it to reference information produced by the NSRL or other designated repository.
Test Assertions
TA744e-1: The voting system SHALL make the voting system software available to the voting system administrator to allow the software to be compared to the reference implementation in order to verify that the voting system software is the certified software.
Requirement 7.4.4f
VVSG 1.0 Requirement 7.4.4f:
f. The vendors and testing labs shall document to whom they provide voting system software.
Test Assertions
TA744f-1: The manufacturers SHALL document to whom they provide voting system software.
TA744f-2: The Testing Laboratories SHALL document to whom they provide voting system software.