專利背景
POS的套用軟體允許通過下載的方式進行更新。因此,需要防止非法使用者下裝危險軟體到POS中進行非法作案,或者竊取POS中存儲的密鑰及敏感信息。換句話說,只有通過POS的所有者認可的套用軟體才可以下裝到POS中。
要想實現POS的所有者,例如收單行確認是它認可的套用軟體才可以下裝到POS中,勢必需要通過某種認證手段完成對套用軟體的認證。這種認證手段就是對應了一種
密鑰算法。一般地說,有兩大類密鑰算法。一種是對稱密鑰算法,也就是說,PC端用一個密鑰對程式檔案進行加密,生成加密檔案,然後下載到POS中,而POS上也保存著一個相同的密鑰,使用這個密鑰把加密檔案解密之後作為實際運行的檔案。還有一種是採用非對稱算法,典型的,就是採用數字簽名的方案。
對稱密鑰算法的認證方法,程式實現上比較簡單,但是,由於從安全考慮,一台POS就必須保存一個不同的密鑰,從而造成對密鑰管理的複雜度太大。而數字簽名方案則可以很好地降低POS所有者對密鑰的維護工作量。
數字簽名方案包括使用PC端簽名工具對下載的軟體進行數字簽名以及POS端對簽名後的軟體進行完整性及合法性認證兩個方面。通過使用數字簽名方案,可以確保只有合法的軟體才能下載到POS中。
2009年11月前有一種數字簽名方案是:用一級證書的方式。證書由POS的購買者(例如收單行)發給製造商,製造商預先燒入到POS中。此後這個證書就不能修改。POS的購買者開發出了POS的應用程式之後,用證書對應的私鑰簽名,然後下載到POS中。POS上先用證書驗證數字簽名是否正確,如果不正確,就拒絕下載安裝。
數字簽名方案的技術採用一級證書的方式,由於證書一經燒入,就無法修改。而從安全形度來說,不可能有永久保密的密鑰,證書也是如此。所以這種一級證書的方式,不利於證書本身的更新和維護,進而不能更好的確保套用軟體的真實性。
發明內容
專利目的
《POS檔案認證的方法及認證證書的維護方法》所要解決的技術問題之一在於提供一種利於證書本身的更新和維護,並且能確保套用軟體的真實性的POS檔案認證的方法。
該發明所要解決的技術問題之二在於提供一種POS檔案認證證書的維護方法。
技術方案
《POS檔案認證的方法及認證證書的維護方法》是通過以下技術方案解決上述技術問題之一的:一種POS檔案認證的方法,所述POS檔案認證採用的是基於二級證書管理的POS數字簽名方案,其中第一級為根證書,第二級為工作證書,根證書對工作證書的合法性進行認證,但不能對應用程式的合法性進行認證,工作證書對被下載的POS軟體的合法性進行認證,所述根證書及工作證書都由公鑰和私鑰組成。
POS收單行總公司管理的證書有兩個:(1)根證書,包括
公鑰、
私鑰;(2)工作證書,包括公鑰、私鑰;
POS收單行分公司管理的證書是公鑰檔案,包括:(1)經過廠商根證書籤名後的根證書公鑰證書檔案FILE1,由廠商和POS收單行總公司提供,由POS收單行總公司提供給終端廠商簽名,簽名後由總公司統一發布給各POS收單行分公司;(2)經過根證書籤名後的工作證書公鑰證書檔案FILE2,由POS收單行總公司提供,由POS收單行總公司發放後,通過後台下載伺服器下裝更新。
所述公鑰均保存在POS中,所述私鑰均是使用USBKEY作為存儲介質進行存儲。
所述簽名後的根證書公鑰證書檔案FILE1以及工作證書公鑰證書檔案FILE2的程式檔案格式為:檔案頭、檔案體、簽名信息,所述檔案頭為256位元組的結構,所述檔案體即檔案主體,是認證中心生成的證書檔案內容,所述簽名信息是簽名後產生的簽名信息,長度等於公鑰模長。
所述256位元組的檔案頭結構依次包括16位元組的檔案類別名稱、16位元組的預留區域、16位元組的型號名稱、16位元組的檔案版本、16位元組的顯示名稱、84位元組的預留區域、4位元組的簽名後生成的檔案長度、4位元組的源檔案長度、84位元組的預留區域。
該發明是通過以下技術方案解決上述技術問題之二的:一種POS檔案認證證書的維護方法,所述POS檔案認證採用的是基於二級證書管理的POS數字簽名方案,其中第一級為根證書,第二級為工作證書,根證書對工作證書的合法性進行認證,但不能對應用程式的合法性進行認證,工作證書對被下載的POS軟體的合法性進行認證,所述根證書及工作證書都由公鑰和私鑰組成,所述POS檔案認證證書的維護方法包括製造以及運輸的步驟,所述製造以及運輸的步驟具體包括:
1.POS收單行總公司向認證中心申請根證書以及工作證書,其中的私鑰部分都分別存放在各自的USBKEY中;
2.POS收單行總公司提供POS收單行根證書公鑰給終端廠商,用終端廠商根證書對應的私鑰對其進行數字簽名,生成根證書公鑰檔案FILE1並且交還給POS收單行總公司,POS收單行總公司把FILE1發布給各POS收單行分公司,其中終端廠商根證書預先燒錄在終端廠商提供的POS中;
3.POS收單行分公司收到總公司發來的根證書公鑰檔案FILE1;
4.POS收單行總公司用根證書對應的私鑰對工作證書公鑰進行數字簽名,生成工作證書公鑰檔案FILE2並且交還給分公司。
該POS檔案認證證書的維護方法還包括接收的步驟,此時POS由終端廠商交給POS收單行,該步驟包括:
1.POS收單行分公司把經過簽名的根證書公鑰檔案FIEL1下載到POS中,把POS的廠商根證書公鑰更新成POS收單行根證書並同時把POS中原來的證書全部刪除;
2.對於正式布點用的POS,POS收單行分公司把工作證書公鑰檔案FILE2下載到POS中。
該POS檔案認證證書的維護方法還包括正式應用程式的發布的步驟,此時POS中有POS收單行的根證書和工作證書,該步驟包括:
1.POS收單行總公司用簽名工具對應用程式進行數字簽名,使用工作證書的USBKEY,並把簽名後的檔案上傳到正式後台下載伺服器中;
2.後台下載伺服器用下裝工具下載簽名後的檔案到POS中;
3.POS對下載的檔案進行認證,確認是合法的應用程式後允許運行,否則加以刪除。
該POS檔案認證證書的維護方法還包括更新工作證書/根證書的步驟,此時,POS中有POS收單行的根證書和舊的工作證書,該步驟包括:
1.POS收單行總公司事先用根證書對新的工作證書/根證書籤名,然後上傳到後台下載伺服器上,對於根證書,由於是採用自簽名的,所以需要在後台下載伺服器上保留歷史上的各個版本的簽名檔案;
2.每次發布新的工作證書,都要把以前的應用程式用新的工作證書重新簽名;
3.後台下載伺服器上只保留用最新工作證書籤過名的應用程式;
4.POS在和後台下載伺服器握手的時候,告訴後台下載伺服器當前POS保存的根證書/工作證書版本,如果證書版本過低,則後台下載伺服器啟動更新證書的操作;
5.後台下載伺服器下載新的根證書/工作證書到POS中;
6.POS對下載的新的根證書/工作證書進行認證,確認是合法的證書,就把舊的證書予以替換。
POS在更新證書之前,拒絕下載新的用戶程式,但能夠運行舊的程式,POS在監控層通過安全認證後,能夠從正式布點態切換到調試態或者從調試態切換到正式布點態。
改善效果
POS的安全要求一:從密鑰的安全管理的角度出發,要求一種密鑰一種用途。例如用於做程式檔案簽名認證的密鑰,就不能用來做密鑰自身更新的認證,反之亦然。
POS的安全要求二:從密鑰的安全管理的角度出發,不可能有永久保密的密鑰,證書也是如此。所以2009年11月前已有一級證書的方式,不利於證書本身的更新和維護,進而不能更好的確保套用軟體的真實性。
而《POS檔案認證的方法及認證證書的維護方法》的實現方案,工作證書專門用於認證應用程式的真實性,而根證書專門用於認證證書的真實性,滿足了上面的安全要求一,同時由於認證證書可以升級,又滿足了上面的安全要求二,所以從實現機制來說,比之前的方法更優。
權利要求
1.一種POS檔案認證的方法,其特徵在於:所述POS檔案認證採用的是基於二級證書管理的POS數字簽名方案,其中第一級為
根證書,第二級為工作證書,根證書對工作證書的合法性進行認證,但不能對應用程式的合法性進行認證,工作證書對被下載的POS軟體的合法性進行認證,所述根證書及工作證書都由公鑰和私鑰組成;POS收單行總公司管理的證書有兩個:(1)根證書,包括公鑰、私鑰;(2)工作證書,包括公鑰、私鑰;POS收單行分公司管理的證書是公鑰檔案,包括:(1)經過廠商根證書籤名後的根證書公鑰證書檔案FILE1,由廠商和POS收單行總公司提供,由POS收單行總公司提供給終端廠商簽名,簽名後由總公司統一發布給各POS收單行分公司;(2)經過根證書籤名後的工作證書公鑰證書檔案FILE2,由POS收單行總公司提供,由POS收單行總公司發放後,通過後台下載伺服器下裝更新。
2.如權利要求1所述的POS檔案認證的方法,其特徵在於:所述公鑰均保存在POS中,所述私鑰均是使用USBKEY作為存儲介質進行存儲。
3.如權利要求1所述的POS檔案認證的方法,其特徵在於:所述簽名後的根證書公鑰證書檔案FILE1以及工作證書公鑰證書檔案FILE2的程式檔案格式為:檔案頭、檔案體、簽名信息,所述檔案頭為256位元組的結構,所述檔案體即檔案主體,是認證中心生成的證書檔案內容,所述簽名信息是簽名後產生的簽名信息,長度等於公鑰模長。
4.如權利要求3所述的POS檔案認證的方法,其特徵在於:所述256位元組的檔案頭結構依次包括16位元組的檔案類別名稱、16位元組的預留區域、16位元組的型號名稱、16位元組的檔案版本、16位元組的顯示名稱、84位元組的預留區域、4位元組的簽名後生成的檔案長度、4位元組的源檔案長度、84位元組的預留區域。
5.一種POS檔案認證證書的維護方法,其特徵在於:所述POS檔案認證採用的是基於二級證書管理的POS數字簽名方案,其中第一級為根證書,第二級為工作證書,根證書對工作證書的合法性進行認證,但不能對應用程式的合法性進行認證,工作證書對被下載的POS軟體的合法性進行認證,所述根證書及工作證書都由公鑰和私鑰組成,所述POS檔案認證證書的維護方法包括製造以及運輸的步驟,所述製造以及運輸的步驟具體包括:
(1)POS收單行總公司向認證中心申請根證書以及工作證書,其中的私鑰部分都分別存放在各自的USBKEY中;
(2)POS收單行總公司提供POS收單行根證書公鑰給終端廠商,用終端廠商根證書對應的私鑰對其進行數字簽名,生成根證書公鑰檔案FILE1並且交還給POS收單行總公司,POS收單行總公司把FILE1發布給各POS收單行分公司,其中終端廠商根證書預先燒錄在終端廠商提供的POS中;
(3)POS收單行分公司收到總公司發來的根證書公鑰檔案FILE1;
(4)POS收單行總公司用根證書對應的私鑰對工作證書公鑰進行數字簽名,生成工作證書公鑰檔案FILE2並且交給分公司。
6.如權利要求5所述的POS檔案認證證書的維護方法,其特徵在於:還包括接收的步驟,此時POS由終端廠商交給POS收單行,該步驟包括:
(1)POS收單行分公司把經過簽名的根證書公鑰檔案FIEL1下載到POS中,把POS的廠商根證書公鑰更新成POS收單行根證書並同時把POS中原來的證書全部刪除;
(2)對於正式布點用的POS,POS收單行分公司把工作證書公鑰檔案FILE2下載到POS中。
7.如權利要求6所述的POS檔案認證證書的維護方法,其特徵在於:還包括正式應用程式的發布的步驟,此時POS中有POS收單行的根證書和工作證書,該步驟包括:
(1)POS收單行總公司用簽名工具對應用程式進行數字簽名,使用工作證書的USBKEY,並把簽名後的檔案上傳到正式後台下載伺服器中;
(2)後台下載伺服器用下裝工具下載簽名後的檔案到POS中;
(3)POS對下載的檔案進行認證,確認是合法的應用程式後允許運行,否則加以刪除。
8.如權利要求7所述的POS檔案認證證書的維護方法,其特徵在於:還包括更新工作證書/根證書的步驟,此時,POS中有POS收單行的根證書和舊的工作證書,該步驟包括:
(1)POS收單行總公司事先用根證書對新的工作證書/根證書籤名,然後上傳到後台下載伺服器上,對於根證書,由於是採用自簽名的,所以需要在後台下載伺服器上保留歷史上的各個版本的簽名檔案;
(2)每次發布新的工作證書,都要把以前的應用程式用新的工作證書重新簽名;
(3)後台下載伺服器上只保留用最新工作證書籤過名的應用程式;
(4)POS在和後台下載伺服器握手的時候,告訴後台下載伺服器當前POS保存的根證書/工作證書版本,如果證書版本過低,則後台下載伺服器啟動更新證書的操作;
(5)後台下載伺服器下載新的根證書/工作證書到POS中;
(6)POS對下載的新的根證書/工作證書進行認證,確認是合法的證書,就把舊的證書予以替換。
9.如權利要求8所述的POS檔案認證證書的維護方法,其特徵在於:POS在更新證書之前,拒絕下載新的用戶程式,但能夠運行舊的程式,POS在監控層通過安全認證後,能夠從正式布點態切換到調試態或者從調試態切換到正式布點態。
實施方式
該發明提出了一套基於二級證書管理的POS數字簽名方案及管理流程。
一、POS二級證書管理機制
使用二級證書管理,第一級為根證書,第二級為工作證書。根證書用來對工作證書的合法性進行認證,但不能用來對應用程式的合法性進行認證。而工作證書用來對被下載的軟體的合法性進行認證。每個證書都由公鑰和私鑰組成。
1.POS收單行管理的證書只要有兩個:
(1)根證書(公,私鑰);
(2)工作證書(公,私鑰)。
註:用於簽名終端應用程式的私鑰是從私鑰檔案中解析出來的。2009年11月前有兩種方式保護私鑰,一種是對私鑰檔案進行加密保存(檔案方式);另一種是使用USBKEY作為存儲介質。
建議使用USBKEY來存儲,其好處是存儲在USBKEY的私鑰不可導出,安全級別高。另外可對USBKEY進行保護。也有兩種方式:一、USBKEY的PIN碼分段管理;二、分多張IC卡來保持PIN碼的分量。
2.POS收單行分公司管理的證書主要是公鑰檔案。
(1)經過廠商根證書籤名後的根證書公鑰證書檔案FILE1,由廠商和POS收單行提供。
(2)經過根證書籤名後的工作證書公鑰證書檔案FILE2,由POS收單行提供。
3.各個密鑰證書的管理情況匯總表
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | 由POS收單行總公司提供給終端廠商簽名,簽名後由總公司統一發布給各分公司 |
| | | | | | |
| | | | | | 由POS收單行總公司發放後,通過後台下載伺服器下裝更新。 |
二、證書檔案和應用程式檔案的數據結構
1.簽名的目標檔案類型
2009年11月前需要簽名的目標檔案包括以下幾種類型:
1)應用程式檔案:以壓縮檔檔案提供,通常功能相對獨立的模組組成一個壓縮檔檔案;
2)證書檔案:由認證中心發行的公鑰證書檔案。
2.簽名後的證書及程式檔案格式
| | |
| | |
| | 檔案主體,對於證書檔案即為CA中心生成的證書檔案內容;對於程式檔案即為壓縮檔檔案內容 |
| | |
3.證書檔案和應用程式檔案的檔案頭格式
為了使終端能對下載的檔案進行解析,從而驗證下載檔案的數字簽名,下載檔案需要包含一個檔案頭用於標識檔案類別、檔案版本、檔案長度等信息,簽名工具對源檔案簽名完成後將相關信息填入檔案頭中即可。
下表為256位元組檔案頭結構,表中僅描述簽名工具需要操作的域:
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | 標識簽名後生成的檔案的總長度,包含了256位元組檔案頭長度 |
| | 對於程式檔案,此長度為簽名時輸入的程式檔案的長度;對於證書檔案,此長度為簽名時輸入的證書檔案的長度加上256位元組檔案頭長度 |
| | |
對於程式檔案來說,編譯生成的程式檔案已經包含了256位元組檔案頭,因此簽名工具對程式檔案簽名完成後,只需填寫檔案頭結構中的“簽名後生成的檔案長度”域即可;
對於證書檔案來說,由於簽名時輸入的證書檔案不包含256位元組檔案頭,因此簽名工具對證書檔案簽名時需要加入上表所描述的256位元組檔案頭,檔案頭中各個域按如下方式填寫:
a)類別名稱定義為“UNIMARS-II-CRT”
b)型號名稱:如果是根證書,填入“ROOT”,如果是工作證書填入“WORK”
c)檔案版本:標識證書的版本。對於根證書及工作證書,版本定義相同,使用3個域標識版本即“AA。BB。CC”,第一個域表示當前證書是臨時證書還是生產證書,臨時證書用“00”標識,生產證書用“01”標識;第二個域表示證書的版本,從“01”開始往上升級;第三個域預留。
d)顯示名稱:如果是根證書,填入“ROOTCRT”,如果是工作證書填入“WORKCRT”。
三、POS生命周期中認證證書的維護過程
| | | | | |
| | | 1.向CA申請根證書以及工作證書。其中的私鑰部分都分別存放在各自的USBKEY中。 2.提供POS收單行根證書公鑰給終端廠商,用終端廠商根證書對應的私鑰對其進行數字簽名,生成根證書公鑰檔案FILE1並且交還給POS收單行總公司。總公司把FILE1發布給各分公司。 3.POS收單行總公司用根證書對應的私鑰對工作證書公鑰進行數字簽名,生成工作證書公鑰檔案FILE2並且交還給分公司。 | 1.收到總公司發來的根證書公鑰檔案FILE1 2.收到總公司發來的工作證書公鑰檔案FILE2 | |
| | | | 以下操作,要求在安全環境下進行。 1.POS收單行分公司把經過簽名的根證書公鑰檔案FIEL1下載到POS中,把POS的廠商根證書公鑰更新成POS收單行根證書並同時把POS中原來的證書全部刪除。 2.對於正式布點用的POS,POS收單行分公司把工作證書公鑰檔案FILE2下載到POS中。 | |
| | | 以下操作要在安全環境下進行 1.用簽名工具對應用程式進行數字簽名(使用工作證書的USBKEY),並把簽名後的檔案上傳到正式後台下載伺服器中。 | | 1.用下裝工具下載簽名後的檔案到POS中; 2.POS對下載的檔案進行認證,確認是合法的應用程式後允許運行,否則加以刪除。 |
| | | 1.事先就用根證書對新的工作證書/根證書籤名。然後上傳到後台下載伺服器上。對於根證書,由於是採用自簽名的,所以需要在後台下載伺服器上保留歷史上的各個版本的簽名檔案。 2.每次發布新的工作證書,都要把以前的應用程式用新的工作證書重新簽名。 3.後台下載伺服器上只保留用最新工作證書籤過名的應用程式。 | | 1.POS在和後台下載伺服器握手的時候,要告訴後台下載伺服器當前POS保存的根證書/工作證書版本,如果證書版本過低,後台下載伺服器可以啟動更新證書的操作。 2.後台下載伺服器下載新的根證書/工作證書到POS中。 3.POS對下載的新的根證書/工作證書進行認證,確認是合法的證書,就把舊的證書予以替換。 |
| POS在更新證書之前,拒絕下載新的用戶程式。但是可以運行舊的程式。 | | | | |
| POS可以在監控層通過安全認證後(例如輸入在線上獲取到的口令)切換到調試態。以便調試人員調試應用程式。 | | | | |
| POS可以在監控層通過安全認證後(例如輸入在線上獲取到的口令)切換到正式布點態。這個切換工作會把POS中□有的用戶程式全部刪除。 | | | | |
備註說明:
1)POS處於調試態的時候,下載程式都不需要證書認證。但是螢幕界面會每隔一定時間(例如5秒)彈出一個警告提示框,以便提示用戶,此POS處於調試狀態,不要進行實際交易。
2)待簽名的檔案程式的儲存格式:程式檔案與簽名檔案合併在一起。
3)產權為其他收單行的終端程式的管理:
其他收單行的程式,如果需要下載到POS所有者的收單行下的POS中,則需要使用所有者收單行的證書進行簽名,即終端只認所有者收單行的數字證書。
四、數字簽名方案原理及和其相關的驗證流程
下面,我們以證書的生命周期來描述和數字簽名相關的操作說明和原理。一般有證書的產生,證書的使用,證書的更新,證書的管理等。
1、數字簽名方案原理簡介
1.1對下載軟體的數字簽名是由PC端數字簽名工具完成的。具體數字簽名的實現流程如下:
1)獲取數字摘要:採用SHA-1的HASH算法計算要下載的程式檔案M的數字摘要H,即H=HASH(M)。對下載的程式檔案M的任何修改都會導致數字摘要H的修改,通過這種方式,可以確保下載的程式檔案未被修改,是完整的。
2)獲取數字簽名信息:通過簽名工具輸入加密後的私鑰檔案,然後由三位合法用戶輸入正確的用戶名及密鑰後獲得私鑰明文,使用私鑰通過RSA算法加密步驟1)中得到的數字摘要H,加密後得到結果即為簽名信息S,此簽名信息的長度與私鑰模長相等。
3)檔案打包:將要下載的源檔案M與簽名信息S打包後即生成最終的簽名檔案N,此檔案可以直接下載到POS中。
1.2POS接收到簽名檔案N後,即開始對簽名檔案N進行合法性認證,具體實現流程如下:
1)讀出存儲在POS中的公鑰證書,解析得到公鑰,然後使用RSA算法對包含在簽名檔案N中的簽名信息S進行解密操作,得到數字摘要H1;
2)使用SHA-1算法計算源檔案M的HASH值,得到數字摘要H2=HASH(M);
3)比較H2是否等於H1,如果相等,則通過了檔案認證,源檔案M將被存儲在POS中;如果不相等,則POS會提示認證失敗,源檔案M將不會被存儲在POS中。
2、證書的產生
數字簽名方案中使用的私鑰及公鑰由CFCA發放或收單行自行發放。公鑰是以證書的方式存在的,對其安全方面的要求主要是:要求只有在獲得授權的情況下才能修改,但是可以自由讀取;而私鑰則是保密的,必須由合法用戶進行安全保護以防止被竊取。
公鑰以證書檔案的形式【由公鑰證書檔案頭(包含對公鑰證書的一些版本控制等管理信息)+公鑰證書+公鑰證書的數字簽名3個部分組成】下載到POS中,公鑰證書格式遵循ITU-T(國際電信聯盟組織)X.509規範,公鑰證書中包含了公鑰、證書發行者、證書所有者及有效期等信息。
從證書的維護管理角度來看,證書採用兩級證書樹的結構來使用。所以收單行維護根證書和工作證書兩套證書。根證書用來對工作證書的合法性進行認證,不能用來對應用程式的合法性進行認證;而工作證書用來對被下載的軟體的合法性進行認證。
3、POS端證書的管理
POS中存儲的證書樹包含兩級證書:根證書和工作證書。根證書用來對工作證書的合法性進行認證。不能用來對應用程式的合法性進行認證。而工作證書用來對被下載的軟體的合法性進行認證。
根證書包括:
1)廠商根證書:POS中的第一個根證書稱為廠商根證書。廠商根證書由終端廠商提供,由終端廠商在生產階段通過燒片方式寫入POS中。
2)收單行根證書:收單行總公司提供收單行根證書公鑰(TranslateRootPublicKey)給終端廠商,終端廠商用廠商根證書對應的私鑰對收單行根證書公鑰進行數字簽名,並把簽名後的根證書公鑰檔案交給收單行總公司。
3)POS的交接:當POS被送到各收單行分公司後,收單行分公司先下載經過簽名的收單行根證書檔案FILE1到POS中,把POS的廠商根證書更新成收單行根證書。以上根證書更新的同時,POS中舊的證書以及應用程式都會被清除。根證書只能被更新(採用自簽名方式),不能被刪除。從而保證了根證書的安全性。
工作證書:工作證書允許通過下載的方式更新,但是必須先使用根證書對應的私鑰簽名後才能下載到POS中,從而更新舊的工作證書。但是每次更新工作證書,套用區程式都會被清除。
根證書和工作證書下載後都不允許通過任何方式刪除。
4、證書的使用以及應用程式進行數字簽名的操作方式
1)概述:下載到POS的終端應用程式必須先使用PC端的數字簽名工具進行簽名。終端應用程式由各終端廠商開發。應用程式開發人員編譯生成了最終的目標程式之後,收單行使用PC端的數字簽名工具對應用程式進行數字簽名。簽名之後的目標程式再使用各終端廠商提供的下裝工具下裝到POS中。下裝工具只負責下裝,不負責數字簽名。
2)安全管理原則:用於簽名下載檔案的私鑰是從私鑰檔案中解析出來的。為了保護私鑰,需要對私鑰檔案進行加密保存。並且如果按照最高使用安全管理的要求,每次對應用程式進行數字簽名時,都需要有3位授權用戶輸入3組正確的密鑰之後才能對應用程式進行數字簽名操作。
3)具體做法的建議:收單行產生了公私鑰之後,公鑰以證書的形式發布給POS廠家,私鑰則寫入USB-KEY。對USB-KEY的訪問許可權採用由3位不同的授權用戶輸入3組16位元組長的密鑰進行認證的方式來管理。一旦三人認證通過,則可以把應用程式的數字摘要H輸入USB-KEY中進行數字簽名,加密後得到簽名信息S。這樣做的好處,就是私鑰信息在整個簽名過程中不會泄露。
5、證書的更新
1)工作證書過期更新後,如何對後台下載伺服器上的終端應用程式進行處理:證書更新後,需要把所有在用的終端應用程式都批量重新簽名。另外,對於多套用終端,簽名是對每一個套用做一次簽名,而不是把終端上的所有套用打包一起做一次簽名。載入多套用的終端,如果其中幾個套用校驗簽名合法,另外的一個套用簽名校驗不合法,可將檢驗合法的程式下載到終端。
2)證書有效期的識別:對工作證書有效期的識別,終端每次上電都會判斷內部的工作證書的有效期。如果有效期到了,終端不允許下載新的用戶程式,但是可以更新證書。更新了新的證書之後,終端就可以繼續下載新的用戶程式了。而網路下載伺服器在平時和終端握手的時候,終端要告訴後台下載伺服器當前POS保存的工作證書版本,如果證書版本過低,後台下載伺服器可以啟動更新證書的操作。
3)校驗簽名的方式:終端在下載程式時候才校驗簽名,平時開機只檢驗程式的完整性,不校驗的合法性。這樣的好處是,可以很好地解決POS中舊的由過期證書籤署過的應用程式的驗證問題。
4)終端測試程式的下載:如果終端測試程式統一由總公司管理,由於版本繁雜多樣,顯然是不合適的。如果由分支機構在直接上傳到後台下載伺服器生產系統,不利於終端應用程式的管理。因此需要終端支持調試態。
6、調試終端與正式布點終端的切換
POS可以在監控層通過安全認證後(例如輸入在線上獲取到的口令)切換到調試態。以便調試人員調試應用程式。
POS處於調試態的時候,下載程式都不需要證書認證。但是螢幕界面會每隔一定時間(例如5秒)彈出一個警告提示框,以便提示用戶,此POS處於調試狀態,不要進行實際交易。
POS可以在監控層通過安全認證後(例如輸入在線上獲取到的口令)切換到正式布點態。這個切換工作會把POS中已有的用戶程式全部刪除。
7、相關工具
1)數字簽名工具的開發:簽名工具的功能是使用私鑰,對程式檔案和證書檔案進行數字簽名,生成的簽名信息按照上文的檔案結構添加進去,並且修改對應的檔案頭相關數據結構,生成最終的簽名檔案。
2)下載工具的開發:由廠商提供,下載工具用於下載FILE1及FILE2檔案到POS終端。
榮譽表彰
2014年11月6日,《POS檔案認證的方法及認證證書的維護方法》獲得第十六屆中國專利優秀獎。