22 个人对Microsoft CSP知识所了解

上传人:m**** 文档编号:184687906 上传时间:2023-02-02 格式:DOCX 页数:7 大小:50.40KB
返回 下载 相关 举报
22 个人对Microsoft CSP知识所了解_第1页
第1页 / 共7页
22 个人对Microsoft CSP知识所了解_第2页
第2页 / 共7页
22 个人对Microsoft CSP知识所了解_第3页
第3页 / 共7页
点击查看更多>>
资源描述
Microsoft CSP 简介一、有关加密API的国际标准A Generic Security Services API (GSS-API)A Intel/OpenGroup CDSAA RSA PKCS#11 Cryptographic Token Interface (Cryptoki) StandardA RSA BSAFE APIA 微软 CryptoAPI V2.0其中,CDSA、RSA PKCS#11和微软CryptoAPI在实际中应用得 较多,也是PKI推荐使用的加密API。二、CSP 简介CSP 是 Cryptographic Service Provider 的简称,是 Microsoft 公司 用来在 Windows 平台上提供第三方加密模块的接口标准。用于管理 硬件或软件形式的加密设备,实现数据加密、解密、数字签名、验证 和数据摘要等。CSP 是 Windows 安全应用的基础,在 Windows 操作系统上实现 https安全浏览和实现安全隧道功能,都必需有CSP参与密码运算。 一个 CSP 模块包含了一些标准加密算法的实现,是 CAPI 函数的具 体执行者,同时CSP模块也提供了密钥的安全存储和使用机制CSP 在微软操作系统安全体系中是加解密操作的实际执行者,它直接同硬 件加密设备(HSE)如smart card,安全协处理器交互。三、CSP组成CSP是Windows平台上加解密运算的最核心层实现,是真正执行 加密工作独立的模块。与Windows的接口以DLL形式实现。按照CSP的不同实现方法,可分为纯软件实现与带硬件的实现, 其中带硬件的实现 CSP 按照硬件芯片不同,可以分为使用智能卡芯 片(内置加密算法)的加密型和不使用智能卡芯片的存储型两种,与计 算机的接口现在一般都用USB,所以把CSP硬件部分称为USB Key。 物理上一个 CSP 由这几部分组成:动态链接库,签名文件,签名文 件保证提供者经过了认证,操作系统能识别CSP,操作系统可利用其 定期验证CSP,保证其未被篡改。还可以使用辅助的DLL实现CSP, 辅助的DLL不是CSP的一部分,但是包含CSP调用的函数,辅助的 DLL也必须被签名,并且签名文件必须可用,每个DLL在装载库之 前被验证签名,每个CSP都有一个名字和一个类型。若有硬件实现, 则CSP还包括硬件装置。、CSP 实现应用层用户模式层智能密码钥匙专用APIPKCS#11MS资源管理 智能密码钥匙设备驱动PC/SC驱动标准USB设备驱动可智能密码钥匙硬件设备CSP设计架构在实现微软的CSP时采取了如上图所示:CSP设计框架。通过智能 密码钥匙专用API实现了微软CSPo为了兼容NetScape浏览器等所 支持的PKCS#11,在实现PKCS#ll的基础上,通过调用PKCS#ll接 口实现微软CSP服务编程接口。五、CSP特点CSP 加密服务提供者(Cryptographic Service Provider)具有一下 几个特点: CSP是真正执行密码运算的独立模块物理上一个CSP由两部分组成:一个动态连接库,一个签名 文件签名文件保证密码服务提供者经过了认证,以防出现攻击者 冒充CSP若加密算法用硬件实现,则CSP还包括硬件装置A Microsoft通过捆绑RSA Base Provider,在操作系统中提供一个 CSP,使用RSA公司的公钥加密算法,更多的CSP可以根据 需要增加到应用中。A Windows 2000 以后自带了多种不同的 CSP六、加密体系结构应用层CSP#1CSP#2加密服务 提供层USBKEYWindows OS 提供的加密服务体系结构可分为加密服务层、系统 层和应用层。微CryptoAPI体系结构如图所示,CryptoAPI之上是应 用程序,之下是加密服务提供层。操作系统根据上层的 API 调用来选 择合适的SPI,相应的CSP则通过统一的接口 (SPI)来得到上层调用的 参数, API 函数的具体实现则由具体对应的 CSP 提供。上层的应用 程序与本层CSP具有相互独立性。应用程序可以使用任意一个CSP, 而不必关心CSP的具体实现细节。当上层应用程序不使用CSP时, 则加密服务层就作为透明传输。为了保证微软 CryptoAPI 能识别该 CSP,使它成为微软合法的CSP,还必须获得微软授予的一个签名文 件。七、USB KEY应用技术USB KEY具有使用方便、安全性高等特点,而且USB IKEY内 含智能卡,能进行多种算法的运算,运算能力强。智能卡内嵌有小型 操作系统COS,它可以有效控制外部对卡内数据的访问权限,必须要 验证相关的密钥才能获得内部核心数据,所以具有较高的安全性。 USBKEY还支持多种加密算法,智能卡包含3DES等对称加密算法, RSA 和 ECC 等公钥加密算法。它既能生成密钥,又能存储密钥,还 可以进行签名认证,而且具有密钥生成速度快的优点。当USB KEY经过初始化后,它才成为真正意义上的“容器”在 应用程序操作过程中产生的数据,如过程密钥、数字证书RSA密钥 对以及密码运算中的明文或密文,都能够存放到USB KEY相应的区 域中。当COS产生RSA密钥对的命令后,智能卡就产生密钥对,之 后把私钥保存到密钥容器当中,公钥即可以存储在容器中也可以导出 申请数字证书。当然,如果应用程序需要调用相关函数时, CSP 必须 能找到USB KEY中相应的文件,并进行读写操作。八、CSP软件的开发在物理上由3 部分组成:一个动态链接库,一个签名文件,还有 就是硬件装置USB KEY。因为CSP的动态库是建立在USB KEY的函 数上,所以进行CSP程序的开发之前,首先要了解该USB KEY中的 加密算法和数据格式,然后选择和实现支持该算法和数据格式的 CSP,确定好加密算法和数据格式后,再了解CSP实现的函数及函数 流程。1、CSP 动态库的开发要开发 CSP 程序,关键的工作就是建立相应的动态库, 把 CryptoSPI 的相应函数都输出到系统中,让应用程序能够 通过CryptoAPI调用低层密码设备进行密码运算。而CSP作 为一个独立的模块,是以动态链接库的形式安装到操作系统 中的。首先,使用开发工具,搭建CSP的开发和调试环境。 其中动态链接库应实现四个服务分别是:提供加密设备连 接、数据的加解密、密钥产生和交换、散列运算和签名验证。2、安装程序的开发建立CSP的安全程序要包含CSP DLL和微软签名这两 个文件oCSP安装程序执行的操作:将CSP DLL拷贝到PATH 环境变量所指定的目录下,同时在注册表中注册该 CSP。3、测试程序的开发在测试所开发的 CSP 时,还要获得微软的签名。4、获取CSP动态链接库(DLL)的签名文件通过对CSP详细测试后,需要获得微软的正式签名才能 将CSP嵌入到微软的加密系统中,CryptoAPI才能识别此CSP 模块。获得微软的签名文件后,还需要进行详细的测试,如 果发现问题,修改后需要重新进行再次签名,直到完善为止。结束语:这是我对 Microsoft CSP 暂时的一点认识,了解部分理论知识,大概知道开发CSP流程以及开发所需要准备 的开发条件和工具等。以上内容属于我整理,不属于我 编写。
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 建筑环境 > 机械电气


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!