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

        聯(lián)系興邦電子

        全國咨詢熱線:40000-63966

        售后:0371-55132951/55132952

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

        智能卡CSP加密體系的設計與實現(xiàn)方法

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

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

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

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

            1 CSP 簡介

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

            2 CSP 中的容器

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

            3 CSP 在智能卡中的密鑰存貯結(jié)構

            3.1 智能卡中私鑰的特點

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

            3.2 私鑰、公鑰和證書的不同保護級別

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

            3.3 CSP 密鑰容器的存貯結(jié)構設計

            3.3.1 CSP 密鑰容器存貯結(jié)構圖

         

            圖3 為CSP 密鑰容器存貯結(jié)構圖。

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

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

            3.3.4 容器名稱:圖3 中的私鑰目錄(DDF)下的容器目錄(ADF)名稱必須和公開目錄(DDF)下的容器目錄(ADF)名稱對應,比如私鑰目錄(DDF)下的
        容器目錄1 和公開目錄(DDF)下的容器目錄1 的名稱必須相同,因為它們實際上是代表著同一個容器名。

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

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

            4 CSP 軟件架構的設計與實現(xiàn)

            4.1 CSP 軟件架構的種類

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

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

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

            4.2 CSP 中幾個基本的對象類型分析

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

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

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

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

        第1頁第2頁

        本文關鍵詞:CSP,智能卡,加密體系,密鑰
        回到頂部
        亚洲天堂国产视频,在线观看黄V免费网站免费,国产自无码视频在线观看手机,亚洲AV无码乱码国产精品9 亚洲96在线观看 免费三级片中文字幕无码
      • <bdo id="i0k2q"><xmp id="i0k2q">
          • <menu id="i0k2q"><em id="i0k2q"></em></menu>