Rebecca Cran
4e5ecdbac8
SecurityPkg: Add support for RngDxe on AARCH64
...
AARCH64 support has been added to BaseRngLib via the optional
ARMv8.5 FEAT_RNG.
Refactor RngDxe to support AARCH64, note support for it in the
VALID_ARCHITECTURES line of RngDxe.inf and enable it in SecurityPkg.dsc.
Signed-off-by: Rebecca Cran <rebecca@nuviainc.com >
Reviewed-by: Liming Gao <gaoliming@byosoft.com.cn >
Acked-by: Jiewen Yao <Jiewen.yao@intel.com >
Reviewed-by: Sami Mujawar <sami.mujawar@arm.com >
2021-05-11 16:26:05 +00:00
Jiaqi Gao
5396354b86
SecurityPkg: Add constraints on PK strength
...
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3293
Add constraints on the key strength of enrolled platform key(PK), which
must be greater than or equal to 2048 bit. PK key strength is required
by Intel SDL and MSFT, etc. This limitation prevents user from using
weak keys as PK.
The original code to check the certificate file type is placed in a new
function CheckX509Certificate(), which checks if the X.509 certificate
meets the requirements of encode type, RSA-Key strengh, etc.
Cc: Min Xu <min.m.xu@intel.com >
Cc: Jiewen Yao <jiewen.yao@intel.com >
Signed-off-by: Jiaqi Gao <jiaqi.gao@intel.com >
Reviewed-by: Min Xu <min.m.xu@intel.com >
Acked-by: Jiewen Yao <jiewen.yao@intel.com >
2021-04-26 16:24:32 +00:00
Wenyi Xie
99e7e48cc7
SecurityPkg/FvReportPei: remove redundant sizeof
...
REF:https://bugzilla.tianocore.org/show_bug.cgi?id=3333
In function InstallPreHashFvPpi, when calculating the size
of struct HASH_INFO, sizeof is used twice. This bug does
not lead to buffer overflow, "sizeof (HASH_INFO)" is 4,
whereas "sizeof (sizeof (HASH_INFO))" is 4 or 8.
Cc: Jiewen Yao <jiewen.yao@intel.com >
Cc: Jian J Wang <jian.j.wang@intel.com >
Cc: Laszlo Ersek <lersek@redhat.com >
Signed-off-by: Wenyi Xie <xiewenyi2@huawei.com >
Reviewed-by: Laszlo Ersek <lersek@redhat.com >
Reviewed-by: Jian J Wang <jian.j.wang@intel.com >
Acked-by: Jiewen Yao <Jiewen.yao@intel.com >
2021-04-16 08:39:59 +00:00
Michael Kubacki
54211ab10f
SecurityPkg/Tcg2Smm: Initialize local Status variable
...
REF:https://bugzilla.tianocore.org/show_bug.cgi?id=3277
Initializes the Status variable in TcgMmReadyToLock().
Fixes a Clang build failure:
Tcg2Smm.c - SecurityPkg\Tcg\Tcg2Smm\Tcg2Smm.c:254:7: error:
variable 'Status' is used uninitialized whenever 'if'
condition is false [-Werror,-Wsometimes-uninitialized]
Initializing this variable is required to address a practical
scenario in which the return value of TcgMmReadyToLock() is
undefined based on conditional evaluation in the function.
Cc: Jiewen Yao <jiewen.yao@intel.com >
Cc: Jian J Wang <jian.j.wang@intel.com >
Cc: Qi Zhang <qi1.zhang@intel.com >
Cc: Rahul Kumar <rahul1.kumar@intel.com >
Cc: Kun Qin <kun.q@outlook.com >
Signed-off-by: Michael Kubacki <michael.kubacki@microsoft.com >
Reviewed-by: Jiewen Yao <Jiewen.yao@intel.com >
Reviewed-by: Laszlo Ersek <lersek@redhat.com >
2021-04-13 01:57:43 +00:00
Dandan Bi
0d03ffc766
SecurityPkg: Consume MdeLibs.dsc.inc for RegisterFilterLib
...
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3246
MdeLibs.dsc.inc was added for some basic/default library
instances provided by MdePkg and RegisterFilterLibNull Library
was also added into it as the first version of MdeLibs.dsc.inc.
So update platform dsc to consume MdeLibs.dsc.inc for
RegisterFilterLibNull which will be consumed by IoLib and BaseLib.
Cc: Jiewen Yao <jiewen.yao@intel.com >
Cc: Jian J Wang <jian.j.wang@intel.com >
Signed-off-by: Dandan Bi <dandan.bi@intel.com >
Reviewed-by: Michael D Kinney <michael.d.kinney@intel.com >
Reviewed-by: Liming Gao <liming.gao@intel.com >
Acked-by: Ard Biesheuvel <ardb@kernel.org >
Reviewed-by: Jiewen Yao <Jiewen.yao@intel.com >
2021-03-31 05:47:10 +00:00
Kun Qin
59a3ccb09e
SecurityPkg: Tcg2Acpi: Added unblock memory interface for NVS region
...
This changes added usage of MmUnblockMemoryLib to explicitly request
allocated NVS region to be accessible from MM environment. It will bring
in compatibility with architectures that supports full memory blockage
inside MM.
Cc: Jiewen Yao <jiewen.yao@intel.com >
Cc: Jian J Wang <jian.j.wang@intel.com >
Cc: Qi Zhang <qi1.zhang@intel.com >
Cc: Rahul Kumar <rahul1.kumar@intel.com >
Signed-off-by: Kun Qin <kun.q@outlook.com >
Reviewed-by: Jiewen Yao <Jiewen.yao@intel.com >
Message-Id: <MWHPR06MB31026F3F8C3FAA39D74CE4BAF3969@MWHPR06MB3102.namprd06.prod.outlook.com >
2021-03-05 15:25:07 +00:00
Kun Qin
8802583c48
SecurityPkg: Tcg2Smm: Added support for Standalone Mm
...
https://bugzilla.tianocore.org/show_bug.cgi?id=3169
This change added Standalone MM instance of Tcg2. The notify function for
Standalone MM instance is left empty.
A dependency DXE driver with a Depex of gEfiMmCommunication2ProtocolGuid
was created to indicate the readiness of Standalone MM Tcg2 driver.
Lastly, the support of CI build for Tcg2 Standalone MM module is added.
Cc: Jiewen Yao <jiewen.yao@intel.com >
Cc: Jian J Wang <jian.j.wang@intel.com >
Cc: Qi Zhang <qi1.zhang@intel.com >
Cc: Rahul Kumar <rahul1.kumar@intel.com >
Signed-off-by: Kun Qin <kun.q@outlook.com >
Reviewed-by: Jiewen Yao <Jiewen.yao@intel.com >
Message-Id: <MWHPR06MB3102C3F99CBADFCC5F8A821CF3969@MWHPR06MB3102.namprd06.prod.outlook.com >
2021-03-05 15:25:07 +00:00
Kun Qin
3c2dc30d1b
SecurityPkg: Tcg2Smm: Separate Tcg2Smm into 2 modules
...
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3169
This change separated the original Tcg2Smm module into 2 drivers: the
SMM driver that registers callback for physical presence and memory
clear; the Tcg2Acpi driver that patches and publishes ACPI table for
runtime use.
Tcg2Smm introduced an SMI root handler to allow Tcg2Acpi to communicate
the NVS region used by Tpm.asl and exchange the registered SwSmiValue.
Lastly, Tcg2Smm driver will publish gTcg2MmSwSmiRegisteredGuid at the end
of entrypoint to ensure Tcg2Acpi to load after Tcg2Smm is ready to
communicate.
Cc: Jiewen Yao <jiewen.yao@intel.com >
Cc: Jian J Wang <jian.j.wang@intel.com >
Cc: Qi Zhang <qi1.zhang@intel.com >
Cc: Rahul Kumar <rahul1.kumar@intel.com >
Signed-off-by: Kun Qin <kun.q@outlook.com >
Reviewed-by: Jiewen Yao <Jiewen.yao@intel.com >
Message-Id: <MWHPR06MB310295CC623EF7C062844DFFF3969@MWHPR06MB3102.namprd06.prod.outlook.com >
2021-03-05 15:25:07 +00:00
Kun Qin
e2d6833c11
SecurityPkg: Tcg2Smm: Switching from gSmst to gMmst
...
This change replaced gSmst with gMmst to support broader compatibility
under MM environment for Tcg2Smm driver.
Cc: Jiewen Yao <jiewen.yao@intel.com >
Cc: Jian J Wang <jian.j.wang@intel.com >
Cc: Qi Zhang <qi1.zhang@intel.com >
Cc: Rahul Kumar <rahul1.kumar@intel.com >
Signed-off-by: Kun Qin <kun.q@outlook.com >
Reviewed-by: Jiewen Yao <Jiewen.yao@intel.com >
Message-Id: <MWHPR06MB310218F28C7AAF8DB375E963F3969@MWHPR06MB3102.namprd06.prod.outlook.com >
2021-03-05 15:25:07 +00:00
Kun Qin
7a56650e2e
SecurityPkg: Tpm2DeviceLibDTpm: Introduce StandaloneMm instance
...
This change added a new instance of Tpm2DeviceLibDTpm to support drivers
of type MM_STANDALONE. It abstracts dynamic Pcd access into separate file
for different instances to avoid dynamic usage for StandaloneMm modules.
Cc: Jiewen Yao <jiewen.yao@intel.com >
Cc: Jian J Wang <jian.j.wang@intel.com >
Cc: Qi Zhang <qi1.zhang@intel.com >
Cc: Rahul Kumar <rahul1.kumar@intel.com >
Signed-off-by: Kun Qin <kun.q@outlook.com >
Reviewed-by: Jiewen Yao <Jiewen.yao@intel.com >
2021-02-01 10:03:35 -08:00
Kun Qin
44ac44a269
SecurityPkg: Tcg2PpVendorLibNull: Added support for MM_STANDALONE type
...
This change extends this null instance of Tcg2PpVendorLib to support
MM_STANDALONE drivers.
Cc: Jiewen Yao <jiewen.yao@intel.com >
Cc: Jian J Wang <jian.j.wang@intel.com >
Cc: Qi Zhang <qi1.zhang@intel.com >
Cc: Rahul Kumar <rahul1.kumar@intel.com >
Signed-off-by: Kun Qin <kun.q@outlook.com >
Reviewed-by: Jiewen Yao <Jiewen.yao@intel.com >
2021-02-01 10:03:35 -08:00
Kun Qin
4593925505
SecurityPkg: Tcg2PhysicalPresenceLib: Introduce StandaloneMm instance
...
This change added a new instance of Tcg2PhysicalPresenceLib to support
MM_STANDALONE type drivers. It centralizes the common routines into
shared files and abstract the library constructor into corresponding
files to implement each constructor function prototypes.
Cc: Jiewen Yao <jiewen.yao@intel.com >
Cc: Jian J Wang <jian.j.wang@intel.com >
Cc: Qi Zhang <qi1.zhang@intel.com >
Cc: Rahul Kumar <rahul1.kumar@intel.com >
Signed-off-by: Kun Qin <kun.q@outlook.com >
Reviewed-by: Jiewen Yao <Jiewen.yao@intel.com >
2021-02-01 10:03:35 -08:00
gaoliming
e9d62effa3
Revert "SecurityPkg: Add RPMC Index to the RpmcLib"
...
This reverts commit 6c8dd15c4a
.
Based on the discussion https://edk2.groups.io/g/devel/message/67764 ,
this change is regarded as the feature request. But, it doesn't pass
reviewed before 202011 stable tag soft feature freeze. So, it should
not be merged into 202011 stable tag.
Cc: Jiewen Yao <jiewen.yao@intel.com >
Cc: Jian J Wang <jian.j.wang@intel.com >
Cc: Nishant C Mistry <nishant.c.mistry@intel.com >
Signed-off-by: Liming Gao <gaoliming@byosoft.com.cn >
Acked-by: Jiewen Yao <Jiewen.yao@intel.com >
Reviewed-by: Jiewen Yao <Jiewen.yao@intel.com >
2020-11-26 01:22:29 +00:00
Nishant Mistry
6c8dd15c4a
SecurityPkg: Add RPMC Index to the RpmcLib
...
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=2594
The re-design requires multiple RPMC counter usages.
The consumer will be capable of selecting amongst multiple counters.
Signed-off-by: Nishant C Mistry <nishant.c.mistry@intel.com >
Reviewed-by: Jian J Wang <jian.j.wang@intel.com >
2020-11-19 08:18:03 +00:00
Gao, Zhichao
fedd32d82f
SecurityPkg/Hash2DxeCrypto: Remove SHA1 support
...
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3027
Remove the deprecated SHA1 support of Hash2DxeCrypto
driver.
Cc: Jiewen Yao <jiewen.yao@intel.com >
Cc: Jian J Wang <jian.j.wang@intel.com >
Signed-off-by: Zhichao Gao <zhichao.gao@intel.com >
Reviewed-by: Jiewen Yao <Jiewen.yao@intel.com >
Message-Id: <20201112055558.2348-3-zhichao.gao@intel.com >
2020-11-17 19:26:50 +00:00
Gao, Zhichao
0a1b6d0be3
SecurityPkg/Hash2DxeCrypto: Remove MD5 support
...
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3027
Remove the deprecated MD5 support of Hash2DxeCrypto
driver.
Cc: Jiewen Yao <jiewen.yao@intel.com >
Cc: Jian J Wang <jian.j.wang@intel.com >
Signed-off-by: Zhichao Gao <zhichao.gao@intel.com >
Reviewed-by: Jiewen Yao <Jiewen.yao@intel.com >
Message-Id: <20201112055558.2348-2-zhichao.gao@intel.com >
2020-11-17 19:26:50 +00:00
Bret Barkelew
28f4616fde
SecurityPkg: Allow VariablePolicy state to delete authenticated variables
...
https://bugzilla.tianocore.org/show_bug.cgi?id=2522
Causes AuthService to check
IsVariablePolicyEnabled() before enforcing
write protections to allow variable deletion
when policy engine is disabled.
Only allows deletion, not modification.
Cc: Jiewen Yao <jiewen.yao@intel.com >
Cc: Jian J Wang <jian.j.wang@intel.com >
Cc: Chao Zhang <chao.b.zhang@intel.com >
Cc: Bret Barkelew <brbarkel@microsoft.com >
Signed-off-by: Bret Barkelew <brbarkel@microsoft.com >
Reviewed-by: Dandan Bi <dandan.bi@intel.com >
Acked-by: Jian J Wang <jian.j.wang@intel.com >
2020-11-17 01:03:43 +00:00
Terry Lee
709b163940
SecurityPkg/Tcg2PhysicalPresenceLib: Fix incorrect TCG VER comparision
...
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=2697
Tcg2PhysicalPresenceLibConstructor set the module variable
mIsTcg2PPVerLowerThan_1_3 with incorrect TCG version comparision.
Cc: Jiewen Yao <jiewen.yao@intel.com >
Cc: Jian J Wang <jian.j.wang@intel.com >
Cc: Chao Zhang <chao.b.zhang@intel.com >
Signed-off-by: Zhichao Gao <zhichao.gao@intel.com >
Reviewed-by: Jiewen Yao <jiewen.yao@intel.com >
2020-10-18 01:14:43 +00:00
Qi Zhang
7bcb021a6d
SecurityPkg/PeiTpmMeasurementLib: remove gEfiTpmDeviceSelectedGuid
...
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=2963
Cc: Jiewen Yao <jiewen.yao@intel.com >
Cc: Jian J Wang <jian.j.wang@intel.com >
Signed-off-by: Qi Zhang <qi1.zhang@intel.com >
Reviewed-by: Jiewen Yao <jiewen.yao@intel.com >
2020-09-16 05:16:02 +00:00
Zhichao Gao
cdfc7ed34f
SecurityPkg/DxeImageVerificationLib: Disable SHA1 base on MACRO
...
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=2943
Disable SHA1 base on the MACRO DISABLE_SHA1_DEPRECATED_INTERFACES.
SHA1 is deprecated function and the MACRO is used to remove the whole
implementation of the SHA1. For the platforms that do not need SHA1
for security, the MACRO should works for DxeImageVerificationLib as
well.
Signed-off-by: Zhichao Gao <zhichao.gao@intel.com >
Cc: Jiewen Yao <jiewen.yao@intel.com >
Cc: Jian J Wang <jian.j.wang@intel.com >
Cc: Min Xu <min.m.xu@intel.com >
Cc: Qi Zhang <qi1.zhang@intel.com >
Reviewed-by: Jiewen Yao <Jiewen.yao@intel.com >
Reviewed-by: Jian J Wang <jian.j.wang@intel.com >
2020-09-07 02:38:42 +00:00
Laszlo Ersek
0b143fa43e
SecurityPkg/DxeImageVerificationLib: catch alignment overflow (CVE-2019-14562)
...
The DxeImageVerificationHandler() function currently checks whether
"SecDataDir" has enough room for "WinCertificate->dwLength". However, for
advancing "OffSet", "WinCertificate->dwLength" is aligned to the next
multiple of 8. If "WinCertificate->dwLength" is large enough, the
alignment will return 0, and "OffSet" will be stuck at the same value.
Check whether "SecDataDir" has room left for both
"WinCertificate->dwLength" and the alignment.
Cc: Jian J Wang <jian.j.wang@intel.com >
Cc: Jiewen Yao <jiewen.yao@intel.com >
Cc: Min Xu <min.m.xu@intel.com >
Cc: Wenyi Xie <xiewenyi2@huawei.com >
Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=2215
Signed-off-by: Laszlo Ersek <lersek@redhat.com >
Message-Id: <20200901091221.20948-4-lersek@redhat.com >
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com >
Tested-by: Wenyi Xie <xiewenyi2@huawei.com >
Reviewed-by: Min M Xu <min.m.xu@intel.com >
Reviewed-by: Jiewen Yao <jiewen.yao@intel.com >
2020-09-02 10:16:18 +00:00
Laszlo Ersek
a7632e913c
SecurityPkg/DxeImageVerificationLib: assign WinCertificate after size check
...
Currently the (SecDataDirLeft <= sizeof (WIN_CERTIFICATE)) check only
guards the de-referencing of the "WinCertificate" pointer. It does not
guard the calculation of the pointer itself:
WinCertificate = (WIN_CERTIFICATE *) (mImageBase + OffSet);
This is wrong; if we don't know for sure that we have enough room for a
WIN_CERTIFICATE, then even creating such a pointer, not just
de-referencing it, may invoke undefined behavior.
Move the pointer calculation after the size check.
Cc: Jian J Wang <jian.j.wang@intel.com >
Cc: Jiewen Yao <jiewen.yao@intel.com >
Cc: Min Xu <min.m.xu@intel.com >
Cc: Wenyi Xie <xiewenyi2@huawei.com >
Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=2215
Signed-off-by: Laszlo Ersek <lersek@redhat.com >
Message-Id: <20200901091221.20948-3-lersek@redhat.com >
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com >
Tested-by: Wenyi Xie <xiewenyi2@huawei.com >
Reviewed-by: Min M Xu <min.m.xu@intel.com >
Reviewed-by: Jiewen Yao <jiewen.yao@intel.com >
2020-09-02 10:16:18 +00:00
Laszlo Ersek
503248ccdf
SecurityPkg/DxeImageVerificationLib: extract SecDataDirEnd, SecDataDirLeft
...
The following two quantities:
SecDataDir->VirtualAddress + SecDataDir->Size
SecDataDir->VirtualAddress + SecDataDir->Size - OffSet
are used multiple times in DxeImageVerificationHandler(). Introduce helper
variables for them: "SecDataDirEnd" and "SecDataDirLeft", respectively.
This saves us multiple calculations and significantly simplifies the code.
Note that all three summands above have type UINT32, therefore the new
variables are also of type UINT32.
This patch does not change behavior.
(Note that the code already handles the case when the
SecDataDir->VirtualAddress + SecDataDir->Size
UINT32 addition overflows -- namely, in that case, the certificate loop is
never entered, and the corruption check right after the loop fires.)
Cc: Jian J Wang <jian.j.wang@intel.com >
Cc: Jiewen Yao <jiewen.yao@intel.com >
Cc: Min Xu <min.m.xu@intel.com >
Cc: Wenyi Xie <xiewenyi2@huawei.com >
Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=2215
Signed-off-by: Laszlo Ersek <lersek@redhat.com >
Message-Id: <20200901091221.20948-2-lersek@redhat.com >
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com >
Tested-by: Wenyi Xie <xiewenyi2@huawei.com >
Reviewed-by: Min M Xu <min.m.xu@intel.com >
Reviewed-by: Jiewen Yao <jiewen.yao@intel.com >
2020-09-02 10:16:18 +00:00
Zhiguang Liu
46db105b7b
SecurityPkg: Initailize variable Status before it is consumed.
...
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=2945
V2: Move "Status = EFI_SUCCESS;" before the EDKII_TCG_PRE_HASH check.
Cc: Jiewen Yao <jiewen.yao@intel.com >
Cc: Jian J Wang <jian.j.wang@intel.com >
Cc: Qi Zhang <qi1.zhang@intel.com >
Cc: Rahul Kumar <rahul1.kumar@intel.com >
Cc: Laszlo Ersek <lersek@redhat.com >
Reviewed-by: Jiewen Yao <jiewen.yao@intel.com >
Signed-off-by: Zhiguang Liu <zhiguang.liu@intel.com >
Message-Id: <20200901005505.1722-1-zhiguang.liu@intel.com >
Reviewed-by: Laszlo Ersek <lersek@redhat.com >
2020-09-01 16:11:24 +00:00
Qi Zhang
547067dd86
SecurityPkg/Tcg2: handle PRE HASH and LOG ONLY
...
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=2376
Cc: Jiewen Yao <jiewen.yao@intel.com >
Cc: Jian J Wang <jian.j.wang@intel.com >
Cc: Qi Zhang <qi1.zhang@intel.com >
Cc: Rahul Kumar <rahul1.kumar@intel.com >
Signed-off-by: Qi Zhang <qi1.zhang@intel.com >
Message-Id: <20200818062618.3698-8-qi1.zhang@intel.com >
Reviewed-by: Jiewen Yao <Jiewen.yao@intel.com >
Reviewed-by: Jian J Wang <jian.j.wang@intel.com >
2020-08-26 15:56:11 +00:00
Qi Zhang
6847329af2
SecurityPkg/dsc: add FvEventLogRecordLib
...
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=2376
Cc: Jiewen Yao <jiewen.yao@intel.com >
Cc: Jian J Wang <jian.j.wang@intel.com >
Signed-off-by: Qi Zhang <qi1.zhang@intel.com >
Message-Id: <20200818062618.3698-6-qi1.zhang@intel.com >
Reviewed-by: Jiewen Yao <Jiewen.yao@intel.com >
Reviewed-by: Jian J Wang <jian.j.wang@intel.com >
2020-08-26 15:56:11 +00:00
Qi Zhang
a13947b2fa
SecurityPkg/TcgEventLogRecordLib: add new lib for firmware measurement
...
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=2376
Cc: Jiewen Yao <jiewen.yao@intel.com >
Cc: Jian J Wang <jian.j.wang@intel.com >
Signed-off-by: Qi Zhang <qi1.zhang@intel.com >
Message-Id: <20200818062618.3698-2-qi1.zhang@intel.com >
Reviewed-by: Jiewen Yao <Jiewen.yao@intel.com >
Reviewed-by: Jian J Wang <jian.j.wang@intel.com >
2020-08-26 15:56:11 +00:00
Michael D Kinney
53b40c9c6d
SecurityPkg: Fix spelling mistake for occurred
...
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=2361
Cc: Qi Zhang <qi1.zhang@intel.com >
Cc: Rahul Kumar <rahul1.kumar@intel.com >
Signed-off-by: Michael D Kinney <michael.d.kinney@intel.com >
Reviewed-by: Guomin Jiang <guomin.jiang@intel.com >
Reviewed-by: Maciej Rabeda <maciej.rabeda@linux.intel.com >
Reviewed-by: Jian J Wang <jian.j.wang@intel.com >
2020-08-19 00:54:23 +00:00
Michael D Kinney
9b851fd6b2
SecurityPkg/OpalPassword: Fix spelling mistake
...
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=2346
Cc: Qi Zhang <qi1.zhang@intel.com >
Cc: Rahul Kumar <rahul1.kumar@intel.com >
Signed-off-by: Michael D Kinney <michael.d.kinney@intel.com >
Reviewed-by: Jian J Wang <jian.j.wang@intel.com >
2020-08-19 00:11:57 +00:00
Shenglei Zhang
f2a8fae3f6
SecurityPkg/SecurityPkg.ci.yaml: Add configuration for Ecc check
...
Add configuration ExceptionList and IgnoreFiles for package config
files. So users can rely on this to ignore some Ecc issues.
Cc: Jiewen Yao <jiewen.yao@intel.com >
Cc: Jian J Wang <jian.j.wang@intel.com >
Cc: Chao Zhang <chao.b.zhang@intel.com >
Signed-off-by: Shenglei Zhang <shenglei.zhang@intel.com >
Reviewed-by: Jian J Wang <jian.j.wang@intel.com >
Reviewed-by: Liming Gao <liming.gao@intel.com >
2020-08-17 03:28:09 +00:00
Shenglei Zhang
9a10c305a1
SecurityPkg/SecurityPkg.ci.yaml: Add configuration for LicenseCheck
...
Add configuration IgnoreFiles for package config files.
So users can rely on this to skip license conflict for
some generated files.
Cc: Jiewen Yao <jiewen.yao@intel.com >
Cc: Jian J Wang <jian.j.wang@intel.com >
Cc: Chao Zhang <chao.b.zhang@intel.com >
Signed-off-by: Shenglei Zhang <shenglei.zhang@intel.com >
Reviewed-by: Jiewen Yao <jiewen.yao@intel.com >
2020-07-31 02:49:51 +00:00
Qi Zhang
3887820e5f
SecurityPkg/Tcg2Config: remove TPM2_ChangEPS if it is not supported.
...
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=2793
In current implementation TPM2_ChangeEPS command is always available
in the TPM2 operation pull down list in TCG2 Configuration, which
is confusing when the command is not supported by specific TPM chip.
As a user experience improvement, TPM2_ChangeEPS command should be
removed from the list when it is not supported.
Cc: Jiewen Yao <jiewen.yao@intel.com >
Cc: Jian J Wang <jian.j.wang@intel.com >
Cc: Chao Zhang <chao.b.zhang@intel.com >
Cc: Rahul Kumar <rahul1.kumar@intel.com >
Signed-off-by: Qi Zhang <qi1.zhang@intel.com >
Reviewed-by: Jiewen Yao <jiewen.yao@intel.com >
2020-07-28 09:56:25 +00:00
Zhang, Qi
1b0d659e6d
SecurityPkg/Tpm2CommandLib: add a new function
...
Tpm2GetCapabilityIsCommandImplemented
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=2793
check if the commad is supported by comparing the command code with
command index.
Cc: Jiewen Yao <jiewen.yao@intel.com >
Cc: Jian J Wang <jian.j.wang@intel.com >
Cc: Chao Zhang <chao.b.zhang@intel.com >
Cc: Rahul Kumar <rahul1.kumar@intel.com >
Signed-off-by: Qi Zhang <qi1.zhang@intel.com >
Reviewed-by: Jiewen Yao <jiewen.yao@intel.com >
2020-07-28 09:56:25 +00:00
Guomin Jiang
ffde22468e
SecurityPkg/TcgPei: Use Migrated FV Info Hob for calculating hash (CVE-2019-11098)
...
REF:https://bugzilla.tianocore.org/show_bug.cgi?id=1614
When we allocate pool to save rebased the PEIMs, the address will change
randomly, therefore the hash will change and result PCR0 change as well.
To avoid this, we save the raw PEIMs and use it to calculate hash.
The TcgPei calculate the hash and it use the Migrated FV Info.
Cc: Jiewen Yao <jiewen.yao@intel.com >
Cc: Jian J Wang <jian.j.wang@intel.com >
Cc: Chao Zhang <chao.b.zhang@intel.com >
Cc: Qi Zhang <qi1.zhang@intel.com >
Cc: Rahul Kumar <rahul1.kumar@intel.com >
Signed-off-by: Guomin Jiang <guomin.jiang@intel.com >
Reviewed-by: Jian J Wang <jian.j.wang@intel.com >
Reviewed-by: Qi Zhang <qi1.zhang@intel.com >
Reviewed-by: Liming Gao <liming.gao@intel.com >
2020-07-28 01:43:16 +00:00
Guomin Jiang
012809cdca
SecurityPkg/Tcg2Pei: Use Migrated FV Info Hob for calculating hash (CVE-2019-11098)
...
REF:https://bugzilla.tianocore.org/show_bug.cgi?id=1614
When we allocate pool to save rebased the PEIMs, the address will change
randomly, therefore the hash will change and result PCR0 change as well.
To avoid this, we save the raw PEIMs and use it to calculate hash.
The Tcg2Pei calculate the hash and it use the Migrated FV Info.
Cc: Jiewen Yao <jiewen.yao@intel.com >
Cc: Jian J Wang <jian.j.wang@intel.com >
Cc: Chao Zhang <chao.b.zhang@intel.com >
Cc: Qi Zhang <qi1.zhang@intel.com >
Cc: Rahul Kumar <rahul1.kumar@intel.com >
Signed-off-by: Guomin Jiang <guomin.jiang@intel.com >
Reviewed-by: Jian J Wang <jian.j.wang@intel.com >
Reviewed-by: Qi Zhang <qi1.zhang@intel.com >
Reviewed-by: Liming Gao <liming.gao@intel.com >
2020-07-28 01:43:16 +00:00
Jiewen Yao
b87f31f034
SecurityPkg/dsc: Add PeiTpmMeasurementLib.
...
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=2841
Cc: Jiewen Yao <jiewen.yao@intel.com >
Cc: Jian J Wang <jian.j.wang@intel.com >
Cc: Qi Zhang <qi1.zhang@intel.com >
Signed-off-by: Jiewen Yao <jiewen.yao@intel.com >
Reviewed-by: Qi Zhang <qi1.zhang@intel.com >
Reviewed-by: Jian J Wang <jian.j.wang@intel.com >
2020-07-23 01:31:43 +00:00
Jiewen Yao
98625337e4
SecurityPkg/PeiTpmMeasurementLib: Add PEI instance.
...
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=2841
Cc: Jiewen Yao <jiewen.yao@intel.com >
Cc: Jian J Wang <jian.j.wang@intel.com >
Cc: Qi Zhang <qi1.zhang@intel.com >
Signed-off-by: Jiewen Yao <jiewen.yao@intel.com >
Reviewed-by: Qi Zhang <qi1.zhang@intel.com >
Reviewed-by: Jian J Wang <jian.j.wang@intel.com >
2020-07-23 01:31:43 +00:00
Jiewen Yao
1f6fe5cb03
SecurityPkg/Tcg2: Add TcgPpi
...
And do some code clean with updated function
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=2841
Cc: Jiewen Yao <jiewen.yao@intel.com >
Cc: Jian J Wang <jian.j.wang@intel.com >
Cc: Qi Zhang <qi1.zhang@intel.com >
Cc: Rahul Kumar <rahul1.kumar@intel.com >
Signed-off-by: Jiewen Yao <jiewen.yao@intel.com >
Reviewed-by: Qi Zhang <qi1.zhang@intel.com >
Reviewed-by: Jian J Wang <jian.j.wang@intel.com >
2020-07-23 01:31:43 +00:00
Jiewen Yao
3e07c65641
SecurityPkg/Tcg: Add TcgPpi
...
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=2841
Cc: Jiewen Yao <jiewen.yao@intel.com >
Cc: Jian J Wang <jian.j.wang@intel.com >
Cc: Qi Zhang <qi1.zhang@intel.com >
Cc: Rahul Kumar <rahul1.kumar@intel.com >
Signed-off-by: Jiewen Yao <jiewen.yao@intel.com >
Reviewed-by: Qi Zhang <qi1.zhang@intel.com >
Reviewed-by: Jian J Wang <jian.j.wang@intel.com >
2020-07-23 01:31:43 +00:00
Jiewen Yao
91e2b4b6ec
SecurityPkg/dec: Add TcgPpi.
...
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=2841
Cc: Jiewen Yao <jiewen.yao@intel.com >
Cc: Jian J Wang <jian.j.wang@intel.com >
Cc: Qi Zhang <qi1.zhang@intel.com >
Signed-off-by: Jiewen Yao <jiewen.yao@intel.com >
Reviewed-by: Qi Zhang <qi1.zhang@intel.com >
Reviewed-by: Jian J Wang <jian.j.wang@intel.com >
2020-07-23 01:31:43 +00:00
Jiewen Yao
b630feee02
SecurityPkg/TcgPpi: Add TcgPpi header file.
...
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=2841
Cc: Jiewen Yao <jiewen.yao@intel.com >
Cc: Jian J Wang <jian.j.wang@intel.com >
Cc: Qi Zhang <qi1.zhang@intel.com >
Signed-off-by: Jiewen Yao <jiewen.yao@intel.com >
Reviewed-by: Qi Zhang <qi1.zhang@intel.com >
Reviewed-by: Jian J Wang <jian.j.wang@intel.com >
2020-07-23 01:31:43 +00:00
Jiewen Yao
f45e3a4afa
SecurityPkg/Tcg2Pei: Add missing PCRIndex in FvBlob event.
...
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=2840
Cc: Jian J Wang <jian.j.wang@intel.com >
Signed-off-by: Jiewen Yao <jiewen.yao@intel.com >
Reviewed-by: Jian J Wang <jian.j.wang@intel.com >
2020-07-11 03:57:26 +00:00
Jiewen Yao
bceaf6952a
SecurityPkg/Tcg2Dxe: Add PcdTcgPfpMeasurementRevision in SpecId event.
...
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=2839
Cc: Jian J Wang <jian.j.wang@intel.com >
Signed-off-by: Jiewen Yao <jiewen.yao@intel.com >
Reviewed-by: Jian J Wang <jian.j.wang@intel.com >
2020-07-11 03:37:11 +00:00
Maggie Chu
1a2ad3ba9e
SecurityPkg: Change default value source
...
https://bugzilla.tianocore.org/show_bug.cgi?id=2713
In current code, If TCG2_PHYSICAL_PRESENCE_FLAGS_VARIABLE variable
is not exist, code will get default value from two places.
This fix is to make the default value comes from the PCD
gEfiSecurityPkgTokenSpaceGuid.PcdTcg2PhysicalPresenceFlags
Signed-off-by: Maggie Chu <maggie.chu@intel.com >
Cc: Eric Dong <eric.dong@intel.com >
Cc: Jian J Wang <jian.j.wang@intel.com >
Cc: Chao Zhang <chao.b.zhang@intel.com >
Cc: Jiewen Yao <jiewen.yao@intel.com >
Reviewed-by: Jiewen Yao <jiewen.yao@intel.com >
2020-05-21 15:48:57 +00:00
Guomin Jiang
1854eee1b4
SecurityPkg/DxeImageVerificationLib: Mark the File parameter as OPTIONAL
...
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=2652
According to the File description, the File is optional and can be NULL.
Signed-off-by: Guomin Jiang <guomin.jiang@intel.com >
Cc: Jiewen Yao <jiewen.yao@intel.com >
Cc: Jian J Wang <jian.j.wang@intel.com >
Cc: Chao Zhang <chao.b.zhang@intel.com >
Reviewed-by: Jian J Wang <jian.j.wang@intel.com >
2020-04-22 01:55:34 +00:00
Guomin Jiang
c14f034a1a
SecurityPkg/DxeImageAuth: Mark the File parameter as OPTIONAL
...
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=2652
According to the File description, The File is optional and can be NULL.
Signed-off-by: Guomin Jiang <guomin.jiang@intel.com >
Cc: Jiewen Yao <jiewen.yao@intel.com >
Cc: Jian J Wang <jian.j.wang@intel.com >
Cc: Chao Zhang <chao.b.zhang@intel.com >
Reviewed-by: Jian J Wang <jian.j.wang@intel.com >
2020-04-22 01:55:34 +00:00
Guomin Jiang
1755932f89
SecurityPkg/TPM: measure UEFI images without associated device paths again
...
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=2652
DxeTpm2MeasureBootHandler() and DxeTpmMeasureBootHandler() functions may
receive a FileBuffer argument that is not associated with any particular
device path (e.g., because the UEFI image has not been loaded from any
particular device path).
Therefore rejecting (File==NULL) at the top of the function is invalid.
Fixes: 4b026f0d5a
Cc: Jiewen Yao <jiewen.yao@intel.com >
Cc: Jian J Wang <jian.j.wang@intel.com >
Cc: Chao Zhang <chao.b.zhang@intel.com >
Signed-off-by: Guomin Jiang <guomin.jiang@intel.com >
Reviewed-by: Jian J Wang <jian.j.wang@intel.com >
2020-04-22 01:55:34 +00:00
Michael Kubacki
6e3c834ae4
SecurityPkg Tcg: Use SW SMI IO port PCD in Tpm.asl
...
REF:https://bugzilla.tianocore.org/show_bug.cgi?id=2416
Replaces the hardcoded value of 0xB2 with a PCD for the SMI port access
operation region. This allows platforms to customize the IO port value if
necessary.
Cc: Kun Qin <Kun.Qin@microsoft.com >
Cc: Jian J Wang <jian.j.wang@intel.com >
Cc: Jiewen Yao <jiewen.yao@intel.com >
Cc: Chao Zhang <chao.b.zhang@intel.com >
Signed-off-by: Michael Kubacki <michael.kubacki@microsoft.com >
Reviewed-by: Guomin Jiang <guomin.jiang@intel.com >
Reviewed-by: Bret Barkelew <bret.barkelew@microsoft.com >
2020-04-21 02:20:51 +00:00
Michael Kubacki
cda6f9455c
SecurityPkg: Add PCD for SW SMI Command port
...
REF:https://bugzilla.tianocore.org/show_bug.cgi?id=2416
Adds a PCD to SecurityPkg used to specify the SW SMI Command port. This
value may vary across platforms and is current hardcoded to 0xB2 in
package code.
Cc: Kun Qin <Kun.Qin@microsoft.com >
Cc: Jian J Wang <jian.j.wang@intel.com >
Cc: Jiewen Yao <jiewen.yao@intel.com >
Cc: Chao Zhang <chao.b.zhang@intel.com >
Signed-off-by: Michael Kubacki <michael.kubacki@microsoft.com >
Reviewed-by: Guomin Jiang <guomin.jiang@intel.com >
Reviewed-by: Bret Barkelew <bret.barkelew@microsoft.com >
2020-04-21 02:20:51 +00:00
Michael Kubacki
3571e1360e
SecurityPkg/HddPassword: Use BaseLib linked list iteration macros
...
REF:https://bugzilla.tianocore.org/show_bug.cgi?id=1959
Replaces usage of the linked list iteration macros defined in
HddPasswordDxe.h with the common definition in BaseLib.h.
Cc: Chao Zhang <chao.b.zhang@intel.com >
Cc: Hao A Wu <hao.a.wu@intel.com >
Cc: Jian J Wang <jian.j.wang@intel.com >
Cc: Jiewen Yao <jiewen.yao@intel.com >
Cc: Sean Brogan <sean.brogan@microsoft.com >
Signed-off-by: Michael Kubacki <michael.kubacki@microsoft.com >
Reviewed-by: Jiewen Yao <jiewen.yao@intel.com >
Reviewed-by: Liming Gao <liming.gao@intel.com >
Reviewed-by: Bret Barkelew <bret.barkelew@microsoft.com >
2020-04-21 02:20:51 +00:00