一種基于智能卡的密鑰應用方法及應用裝置的制造方法
【技術領域】
[0001]本發明涉及計算機安全技術領域,尤其涉及一種基于智能卡的密鑰應用方法及應
/TJ 目.0
【背景技術】
[0002]多應用智能卡,是一種集多個功能于一體的集成電路卡,可以承載多個應用,具有便于攜帶、方便使用等優點,被廣泛應用于金融、交通、社保、醫療通信等行業。多應用智能卡主要是通過智能卡操作系統(Card Operating System,C0S)來實現各個應用程序的協調管理,其中,COS系統內部主要采用了 Java卡開放平臺技術和全球開放平臺(GlobalPlatform,GP)技術,以實現各個應用程序之間的數據隔離。但是,現有技術中,各個應用程序的密鑰信息均由應用程序自身進行存儲管理,并沒有將密鑰信息與應用程序本身進行隔離,在智能卡進行業務處理時,可以直接從應用程序中獲取密鑰進行相關處理。
[0003]這樣,仍然存在由于應用程序對密鑰信息管理不當導致密鑰信息泄露的安全隱串
■/Ql、O
[0004]例如:由于開發應用程序的經驗不足,或者,由于應用程序測試不合格等因素,均可能導致應用程序存在邏輯缺陷,不法人員就可以通過攻擊應用程序的漏洞盜取相關業務的密鑰,再根據盜取的相關密鑰復制智能卡,并采用相關密鑰,使用復制的智能卡與業務對端進行交互,從而給持卡人帶來嚴重的損失。
[0005]基于上述分析,現有技術中仍然存在智能卡的密鑰易泄露的問題。
【發明內容】
[0006]本發明實施例提供了一種基于智能卡的密鑰應用方法及應用裝置,用以實現對智能卡密鑰的安全管理和應用。
[0007]本發明實施例提供的具體技術方案如下:
[0008]—種基于智能卡的密鑰應用方法,包括:
[0009]智能卡接收應用程序發送的第一業務請求,上述業務請求中至少攜帶有第一密鑰索引;
[0010]智能卡基于預設的第一密鑰索引和密鑰關聯信息之間的映射關系,從本地指定的密鑰存儲區域中讀取對應上述第一密鑰索引設置的密鑰關聯信息;
[0011]智能卡基于上述密鑰關聯信息獲得上述第一密鑰索引對應的第一密鑰,并采用上述第一密鑰與業務對端完成相關業務操作。
[0012]本發明實施例中,智能卡在處理第一業務請求時,是根據應用程序預設的第一密鑰索引和密鑰關聯信息之間的映射關系,從本地指定的密鑰存儲區域中獲取的第一密鑰,而不再是直接從應用程序中獲取第一密鑰,也就是說,應用程序對應的密鑰被存儲在本地指定的密鑰存儲區域中,而不再是由應用程序自身進行存儲管理,在處理第一業務請求時,應用程序只能根據自身設定的密鑰索引獲取對應的第一密鑰,這樣,即使應用程序本身存在漏洞,不法人員對應用程序的漏洞進行攻擊時,也只能盜取到應用程序的密鑰索引,不會盜取到相關的密鑰,因此,就不能復制智能卡,從而,避免了由于攻擊應用程序導致泄露密鑰的風險,進而,避免了通過使用復制的智能卡與業務對端進行交互的風險。
[0013]較佳的,進一步包括:
[0014]在預處理階段,智能卡從專屬設備或通過指定接口下載上述應用程序,以及下載上述應用程序對應的至少一種密鑰;
[0015]智能卡安裝上述應用程序后,通過上述應用程序調用預設的密鑰創建接口,在本地指定的密鑰存儲區域中針對上述至少一種密鑰創建相應的存儲空間,并通過上述應用程序調用預設的密鑰寫入接口將上述至少一種密鑰的密鑰關聯信息寫入相應的存儲空間,其中,一種密鑰的密鑰關聯信息中至少記錄有上述一種密鑰的密鑰索引和密鑰值。
[0016]這樣,智能卡將與各個應用程序對應的密鑰分別存儲至本地指定的密鑰存儲區域中的不同存儲空間內,實現了應用程序與對應密鑰的完全隔離,而且,在應用程序與本地指定的密鑰存儲區域之間,智能卡只設定了面向應用程序的密鑰創建接口和密鑰寫入接口,并沒有設定密鑰讀取接口,這樣,應用程序在任何時間都不能讀取密鑰,進一步地降低了應用程序泄露密鑰的風險。
[0017]較佳的,智能卡采用上述第一密鑰與業務對端完成相關業務操作,包括:
[0018]智能卡使用默認的安全算法,按照默認的密鑰使用方式,采用上述第一密鑰與業務對端完成相關業務操作;或者,
[0019]智能卡基于上述第一密鑰對應的密鑰關聯信息進一步獲取上述第一密鑰的用途索引和算法索引,并基于上述第一密鑰的用途索引確定第一密鑰的密鑰使用方式,基于上述第一密鑰的算法索引確定相應的安全算法,以及使用上述安全算法,按照上述使用方式,采用第一密鑰業務與業務對端完成相關業務操作。
[0020]較佳的,智能卡使用第一密鑰與業務對端完成相關業務操作,包括:
[0021 ]采用上述第一密鑰對與業務對端交互的報文進行加密或解密;或者,
[0022]采用上述第一密鑰對業務對端進行消息授權碼MAC校驗,或,采用上述第一密鑰生成針對業務對端的MAC;或者,
[0023]采用上述第一密鑰對與業務對端交互的報文進行電子簽名,或,采用上述第一密鑰對與業務對端交互的報文進行電子簽名驗證。
[0024]較佳的,上述智能卡為以下卡片中的任意一種:
[0025]公交卡、社保卡、醫保卡、銀行卡、校園一卡通、手機用戶身份識別SIM卡,用戶全球識別US頂卡。
[0026]—種基于智能卡的密鑰應用裝置,包括:
[0027]接收單元,用于接收應用程序發送的第一業務請求,上述業務請求中至少攜帶有第一密鑰索引;
[0028]讀取單元,用于基于預設的第一密鑰索引和密鑰關聯信息之間的映射關系,從本地指定的密鑰存儲區域中讀取對應上述第一密鑰索引設置的密鑰關聯信息;
[0029]執行單元,用于基于上述密鑰關聯信息獲得上述第一密鑰索引對應的第一密鑰,并采用上述第一密鑰與業務對端完成相關業務操作。
[0030]本發明實施例中,智能卡在處理第一業務請求時,是根據應用程序預設的第一密鑰索引和密鑰關聯信息之間的映射關系,從本地指定的密鑰存儲區域中獲取的第一密鑰,而不再是直接從應用程序中獲取第一密鑰,也就是說,應用程序對應的密鑰被存儲在本地指定的密鑰存儲區域中,而不再是由應用程序自身進行存儲管理,在處理第一業務請求時,應用程序只能根據自身設定的密鑰索引獲取對應的第一密鑰,這樣,即使應用程序本身存在漏洞,不法人員對應用程序的漏洞進行攻擊時,也只能盜取到應用程序的密鑰索引,不會盜取到相關的密鑰,因此,就不能復制智能卡,從而,避免了由于攻擊應用程序導致泄露密鑰的風險,進而,避免了通過使用復制的智能卡與業務對端進行交互的風險。
[0031]較佳的,上述接收單元進一步用于:
[0032]在預處理階段,從專屬設備或通過指定接口下載上述應用程序,以及下載上述應用程序對應的至少一種密鑰;
[0033]安裝上述應用程序后,通過上述應用程序調用預設的密鑰創建接口,在本地指定的密鑰存儲區域中針對上述至少一種密鑰創建相應的存儲空間,并通過上述應用程序調用預設的密鑰寫入接口將上述至少一種密鑰的密鑰關聯信息寫入相應的存儲空間,其中,一種密鑰的密鑰關聯信息中至少記錄有上述一種密鑰的密鑰索引和密鑰值。
[0034]這樣,智能卡將與各個應用程序對應的密鑰分別存儲至本地指定的密鑰存儲區域中的不同存儲空間內,實現了應用程序與對應密鑰的完全隔離,而且,在應用程序與本地指定的密鑰存儲區域之間,智能卡只設定了面向應用程序的密鑰創建接口和密鑰寫入接口,并沒有設定密鑰讀取接口,這樣,應用程序在任何時間都不能讀取密鑰,進一步地降低了應用程序泄露密鑰的風險。
[0035]較佳的,采用上述第一密鑰與業務對端完成相關業務操作時,上述執行單元用于:
[0036]使用默認的安全算法,按照默認的密鑰使用方式,采用上述第一密鑰與業務對端完成相關業務操作;或者,
[0037]基于上述第一密鑰對應的密鑰關聯信息進一步獲取上述第一密鑰的用途索引和算法索引,并基于上述第一密鑰的用途索引確定第一密鑰的密鑰使用方式,基于上述第一密鑰的算法索引確定相應的安全算法,以及使用上述安全算法,按照上述使用方式,采用第一密鑰業務與業務對端完成相關業務操作。
[0038]較佳的,使用第一密鑰與業務對端完成相關業務操作時,上述執行單元用于:
[0039]采用上述第一密鑰對與業務對端交互的報文進行加密或解密;或者,
[0040]