Commit Graph

261 Commits

Author SHA1 Message Date
chubtub
6e849d601c Merge branch 'master' into issue-345 2021-07-02 16:49:26 -04:00
chubtub
3b621770d5 Modify SupplyChainCredentialValidator.validateCertChain to thoroughly validate cert path. 2021-07-02 13:45:32 -04:00
Cyrus
e7cdba07c4
Merge pull request #377 from nsacyber/component-class-revision
Component Class Bug Fix
2021-07-01 14:29:21 -04:00
Cyrus
cac913af11 Updated the component class to no longer use ints but instead use only Strings 2021-07-01 12:49:35 -04:00
chubtub
e86d1efbbf One line change to SupplyChainCredentialValidator to loop fully through truststore. 2021-07-01 10:50:53 -04:00
Cyrus
a555fac716 Finished updating the unit test. The value of being passed in wasn't of a format that the component class could handle. 2021-06-29 20:33:59 -04:00
Cyrus
3269e81783 All components were failing on tests specifically set up to match components and pass. This happened because the int value of the component class value was being translated with SHORT.size. This is odd because it worked before but stopped. 2021-06-29 12:04:22 -04:00
Cyrus
5c448057d4
Merge branch 'master' into fm-validation-pass-link 2021-06-28 12:15:47 -04:00
chubtub
d1f0eb5d88 Check for an empty truststore during cert path validation. Removed the recursion in SupplyChainCredentialValidator.validateCertChain. 2021-06-25 11:40:08 -04:00
Cyrus
be3cd2bd32 Removed the validation of the PCRs line by line for the expected PCR values. 2021-06-24 11:46:01 -04:00
Cyrus
adb93dbd94 Updated the unit tests 2021-06-21 10:32:44 -04:00
Cyrus
e8d84b88f5 Updated the component class values for SMBIOS 2021-06-17 14:32:49 -04:00
Cyrus
132a336549 Updated the print out of the the component string to leave out Unkown and Other for display. Instead it'll just show nothing. 2021-06-17 13:12:26 -04:00
Cyrus
b06025a71f Updated the Event Log Measurements class to use a hash for lookup 2021-06-17 12:52:28 -04:00
Cyrus
cd206f870c These changes may be removed because the issue is becoming more involved and I may need to rethink how this will work. 2021-06-16 08:52:40 -04:00
Cyrus
9c060dec55 Updated event log measurements to pass in the overall result status. However display isn't printing out correctly. 2021-06-09 11:07:11 -04:00
Cyrus
218002a3c2 Merge remote-tracking branch 'origin/digest-implement-final' into fm-validation-pass-link 2021-06-08 22:19:52 -04:00
Cyrus
13043856ef These changes update the component class object to handled SMBIOS components along with the TCG ones presented originally. The unit tests also were updated to use the new structure of the class and added additional tests for the SMBIOS entries 2021-06-07 13:46:47 -04:00
Cyrus
8a258f2b76 Updated some text associated with the rimType 2021-05-28 08:48:40 -04:00
Cyrus
0e8e88b536 This commit has updated changes that save both a base64 and a hex dec value of the RIM file hash to the database. Depending on what is needed, they are used to pull either the base or support RIM. Also fixed the link for the rimlinkhash on the details page. 2021-05-27 13:46:43 -04:00
Cyrus
8fbd6e1a39 Changed up some of the encoded for the rim byte array 2021-05-25 13:11:57 -04:00
Cyrus
65d596a756 Some additional updates that included deviceNames as a means to pull RIM information. In addition updated the display of the failures, adding filters for like events from the baseline. 2021-05-20 06:26:07 -04:00
Cyrus
ddc36d81f4 This set of code changes deals with the displaying of failed digests values from the validation process. The way there were displayed before was going to be unsustainable because event numbers will never match up. There for a direct compare to a failed event would never be accurate. 2021-05-17 12:44:03 -04:00
Cyrus
5acc393541 This commit adds several changes that updates how the RIM files are accessed and made accessible from the DB as well as what is shown visually when there is a validation failure and the measurement log is shown. 2021-05-06 08:43:26 -04:00
Cyrus
1d33054577
Merge pull request #350 from nsacyber/ignore-gpt-events
[#349] Ignore GPT PCR
2021-05-04 10:14:53 -04:00
Cyrus
c7fb94d7b4
Merge pull request #352 from nsacyber/event-digest-update
[#343] Event digest update (UI)
2021-04-23 08:45:13 -04:00
Cyrus
46c9640cbe Updated the code with additional OIDs for the algorithms that certificates use for the signatures. And updated the isIssuer method to not use the hard coded algorithm string. 2021-04-15 14:15:11 -04:00
Cyrus
b52b8101a6 The new policy setting is supposed to be default on. 2021-04-14 14:23:43 -04:00
Cyrus
523bae8f9d This set of code adds an additional policy to the page for the GPT PCR. Details for the change can be found in issue #349. 2021-04-14 13:55:52 -04:00
Cyrus
5a82e48b61 Merge branch 'master' into event-digest-update 2021-04-13 08:50:42 -04:00
Cyrus
e70e019c6b This commit has some changes to how patch and supplemental are handled. It adds some flags to the Record and Value objects to note that data has been processed so that multiple entries aren't created. 2021-04-13 07:45:52 -04:00
Cyrus
760f246096
Merge pull request #342 from nsacyber/rim_digest_store
[#341] RIM Event Digest Store
2021-04-13 07:45:17 -04:00
Cyrus
c46aa2b48b
Merge pull request #348 from nsacyber/certificate-failure-fidelity
Certificate Failure Fidelity
2021-04-09 14:15:43 -04:00
Cyrus
ea5b85b703 Updated the code to now display the var swidtag and rimel. However there are issues with the examples. This commit has fixes for how the pcr values are pulled for display on the base RIM page. 2021-04-02 06:34:47 -04:00
Cyrus
2abb13d99d This change is to update the code to the values listed in Table 13 of Registry of Reserved TPM 2.0 Handles and Localities for Platform Class Values. 2021-03-30 06:54:10 -04:00
Cyrus
4911742c7a This is a checkout of some changes to the resource management for swid tags so that the file name listed is associated with the stored support RIMS. 2021-03-30 06:35:14 -04:00
Cyrus
f2308f2955 Updated the isIssuer and the containsAll to allow the reason for the platform certificate failure isn't that the issuer is missing but that the issuer available fails the public key on the details page for certificates 2021-03-26 10:32:19 -04:00
Cyrus
a6c6fbfb31 Made some changes for using just the RIM Hash to pull support rims from the database to associated with the swid tag. Changed the rim hash from and int to a string. 2021-03-25 13:28:31 -04:00
Cyrus
c290ba25be Modified how unmatched log events are tested. Now it uses the reference event value from the database. 2021-03-23 13:13:17 -04:00
Cyrus
108748fb2a Undid some code and change the Digest Value class into a table in the database. This code then updates those values when a provision is initiated. At this time, that is all it does. 2021-03-19 11:01:25 -04:00
Cyrus
53cb300063 This is an initial commit with changes that add new classes for digest reference matching. 2021-03-17 10:23:08 -04:00
Cyrus
9134e2ab9d Merge branch 'master' into rim_digest_store 2021-03-12 07:33:47 -05:00
Cyrus
accbc422e7 This adds the additional classes 2021-03-11 10:56:19 -05:00
Cyrus
19aa3c27a1 initial commit with the structures that are to be set up 2021-03-11 10:55:22 -05:00
Cyrus
c66f4f7648
Merge pull request #334 from nsacyber/Unmatched-component-refactor
Unmatched component refactor
2021-03-09 13:07:16 -05:00
Cyrus
9008972fbc Cleared all build errors 2021-03-08 06:43:10 -05:00
Cyrus
0e3eabc34f Removed unused import 2021-03-08 06:31:31 -05:00
Cyrus
bd5bca58ea I have modified the code to correct handle the situation in which the device has more components than the certificate and I have taken steps to make the system test GOOD pass for test A6, A7 and A8. 2021-03-05 15:36:29 -05:00
Cyrus
763dcbd975 These are changes that were made in the system-tests-test that resolved the issues in the first TPM 2.0 system tests on travis. 2021-03-04 08:01:18 -05:00
Cyrus
8a571f1788 When a delta has the component that is bad, not the base, it wasn't highlighting. This is because the component failures wasn't be updated and then the certificate needed to be updated as well. 2021-02-25 06:59:56 -05:00
Cyrus
a5184f5a5b Final changes that adds in the additional setting for the renewal period threshold. This value indicates that if the end validity has been reached for the current issued attestation certificate, then don't generate one. However if we are within the number of days set by the threshold, then generate the certificate before it expires. The default is 1 year from the end validity. 2021-02-23 10:17:56 -05:00
Cyrus
dcf0ec8101 Merge branch 'master' into aic-policy-rule 2021-02-11 14:13:28 -05:00
Cyrus
9917fadef7 On a previous commit, I removed a piece of code that checked the base credential first. Because the delta fixed a problem in the base, the base failed before the delta was checked. This was completely removed. On a test that we had previously done, the test passes when it should fail because there is only a base, so that check isn't being done. This change reintroduces the check but in a different location with flags for when there is a delta present. 2021-02-09 13:30:37 -05:00
Cyrus
69cd06df3b Merging error didn't include the update to Assert.State 2021-02-09 06:54:31 -05:00
Cyrus
5e4dc8ce82 Merge branch 'master' into Unmatched-component-refactor 2021-02-08 15:23:21 -05:00
Cyrus
7b79ceb07a Found the issue with the component being removed that doesn't have a proper serial number and adding one with it. The code was revalidating the base in the attributes enabled flag. This was unncessary. 2021-02-08 14:25:10 -05:00
Cyrus
4999c96685 Updated code to correct situations that were not linking up with properly for delta and platform certificate component validation. 2021-02-05 16:10:15 -05:00
Cyrus
677716fa08 Merge branch 'master' into Unmatched-component-refactor 2021-02-04 08:51:31 -05:00
Cyrus
447c817839 Updated the lists for the left over components. 2021-02-02 12:57:55 -05:00
Cyrus
2d9bbe1bd7 initial commit 2021-02-01 11:24:20 -05:00
Cyrus
8d6a697a23 Removed some unnecessary comments 2021-01-28 08:08:12 -05:00
Cyrus
653bfddc6d Updated some code and took out things that didin't need to be in the official build for unit tests 2021-01-21 07:40:55 -05:00
Cyrus
5589096443 Cleaned up some stuff I found during code compare in github. 2021-01-20 13:23:51 -05:00
Cyrus
acc022d784 Finalized clean up. 2021-01-20 13:05:43 -05:00
Cyrus
e9eef0e5b3 Updated the code to go through the serial numbers that are valid numbers verus generic filler. Tested against the provisioner. 2021-01-20 08:00:24 -05:00
Cyrus
fa12614221 Testing out new code 2021-01-14 10:34:27 -05:00
Cyrus
beb1ccbee3 Updated a supply chain validation check for delta certificates. Updated the check for duplicate base platform certificates when storing them for the same device and updated the begin validity date for the delta vs the base check. 2021-01-12 12:26:54 -05:00
Cyrus
fcb496686c This includes some refactoring of the component identifier. 2021-01-11 13:24:49 -05:00
Cyrus
7028810707 This latest push should have the code that'll highlight the components based on a string rather than the serial number. This also adds additional checks for the validity begin date of the delta not matching or being before the base. It also checks that they don't have the same certificate serial number. 2020-12-30 08:41:47 -05:00
Cyrus
1db52cebf9 This is a stopping point because the code can't be fully worked out because the data (certificates) aren't correct. 2020-12-17 07:24:51 -05:00
Cyrus
8fa5dfdd9e Removed unused imports 2020-12-14 10:57:35 -05:00
Cyrus
62c7ca2d90 This PR is to address issue #308. The ACA was pulling Issuer Certificates using the organization RDN of the subject string and getting this from the issuer string of the EC or PC. This presents a problem because it isn't a required field. The organization field cannot be null or empty. Pulling objects from a DB using null or empty would produce bad results. The main change of this issue (which has not been full tested) is pulling using the AKI for the db lookup. If this fails, instead of falling back on potentially left out fields like the O= RDN, the ACA takes the issuer/subject fields, breaks them apart and sorts them based on the key. It also changes the case. This way the lookup can be assured to match in case of some random situation in which the issuer or subject field don't match because RDN keys are just in different positions of the string. 2020-12-11 14:47:46 -05:00
Cyrus
e64c6cf772 Merge branch 'master' into aic-policy-rule 2020-12-03 13:34:29 -05:00
Cyrus
e32e9412d8 Merge branch 'master' into Unmatched-component-refactor 2020-12-03 13:20:12 -05:00
Cyrus
a32d3a5f02 Remove comments 2020-12-01 09:46:05 -05:00
Cyrus
29b7d466cd Updated wording in validation for failed trust store 2020-11-30 09:23:10 -05:00
Cyrus
9433c97dc9 The code now uses a combination of the class value and the platform manufacturer and model to identify mismatches. This now highlights the failured components 2020-11-25 08:02:45 -05:00
Cyrus
ffbcebbf11 Found the issue with the isMatch class not working. The component class string for the class value has a pound sign. 2020-11-24 09:12:00 -05:00
Cyrus
fbdcf83840 Continued refactoring to update the failed components part of the attribute validation. The delta mapping needs to be reworked to not use serials. 2020-11-23 14:46:29 -05:00
Cyrus
2b41720ded Merge branch 'master' into update-component-failure-highlight 2020-11-17 15:24:27 -05:00
chubtub
e3b5d164a3 Add SKI to front end. Extract PK from base RIM to validate signature if not found in db 2020-11-16 16:43:11 -08:00
Cyrus
e8f5107137 Updating code to use a different format for identifying failed components. 2020-11-09 13:59:19 -05:00
Cyrus
bdb32d13ad initial commit 2020-11-09 12:45:36 -05:00
Cyrus
967d9a0030 Merge branch 'master' into aic-policy-rule 2020-11-09 07:24:33 -05:00
Cyrus
9aa2c6a46d Merge branch 'master' into client-display-log-mismatch 2020-11-06 09:17:38 -05:00
Cyrus
ed7dea3706 Merge branch 'master' into aic-policy-rule 2020-11-06 06:42:44 -05:00
Cyrus
6130f29dfa Merge branch 'master' into aic-policy-rule 2020-11-05 14:47:52 -05:00
chubtub
623da2ce80 Overload RIM validator class for faster signature checking 2020-11-05 14:13:50 -05:00
Cyrus
c7ffb1c57d Merge branch 'master' into client-display-log-mismatch 2020-11-05 12:39:35 -05:00
chubtub
302ffd81ee Load Schema object in ReferenceManifestValidator class with controller class instantiation to save time 2020-11-05 11:07:17 -05:00
chubtub
24cf71642d Add validation for support RIM hash and base RIM signature. 2020-11-05 11:07:17 -05:00
Cyrus
1b3abe465a
Merge pull request #303 from nsacyber/vendor-table-refactor
[#302] UEFI Table Map Refactor
2020-11-05 11:02:18 -05:00
Cyrus
388e3e9aa0 Merge branch 'master' into aic-policy-rule 2020-11-04 10:03:08 -05:00
Cyrus
49714fb3f2 Updated the Component Class Registry to rev. 4 2020-11-04 07:44:07 -05:00
Cyrus
e1c3a1fc0f Initial Commit 2020-10-29 08:58:37 -04:00
Cyrus
1a86012e72 Merge branch 'master' into vendor-table-refactor 2020-10-27 13:05:48 -04:00
Cyrus
24e460e0c4 This is a refactore that changes BiosMeasurements into EventLogMeasurements for evolving naming convention updates. 2020-10-26 11:09:26 -04:00
Cyrus
d7ade70b5c This branch takes the validated status of a failed event log matching from the bios measurements on the client and displays what failed on the support RIM page and the fail validation icon, if log mismatch, links to a bios measurments page that displays the events that didn't match next to baseline. 2020-10-22 13:32:30 -04:00
Cyrus
51f91b759d Merge branch 'master' into vendor-table-refactor 2020-10-20 09:40:32 -04:00
Cyrus
96970142cb This commit includes a completed rewrite of the ReferenceManifestSelector framework. Like the previous rewrite, it was easier and made more sense to create addition classes ands that are specific to a type of RIM (base, support, measurement) for referencing in the DB. Once this was rewritten the code was modified to validate the measurement against the support rim. 2020-10-19 13:06:44 -04:00