<strike id="tpvd9"><dfn id="tpvd9"></dfn></strike>

        <em id="tpvd9"></em>

          <address id="tpvd9"></address>
            <dfn id="tpvd9"><sub id="tpvd9"></sub></dfn>

            <thead id="tpvd9"><noframes id="tpvd9">
            <ruby id="tpvd9"></ruby>

                  <thead id="tpvd9"></thead>
                  歡迎您訪(fǎng)問(wèn)鄭州興邦電子股份有限公司官方網(wǎng)站!
                  阿里巴巴誠信通企業(yè)
                  全國咨詢(xún)熱線(xiàn):40000-63966
                  興邦電子,中國水控機第一品牌

                  聯(lián)系興邦電子

                  全國咨詢(xún)熱線(xiàn):40000-63966

                  售后:0371-55132951/55132952

                  工廠(chǎng):河南省 鄭州市 高新區蓮花街電子電器產(chǎn)業(yè)園

                  智能卡CSP加密體系的設計與實(shí)現方法

                  文章出處:http://psychicreadingswithdeb.com 作者: 人氣: 發(fā)表時(shí)間:2011年12月11日

                  [文章內容簡(jiǎn)介]:為智能卡開(kāi)發(fā)一個(gè)穩定、高效的CSP是一件復雜的事情,其中如何為CSP設計一個(gè)簡(jiǎn)潔而又實(shí)用的軟件架構體系和密鑰存貯結構至為重要。該文將探討這方面的設計思路。

                      摘要:CSP 是Windows 操作系統加密體系的重要組成部分,智能卡作為一種硬件級加密設備要和Windows 操作系統加密體系無(wú)縫連接需要為其開(kāi)發(fā)CSP 加密服務(wù)提供者程序。為智能卡開(kāi)發(fā)一個(gè)穩定、高效的CSP 是一件復雜的事情,其中如何為CSP 設計一個(gè)簡(jiǎn)潔而又實(shí)用的軟件架構體系和密鑰存貯結構至為重要。該文將探討這方面的設計思路。

                      隨著(zhù)智能卡功能的不斷完善,卡片運算速度和存貯功能的不斷加強,在對安全性要求較高的領(lǐng)域,智能卡的應用開(kāi)始越來(lái)越廣泛。其中作為硬件數字證書(shū)使用,也是智能卡的一項重要功能。智能卡作為硬件級的加密設備,如何同當前使用最為廣泛的windows操作系統進(jìn)行無(wú)縫連接,需要開(kāi)發(fā)智能卡讀卡器硬件、讀卡器驅動(dòng)程序、智能卡CSP 等一系列軟硬件設施,本文將主要針對其中的智能卡CSP 開(kāi)發(fā)。

                      1 CSP 簡(jiǎn)介

                      加密服務(wù)提供者Cryptographic Service Provider(簡(jiǎn)稱(chēng)CSP)是Windows 操作系統加密體系的重要組成部分,它提供了一組標準API 函數(CryptoAPI)供應用程序調用,如IE 使用SSL 訪(fǎng)問(wèn)網(wǎng)站、Outlook 發(fā)送加密郵件等,均會(huì )調用到CryptoAPI 函數。智能卡作為一種硬件級的加密設備,要實(shí)現和windows 操作系統的無(wú)縫連接,使應用程序能夠通過(guò)CryptoAPI 這套標準函數使用智能卡設備, 就必定要針對該種設備開(kāi)發(fā)CSP 服務(wù)程序。智能卡設備CSP 在系統中的位置如圖1 所示。

                      2 CSP 中的容器

                      CSP 使用容器來(lái)管理密鑰,以RSA 密鑰為例,一個(gè)容器中可以存在一對RSA 交換密鑰和一對RSA 簽名密鑰。一個(gè)智能卡中可以有多個(gè)容器。結構如圖2 所示。Windows 系統中一般會(huì )存在多個(gè)CSP,既有微軟自己的純軟件型CSP,也可能有數個(gè)不同廠(chǎng)商的軟硬件加密設備的CSP。應用程序可以通過(guò)CryptoAPI 函數的來(lái)指定使用哪個(gè)CSP 以及該CSP 中的哪個(gè)容器。

                      3 CSP 在智能卡中的密鑰存貯結構

                      3.1 智能卡中私鑰的特點(diǎn)

                      在CSP 中私鑰的作用主要是用來(lái)做解密或簽名。智能卡這種設備的一個(gè)重要特點(diǎn)是私鑰可以設定為讀禁止,私鑰不能被從智能卡中讀出。當需要用私鑰進(jìn)行解密或者簽名時(shí),被解密或簽名的數據必須先送入智能卡,由智能卡中的處理器對數據做解密或簽名,解密或簽名后的數據再出智能卡返回計算機中。整個(gè)過(guò)程中私鑰不能被計算機讀出,解密或簽名的過(guò)程是在智能卡中進(jìn)行的,保證了私鑰的不可復制特性,避免了黑客攻入計算機,將私鑰遠程拷貝走的可能。

                      3.2 私鑰、公鑰和證書(shū)的不同保護級別

                      使用私鑰時(shí),智能卡需要驗證保護該私鑰的PIN 碼,只有PIN 碼驗證正確的情況下才能使用私鑰。但智能卡中的證書(shū)和公鑰則一般不需要PIN 碼保護,以保證使用過(guò)程中的靈活性。在CryptoAPI 的SILENT 模式中,公鑰可以隨時(shí)被讀出。另外當智能卡插入到連接計算機的讀卡器中時(shí),一般都需要將智能卡中的證書(shū)導入到windows 系統的證書(shū)庫中,因IE 瀏覽器不能直接識別智能卡中的證書(shū),它需要從windows 系統的證書(shū)庫中去讀證書(shū)。這些情況下均需要讓智能卡不經(jīng)過(guò)PIN 碼驗證,就能使智能卡中的公鑰和證書(shū)被讀出。

                      3.3 CSP 密鑰容器的存貯結構設計

                      3.3.1 CSP 密鑰容器存貯結構圖

                   

                      圖3 為CSP 密鑰容器存貯結構圖。

                      3.3.2 公開(kāi)目錄(DDF):如圖3 所示,公開(kāi)目錄(DDF)下的ADF 子目錄下存放RSA 加密公鑰及相應證書(shū)、RSA 簽名公鑰及相應證書(shū),容器名稱(chēng)為ADF 目錄的名稱(chēng),可以同時(shí)存在多個(gè)容器。公開(kāi)目錄(DDF)、容器目錄(ADF)、公鑰、證書(shū)都不設置PIN 碼保護,公鑰和證書(shū)可以隨時(shí)可以被從智能卡中讀出。

                      3.3.3 私鑰目錄(DDF):如圖3 所示,私鑰目錄(DDF)下的ADF 子目錄下存放RSA 加密密鑰對中的私鑰和RSA 簽名密鑰對中的私鑰,ADF 目錄名稱(chēng)與對應公鑰所在的ADF 目錄名稱(chēng)相同。私鑰目錄(DDF)設置PIN 碼保護,要使用該目錄的子目錄下的私鑰,必須首先通過(guò)私鑰目錄(DDF)的PIN 碼驗證。

                      3.3.4 容器名稱(chēng):圖3 中的私鑰目錄(DDF)下的容器目錄(ADF)名稱(chēng)必須和公開(kāi)目錄(DDF)下的容器目錄(ADF)名稱(chēng)對應,比如私鑰目錄(DDF)下的
                  容器目錄1 和公開(kāi)目錄(DDF)下的容器目錄1 的名稱(chēng)必須相同,因為它們實(shí)際上是代表著(zhù)同一個(gè)容器名。

                      3.3.5 容器索引文件:容器索引文件存放著(zhù)智能卡中的所有容器名稱(chēng), 并且指明容器名稱(chēng)和容器目錄(ADF) 之間的關(guān)系。每次調用CSP 的CPAcquireContext函數時(shí),該函數都需要從這個(gè)文件中獲取智能卡中已有的所有容器名稱(chēng)。容器索引文件的結構可以用如下方式表示:

                      ## 容器名稱(chēng)1# 容器目錄1(ADF)## 容器名稱(chēng)2# 容器目錄2(ADF)##......#......##

                      4 CSP 軟件架構的設計與實(shí)現

                      4.1 CSP 軟件架構的種類(lèi)

                      CSP 從整體上看主要有上下文環(huán)境對象、密鑰對象、哈希對象三種數據結構。在開(kāi)發(fā)CSP 的過(guò)程有幾種方法來(lái)實(shí)現對這三種數據結構對象的管理,具體如下:

                      結構對象的管理,具體如下:
                      1) 上下文環(huán)境對象在CSP 中實(shí)現,密鑰對象和哈希對象交給微軟的純軟件型CSP 來(lái)管理。
                      2) 上下文環(huán)境對象和密鑰對象在CSP 中實(shí)現,哈希對象交給微軟的純軟件型CSP 來(lái)管理。
                      3) 上下文環(huán)境對象、密鑰對象和哈希對象都在CSP 中實(shí)現。

                      其中第3 種方法實(shí)現CSP 的復雜性最高,但也最為靈活,本文主要探討這種方法。由于在CSP 開(kāi)發(fā)中一般都用C 語(yǔ)言或C++語(yǔ)言來(lái)實(shí)現,因此約定以下用到的數據結構定義均使用C++語(yǔ)言來(lái)表述。

                      4.2 CSP 中幾個(gè)基本的對象類(lèi)型分析

                      通過(guò)分析微軟定義的CSP 25 個(gè)基本函數,可以發(fā)現CSP 的上下文環(huán)境對象、密鑰對象、哈希對象是以HCRYPTPROV、HCRYPTKEY和HCRYPTHASH 三種類(lèi)型存在的。

                      HCRYPTPROV 對象類(lèi)型的作用是串聯(lián)起整個(gè)CSP 的上下文環(huán)境。該對象一般由CPAcquireContext 函數產(chǎn)生,由CPReleaseContext函數終止。

                      HCRYPTKEY 對象類(lèi)型起到密鑰句柄的作用。其存在周期一般是從密鑰的產(chǎn)生或者密鑰導入開(kāi)始,經(jīng)歷密鑰的使用,最后到密鑰句柄被釋放的過(guò)程。

                      HCRYPTHASH 對象類(lèi)型起到哈希句柄的作用。其存在周期一般是從哈希的產(chǎn)生,到哈希的使用,最后是哈希句柄被釋放的過(guò)程。

                  第1頁(yè)第2頁(yè)

                  本文關(guān)鍵詞:CSP,智能卡,加密體系,密鑰
                  回到頂部
                  99久热只有精品视频在线17_精品一区二区三区自拍图片_最新国产v亚洲_久久综合九色综合久
                  <strike id="tpvd9"><dfn id="tpvd9"></dfn></strike>

                        <em id="tpvd9"></em>

                          <address id="tpvd9"></address>
                            <dfn id="tpvd9"><sub id="tpvd9"></sub></dfn>

                            <thead id="tpvd9"><noframes id="tpvd9">
                            <ruby id="tpvd9"></ruby>

                                  <thead id="tpvd9"></thead>