国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      為電子裝置提供可信軟件的方法

      文檔序號(hào):6595135閱讀:142來(lái)源:國(guó)知局
      專(zhuān)利名稱(chēng):為電子裝置提供可信軟件的方法
      技術(shù)領(lǐng)域
      本發(fā)明涉及軟件分發(fā)領(lǐng)域,更具體地涉及建立對(duì)在經(jīng)由通用計(jì)算機(jī)發(fā)送到電子裝置的軟件更新的來(lái)源和可靠性的信任。
      背景技術(shù)
      為個(gè)人計(jì)算機(jī)分發(fā)軟件更新的過(guò)程已從其中新版軟件在諸如磁盤(pán)或光盤(pán)的物理數(shù)據(jù)存儲(chǔ)介質(zhì)上傳遞到用戶(hù)的物理傳遞模式演化到其中新版本可以從網(wǎng)絡(luò)資源下載的基于網(wǎng)絡(luò)的模式。在基于網(wǎng)絡(luò)的模式中,開(kāi)始更新的主動(dòng)權(quán)可以在于用戶(hù)或者在于軟件提供商。Donohue [US 6199204B (D0N0HUE, SEAMUS) 2001-03-06]公開(kāi)了一種基于網(wǎng)絡(luò)的軟件更新機(jī)制,其中,用戶(hù)運(yùn)行更新器代理,該代理檢查相關(guān)軟件更新的可用性,并且如果需要?jiǎng)t裝載軟件更新。隨著用戶(hù)可能不再物理地檢驗(yàn)軟件更新提供商的身份,基于網(wǎng)絡(luò)的模式使得在被下載軟件的來(lái)源和可靠性方面建立信任的問(wèn)題更加突出。該問(wèn)題可以通過(guò)加密方法來(lái)解決。更具體地,公鑰加密可以用于利用軟件提供商的私鑰對(duì)軟件發(fā)布進(jìn)行數(shù)字地簽名,允許用戶(hù)利用軟件提供商的容易使用的公鑰來(lái)檢驗(yàn)發(fā)布的來(lái)源和可靠性。公鑰加密還可以用于檢驗(yàn)針對(duì)除了個(gè)人計(jì)算機(jī)之外的電子裝置而電子分發(fā)的軟件的來(lái)源和可靠性。一旦裝置由最終用戶(hù)管理,則這關(guān)系到該裝置的固件以及可以添加或更新的任何應(yīng)用程序。例如,Wysocki 等人的[US 20070028120A(WYS0CKI, CHRISTOPHER R.)]公開(kāi)了一種升級(jí)便攜式電子裝置上的軟件的方法,在其中特別包括以下操作在便攜式電子裝置處接收加密的軟件模塊,在電子裝置處對(duì)加密的軟件模塊進(jìn)行解密,認(rèn)證解密的軟件模塊,以及在所述解密和所述認(rèn)證成功完成后將該軟件模塊裝載到便攜式電子裝置上。所引用的申請(qǐng)進(jìn)一步描述了可以通過(guò)檢驗(yàn)數(shù)字簽名來(lái)執(zhí)行認(rèn)證。本發(fā)明旨在提供一種對(duì)電子裝置的預(yù)備軟件更新的改進(jìn)方法,具體地提供了一種裝置,該裝置被期望以安全地方式進(jìn)行操作并且該裝置受最終用戶(hù)的控制。

      發(fā)明內(nèi)容
      技術(shù)問(wèn)題通過(guò)檢驗(yàn)軟件模塊中的程序代碼(或者根據(jù)程序代碼計(jì)算出的散列值)上的加密簽名(優(yōu)選地使用公鑰加密生成的簽名),來(lái)更好地解決對(duì)軟件模塊的來(lái)源和可靠性的檢驗(yàn)。這種簽名必須利用軟件提供商的私鑰來(lái)生成,并且可以利用軟件提供商的對(duì)應(yīng)公鑰進(jìn)行檢驗(yàn),該公鑰應(yīng)當(dāng)被提供給電子裝置并認(rèn)證給電子裝置,或者預(yù)先裝載到電子裝置中。通過(guò)與簽名的數(shù)據(jù)一起提供一組證書(shū)來(lái)實(shí)現(xiàn)對(duì)公鑰的認(rèn)證,這組證書(shū)中的每一個(gè)證書(shū)均包括特定公鑰屬于所陳述的簽署人的陳述。這組證書(shū)必須形成完整的鏈條,使得實(shí)際用于簽署該軟件模塊的密鑰的可靠性可以在一步或更多步中追蹤回到最終認(rèn)證授權(quán),該最終認(rèn)證授權(quán)的公鑰被預(yù)先加載在電子裝置中。當(dāng)這種安全范例被應(yīng)用于簡(jiǎn)單的電子裝置中時(shí)出現(xiàn)了幾個(gè)技術(shù)問(wèn)題。
      諸如密鑰、簽名和證書(shū)的加密資料作為表示數(shù)據(jù)容器的位串進(jìn)行數(shù)字互換,其結(jié)構(gòu)和編碼必須被資料的發(fā)送者和接收者所了解。因此,采用幾種適當(dāng)?shù)臄?shù)據(jù)結(jié)構(gòu),并且特別地以 RSA Laboratories' PKCS#7 標(biāo)準(zhǔn)[RSALaboratories. PKCS#7 加密消息語(yǔ)法標(biāo)準(zhǔn) 1. 5 版.Redwood市RSA實(shí)驗(yàn)室,1993]來(lái)標(biāo)準(zhǔn)化這些互換。在XML簽名語(yǔ)法和處理規(guī)范[萬(wàn)維網(wǎng)協(xié)會(huì).XML簽名語(yǔ)法和處理,第二版,由EASTLAKE,Donald等人編輯,W3C,2008]中找到基于XML的替換說(shuō)明。
      為了方便標(biāo)準(zhǔn)化和實(shí)現(xiàn),以形式語(yǔ)言描述了諸如在PKCS#7中圖示示出的標(biāo)準(zhǔn)化數(shù)據(jù)結(jié)構(gòu)。為了實(shí)現(xiàn)此目的的最廣泛使用的形式語(yǔ)言為抽象語(yǔ)法標(biāo)記一(ASN. 1),其以規(guī)范 X. 208以及其后續(xù)的ITU-T規(guī)范X. 680 [ITU-T. X. 680-信息技術(shù)-抽象語(yǔ)法標(biāo)記一(ASN. 1) 基本標(biāo)記的說(shuō)明.07/2002版.日內(nèi)瓦國(guó)際電信聯(lián)盟,2003]中的CCITT進(jìn)行開(kāi)發(fā)并標(biāo)準(zhǔn)化。如果數(shù)據(jù)結(jié)構(gòu)的ASN. 1描述確定哪個(gè)元素必須或可以被呈現(xiàn),以及它們應(yīng)當(dāng)屬于哪個(gè)類(lèi)型,則不能強(qiáng)迫對(duì)該數(shù)據(jù)進(jìn)行特定的二進(jìn)制表示。然而,非常重要地,數(shù)據(jù)的發(fā)送者和接收者也同意這種表示。幾種編碼標(biāo)準(zhǔn)解決協(xié)調(diào)二進(jìn)制表示的問(wèn)題,最恰當(dāng)?shù)亩M(jìn)制表示已知為基于CCITT規(guī)范X. 209及其后續(xù)的ITU-T規(guī)范X. 690 [ITU-T. X. 690-信息技術(shù)-基本編碼規(guī)則(BER)的說(shuō)明,規(guī)范編碼規(guī)則(CER)和唯一編碼規(guī)則(DER). 07/2002版。日內(nèi)瓦 國(guó)際電信聯(lián)盟,2003]的基本編碼規(guī)則(BER)、規(guī)范編碼規(guī)則(CER)和唯一編碼規(guī)則(DER)。 DER提供了數(shù)據(jù)的含糊二進(jìn)制表示,其包括八位字節(jié)形式的關(guān)于其數(shù)據(jù)類(lèi)型以及其長(zhǎng)度的每個(gè)對(duì)象信息,因此單個(gè)變量可以被看作以標(biāo)簽長(zhǎng)度值(TLV)實(shí)體進(jìn)行編碼。為了靈活地應(yīng)對(duì)可能在數(shù)據(jù)源處或在傳送期間產(chǎn)生的誤差,處理以復(fù)雜數(shù)據(jù)結(jié)構(gòu)進(jìn)行編碼的對(duì)象的任何過(guò)程,例如作為本發(fā)明的目的的軟件更新過(guò)程,應(yīng)當(dāng)檢驗(yàn)所接收數(shù)據(jù)是否符合期望的標(biāo)準(zhǔn)化結(jié)構(gòu),以及TLV實(shí)體是否內(nèi)在地一致。這種檢驗(yàn)根據(jù)數(shù)據(jù)結(jié)構(gòu)的復(fù)雜性將要求相當(dāng)大量的存儲(chǔ)和處理,這可能超過(guò)一些仍需要安全下載數(shù)據(jù)的低成本電子裝置的能力。因此,本發(fā)明的第一目的在于提高檢驗(yàn)過(guò)程的效率。通常發(fā)布具有清楚有效期限的證書(shū)。當(dāng)私鑰有時(shí)會(huì)遭到損壞時(shí),在其有效期之前密鑰和證書(shū)還將被吊銷(xiāo)。吊銷(xiāo)可以通過(guò)證書(shū)吊銷(xiāo)列表(CRL)來(lái)通知公鑰的預(yù)期用戶(hù),通常經(jīng)由網(wǎng)絡(luò)可獲得該CRL,且應(yīng)該在每次使用附屬于第三方公鑰的證書(shū)之前進(jìn)行協(xié)商??蛇x地,可以經(jīng)由在線證書(shū)狀態(tài)協(xié)議(OCSP)在線查找特定證書(shū)的狀態(tài)。因此,本發(fā)明的另一目的在于提供一種在目標(biāo)的安全軟件更新過(guò)程中考慮有效期和吊銷(xiāo)信息的方式。Wysocki等人的方法適用于高端便攜式電子裝置,例如便攜式媒體播放器和移動(dòng)電話,其具有足夠的處理能力來(lái)對(duì)所接收的軟件模塊執(zhí)行所有所需的操作,包括對(duì)軟件模塊的內(nèi)容的有效性和一致性執(zhí)行所有所需的檢驗(yàn)。可以期望具有用于電子裝置的同等安全的軟件更新方法,該電子裝置由于對(duì)其生產(chǎn)成本的經(jīng)濟(jì)約束而限制了其處理能力、沒(méi)有內(nèi)部時(shí)鐘或者沒(méi)有內(nèi)部連接性。低成本電子裝置的一個(gè)目標(biāo)分類(lèi)包括認(rèn)證裝置,更具體地包括安全智能卡讀卡機(jī),該讀卡機(jī)通常用于在電子商務(wù)和電子銀行網(wǎng)站上檢驗(yàn)用戶(hù)。在智能卡的多變的世界中,經(jīng)常發(fā)明新的功能。智能卡讀卡機(jī)難以保證可以無(wú)限支持未知的未來(lái)智能卡。因此,可升級(jí)生是智能卡讀卡機(jī)的關(guān)鍵特征,從而該應(yīng)用功能可以被添加到該安全讀卡機(jī)中。該可升級(jí)性必須保證讀卡機(jī)的可信性,以及該過(guò)程不應(yīng)將較重的負(fù)載施加到讀卡機(jī)中的(有限)存儲(chǔ)器上。進(jìn)一步可以期望安全軟件更新方法提供對(duì)驗(yàn)證多級(jí)證書(shū)鏈而不是僅驗(yàn)證簽名的支持。
      技術(shù)方案本發(fā)明基于可以在通用計(jì)算機(jī)(后文中具有附接至其的電子裝置的主機(jī))以及電子裝置本身之間有利地劃分檢驗(yàn)用于電子裝置的軟件模塊的來(lái)源和可靠性所需的操作的考慮。更具體地,存儲(chǔ)和諸如語(yǔ)法檢查的處理密集任務(wù)在主機(jī)處執(zhí)行,而諸如加密檢驗(yàn)的安全關(guān)鍵任務(wù)在在電子裝置處執(zhí)行到電子裝置能夠執(zhí)行的程度。盡管優(yōu)選地通過(guò)電子裝置執(zhí)行所有與安全相關(guān)的任務(wù),但本發(fā)明提供了由主機(jī)執(zhí)行特定安全任務(wù)的可能性。有利地在主機(jī)處執(zhí)行的第一組安全任務(wù)包括超過(guò)電子裝置能力的這些任務(wù)。雖然從安全的角度來(lái)看是次優(yōu)的,但本方法對(duì)于不在執(zhí)行這些安全任務(wù)來(lái)說(shuō)是優(yōu)選的。有利地在主機(jī)處執(zhí)行的第二組安全任務(wù)包括通常也可以在電子裝置處執(zhí)行但優(yōu)選地在主機(jī)處運(yùn)行的任務(wù),以這種方式可以避免預(yù)先已知其將被電子裝置拒絕的軟件模塊被傳送到電子裝置。這在如果不適當(dāng)?shù)挠行лd荷被允許下載則電子裝置將以劣化或“成塊的”狀態(tài)結(jié)束的情況下是特別感興趣的。這可以是在資源非常有限的裝置情況,數(shù)據(jù)存儲(chǔ)空間不足迫使利用新固件重寫(xiě)現(xiàn)存固件,從而一旦成功完成安全檢查則僅激活新固件。如果后者不成功,則不激活新固件,而舊固件將不再可用。因此,本發(fā)明用于更新電子裝置上的軟件的方法包括兩組檢驗(yàn),一組在主機(jī)上,一組在電子裝置上。主機(jī)用于獲得和存儲(chǔ)用于電子裝置的軟件模塊,其包括有效載荷(其可以包括實(shí)際程序代碼、固件圖像、將被電子裝置執(zhí)行的命令、配置參數(shù)、用于認(rèn)證的要素、或可以影響電子裝置的信任等級(jí)的數(shù)據(jù)的任意其他主體)、有效載荷上的簽名、和可選地屬于用于生成和檢驗(yàn)有效載荷上的簽名的密鑰的可靠性的一組證書(shū)。優(yōu)選地,根據(jù)標(biāo)準(zhǔn)化格式來(lái)建立軟件模塊。一組證書(shū)可以包括一個(gè)或更多個(gè)證書(shū),如果僅存在一個(gè)證書(shū),則應(yīng)當(dāng)認(rèn)證用于有效載荷上的簽名的密鑰,并通過(guò)其公鑰被預(yù)先加載到電子裝置中的認(rèn)證授權(quán)來(lái)進(jìn)行簽名。如果未提供證書(shū),則應(yīng)當(dāng)通過(guò)其公鑰被預(yù)先加載在電子裝置中的實(shí)體來(lái)生成軟件模塊上的簽名。公鑰在電子裝置中的預(yù)先加載可以在電子裝置到最終用戶(hù)的分發(fā)之前進(jìn)行,并且尤其稍后可以通過(guò)可根據(jù)本發(fā)明的方法下載的特定“管理應(yīng)用程序”來(lái)替換密鑰。管理應(yīng)用程序從主機(jī)或從其應(yīng)用代碼本身檢索新公鑰,并且在將新公鑰存儲(chǔ)到電子裝置中之前該管理應(yīng)用程序執(zhí)行任何適當(dāng)?shù)陌踩?、環(huán)境、或其他檢查和/或用戶(hù)交互。主機(jī)可以是臺(tái)式個(gè)人計(jì)算機(jī)、筆記本電腦、手持計(jì)算機(jī)等。其可以具有網(wǎng)絡(luò)連接,以從網(wǎng)絡(luò)資源獲得軟件模塊,或者可選地其可以從可移動(dòng)存儲(chǔ)介質(zhì)檢索軟件模塊。主機(jī)應(yīng)當(dāng)具有足夠的存儲(chǔ)和處理能力,以不僅發(fā)起和保護(hù)軟件模塊獲取過(guò)程,而且還關(guān)注軟件模塊的譯碼;即,其執(zhí)行還包括ASN. 1-定義結(jié)構(gòu)的譯碼和驗(yàn)證的結(jié)構(gòu)檢驗(yàn)。 如果通過(guò)主機(jī)的檢驗(yàn)成功,則優(yōu)選地在請(qǐng)求電子裝置的最終用戶(hù)的允許之后,實(shí)際有效載荷數(shù)據(jù)(例如,電子裝置的程序代碼或中間檢驗(yàn)密鑰)可以被下載到電子裝置。電子裝置將依次從來(lái)自主機(jī)的數(shù)據(jù)結(jié)構(gòu)中檢索組分,并在其安全環(huán)境中執(zhí)行簽名檢驗(yàn)和證書(shū)檢驗(yàn)(如果有的話)。除評(píng)估證書(shū)(鏈)的加密正確性之外,電子裝置還評(píng)估提供軟件模塊(其身份被認(rèn)證)的實(shí)體實(shí)際上是否被授權(quán)以為可疑的電子裝置提供軟件模塊。加密認(rèn)證過(guò)程必須在電子裝置中執(zhí)行,以不必折衷證書(shū)(鏈)和數(shù)據(jù)的完整性。然而, 通過(guò)可以作為存儲(chǔ)器和/或處理加強(qiáng)器的主機(jī)執(zhí)行的結(jié)構(gòu)認(rèn)證,無(wú)需被電子裝置復(fù)制。一旦電子裝置中的認(rèn)證成功,則可以安裝有效載荷程序,并且可以通過(guò)在主機(jī)和/或電子裝置上顯示的消息來(lái)通知最終用戶(hù)。在電子裝置處顯示消息被理解為包括將信息傳達(dá)至用戶(hù)的任意形式,例如,通過(guò)文本或圖形顯示、合成語(yǔ)音、蜂鳴聲等。在主機(jī)上顯示消息被理解為包括將信息傳達(dá)至計(jì)算機(jī)用戶(hù)或執(zhí)行程序的操作系統(tǒng)環(huán)境的任意形式,例如,通過(guò)在監(jiān)視器上的文本或圖形顯示、合成語(yǔ)音、蜂鳴聲、程序出口代碼等。
      除解析和檢驗(yàn)數(shù)據(jù)結(jié)構(gòu)的屬性之外,可以在主機(jī)處有利地執(zhí)行其他步驟。一個(gè)這種步驟為,如果存在則檢驗(yàn)包括在軟件模塊中的證書(shū)是否有效,即,檢驗(yàn)它們是否符合預(yù)期格式(例如,X. 509v3、RFC5280、RFC2528或本領(lǐng)域技術(shù)人員已知的其他格式)和/或根據(jù)包括在證書(shū)中的陳述和/或公鑰檢驗(yàn)它們是否包括來(lái)自認(rèn)證授權(quán)的加密聲音簽名。另一個(gè)這種步驟為例如通過(guò)重新布置項(xiàng)目的順序,通過(guò)將特定的最大尺寸應(yīng)用于將傳送的每個(gè)項(xiàng)目,或者通過(guò)從數(shù)據(jù)結(jié)構(gòu)中去除冗余信息,來(lái)重新打包軟件模塊的內(nèi)容,以將其以更加可管理的形式呈現(xiàn)給電子裝置。再一個(gè)這種步驟為通過(guò)完成在線證書(shū)狀態(tài)協(xié)議(OCSP)查詢(xún),或者檢查證書(shū)吊銷(xiāo)列表(CRL),來(lái)檢查在軟件模塊中提供的證書(shū)是否被吊銷(xiāo);這與主機(jī)經(jīng)由諸如互聯(lián)網(wǎng)的網(wǎng)絡(luò)訪問(wèn)外部資源的情況存在特定相關(guān)性,這將與電子裝置本身無(wú)關(guān)。又一個(gè)這種步驟為檢查在軟件模塊中提供的證書(shū)是否在限制其有效性的日期范圍內(nèi)使用,這與電子裝置不具有以精確且可信的方式跟蹤當(dāng)前日期的系統(tǒng)時(shí)鐘的情況存在特定相關(guān)性。主機(jī)還可以有利地檢驗(yàn)在軟件模塊中提供的簽名。為了執(zhí)行加密驗(yàn)證,主機(jī)必須訪問(wèn)與用于生成簽名的密鑰相關(guān)的公鑰。如果軟件模塊中存在證書(shū),或者可選地可以從諸如網(wǎng)絡(luò)資源的不同來(lái)源處獲得證書(shū),則可以在證書(shū)之一中發(fā)現(xiàn)公鑰。在后一種情況中,主機(jī)應(yīng)使用與預(yù)先存儲(chǔ)在電子裝置中的公鑰相同的公鑰。主機(jī)可以了解哪個(gè)公鑰被預(yù)先存儲(chǔ)在電子裝置中,或者可選地主機(jī)可以查詢(xún)電子裝置,以了解預(yù)先加載了哪個(gè)公鑰。電子裝置對(duì)該查詢(xún)的響應(yīng)可以包括其自身的公鑰、根據(jù)該公鑰計(jì)算的散列或指紋、或者明確標(biāo)識(shí)對(duì)電子裝置上的軟件行使最終授權(quán)的實(shí)體(例如,電子裝置的制造商、提供商或擁有者)的任意其他表示。主機(jī)可以執(zhí)行其他有用的檢查,例如,檢驗(yàn)用于生成軟件模塊中的加密資料的算法是否是電子裝置所支持的算法,以及在程序代碼的情況下檢驗(yàn)有效載荷的特征,例如,其是否對(duì)應(yīng)于具有正確標(biāo)題、版本號(hào)、大小或其他特征的程序。本發(fā)明因此提供一種用于以可信方式更新電子裝置中的軟件的方法,其中,在連接到電子裝置的主機(jī)系統(tǒng)以及電子裝置本身之間劃分檢驗(yàn)步驟。因此,本發(fā)明還提供了包括用于主機(jī)系統(tǒng)的程序的存儲(chǔ)介質(zhì),使得該主機(jī)系統(tǒng)能夠關(guān)于用于附接電子裝置的軟件更新執(zhí)行檢驗(yàn)步驟,并與所述電子裝置適當(dāng)交互。有益效果本發(fā)明允許簡(jiǎn)單的電子裝置能夠通過(guò)以下步驟在用于更新固件、數(shù)據(jù)或功能性的軟件模塊中達(dá)到更高等級(jí)的可信度與訪問(wèn)外部資源的主機(jī)系統(tǒng)合作,在主機(jī)和目標(biāo)電子裝置之間有效地劃分檢驗(yàn)該軟件模塊所需的步驟。作為主機(jī)的資源-包括存儲(chǔ)、處理能力、 網(wǎng)絡(luò)訪問(wèn)和系統(tǒng)時(shí)鐘-這些在目標(biāo)電子裝置中不存在,之前不能在目標(biāo)電子裝置內(nèi)實(shí)施的檢查現(xiàn)在可以在將軟件模塊傳送到目標(biāo)電子裝置之前在主機(jī)處執(zhí)行。因此,大大降低了在目標(biāo)電子裝置中安裝流氓更新的風(fēng)險(xiǎn)。


      如在附圖中示出的,根據(jù)以下對(duì)本發(fā)明的幾個(gè)實(shí)施例的更具體描述,本發(fā)明的以上和其他特征 和優(yōu)點(diǎn)將是明顯的。圖1示出了連接至主機(jī)101的電子裝置100,主機(jī)101可以訪問(wèn)存儲(chǔ)軟件模塊的資源 102。圖2是示出本發(fā)明的方法的流程圖,其表示在每個(gè)步驟處動(dòng)作是在主機(jī)處執(zhí)行還是在電子裝置處執(zhí)行。圖3示例性地示出了包括在軟件模塊301中的數(shù)據(jù)結(jié)構(gòu)如何被翻譯,以訪問(wèn)在主機(jī)101處的各個(gè)組件302-304 (其提取數(shù)據(jù)的功能通過(guò)符號(hào)示出)。圖4是示出了根據(jù)本發(fā)明的作為存儲(chǔ)在計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)上的程序的流程圖。
      具體實(shí)施例方式在優(yōu)選實(shí)施例中,通過(guò)使主機(jī)101具體化的個(gè)人計(jì)算機(jī)以及使電子裝置100具體化的安全智能卡讀卡機(jī)來(lái)實(shí)現(xiàn)該方法。優(yōu)選地,安全智能卡讀卡機(jī)通過(guò)USB連接103連接到個(gè)人計(jì)算機(jī)。該方法包括使用個(gè)人計(jì)算機(jī)從服務(wù)器102下載201軟件模塊301,該軟件模塊包括含有用于安全智能卡讀卡機(jī)的新的或更新的應(yīng)用程序或固件的有效載荷302、簽名303以及可選的一組證書(shū)304。該方法進(jìn)一步包括在個(gè)人計(jì)算機(jī)101處根據(jù)軟件模塊的內(nèi)容層次檢驗(yàn)202所述軟件模塊301,該軟件模塊優(yōu)選為以DERTLV實(shí)體編碼的符合PKCS#7 的消息。如果檢驗(yàn)成功203,則個(gè)人計(jì)算機(jī)101可選地重新打包205軟件模塊301并將其 (或?qū)⑵渲匦麓虬奶崛〉慕M件302-304)傳送206至安全智能卡讀卡機(jī)100。在第二檢驗(yàn) 207中,安全智能卡讀卡機(jī)100檢驗(yàn)在有效載荷302上的簽名303,并且可選地檢驗(yàn)在逐漸引導(dǎo)至預(yù)先存儲(chǔ)的根公鑰的證書(shū)鏈304中的每個(gè)密鑰。一旦成功檢驗(yàn)208,則安裝210有效載荷302。更普通地,本發(fā)明的方法包括在主機(jī)101處獲得201軟件模塊301,所述軟件模塊 301包括有效載荷302和簽名303 ;在所述主機(jī)101處檢驗(yàn)202所述軟件模塊301 ;—旦成功檢驗(yàn)203,則將所述軟件模塊301從所述主機(jī)101傳送206到電子裝置100 ;在所述電子裝置100處檢驗(yàn)207所述簽名303 ;如果所述第二檢驗(yàn)成功208,則在所述電子裝置100處對(duì)所述有效載荷302進(jìn)行操作。如果所述第一檢驗(yàn)不成功203,則過(guò)程失敗204。如果所述第二檢驗(yàn)不成功208,則過(guò)程失敗209。在本發(fā)明的一個(gè)實(shí)施例中,所述第一檢驗(yàn)包括檢查所述軟件模塊的內(nèi)部結(jié)構(gòu)的正確性。在更具體的實(shí)施例中,對(duì)照以ASN. 1定義標(biāo)準(zhǔn)化的一組語(yǔ)法規(guī)則,或者更具體地對(duì)照 PKCS#7消息語(yǔ)法,來(lái)檢查所述內(nèi)部結(jié)構(gòu)。在其他更具體的實(shí)施例中,對(duì)照XML簽名規(guī)范來(lái)檢查所述內(nèi)部結(jié)構(gòu)。在另一具體實(shí)施例中,對(duì)照編碼規(guī)則,或者更具體地對(duì)照基本編碼規(guī)則或唯一編碼規(guī)則,來(lái)檢查所述內(nèi)部結(jié)構(gòu)。在本發(fā)明的一個(gè)實(shí)施例中,所述第一檢驗(yàn)包括檢查所述簽名的有效性。在更具體的實(shí)施例中,根據(jù)本發(fā)明的方法還包括在所述主機(jī)處從在所述電子裝置中獲得公鑰被預(yù)先加載在所述電子裝置中的表示。在本發(fā)明的一組實(shí)施例中,所述軟件模塊進(jìn)一步包括屬于用于生成所述簽名的密鑰的一組證書(shū),以及所述第二檢驗(yàn)進(jìn)一步包括檢驗(yàn)所述一組證書(shū)。在一個(gè)這種實(shí)施例中,所述第一檢驗(yàn)包括檢查所述一組證書(shū)中至少一個(gè)證書(shū)的有效性,具體地通過(guò)檢查是否通過(guò)驗(yàn)證授權(quán)正確地簽署了關(guān)于公鑰進(jìn)行的陳述。在另一這種實(shí)施例中,所述第一檢驗(yàn)包括檢查證書(shū)的格式。在又一這 種實(shí)施例中,所述第一檢驗(yàn)包括訪問(wèn)關(guān)于所述一組證書(shū)中的至少一個(gè)證書(shū)的證書(shū)吊銷(xiāo)列表。在再一這種實(shí)施例中,所述第一認(rèn)證包括完成關(guān)于所述一組證書(shū)中的至少一個(gè)證書(shū)的OCSP查詢(xún)。在再一實(shí)施例中,所述第一檢驗(yàn)包括對(duì)所述一組證書(shū)中的至少一個(gè)證書(shū)檢查當(dāng)前日期是否在所述至少一個(gè)證書(shū)的有效期內(nèi)。本發(fā)明的一些實(shí)施例還包括在所述主機(jī)處將所述軟件模塊重新打包為一個(gè)或更多個(gè)組件。當(dāng)多個(gè)組件得自所述重新打包時(shí),可以以預(yù)定順序或者在所述電子裝置的請(qǐng)求下被傳送到電子裝置。在本發(fā)明的一個(gè)實(shí)施例中,所述傳送經(jīng)由有線網(wǎng)絡(luò)進(jìn)行。更具體地,有線網(wǎng)絡(luò)可以包括通用串行總線鏈接。在本發(fā)明的另一實(shí)施例中,所述傳送經(jīng)由無(wú)線網(wǎng)絡(luò)進(jìn)行。更具體地,所述無(wú)線網(wǎng)絡(luò)可以包括藍(lán)牙鏈接。在本發(fā)明的一組實(shí)施例中,所述電子裝置為智能卡讀卡機(jī)。在本發(fā)明的一個(gè)實(shí)施例中,所述第二檢驗(yàn)包括確定所述一組證書(shū)中的第一證書(shū)是否簽署有私鑰,該私鑰的對(duì)應(yīng)公鑰被預(yù)先安裝在所述電子裝置中。在具體實(shí)施例中,所述有效載荷為用一個(gè)不同公鑰來(lái)代替所述預(yù)先安裝的公鑰的固件圖像。 在本發(fā)明的一個(gè)實(shí)施例中,所述方法還包括在所述裝載之前在所述電子裝置處顯示確認(rèn)消息并獲取用戶(hù)同意表示。在本發(fā)明的一組實(shí)施例中,對(duì)所述有效載荷的所述操作包括裝載程序代碼。在本發(fā)明的另一實(shí)施例中,對(duì)所述有效載荷的所述操作包括激活固件圖像。在本發(fā)明的又一實(shí)施例中,對(duì)所述有效載荷的所述操作包括執(zhí)行命令。在本發(fā)明的再一實(shí)施例中,對(duì)所述有效載荷的所述操作包括將公鑰存儲(chǔ)在所述電子裝置中。在根據(jù)本發(fā)明的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)的普通實(shí)施例中,介質(zhì)包括用于計(jì)算機(jī)的程序,當(dāng)該程序被執(zhí)行時(shí)使計(jì)算機(jī)能夠檢驗(yàn)401所述計(jì)算機(jī)能夠訪問(wèn)的軟件模塊,所述軟件模塊至少包括有效載荷、屬于所述有效載荷的簽名、以及符合用于生成所述簽名的密鑰的一組證書(shū);并且一旦成功檢驗(yàn)402,則將所述軟件模塊傳送405至電子裝置。如果所述第一檢驗(yàn)402不成功403,則不需要其他步驟。在介質(zhì)的一組實(shí)施例中,所述程序進(jìn)一步使所述計(jì)算機(jī)獲得406屬于所述簽名以及所述一組證書(shū)的、表示通過(guò)所述電子裝置進(jìn)行第二檢驗(yàn)的信息;以及顯示407表示所述檢驗(yàn)的信息。在本發(fā)明的一個(gè)實(shí)施例中,所述第一檢驗(yàn)包括檢查所述軟件模塊的內(nèi)部結(jié)構(gòu)的正確性。在更具體的實(shí)施例中,對(duì)照以ASN. 1定義來(lái)標(biāo)準(zhǔn)化的一組語(yǔ)法規(guī)則,或者更具體地對(duì)照PKCS#7消息語(yǔ)法,來(lái)檢查所述內(nèi)部結(jié)構(gòu)。在其他更具體的實(shí)施例中,對(duì)照XML簽名推薦的語(yǔ)法來(lái)檢查所述內(nèi)部結(jié)構(gòu)。在又一具體實(shí)施例中,對(duì)照編碼規(guī)則,或者更具體地對(duì)照基本編碼規(guī)則和唯一編碼規(guī)則來(lái)檢查所述內(nèi)部結(jié)構(gòu)。在計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)的一個(gè)實(shí)施例中,所述第一檢驗(yàn)包括檢查所述簽名的有效性。在更具體的實(shí)施例中,所述介質(zhì)上所包含的程序進(jìn)一步使計(jì)算機(jī)從所述電子裝置獲得公鑰被預(yù)先加載在所述電子裝置中的表示。在計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)的一組實(shí)施例中,所述軟件模塊還包括屬于用于生成所述簽名的密鑰的一組證書(shū)。在一個(gè)這種實(shí)施例中,所述第一檢驗(yàn)包括檢查所述一組證書(shū)中至少一個(gè)證書(shū)的有效性,具體地通過(guò)檢查認(rèn)證授權(quán)是否正確簽署了關(guān)于公鑰進(jìn)行的陳述。在另一個(gè)這種實(shí)施例中,所述第一檢驗(yàn)包括檢查證書(shū)的格式。在再一個(gè)這種實(shí)施例中,所述第一檢驗(yàn)包括訪問(wèn)關(guān)于所述一組證書(shū)中的至少一個(gè)證書(shū)的證書(shū)吊銷(xiāo)列表。在又一個(gè)實(shí)施例中,所述第一檢驗(yàn)包括完成關(guān)于所述一組證書(shū)中的至少一個(gè)證書(shū)的OCSP查詢(xún)。在其他實(shí)施例中,所述第一檢驗(yàn)包括針對(duì)所述一組證書(shū)中的至少一個(gè)證書(shū)檢查當(dāng)前日期是否位于所述至少一個(gè)證書(shū)的有效期內(nèi)。 計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)的一些實(shí)施例進(jìn)一步包括在所述主機(jī)處將所述軟件模塊重新打包為一個(gè)或更多個(gè)組件。當(dāng)多個(gè)組件得自所述重新打包時(shí),這些組件可以以預(yù)定的順序或者在所述電子裝置的請(qǐng)求下傳送到電子裝置。在介質(zhì)的一個(gè)實(shí)施例中,所述傳送經(jīng)由有線網(wǎng)絡(luò)進(jìn)行。更具體地,有線網(wǎng)絡(luò)可以包括通用串行總線鏈接。在本發(fā)明的另一實(shí)施例中,所述傳送經(jīng)由無(wú)線網(wǎng)絡(luò)進(jìn)行。更具體地, 所述無(wú)線網(wǎng)絡(luò)可以包括藍(lán)牙鏈接。在本發(fā)明的一組實(shí)施例中,所述電子裝置為智能卡讀卡機(jī)。雖然以上描述了本發(fā)明的各個(gè)實(shí)施例,但應(yīng)當(dāng)理解其僅以示例性的方式而非限制進(jìn)行示出。因此,本發(fā)明的寬度和范圍不被以上描述的示例性實(shí)施例中的任何實(shí)施例所限制,僅根據(jù)以下權(quán)利要求及其等同物來(lái)限定。
      權(quán)利要求
      1.一種用于更新電子裝置上的軟件的方法,包括在主機(jī)處獲得軟件模塊,所述軟件模塊至少包括有效載荷、以及屬于所述有效載荷的簽名;在所述主機(jī)處執(zhí)行所述軟件模塊的第一檢驗(yàn);如果所述第一檢驗(yàn)成功,則將所述軟件模塊從所述主機(jī)傳送到電子裝置;在所述電子裝置處執(zhí)行所述軟件模塊的第二檢驗(yàn),所述第二檢驗(yàn)包括使用所述電子裝置中的公鑰來(lái)驗(yàn)證所述簽名;以及如果所述第二檢驗(yàn)成功,則在所述電子裝置處對(duì)所述有效載荷進(jìn)行操作。
      2.根據(jù)權(quán)利要求1所述的方法,其中,所述第一檢驗(yàn)包括檢查所述軟件模塊的內(nèi)部結(jié)構(gòu)的正確性。
      3.根據(jù)權(quán)利要求2所述的方法,其中,對(duì)照以ASN.1定義來(lái)標(biāo)準(zhǔn)化的一組語(yǔ)法規(guī)則來(lái)檢查所述內(nèi)部結(jié)構(gòu)。
      4.根據(jù)權(quán)利要求3所述的方法,其中,所述語(yǔ)法規(guī)則為PKCS#7消息語(yǔ)法的子集。
      5.根據(jù)權(quán)利要求2所述的方法,其中,對(duì)照基于XML簽名格式的一組語(yǔ)法規(guī)則來(lái)檢查所述內(nèi)部結(jié)構(gòu)。
      6.根據(jù)權(quán)利要求2所述的方法,其中,對(duì)照編碼規(guī)則來(lái)檢查所述內(nèi)部結(jié)構(gòu)。
      7.根據(jù)權(quán)利要求6所述的方法,其中,所述編碼規(guī)則基于基本編碼規(guī)則、規(guī)范編碼規(guī)則或唯一編碼規(guī)則。
      8.根據(jù)權(quán)利要求1所述的方法,其中,所述第一檢驗(yàn)包括檢查所述簽名的有效性。
      9.根據(jù)權(quán)利要求8所述的方法,進(jìn)一步包括在所述主機(jī)處從所述電子裝置獲得公鑰被預(yù)先加載在所述電子裝置中的表示。
      10.根據(jù)權(quán)利要求1所述的方法,其中,所述軟件模塊進(jìn)一步包括屬于用于生成所述簽名的密鑰的一組證書(shū),并且其中,所述第二檢驗(yàn)進(jìn)一步包括驗(yàn)證所述一組證書(shū)。
      11.根據(jù)權(quán)利要求10所述的方法,其中,所述第一檢驗(yàn)包括檢查所述一組證書(shū)中的至少一個(gè)證書(shū)的有效性。
      12.根據(jù)權(quán)利要求10所述的方法,其中,所述第一檢驗(yàn)包括檢查所述一組證書(shū)中的至少一個(gè)證書(shū)的格式。
      13.根據(jù)權(quán)利要求10所述的方法,其中,所述第一檢驗(yàn)包括訪問(wèn)關(guān)于所述一組證書(shū)中的至少一個(gè)證書(shū)的證書(shū)吊銷(xiāo)列表。
      14.根據(jù)權(quán)利要求10所述的方法,其中,所述第一檢驗(yàn)包括完成關(guān)于所述一組證書(shū)中的至少一個(gè)證書(shū)的OCSP查詢(xún)。
      15.根據(jù)權(quán)利要求10所述的方法,其中,所述第一檢驗(yàn)包括針對(duì)所述一組證書(shū)中的至少一個(gè)證書(shū)來(lái)檢查當(dāng)前日期是否位于所述至少一個(gè)證書(shū)的有效期內(nèi)。
      16.根據(jù)權(quán)利要求1所述的方法,進(jìn)一步包括在所述主機(jī)處將所述軟件模塊重新打包為一個(gè)或更多個(gè)組件。
      17.根據(jù)權(quán)利要求1所述的方法,其中,所述傳送經(jīng)由有線網(wǎng)絡(luò)進(jìn)行。
      18.根據(jù)權(quán)利要求17所述的方法,其中,所述有線網(wǎng)絡(luò)包括至少一個(gè)通用串行總線鏈接。
      19.根據(jù)權(quán)利要求1所述的方法,其中,所述傳送經(jīng)由無(wú)線網(wǎng)絡(luò)進(jìn)行。
      20.根據(jù)權(quán)利要求19所述的方法,其中,所述無(wú)線網(wǎng)絡(luò)包括至少一個(gè)藍(lán)牙鏈接。
      21.根據(jù)權(quán)利要求1所述的方法,其中,所述電子裝置包括智能卡讀卡機(jī)。
      22.根據(jù)權(quán)利要求10所述的方法,其中,所述第二檢驗(yàn)包括確定所述一組證書(shū)中的第一證書(shū)是否簽署有私鑰,所述私鑰的對(duì)應(yīng)公鑰被預(yù)先裝載在所述電子裝置中。
      23.根據(jù)權(quán)利要求1所述的方法,進(jìn)一步包括在對(duì)所述有效載荷進(jìn)行操作之前在所述電子裝置處顯示確認(rèn)消息并獲取用戶(hù)同意表示。
      24.根據(jù)權(quán)利要求1所述的方法,其中,所述有效載荷包括程序代碼,以及所述對(duì)所述有效載荷進(jìn)行操作包括安裝所述程序代碼。
      25.根據(jù)權(quán)利要求1所述的方法,其中,所述有效載荷包括固件圖像,以及所述對(duì)所述有效載荷進(jìn)行操作包括激活所述固件圖像。
      26.根據(jù)權(quán)利要求1所述的方法,其中,所述有效載荷包括命令,以及所述對(duì)所述有效載荷進(jìn)行操作包括執(zhí)行所述命令。
      27.根據(jù)權(quán)利要求1所述的方法,其中,所述有效載荷包括公鑰,以及所述對(duì)所述有效載荷進(jìn)行操作包括將所述公鑰存儲(chǔ)在所述電子裝置中。
      28.—種包括程序的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),所述程序在被執(zhí)行時(shí)使計(jì)算機(jī)執(zhí)行對(duì)所述計(jì)算機(jī)可訪問(wèn)的軟件模塊的第一檢驗(yàn),所述軟件模塊至少包括有效載荷、 以及屬于所述有效載荷的簽名;以及如果所述第一檢驗(yàn)成功,則將所述軟件模塊傳送到電子裝置。
      29.根據(jù)權(quán)利要求28所述的介質(zhì),其中,所述程序進(jìn)一步使計(jì)算機(jī)獲得表示所述電子裝置對(duì)所述軟件模塊的第二檢驗(yàn)的信息,所述第二檢驗(yàn)包括使用所述電子裝置中的公鑰來(lái)驗(yàn)證所述簽名;以及顯示表示所述第二檢驗(yàn)的消息。
      30.根據(jù)權(quán)利要求28所述的介質(zhì),其中,所述第一檢驗(yàn)包括檢查所述軟件模塊的內(nèi)部結(jié)構(gòu)的正確性。
      31.根據(jù)權(quán)利要求30所述的介質(zhì),其中,對(duì)照以ASN.1定義來(lái)標(biāo)準(zhǔn)化的一組語(yǔ)法規(guī)則來(lái)檢查所述內(nèi)部結(jié)構(gòu)。
      32.根據(jù)權(quán)利要求31所述的介質(zhì),其中,所述語(yǔ)法規(guī)則為屬于PKCS#7消息語(yǔ)法的子集。
      33.根據(jù)權(quán)利要求30所述的介質(zhì),其中,對(duì)照基于XML簽名格式的一組語(yǔ)法規(guī)則來(lái)檢查所述內(nèi)部結(jié)構(gòu)。
      34.根據(jù)權(quán)利要求30所述的介質(zhì),其中,對(duì)照編碼規(guī)則來(lái)檢查所述內(nèi)部結(jié)構(gòu)。
      35.根據(jù)權(quán)利要求34所述的介質(zhì),其中,所述編碼規(guī)則基于基本編碼規(guī)則、規(guī)范編碼規(guī)則或唯一編碼規(guī)則。
      36.根據(jù)權(quán)利要求28所述的介質(zhì),其中,所述第一檢驗(yàn)包括檢查所述簽名的有效性。
      37.根據(jù)權(quán)利要求36所述的介質(zhì),其中,進(jìn)一步使所述計(jì)算機(jī)從所述電子裝置獲得公鑰被預(yù)先加載在所述電子裝置中的表示。
      38.根據(jù)權(quán)利要求28所述的介質(zhì),其中,所述軟件模塊進(jìn)一步包括屬于用于生成所述簽名的密鑰的一組證書(shū)。
      39.根據(jù)權(quán)利要求38所述的介質(zhì),其中,所述第一檢驗(yàn)包括檢查所述一組證書(shū)中的至少一個(gè)證書(shū)的有效性。
      40.根據(jù)權(quán)利要求38所述的介質(zhì),其中,所述第一檢驗(yàn)包括檢查所述一組證書(shū)中的至少一個(gè)證書(shū)的格式。
      41.根據(jù)權(quán)利要求38所述的介質(zhì),其中,所述第一檢驗(yàn)包括訪問(wèn)關(guān)于所述一組證書(shū)中的至少一個(gè)證書(shū)的證書(shū)吊銷(xiāo)列表。
      42.根據(jù)權(quán)利要求38所述的介質(zhì),其中,所述第一檢驗(yàn)包括完成關(guān)于所述一組證書(shū)中的至少一個(gè)證書(shū)的OCSP查詢(xún)。
      43.根據(jù)權(quán)利要求38所述的介質(zhì),其中,所述第一檢驗(yàn)包括針對(duì)所述一組證書(shū)中的至少一個(gè)證書(shū)來(lái)檢查當(dāng)前日期是否位于所述至少一個(gè)證書(shū)的有效期內(nèi)。
      44.根據(jù)權(quán)利要求28所述的介質(zhì),其中,進(jìn)一步使所述計(jì)算機(jī)將所述軟件模塊重新打包為一個(gè)或更多個(gè)組件。
      45.根據(jù)權(quán)利要求28所述的介質(zhì),其中,所述傳送經(jīng)由有線網(wǎng)絡(luò)進(jìn)行。
      46.根據(jù)權(quán)利要求45所述的介質(zhì),其中,所述有線網(wǎng)絡(luò)包括至少一個(gè)通用串行總線鏈接。
      47.根據(jù)權(quán)利要求28所述的介質(zhì),其中,所述傳送經(jīng)由無(wú)線網(wǎng)絡(luò)進(jìn)行。
      48.根據(jù)權(quán)利要求47所述的介質(zhì),其中,所述無(wú)線網(wǎng)絡(luò)包括至少一個(gè)藍(lán)牙鏈接。
      49.根據(jù)權(quán)利要求28所述的介質(zhì),其中,所述電子裝置包括智能卡讀卡機(jī)。
      全文摘要
      可以在具有附接至其的電子裝置的通用計(jì)算機(jī)(主機(jī))和電子裝置本身之間有利地劃分檢驗(yàn)用于電子裝置的軟件模塊的來(lái)源和可靠性的操作。更具體地,在主機(jī)處完成諸如語(yǔ)法檢查的存儲(chǔ)和處理密集任務(wù),而在電子裝置處完成諸如加密檢驗(yàn)的安全關(guān)鍵任務(wù)。本發(fā)明提供了一種以可信方式更新電子裝置上的軟件的方法,其中,在連接到電子裝置的主機(jī)系統(tǒng)和電子裝置本身之間劃分檢驗(yàn)步驟。本發(fā)明進(jìn)一步提供了包含用于主機(jī)系統(tǒng)的程序的存儲(chǔ)介質(zhì),使主機(jī)系統(tǒng)對(duì)用于附接的電子裝置的軟件更新執(zhí)行驗(yàn)證步驟,并適當(dāng)?shù)嘏c電子裝置交互。
      文檔編號(hào)G06F9/44GK102171652SQ200980139467
      公開(kāi)日2011年8月31日 申請(qǐng)日期2009年9月1日 優(yōu)先權(quán)日2008年9月2日
      發(fā)明者哈爾姆·布拉姆斯 申請(qǐng)人:威斯科數(shù)據(jù)安全國(guó)際有限公司
      網(wǎng)友詢(xún)問(wèn)留言 已有0條留言
      • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1