<kbd id='rfik'></kbd><address id='rfik'><style id='rfik'></style></address><button id='rfik'></button>

          您好!歡迎訪問廣州市一卡通計算機服務有限公司官方網站!一卡通,停車場系統,電動門,車牌識別,道閘,工地出入管理,人臉識別,車位鎖,車位劃線,門禁系統,監控系統,門禁考勤系統,車位引導系統,道閘系統,廣告道閘,升降柱,一卡通系統
              下載中心  |  聯系我們
          掃一掃關注,微信公衆號
          全國統一客戶服務熱線:
          13380028285
          熱門搜索: 訪客系統  |   人臉識別系統  |   門禁系統  |   車牌識別系統  |   停車場交通劃線  |   人行通道閘  |  
          資訊中心
          聯系廣州一卡通
           營銷中心:廣州市天河區黃村大道粵安工業園D棟
           總部電話:(+86)020-22229258
           郵箱:gdgzykt@163.com
          廣州一卡通爲您提供最優質的售前售後
          服务,有任何问题及建议都可以聯系我們。
          行業動態
          基于智能卡的CSP設計方法和實現流程
          发布日期:2015/9/14 19:31:45     作者:    已有  閱讀過本文

          智能卡由于安全性高、攜帶方便、價格便宜等特點被廣泛應用于信息加密技術領域,而要在Windows操作系統上使用智能卡完成加密操作,則必須設計和實現基于智能卡的CSP,智能卡從硬件上提供密鑰保護,應用程序通過CryptoAPI選擇相應的CSP,方便、快捷地完成了智能卡提供的一整套加密操作。目前,基于智能卡的CSP在PKI系統中廣泛流行,不同智能卡需要開發基于自身特定的CSP,因此將不同智能卡的CSP統一起來具有廣闊的市場前景。

          YKT-P03 (1) 副本.jpg

            1CSP簡介

            CSP(CryptographicServiceProvider)加密服务提供层,是Microsoft公司用来在Windows平台上提供第三方加密模块的接口标准,它提供一套基于软件或者硬件的加解密服务,包含加密标准和加密算法的实现。作为一个CSP,它包含一个动态链接库DLL文件和一个签名文件,签名文件用于验证CSP,以保证CSP未被非法篡改。  CryptoAPI(CryptoApplicationProgrammingInterface)是PKI推荐使用的一组加密API,它是由操作系统开发商提供给应用程序的开发接口。CryptoSPI(CryptoSystemProgrammingInterface)也是一组API接口,它是由操作系统开发商提供给密码服务开发商的系统接口,其实际应用如图1所示。应用程序的开发者安装CSP后,通过CryptoAPI把来自应用程序的调用交给操作系统,操作系统内部选择指定的CSP,通过CryptoSPI来驱动CSP执行实际的操作,完成加密解密、签名认证、证书导入导出等一系列完整的加密服务。

           

            2基于智能卡的CSP設計與實現

            2.1智能卡的文件系統設計

            一个CSP有一个密钥库,如图2所示。密钥库是用来存储密钥的,每个密钥库中包含一个或多个密钥容器(KeyContainers),而每个密钥容器中包含属于一个特定用户的所有密钥对,CSP利用密钥容器来管理密钥,一般来说,一个密钥容器中有两对公私密钥对,即交换密钥对、签名密钥对。不同智能卡可以建立不同的CSP,应用程序可以通过  CryptoAPI选择相应的CSP以及其中相应的密钥容器来完成智能卡提供的一整套加密操作。

           

            智能卡(SmartCard)是IC卡的一种,它的特点是安全性高、价格便宜、携带方便。它内含有集成电路芯片,本身具有存储能力和计算能力,可以存储私钥和证书,实现RSA、ECC、HASH等复杂的算法,被广泛应用于身份认证、访问控制、密钥存储和算法实现等方面。本设计使用的智能卡是武汉天喻智能卡(Version1.2),根据CSP中密钥容器的结构,对天喻智能卡的文件系统进行的设计如图3所示,其中主控文件(MF)是整个文件系统的根,每张卡有且只有一个MF,它在卡的个人化过程中首先被建立起来,在卡的整个周期内一直存在并保持有效,可存储卡的公共数据信息并为各种应用服务,它所对应的是密钥容器结构中的密钥库。专用文件(DF)是  MF下针对不同的应用建立起来的一种文件,它所对应的是密钥容器结构中的密钥容器;基本文件(EF)是用于存储各种应用的数据和密钥,它存在于MF和DF  下,它所对应的是密钥容器结构中的密钥对和证书。

            2.2基于智能卡的CSP設計

            基于智能卡的CSP設計可以基于軟件實現、硬件實現和軟硬件結合實現。基于軟件實現的CSP,安全性不高;基于硬件實現的CSP雖然安全性高,但是費用昂貴;基于軟硬件結合實現的CSP,費用不高、安全性好,這種實現方法的密鑰對在智能卡內産生,其私鑰不能被導出,利用私鑰進行的解密和簽名操作也在卡內進行,而對稱加密、産生哈希值的操作則由軟件完成。本設計采用的是基于軟硬件結合實現,HASH算法和對稱加密算法的實現采用軟件方式,而RSA密鑰對和隨機數則在智能卡建立完文件系統後由智能卡內部産生和使用。

            CryptoAPI包括初始化函数、密钥生成函数、加解密函数、数字签名验证函数、密钥操作函数和散列函数等25个基本函数,应用程序通过这25个函数来调用CSP模块,完成连接上下文、产生密钥、导入导出密钥、产生哈希值、加密解密、签名验证、销毁密钥和释放上下文等操作。在  CryptoAPI的25个基本函数中CPAcquireContext是最重要的函数,在此接口内可以完成智能卡的连接和初始化工作,调用此接口可以获取指定密钥容器里的密钥句柄,从而对完成之后的加密解密和签名验证工作,使用CPReleaseContext进行释放。在基于智能卡的CSP实现中,需要使用句柄来标记和访问密钥容器和密钥,CSP的上下文对象句柄的类型是HCRYPTPROV,密钥对象句柄的类型是HCRYPTKEY,哈希对象句柄的类型是HCRYPTHASH。在本设计中,CSP的上下文对象句柄指向的是自定义的结构体PROV_CONTAINER,它包含密钥容器名称、密钥句柄、设备句柄等信息;密钥对象句柄指向的是自定义的结构体KEY_INFO,它包含密钥操作的相关信息;哈希对象句柄指向的是自定义的结构体  HASH_INFO,它包含哈希操作的相关信息。

          YKT-P04 副本.jpg

           

            基于智能卡的CSP设计主要包括上下文的连接部分、密钥对的产生部分、加密解密和签名验证部分。上下文的连接部分主要实现的是连接智能卡、建立智能卡的文件系统;密钥对的产生部分主要实现的是在智能卡内部产生RSA密钥对;加密解密和签名验证部分主要实现的是利用密钥进行加密解密、计算哈希值后进行签名验证。选用RSA作为签名和交换算法、MD5和SHA1作为HASH算法、DES和3-  DES作为对称加密算法。根据基于智能卡的CSP软件设计的实际需要,必须依照智能卡的通信机制和安全体制,制定建立文件系统、产生RSA密钥对、公钥加密、私钥解密、签名验证、产生随机数等基本命令,依据CryptoAPI的25个基本函数和智能卡的基本命令,完成基于智能卡的CSP设计。

            2.3基于智能卡的CSP實現

            基于智能卡的CSP設計完成之後,即可進行測試。因爲第三方開發的CSP要獲取微軟的簽名才能夠應用到其操作系統中,所以爲了避免測試過程中每一次修改都要重新獲取微軟的簽名,我們采用的是在所開發CSP的DLL外再加一層DLL殼,由DLL殼調用裏面CSP的DLL,由外殼DLL來獲取微軟簽名,來保證修改過的CSP的DLL對簽名沒有影響。本測試程序采用基于MFC的對話框形式,通過按鈕來實現對CSP的DLL的測試,接著將通過測試後的CSP進行安裝,最終實現基于智能卡的CSP設計。

           

          返回
          上一條  免取卡停车场管理系統--车牌视频识别技术
          下一條  廣州一卡通公司車牌識別技術

          關鍵詞:一卡通 | 停车场管理系統 | 監控 | 車牌識別系統 | 樓宇對講 | 道閘 | 環氧地坪 | 交通標牌及劃線

          相關文章
          友情鏈接:
          廣州一卡通售後服務熱線:400-618-9358
          Copyright ? 2001-2015 ?广州市一卡通计算机服务有限公司 All Rights Reserved.   粵ICP備15111528號  
          QQ在線咨詢

          232.png 咨詢熱線

          13380028285