您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 质量控制/管理 > Semester-Thesis_TPM-Emulator for Linux
SemesterThesisASoftware-basedTPMEmulatorforLinuxMarioStrasserDepartmentofComputerScienceSwissFederalInstituteofTechnologyZurichSummerSemester2004Supervisors:PaulE.SevinçProf.Dr.DavidBasinAbstractTheTrustedComputingGroup(TCG)hasproducedseveralspecificationsfortrustedcomputingsuchasforasecuritychip,calledTrustedPlatformModule(TPM),andforrelatedsoftwareinter-faces(TCGSoftwareStackSpecification(TSS)).AlthoughaTPMisprobablygoingtobepartofmoreandmorestate-of-the-artpersonalcomput-ers,thereareandwillalwaysbesituationswhereaTPMisunavailableorunaccessible.Further-more,theTCGandtheTPMinparticulararecontroversialanddisputedmatters.Therefore,thegoalofthissemesterthesiswasnottoshowthatTPMsareeithergoodorbad,buttoimplementasoftware-basedTPMemulatorforLinuxtogivepeoplethemeanstoeasilyexploreTPMsforeducationalandexperimentalpurposes.Inthecourseofthissemesterthesis,about50outof120(∼42%)TPMcommandshavebeenimplementedandfortheremaining,appropriatefunction-stubshavebeenprovided.Additionally,acompleteTCGDeviceDriverLibrary(TDDL)toaccesstheTPMhasbeencreatedtoprovidefutureapplicationswithasuitableandstandardizeddeviceinterface.Despitethelimitedfunction-ality,almostallavailableTPMapplicationsworkwellwiththecurrentemulatorimplementationasthemostimportantandfrequentcommandsarealreadysupported.Currently,theTPMemu-latorhasbeensuccessfullytestedbythedevelopersaswellasbytwootherpeopleandonthreedifferentLinuxplatforms.Contents1Introduction11.1MotivationandGoals................................11.2Tasks........................................11.3TypographicConventions..............................21.4Outline.......................................21.5Acknowledgments.................................22TrustedComputingandTrustedPlatformModuleBasics32.1TrustedComputing.................................32.2TrustedPlatformModule..............................43InstallationandUsage113.1TPMEmulator...................................113.2TCGDeviceDriverLibrary.............................134ImplementationoftheTPMEmulator194.1Concept.......................................194.2Structure.......................................194.3NamingandCodingConventions..........................204.4LicenseandCopyright...............................204.5KernelModule/Interface..............................214.6TPMDataStructures................................214.7InternalData....................................234.8MarshalingandUnmarshaling...........................254.9Authorization....................................274.10CryptographicFunctions..............................284.11Initialization,Self-Test,andShutdown.......................294.12CommandExecution................................304.13CommandSummary................................314.14TCGDeviceDriverLibrary.............................38IVCONTENTS5Conclusion395.1Summary......................................395.2Outlook.......................................39AFIPSTests41A.1StatisticalRandomNumberGeneratorTests[FIPS140]..............41A.2SHA-1TestVectors[FIPS180]...........................42A.3HMACTestVectors[RFC2202]..........................42BSourceandDocumentationFiles45B.1CD-ROMContent..................................45B.2TPMEmulatorPackage...............................45B.3TDDLPackage...................................46Chapter1IntroductionWhatIcannotcreateIdonotunderstand.–R.Feynman1.1MotivationandGoalsTheTrustedComputingGroup(TCG)[TCGBG]–successoroftheTrustedComputingPlatformAlliance(TCPA)–hasproducedseveralspecificationsfortrustedcomputingsuchasforasecuritychip,calledTrustedPlatformModule(TPM)orFritz-Chip1,andforrelatedsoftwareinterfaces(TCGSoftwareStackSpecification(TSS))[TPMPart1,TPMArch,TSS11].AlthoughaTPMisprobablygoingtobepartofmoreandmorestate-of-the-artpersonalcom-puters,thereareandwillalwaysbesituationswhereaTPMisunavailableorunaccessible.Fur-thermore,theTCGandtheTPMinparticulararecontroversialanddisputedmatters.Therefore,thegoalofthissemesterthesiswasnottoshowthatTPMsareeithergoodorbad(whateverthismeans),buttoimplementasoftware-basedTPMemulatorforLinuxtogivepeoplethemeanstoeasilyexploreTPMsforeducationalandexperimentalpurposes.Linuxwaschosenasthetargetplatformfortwomainreasons:First,almostallcurrentlyavailableTPM-basedapplicationsandprojects(e.g.,IBM’sTPMutilities[IBMSW],tcgLinux[IBMTL]ortheenforcerproject[DCEF])rununderLinux.Second,wearemorefamiliarwithdevice-driverdevelopmentunderLinuxthanunderanyotheroperatingsystem.1.2Tasks•Implementationofasoftware-basedTPMemulatorforLinuxbymeansofaLinuxkernelmodule.•ImplementationofanappropriateTCGDeviceDriverLibrary(TDDL)toaccesstheemu-lator.•MakingthedeviceinterfaceoftheemulatorcompatibletoIBM’sdevicedriver[IBMSW].•AtleastsupportingLinuxkernelrelease2.4.1NamedafterthefamousUS-senatorFritzHollingswhosupportstheideasoftheTCGverymuch.2Chapter1-Introduction1.3TypographicConventions•Functions,variables,andconstantsaresetinamono-spacedtypewriterfont:function(),data,CONSTANT.•Shellcommandsaremarkedwithaleading#:#ls*.c•Codesnippetsandlistingscontaincolored
本文标题:Semester-Thesis_TPM-Emulator for Linux
链接地址:https://www.777doc.com/doc-1243096 .html