欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

用來俘獲、存儲、傳送和認(rèn)證手寫簽名的方法和系統(tǒng)的制作方法

文檔序號:6662527閱讀:588來源:國知局
專利名稱:用來俘獲、存儲、傳送和認(rèn)證手寫簽名的方法和系統(tǒng)的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及以電子格式存儲手寫簽名的方法和系統(tǒng),準(zhǔn)確地說,涉及一種能夠在多個平臺上驗證電子存儲的手寫簽名和有關(guān)文件的方法和系統(tǒng)。
本專利文件公開的一部份包含受到版權(quán)保護(hù)的材料。當(dāng)出現(xiàn)在專利商標(biāo)局、專利文件或資料中時,版權(quán)所有人不反對與專利文件或?qū)@_有關(guān)的任何人員進(jìn)行傳真復(fù)制,然而在其他任何方面都保留全部版權(quán)。
許多計算機系統(tǒng),無論是固定的還是可攜帶的,都設(shè)計成用戶可以利用筆或數(shù)字化儀輸入數(shù)據(jù)。已有能夠把手寫體翻譯成所識別的標(biāo)準(zhǔn)文本的軟件。已有許多能夠利用筆輸入的應(yīng)用程序。筆輸入有利于那些對計算機鍵盤不熟悉或不能熟練使用鍵盤的人員使用計算機。此外,通過使用基于筆的計算機和以數(shù)字形式存儲與傳送信息,獲得了重要的經(jīng)濟(jì)效益-減少或消除了紙張的使用。
數(shù)字化儀一般對筆尖的位置每秒取樣約一百次,并且對七十分之一英寸的運動都很敏感。因而,能夠非常準(zhǔn)確地記錄人手的運動。計算機簽名驗證不僅通過分析簽名的可見形狀而且還通過分析諸如速度和節(jié)奏之類的動態(tài)狀況來利用這一特點。
存在能采用基于筆的輸入(如手寫簽名)、確定基于筆的輸入的基本特征,并以電子格式表示基于筆的輸入的特征的方法。還存在能判定電子格式的手寫簽名是否是同一個人的方法。例如,參見美國專利No.5,109,426(英國申請No.9024383.3)、美國專利No.4,495,644和英國申請No.1480066,它們作為本申請的參考資料。
簽名驗證對計算機安全性做出了非常重要的貢獻(xiàn),因為所有其他的安全性機制都取決于一個人所知道的(例如口令)或擁有的(例如,機械鑰匙)。而根據(jù)不能被偷去或泄密的生理行為的一個方面,簽名驗證在用戶的真實身份方面提供了可靠證據(jù)。
至今,主要把簽名驗證用于訪問安全性的地方,其目的是在讓用戶訪問計算機系統(tǒng)的全部或一部分之前驗證個人的身份。
然而,通常采用寫在一張紙上的簽名來證實簽署的合同或遺囑中上下文的意圖,并在簽署匯款單時作為防止拒付的保證。
當(dāng)今在許多地方,盡管可以利用計算機化的文件,但仍依靠紙上的文件,因為對簽名有法律或文化的要求。
因而,情況經(jīng)常是對于同樣的數(shù)字或電子格式的文件,最好有一份硬拷貝文件。例如,在大多數(shù)管轄區(qū),法律都要求轉(zhuǎn)讓土地的遺囑或合同是書寫的,并且要包括文件諸方和證人的原始手寫簽名。當(dāng)文件是電子形式的時,因為操作文件的內(nèi)容比較容易,所以經(jīng)常不能肯定后來看到的文件是否與原始建立的文件相同。盡管使用筆輸入設(shè)備所俘獲的手寫簽名能包括在這類文件的文本中,但根本無法肯定后來看到的文件就是原前“電子”簽署的文件。
因此,希望把手寫簽名俘獲和驗證科學(xué)用于比安全性訪問機理更廣的上下文中。特別是,在證實意圖的地方(例如,簽署法律文件時)需要一種可靠簽名俘獲和驗證的方法,該方法使簽署的文件與簽名人的簽名有關(guān)。
現(xiàn)有的系統(tǒng)集中在,是否在產(chǎn)生簽名之后簽名的電子版本已被操作,以及是否與電子文件有關(guān)的簽名的電子版本在相關(guān)的處理時被俘獲。例如,授予Kapp等人的美國專利No.5,195,133描述了一種機制,該機制試圖保證主旨在于同意商業(yè)契約的簽名在有疑問的處理時將被俘獲并且不是在其他時刻獲得的并混進(jìn)處理的數(shù)字記錄中的真實簽名。Kapp等人專利的設(shè)備建立處理的數(shù)字記錄,在該處理時俘獲簽名的數(shù)字表示,并隨后使用該處理的數(shù)字記錄,加密簽名的數(shù)字表示。這種方法的目的在于保證簽名的表示是在所說的制成時刻制成的。然而,這樣一種系統(tǒng)不能驗證使用數(shù)字俘獲的手寫簽名所簽署的文件是否已在后來被修改。此外,諸如Kapp等人的系統(tǒng)需要一種處理,并且在簽名要在與處理無關(guān)的環(huán)境中被俘獲和驗證的場合不能操作。
現(xiàn)有的手寫體俘獲和驗證系統(tǒng)設(shè)計成在單個平臺上使用。經(jīng)常以這樣一種方式編碼手寫簽名,從而使其他的應(yīng)用程序不能利用該手寫簽名的電子形式。由于當(dāng)今先進(jìn)的計算機與計算機通信(包括在互聯(lián)網(wǎng)絡(luò)上的通信),所以許多應(yīng)用程序不要求在同一機器上或在簽名動作本身的同一時刻進(jìn)行驗證。例如,要求系統(tǒng)能使手寫簽名在一個裝置上被電子地俘獲,存儲,并電子地傳輸?shù)搅硪粋€計算機平臺上的另一個裝置,以后再驗證。因此,需要一種綜合的跨平臺簽名驗證系統(tǒng)。特別是,需要一種不預(yù)先假定任何特定支承硬件、并且設(shè)計成能跨過不同類型計算機和操作系統(tǒng)移動的系統(tǒng)。
許多商業(yè)和政府部門經(jīng)常要求人們簽署文件。例如,當(dāng)用支票或信用卡購買物品時,當(dāng)簽署汽車租賃協(xié)議時。當(dāng)申請駕駛執(zhí)照或其他政府執(zhí)照時,在選舉日或考試中驗證參加人時。要求簽名的人常常不認(rèn)識被要求簽名的人,并且沒有讓簽名人的真正簽名與被要求的簽名進(jìn)行比較。此外,即使真實的簽名可用于比較,要求簽名的人經(jīng)常不能熟練地判定兩個簽名是否來自同一個人。因此,需要一種系統(tǒng),該系統(tǒng)使簽名在一個地方被電子地俘獲,電子地傳輸?shù)揭呀?jīng)記錄了許多個人經(jīng)驗證的簽名特點的中央位置,并返回簽名人身份的指示。
在某些情形下,已經(jīng)簽署一份合同或法律文件的人試圖通過在以后聲稱他或她不理解簽名文件的實質(zhì)或者聲稱他或她在簽署該文件時被誤導(dǎo),來終結(jié)他的或她的職責(zé)。此外,在多窗口計算環(huán)境中,以電子方式簽署文件的個人可能不能確認(rèn)他或她實際簽署了存儲在計算機上的哪個文件。如果在簽名時記錄(可在以后檢索)簽名人在簽署文件時被告知了什么,以及在簽名之前被警告了什么,如正在簽署的文件的類別、屬性和重要程度。
總之,需要這樣一種系統(tǒng),通過使手寫簽名俘獲和驗證技術(shù)用于需要簽名俘獲的各種上下文中,來增加利用這些基于筆的輸入裝置的可用性。
本發(fā)明提供了一種綜合的方法和系統(tǒng),用來電子俘獲手寫簽名、以電子形式存儲手寫簽名、電子傳送所捕獲的手寫簽名、以及認(rèn)證所俘獲的手寫簽名。
當(dāng)用在這里時,術(shù)語“簽名”是指人所做的表示人的意向或贊同的手寫標(biāo)記。它包括通常被認(rèn)為是一個人的親筆的東西。術(shù)語“簽署”具有相應(yīng)的意思,并且包括被具有現(xiàn)有意圖的當(dāng)事人所簽發(fā)的或通過的,以認(rèn)證手跡的任何符號,此處這種手跡可以是電子形式的。應(yīng)該注意到,這里使用的術(shù)語“簽名”不包括在計算機科學(xué)領(lǐng)域已成為已知的“數(shù)字簽名”,“數(shù)字簽名”即是用來建立產(chǎn)生或發(fā)送電子文件的人的身份的電子碼?!皵?shù)字簽名”具有替換手寫簽名的作用,把秘密的字母數(shù)字“密鑰”提供給已知的個人,隨后必須保密。與此不同,本發(fā)明的目的在于電子地俘獲和操作個人的手寫簽名。
在代表性的實施例中,本發(fā)明利用已知的基于筆的硬件來電子地俘獲手寫簽名。
本發(fā)明的代表性實施例包括一個簽名俘獲模塊、一個簽名驗證模塊以及一個模板數(shù)據(jù)庫。
該簽名俘獲模塊俘獲人的簽名,并創(chuàng)建一個代表(或記錄)簽名行為的簽名包(Signature envelope)。該簽名包以電子形式存儲某些與俘獲的簽名的手跡有關(guān)的數(shù)據(jù),例如在基于筆的計算機的計算機屏幕上。一般地,所謂的簽名俘獲模塊由一個客戶應(yīng)用程序所控制并與之通信。
例如,客戶應(yīng)用程序可以要求一個用于文件的手寫簽名??蛻魬?yīng)用程序調(diào)用簽名俘獲模塊,該模塊把一個簽名俘獲窗口顯示在屏幕上并要求用戶把他的或她的簽名(例如,用一支電子指示筆)寫到計算機屏幕上的這個窗口中。該客戶應(yīng)用程序可以把簽署文件的標(biāo)志和/或簽署文件的原因(或其重要性)提供給簽名俘獲模塊。這一信息,稱作重要性提示,能通過簽名俘獲模塊在簽名俘獲窗口中顯示給用戶。這就使用戶確認(rèn)正在簽署的文件是用戶認(rèn)為他或她正在簽署的文件,此外還警告用戶簽署行為的原因和重要性。
當(dāng)用戶簽署文件時,(例如,通過在屏幕上移動筆或指示筆),出現(xiàn)一個跟蹤指示筆運動的圖像。因而,把用戶的簽名(或手跡)顯示給用戶。在簽署時,簽名俘獲模塊測量簽署動作的某些特征,例如,象曲線、圖、線、點交叉的大小、形狀和相對位置及所寫簽名的其他特征,以及透露特征的相對速度。這些測量可以稱作“簽署動作統(tǒng)計”。
在本發(fā)明的代表性實施例中,簽名俘獲模塊可以創(chuàng)建一個所簽署文件的校驗和。該文件校驗和在以后能用來驗證聲稱已經(jīng)簽署的文件就是所簽署的文件,而且對該文件沒有進(jìn)行任何變更。
在代表性實施例中,文件校驗和不是原始文件的完整陳述,從文件校驗和不能導(dǎo)出原始文件。文件校驗和載有文件的數(shù)學(xué)關(guān)系。如果文件被改變,那么在數(shù)學(xué)上就不能與該校驗和匹配。
在另一個實施例中,除了文件校驗和外,或作為另一種選擇,可以建立所簽署文件的壓縮表示。
簽名俘獲模塊對表示內(nèi)部別名、簽署動作統(tǒng)計、簽字的時間和日期,簽名人聲稱的身份、出現(xiàn)在重要性提示中的詞、文件校驗和的數(shù)據(jù),以及可選擇的表示簽名的圖形圖像的數(shù)據(jù)進(jìn)行加密。簽名俘獲模塊創(chuàng)建一個包括這種加密數(shù)據(jù)的簽名包。在代表性的實施例中,簽名包是一個加密的數(shù)據(jù)串。因此,簽名包是一種表示手寫動作的可靠方法。
根據(jù)該代表性實施例,客戶應(yīng)用程序不能解密或改變包含在簽名包中的信息。
簽名驗證模塊報告具體簽名是真實的概率。簽名驗證模塊可以使用模板數(shù)據(jù)庫。模板數(shù)據(jù)庫存儲多個模板。每個模板包括用于一個人的簽署動作統(tǒng)計和這個人的已知身份。每個模板都是在受控的登記過程期間創(chuàng)建的,并存儲在模板數(shù)據(jù)庫中以便以后訪問。
在代表性的實施例中,簽名驗證模塊和模板數(shù)據(jù)庫可以位于遠(yuǎn)程位置,可由多個客戶應(yīng)用程序訪問。例如,簽名驗證模塊和模板數(shù)據(jù)庫可以位于中央獨立的簽名驗證局處。在另一個實施例中,簽名驗證模塊和模板數(shù)據(jù)庫位于本地系統(tǒng)上,必要時可由客戶應(yīng)用程序訪問。
當(dāng)客戶應(yīng)用程序希望驗證簽名時,客戶應(yīng)用程序就把代表要驗證的簽名的簽名包轉(zhuǎn)到簽名驗證模塊。應(yīng)該注意到,每個客戶應(yīng)用程序可能已經(jīng)驗證了由該客戶應(yīng)用程序創(chuàng)建的、或由其他的應(yīng)用程序在早先創(chuàng)建的簽名。
例如,簽名俘獲模塊可以駐留在多臺計算機上,例如,象多臺可攜帶的基于筆的計算機,而簽名驗證模塊可以駐留在單個的主機上??蓴y帶計算機在所有時間都可以俘獲多個簽名(并由此產(chǎn)生多個簽名包),并把他們發(fā)送給主機以便驗證。
當(dāng)把一個具體的簽名包提供給簽名驗證模塊時,該模塊能直接估計該簽名包是否是屬于在簽名包中識別的用戶簽名的真實手跡的產(chǎn)物。該簽名驗證模塊能解密該簽名包,并把其中的信息與存儲在模板數(shù)據(jù)庫中的簽名模板相比較。根據(jù)這一比較,簽名驗證模塊能確定一個簽名匹配百分比(例如78%),并把這一百分比和存儲在簽名包中的其他信息報告給客戶應(yīng)用程序。
因此,本發(fā)明能夠使電子俘獲的手寫簽名用于與常規(guī)紙張簽名相同的上下文中。根據(jù)本發(fā)明俘獲的簽名通過使用計算機技術(shù)而有利于檢測和防止偽造和欺騙,從而超過了常規(guī)簽名的“性能”。
本發(fā)明設(shè)計成可結(jié)合現(xiàn)有的軟件程序使用,例如,作為由其他計算機程序激活的軟件組成部分。本發(fā)明可以用作允許用戶訪問計算機網(wǎng)絡(luò)的安全性程序的一部分,用作字處理程序的一部分、或用作電子郵件(e-mail)程序的一部分(例如,驗證電子郵件信息發(fā)送人的身份)。本發(fā)明特別用于與簽名俘獲和驗證相關(guān)的處理。(正如在這里使用的那樣,利用本發(fā)明模塊服務(wù)的程序稱為“客戶程序”。)因而,客戶程序可以使用本發(fā)明俘獲用于各類目的的簽各。本發(fā)明能使指示同意的常規(guī)方式(手寫簽名)被推進(jìn)到新的技術(shù)環(huán)境中,同時避免了對紙張的需要。例如,可以使本發(fā)明的簽名俘獲模塊駐留在裝有數(shù)字化儀的有線電視轉(zhuǎn)換器單元(有時稱作“頂置盒”(SetHtop box))。從而使用本發(fā)明能使觀眾授權(quán)提供各種物品和服務(wù)。這樣俘獲的簽名可以沿線送回到供應(yīng)者的系統(tǒng),在這里可以在發(fā)貨之前提交給簽名驗證模塊,然后再作為事件的記錄存檔。這種方法的一個優(yōu)點在于可以適于家庭成員的個別需要(例如,父母、孩子等),而不要求他們帶有和拿有個人卡,或向他們提供“秘密”號碼等。通過在裝有適當(dāng)觸敏數(shù)字化儀,例如,在其相反側(cè)的手持遙控單元的范圍內(nèi)實現(xiàn)簽名俘獲模塊,能容易地提高本發(fā)明的性能。
另一個例子是在汽車交易市場申請貸款購買車輛。通過簽名俘獲模塊能夠俘獲手寫的簽名。然后把生成的簽名包提交給獨立的簽名驗證局。隨后,在允許申請人擁有一輛車輛之前,可以把返回的驗證記分算入整個信用評估中。
還可以俘獲既不要求也不可能進(jìn)行以后驗證的簽名,這里個人向簽名接收器提供的簽名是第一個樣品。這些例子包括由新娘和新郎簽名的結(jié)婚證誓詞、客人簽署的旅館登記、及接收人簽署的包裹遞送單。
因此,例如,能在允許訪問遠(yuǎn)程計算機系統(tǒng)之前,把簽名傳輸?shù)接脕眚炞C的遠(yuǎn)程場合;或者可以簡單地把簽名儲存在計算機檔案中,作為一個具體人批準(zhǔn)了一個具體文件或處理的記錄;或者為了決定是否允許用戶訪問一個具體的電子文件,可能希望立即驗證簽名。所以,本發(fā)明為客戶程序提供了大范圍的功能。
本發(fā)明不允許簽名數(shù)據(jù)(特別是簽名包)受欺騙的誤用??蛻舫绦虺约用苄问酵?,不能訪問簽名數(shù)據(jù),也不能獲得可能是有助于未來的偽造者的材料的信息。
本發(fā)明的獨特安全性特征在于特征抽取是在俘獲完成時進(jìn)行的,而不是把原始簽名數(shù)據(jù)傳輸給檢驗機(即,不允許簽名俘獲模塊把原始簽名數(shù)據(jù)傳輸給簽名驗證模塊)。原始簽名數(shù)據(jù),在代表性的實施例中,不存儲在簽名包中,而且在任何階段對客戶程序都是不可用的。這就使得通過檢驗簽名包重新創(chuàng)建原始簽名數(shù)據(jù)并在以后把該原始簽名數(shù)據(jù)重新注入系統(tǒng)是不可能的。這還減少了在驗證之前要傳輸或存檔的信息量。
本發(fā)明可以用來幫助檢測電子文件的未授權(quán)修改。如上所述,從組成文件的字符碼計算出文件校驗和,并把該校驗和作為簽名包的部分遠(yuǎn)離這一文件存儲。由修改的文件得到的文件校驗和是不同的,因而能檢測更改。本發(fā)明使用一種先進(jìn)的求校驗和的方法把簽名包捆綁在文件上,以便支持一種完全的電子隱喻,就好象墨水干在了紙上。與重要性提示一起,這有助于為每個簽字動作保持單一的預(yù)期用途,從而使在一個文件上提交的簽名不能用在另一個文件上。


圖1是方塊圖,表明根據(jù)本發(fā)明的一般系統(tǒng)構(gòu)造。
圖2是方塊圖,表示所用的根據(jù)本發(fā)明的一般系統(tǒng)構(gòu)造,其中在一個平臺上俘獲簽名而在一個第二平臺上驗證。
圖3表示一個用來俘獲手寫簽名的窗口和一個有重要性提示的例子。
圖3A表示有重要性提示的另一個例子。
圖4是簽名包壽命周期的流程圖。
圖5是流程圖,表示在一個簽名俘獲過程中的一般步驟。
圖6是流程圖,表示用于本發(fā)明的模板軟件對象的一般壽命周期。
圖7是流程圖,表示在模板登記過程中的一般步驟。
圖8是本發(fā)明的對象的對象關(guān)系圖。
圖9是表示代表一個人的軟件對象的壽命周期的示意圖。
現(xiàn)在轉(zhuǎn)向附圖,先從圖1開始,這里以方塊圖的形式表示利用本發(fā)明的組或部分的一個典型系統(tǒng)。
圖1表示一種結(jié)構(gòu),其中在同一裝置上完成簽名俘獲和驗證功能。一個客戶應(yīng)用程序2請求俘獲簽名??蛻魬?yīng)用程序把要求的信息呈交給一個簽名俘獲模塊4(也稱作簽名俘獲服務(wù)),模塊4又要求用戶使用適當(dāng)?shù)挠布b置,例如,象筆/數(shù)字化儀和顯示器8的組合,簽上他的或她的簽名。簽名俘獲模塊4創(chuàng)建一個簽名包10,正如在下文中詳細(xì)解釋的那樣,并且把簽名包轉(zhuǎn)到(或使之可用)客戶應(yīng)用程序2。
當(dāng)客戶應(yīng)用程序2希望驗證簽名時,就把簽名包10轉(zhuǎn)到一個簽名驗證模塊6(也稱作簽名驗證服務(wù))。簽名驗證模塊6訪問一個包含簽名信息和與簽名的“所有人”有關(guān)的信息的各模板的模板數(shù)據(jù)庫(也稱作簽名數(shù)據(jù)庫)12,并把簽名匹配百分比返給客戶應(yīng)用程序2。
圖2表示一種結(jié)構(gòu),其中在裝有筆的計算機上俘獲簽名,但在一個遠(yuǎn)程系統(tǒng)上驗證。在圖2中,有兩上客戶應(yīng)用程序2a和2b。在這個實施例中,客戶應(yīng)用程序2a駐留在一臺裝有筆的計算機上??蛻魬?yīng)用程序2a請求俘獲簽名。簽名俘獲模塊4俘獲簽名,并把一個簽名包10返給客戶應(yīng)用程序2a??梢园堰@一簽名包10傳送到其他的客戶應(yīng)用程序,例如,客戶應(yīng)用程序2b。客戶應(yīng)用程序2b可能希望具有一個由驗證的簽名包10代表的簽名。如果是這樣,則客戶應(yīng)用程序2b把簽名包10轉(zhuǎn)給簽名驗證模塊6,簽名驗證模塊6驗證該簽名。
應(yīng)該注意到,本發(fā)明的開放式構(gòu)造可以供多種變化的結(jié)構(gòu)之用。例如,簽名驗證模塊6和模板數(shù)據(jù)庫12可以駐留在單一的計算機系統(tǒng)上。另外,他們可以是駐留在不同平臺上的簽名驗證模塊6,都能夠訪問位于遠(yuǎn)程的模板數(shù)據(jù)庫12。
簽名俘獲模塊4和簽名驗證模塊6利用一組API(應(yīng)用程序接口)使簽名俘獲和驗證并入多個不同的應(yīng)用程序中,例如,2a和2b。應(yīng)用程序能確定用于每個簽名的上下文和用于簽名驗證閾值的標(biāo)準(zhǔn)。
在代表性的實施例中,本發(fā)明是在國際商用機器公司(IBM)用于OS/2(帶有C++接口)的筆上和微軟公司用于筆計算(帶有C++和可視基本接口)的Windows上實現(xiàn)的。簽名俘獲模塊4和簽名驗證模塊6設(shè)計成可并入其他的計算機程序或者由其他的計算機程序激活。因而應(yīng)該認(rèn)為他們是自包含的軟件組成部分。
在代表性的實施例中,簽名俘獲模塊4要求既可用圖形顯示裝置又可用數(shù)字化儀。在用于筆計算的Windows和用于OS/2筆的情況下,可以使用由操作系統(tǒng)支持的任何圖形顯示裝置,例如,Wacom、Calcomp、Kurta等。此外,計算機處理器可以是支持這些操作系統(tǒng)的任何一個的任何基于筆的計算機,例如,象Compaq的Concerto計算機或IBM的P系列Thinkpad計算機。
簽名驗證模塊6不需要專用硬件,并且可以在任何計算機操作系統(tǒng)的條件下實施,在代表性的實施例中,計算機操作系統(tǒng)支持C++編譯程序或交叉編譯程序。
可以認(rèn)為本發(fā)明具有三個可分離的子系統(tǒng),即a、簽名俘獲模塊4,用來記錄簽字動作和創(chuàng)建簽名包10;b、簽名驗證模塊6,用來相對于個人的簽名概貌,即,相對于“模板”,測量一個簽名包;以及c、模板數(shù)據(jù)庫12。
為了說明這三個子系統(tǒng)的用途,考慮一個簡單的、控制對計算機系統(tǒng)訪問的簽名驗證應(yīng)用程序。在這一實例中的客戶程序2希望俘獲簽名并隨后驗證它,以便接收與計算機用戶的身份有關(guān)的證據(jù)。在這種情況下,隨后的步驟是- 建立用戶聲明的身份。- 與簽署的時間和日期一起,俘獲他的簽名和適于該應(yīng)用程序的提示。- 用他的聲明身份,定位他的簽名模板。- 確定該簽名是否與該用戶的模板匹配。
在該三個子系統(tǒng)的范圍中可以把這些步驟描述成如下- 在建立了該用戶的聲明身份之后,構(gòu)造裝有這個用戶的標(biāo)識符的空簽名包10。- 使簽名俘獲模塊4把簽名數(shù)據(jù)以及時間和日期及簽名原因的文本表現(xiàn)一起收集進(jìn)簽名包10中。- 通過在模板數(shù)據(jù)庫12中的搜索,使簽名驗證模塊6找出與簽字人有關(guān)的模板,該簽字人的身份已存儲在簽名包10中。- 使簽名驗證模塊6相對于找到的模板驗證簽名包10。
在代表性實施例中,簽名驗證模塊6按如下工作。計算每次簽名測量之差(從簽名包10獲得)和平均值(從模板獲得),并除以這次測量的標(biāo)準(zhǔn)偏差,正如在登記期間計算的那樣。存儲最高的生成值,并且把所有值加起來并且平均。然后,通過兩個因數(shù)改變最高值和平均值的比例以給出可比較的值,并保持這些值的最大值。如果該最大值小于一個給定(較小)值M,則返回最大得分100。類似地,如果該最大值大于一不給定(較大)值,則返回最小得分。否則,從M+1上減去這一結(jié)果,并把差值乘以100,以給出包括在0至100范圍內(nèi)的一個值。然后,把這個值返回給客戶應(yīng)用程序2。
把得分返回給客戶應(yīng)用程序2就允許客戶應(yīng)用程序2判定,在對于具體處理的上下文中簽名是通過還是失敗。例如,如果簽署的文件是一份貸款1,000美元的文件,則應(yīng)用程序2可能要求75的得分或更高作為通過得分。然而,如果簽署的文件是從銀行帳戶提走200,000美元的提款單,那么客戶應(yīng)用程序2可能要求95的得分或更高作為通過得分。
利用這種結(jié)構(gòu),本發(fā)明使手寫簽名的俘獲和驗證發(fā)生在不同的平臺上。本發(fā)明創(chuàng)建了一種記錄簽名動作的可移植數(shù)據(jù)類型,并且該數(shù)據(jù)類型能夠連接(或“捆綁”)到一個文件上。
通過參考這三個子系統(tǒng)的特征、允許在他們上面進(jìn)行的操作、以及為其交互提供的機理,能夠更好地理解本發(fā)明。1.簽名包10可以認(rèn)為簽名包10是一個復(fù)雜的加密數(shù)據(jù)群,它代表簽字物理動作的數(shù)字記錄。
然而,不能認(rèn)為簽字動作是單純的物理動作實際上它不可能脫離上下文,如簽字人的意圖、日期和時間、簽署的文件等等。簽名包10還包含與這些基本的伴隨情況有關(guān)的數(shù)據(jù)。
在俘獲簽名之前,通常從客戶應(yīng)用程序2,提供給簽名俘獲模塊4如下信息- 簽字時用戶的意圖摘要(以一篇短文的形式)。這一摘要由簽名俘獲模塊4以清晰的方式在靠近計算機顯示器上顯示用戶簽名的區(qū)域顯示。這篇短文稱為“重要性提示”,因為它指明了簽字行為的重要性。例如,重要性提示可以讀作“我同意付給Geoge Beale 49.50美元”或“我同意把我的住房以23,000賣給Fred Denning”或“你正在簽署文件名稱為‘信’的文件,文件名Lef.wp”或“簽字同意貸款協(xié)議”;- 可選擇的,參考代表用戶要簽字的文件的計算機文件;- 是否應(yīng)該把簽名的可視表現(xiàn)存儲在簽名包10中;- 可選擇的,用于生成整體性校驗和的一個關(guān)鍵字。
當(dāng)開始簽名俘獲過程時,一個表或窗口20(類似于圖3中所示的)顯示在計算機屏幕上,并由簽名俘獲模塊4顯示重要性提示22。(在圖3中,重要性提示讀作“登記未完成-簽名登記”。這一重要性提示用于創(chuàng)建一個模板時的登記過程,在下文將更詳細(xì)地描述,并通知用戶他正在簽字創(chuàng)建一個模板。)用戶可以在任何時刻通過用他的筆輕敲顯示在表上的“取消”控制24激活它,選擇取消處理。
用戶也可以以類似的方式,通過激活一個“清除”控制26重新啟動簽名俘獲(例如,假設(shè)他的手臂被搖動。如果用戶激活一個“OK”控制28,那么就完成簽名俘獲,但受如下限制- 簽名必須用一定的時間完成;- 所畫的線的長度必須大于某一最小值;- 簽名數(shù)據(jù)必須呈現(xiàn)一定的復(fù)雜性;- 筆靜止不得超過2秒。
如果違犯了這些限制的任何一條,那么就向簽字人顯示一條信息,拒絕該簽名(就象用戶已經(jīng)操作了“清除”控制26一樣)并且系統(tǒng)準(zhǔn)備其本身以接收另一次簽名。
這時,簽名俘獲模塊4把如下信息存儲到簽名包10中- 簽字動作的日期和時間- 重要性提示- 簽字人聲明的身份- 其上俘獲簽名的機器的標(biāo)識- 代表啟動簽名俘獲的計算機程序的標(biāo)識符,即,客戶應(yīng)用程序2- 與簽名有關(guān)的測量和統(tǒng)計,例如,形狀、筆畫的數(shù)目、簽字所用的全部時間等- 可選擇的,由計算機文件或文檔計算出的校驗和,其標(biāo)準(zhǔn)被原始規(guī)定為俘獲的簽名與之有關(guān)計算機文件或文檔- 可選擇的,壓縮的向量形式的簽名圖像表示- 一個整體性較驗和在已經(jīng)俘獲簽名之后,本發(fā)明不允許對簽名包10進(jìn)行任何變動。在加密之前對保持在簽名包10中的數(shù)據(jù)求出校驗和,從而能檢測任何未經(jīng)授權(quán)的修改。
如在圖3A中所示,客戶應(yīng)用程序2可以向簽名俘獲模塊4提供一個簽署文件的標(biāo)識和/或簽署該文件的原因(或重要性)。這一信息就是重要性提示22。在該代表性的實施例中,在簽名俘獲窗20中向用戶顯示重要性提示22。這就使用戶確信簽署的文件是用戶認(rèn)為他或她正在簽署的文件,此外,還警告用戶注意原因和簽署行為的重要性。在該代表性的實施例中,重要性提示22存儲在簽名包10中。因而,重要性提示22能在以后階段由其他的應(yīng)用程序(這些程序可能正在其他的平臺上運行)檢索和顯示。如在圖3A中所示,簽署的文件是五頁的用戶貸款申請,其一部分顯示在窗口30中。通過客戶應(yīng)用程序2把簽署的文件名稱顯示在用于文件的名稱條32中。重要性提示22作“簽字同意貸款協(xié)定”。這里,客戶應(yīng)用程序2把文本“簽字同意貸款協(xié)定”提供給簽名俘獲模塊4-這個文本存儲在簽名包10中。圖3A中的簽名俘獲窗口20顯示在包含簽署文件的整個窗口30上。
當(dāng)客戶應(yīng)用程序2請求時,與簽名包10有關(guān),本發(fā)明(在代表性實施例中,簽名驗證模塊6將完成這些功能)提供了如下功能- 公開簽字人聲明的身份- 公開簽字行為的日期和時間- 如果在俘獲簽名時使用求文件校驗和的選擇,則給出指示,代表一個文件的計算機文件是否與原始求過校驗和的那個文件一樣- 如果在俘獲簽名時使用存儲簽名的可視表現(xiàn)的選擇,則有助于把簽名顯示在計算機的屏幕上- 如果在俘獲簽名時使用存儲簽名的可視表現(xiàn)的選擇,則有助于以位圖形式產(chǎn)生含有可視表現(xiàn)的標(biāo)準(zhǔn)格式磁盤文件- 相對于一個模板驗證。
另外,本發(fā)明能完成與簽名包10有關(guān)的如下功能- 從存儲器編碼成數(shù)據(jù)塊,以便存檔或傳輸?shù)揭粋€遠(yuǎn)程系統(tǒng)- 由從檔案檢索的或經(jīng)電子數(shù)據(jù)傳輸?shù)臄?shù)據(jù)塊,在存儲器中建立簽名包10。
從存儲器檢索的數(shù)據(jù)塊是一個加密的存儲塊,該存儲塊包含有足夠的數(shù)據(jù),以便重新建立一個與原始寫出的對象相同的對象。實際上,該數(shù)據(jù)塊是一個加密的,可攜帶的信息塊,該信息塊保存了源對象的整個狀態(tài)并且使它能夠在相同的或一個遠(yuǎn)程的系統(tǒng)上重新建立。
這些數(shù)據(jù)塊用來在檔案中保存對象,或者用來把對象的拷貝傳輸給一個遠(yuǎn)程系統(tǒng)?;旧蠑?shù)據(jù)塊包含與原始對象相同的信息,但表示為高結(jié)構(gòu)化的形式,從而在以后的日期能由相同的數(shù)據(jù)塊重新構(gòu)成該數(shù)據(jù)對象。
在該代表性的實施例中,簽名包10封裝成一個軟件對象。一個典型的簽名包軟件對象的表現(xiàn)如下數(shù)據(jù)簽名包版本號機器序號機器引導(dǎo)時間機器類型(一個號)
聲明的ID(一個識別簽字人的字符序列,由俘獲應(yīng)用程序辨別)標(biāo)題文本(可變長度的ASCII文本)簽名外觀的壓縮表現(xiàn)文件校驗和鍵控的用于整體性的內(nèi)部校驗和方法capture顯示UI組成部分和收集簽名render 在顯示器上畫出俘獲的簽名的圖像write-tiff-file把圖像以TIFF格式寫到文件上write-win-bmp-file 把圖像以Windowns位圖格式寫到文件上write-OS2-bmp-file 把圖像以O(shè)S/2位圖格式寫到文件上is-captured返回簽名包10是否包含簽名has-image 返回簽名包10是否包含圖像mc-sno 返回俘獲機器的序列號mc-type返回俘獲機器的類型time-signed返回俘獲的日期/時間claimed-id 返回聲明的ID串gravity-prompt 返回重要性提示verify-file相對于存儲的校驗和檢查文件的內(nèi)容import 填入來自加密的數(shù)據(jù)塊的數(shù)據(jù)export 把加密的內(nèi)部數(shù)據(jù)填入數(shù)據(jù)塊用于本發(fā)明的簽名包對象的典型壽命周期以流程圖的形式概括在圖4中,并在下面詳細(xì)討論。創(chuàng)建(步驟100)當(dāng)創(chuàng)建軟件對象時,把它初始化到能啟動簽名俘獲的狀態(tài)。俘獲/輸入俘獲(步驟102)在俘獲過程中的事件順序更詳細(xì)地表示在圖5中。俘獲步驟(102)在該代表性實施例中由簽名俘獲模塊4完成。
如果以前俘獲了簽名包10的對象,則拒絕俘獲請求??蛻舫绦蛞?guī)定了要顯示的重要性提示,及是否要保存簽名圖像,和是否要計算文件的校驗和而用于文件捆綁。
如果文件是要計算校驗和,則細(xì)讀存儲文件的計算機文件并建立一個校驗和。本發(fā)明的代表性實施例使用消息摘要(Message Digest)技術(shù)求文件的校驗和,如由RSA Inc.公布的技術(shù)。
然后,用戶接口組成部分以有區(qū)別的方式顯示在計算機的圖形屏幕上,以便警告用戶這一事實,即可靠的且捆綁的簽名就要被俘獲(例如,見圖1)。
如果用戶操作“取消”控制24,那么就把適當(dāng)?shù)臓顟B(tài)返給客戶程序(步驟202和204)。
如果用戶操作“清除”控制26(步驟206),那么就放棄以前收集的任何筆數(shù)據(jù),并且從屏幕上清除放棄的簽名的圖像(步驟208)。
如果用戶在簽名俘獲區(qū)域操作筆(步驟210),則在存儲器中收集和存儲代表筆運動的數(shù)據(jù)(步驟212)。
如果用戶操作“OK”控制28(步驟214),那么簽名俘獲模塊4就分析俘獲的筆數(shù)據(jù)并記錄某些測量。在該代表性實施例中,由簽名俘獲模塊4進(jìn)行的測量如下M0筆畫數(shù)目M1總的時間M2下筆時間M23 總的線長度M23/M0平均筆畫長度M2/M0 下筆時間/筆畫數(shù)目M1/M23平均速度在每一筆畫中最慢各點的時間之和在每一筆畫中最快各點的時間之和M34 在每一筆畫中最慢各點的位置之和M35 在每一筆畫中最快各點的位置之和M36 下筆位置之和M37 抬筆位置之和
M38 加速和減速最大值(“事件”)的數(shù)目M40 事件的位置之和M41 事件的時間之和平均下筆時間平均抬筆時間M35/M1最快點時滯M37/M23 比例縮放的抬筆位置之和M23/M38 平均加速/減速距離M39/M23 事件持續(xù)時間之和/總的線長M40/M1事件時滯M41/M38 事件平均時間-ve/+vd Y距離+ve/-ve X距離Y距離/X距離最大X/最大YY距離/(最大Y+1)Y轉(zhuǎn)彎的數(shù)目,幅值>0.8mm凈面積各速度之差Δ之和可選擇地,為了把簽名的圖像提供計算機顯示屏幕或位圖文件,壓縮、向量化和存儲沒有時間信息的筆數(shù)據(jù)。還存儲了簽名的日期和時間、機器細(xì)節(jié)以及重要性提示。然后,產(chǎn)生該數(shù)據(jù)塊的校驗和以防止以后的變更(步驟216)本發(fā)明包括內(nèi)部的完整性檢驗,該完整性檢驗在下面解釋。在加密之前,利用同求文件的校驗和技術(shù)相同的技術(shù),對簽名包10的內(nèi)容以及由客戶應(yīng)用程序2提供的密鑰求校驗和。如果在原始客戶應(yīng)用程序2導(dǎo)致建立簽名包10時不知道原始客戶應(yīng)用程序2所用的密鑰,則修改簽名包10和產(chǎn)生滿意的校驗和是不實際的。通過在進(jìn)行完整性檢驗時提供正確的密鑰,客戶應(yīng)用程序2能保證(如果該密鑰沒有泄密)簽名包2不會被解密、修改和再加密。輸入(步驟104)以前俘獲的簽名數(shù)據(jù)從存儲塊中被解密并被適當(dāng)?shù)卮嫒霐?shù)據(jù)結(jié)構(gòu)。數(shù)據(jù)存取(步驟106)在代表性的實施例中,由簽名驗證模塊6完成數(shù)據(jù)存取功能。輸出在簽名包10中的數(shù)據(jù)被存儲在存儲塊中并被加密。使簽名圖像呈現(xiàn)在計算機顯示器上如果原始俘獲簽名包的客戶程序2沒有請求簽名圖像,那么就把錯誤狀態(tài)返回給客戶請求再現(xiàn)者。
否則,就顯示,適當(dāng)?shù)乜s放的簽名圖像。位圖文件生成用標(biāo)準(zhǔn)的圖像文件格式創(chuàng)建位圖文件。如下格式是由本發(fā)明的代表性實施例使用的候選格式TIFFOS/2位圖Windows位圖響應(yīng)來自客戶程序的請求,本發(fā)明的系統(tǒng)把關(guān)于下面的加密信息放到存儲器中,以便于由客戶程序存取聲明的ID簽名的日期和/或時間輸出的數(shù)據(jù)塊的大小簽名包10是否包含一個俘獲的簽名簽名包10是否包含一個簽名圖像其上俘獲簽名的機器的序號代表其上俘獲了簽名的機器類型的一個號碼重要性提示內(nèi)部完整性檢驗是成功還是失敗當(dāng)俘獲了簽名時,給定文件是否與原始求校驗和的文件相同。破壞(步驟108)
破壞相關(guān)的數(shù)據(jù)分配。2、模板各模板不直接由客戶程序2處理,而是通過實施模板數(shù)據(jù)庫的軟件組成部分的媒體存取。
當(dāng)初臺創(chuàng)立時,模板是空白的。本發(fā)明允許客戶程序2檢測這一點和用簽名包10的一個系列“填充”該模板。這一過程稱作“登記”,可以比作一個學(xué)習(xí)過程,在學(xué)習(xí)過程期間,能確定簽名的典型行為和他的簽名行為最一致的各方面。
在登記階段,接收的簽名包10之間的類似性程度將影響最終模板的質(zhì)量。如果簽名包的差別足夠大,那么驗證就成為不可能的,并且要重新啟動登記過程。否則,當(dāng)考慮到檢證得分時,就能查明在登記期間接收的簽名包的相關(guān)程序相關(guān)性越高,驗證過程的可靠性越高。
因為模板的完整性對于有安全性意識的應(yīng)用程序是至關(guān)重要的,所以模板包含有關(guān)于“擁有”應(yīng)用程序的信息。只有模板的所有人才能在模板上進(jìn)行某些敏感的操作。
模板存儲如下信息- 用于簽名測量和統(tǒng)計的平均值- 這些統(tǒng)計的可變性指示器- 登記狀態(tài)和質(zhì)量的指示器- 驗證的最新簽名包10的日期和時間- 性能指示器- “擁有”程序的ID- 創(chuàng)建的日期和時間- 唯一標(biāo)識符本發(fā)明提供了與模板有關(guān)的如下功能- 公開創(chuàng)建的數(shù)據(jù)- 公開登記的狀態(tài)和質(zhì)量- 登記簽名包10(反擁有程序)- 強制重新登記(僅擁有程序)- 驗證簽名包10驗證過程的目的在于,以得分形式給客戶程序2一個偽造可能性指示。這一得分,或許連同關(guān)于登記質(zhì)量的信息,使客戶程序能根據(jù)其自己的標(biāo)準(zhǔn)做出關(guān)于簽名準(zhǔn)許的決定。
因為整個時間歷程上個人的簽名將經(jīng)受逐漸變化,所以本發(fā)明將在某些環(huán)境下“彎曲”簽名包10,以支持簽字人行為的一致變化。這種“彎曲”受某些內(nèi)部檢驗的支配而發(fā)生,并且可選擇地由客戶應(yīng)用程序抑制。如果驗證的簽包10比成功驗證的最新簽名包10舊,那么“彎曲”不再發(fā)生。(見圖6的步驟318,在以下詳細(xì)討論。)在本發(fā)明的代表性實施例中,每個模板作為一個軟件對象實現(xiàn)。模板軟件對象的典型壽命周期以流程圖的形式概括在圖6中,并在下面詳細(xì)描述。創(chuàng)建(步驟302)當(dāng)創(chuàng)建一個模板軟件對象時,把它初始化到能啟動登記、輸入或輸出的狀態(tài)。登記(步驟310)只有在模板處于無登記的條件下時,本發(fā)明才允許模板登記。
登記過程以流程圖的形式概括在圖7中。
在本發(fā)明的系統(tǒng)試圖完成登記之前,必須提供預(yù)定的最少簽名數(shù)量。直到達(dá)到這一點為止,來自連續(xù)簽名包10的數(shù)據(jù)與初期的模板一起一直存儲著(步驟402)。
一旦已經(jīng)接收到了簽名包的最小數(shù)目(步驟406),本發(fā)明就進(jìn)行某些檢驗,以判定提供的簽名包是否一致得足以生成一個模板。如果不行,則清除所有的簽名包,并把模板復(fù)位到其初始狀態(tài)(步驟414和420)。另外,如果提供的簽名包是一致的,那么就生成模板統(tǒng)計(步驟408),就廢除存儲的簽名包,并把該模板標(biāo)記為登記過的。
然而,如果已經(jīng)接收到了最小數(shù)目的簽名包,而模板易被修改(步驟416),那么就接收更多的簽名包直到預(yù)定的最大值。保存最一致的一組,直到能建立一個良好的登記,或者直到達(dá)到最大數(shù)量,這要看哪一個較早。輸入(步驟304)以前編譯的模板數(shù)據(jù)從一個存儲塊中被解密,并被適當(dāng)?shù)卮嫒霐?shù)據(jù)結(jié)構(gòu)中。輸出(例如,步驟320)把模板數(shù)據(jù)加密成一個存儲塊以便存檔或傳輸?shù)揭粋€遠(yuǎn)程系統(tǒng)。驗證(步驟314)只有在模板處于登記的條件下時,簽名驗證模塊6才允許相對于模板驗證簽名包10。
在簽名俘獲過程期間取得的并存儲在簽名包10中的測量結(jié)果與存儲在模板中的平均數(shù)值相比較。要考慮在登記過程期間所觀察到的用戶的可變性。生成兩個數(shù)值一個指示同平均值的平均誤差,而另一個指示同平均值的最大偏差。然后,用這兩個值的函數(shù)產(chǎn)生一個在范圍0…100內(nèi)的得分,其中0表示簽名包與模板之間的不匹配,而100表示簽名包與模板之間的緊密匹配。上面詳細(xì)討論了簽名驗證模塊的這一方面。
當(dāng)客戶應(yīng)用程序提供一個用于驗證的簽名包10時,還提供一個作為用于模板更新的較低閾值的得分。模板更新(或“彎曲”)- 見步驟318-受如下條件支配而發(fā)生- 驗證得分不小于閾值;- 驗證數(shù)值離平均值既不太近也不太遠(yuǎn);- 簽名包10比最近驗證的簽名包更新;- 驗證得分高于客戶程序2提供的閾值。
如滿足這些條件(在步驟316),那么就對存儲在模板中的平均值進(jìn)行校正,從而在整個時間上模板將適應(yīng)簽字人行為的一致偏移或趨勢。當(dāng)更新發(fā)生時,就把模板打上時間標(biāo)記以利于管理模板的多個拷貝或遠(yuǎn)程拷貝。清除(步驟312)
本發(fā)明能將模板置于可被重登記的條件下。保存創(chuàng)建日期/時間,并把模板更新日期/時間設(shè)置為當(dāng)前日期/時間。數(shù)據(jù)存取(步驟306)登記狀態(tài)響應(yīng)是否登記模板的詢問,系統(tǒng)完成信息塊(如下面所示),并使這個信息塊可由客戶程序2檢查。
在代表性的實施例中,該信息塊包括*update-time時間和統(tǒng)計是最近更新的*backup-time時間和模板是最近備份的*count 完成登記使用的簽名數(shù)目*enroll-status 指示登記相關(guān)性的數(shù)目*enroll-flag如果登記完成不為零3、模板數(shù)據(jù)庫12簽名模板對個人是唯一的。一旦已經(jīng)建立了模板,就能用它來驗證這個人的身份,以及用來鑒定用戶用本發(fā)明的系統(tǒng)簽署的文件。顯然,一個單個的個人簽名可能對多于一個的客戶程序2是重要的,或者甚至對多于一個的組織是重要的。模板數(shù)據(jù)庫12設(shè)計成使諸模板適用于一個以上的應(yīng)用程序2,并因而使模板的“所有人”通過使模板適用于為了驗證目的的其他客戶,從擁有一個登記模板獲得商業(yè)益處。
模板數(shù)據(jù)庫12的數(shù)據(jù)庫結(jié)構(gòu)支持如下的目的- 在使用數(shù)據(jù)庫服務(wù)之前,客戶應(yīng)用程序2必須利用系統(tǒng)產(chǎn)生的專用標(biāo)識符向本發(fā)明的系統(tǒng)標(biāo)識自己。- 當(dāng)一個應(yīng)用程序用本發(fā)明的系統(tǒng)登記時,產(chǎn)生該專用標(biāo)識符。
在客戶應(yīng)用程序能創(chuàng)建諸模板之前,需要登記。- 當(dāng)創(chuàng)建模板時,還創(chuàng)建包含個人的姓名和唯一用戶標(biāo)別號(例如,該號可能是國家保險號或社會保險號)的數(shù)據(jù)庫記錄,并且該數(shù)據(jù)庫記錄以后是不能修改的。使用這一記錄來支持客戶應(yīng)用程序的不同標(biāo)識符與同一個人的匹配。- 為了支持身份與模板的相關(guān)性,本發(fā)明的系統(tǒng)支持檢索用于任何匹配數(shù)據(jù)組合的模板數(shù)據(jù)庫12。- 當(dāng)創(chuàng)建模板,或者與專用檢索模式相匹配時,本發(fā)明的系統(tǒng)就給客戶應(yīng)用程序2提供登記用于該個人的應(yīng)用程序唯一標(biāo)識符的能力;以后客戶僅需要提供其最佳標(biāo)識符。這就可以識別出這樣的事實客戶程序2將總是具有關(guān)于其簽名要驗證的個人的唯一標(biāo)識符的索引。- 在客戶設(shè)備具有適當(dāng)?shù)脑S可證許可的情況下,本發(fā)明的系統(tǒng)將支持把模板記錄轉(zhuǎn)換成加密的數(shù)據(jù)塊,以便分開存檔或傳輸。
本發(fā)明的結(jié)構(gòu)支持簽名驗證局的新穎概念,向任何數(shù)目不同的客戶2提供一個遠(yuǎn)程的或網(wǎng)絡(luò)的驗證服務(wù)。
它還支持諸簽名模板的遠(yuǎn)程維護(hù)和管理。這在需要把中央位置中裝的模板分配給用于獨立于中央數(shù)據(jù)庫的“脫機”驗證的遠(yuǎn)程處理器的場合,是特別重要的。這些例子包括使用智能卡,或使用一“隊”小型便攜式筆操作計算機,其中,為了處理現(xiàn)場設(shè)備的失效和用正確的安全性配置迅速進(jìn)行替換,則必須將簽名模板集中存儲。
模板數(shù)據(jù)庫12用于存儲應(yīng)用程序(例如2b)需要的所有模板。然而,數(shù)據(jù)庫12的獨特結(jié)構(gòu)有助于以不同應(yīng)用程序能夠共享一單個模板的方式,使個人的模板適用于一個以上的應(yīng)用程序。
這通過在任何數(shù)據(jù)庫功能成為可用的之前,強迫客戶應(yīng)用程序2開始數(shù)據(jù)庫會話來實現(xiàn)。當(dāng)開始會話時,客戶應(yīng)用程序2必須宣布其身份。
數(shù)據(jù)庫12使用人的概念表示模板以及唯一標(biāo)識信息。在數(shù)據(jù)庫12中存儲的所有模板屬于各個人,并且可以用任何一個應(yīng)用程序登記任何人。任何一個應(yīng)用程序可以有多個用它登記的人,并且可以用幾個應(yīng)用程序登記任何一個人。這一點用圖8中對象關(guān)系圖表明。
起初,在任何其他的數(shù)據(jù)庫服務(wù)成為可用的之前,客戶應(yīng)用程序2必須使其本身為系統(tǒng)所知。當(dāng)應(yīng)用程序2開始會話時,它宣布一個公共名稱以描述它自己,借此它將為所有其他的應(yīng)用程序所知。它還提供一個秘密的加密密鑰。本發(fā)明用這個密鑰來為應(yīng)用程序產(chǎn)生一個唯一的ID,稱作AID。同時,它還提供了關(guān)于唯一標(biāo)識符長度的信息,它提出在存取各個人的模板時用該標(biāo)識符來標(biāo)識各個人。
當(dāng)客戶應(yīng)用程序2需要創(chuàng)建模板時,它可以首先為用其他應(yīng)用程序已經(jīng)登記的各個人掃描數(shù)據(jù)庫12。當(dāng)?shù)怯浺粋€人時,就創(chuàng)建一個模板,并且還存儲其他的信息(姓、名、中名、用戶身份號)。因而,使用這些標(biāo)準(zhǔn)的應(yīng)用程序能夠確定是否已經(jīng)用另一個應(yīng)用程序2登記了有疑問的人。
如果沒有發(fā)現(xiàn)相匹配的人,則可以創(chuàng)建一個新的人并加到數(shù)據(jù)庫12中。
在代表性的實施例中,用一個軟件對象代表一個人。這個人軟件對象的壽命周期表示在圖9中。數(shù)據(jù)庫12代表客戶應(yīng)用程序2通過人員對象上的操作進(jìn)行所有的模板操作。
認(rèn)為一個人以及對應(yīng)的模板被創(chuàng)建它的應(yīng)用程序2“擁有”。在模板上的某些操作,包括模板的登記和清除,僅能由擁有的應(yīng)用程序2來執(zhí)行。然而,擁有的應(yīng)用程序可以通過規(guī)定一個其他應(yīng)用程序能用來解鎖模板的口令,使登記適用于其他的應(yīng)用程序。
與一個人有聯(lián)系的姓名和唯一用戶身份號被唯一地用來在所有應(yīng)用程序之間識別這個人。因此,這些數(shù)據(jù)是不可改變的。用一個應(yīng)用程序?qū)θ藛T進(jìn)行登記一旦應(yīng)用程序2已經(jīng)創(chuàng)建了或查出了一個人,應(yīng)用程序2可以用其本身登記這個人。這通過提供應(yīng)用程序的唯一人員標(biāo)識符(一般為這個應(yīng)用程序識別這個人所用的一個唯一密鑰)來實現(xiàn)。當(dāng)應(yīng)用程序2用數(shù)據(jù)庫12第一次登記時,應(yīng)用程序2就宣布該唯一密鑰的長度。這一標(biāo)識符稱作應(yīng)用程序的唯一標(biāo)識符(AUID)。此后,這個應(yīng)用程序?qū)⑹褂肁UID來識別一個人和/或他的模板。
在登記時,本發(fā)明建造一個新的包含AUID的數(shù)據(jù)庫記錄,并且通過這個應(yīng)用程序把該新記錄與任何以前的登記交叉相接,還通過其他的應(yīng)用程序與用于這個人的任何以前的登記交叉相接。
一個應(yīng)用程序可以掃描該數(shù)據(jù)庫- 對于所有應(yīng)用程序- 對于用這個應(yīng)用程序登記的所有人- 對于沒有用這個應(yīng)用程序登記的所有人- 對于符合匹配標(biāo)準(zhǔn)的所有人。
當(dāng)用戶的簽名隨時間變化時,本發(fā)明將“修改”個人的簽名模板,如在上文中圖6步驟318討論的那樣。例如,簽名人在多于或小于兩秒鐘內(nèi)簽署他的姓名。這在約十分之一秒的范圍內(nèi)變化,所以,如果他的簽名時間是,比方說,2.1或1.9秒,則簽名驗證模塊6不能“把他記下”(即,并不減小他的簽名匹配百分比)。但在幾個月之后(或許是由于熟悉了他正在使用的設(shè)備),用戶的簽名趨向于1.9秒的目標(biāo)。因為所有的其他數(shù)據(jù)幾乎與他的登記一致,所以簽名驗證模塊6稍微“彎曲”他的簽名模板,以跟蹤他的簽字行為變化的模式。一年之后,他一貫地以1.8秒簽名,有時為1.7,有時為1.9。到這時,平均值已經(jīng)仿效了他的行為,因而現(xiàn)在把平均值設(shè)定為1.8。(如果現(xiàn)在重新提交在簽名包10中俘獲的他的原始簽名之一,并且它具有2.1秒的持續(xù)時間,則這可能會導(dǎo)致報告失敗。)軟件對象如上所述,使用面向?qū)ο蟮某绦蛟O(shè)計技術(shù)實現(xiàn)本發(fā)明的代表性實施例。如下是在本發(fā)明的實施中使用的代表性對象4.1簽名包對象。
這被用來封裝簽名的動作。在內(nèi)部它使用如下子對象4.1.1一個代表簽名圖像的對象。這一對象包含圖像數(shù)據(jù)及輸入和輸出這些數(shù)據(jù)的方法;這一對象還代表位圖形式的、或動態(tài)顯示在顯示裝置上的數(shù)據(jù)。
4.1.2從簽名的上下文脫離的、代表簽名本身動作的對象。這一對象包含簽名測量和關(guān)于每個個別筆畫的輔助數(shù)據(jù)。這一對象的主要目的是表示驗證功能使用的測量。這一對象又可以與俘獲時使用的臨時對象有關(guān),該臨時對象存儲原始筆數(shù)據(jù)。
4.1.3一個對象,表示原始筆數(shù)據(jù)并對這些數(shù)據(jù)進(jìn)行初步分析,例如,筆畫數(shù)目、點數(shù)目等,以提供對原始筆數(shù)據(jù)的存取,從而使4.1.2中的對象能產(chǎn)生測量。4.2簽名模板對象這一對象包含簽名包10中的測量平均值,以及這些測量的標(biāo)準(zhǔn)偏差。它具有兩個方面的功能,即,從一組簽名包“學(xué)習(xí)”或“登記”的能力,第二個方面是在用簽名包10登記之后有效進(jìn)行比較的能力,這就是驗證功能本身。除了最近簽名的包的創(chuàng)建日期和時間外,該對象不包含專門涉及任何給定簽名包10的任何數(shù)據(jù)。使這一信息適用于客戶應(yīng)用程序2,從而能判定是否正在驗證一個無序的包。4.3模板數(shù)據(jù)庫對象。
存在的這一對象主要利用存儲的便利裝置,通過加密向客戶應(yīng)用程序2提供與簽字人的ID有關(guān)的模板。
它包含兩個主要的子對象,這些是4.3.1一個對象,保存關(guān)于人們的基本信息,并把這些信息與涉及這些人的諸應(yīng)用程序交叉相接。它通過維護(hù)諸應(yīng)用程序的一個數(shù)據(jù)庫和諸人員的一個數(shù)據(jù)庫、以及連接的兩個數(shù)據(jù)庫來做到這一點。一個數(shù)據(jù)庫把每一個應(yīng)用程序連接到所有的人們,對于這些人該數(shù)據(jù)庫需要進(jìn)行查閱(這個數(shù)據(jù)庫還包含用于這個人的應(yīng)用程序自己的專用ID,如在使用字符時那樣);另一個數(shù)據(jù)庫把每個人連接到與這個人有關(guān)的所有應(yīng)用程序上。
因而,這個對象的主要目標(biāo)是以最適于多個不同應(yīng)用程序的目的的方式使一個人能被這些應(yīng)用程序查閱。
4.3.2一個對象,把實際模板保存在用每一個人一個唯一標(biāo)識符索引的數(shù)據(jù)庫中。
這兩個數(shù)據(jù)庫對象都使用諸輔助對象,來管理最適合于專用任務(wù)的文件的類型和組織。例如,有索引文件、順序文件和包含多個項序列的鏈接表文件。
在俘獲和驗證簽名之外的生物信息時,也可以使用本發(fā)明的結(jié)構(gòu)。例如,本發(fā)明的結(jié)構(gòu)可以用來創(chuàng)建和驗證包括指紋信息、眼圖信息和聲波紋信息。
例子如上所述,在本發(fā)明的代表性實施例中,簽名俘獲模塊4能產(chǎn)生已簽署文件的校驗和。在以后的日期,可以使用該文件校驗和,來驗證聲稱已經(jīng)簽署的文件是否是早先簽署的文件,以及進(jìn)一步驗證有沒有對這個進(jìn)行過修改。在代表性的實施例中,文件校驗和不是原始文件的完整陳述,并且不能從文件校驗和導(dǎo)出原始文件。文件校驗和載有與文件有關(guān)的數(shù)學(xué)關(guān)系。如果文件被改變,那么文件在數(shù)學(xué)上就已不能與校驗和相匹配。本發(fā)明的這一特性可以稱為簽名捆綁。如下是一個根據(jù)本發(fā)明的簽名捆綁特征的操作的例子給出如下樣本文件“I am glad I was born in Borneo(我很高興我出生在Borneo)<CR><LF>”這相當(dāng)于ASCII碼的如下數(shù)據(jù)49 20 61 6D 20 67 6C 61 64 20 49 20 77 6173 2062 6F 72 6E 20 69 6E 20 42 6F 72 6E65 6F 2E 0D 0A使用信息摘要算法(例如,象RSA MD4或MD5算法)生成校驗和,以產(chǎn)生,例如,象如下的文件校驗和(十六進(jìn)制)89F 32145AB 321AF 7C411F B76543F0CFC。
簽名包包含如下信息版本號(整數(shù))機器序列號(整數(shù))機器引導(dǎo)時間(整數(shù))機器和操作系統(tǒng)類型(整數(shù))簽字人聲明的ID(可變長度,字符)重要性提示(可變長度,字符)簽名測量順序(整數(shù))簽名的日期/時間(整數(shù))簽名圖像(可變長度)
文件校驗和(字符)包校驗和(字符)當(dāng)輸出給一個加密的數(shù)據(jù)塊時,這一信息用如下的長度信息補充它的總長度(整數(shù))簽字人聲明的ID的長度(整數(shù))重要性提示的長度(整數(shù))簽名圖像的長度(整數(shù))(如果沒有圖像為零)詳細(xì)地,簽名圖像按如下存儲起始坐標(biāo)前一個與下一個坐標(biāo)之差的序列。
這些數(shù)據(jù)項的每一個以如下方式組成如果當(dāng)看作一個整數(shù)時的下一個字符是負(fù)的,那么在這個字符中的剩余位就被用作標(biāo)志以指示如下的條件- 筆畫的結(jié)束- 下一個值在長度上是兩個字符- 隔一個值在長度上是兩個字符- 下一個值正在改變符號(負(fù)到正或相反)- 隔一個值正在改變符號- 下一個值是一個重復(fù)計數(shù)(總是正的)例如,如果簽名從幾何上準(zhǔn)確的字母‘V’開始,則圖像可以按如下表示1、給出Y坐標(biāo)為20的正字符2、給出X坐標(biāo)為0的零字符3、帶有設(shè)置為指示重復(fù)記數(shù)的位的負(fù)字符4、具有值10的字符5、帶有設(shè)置為指示Y變負(fù)的位的負(fù)字符6、給出Y差值為2(即-2)的正字符7、給出X差值為1的正字符8、帶有設(shè)置為指示重復(fù)計數(shù)的位的負(fù)字符9、具有值10的字符10、帶有設(shè)置為指示Y變正的位的負(fù)字符11、給出Y差值為2(現(xiàn)在是+2)的字符12、給出X差值為1的字符13、帶有設(shè)置為指示筆畫結(jié)束的位的負(fù)字符。
假定一個客戶應(yīng)用程序2希望俘獲簽名,并希望把該簽名連接到Borneo文件上。在OS/2操作系統(tǒng)的條件下,它將準(zhǔn)備如下信息- 用于窗口(例如,圖3A的30)的OS/2標(biāo)識符,在該窗口中將插入簽名俘獲窗口20;- 一個識別該簽字人的零終止字符序列;- 一個給出重要性提示的零終止字符序列;- 一個具有非零值的整數(shù),如果希望俘獲簽名的圖像;- 一個給出用于完整性校驗和的秘密應(yīng)用程序密鑰的字符序列;- 一個給出密鑰的長度的整數(shù);- 一個給出文件名的零終止字符序列,在該文件中存儲要求校驗和的文件。
然后,簽名俘獲組成部分將顯示載有適當(dāng)?shù)闹匾蕴崾?2和簽字人聲明的ID的簽名俘獲窗口20。該簽名俘獲組成部分還將遍歷指定的文件并產(chǎn)生校驗和。當(dāng)用戶在簽名俘獲窗20上移動筆的同時,筆數(shù)據(jù)以X和Y運動值及時間差的形式在內(nèi)部存儲。然后,如果用戶激活了“OK”控制28,則把這些運動值縮放成代表絕對距離,并在隨后被分析以產(chǎn)生簽名測量。最后,如果需要簽名的圖像,就把筆數(shù)據(jù)轉(zhuǎn)化成圖像序列(放棄所有的時序信息)。
這時,通過數(shù)字代碼把交互結(jié)果通知客戶應(yīng)用程序2,該數(shù)字代碼是0、成功地創(chuàng)建了包1、丟棄簽名一用戶激活了“消除”控制3、無效的(例如,零長度)聲明ID4、無效的(例如,零長度)重要性提示5、讀文件錯誤,該文件是已經(jīng)求過校驗和的。
權(quán)利要求
1.一種基于計算機的方法,用來產(chǎn)生涉及電子文件的手寫簽名的電子表示,并在此后驗證手寫簽名,該方法包括步驟在一個第一計算機處理器處,電子地顯示一個文件的一個圖像;在該第一計算機處理器處,通過電子俘獲一個簽字人的手寫簽名簽署該文件;在該第一計算機處理器處,在一個簽名包中存儲關(guān)于該手寫簽名的一組測量結(jié)果。在該第一計算機處理器處,建立該文件的一個校驗和;在該第一計算機處理器處,把該校驗和存儲在該簽名包中;在該第一計算機處理器處,把該簽名者的一個聲明身份存儲在該簽名包中;在該第一計算機處理器處,把該簽名包加密以建立一個加密的簽名包;把該加密的簽名包傳送給一個第二計算機處理器;在該第二計算機處理器處,解密該加密的簽名包;在該第二計算機處理器處,檢索一個人的手寫簽名一組經(jīng)驗證的測量結(jié)果,該人具有在該簽名包中存儲的聲明身份;及在該第二計算機處理器處,把驗證的該測量結(jié)果組與存儲在該簽名包中的測量結(jié)果組相比較,以得到一個相似性得分。
2.根據(jù)權(quán)利要求1所述的方法,還包括把加密的簽名包存儲在一個存儲裝置中的步驟。
3.根據(jù)權(quán)利要求1所述的方法,其中,測量結(jié)果組包括平均筆畫長度。
4.根據(jù)權(quán)利要求1所述的方法,其中,測量結(jié)果組包括平均下筆時間。
5.根據(jù)權(quán)利要求1所述的方法,其中,測量結(jié)果組包括加速和減速最大值的數(shù)目。
6.根據(jù)權(quán)利要求1所述的方法,其中,測量結(jié)果組包括在每一筆畫中最慢點的位置之和。
7.根據(jù)權(quán)利要求1所述的方法,還包括在第一處理器處把簽字的時間和日期存儲在簽名包中的步驟。
8.根據(jù)權(quán)利要求1所述的方法,還包括在第一處理器處把代表第一處理器標(biāo)識的指示符存儲在簽名包中的步驟。
9.根據(jù)權(quán)利要求1所述的方法,還包括在第一處理器處把手寫簽名圖像的壓縮表示存儲在簽名包中的步驟。
10.根據(jù)權(quán)利要求1所述的方法,還包括把相似性得分傳輸給第一計算機處理器的步驟。
11.根據(jù)權(quán)利要求1所述的方法,還包括把相似性得分傳輸給第三計算機處理器的步驟。
12.根據(jù)權(quán)利要求1所述的方法,包括如下步驟在該第二處理器處,建立一個電子文件的一個第二校驗和;及把該第二校驗和與存儲在簽名包中的校驗和相比較,以判定電子文件是否是在第一計算機處理器處簽署的文件的真實表示。
13.一種基于計算機的方法,用來產(chǎn)生一個電子文件的手寫簽名的電子表示,該方法包括如下步驟在一個第一計算機處理器處,電子地顯示一個第一文件的圖像;在該第一計算機處理器處,通過電子地俘獲簽字人的手寫簽名來簽署該第一文件;在該第一計算機處理器處,把一組關(guān)于該手寫簽名的測量結(jié)果存儲于在一個簽名包中;在該第一計算機處理器處,建立該第一文件的第一校驗和;在該第一計算機處理器處,把該第一校驗和存儲在該簽名包中;在該第一計算機處理器處,把該簽名包加密,以建立一個加密的簽名包;把該加密的簽名包傳送給一個第二計算機處理器;在該第二計算機處理器處,解密該加密的簽名包;在該第二計算機處理器處,建立一個第二文件的第二校驗和;及把該第二校驗和與存儲在簽名包中的第一校驗和相比較,以判定第二文件是否是第一文件的真實表示。
14.一種基于計算機的方法,用來建立電子文件的手寫簽名的電子表示,該方法包括如下步驟在一個第一計算機處理器處,電子地顯示一個第一文件的圖像;在該第一計算機處理器處,通過電子地俘獲一個簽字人的手寫簽名來簽署該第一文件;在該第一計算機處理器處,把關(guān)于該手寫簽名的一組測量結(jié)果存儲于在簽名包中;在該第一計算機處理器處,建立該第一文件的第一校驗和;在該第一計算機處理器處,把該第一校驗和存儲在該簽名包中;在該第一計算機處理器處,把該簽字人的一個指示存儲在該簽名包中;在該第一計算機處理器處,加密該簽名包以建立一個加密的簽名包;把該加密的簽名包傳送給一個第二計算機處理器;在該第二計算機處理器處,解密該加密的簽名包;在該第二計算機處理器處,驗證這個手寫簽名是否是該簽字人的手寫簽名;在該第二計算機處理器處,建立一個第二文件的第二校驗和;及在該第二計算機處理器處,把該第二校驗和與存儲在簽名包中的第一校驗和相比較,以判定該第二文件是否是第一文件的一個真實表示。
15.一種基于計算機的方法,用來建立一個文件的手寫簽名的一個電子表示,該方法包括如下步驟電子顯示一個第一文件的圖像;通過電子地俘獲一個簽字人的手寫簽名來簽署該第一文件;把一組關(guān)于該手寫簽名的測量結(jié)果存儲在一個簽名包中;建立該第一文件的第一校驗和;把該第一校驗和存儲在該簽名包中;把該簽字人的一個指示存儲在該簽名包中;加密該簽名包,以建立一個加密的簽名包;把該加密的簽名包存儲在存儲器中;解密該加密的簽名包;驗證這個手寫簽名是否是該簽字人的手寫簽名;建立一個第二文件的第二校驗和;及把該第二校驗和與存儲在簽名包中的第一校驗和相比較,以判定該第二文件是否是該第一文件的一個真實表示。
16.一種基于計算機的方法,用來俘獲關(guān)于一個文件的一個手寫簽名的一個電子表示,并在此后驗證該手寫簽名,該方法包括如下步驟通過電子俘獲一個簽字人的一個手寫簽名簽署一個文件;把一組關(guān)于該手寫簽名的測量結(jié)果存儲在一個簽名包中;建立該文件的一個校驗和;把該校驗和存儲在該簽名包中;把該簽字人的一個聲明身份存儲在該簽名包中;加密該簽名包以創(chuàng)建一個加密的簽名包;把該加密的簽名包存儲在存儲器中;解密該加密的簽名包;從存儲器中檢索一個人的簽名模板,這個人具有存儲在該簽名包中的聲明身份,該簽名模板包括所述人經(jīng)驗證的手寫簽名的一組驗證的測量結(jié)果;及把存儲在該簽名模板中的驗證測量結(jié)果組與存儲在該簽名包中的測量結(jié)果組相比較,以得到代表在簽署文件時俘獲的手寫簽名與驗證的手寫簽名之間的相似程度的相似性得分。
17.根據(jù)權(quán)利要求16所述的方法,還包括如下步驟建立一個電子文件的第二校驗和;及把該第二校驗和與存儲在該簽名包中的校驗和相比較,以判定該電子文件是否是早先簽署的文件的一個真實表示。
18.一種基于計算機的方法,用來俘獲和驗證一個文件的手寫簽名的電子表示,該方法包括如下步驟在第一計算機處理器處,電子顯示第一文件的圖像;在該第一處理器處,電子顯示一個概括該第一文件的提示;在該第一計算機處理器處,通過電子俘獲一個簽名人的手寫簽名來簽署該第一文件;在該第一計算機處理器處,把一組關(guān)于該手寫簽名的測量結(jié)果存儲于在一個簽名包中;在該第一計算機處理器處,把該簽名的一個指示存儲在該簽名包中;在該第一計算機處理器處,把該提示存儲在該簽名包中;在該第一計算機處理器處,加密該簽名包以建立一個加密的簽名包;把該加密的簽名包傳送給一個第二計算機處理器;在該第二計算機處理器處,解密該加密的簽字包;在該第二計算機處理器處,驗證這個手寫簽名是否是該簽字人的手寫簽名,及在該第二計算機處理器處,從該簽名包中檢索該提示。
19.根據(jù)權(quán)利要求18所述的方法,還包括顯示該提示的步驟。
20.根據(jù)權(quán)利要求18所述的方法,還包括如下步驟在該第一計算機處理器處,建立該第一文件的第一校驗和;在該第一計算機處理器處,把該第一校驗和存儲在該簽名包中;在該第二計算機處理器處,創(chuàng)建第二文件的第二校驗和;及在該第二計算機處理器處,把該第二校驗和與存儲在該簽名包中的第一校驗和相比較,以判定該第二文件是否是該第一文件的一個真實表示。
21.一種基于計算機的方法,用來建立和驗證一個文件的手寫簽名的電子表示,該方法包括如下步驟電子顯示第一文件的圖像;電子顯示一個重要性提示,該重要性提示標(biāo)識該第一文件的本質(zhì);通過電子俘獲一個簽字人的手寫簽名來簽署該第一文件;把一組關(guān)于該手寫簽名的測量結(jié)果存儲于在一個簽名包中;把該簽字人的聲明身份的指示存儲在該簽名包中;把該重要性提示存儲在該簽名包中;加密該簽名包以建立一個加密的簽名包;此后,解密該加密的簽名包;驗證這個手寫簽名是否是該簽名人的手寫簽名;及從該簽名包中檢索該重要性提示,以肯定通知簽字人的信息是關(guān)于該第一文件的本質(zhì)。
22.根據(jù)權(quán)利要求21所述的方法,還包括顯示該重要性提示的步驟。
23.根據(jù)權(quán)利要求21所述的方法,其中,驗證該手寫簽名是否是該簽字人的手寫簽名的步驟還包括如下步驟從存儲器中檢索一個人的簽名模板,這個人具有在該簽名包中存儲的簽字人的聲明身份,該簽名模板包括所述簽名人的一個驗證手寫簽名的一組驗證的測量結(jié)果;確定代表在簽署第一文件時俘獲的手寫簽名與驗證的手寫簽名之間的相似性程度的一個相似性得分。
24.根據(jù)權(quán)利要求23所述的方法,還包括根據(jù)一個客戶應(yīng)用程序的請求把該相似性得分傳送給該客戶應(yīng)用程序的步驟。
25.根據(jù)權(quán)利要求23所述的方法,還包括如下步驟把該相似性得分傳送給一個客戶應(yīng)用程序;及把該重要性提示傳送給客戶應(yīng)用程序。
26.根據(jù)權(quán)利要求21所述的方法,還包括如下步驟建立該第一文件的第一校驗和;把該第一校驗和存儲在該簽名包中;把該簽名包存儲在存儲器中;建立一個第二文件的第二校驗和;及把該第二校驗和與存儲在該簽名包中的第一校驗和相比較;以判定該第二文件是否是該第一文件的一個真實表示。
27.在帶有客戶應(yīng)用程序、簽名俘獲應(yīng)用程序和簽名驗證應(yīng)用程序的計算機系統(tǒng)中,一種基于計算機的方法,用來俘獲和驗證一個文件的手寫簽名的電子表示,該方法包括如下步驟在該客戶應(yīng)用程序的控制下,a、顯示第一文件的圖像,b、請求該簽名俘獲應(yīng)用程序俘獲一個手寫簽名,及c、把一個重要性提示傳送給該簽名俘獲應(yīng)用程序,該重要性提示是關(guān)于該第一文件的信息;在該簽名俘獲應(yīng)用程序的控制下,d、顯示一個簽名俘獲窗口;e、顯示該重要性提示,f、通過電子俘獲一個用戶的手寫簽名,使該用戶簽署該第一文件,g、把一組關(guān)于該手寫簽名的測量結(jié)果存儲于在一個簽名包中,h、把該用戶的聲明身份的一個指示存儲在該簽名包中,I、把該重要性提示存儲在該簽名包中,j、加密該簽名包以建立一個加密的簽名包,及k、把該加密的簽名包傳給該客戶應(yīng)用程序;在該客戶應(yīng)用程序的控制下,l、把加密的簽名包傳送給該簽名驗證應(yīng)用程序;及在簽名驗證應(yīng)用程序的控制下,m、解密該加密的簽名包,n、從一個數(shù)據(jù)庫中檢索包括對應(yīng)于該用戶的驗證手寫簽名的一組驗證的測量結(jié)果的一個模板,該用戶的聲明身份存儲在該簽名包中,o、把存儲在該簽名包中的測量結(jié)果組與該模板中的驗證測量結(jié)果組相比較,以得到一個相似性得分,p、從該簽名包中檢索該重要性提示,及q、把該重要性提示和該相似性得分傳給該客戶應(yīng)用程序。
28.根據(jù)權(quán)利要求27所述的方法,還包括如下步驟在簽名俘獲應(yīng)用程序的控制下,建立該第一文件的第一校驗和,并把該第一校驗和存儲在該簽名包中;及在該簽名驗證應(yīng)用程序的控制下,建立一個第二文件的第二校驗和,并把該第二校驗和與儲存在該簽名包中的第一校驗和相比較,以判定該第二文件是否是該第一文件的一個真實表示。
29.根據(jù)權(quán)利要求27所述的方法,其中,該簽名俘獲應(yīng)用程序在一個第一計算機處理器上執(zhí)行,而該簽名驗證應(yīng)用程序在一個第二計算機處理器上執(zhí)行。
30.根據(jù)權(quán)利要求27所述的方法,其中,該測量結(jié)果組包括平均筆畫長度。
31.根據(jù)權(quán)利要求27所述的方法,其中,該測量結(jié)果組包括平均下筆時間。
32.根據(jù)權(quán)利要求27所述的方法,其中,該測量結(jié)果組包括加速和減速最大值的數(shù)目。
33.根據(jù)權(quán)利要求27所述的方法,其中,該測量結(jié)果組包括每一筆畫中的最慢點的位置之和。
34.根據(jù)權(quán)利要求27所述的方法,還包括步驟在該簽名俘獲應(yīng)用程序的控制下,把簽名的時間和日期存儲在該簽名包中。
35.根據(jù)權(quán)利要求27所述的方法,還包括步驟在該簽名俘獲應(yīng)用程序的控制下,把一個代表一個計算機處理器的標(biāo)識的指示符存儲在該簽名包中,該計算機處理器正在執(zhí)行該客戶應(yīng)用程序。
36.根據(jù)權(quán)利要求27所述的方法,還包括步驟在該簽名俘獲應(yīng)用程序的控制下,把該手寫簽名的一個圖像的壓縮表示存儲在該簽名包中。
37.根據(jù)權(quán)利要求27所述的方法,還包括步驟在該簽名俘獲應(yīng)用程序的控制下,把該手寫簽名的一個圖像的壓縮位圖表示存儲在該簽名包中。
38.在帶有客戶應(yīng)用程序、簽名俘獲應(yīng)用程序和簽名驗證應(yīng)用程序的計算機系統(tǒng)中,一種基于計算機的方法,用來俘獲和驗證手寫簽名的電子表示,該方法包括如下步驟在該客戶應(yīng)用程序的控制下a、請求該簽名俘獲應(yīng)用程序俘獲一個手寫簽名;在該簽名俘獲應(yīng)用程序的控制下,b、使一個用戶能電子輸入一個手寫簽名,c、電子俘獲該用戶的手寫簽名,d、計算一組關(guān)于該手寫簽名的測量結(jié)果,e、把關(guān)于該手寫簽名的測量結(jié)果組存儲于在一個簽名包中,f、把該用戶的聲明身份的一個指示存儲在該簽名包中,g、加密該簽名包以建立一個加密的簽名包,及h、把該加密的簽名包傳送給該客戶應(yīng)用程序,在該客戶應(yīng)用程序的控制下,I、把該加密的簽名包傳送給該簽名驗證應(yīng)用程序;及在該簽名驗證應(yīng)用程序的控制下,j、解密該加密的簽名包,k、從一個數(shù)據(jù)庫中檢索一個包括一組驗證的對應(yīng)于該用戶的經(jīng)驗證手寫簽名的測量結(jié)果的模板,該用戶的聲明身份存儲在該簽名包中,l、把存儲在該簽名包中的測量結(jié)果組與該模板中的驗證測量結(jié)果組相比較,以得到一個相似性得分,及m、把該相似性得分傳送給該客戶應(yīng)用程序。
39.根據(jù)權(quán)利要求38所述的方法,還包括步驟在該客戶應(yīng)用程序的控制下,利用該相似性得分判定該用戶是否能訪問一個計算機系統(tǒng)中的一個或多個應(yīng)用程序和數(shù)據(jù)。
40.根據(jù)權(quán)利要求38所述的方法,還包括步驟在該客戶應(yīng)用程序的控制下,利用該相似性得分判定該用戶是否能賒購商品。
41.根據(jù)權(quán)利要求38所述的方法,其中,該簽名俘獲應(yīng)用程序在一個第一計算機處理器上執(zhí)行,而該簽名驗證應(yīng)用程序在一個第二計算機處理器上執(zhí)行。
42.根據(jù)權(quán)利要求38所述的方法,其中,該測量結(jié)果組包括平均筆畫長度。
43.根據(jù)權(quán)利要求38所述的方法,其中,該測量結(jié)果組包括平均下筆時間。
44.根據(jù)權(quán)利要求38所述的方法,其中,該測量結(jié)果組包括加速和減速最大值的數(shù)目。
45.根據(jù)權(quán)利要求38所述的方法,其中,該測量結(jié)果組包括在每一筆畫中的最慢點的位置之和。
46.根據(jù)權(quán)利要求38所述的方法,還包括步驟在該簽名俘獲應(yīng)用程序的控制下,把簽名的時間和日期存儲在該簽名包中。
47.根據(jù)權(quán)利要求38所述的方法,還包括步驟在該簽名俘獲應(yīng)用程序的控制下,把代表一個計算機處理器的標(biāo)識的指示符存儲在該簽名包中,該計算機處理器正在執(zhí)行該客戶應(yīng)用程序。
48.根據(jù)權(quán)利要求38所述的方法,還包括步驟在該簽名俘獲應(yīng)用程序的控制下,把該手寫簽名的一個圖像的壓縮表示存儲在該簽名包中。
49.根據(jù)權(quán)利要求38所述的方法,還包括步驟在該簽名俘獲應(yīng)用程序的控制下,把該手寫簽名的一個圖像的壓縮位圖表示存儲在該簽名包中。
50.在帶有客戶應(yīng)用程序、簽名俘獲應(yīng)用程序和簽名驗證應(yīng)用程序的計算機系統(tǒng)中,一種基于計算機的方法,用來俘獲和驗證電子文件上的手寫簽名的電子表示,該方法包括如下步驟在該客戶應(yīng)用程序的控制下,a、顯示一個文件的圖像,b、請求該簽名俘獲應(yīng)用程序俘獲一個手寫簽名;在該簽名俘獲應(yīng)用程序的控制下,c、使用戶能電子輸入一個手寫簽名,d、電子俘獲該用戶的該手寫簽名,e、計算一組與該手寫簽名有關(guān)的測量結(jié)果,f、把關(guān)于該手寫簽名的測量結(jié)果組存儲在一個簽名包中,g、把該用戶的聲明身份的一個指示存儲在該簽名包中,h、建立該文件的校驗和,I、把該校驗和存儲在該簽名包中,j、加密該簽名包以建立一個加密的簽名包,及k、把該加密的簽名包傳送給該客戶應(yīng)用程序,在該客戶應(yīng)用程序的控制下,l、把該加密的簽名包傳送給該簽名驗證應(yīng)用程序;及在該簽名驗證應(yīng)用程序的控制下,m、解密該加密的簽名包,n、從一個數(shù)據(jù)庫中檢索包括一組經(jīng)驗的對應(yīng)于該用戶的驗證手寫簽名的測量結(jié)果的一個模板,該用戶的聲明身份存儲在該簽名包中,o、把存儲在該簽名包中的測量結(jié)果組與在該模板中的驗證測量結(jié)果組相比較,以得到一個相似性得分,及p、把該相似性得分傳送給該客戶應(yīng)用程序。
51.在帶有客戶應(yīng)用程序、簽名俘獲應(yīng)用程序和簽名驗證應(yīng)用程序的計算機系統(tǒng)中,一種基于計算機的方法,用來俘獲和驗證電子文件上的手寫簽名的一個電子表示,該方法包括如下步驟在該客戶應(yīng)用程序的控制下a、顯示第一文件的圖像,b、請求該簽名俘獲應(yīng)用程序俘獲一個手寫簽名,在該簽名俘獲應(yīng)用程序的控制下,c、使用戶能電子輸入手寫簽名,d、電子俘獲該用戶的該手寫簽名,e、計算一組關(guān)于該手寫簽名的測量結(jié)果,f、把關(guān)于該手寫簽名的測量結(jié)果組存儲在一個簽名包中,g、建立該第一文件的第一校驗和,h、把該第一校驗和存儲在該簽名包中,I、加密該簽名包以建立一個加密的簽名包,及j、把該加密的簽名包傳送給該客戶應(yīng)用程序;在該客戶應(yīng)用程序的控制下,k、把該加密的簽名包傳送給該簽名驗證應(yīng)用程序;及在該簽名驗證應(yīng)用程序的控制下,l、解密該加密的簽名包,m、建立第二文件的第二校驗和,n、把存儲在該簽名包中的該第一校驗和與該第二校驗和相比較,以查明該第一文件是否與該第二文件相同,及o、把該第一文件是否與該第二文件相同通知該客戶應(yīng)用程序。
52.根據(jù)權(quán)利要求51所述的方法,其中,該簽名俘獲應(yīng)用程序在第一計算機處理器上執(zhí)行,而該簽名驗證應(yīng)用程序在第二計算機處理器上執(zhí)行。
53.根據(jù)權(quán)利要求51所述的方法,其中,該測量結(jié)果組包括平均筆畫長度。
54.根據(jù)權(quán)利要求51所述的方法,其中,該測量結(jié)果組包括平均下筆時間。
55.根據(jù)權(quán)利要求51所述的方法,其中,該測量結(jié)果組包括加速和減速最大值的數(shù)目。
56.根據(jù)權(quán)利要求55所述的方法,其中,該測量結(jié)果組包括在每一筆畫中的最慢點的位置之和。
57.根據(jù)權(quán)利要求51所述的方法,還包括步驟在該簽名俘獲應(yīng)用程序的控制下,把簽名的時間和日期存儲在該簽名包中。
58.根據(jù)權(quán)利要求51所述的方法,還包括步驟在該簽名俘獲應(yīng)用程序的控制下,把代表一個計算機處理器的一個身份標(biāo)識的指示符存儲在該簽名包中,該計算機處理器正在執(zhí)行該客戶應(yīng)用程序。
59.根據(jù)權(quán)利要求58所述的方法,還包括步驟在該簽名俘獲應(yīng)用程序的控制下,把該手寫簽名的一個圖像的壓縮表示存儲在該簽名包中。
60.根據(jù)權(quán)利要求51所述的方法,還包括步驟在該簽名俘獲應(yīng)用程序的控制下,把該手寫簽名的一個圖像的壓縮位圖表示存儲在該簽名包中。
61.在帶有第一客戶應(yīng)用程序、第二客戶應(yīng)用程序、簽名俘獲應(yīng)用程序和簽名驗證應(yīng)用程序的計算機系統(tǒng)中,一種基于計算機的方法,用來俘獲和驗證一個手寫簽名的電子表示,該方法包括如下步驟在該第一客戶應(yīng)用程序的控制下,a、請求該簽名俘獲應(yīng)用程序俘獲一個手寫簽名,在該簽名俘獲應(yīng)用程序的控制下,b、使用戶能電子輸入一個手寫簽名,c、電子俘獲該用戶的該手寫簽名,d、計算一組關(guān)于該手寫簽名的測量結(jié)果,e、把關(guān)于該手寫簽名的測量結(jié)果組存儲在一個簽名包中,f、把該用戶的聲明身份的一個指示存儲在該簽名包中,g、加密該簽名包以建立一個加密的簽名包,及h、把該加密的簽名包傳送給該第一客戶應(yīng)用程序;在第一客戶應(yīng)用程序的控制下,I、把該加密的簽名包傳送給該第二客戶應(yīng)用程序;在該第二客戶應(yīng)用程序的控制下,j、把該加密的簽名包傳送給該簽名驗證應(yīng)用程序;及在該簽名驗證應(yīng)用程序的控制下,k、解密該加密的簽名包,l、從一個數(shù)據(jù)庫中檢索包括一組驗證的對應(yīng)于該用戶的驗證手寫簽名的測量結(jié)果的模板,該用戶的聲明身份存儲在該簽名包中,m、把存儲在該簽名包中的該測量結(jié)果組與在該模板中的驗證測量結(jié)果組相比較,以得到一個相似性得分,及n、把該相似性得分傳給該第二客戶應(yīng)用程序。
62.根據(jù)權(quán)利要求61所述的方法,還包括步驟在該第二客戶應(yīng)用程序的控制下,利用該相似性得分判定該用戶是否能訪問計算機系統(tǒng)中的一個或多個應(yīng)用程序和數(shù)據(jù)。
63.根據(jù)權(quán)利要求61所述的方法,還包括步驟在該第二客戶應(yīng)用程序的控制下,利用該相似性得分判定該用戶是否能賒購商品。
64.根據(jù)權(quán)利要求61所述的方法,其中,該簽名俘獲應(yīng)用程序在第一計算機處理器上執(zhí)行,而該簽名驗證應(yīng)用程序在第二計算機處理器上執(zhí)行。
65.根據(jù)權(quán)利要求61所述的方法,其中,該第一客戶應(yīng)用程序在第一計算機處理器上執(zhí)行,而該第二客戶應(yīng)用程序在第二計算機處理器上執(zhí)行。
66.根據(jù)權(quán)利要求65所述的方法,其中,該第一計算機處理器根據(jù)第一操作系統(tǒng)操作,而該第二計算機處理器根據(jù)第二操作系統(tǒng)操作。
67.根據(jù)權(quán)利要求65所述的方法,其中,該簽名俘獲應(yīng)用程序在該第一計算機處理器上執(zhí)行,而該簽名驗證應(yīng)用程序在該第二計算機處理器上執(zhí)行。
68.根據(jù)權(quán)利要求65所述的方法,其中,該簽名俘獲應(yīng)用程序在一個第三計算機處理器上執(zhí)行,而該簽名驗證應(yīng)用程序在一個第四計算機處理器上執(zhí)行。
69.一種基于計算機的系統(tǒng),用來建立一個電子文件的手寫簽名的電子表示,該系統(tǒng)包括如下裝置用來通過電子俘獲一個簽字人的手寫簽名使該簽字人能簽署一個第一文件的裝置;用來把一組關(guān)于該手寫簽名的測量結(jié)果存儲在一個簽名包中的裝置;用來建立該第一文件的第一校驗和的裝置;用來把該第一校驗和存儲在該簽名包中的裝置;用來把該簽字人的一個指示存儲在該簽名包中的裝置;及用來加密該簽名包以建立一個加密的簽名包的裝置。
70.根據(jù)權(quán)利要求69所述的系統(tǒng),還包括用來解密該加密的簽名包的裝置;用來驗證存儲在該簽名包中的手寫簽名是否是該簽字人的手寫簽名的裝置;用來建立一個第二文件的第二校驗和的裝置;及用來把該第二校驗和與存儲在該簽名包中的第一校驗和相比較,以判定該第二校驗和是否是該第一文件的一個真實表示的裝置。
71.根據(jù)權(quán)利要求70所述的系統(tǒng),還包括用來把加密的簽名包存儲在存儲器中的裝置。
72.一種簽名驗證局(bureau)系統(tǒng),包括多個第一處理器;用來俘獲手寫簽名,多個第一處理器的每一個包括用來使一個簽字人能把一個手寫簽名電子地輸入到該第一處理器中的裝置,用來電子俘獲該簽字人的手寫簽名的裝置,用來把一組關(guān)于該手寫簽名的測量結(jié)果存儲在一個簽名包中的裝置,用來輸入該簽字人的聲明身份的裝置,用來把該簽字人的聲明身份存儲在該簽名包中的裝置,用來加密該簽名包以建立一個加密的簽名包的裝置,及用來把該加密的簽名包傳送給一個遠(yuǎn)程簽名驗證局的裝置,及一個簽名驗證局,用來驗證諸手寫簽名,相對于該多個第一處理器的每一個位于遠(yuǎn)程但與這些處理器電子耦合,該簽名驗證局受第二處理器控制,該第二處理器耦合到諸簽名模板的一個數(shù)據(jù)庫上,該第二處理器包括用來從諸第一處理器中的一個中接收加密的簽名包的裝置,用來解密該加密的簽名包的裝置,用來訪問該數(shù)據(jù)庫以檢索一個對應(yīng)于該簽字人的聲明身份的簽名模板的裝置,每個簽名模板包括一組驗證的簽名測量結(jié)果,用來通過把存儲在該簽名包中的測量結(jié)果組與驗證的簽名測量結(jié)果組相比較來驗證這個手寫簽名的裝置,用來確定一個代表在存儲在該簽名包中的測量結(jié)果組與驗證的簽名測量結(jié)果組之間的相似性的相似性得分的裝置,用來把該相似性得分傳送給諸第一處理器的這一個的裝置。
73.一種簽名驗證局系統(tǒng),包括多個第一處理器,用來俘獲諸手寫簽名,該多個第一處理器的每一個包括用來使一個簽字人能把一個手寫簽名以電子方式輸入到該第一處理器中的裝置,用來以電子方式俘獲該簽字人的手寫簽名的裝置,用來把一組關(guān)于該手寫簽名的測量結(jié)果存儲在一個簽名包中的裝置,用來輸入該簽字人的聲明身份的裝置,用來把簽字人的聲明身份存儲在該簽名包中的裝置,用來加密該簽名包以建立一個加密的簽名包的裝置,及用來把該加密的簽名包傳給一個遠(yuǎn)程簽名驗證局的裝置;一個中央數(shù)據(jù)庫,用來存儲包括多個簽名模板的驗證手寫簽名數(shù)據(jù),每個簽名模板由簽字人的身份索引并包括用于所述簽字人的一組驗證的簽名測量結(jié)果,一個簽名驗證局,用來驗證諸手寫簽名,相對于該多個第一處理器的每一個位于遠(yuǎn)程但與這些處理器電子耦合,該簽名驗證局受一個耦合到中央數(shù)據(jù)庫上第二處理器控制,該第二處理器包括用來從諸第一處理器中的一個接收該加密的簽名包的裝置,用來解密該加密的簽名包的裝置,用來訪問該中央數(shù)據(jù)庫以檢索一個對應(yīng)于該簽字人的聲明身份的簽名模板的裝置,用來通過把存儲在該簽名包中的測量結(jié)果組與驗證的簽名測量結(jié)果組相比較來驗證這個手寫簽名的裝置,用來確定一個代表存儲在該簽名包中的測量結(jié)果組與驗證的簽名測量結(jié)果組之間的相似性的相似性得分的裝置,用來把該相似性得分傳給諸第一處理器的這一個的裝置。
全文摘要
一種基于計算機的方法和系統(tǒng),用來俘獲和驗證一個手寫簽名。該手寫簽名可以與一個文件,如一個電子存儲的文件有關(guān)。顯示該文件的一個圖像,并俘獲該手寫簽名(4)。確定一組關(guān)于該手寫簽名的測量結(jié)果,并存儲在一個簽名包(10)中。可選擇地,能確定該文件的一個校驗和,并將其存儲在該簽名包中。還可以把該簽字人的聲明身份存儲在該簽名包中。加密該簽名包(104)。可以把該簽名包傳給另一個應(yīng)用程序或計算機平臺(2b),或存儲起來用于以后驗證。解密該簽名包,并把存儲在該簽名包中的該測量結(jié)果組與已知的手寫簽名測量結(jié)果組相比較,以驗證簽字人的身份(6)。該系統(tǒng)包括存儲驗證的簽名信息的諸簽名模板的一個數(shù)據(jù)庫(12)。把驗證的簽名測量結(jié)果組與存儲在該簽名包中的測量結(jié)果組相比較,以得到一個相似性得分。本發(fā)明包括一個重要性提示特征(22),以在文件的本質(zhì)、嚴(yán)重性和/或內(nèi)容方面警告該簽字人。也可以把該重要性提示(22)存儲在該簽名包中作為該簽名記錄的部分。
文檔編號G07C9/00GK1159238SQ9519533
公開日1997年9月10日 申請日期1995年8月29日 優(yōu)先權(quán)日1994年8月31日
發(fā)明者克里斯托弗·保羅·肯尼斯·斯米西絲, 杰勒米·馬克·紐曼 申請人:佩里弗羅·威星有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
萨迦县| 依兰县| 泽普县| 陵水| 屏东县| 屯门区| 苏尼特左旗| 抚松县| 章丘市| 龙川县| 东兰县| 双峰县| 连州市| 益阳市| 荥经县| 新余市| 油尖旺区| 伊金霍洛旗| 乾安县| 抚宁县| 遂昌县| 新闻| 石家庄市| 广丰县| 化州市| 湘潭县| 邹平县| 水城县| 南安市| 花莲市| 大庆市| 习水县| 于田县| 洪洞县| 祁阳县| 闽侯县| 五家渠市| 依兰县| 阆中市| 马山县| 共和县|