(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6969908
(24)【登録日】2021年11月1日
(45)【発行日】2021年11月24日
(54)【発明の名称】ハードウェアベースの高速且つセキュアな拡張・圧縮関数を提供するシステム及び方法
(51)【国際特許分類】
H04L 9/32 20060101AFI20211111BHJP
【FI】
H04L9/00 675A
【請求項の数】8
【外国語出願】
【全頁数】11
(21)【出願番号】特願2017-110602(P2017-110602)
(22)【出願日】2017年6月5日
(65)【公開番号】特開2018-26797(P2018-26797A)
(43)【公開日】2018年2月15日
【審査請求日】2020年6月1日
(31)【優先権主張番号】15/178,973
(32)【優先日】2016年6月10日
(33)【優先権主張国】US
(73)【特許権者】
【識別番号】500520743
【氏名又は名称】ザ・ボーイング・カンパニー
【氏名又は名称原語表記】The Boeing Company
(74)【代理人】
【識別番号】110002077
【氏名又は名称】園田・小林特許業務法人
(72)【発明者】
【氏名】ハース, ラースロー
【審査官】
中里 裕正
(56)【参考文献】
【文献】
特開平06−315027(JP,A)
【文献】
特開平09−093242(JP,A)
【文献】
特開平09−114373(JP,A)
【文献】
特開平10−224341(JP,A)
【文献】
特表2004−515001(JP,A)
【文献】
特開2013−019744(JP,A)
【文献】
特表2009−521059(JP,A)
【文献】
特表2008−515079(JP,A)
【文献】
国際公開第2004/086622(WO,A1)
【文献】
特表2013−524271(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04L 9/32
(57)【特許請求の範囲】
【請求項1】
少なくとも1つのプロセッサによって、データを符号化する方法であって、
第1の長さの入力データビット(102)を有する入力を受信するステップ、
前記入力データビット(102)を入力データビットの群に分割するステップであって、各群は少なくとも1つのビットを含むステップ、
入力データビットの各群に1つのサブキーが選択されるように、前記入力データビットの群に対して、鍵マテリアル(104)からサブキー(106a、106b、106c)を選択するステップ、及び
前記サブキー(106a、106b、106c)間で少なくとも1つのXOR演算を適用して、第2の長さの出力データビット(114)を有する出力を生成するステップ
を含み、
前記少なくとも1つのXOR演算が、XORゲート(108a、108b、110a、110b、112)のツリーによって実施され、前記XORゲート(108a、108b、110a、110b、112)のツリーが、各レイヤー内の前記XORゲートがそれらにつながるXORゲートの数に対して前記入力から同じ距離にあるように、レイヤー状にシンメトリックに配置されている、方法。
【請求項2】
前記入力データビットの群が連続的である、請求項1に記載の方法。
【請求項3】
前記第1の長さが前記第2の長さとは異なる、請求項1に記載の方法。
【請求項4】
前記サブキー(106a、106b、106c)が、前記鍵マテリアル(104)の幾つかのビットを共有する、請求項1に記載の方法。
【請求項5】
前記鍵マテリアル(104)が電子フリップフロップに記憶されている秘密マテリアルである、請求項1に記載の方法。
【請求項6】
レイヤー内の前記XORゲートがほぼ同時にスイッチする、請求項1に記載の方法。
【請求項7】
可逆Sボックス、不可逆Sボックス、及び一連の回転−加算−XOR演算からなる群から選択される非線形関数を、前記出力(114)に適用するステップを更に含む、請求項1に記載の方法。
【請求項8】
データを符号化するシステムであって、
第1の長さの入力データビット(102)を有する入力、
前記入力データビット(102)から分割された入力データビットの群であって、前記群の各々が少なくとも1つのビットを含む、入力データビットの群、
1つのサブキーが入力データビットの各群に対応するように、前記入力データビットの群の各々に対して、鍵マテリアル(104)から選択されたサブキー(106a、106b、106c)、及び
第2の長さの出力データビット(114)を有する出力であって、前記サブキー(106a、106b、106c)間での少なくとも1つのXOR演算の適用によって生成される、出力
を含み、
前記少なくとも1つのXOR演算が、XORゲート(108a、108b、110a、110b、112)のツリーによって実施され、前記XORゲート(108a、108b、110a、110b、112)のツリーが、各レイヤー内の前記XORゲートがそれらにつながるXORゲートの数に対して前記入力から同じ距離にあるように、レイヤー状にシンメトリックに配置されている、システム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、概して、データの暗号化及び認証に関し、特に、無作為なデータ拡張・圧縮関数を生成する改善されたシステム及び方法に関する。
【背景技術】
【0002】
航空産業は、重要な情報技術(IT)インフラが高信頼で機能することに大きく依存している。他の多くの産業と同様、航空産業は、そのようなITインフラに適切なセキュリティをもたらしサイバー上のイベントによる影響を抑えるという課題に直面している。サイバーイベントの例としては、データ接続、データ伝送、及びコンピューティングシステムを含む航空機のネットワークの動作を危殆化(compromise)するか或いは危殆化しようと試みる悪意ある又は不審なイベントが含まれる。
【0003】
暗号学の分野において、固定的ではあるが種々の入力長及び出力長を有するデータ拡張・圧縮関数の既知の用途が存在する。例えば、入力が徹底的にミックスされ、次いで一定の出力サイズに増大又は減少される場合などである。データ拡張関数の既知の用途の例は、メモリの暗号化のための鍵生成器、セキュアな通信における鍵のローリング、及びロングデータのパスにおけるアンバランス型ファイステル暗号(imbalanced Feistel ciphers)である。データ圧縮関数の既知の用途の例は、セキュアなハッシュ関数ブロックの構築、エントロピーソース及びホワイトニングの秘匿性増強、及びショートデータのパスにおけるアンバランス型ファイステル暗号である。
【0004】
データ拡張・圧縮関数の幾つかの望ましい特性は下記である。(1)すべての各入力ビットがすべての各出力ビットに影響を与え、(2)入力に対するシンプルな変更が出力ビットの約半分をフリップ(平均して)させ、且つ、(3)標準的な統計的ランダム性試験によれば、そのようなシンプルな変更が、対応する出力値の間で明らかな相関を生じない。シンプルな変更の例は、数ビットを同時に(約25%未満など)フリップすることであるか、或いは、約10命令長未満のコンピュータプログラムによってデータに変換を施すことであり得る。
【0005】
既知の拡張・圧縮関数は、大量の秘密鍵マテリアルに依存し得、秘密鍵マテリアルにアクセスのないオブザーバにとってはその挙動が予測不能となる。このようなタイプの情報セキュリティ用途はかなりのオペレーションタイムを要し、大量の電力を消費するのが典型的である。そのようなセキュリティ用途はまた、典型的に、特に拡張/圧縮関数の入力及び出力のうちの一方又は両方がオブザーバに隠されたままである場合、厳格な暗号学的要件を欠いている。しかしながら、攻撃者は依然として、それら関数の計算処理についてサイドチャネルにリークした情報を収集できるという重大な脅威が残ることになる。具体的には、データを処理している電子機器の動作中、応答時間の変化、入力データ及び秘密鍵に応じた電力の使用の変動、及び/又は超音波もしくは電磁波放射についての情報を含む、秘密鍵について又はセンシティブなデータについての何らかの情報がサイドチャネル(意図しない情報流布の物理的ソース)にリークし得る。これは秘密鍵マテリアルの発覚に繋がるか、或いは、その関数をある程度予測可能にしてしまい得、ITセキュリティ用途において重大なリスクを生じる。
【0006】
サイドチャネル漏洩に加えて、暗号及び暗号学的ハッシュ関数などの既知の拡張・圧縮関数は、入力及び出力バッファサイズが変更不可能(一定)であることによりフレキシブルでなく、非常に遅く、電力/エネルギーを多く消費する。また、そのような従来技術のシステムは、幾つかの商用及び軍用の航空用途では必要なセキュリティレベルが異なるか、或いは既存のソリューションよりも良好な性能を必要とするにも関わらず、固定されたセキュリティレベルを提供する。
【0007】
ゆえに、電子機器で実施する際に処理時間、システムの複雑性、電子回路のサイズ、及び電力使用を大幅に増大することなく、速くセキュアであって且つサイドチャネル漏洩を低減する、データの無作為な拡張・圧縮の改善されたシステム及び方法を有することが望まれている。
【発明の概要】
【0008】
先に述べた背景に鑑み、本開示の実装例は、データ符号化システム及び方法を提供する。方法は、第1の長さの入力データビットを有する入力を受信するステップ、入力データビットを入力データビットの群(各群は少なくとも1つのビットを含む)に分割するステップ、入力データビットの各群に1つのサブキーが選択されるように、入力データビットの群に対して鍵マテリアルからサブキーを選択するステップ、及び、サブキー間で少なくとも1つのXOR演算を適用して、第2の長さの出力データビットを有する出力を生成するステップ、を含む。システムは、第1の長さの入力データビットを有する入力、入力データビットから分割された入力データビットの群(群の各々が少なくとも1つのビットを含む)、1つのサブキーが入力データビットの各群に対応するように、入力データビットの群の各々に対して鍵マテリアルから選択されたサブキー、及び、サブキー間での少なくとも1つのXOR演算の適用によって生成された、第2の長さの出力データビットを有する出力、を含む。
【0009】
異なるサブキーが、鍵マテリアルのビットの幾つかを共有してもよい。秘密鍵マテリアルは、電子、磁気、又は光学式記憶デバイスなど、例えば電子フリップフロップ、電子ヒューズ、フラッシュメモリ、ダイナミックランダムアクセスメモリ(DRAM)、又はスタティックランダムアクセスメモリ(SRAM)などの記憶デバイスに記憶されている。少なくとも1つのXOR演算はXORゲートのツリーによって実施され得る。XORゲートは、各レイヤーのXORゲートがそれらにつながるXORゲートの数に対して入力から同じ距離にあるように、レイヤー状にシンメトリックに配置されている。レイヤー内のXORゲートはほぼ同時にスイッチする。
【0010】
第1の長さのデータと第2の長さのデータとの間に統計的な相関はない。第1の長さが第2の長さ以下である場合、データ拡張関数が実施される。第1の長さが第2の長さ以上である場合、データ圧縮関数が実施される。本開示の更なる実装態様では、出力に対して、可逆Sボックス、不可逆Sボックス、又は一連の回転−加算−XOR演算などの非線形関数が適用される。
【0011】
本書で述べる特徴、機能及び利点は、様々な例示の実行形態において個別に実現されるか、或いは更に別の例示の実行形態において組み合わされてもよく、それらの更なる詳細は以下の説明及び図面を参照して理解され得る。
【0012】
上述のように、本開示の実施例の実装を一般的な用語で説明した。ここからは添付図面を参照する。図面は必ずしも正確な縮尺で描かれているわけではない。
【図面の簡単な説明】
【0013】
【
図1】本開示の例示的な実装態様による、任意の入力及び出力サイズの拡張・圧縮関数についての論理図である。
【
図2】本開示の例示的な実装態様による、任意の入力及び出力サイズの拡張・圧縮関数の方法のブロック図である。
【
図3】航空機の製造及び保守方法のブロック図である。
【発明を実施するための形態】
【0014】
添付図面を参照して、本開示のいくつかの実施形態について、以下でより詳しく説明するが、添付図面には本開示の実施形態の一部が示されており、すべてが示されているわけではない。実際、本開示の様々な実施形態は、多くの異なる形で実施することができ、本明細書で説明される実施形態に限定されるものと解釈されるべきではなく、むしろ本開示が包括的で完全となるように、かつ当業者に本開示の範囲を十分に伝えるために、これらの例示的実施形態が提供される。例えば、特に明記されない限り、何かが「第1の」、「第2の」等のものであるという表現は、特定の順番を示すと解釈すべきではない。また、(特に明記されない限り)何か別のものの上にあると説明され得るものは、その代わりに下にあることもあり、逆もまた然りである。同様に、何か別の物の左にあると説明され得る物は、その代わりに右にあることもあり、逆もまた然りである。全体を通して、類似の参照番号は類似の要素を表している。
【0015】
本開示の例示的な実施態様は、主として航空用途に関連して説明されている。しかし、例示的な実行形態は、航空産業とそれ以外の両方における他の多種多様な応用に関連して利用され得ることを、理解すべきである。
【0016】
本開示の例示的な実施態様によれば、改善されたシステム及び方法が、任意の入力及び出力サイズを有するデータ拡張・圧縮関数を提供する。
【0017】
図1(100)及び2(200)に示すように、データ入力102が受信され(ブロック202)、連続したビット群へと分割される(ブロック204)。例えば、データ入力102の入力データビットが、入力データビットの連続的な群に分割され得る。
図1に示す例では、入力102がそれぞれ2ビットの群に分割されている。しかしながら、各群に少なくとも1つのビットが存在する限り、ビット群のサイズは様々であってよい。
【0018】
マルチプレクサによって、各ビット群に対して、秘密鍵マテリアル104からサブキー106a、106b、106cが選択される(ブロック206)。鍵マテリアル104は、電子フリップフロップ、電子ヒューズ、フラッシュメモリ、ダイナックランダムアクセスメモリ(DRAM)、又はスタティックランダムアクセスメモリ(SRAM)などの様々なタイプの電子、磁気、又は光学式記憶デバイスに記憶されていてよい。鍵マテリアル104が電子フリップフロップに保存される際には、データの物理的セキュリティが強化される。電子設計プロセスの合成ツールが、秘密鍵マテリアル104を保持する大きなメモリブロックが存在しないように、フリップフロップを通常ゲート間で分散するからである。大きなメモリブロックは微視的な検査によって識別されて集束イオンビームなどによるプロービングによって攻撃されることがあるので、これは望ましい。
【0019】
鍵マテリアル104から取ったサブキー106a、106b、106cは、同じビットが別のサブキー106a、106b、106cの同じビット位置に現れていない限り、幾つかのビットを共有していてもよい(サブキー106a、106b、106cに対するXOR演算がそのようなビットをキャンセルするので)。共有ビットの例は、サブキーが別のサブキーのビットごと回転バージョンである場合である。鍵マテリアル104のサブキーに対する他の複素マッピング(complex mapping)関数が可能である。これは、鍵マテリアル104のためのストレージのサイズが限られている場合に特に有用であり得る。
【0020】
図1及び2を再び参照すると、サブキー106a、106b、106cは、ビット毎にXORされて(XORゲート108a、108b、110a、110b、112で)出力114(ブロック208)を生成する。2入力のXORゲートツリー108a、108b、110a、110b、112によって、XOR演算の迅速な実施が達成され得る。しかしながら、代替的な実装態様では多重入力のXORゲートが用いられてもよい。入力102のサイズ及び出力114のサイズは互いに独立である。ゆえに、入力102のサイズが出力114のサイズ未満である場合は拡張関数である。一方、入力102のサイズが出力114のサイズよりも大きい場合は圧縮関数である。
【0021】
図1及び2に関して説明したデータ拡張・圧縮関数は、電子ハードウェアに容易に実装される。電子ハードウェアでは、関数はセキュア且つ速く、電力及びエネルギーをほとんど消費せず、サイドチャネル漏洩をほとんどもたらさない。本開示のデータ拡張・圧縮関数はまた下記の点で、上記で参照した所望の特性を満たす。(1)鍵マテリアル104がランダムデータを含む場合、入力102ビットに対するすべての変化により、出力114がランダムサブキー106a、106b、106cで変化させられて、すべての出力114ビットがそれぞれ影響され、(2)入力102に対するシンプルな変更、例えばビットのフリップなどにより、出力114が対応するサブキー106a、106b、106cの集合で変化させられ、(3)そのようなシンプルな変更が、標準的な統計的ランダム性試験によれば、入力102値と対応する出力114値との間で明らかな相関を生じない。
【0022】
本開示のデータ拡張・圧縮関数は、更に、電子ハードウェアへの実装に基づき、シンプルなXORゲート108a、108b、110a、110b、112によってサイドチャネル漏洩を低減する。従って、サイドチャネル漏洩の主なソースである、変化するデータを記憶するフリップフロップ又はデータレジスタが不要である。
図1に示すように、データ拡張・圧縮関数のゲート構造は高度に対称であり、各レイヤーのXORゲートが、それらに繋がるパス内のXORゲートの数に関して、入力102から同じ距離にあるように、XORゲート108a、108b、110a、110b、112はレイヤー状に配置されている。例えば、
図1に示す実装態様で、XORゲート108a、108bはレベル1に並べられており、XORゲート110a、100bはレベル2に並べられており、XORゲート112はレベル3に並べられている。特定の各レイヤー(レイヤー1、レイヤー2、レイヤー3)内のゲート108a、108b、110a、110b、112はほぼ同時にスイッチする。同時のスイッチイングイベントは何千と存在するので、個々のスイッチイングイベントの過渡が効果的にマスキングされる。また、XORゲート108a、108b、110a、110b、112は、数ピコ秒(ps)レンジの自身のスイッチイング過渡を有するので、それらを記録及び解析するには、現在入手可能な技術よりも桁違いに速いTHzレンジのサンプリングレートを有するデータ取得システムが必要であろう。従って、本開示によるデータ拡張・圧縮関数は、よりセキュア且つ攻撃を受けにくい。
【0023】
図1に示すような、データ拡張・圧縮関数を提供するシステムは、ビット選択及びXOR演算のみを用いるので、リニア構造(2値のガロア体内の)である。結果として、ある特定の出力114値の間で単純相関の入力102値に対応する何らかの複雑な4方向相関が存在し得る。出力114値は攻撃者から隠されたままであるので、ほとんどの用途においてこれは懸念とならない。しかしながら、強化したセキュリティが望まれる用途では、本開示のデータ拡張・圧縮関数が更に非線形関数によって処理されてもよい(ブロック210)。そのような非線形関数は、例えば、可逆置換ボックス(Sボックス)の並列コレクション、出力114に対してXORしたSボックスのコレクション(可逆Sボックスであり得る)の結果、又は、一連の回転−加算−XOR(RAX)演算、であり得る。
【0024】
上述のように、データを無作為に拡張及び圧縮するシステム及び方法を使用する利点が幾つか存在する。そのような拡張・圧縮関数は、従来技術による暗号学的方法よりも桁違いに速く、電子ハードウェアに実装される場合消費電力もはるかに少なく、且つサイドチャネルで処理しているデータについての情報漏えいがはるかに少ないので、従来技術による方法よりもセキュアである。ゆえに、配備されたシステムでは使用する電子部品の数が少なくて済み、コンピューティングシステムのコストと電力消費を抑えつつスピード(オペレーションタイム)が向上する。そのような改善されたシステムは、科学的・技術的計算、及び、航空機コンピュータのセキュリティサブシステム、軍用及び宇宙用プログラム、企業ネットワーク、パーソナル・ラップトップコンピュータ、スマートモバイル機器、及びセキュアな通信ネットワークに使用され得る。
【0025】
本開示の例示的な実施態様によれば、本開示のデータ拡張及び圧縮のための改善されたシステム及び方法の様々な構成要素は、単独での、或いは一又は複数のコンピュータプログラムコード指令、プログラム指令、もしくはコンピュータ可読記憶媒体からの実行可能なコンピュータ可読プログラムコード指令の指示下でのハードウェアを含む、様々な手段により実装され得る。
【0026】
一実施例では、本明細書に記載の、データを無作為に拡張及び圧縮するシステム及び方法として機能するか或いはその他の方法で実施するように構成された一又は複数の装置が提供され得る。複数の装置を含む実施例では、それぞれの装置が、有線又は無線ネットワークなどを介して直接的に又は間接的になど任意の数の異なる方法で互いに接続され、又はそうでなければ通信してよい。
【0027】
一般に、本開示のシステム及び方法の例示的な実装態様である装置は、上述のように、メモリ(例えば、記憶デバイス)に接続されたプロセッサ(例えば、プロセッサユニット)など、幾つかの構成要素のうちの一又は複数を含み得る。プロセッサは概して、たとえば、データ、コンピュータ可読プログラムコード、指令(ソフトウェア、ファームウェアなど、概して「コンピュータプログラム」)などの情報、及び/又は他の適する電子情報を処理できる任意のハードウェアである。具体的には、例えば、プロセッサは、プロセッサに搭載された状態で記憶された又はそうでなければ(同じ又は別の装置の)メモリに記憶される、コンピュータプログラムを実行するように構成することができる。プロセッサは、特定の実行形態に応じて、任意の数のプロセッサ、マルチプロセッサコア、又は他の何らかの種類のプロセッサであってもよい。さらに、プロセッサは、単一のチップ上に主要プロセッサと共に一又は複数の二次プロセッサが存在する任意の数の異種プロセッサシステムを使用して実行されてもよい。別の例示的な実施例として、プロセッサは同一形態の複数のプロセッサを含む対称型マルチプロセッサシステムであってもよい。さらに別の実施例では、プロセッサは、一又は複数の特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)などとして具現化される、又はそうでなければそれらを含むことができる。したがって、プロセッサは一又は複数の機能を実行するためのコンピュータプログラムを実行できるが、種々の実施例のプロセッサは、コンピュータプログラムの支援がなくとも一又は複数の機能を実施することができる。
【0028】
メモリは、概して、例えば一時的及び/又は永続的に、データ、コンピュータプログラム及び/又は他の好適な情報などの情報を記憶できる任意のハードウェアである。メモリは、揮発性及び/又は不揮発性メモリを含み、固定でも取り外し可能でもよい。好適なメモリの例は、ランダムアクセスメモリ(RAM)、読出し専用メモリ(ROM)、ハードドライブ、フラッシュメモリ、サムドライブ、取り外し可能なコンピュータディスケット、光ディスク、磁気テープ又はそれらの何らかの組み合わせを含む。光ディスクには、コンパクトディスク−読出し専用メモリ(CD−ROM)、コンパクトディスク−読出し/書込み(CD−R/W)、DVDなどが含まれ得る。種々の実施例では、メモリはコンピュータ可読記憶媒体と呼ばれ、情報を記憶できる永続的装置として、一つの場所から別の場所へ情報を伝送できる電子的な一時的な信号などのコンピュータ可読伝送媒体と区別することができる。本明細書に記載されるコンピュータ可読媒体は、概して、コンピュータ可読記憶媒体又はコンピュータ可読伝送媒体を指している。
【0029】
メモリに加えて、プロセッサも、情報を表示し、伝送し、及び/又は受信するための一又は複数のインターフェースに接続され得る。インターフェースは、通信インターフェース(例えば、通信ユニット)、及び/又は一又は複数のユーザインターフェースを含み得る。通信インターフェースは、他の装置(一又は複数)、ネットワーク(一又は複数)などへ情報を伝送し、及び/又はそれらから情報を受信するよう設定され得る。通信インターフェースは、物理的な(有線の)及び/又は無線の通信リンクによって、情報を伝送及び/又は受信するよう設定され得る。好適な通信インターフェースの例は、ネットワークインターフェースコントローラ(NIC)、無線NIC(WNIC)などを含む。
【0030】
ユーザインターフェースは、ディスプレイ及び/又は一又は複数のユーザ入力インターフェース(例えば、入出力ユニット)を含み得る。ディスプレイは、ユーザに情報を提示するか、又は他の方法で表示するよう設定されてよく、好適な実施例としては液晶ディスプレイ(LCD)、発光ダイオードディスプレイ(LED)、プラズマディスプレイパネル(PDP)などを含む。ユーザ入力インターフェースは、有線又は無線であり、かつ、処理、記憶及び/又は表示用などの装置にユーザからの情報を受け入れるよう設定され得る。ユーザ入力インターフェースの好適な例は、マイク、画像又は映像キャプチャデバイス、キーボード又はキーパッド、ジョイスティック、(タッチスクリーンとは別個の、又はタッチスクリーンに組み込まれた)タッチ感応サーフェス、生体認証センサなどを含む。ユーザインターフェースは、プリンタ、スキャナなどといった周辺機器と通信するための一又は複数のインターフェースを更に含み得る。
【0031】
上記のように、プログラムコード指令は、本書に記載のデータを無作為に拡張及び圧縮するシステム及び方法の機能を実施するために、メモリに保存され、プロセッサによって実行され得る。理解されるように、任意の適切なプログラムコード指令がコンピュータ可読記憶媒体からコンピュータ又は他のプログラマブル装置に読み込まれて、特定の機械が作製されてよく、それにより当該特定の機械が、本書で特定される機能を実装するための手段となる。これらのプログラムコード指令は、コンピュータ、プロセッサ、又はその他のプログラマブル装置に特定の方法で機能するよう命令して、それにより、特定の機械又は特定の製品を生み出すことが可能になるように、コンピュータ可読記憶媒体にも保存され得る。コンピュータ可読記憶媒体に保存された指令は、製品を生産可能であり、この製品が、本書に記載の機能を実装するための手段となる。プログラムコード指令は、コンピュータ、コンピュータ、プロセッサ又は他のプログラマブル装置上で、又はそれらによって実施されるべき動作を実行するよう、コンピュータ、プロセッサ又は他のプログラマブル装置を設定するために、コンピュータ可読記憶媒体から読み出され、かつ、コンピュータ、プロセッサ又は他のプログラマブル装置に読み込まれ得る。
【0032】
一度に1つの指令が読み出され、読み込まれ、実行されるように、プログラムコード指令の読み出し、読み込み及び実行が連続的に実施されてよい。いくつかの例示的な実行形態では、複数の指令をまとめて読み出し、読み込み、/又は実行するように、読み出し、読み込み、及び/又は実行が並行して実施されてもよい。コンピュータ、プロセッサ、又は他のプログラマブル装置によって実行される指令が、本書で説明されている機能を実装するための動作をもたらすように、プログラムコード指令の実行により、コンピュータ実装プロセスが生成され得る。
【0033】
プロセッサによる指令の実行、又は、コンピュータ可読記憶媒体における指令の保存により、特定の機能を実施するための動作の組み合わせがサポートされる。一又は複数の機能、及び機能の組み合わせは、特殊用途ハードウェアに基づくコンピュータシステム、及び/又は、特定の機能を実行するプロセッサ、或いは、特殊用途ハードウェアとプログラムコード指令との組み合わせによって実行され得ることも、理解されよう。
【0034】
上記で参照したように、本開示の実施例は、航空機の製造及び運航という文脈で説明され得る。
図3および4に示すように、製造前の段階において、例示的な方法500は、航空機602の仕様及び設計(ブロック502)と、材料調達(ブロック504)とを含み得る。製造段階では、航空機602の構成要素及びサブアセンブリの製造(ブロック506)と、システムインテグレーション(ブロック508)とが行われ得る。その後、航空機602は認可及び納品(ブロック510)を経て運航(ブロック512)される。運航中、航空機602には、定期的な整備及び保守(ブロック514)が予定され得る。定期的な整備及び保守は、航空機602の一又は複数のシステムの修正、再構成、改修などを含み得る。
【0035】
例示的な方法500のプロセスの各々は、システムインテグレータ、第三者、及び/又は顧客などのオペレータによって実行又は実施され得る。本明細書の目的のために、システムインテグレータは、限定しないが、任意の数の航空機製造者、及び主要システムの下請業者を含み得、第三者は、限定しないが、任意の数のベンダー、下請業者、及び供給業者を含み得、オペレータは、航空会社、リース会社、軍事団体、サービス機関などであり得る。
【0036】
図4に示されるように、例示的な方法500によって製造された航空機602は、複数の高レベルのシステム600及び内装614を有する機体612を含むことができる。高レベルのシステム600の例には、推進システム604、電気システム606、油圧システム608、及び環境システム610のうちの一又は複数が含まれる。任意の数の他のシステムが含まれてもよい。航空宇宙産業の例を示したが、本書で開示されている原理は、自動車産業のような他の産業にも適用され得る。そのため、本書で開示されている原理は、航空機602に加え、他の輸送体、例えば陸上輸送体、海洋輸送体、宇宙用輸送体などにも適用され得る。
【0037】
本書で示され、説明されている装置(一又は複数)及び方法(一又は複数)は、製造及び保守方法500の、一又は複数の任意の段階において用いられ得る。例えば、構成要素及びサブアセンブリの製造506に対応する構成要素又はサブアセンブリは、航空機602の運航期間中に製造される構成要素又はサブアセンブリと同様の様態で製作又は製造され得る。また、装置(一又は複数)、方法(一又は複数)又はそれらの組み合わせの一又は複数の例は、例えば、航空機602の組立てを著しく効率化するか、又はコストを削減するために、製造段階506及び508において利用され得る。同様に、装置又は方法実現の一又は複数の実施例、或いはそれらの組み合わせは、限定するものではないが例としては、航空機602の運航期間中に、例えば整備及び保守(ブロック514)で利用され得る。
【0038】
本書で開示されている装置及び方法の種々の実施例は、多種多様な構成要素、特徴及び機能を含む。本書が開示する装置及び方法の様々な実施例には、本書が開示する装置及び方法の任意の他の実施例中の、任意の構成要素、特徴及び機能が、任意の組み合わせで含まれ得ること、並びに、こうした可能性が全て、本開示の本質及び範囲に含まれる意図であることは、理解されるべきである。
【0039】
これらの開示内容に関連して、上記の説明及び添付図面に提示された教示の恩恵を有する本開示の多数の修正例及び他の実装態様が、当業者には想起されるであろう。したがって、本開示は開示されている特定の実行形態に限定されるものではないこと、及び、変形例及びその他の実行形態も添付の特許請求の範囲に含まれるよう意図されていることを、理解されたい。さらに、上述の説明及び添付図面は、要素及び/又は機能の特定の例示的な組み合わせに照らして例示的な実行形態を説明しているが、添付の特許請求の範囲から逸脱せずに、代替的な実行形態によって、要素及び/又は機能の様々な組み合わせが提供され得ることを、理解すべきである。つまり、添付の特許請求の範囲の一部に明記され得るように、例えば、明示的に上述されているものとは異なる要素及び/又は機能の組み合わせも想定される。本書では特定の用語が用いられているが、それらは、一般的な、及び説明的な意味でのみ使用されており、限定を目的とするものではない。