專利名稱:實現(xiàn)數(shù)字簽名的方法和系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種電信系統(tǒng)和一種數(shù)字信息的簽字加密技術(shù)。本發(fā)明尤其涉及一種可以對電子表格或其它電子信息簽字并驗證簽名及簽名人可靠性的系統(tǒng)。
背景技術(shù):
在現(xiàn)有技術(shù)中,用數(shù)字移動站,例如“全球移動通信系統(tǒng)”(GSM)系統(tǒng)中的移動站,進(jìn)行商業(yè)交易已為人知,比如用電子手段支付帳單或付費等。專利申請US 5,221,838披露了一種付費用的裝置。在該說明書描述的電子付費系統(tǒng)中,能夠進(jìn)行有線和/或無線數(shù)據(jù)傳輸?shù)慕K端設(shè)備被用作付費終端,終端設(shè)備包括輸入信息用的閱卡機(jī)、小鍵盤和條形碼閱讀器,以及用于呈現(xiàn)付款信息的顯示單元。
專利說明書WO 94/11849揭示了一種通過移動電話系統(tǒng)來利用電信服務(wù)并進(jìn)行付費的方法,其中描述了一種終端設(shè)備,它通過電信系統(tǒng)與包含服務(wù)提供者付費系統(tǒng)的服務(wù)提供者主計算機(jī)進(jìn)行通信。在移動電話網(wǎng)中使用的終端設(shè)備(即移動站)可以配備用戶標(biāo)識模塊,該模塊包括用于識別用戶并加密電信的用戶信息。用戶信息可以讀入終端設(shè)備,在移動站中使用。說明書以GSM系統(tǒng)為例,將SIM卡(SIM,用戶標(biāo)識模塊)用作用戶識別單元。
在WO 94/11849的系統(tǒng)中,移動站與移動電話網(wǎng)中的基站通信。依照該說明書,還與支費系統(tǒng)建立連接,將待付金額以及識別用戶所需的數(shù)據(jù)傳遞給付費系統(tǒng)。在該說明書所描述的銀行業(yè)務(wù)中,客戶將銀行提供的、包含SIM單元的服務(wù)卡放入GSM網(wǎng)的終端設(shè)備中。在基于電話的銀行業(yè)務(wù)中,終端設(shè)備可以是符合標(biāo)準(zhǔn)的GSM移動站。利用此說明書中的方法,可以用無線電信連接付費和/或支付帳單,或者實現(xiàn)其它銀行或現(xiàn)金業(yè)務(wù)。
上述方案的問題在于,從付費者和收費者的角度來說,它們沒有考慮付費的可靠性。當(dāng)用移動站付費時,付費和收費雙方信任付費系統(tǒng)是很重要的。付費者必須確切知道他正在付什么費、付多少、付給誰、如何付等等。收費者也必須確切知道誰在付費、付什么費、付了多少等等。
眾所周知,將電子表格的信息從一處發(fā)至另一處是很容易的。但要保證所傳信息在傳輸中不變以及例如移動站顯示器上呈現(xiàn)的信息以真正相同表格不變地發(fā)送給接收方就會困難一些。
早先已知的作法是使用散列碼,這是一種根據(jù)待發(fā)信息形成并計算出的數(shù)據(jù)字段。計算散列碼的一般算法是一種單向函數(shù),換句話說,不能對散列碼解密,以揭示生成該碼的信息??捎糜诖四康牡囊环N算法是SHA-1(保密散列算法)。
數(shù)字簽名是電子付費的一般要求,用于驗證所發(fā)資料的完整性和原發(fā)送方。數(shù)字簽名是用發(fā)送方密鑰對根據(jù)待發(fā)資料計算出的散列碼進(jìn)行加密而生成的。由于他人不知道發(fā)送方密鑰,所以對加密資料解密的接收方得到下述保證,即該資料是由所述發(fā)送方生成的,并且沒有改變。數(shù)字簽名所用算法的一個例子是RSA加密算法,這是一種根據(jù)私人密鑰和公開密鑰的加密系統(tǒng),也可用于對消息加密。
發(fā)明目的本發(fā)明的目的是解決上述問題。本發(fā)明的一個具體目的是,提供一種用移動站對一種表格或相應(yīng)信息簽字的新型方法和系統(tǒng)。在本文中,“表格”可以指具有各種內(nèi)容的多種類型的消息、專電或信息結(jié)構(gòu)。表格可以由對象型或軟件對象型信息組成,它們都可以按電子表格進(jìn)行處理。
本發(fā)明的另一個目的是,揭示一種實現(xiàn)商業(yè)交易的簡單方法,諸如利用移動站支付帳單和與銀行交易等,這是一種用本發(fā)明技術(shù)很容易實現(xiàn)的方法。
發(fā)明內(nèi)容
本發(fā)明涉及一種利用移動站或其它等效和相當(dāng)設(shè)備以保密方式對上述電子表格數(shù)字簽名的方法。在本方法中,待簽資料至少包括表格、表格標(biāo)識符、共享數(shù)據(jù),和/或表格所加實質(zhì)信息,待簽資料傳遞給移動站。待簽資料也可以由表格標(biāo)識符和與表格相關(guān)的實質(zhì)信息生成;例如,在銀行傳遞表格的情況下,可以由銀行傳遞表格的標(biāo)識符及其實質(zhì)字段(諸如付費者,收費者和金額字段)中的數(shù)據(jù)來生成待簽資料。
依照本發(fā)明,最好在向移動站傳遞資料之前根據(jù)待簽資料計算第一散列碼。將該散列碼與資料連接,以便與資料一起傳遞,由此允許散列碼幫助進(jìn)行驗證。在資料傳遞給移動站之后,在移動站對資料簽名,然后依照本發(fā)明通過對經(jīng)簽字的散列碼與簽名前由資料計算出的散列碼作比較,驗證經(jīng)簽名的被傳資料的可靠性和一致性。簽名還可以通過對實質(zhì)信息和散列碼兩者簽名來實現(xiàn),在該情況下,甚至可以保證通過移動站簽名的資料對應(yīng)于傳遞的供簽名資料。
在某些類型的應(yīng)用中,諸如付費應(yīng)用中,也可以將傳遞給移動站的資料傳遞給第二方,例如銀行,由第二方根據(jù)接收到的資料計算散列碼??梢詫υ谝苿诱局泻灻馁Y料進(jìn)一步加密,然后將加密后的簽名資料從移動站傳遞給第二方。第二方對加密信息解密,驗證簽名,根據(jù)從移動站接收到的資料計算第二散列碼,并將其與根據(jù)原始資料計算得到的第一散列碼作比較。如果第二方接受數(shù)字簽名,并且如果第一和第二散列碼彼此對應(yīng),那么銀行將接受通過移動站制作的簽名。銀行接受簽名后,將時間戳蓋在經(jīng)簽名的加密資料中,并把資料的簽名事務(wù)歸檔。
上述情況是銀行客戶對從銀行接收到的表格進(jìn)行簽名的過程??蛻艋蛞苿诱居脩艨梢耘c一自動付費機(jī)或等效裝置進(jìn)行本地通信。在該情況下,付費機(jī)向客戶發(fā)送付費同意表格。這時,客戶與付費機(jī)在本地交換消息,然后付費機(jī)再發(fā)送數(shù)字簽名數(shù)據(jù)。但是,付費機(jī)可以根據(jù)正在進(jìn)行的通信推斷,客戶已接受了提供給它的服務(wù)和付費表格。付費機(jī)可以按所需的付費方式在本地為客戶服務(wù),不必等待銀行同意。實踐中,該情形對應(yīng)于客戶在商店收銀機(jī)旁用現(xiàn)金卡對產(chǎn)品或服務(wù)付費的常規(guī)作法,商店為客戶提供產(chǎn)品和服務(wù),不需要接觸銀行以驗證付費的可靠性。
還可以在傳遞給移動站之前對資料加密。在該情況下,必須在簽名之前在移動站對資料解密。此作法可以確保只有所需的移動站將接收到待傳資料,并保證了信息的安全性。
可以用預(yù)先同意的表格疊置、消息結(jié)構(gòu)或任何信息結(jié)構(gòu)生成表格,為表格提供標(biāo)識符,在向移動站傳遞表格之前,將預(yù)先同意的實質(zhì)信息填入表格中。散列碼可以用例如散列函數(shù)來計算??梢杂霉_和私人密鑰方法對消息和/或表格進(jìn)行簽名和/或加密。
在本發(fā)明的一個較佳實施例中,在對資料簽名之前先將資料和/或其一部分呈現(xiàn)在移動站中。例如,可以呈現(xiàn)收費者、付費者、參考信息和可付金額。還可以要求移動站在向其傳遞資料之前以簽名模式起動。在實踐中,這意味著移動站用戶必須輸入另一個預(yù)定的PIN碼,用該PIN碼對移動站進(jìn)行配置,從而按預(yù)定簽名模式起動。由此,可以使用一種本地認(rèn)證。
本發(fā)明還涉及一種利用移動站按保密方式對電子表格數(shù)字簽名的系統(tǒng)。該系統(tǒng)最好包括付費機(jī);與付費機(jī)相連、用于生成待簽資料并將其傳遞給移動站的裝置,其中所述資料如上定義。在本文中,“付費機(jī)”指能夠通過電信網(wǎng)與諸如銀行、商店等服務(wù)提供者通信的任何本地的或在本地操作的自動機(jī)。
也可以在計算機(jī)中本地實現(xiàn)付費機(jī),該計算機(jī)例如通過互聯(lián)網(wǎng)與服務(wù)提供者通信,服務(wù)提供者通過互聯(lián)網(wǎng)提供產(chǎn)品和服務(wù)。在該情況下,用本地連接將待簽資料從計算機(jī)傳遞到移動站進(jìn)行簽名,或者直接從服務(wù)提供者自己的服務(wù)器到移動站而不使用本地計算機(jī)和本地連接。
依照本發(fā)明,付費機(jī)包括根據(jù)待簽資料計算第一散列碼的裝置。另外,移動站包括用于對傳遞給它的資料進(jìn)行簽名的簽名裝置。簽名裝置可以包括用于存儲簽名和加密所需算法和密鑰的存儲器,以及與存儲器相連并用于處理資料的處理器,它們實現(xiàn)了簽名和有可能的加密。另外,付費機(jī)包括通過對移動站中簽名得到的散列碼與簽名前根據(jù)資料計算得到的散列碼進(jìn)行比較來驗證經(jīng)簽名的被傳資料的可靠性。
系統(tǒng)還可以包括一服務(wù)器,它與付費機(jī)和/或移動站相連,并且由諸如銀行或信用卡公司等第二方控制。因此,這種服務(wù)器可以由例如銀行來維護(hù),并且可以用于實現(xiàn)銀行交易。服務(wù)器也可以包括用于驗證移動站所作數(shù)字簽名之可靠性的裝置,以及用于對服務(wù)器與付費機(jī)和/或移動機(jī)之間傳遞的資料進(jìn)行加密和/或解密的加密解密裝置。
服務(wù)器還可以包括用于對資料蓋時間戳的裝置,以及在簽名認(rèn)證后將資料之簽名事務(wù)歸檔的裝置。這些都可以用技術(shù)人員已知的方式來實現(xiàn),因此這里不作詳細(xì)描述。
與現(xiàn)有技術(shù)相比,本發(fā)明具有便于實現(xiàn)付費應(yīng)用、驗證事務(wù)等優(yōu)點。由于本發(fā)明,移動站可以可靠地用來數(shù)字簽名,并且可以在許多不同的應(yīng)用中包括一數(shù)字簽名。
以下參照附圖,通過幾種較佳實施例描述本發(fā)明,其中圖1示出了依照本發(fā)明的一個較佳系統(tǒng);
圖2示出了依照本發(fā)明的另一個較佳系統(tǒng);圖3是一流程圖,示出了本發(fā)明的一較佳實施例;圖4是一示意圖,示出了用本發(fā)明生成待簽字資料的一個較佳例子。
圖1所示系統(tǒng)包括本地付費機(jī)(LPM)2,和與之相連的用于生成待簽字資料的裝置,其中所述待簽字資料包括一種表格、其標(biāo)識符、共享數(shù)據(jù)和/或與之相關(guān)的實質(zhì)信息。另外,與之相連的裝置4將資料傳遞給移動站。相應(yīng)地,移動站包括移動站(MS)用來與付費機(jī)通信的裝置1。在一實施例中,裝置1和4是用藍(lán)牙技術(shù)實現(xiàn)的。關(guān)于藍(lán)牙技術(shù)的更詳細(xì)的描述可參見例如WWW網(wǎng)頁www.bluetooth.com。還可以使用其它已知的鏈路訪問協(xié)議,例如紅外接口等。
圖1所示系統(tǒng)還包括通過TCP/IP鏈路與付費機(jī)2相連的服務(wù)器8,在本例中,服務(wù)器8由銀行控制。服務(wù)器還包括用于驗證簽名可靠性的裝置9,在實踐中,這些裝置用于對接收到的加密消息解密并將其包含的數(shù)字簽名與接收到的用戶信息作比較。另外,服務(wù)器還包括對簽字資料蓋時間戳和在簽名認(rèn)證后將簽字事務(wù)歸檔的裝置11和12。付費機(jī)中也可以包括相應(yīng)的驗證裝置,在本例中,它們用標(biāo)號7表示。裝置7、11和12還可以具有通過例如TCP/IP網(wǎng)絡(luò)從通用密鑰管理服務(wù)器取得所需公開密鑰的特征。
在圖1所示的例子中,加密資料包括發(fā)票表格和由此計算得到的散列碼H1。在步驟1,加密資料從付費機(jī)2傳遞到移動站MS。在移動站,所述資料(即發(fā)票表格、收費者、付費者、付費金額和編號)被顯示在移動電話的顯示器(10)上,允許移動站用戶檢查他/她正在簽字的對象。然后,用戶利用移動站MS對資料和由此計算得到的散列碼H1簽字。在步驟2,將帶有數(shù)字簽字散列碼H1ds的資料傳遞給付費機(jī)2。可以用移動站用戶和付費機(jī)的公開與私人密鑰對付費機(jī)2和移動站MS之間傳輸?shù)南⒓用?。在付費機(jī)2驗證了簽名的可靠性后,在步驟3,付費機(jī)將結(jié)算消息發(fā)送給銀行。結(jié)算是銀行活動常用的一種作法,這里不作詳細(xì)描述。
現(xiàn)在參照圖2,該圖所示的系統(tǒng)與圖1對應(yīng),但本例系統(tǒng)的使用方法有些不同。首先,在步驟1,將付費機(jī)生成的資料(例如,表格)傳遞給銀行。然后,在步驟2,付費機(jī)根據(jù)資料計算出散列碼H1并將其傳遞給移動站簽名。該傳遞可以用本地鏈路,例如藍(lán)牙連接,來實現(xiàn)。在步驟3,移動站對接收到的消息進(jìn)行數(shù)字簽名,然后將經(jīng)簽字的且可能加密的資料發(fā)送給銀行。在銀行,將根據(jù)付費機(jī)的資料計算得的散列碼與從移動站接收到的、經(jīng)數(shù)字簽字的散列碼H1ds作比較。如果兩個散列碼匹配,那么同意簽字事務(wù)。隨后,利用服務(wù)器加蓋時間戳,將如此獲得的簽字事務(wù)歸檔。銀行還可以是諸如信用卡公司等一些其它相應(yīng)服務(wù)的提供者,在該情況下,除了上述步驟外,還要把對簽名可靠性的確認(rèn)發(fā)送給銀行、付費機(jī)或其它服務(wù)提供者。在本例中,在確認(rèn)簽名后,信用卡公司負(fù)責(zé)交易。
參照圖3,描述本發(fā)明的一較佳實施例。首先,在方框31,生成將由移動站簽字的資料。在方框32,根據(jù)所述資料計算第一散列碼H1。接著在方框45,檢查是否必須在傳輸之前對資料加密。如果必須加密,那么過程進(jìn)到方框46,用移動站用戶的公開密鑰對資料加密。加密后,過程進(jìn)到方框33。如果不必對資料加密,那么過程直接進(jìn)到方框33,將資料傳遞給移動站。接著,過程進(jìn)到方框34,用戶檢查移動站顯示器上呈現(xiàn)的資料或其中的實質(zhì)信息,即例如檢查發(fā)票中收費者和付費金額是否正確。如果在方框35,付費者同意,那么過程進(jìn)到方框37,對資料簽字。如果在方框35,付費者不同意,那么過程進(jìn)到方框36,將拒絕消息發(fā)送給資料的發(fā)送者,例如付費機(jī)。然后過程終止。反之,過程從方框37進(jìn)到方框38。在方框38,由數(shù)字簽名和散列碼并且可能由接收到的資料生成數(shù)據(jù)集合體,它包括例如表格中所含的實質(zhì)信息。此后,在方框39,將數(shù)據(jù)集合體傳遞給付費機(jī),并且過程進(jìn)到方框40。在方框40,將根據(jù)所傳資料計算得的散列碼與經(jīng)簽字的散列碼比較。如果散列碼匹配,那么在方框42接收簽名,進(jìn)一步完成所規(guī)定的動作。
如果在方框40,散列碼不匹配,那么重復(fù)上述過程。此時,可以用計數(shù)器檢查資料發(fā)送次數(shù)是否超過預(yù)先允許的次數(shù)。即,過程從方框40進(jìn)到方框43,對計數(shù)器的值增1,即k=k+1。然后,過程進(jìn)到方框44,檢查計數(shù)器的值,該值表示資料向移動站發(fā)送的次數(shù)。如果該值超過預(yù)先同意的極限,那么過程進(jìn)到方框42,向移動站發(fā)送拒絕消息。如果計數(shù)器的值小于預(yù)先同意的極限,那么過程返回方框31,重復(fù)上述處理過程。
圖4示出了生成并對表格或資料數(shù)字簽字的較佳方式。向移動站傳遞的資料包括表格標(biāo)識符(方框51),所有使用的表格具有專用的標(biāo)識符。與表格標(biāo)識符相關(guān)的是表格模板(方框52);根據(jù)這些,應(yīng)用程序、客戶和應(yīng)用程序的提供者都確切知道各情況下正在使用的表格類型。當(dāng)生成資料時,如圖4所示,按順序鏈接表格標(biāo)識符和表格模板。由此計算出第一散列碼(方框54)。
在許多情況下,在將表格傳遞給移動站簽名之前就將表格數(shù)據(jù)(方框53)加至該表格。在本例中,將表格標(biāo)識符和表格數(shù)據(jù)按圖4所示的順序鏈接,然后將由此獲得的位序列與16個隨機(jī)字節(jié)(方框55)鏈接。最后將來自方框54的第一散列碼與這些數(shù)據(jù)合并。
到此為止,己準(zhǔn)備好向移動站傳遞的資料,由該資料計算出第二散列碼(方框56)。在實踐中,第二散列碼是在移動站計算的,并將第二散列碼加至待簽消息(方框57)。同樣,將移動站用戶已按需要用個人信息作過補充的用戶數(shù)據(jù)加至待簽消息。最好此待簽消息還加有來自方框55的16個隨機(jī)字節(jié),從而可以驗證由傳遞資料方和移動站用戶生成的簽字消息的可靠性。在隨機(jī)字節(jié)后面,按順序設(shè)置用戶數(shù)據(jù)和第二散列碼。在用戶移動站對消息進(jìn)行數(shù)字簽名。然后,再將消息傳送給第二方,給付費機(jī)或者資料源。
總之,進(jìn)一步重申本發(fā)明旨在實現(xiàn)一種方法和系統(tǒng),其中例示的用戶、服務(wù)提供者和銀行能夠驗證數(shù)字簽名的可靠性。其目的是將待簽資料與一些用戶數(shù)據(jù)、格式和用戶所作的數(shù)字簽名結(jié)合在一起。換句話說,可以將簽名與某種鏈結(jié)合。在實踐中,所述鏈對應(yīng)于目前用戶用自己的手簽名來確認(rèn)買賣所使用的鏈。同樣,此方法的目的是按立法者的需要和意圖以一種可靠的方法識別簽名人。
本發(fā)明不限于上述例子,在權(quán)利要求書限定的保護(hù)范圍內(nèi)可以有許多改變。
權(quán)利要求
1.一種利用移動站按保密方式對電子表格數(shù)字簽名的方法,所述方法包括以下步驟將待簽資料傳遞給移動站,所述資料包括表格、表格標(biāo)識符、共享信息和/或表格所加實質(zhì)信息,其特征在于,由待簽資料計算出第一散列碼(H1);將散列碼加至所述資料,以便傳遞給移動站;利用移動站對傳遞給移動站的資料進(jìn)行數(shù)字簽名;將經(jīng)簽字的散列碼與簽名前由資料計算出的散列碼作比較,驗證經(jīng)簽名的被傳資料的可靠性。
2.如權(quán)利要求1所述的方法,其特征在于,將傳遞給移動站進(jìn)行簽名的資料傳遞給第二方,并且將經(jīng)簽名的資料也傳遞給第二方,第二方驗證簽名的可靠性。
3.如權(quán)利要求1或2所述的方法,其特征在于,在移動站和第二方之間作傳遞之前對資料加密,并且在對資料作諸如簽名和可靠性驗證等任何處理之前對加密資料解密。
4.如權(quán)利要求1-3中任何一項所述的方法,其特征在于,用預(yù)先同意的且配備了標(biāo)識符的表格模板生成所述表格,在傳遞給移動站之前將實質(zhì)信息填入表格模板中。
5.如權(quán)利要求1-4中任何一項所述的方法,其特征在于,用散列函數(shù)生成散列碼。
6.如權(quán)利要求1-5中任何一項所述的方法,其特征在于,用公開和私人密鑰方法對消息簽名和/或加密。
7.如權(quán)利要求1-6中任何一項所述的方法,其特征在于,在對資料簽名之前,將資料和/或其一部分呈現(xiàn)在移動站中。
8.如權(quán)利要求1-7中任何一項所述的方法,其特征在于,在將資料傳遞到移動站之前,以簽名模式起動移動站。
9.如權(quán)利要求1-8中任何一項所述的方法,其特征在于,對資料蓋時間戳,并且在簽名認(rèn)證后將資料的簽名事務(wù)歸檔。
10.一種利用移動站(MS)按保密方式對電子表格數(shù)字簽名的系統(tǒng),所述系統(tǒng)包括付費機(jī)(2);與付費機(jī)相連、用于生成待簽資料的裝置(3),所述資料包括表格、表格標(biāo)識符、共享數(shù)據(jù)和/或表格所加實質(zhì)信息;與付費機(jī)相連、用于向移動站(MS)傳遞資料的裝置(4);其特征在于,付費機(jī)包括用于根據(jù)待簽資料計算第一散列碼(H1)的裝置(5);移動站包括用于對傳遞給它的資料簽名的簽名裝置(6);付費機(jī)包括通過對經(jīng)簽名散列碼(H1ds)與簽名前根據(jù)資料計算得的散列碼(H1)作比較來驗證經(jīng)簽名的被傳資料之可靠性的裝置(7)。
11.如權(quán)利要求10所述的系統(tǒng),其特征在于,所述系統(tǒng)包括服務(wù)器(8),它與付費機(jī)(2)和移動站(MS)相連,由第三方控制;移動站包括對簽名資料加密的裝置。
12.如權(quán)利要求10或11所述的系統(tǒng),其特征在于,服務(wù)器(8)包括用于驗證數(shù)字簽名可靠性的裝置(9)。
13.如權(quán)利要求10-12中任何一項所述的系統(tǒng),其特征在于,移動站包括在對資料簽名之前將資料和/或其一部分呈現(xiàn)在移動站中的裝置(10)。
14.如權(quán)利要求10-13中任何一項所述的系統(tǒng),其特征在于,服務(wù)器(8)包括對資料蓋時間戳的裝置(11),和在簽名認(rèn)證后將資料之簽名事務(wù)歸檔的裝置(12)。
全文摘要
一種用移動站按保密方式對電子表格數(shù)字簽名的方法。在該方法中,向移動站傳遞待簽資料,其中待簽資料包括表格、表格標(biāo)識符、共享信息和/或表格所加實質(zhì)信息。根據(jù)資料計算出第一散列碼(H1)。將散列碼加至資料,以傳遞給移動站。用移動站對傳遞給移動站的資料數(shù)字簽名。通過對經(jīng)簽名的散列碼與簽名前根據(jù)資料計算得到的散列碼作比較驗證經(jīng)簽名的被傳資料的可靠性。由于本發(fā)明,在各種應(yīng)用中可以安全地使用移動站進(jìn)行數(shù)字簽名。
文檔編號H04L9/32GK1339207SQ99816175
公開日2002年3月6日 申請日期1999年12月15日 優(yōu)先權(quán)日1998年12月16日
發(fā)明者H·瓦它嫩 申請人:斯麥脫信托有限公司