PKCS#11规范培训

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

Page1PKCS#11标准介绍软件开发中心安全软件部Page2写在前面的PKCS11是什么为什么会有PKCS11PKCS11能干什么PKCS11的特点Page3PKCS11是什么PKCS系列规范的第11部分CryptographicTokenInterfaceSTD68个函数接口应用程序与加密Token之间的接口Page4为什么会有PKCS11为使用加密Token的应用程序提供统一的编程接口为应用程序提供独立于设备的编程接口屏蔽加密设备的复杂性应用程序可以方便的更换设备既生瑜何生亮PKCS11vsCSPPage5PKCS11能干什么完成所有(据我所知)的密码操作加密解密签名验证摘要密钥生成/派生对象的创建,存储,查找,修改,使用,删除应用程序会话管理Page6PKCS11的特点跨平台可扩展支持多设备,多线程更专注于加密Token简化的应用模式(一个User,一个SO)Page7内容I.关于PKCS#11II.概述III.基本概念IV.典型对象属性分析V.API分析与应用实例Page8I.关于PKCS#11是一套针对加密Token的应用编程接口屏蔽了硬件细节针对ANSIC编写的接口也称作Cryptoki广泛应用于Token相关的产品中(例如Netscape,Mozilla,Firefox,Thunderbird)简化的应用模式(一个User,一个SO)Page97816-1/2/3/4/5/6/8ASN.1PKCS-1/13/14/15,7816-15,DES,AES,SHA,MD2,MD5,…PKCS-11,CSPX509,PKCS-3/5/7/8/9/10/12SSL,S/MIMEIE,Outlook,Foxmail,Word,Netscape,Mozilla,Firefox,ThunderbirdI.关于PKCS#11Page10内容I.关于PKCS#11II.概述III.基本概念IV.典型对象属性分析V.API分析与应用实例Page11II.概述总体模型OtherSecurityLayersApplication1CryptokiOtherSecurityLayersApplicationkCryptokiDeviceContention/SynchronizationSlot1Token1(Device1)SlotnTokenn(Devicen)Page12II.概述Token逻辑视图ObjectCertificateKeyDataSecretKeyPrivateKeyPublicKey令牌逻辑视图是一个能存储对象和能执行密码函数的设备Page13II.概述函数接口概述——通用目的函数Page14II.概述函数接口概述——槽和令牌管理函数Page15II.概述函数接口概述——会话管理函数Page16II.概述函数接口概述——对象管理函数Page17II.概述函数接口概述——加密和解密函数Page18II.概述函数接口概述——摘要计算函数Page19II.概述函数接口概述——签名和MAC计算函数Page20II.概述函数接口概述——签名和MAC验证函数Page21II.概述函数接口概述——双功能密码函数Page22II.概述函数接口概述——密钥管理函数Page23II.概述函数接口概述——其他函数Page24内容I.关于PKCS#11II.概述III.基本概念IV.典型对象属性分析V.API分析与应用实例Page25III.基本概念Slot&TokenObjectAttributeUsersSessions状态转换(与Session有关)Mechnism应用程序与多线程Page263.1Slot&TokenIII.基本概念Page27III.基本概念3.2Object对象证书密钥数据保密密钥私有密钥公共密钥对象的层次结构Page28III.基本概念3.2ObjectToken对象Sesssion对象Public对象Private对象Page29III.基本概念3.3Attribute对象包括一套属性,每个对象都具有一个给定值。一个对象处理的每个属性都有一个唯一确定的值。Page30Cryptokiprovidesfunctionsforcreating,destroying,andcopyingobjectsingeneral,andforobtainingandmodifyingthevaluesoftheirattributes.Someofthecryptographicfunctions(e.g.,C_GenerateKey)alsocreatekeyobjectstoholdtheirresults.Objectsarealways“well-formed”inCryptoki—thatis,anobjectalwayscontainsallrequiredattributes,andtheattributesarealwaysconsistentwithoneanotherfromthetimetheobjectiscreated.Thiscontrastswithsomeobject-basedparadigmswhereanobjecthasnoattributesotherthanperhapsaclasswhenitiscreated,andisuninitializedforsometime.InCryptoki,objectsarealwaysinitialized.III.基本概念—AttributePage31Atokencanholdseveralidenticalobjects,i.e.,itispermissiblefortwoormoreobjectstohaveexactlythesamevaluesforalltheirattributes.InmostcaseseachtypeofobjectintheCryptokispecificationpossessesacompletelywell-definedsetofCryptokiattributes.Someoftheseattributespossessdefaultvalues,andneednotbespecifiedwhencreatinganobject;someofthesedefaultvaluesmayevenbetheemptystring(“”).Nonetheless,theobjectpossessestheseattributes.Agivenobjecthasasinglevalueforeachattributeitpossesses,eveniftheattributeisavendorspecificattributewhosemeaningisoutsidethescopeofCryptoki.InadditiontopossessingCryptokiattributes,objectsmaypossessadditionalvendorspecificattributeswhosemeaningsandvaluesarenotspecifiedbyCryptoki.III.基本概念—AttributePage32III.基本概念3.4UsersPKCS11识别两种令牌用户类型。一个类型就是安全官员(SO)。另一个类型就是普通用户。只有普通用户才能访问令牌上的私有对象,而且只有普通用户在得到授权后才能进行这种访问。一些令牌可能需要用户在执行令牌上的任意密码功能之前得到授权,不管令牌是否涉及私有对象。SO的作用是初始化一个令牌,设置普通用户的PIN(或由Cryptoki版本以外的方式确定普通用户怎样得到授权),或许还要操作某些公共对象。普通用户只有在SO设置普通用户的PIN以后才能注册。Page333.5SessionsIII.基本概念会话在应用程序和令牌之间提供一个逻辑连接。Cryptoki需要用令牌打开一个以上的会话以便使用令牌的对象和函数。会话可以是读/写(R/W)会话,也可以是只读(R/O)会话。读/写和只读指的是通向令牌对象的入口,而不是会话对象。在这两种会话类型下,应用程序能够创建、读、写和破坏会话对象。但是,只有在读/写会话中,应用程序能够创建、修改和破坏令牌对象。Page343.6状态转换(与Session有关)一个打开的会话可以在几种状态之一。会话状态决定通向对象和在会话上执行的函数允许的通道。III.基本概念打开一个会话后,应用程序便可访问令牌的公共对象。所给应用程序的所有线程可访问相同会话和相同会话对象。为了访问令牌私有对象,不同用户必须先登录并得到授权。当关闭一个会话后,在该会话过程中创建的任何会话对象都会被破坏。这甚至适用于其它会话正在使用的会话对象。如果单个应用程序打开同一令牌的多个会话,并使用其中一个创建会话对象,那么这些会话对象就可以被该应用程序的所有会话看到。但是,当创建对象的会话关闭时,对象也被破坏了。Cryptoki支持在多令牌上的多个会话。应用程序可以和一个以上的令牌进行一个以上的会话。一个令牌可以和一个以上的应用程序进行多个会话。但是,一个特定的令牌可能要求应用程序只能有限定数量的会话,或只能有限定数量的读/写会话。Page35R/OPublicSessionR/OUserFunctionsLoginUserLogoutOpenSessionOpenSessionCloseSession/DeviceRemovedCloseSession/DeviceRemoved状态转换–只读会话III.基本概念—状态转换Page36StateDescriptionR/OPublicSessionTheapplicationhasopenedaread-onlysession.Theapplicationhasread-onlyaccesstopublictokenobjectsandread/writeaccesstopublicsessionobjects.R/OUserFunctionsThenormaluserhasbeenauthenticatedtothetoken.Theapplicationhasread-onlyaccesstoalltokenobjects(publicorprivate)andread/writeaccesstoallsessionobjects(publicorprivate).ROsessionIII.基本概念—状态转换Note:Read-OnlySOSessiondonotexists.Page37R/WSOFunctionsR/WPublicSessionLoginSOLogoutOpenSessionOpenSessionCloseSession/DeviceRemovedCloseSession/DeviceRemovedR/WUserFunctionsLoginUserLogoutOpenSessionCloseSession/DeviceRemoved状态转换–读写会话III.基本概念—状态转换Page38RWsessionStateDescriptionR/WPublicSessionTheapplicationhasopenedaread/writesession.Theapplicationhasread/writeaccesstoallpublicobjects.R/WSOFunctionsTheSecurityOfficerhasbeenauthenticatedtothetoken.Theapplicationhasread/writeaccessonlytopublicobjectsonthetoken,nottoprivateobjects.TheSOca

1 / 129
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功