專利名稱:替換部件簽名列表文件的制作方法
技術領域:
本發明一般涉及飛行器,且特別涉及管理飛行器上軟件的方法和設備。更特別地,本公開涉及用于管理飛行器上的軟件或飛行器部件的計算機實現方法、設備和計算機可用 程序代碼。
背景技術:
現代飛行器是極度復雜的。例如,飛行器可具有許多類型的機載電子系統。飛行器 上的電子系統也可稱為外場可更換單元(LRU)。每個外場可更換單元可進一步呈現出各種 形式。外場可更換單元可以是,例如但不限于,飛行管理系統、自動駕駛儀、機上娛樂系統、 通信系統、導航系統、飛行控制器、飛行記錄器、防撞系統。諸如這些的外場可更換單元可使用軟件或編程以為各種操作和功能提供邏輯或 控制。這些外場可更換單元中使用的軟件也通常被視為航空業的部分。特別地,飛行器上 外場可更換單元中使用的軟件應用程序也可被獨立跟蹤并被稱為可加載軟件飛行器部件 (LSAP)或軟件飛行器部件。當某個實體(如航空公司)接收飛行器時,軟件飛行器部件通常已經安裝在飛行 器中的外場可更換單元上。在某些情形下,軟件飛行器部件需要重新安裝或重新加載到飛 行器上的外場可更換單元上。安裝或重新加載軟件是費時并且單調沉悶的。飛行器軟件部件開始被電子分配從而減少分配飛行器軟件部件所需要的時間和 人力。數字簽名用來確保飛行器軟件部件的安全。隨著飛行器簽名及其相應證書到期,有 時需要更新飛行器上的簽名有效性。因此,提供一種用于分配軟件飛行器部件和更新其數字簽名、解決上述和其他問 題的改進的方法和設備是有利的。
發明內容
有利實施例提供用于管理軟件飛行器部件的計算機實現的方法、設備和計算機程 序產品。在一個實施例中,計算機實現的方法創建替換部件簽名列表文件,該簽名列表文件 具有一組軟件飛行器部件的一組簽名。替換部件簽名文件列表被簽名,且替換部件簽名列 表文件設置在文件箱(crate)內從而形成裝箱的替換部件簽名列表文件。裝箱的替換部件 簽名列表文件被簽名以形成簽名的文件箱。簽名的文件箱被發送到飛行器數據處理系統。 飛行器數據處理系統上軟件飛行器部件的每個簽名被簽名文件箱中的相應簽名替代從而 形成飛行器數據處理系統上的一組當前簽名。在另一有利實施例中,一組軟件飛行器部件被識別。與該組軟件飛行器部件關聯 的一組簽名設置在文件中,并且文件作為軟件飛行器部件被送到飛行器數據處理系統。在又一有利實施例中,包含與一組軟件飛行器部件關聯的一組簽名的軟件飛行器 部件被飛行器接收。與一組軟件飛行器部件關聯的每個舊簽名被與飛行器上該組軟件飛行 器部件中的軟件飛行器部件關聯的替換部件簽名列表中的相應新簽名替代。
在另一有利實施例中,設備包括飛行器中的飛行器數據處理系統和位于飛行器數 據處理系統上的軟件應用程序。軟件應用程序能夠接收軟件飛行器部件,軟件飛行器部件 具有與飛行器數據處理系統中的一組軟件飛行器部件關聯的一組簽名。軟件應用程序也能 夠使用文件中該組簽名中的所選簽名驗證存儲在飛行器數據處理系統上該組軟件飛行器 部件中的所選軟件飛行器部件,從而形成驗證的軟件飛行器部件,并且能夠將驗證的軟件 飛行器部件加載到飛行器數據處理系統中的外場可更換單元上。在又一有利實施例中,計算機程序產品包括計算機可讀介質和存儲在計算機可讀 介質上的程序代碼。程序代碼包括識別一組軟件飛行器部件和將與該組軟件飛行器部件關 聯的一組簽名存入文件的代碼。該程序代碼還包括將文件作為軟件飛行器部件發送到飛行 器數據處理系統的代碼。可在本公開的不同實施例中獨立實現特征、功能和優點,或可在其他實施例中組 合特征、功能和優點,其中進一步的細節可參考下面的說明和附圖看出。
有利實施例中新型特征在權利要求中給出。然而,可參考本公開有利實施例的以 下詳細說明并結合附圖最佳理解有利實施例和優選使用模式、及其進一步目的和優點,其 中圖1是可實現有利實施例的數據處理系統的網絡的示意圖;圖2是根據示例性實施例的數據處理系統的示圖;圖3是根據有利實施例的重新簽名飛行器部件機制的示意圖;圖4是根據有利實施例的軟件飛行器部件管理系統的示意圖;圖5是根據有利實施例的外場可更換單元和飛行器數據處理系統的示圖;圖6是根據有利實施例的有效部件列表的示圖;圖7是根據有利實施例的替換部件簽名列表文件的示圖;圖8是根據有利實施例的采用軟件飛行器部件形式的替換部件簽名列表文件的 示意圖;圖9是根據有利實施例的替換部件簽名列表文件結構的示意圖;圖10是根據有利實施例的管理軟件飛行器部件過程的流程圖;圖11是根據有利實施例管理飛行器上軟件飛行器部件過程的流程圖;圖12是根據有利實施例接收替換部件簽名列表文件過程的流程圖;圖13是根據有利實施例加載軟件飛行器部件過程的流程圖;以及圖14是根據有利實施例處理替換部件簽名列表過程的流程圖。
具體實施例方式下面參考附圖且具體參考圖1-2,提供了可實現有利實施例的數據處理環境的示 例圖。應當理解圖1-2僅是示例性的而不是為了斷言或暗示關于可實現不同實施例的環境 的任何限制。可對所述環境做出許多修改。圖1示出數據處理系統網絡的示意圖,其中可實現本發明 的有利實施例。網絡數 據處理系統100是可實現實施例的計算機網絡。網絡數據處理系統100含網絡102,其是用于在網絡數據處理系統100內連接在一起的各種裝置和計算機之間提供通信鏈路的介質。 網絡102可包括連接,如有線、無線通信鏈路或光纜。在所示例子中,服務器104和服務器106與存儲單元/裝置108 —起連接到網絡 102。此外,客戶端110、112和114連接到網絡102。這些客戶端110、112和114可以是例 如個人計算機或網絡計算機。在所示例子中,服務器104向客戶端110、112和114提供數 據,如引導文件、操作系統映像和應用程序。在該例子中,客戶端110、112和114是服務器104的客戶端。飛行器116也是可與客戶端110,112和114交換信息的客戶端。飛行器116也可與服務器104和106交換信 息。飛行器116在飛行時可與不同計算機通過無線通信鏈路交換數據,或者當在地面上時 與不同計算機通過任何其他類型的通信鏈路交換數據。在這些例子中,可在網絡數據處理 系統100中實現有利實施例從而管理諸如飛行器116等飛行器上的軟件飛行器部件。具體 地,不同有利實施例提供用于管理簽名的計算機實現的方法、設備和計算機程序產品,所述 簽名用來驗證飛行器116上的軟件飛行器部件。網絡數據處理系統100可包括額外服務器、 客戶端和其他未顯示的裝置。在所示例子中,網絡數據處理系統100是因特網,其中網絡102表示使用傳輸控制 協議/網際協議(TCP/IP)族彼此進行通信的網絡和網關的全球集合。當然,網絡數據處理 系統100也可實現為多種不同類型的網絡,如內聯網、局域網(LAN)或廣域網(WAN)。圖1 用作不同實施例的一個示例,而非對不同實施例的架構限制。現在參看圖2,根據說明性實施例繪制了數據處理系統示圖。數據處理系統200是 可用于實現服務器和客戶端(如服務器104和客戶端110)的數據處理系統的例子。進一 步,數據處理系統200是可在圖1的飛行器116中找到的數據處理系統的例子。在該示例中,數據處理系統200包括通信光纖202,其提供處理器單元204、存儲器 206、永久存儲裝置208、通信單元210、輸入/輸出(I/O)單元212和顯示器214之間的通
fn °處理器單元204用來執行可加載到存儲器206中的軟件指令。根據特定實施,處理 器單元204可以是一個或更多處理器集合,或可以是多處理器核。進一步,處理器單元204 可利用一個或更多異構處理器系統實現,在異構處理器系統中一個主處理器和多個副處理 器同時存在于單個芯片上。作為另一個說明性例子,處理器單元204可以是含多個同類處 理器的對稱多處理器系統。在這些例子中,存儲器206可以是例如隨機存取存儲器或任何其他合適的易失性 或非易失性存儲裝置。根據特定實施,永久存儲裝置208可采用各種形式。例如,永久存儲 裝置208可含一個或更多組件或裝置。例如,永久存儲裝置208可以是硬驅、閃存、可重寫 光盤、可重寫磁帶或這些裝置的某種組合。永久存儲裝置208使用的介質可以是可移除的。 例如,可移除硬驅可用于永久存儲裝置208。在這些例子中,通信單元210提供與其他數據處理系統或裝置的通信。在這些例 子中,通信單元210是網絡接口卡。通信單元210可利用物理或無線通信鏈路中的一種或 兩種提供通信。輸入/輸出單元212允許與連接到數據處理系統200的其他裝置進行數據輸入和 輸出。例如,輸入/輸出單元212可經鍵盤和鼠標為用戶輸入提供連接。進一步,輸入/輸出單元212可發送輸出到打印機。顯示器214提供向用戶顯示信息的裝置。
操作系統的指令和應用程序或程序位于永久存儲裝置208中。這些指令可加載到 存儲器206中以由處理器單元204執行。不同實施例的處理可由處理器單元204使用計算 機實現的指令來執行,該計算機實現的指令可位于存儲器中,如存儲器206。這些指令被稱 為可由處理器單元204中的處理器讀取和執行的程序代碼、計算機可用程序代碼或計算機 可讀程序代碼。不同實施例中的程序代碼可包含在不同物理或有形計算機可讀介質上,如 存儲器206或永久存儲裝置208。程序代碼216以功能形式位于可選擇性地移除的計算機可讀介質218上并可加載 或傳送到數據處理系統200上以便由處理器單元204執行。這些例子中,程序代碼216和 計算機可讀介質218形成計算機程序產品220。在一個例子中,計算機可讀介質218可以 是有形的,如插入或置于硬驅或永久存儲裝置208的部件內以傳送到存儲裝置的光盤或磁 盤,存儲裝置如為作為永久存儲裝置208的部件的硬驅動。在有形的形式中,計算機可讀介 質218也可采用永久存儲裝置的形式,如硬驅動,拇指驅動(thumb drive)或連接到數據處 理系統200的閃存。有形形式的計算機可讀介質218也被稱為計算機可讀存儲介質。在某 些情形中,介質218是不可移除的。可替換地,程序代碼216可自計算機可讀介質218通過至通信單元210的通信鏈 路和/或至輸入/輸出單元212的連接傳送到數據處理系統200。在所示例子中,通信鏈路 和/或連接可以是物理或無線的。計算機可讀介質也可采用無形介質,如含程序代碼的通 信鏈接或無線傳輸。數據處理系統200中所示不同組件不是為了對實現不同實施例的方式提供架構 限制。不同說明性實施例可以在包括除數據處理系統200所示組件之外或替換數據處理系 統200所示組件的組件的數據處理系統中實現。圖2中所示其他組件可與所示例子不同。例如,總線系統可用來實現通信結構(communication fabric) 202并可包括一個 或更多總線,如系統總線或輸入/輸出總線。當然,總線系統可用任何合適類型的架構實 現,該架構提供連接到總線系統的不同組件或裝置之間的數據傳送。此外,通信單元可包括 一個或更多用來發送和接收數據的裝置,如調制解調器或網絡適配器。進一步,存儲器可以 是例如存儲器206或緩存,如可能在存在于通信結構202中的接口和內存控制中心(memory controller hub)找至Ij的緩存。不同有利實施例可與用數字簽名技術簽名的軟件飛行器部件一起使用。軟件飛行 器部件可以利用私鑰簽名。軟件飛行器部件的公鑰存儲在飛行器中。私鑰和公鑰結合用來 確定是否軟件飛行器部件來自預定或授權來源。公鑰用來驗證發送方簽名軟件飛行器部件 和軟件飛行器部件沒有被修改。修改可歸因于軟件飛行器部件的損壞或篡改。在不同的有利實施例中,公鑰存儲在飛行器數據處理系統上從而在軟件飛行器部 件被加載到飛行器內的外場可更換單元之前驗證這些軟件飛行器部件。該過程被稱為驗證 過程。換句話說,私鑰/公鑰對可用來確定軟件飛行器部件是可信的。在有利實施例中,當飛行器被航空公司接收時,公鑰從制造商公鑰改變為航空公 司公鑰。結果,當前位于飛行器上的軟件飛行器部件不再是已鑒定的。在這些情形中,航空 公司可使用已經以新私鑰簽名的軟件飛行器部件重新加載軟件飛行器部件。在后面某個時 間點需要時,軟件飛行器部件被重新加載到飛行器上的存儲裝置中。
軟件飛行器部件在被改變前有時可能存在于飛行器上十年或更多年。而密鑰在到期前通常僅有效約兩年。在簽名到期時可重新安裝軟件飛行器部件的一種方式是以新私鑰 簽名每個軟件飛行器部件并將所有軟件飛行器部件傳送到飛行器數據處理系統上進行存 儲。與新私鑰對應的公鑰被發送到飛行器數據處理系統。該類過程是昂貴和耗時的,并可 引起飛行器維護的延遲。不同的有利實施例認識到飛行器上該類軟件飛行器部件管理需要一種改進的管 理簽名的方法和設備以減少重新加載軟件飛行器部件所需要的時間量和人力。換句話說, 不同的有利實施例認識到,如果這些部件的簽名到期,則避免向飛行器數據處理系統重新 分配所有軟件飛行器部件是有益的。如果軟件飛行器部件的簽名已經到期或由于某種其他原因而不再有效,則需要將 軟件飛行器部件重新加載到飛行器中的外場可更換單元上。對于這種情形,軟件飛行器部 件必須使用新的有效私鑰重新簽名或再次簽名。如本文所使用的,術語重新簽名(resign)、 已重新簽名的(resigned)或正重新簽名(resigning)表示要傳達提供新簽名的動作。之 后,具有新簽名的軟件飛行器部件被重新加載到飛行器上的存儲器中。與該私鑰對應的新 公鑰被加載到飛行器數據處理系統中。如果需要,之后軟件飛行器部件可重新安裝到飛行 器中的外場可更換單元上。因此,提供一種用于分配飛行器部件、解決上述問題的改進的方法和設備是有利 的。現在參考圖3,其根據有利實施例示出了重新簽名飛行器部件機制的示意圖。在 該例子中,軟件飛行器部件管理系統300是用于實體的軟件管理系統,實體諸如航空公司、 維護修復和大修提供商(MRO)或軍隊航空中隊。軟件飛行器部件管理系統300可位于地面 數據處理系統中,如圖1中的服務器104,在該管理系統300上可管理和存儲軟件飛行器部 件。在這些例子中,飛行器數據處理系統302是飛行器上的計算機組,如圖1中飛行器 116上的計算機組。如在不同示例性例子中所使用的,“組”指一個或更多項。例如,計算機 組是一臺或更多臺計算機,簽名組是一個或更多個簽名。飛行器數據處理系統302包含具 有簽名的軟件飛行器部件。不再對具有新簽名的每個軟件飛行器部件進行重新分配,不同的有利實施例發送 新簽名而不發送軟件飛行器部件。簽名自存儲在地面上的軟件飛行器部件產生,且簽名用 在飛行器數據處理系統上以驗證飛行器上的軟件飛行器部件。在這些例子中,軟件飛行器部件是替換部件簽名列表文件304。該文件包含飛 行器數據處理系統302上的軟件飛行器部件的簽名。通過將飛行器數據處理系統302 上每個飛行器部件的每個新簽名列表設置在替換部件簽名列表文件304中,將只有該文 件而不是所有軟件飛行器部件被加載到飛行器數據處理系統302中。例如,飛行器機隊 (aircraftfleet)可具有500個以上的軟件飛行器部件,而一個飛行器可具有200個或更多 個要求簽名的軟件飛行器部件。替換部件簽名列表文件304包含每個軟件飛行器部件的新簽名。這些新簽名可替 換存儲在飛行器數據處理系統302上每個軟件飛行器部件的當前簽名。結果,當軟件飛行 器部件要加載到飛行器上的外場可更換單元時,存在有效簽名則允許軟件飛行器部件在加載到外場可更換單元上之前被驗證。如果簽名太老或過了有效期,則簽名可能過期。這種情形導致失效簽名。例如,但不限于,如果飛行器所有權變化,則也可能存在失效簽名。之 前所有者的簽名變為失效,即使該簽名沒有過期。現在參考圖4,其根據有利實施例示出了軟件飛行器部件管理系統的示圖。在該例 子中,軟件飛行器部件管理系統400是圖3中軟件飛行器部件管理系統300的一個實現示 例。在該例子中,軟件飛行器部件管理系統400包括軟件飛行器部件庫402、管理過程 404和用戶接口 406。這些軟件飛行器部件可以通過管理過程404進行管理。在這些例子 中,用戶可通過用戶接口 406操作管理過程404。管理過程404可用來向不同飛行器分配軟 件飛行器部件。管理過程可包括接收軟件飛行器部件以便將其包括到軟件飛行器部件庫402中 的過程。進一步,管理過程404包括用來驗證軟件飛行器部件庫402內軟件飛行器部件的 過程或代碼。進一步,管理過程404也可以在向軟件飛行器部件管理系統400所管理的不 同飛行器分配軟件飛行器部件以前簽名軟件飛行器部件庫402內的不同軟件飛行器部件。在這些例子中,簽名過程包括輸入軟件飛行器部件和私鑰到簽名算法中,該簽名 算法生成軟件飛行器部件的簽名作為輸入結果。不同有利實施例可使用可用的任何簽名算 法或過程。所用的特定算法或過程取決于特定實現。此外,在有利實施例中,管理過程404可用來生成替換部件簽名列表文件408。替 換部件簽名列表文件408可包含軟件飛行器部件庫402內一個以上的軟件飛行器部件的簽 名。在所示實施例中,這些簽名是“分離的簽名”,因為這些簽名并未集成為軟件飛行器部件 的一部分。在這些例子中,該文件可采用軟件飛行器部件的形式以加載到飛行器數據處理 系統上。替換部件簽名列表文件408也可具有數字簽名以表明包含該文件的部件的真實 性。在這些例子中,替換部件簽名列表文件408可以是包含簽名的可擴展標記語言(XML)數 據結構。在這些例子中,擴展標記語言簽名可用來簽名數據源,如軟件飛行器部件庫402。當簽名過期或由于某些原因不再有效,操作人員可從軟件飛行器部件庫402中選 擇一組軟件飛行器部件用于生成替換部件簽名列表文件408中的簽名。在其他實施例中, 軟件飛行器部件庫402中所有軟件飛行器部件可生成簽名并將其置于替換部件簽名列表 文件408中。有效的軟件飛行器部件是具有有效簽名的部件。替換部件簽名列表文件408 可被發送到飛行器以用來替換飛行器上軟件飛行器部件的過期簽名。在所示例子中,替換 部件簽名列表文件408以軟件飛行器部件的形式發送到飛行器數據處理系統。該形式用來 使飛行器數據處理系統接收含這些簽名的文件并將其存儲為軟件飛行器部件。該部件和其 他軟件飛行器部件一樣也被簽名。現在看圖5,其根據有利實施例示出了飛行器數據處理系統和外場可更換單元的 示圖。在該例子中,飛行器數據處理系統500和外場可更換單元502位于飛行器上。外場 可更換單元502是飛行器上執行不同功能的不同數據處理系統。例如,外場可更換單元502 可包括,例如機上娛樂系統、自動駕駛儀、飛行管理系統、液壓系統或空調單元。在該例子中,飛行器數據處理系統500包括504、存儲裝置506和數據加載功能裝 置510。機載電子分配系統504可存儲公鑰508。存儲裝置506存儲軟件飛行器部件516和簽名518。在這些例子中,簽名518與軟件飛行器部件516是彼此分開的數據結構。在這 些例子中,簽名518采用可擴展標記語言(XML)簽名的形式。在這些例子中,在部件被接收并且在加載到外場可更換單元502之前,機載電子 分配系統504執行軟件飛行器的驗證。在數據加載功能裝置將軟件飛行器部件加載到外場 可更換單元502之前,機載電子分配系統504用來驗證軟件飛行器部件516中的軟件飛行 器部件。機載電子分配系統504對軟件飛行器部件516中的軟件部件執行驗證過程,從而 確定是否可以將軟件通過數據加載功能裝置510加載到外場可更換單元502中的外場可更 換單元上。如果相應于要加載到外場可更換單元502的飛行器部件的簽名過期或由于其他 原因簽名失效,則數據加載功能裝置510不將軟件飛行器部件加載到外場可更換單元502。在不同的有利實施例中,替換部件簽名列表(APSL)文件520可通過機載電子分配 系統504作為軟件飛行器部件(如軟件飛行器部件522)被加載并存儲在存儲裝置506中。 替換部件簽名列表文件520中的簽名可用來替換簽名518內的失效簽名。結果,具有過期 簽名的軟件飛行器部件無需重新分配到飛行器數據處理系統500。當軟件飛行器部件516內的多個軟件飛行器部件的簽名過期時,該類特征特別有 禾|J。進一步,當新飛行器交付時,通過使用替換部件簽名列表文件520取代簽名518中的失 效簽名,不需要將軟件飛行器部件516全部重新分配。在其他有利實施例中,無需替換簽名518,機載電子分配系統504可檢查簽名518 內的當前簽名。如果當前簽名過期,則機載電子分配系統504可檢查替換部件簽名列表文 件520從而查看該軟件飛行器部件中是否存在相應的新簽名。如果替換部件簽名列表文件 520中存在相應的新簽名,則機載電子分配系統504可使用新簽名執行驗證。現在看圖6,其根據有利實施例示出了有效部件列表文件的示圖。有效部件編號 (number)列表文件600包含要包括在替換部件簽名列表文件中的部件列表。在該例子中, 部件602、604、606和608出現在有效部件編號列表文件600中。可通過用戶選擇軟件飛行 器部件庫中的部件創建這個文件。替換地,有效部件編號列表文件600可包括所有出現在 該庫中的部件編號。在其他實施例中,該文件可包含特定類型飛行器或特定種類飛行器中 的所有部件編號。現在參考圖7,示出了根據有利實施例的替換部件簽名列表文件的示圖。在該例 子中,替換部件簽名列表文件700包括圖6中有效部件編號列表文件600的部件602、604、 606和608的標識。該文件是圖3中替換部件簽名列表文件304、圖4中替換部件簽名列表 文件408和圖5中替換部件列表文件520的例子。此外,簽名702、704、706和708是為這 些不同部件生成的新的有效簽名。現在參考圖8,其根據有利實施例示出了采用軟件飛行器部件形式的替換部件簽 名列表文件的示圖。在該例子中,軟件飛行器部件800包括替換部件簽名列表文件802和頭 文件804。替換部件簽名列表文件802是文件,諸如圖7中的替換部件簽名列表文件700。在這些例子中,頭文件804是將替換部件簽名列表文件802識別為可加載軟件飛 行器部件的頭文件。在這些例子中,頭文件通過Aeronautical Radio, Incorporated公司 (ARINC)頒布的標準進行定義。這 些例子中,所用標準是ARINC 665。具體地,軟件飛行器 部件是航空公司可修改信息(AMI)軟件飛行器部件。該部件也包括將軟件飛行器部件文件800作為可加載到飛行器數據處理系統的部件進行識別的信息。現在參考圖9,其根據有利實施例示出了替換部件簽名列表文件的結構的示圖。在該例子中,替換部件簽名列表文件900包括唯一標識符902、日期/時間904、源906、替換部 件簽名列表文件部件編號908和簽名910。簽名910包括部件編號912和簽名主體914。在這些例子中,唯一標識符902是從其他列表或軟件飛行器部件中識別替換部件 簽名列表文件900的唯一標識符。日期/時間904是替換部件簽名列表文件900創建的日 期和時間。源906識別創建替換部件簽名列表文件900的源。例如,在這些例子中,源可以 是特定用戶或系統。替換部件簽名列表文件部件編號908識別作為特定飛行器部件的替換部件簽名 列表文件。部件編號912包含軟件飛行器部件的部件編號。在這些例子中,簽名主體914 是編碼的簽名擴展標記語言文件。當然,簽名主體914可使用擴展標記語言簽名以外的其 他類型的簽名。接下來參看圖10,其根據有利實施例示出了管理軟件飛行器部件過程的流程圖。 圖10中所示過程可在軟件飛行器部件管理系統中執行,如示例中圖4中的軟件飛行器部件 管理系統400。當然,根據特定實施,這些步驟可在其他數據處理系統或計算機設備中執行。該過程是從識別一組軟件飛行器部件開始的(操作1000)。該組軟件飛行器部件 可以通過多種不同方式識別。例如,用戶可從軟件飛行器部件庫中選擇該組軟件飛行器部 件。可替換地,該組軟件飛行器部件可由計算機實現的過程識別。例如,圖4中的管理過程 404可以不使用輸入識別圖4中軟件飛行器部件庫402中的部分或全部軟件飛行器部件從 而形成一組軟件飛行器部件。這種識別可基于一組規則做出。例如,一規則可規定選擇所 述軟件飛行器部件作為針對特定飛行器型號或飛行器制造商的任何軟件飛行器部件。然后,將與該組軟件飛行器部件關聯的一組簽名置于文件中(操作1002)。在這些 例子中,與特定軟件飛行器部件關聯的文件中的每個簽名是利用軟件飛行器部件生成的簽 名。在這些例子中,數字簽名是用私鑰創建的。位于飛行器上的公鑰用于驗證簽名。換句 話說,公鑰被用來確定與簽名關聯的軟件飛行器部件是否實際來自記錄的源和/或未被修 改。之后,該過程使用包含簽名的文件創建軟件飛行器部件(操作1004)。在這些例子 中,軟件飛行器部件可通過添加或關聯頭或頭文件(如圖8中的頭文件804)自包含軟件飛 行器部件簽名的文件創建。通過自包含數字簽名的文件創建軟件飛行器部件,數字簽名可 發送到飛行器數據處理系統,該過程是傳送軟件飛行器部件的常規過程的一部分。結果,不 必建立特別或不同的過程即可將簽名引入飛行器數據處理系統。飛行器數據處理系統為了 接收和存儲數字簽名的目的將這些數字簽名識別為軟件飛行器部件。該過程簽名部件(操作1006)。在這些例子中,簽名是用私鑰執行的。之后,公 鑰可用于證明部件是否為真的驗證中。然后,將簽名的部件置于文件箱(crate)中(操作 1008)。在這些例子中,文件箱是采用可存儲文件組(如軟件飛行器部件)的文件格式的文 件。文件箱中的該組文件可壓縮以減小其大小。換句話說,文件箱一個或更多項目的打包。 文件箱系統的例子是ZIP文件格式。另一個例子是Java , 檔案文件格式。這些類型的文 件也可用作不同有利實施例中的文件箱。然后,該過程簽名文件箱(操作1010)。操作1004-1010是可選步驟,可能用于有些而不是所有的有利實施例中。此時,簽名的文件箱準備發送到飛行器數據處理系統。該 過程發送部件到飛行器上的飛行器數據處理系統(操作1012)。在操作1012中,該部件可以通過多種不同方式發送到飛行器數據處理系統。例 如,無線通信鏈路可用于發送該部件到飛行器數據處理系統。借助該類通信鏈路,飛行器可 位于不同位置,如飛機跑道、登機候機樓、維護機構或空中。可替換地,文件可通過物理手段發送到飛行器數據處理系統。例如,操作人員可攜 帶包含文件的存儲裝置并連接存儲裝置到飛行器數據處理系統以將文件傳輸到飛行器數 據處理系統。該存儲裝置可以是,例如光盤、閃存或膝上型計算機的硬驅。 接下來參看圖11,其根據有利實施例示出了管理飛行器上軟件飛行器部件的過程 流程圖。圖11中所示過程可在飛行器數據處理系統中實現,如圖5中的飛行器數據處理系 統500。具體地,不同的示例性過程可在軟件組件中實現,如圖5中機載電子分配系統504 和數據加載功能裝置510。該過程從接收包含簽名組的文件開始(操作1100)。在這些例子中,文件以軟件飛 行器部件的形式被接收。當然,在其他實施例中,根據具體實施,文件可以不同于軟件飛行 器部件的形式被接收。作為例子,在其他實施例中,文件可作為可擴展標記語言文件接收。存儲文件(操作1102)。然后過程使用文件中與軟件飛行器部件對應的簽名加載 該軟件飛行器部件到飛行器上(操作1104)。然后過程結束。當存儲在飛行器數據處理系 統上的軟件飛行器部件將要被加載到飛行器中的外場可更換單元時發生該操作。與軟件飛 行器部件對應的數字簽名用于替換舊的數字簽名,該舊的數字簽名可能已經過期或由于其 他原因已經失效。現在參考圖12,其根據有利實施例示出了接收替換部件簽名列表文件的過程流程 圖。圖12中所示過程可在飛行器數據處理系統中實現,如圖5中的飛行器數據處理系統 500。具體地,不同過程可利用圖5中的機載電子分配系統504實現。該過程從接收包含作為軟件飛行器部件的替換部件簽名列表文件的文件箱開始 (操作1200)。該過程驗證文件箱和軟件飛行器部件上的簽名(過程1202)。這些例子中, 驗證可通過發送請求到圖5中控制器服務器模塊508執行。響應該請求,圖5中的控制器 服務器模塊508使用圖5中的機載驗證服務511和圖5中的公鑰512中的適當公鑰確定文 件箱和文件箱中的軟件飛行器部件是否可信。可以通過簽名效驗算法來驗證簽名。該類算法使用簽名或簽名的文件以及與用于 生成簽名的私鑰對應的公鑰。所用算法將取決于特定實施。確定驗證是否成功(操作1204)。如果驗證成功,則該過程在飛行器上的存儲器中 存儲替換部件簽名列表文件(操作1204)。在該例子中,存儲器可以是圖5中的存儲裝置 506。然后該過程處理替換部件簽名列表文件以供使用(操作1206),然后過程結束。在 操作1206中,替換部件簽名列表文件中的簽名可用來替換與軟件飛行器部件對應的舊簽名。在其他實施例中,可存儲和維護替換部件簽名列表文件而不用替換簽名。在該類 實施例中,如果對現有簽名的驗證過程失敗,則參考替換部件簽名列表文件確定是否存在 針對驗證失敗的軟件飛行器部件的簽名。如果簽名存在,則簽名被用來執行驗證。再參考操作1204,如果驗證不成功,則過程結束。現在參考圖13,其根據有利實施例示出了加載軟件飛行器部件的過程流程圖。圖13所示過程可在飛行器數據處理系統中實現,如圖5中的飛行器數據處理系統500。具體 地,該過程可利用圖5中的數據加載功能裝置510執行。該過程從接收加載軟件飛行器部件到外場可更換單元的請求開始(操作1300)。 在這些例子中,請求是由操作人員啟動的。當然,在其他實施例中,請求可通過其他機制啟 動。例如,事件可用來啟動該過程,如從航空公司服務器發送到飛行器數據處理系統的消 肩、ο定位軟件飛行器部件的數字簽名(操作1302)。利用定位的數字簽名執行對軟件 飛行器部件的驗證(操作1304)。確定驗證是否成功(操作1306)。如果數字簽名不再有 效,則驗證不成功。在這種情形中,定位替換部件簽名列表文件(操作1308)。確定軟件飛行器部件的 簽名是否存在于替換部件簽名列表文件(操作1310)中。如果簽名存在,則過程返回到操 作1304從而利用該定位的簽名執行驗證。驗證也可能由于其他原因失敗。例如,在這些例 子中,如果數字簽名和/或軟件飛行器部件損壞,則驗證失敗。否則,產生出錯信號(操作 1312),之后過程結束。再參考操作1306,如果軟件飛行器部件的驗證成功,則軟件飛行器部件從存儲器 加載到外場可更換單元(操作1314),然后過程結束。下面參考圖14,其根據有利實施例示出處理替換部件簽名列表的過程流程圖。在 該例子中,圖14中所示過程可在飛行器數據處理系統中執行,如圖5中的飛行器數據處理 系統500。具體地,可利用圖5中的機載電子分配系統504執行該過程。該過程從接收處理替換部件簽名列表的請求開始(操作1400)。確定替換部件簽 名列表是否可用以進行處理(操作1402)。如果替換部件簽名列表可用,則確定通用標識符 (UID)文件是否可用(操作1404)。如果通用標識符文件可用,則確定通用標識符文件中的通用標識符值是否與替換 部件簽名列表中的通用標識符值匹配(操作1406)。如果文件中的通用標識符值與替換 部件簽名列表中的通用標識符值不匹配,則過程讀取替換部件簽名列表文件中的部件編號 (操作 1408)。確定部件是否存在于飛行器數據處理系統中的機載存儲裝置中(操作1410)。在 該例子中,使用替換部件簽名列表文件中的部件編號并比較該編號和飛行器數據處理系統 上的額外部件來做出確定。如果部件存在于飛行器數據處理系統上,則過程使用替換部件 簽名列表中與部件編號對應的簽名替換部件簽名(操作1412)。然后,過程確定替換部件簽名列表文件中的部件編號是否是文件中最后的部件編 號(操作1414)。如果部件編號是最后的部件編號,則過程將替換部件簽名列表中的通用標 識符值寫入通用標識符文件(操作1416),然后過程結束。再參考操作1414,如果部件編號不是替換部件簽名列表文件中的最后部件編號, 則過程返回到操作1408以從替換部件簽名列表文件中讀取另一個部件編號。參考操作 1410,如果部件不存在于飛行器數據處理系統中,則過程繼續操作1414,如上所述。回到操作1406,如果文件中的通用標識符值與替換部件簽名列表中的通用標識符值匹配,則過程結束。再參考操作1404,如果通用標識符文件可用,則過程繼續操作1408, 如上所述。再參考操作1402,如果替換部件簽名列表不可用,則過程結束。不同所示實施例中的流程圖和方框圖示出設備、方法和計算機程序產品的某些可 能實施的架構、功能和操作。在這一點上,流程圖或方框圖中的每個方框可代表計算機可用 或可讀取程序代碼的模塊、段(segment)或部分,其包括一個或更多執行規定功能(一種或 多種)的可執行指令。在某些可替換實施中,方框中標注的功能可不以圖中給出的順序發 生。例如,在某些情形中,兩個連續示出的方框可基本同時執行,或方框有時可以逆序執行, 這取決于所涉及的功能。 因此,不同有利實施例提供計算機實現的方法、設備和計算機可用代碼以便管理 軟件飛行器部件。在不同有利實施例中,一組軟件飛行器部件被識別,與該組軟件飛行器部 件關聯的一組簽名被置于文件中。然后文件被發送到飛行器數據處理系統。文件中的簽名 可用來驗證位于飛行器上的該組軟件飛行器部件。通過這種方式,避免重新安裝數字簽名 過期的每個軟件飛行器部件。實際上,借助某些或所有不同有利實施例,只有數字簽名需要被發送給飛行器。發 送到飛行器的信息量的減少節省了網絡帶寬以及使用新數字簽名重新安裝每個軟件飛行 器部件當前所需的時間和開銷。不同有利實施例可采用全部硬件實施例、全部軟件實施例或含硬件和軟件元素的 實施例的形式。一些實施例是以軟件執行的,其包括但不限于諸如固件、常駐軟件和微代碼 的形式。而且,不同實施例可采用自計算機可用或計算機可讀介質可存取的計算機程序產 品的形式,該介質提供計算機或執行指令的任何裝置或系統使用的程序代碼或者與其結合 使用的程序代碼。為了公開的目的,計算機可用或計算機可讀介質通常是可包含、存儲、通 信、傳播、或傳輸程序以供指令執行系統、設備或裝置使用或與其結合使用的任何有形設 備。計算機可用或計算機可讀介質可以是例如但不限于電子、磁性、光學、電磁、紅外 或半導體系統或傳播介質。非限制的計算機可讀介質的例子包括半導體或固態存儲器、磁 帶、可移除計算機磁盤、隨機存取存儲器(RAM)、只讀存儲器(ROM)、硬磁盤(rigid magnetic disk)和光盤。光盤可包括只讀光盤(CD-ROM)、可讀/寫光盤(CD-R/W)和DVD。進一步,計算機可用或計算機可讀介質可含或存儲計算機可讀或可用程序代碼, 以便當計算機可讀或可用程序代碼在計算機上執行時,該計算機可讀或可用程序代碼的執 行引起計算機在通信鏈路上發送另一個計算機可讀或可用程序代碼。該通信鏈路可使用例 如但不限于實體或無線介質。適于存儲和/或執行計算機可讀或計算機可用程序代碼的數據處理系統包括一 個或更多處理器,所述處理器通過諸如系統總線等通信結構直接或間接耦合到存儲器元 件。存儲器元件可包括在實際執行程序代碼過程中采用的本地存儲器、大容量存儲器和為 至少某些計算機可讀或計算機可用程序代碼提供臨時存儲從而減少在代碼執行過程中從 大容量存儲器中檢索代碼的時間量的高速緩沖存儲器。輸入/輸出或I/O裝置可直接或通過中間I/O控制器耦合到系統。這些裝置可包 括,例如但不限于,鍵盤、觸摸屏顯示器和指向裝置。不同通信適配器也可耦合到系統,從而使得數據處理系統經中間私有或公共網絡耦合到其他數據處理系統或遠程打印機或存儲 裝置。非限制性的例子是調制解調器和網絡適配器,其僅是當前可用的幾種類型的通信適 配器。為了例示和說明的目的提供了不同有利實施例的說明,這些說明并不是為了窮舉 或限制實施例于公開的形式內。許多修改和變化對本領域技術人員來說是顯然的。例如, 雖然在這些例子中,替換部件簽名列表文件中的新簽名轉化為飛行器部件的形式或者以飛 行器部件的形式創建以分配到飛行器上,但是也可以使用其他形式。例如,簽名可作為數據 文件的部分發送,而非軟件飛行器部件,這取決于特定實施。進一步,有利實施例中所示的 這些過程可應用于其他類型的交通工具或設備。例如不同有利實施例可用于諸如潛水艇、 水面船只、汽車、太空船等交通工具,但 不限于此,其中軟件部件可從交通工具上的存儲器 重新加載到不同的數據處理系統。進一步,不同有利實施例可應用于存儲軟件部件的任何 裝置,這些軟件部件可重新加載到重新加載需要驗證的不同系統上。而且,不同有利實施例可提供與其他有利實施例相比不同的優點。實施例或者被 選擇的實施例之所以被選擇和說明是為了最佳地解釋實施例原理、實際應用,并使得本領 域其他普通技術人員能夠理解具有修改的實施例的公開同樣適合預期的特定使用。
權利要求
一種計算機實現的管理軟件飛行器部件的方法,所述計算機實現的方法包括創建替換部件簽名列表文件,該文件具有一組軟件飛行器部件的一組簽名;簽名所述替換部件簽名列表文件;將所述替換部件簽名列表文件設置在文件箱中從而形成裝箱的替換部件簽名列表文件;簽名所述裝箱的替換部件簽名列表文件從而形成已簽名文件箱;將所述已簽名文件箱作為軟件飛行器部件發送到飛行器數據處理系統;以及使用所述已簽名文件箱中對應的簽名替換所述飛行器數據處理系統上的軟件飛行器部件的每個簽名,從而在飛行器數據處理系統上形成一組當前簽名。
2.根據權利要求1所述的計算機實現的方法,其中所述發送步驟包括 發送所述已簽名文件箱到所述飛行器數據處理系統上的機載電子分配系統。
3.根據權利要求1所述的計算機實現的方法,進一步包括在加載到外場可更換單元之前用該組當前簽名的相應當前簽名驗證特定的軟件飛行 器部件。
4.根據權利要求3所述的計算機實現的方法,其中所述加載步驟由操作人員啟動。
5.一種計算機實現的管理軟件飛行器部件的方法,所述計算機實現的方法包括 識別一組軟件飛行器部件;將與該組軟件飛行器部件關聯的一組簽名設置在文件中;以及 將所述文件作為軟件飛行器部件發送到飛行器數據處理系統,其中該組簽名對應于現 有軟件飛行器部件。
6.根據權利要求5所述的計算機實現的方法,進一步包括 在所述飛行器數據處理系統中存儲所述軟件飛行器部件;使用所述軟件飛行器部件文件中該組簽名的所選簽名驗證存儲在所述飛行器數據處 理系統中的該軟件飛行器部件中所選軟件飛行器部件,從而形成已驗證的軟件飛行器部 件;以及加載所述已驗證的軟件部件到所述飛行器中的外場可更換單元上。
7.根據權利要求5所述的計算機實現的方法,其中所述加載步驟由操作人員啟動。
8.根據權利要求5所述的計算機實現的方法,進一步包括使用位于所述軟件飛行器部件的相應新簽名替換所述飛行器數據處理系統上的一組 軟件飛行器部件的每個舊簽名。
9.根據權利要求5所述的計算機實現的方法,其中每個舊簽名是過期簽名。
10.根據權利要求5所述的計算機實現的方法,其中所述設置步驟包括 將與該組軟件飛行器部件關聯的該組簽名設置在所述文件中;自所述文件創建所述軟件飛行器部件;簽名所述軟件飛行器部件從而形成已簽名軟件飛行器部件;將所述已簽名軟件飛行器部件設置在文件箱中從而形成裝箱的軟件飛行器部件。
11.根據權利要求5所述的計算機實現的方法,其中所述軟件飛行器部件存儲在文件 箱中。
12.根據權利要求5所述的計算機實現的方法,其中該組簽名是一組可擴展標記語言簽名。
13.一種計算機實現的管理軟件飛行器部件的方法,所述計算機實現的方法包括接收軟件飛行器部件,所述軟件飛行器部件包含與飛行器上的一組軟件飛行器部件關 聯的一組簽名;以及使用所述軟件飛行器部件中的相應新簽名替換和所述飛行器上的該組軟件飛行器部 件的每個軟件飛行器部件關聯的每個舊簽名。
14.根據權利要求13所述的計算機實現的方法,進一步包括 將與該組軟件飛行器部件組關聯的該組簽名設置在所述文件中; 使用所述文件形成所述軟件飛行器部件;以及將所述軟件飛行器部件發送到飛行器數據處理系統。
15.根據權利要求13所述的計算機實現的方法,其中所述替換步驟包括響應加載所述飛行器上的該組軟件飛行器部件中選擇的軟件飛行器部件的請求,使用 來自所述軟件飛行器部件的與所述選擇的軟件飛行器部件關聯的新簽名替代與所述選擇 的軟件飛行器部件關聯的舊簽名來驗證所述選擇的軟件飛行器部件;響應所述選擇的軟件飛行器部件被成功驗證,加載所述選擇的軟件飛行器部件到所述 飛行器上的外場可更換單元。
16.根據權利要求15所述的計算機實現的方法,其中所述請求是由飛行器技術人員發 出的。
17.一種設備,其包括飛行器中的飛行器數據處理系統;以及位于所述飛行器數據處理系統上的軟件應用程序,其中所述軟件應用程序能夠接收軟 件飛行器部件,該軟件飛行器部件具有與所述飛行器數據處理系統中的一組軟件飛行器部 件關聯的一組簽名,并且該軟件飛行器部件使用文件中該組簽名中選擇的簽名驗證存儲在 所述飛行器數據處理系統上該組軟件飛行器部件中選擇的軟件飛行器部件,從而形成驗證 的軟件飛行器部件,并且該軟件飛行器部件加載所述驗證的軟件部件到所述飛行器中的外 場可更換單元上。
18.根據權利要求17所述的設備,進一步包括 第二數據處理系統;以及位于所述第二數據處理系統上的軟件飛行器部件管理應用程序,其中所述軟件飛行器 部件管理應用程序能夠識別該組軟件飛行器部件;將與該組軟件飛行器部件關聯的該組簽 名設置在所述文件中;以及將所述文件作為軟件飛行器部件發送到所述飛行器數據處理系 統。
19.一種計算機程序產品,其包括 計算機可讀介質;用于識別一組軟件飛行器部件的程序代碼,其存儲在所述計算機可讀介質上; 將與該組軟件飛行器部件關聯的一組簽名設置在文件中從而形成軟件飛行器部件的 程序代碼,其存儲在所述計算機可讀介質上;以及發送所述軟件飛行器部件到飛行器數據處理系統的程序代碼,其存儲在所述計算機可 讀介質上。
20.根據權利要求19所述的計算機程序產品,其進一步包括 在所述飛行器數據存儲系統中存儲所述軟件飛行器部件的程序代碼,其存儲在所述計 算機可讀介質上; 使用所述軟件飛行器部件的該組簽名中選擇的簽名驗證所述飛行器數據處理系統上 存儲的該組軟件飛行器部件中選擇的軟件飛行器部件,從而形成驗證的軟件飛行器部件的 程序代碼,其存儲在所述計算機可讀介質上;以及將所述已驗證的軟件部件加載到所述飛行器數據處理系統中的外場可更換單元的程 序代碼,其存儲在所述計算機可讀介質上。
全文摘要
本發明公開了一種管理軟件飛行器部件的計算機實現的方法、設備和計算機程序產品。在一個實施例中,計算機實現的方法創建替換部件簽名列表部件,其具有存儲的一組軟件飛行器部件的一組簽名。該替換部件簽名列表部件被分配到飛行器數據處理系統。飛行器數據處理系統上存儲的一組軟件飛行器部件的每個簽名使用替換部件簽名列表部件中的對應簽名來替換,從而在飛行器數據處理系統上形成一組當前簽名。
文檔編號G06F9/44GK101842773SQ200880113905
公開日2010年9月22日 申請日期2008年11月26日 優先權日2007年11月27日
發明者B·克勞斯納, F·J·麥克萊恩, L·費謝斯, T·W·古爾德 申請人:波音公司