本願の技術案及び利点をより明確にするために、以下では具体的な実施の形態と図面を組み合わせて、本願の実施例についてさらに詳細に説明する。ここで説明する具体的な実施例は本願を解釈するためにのみ用いられるものであって、本願を限定するものではないと理解すべきである。
関連技術におけるいくつかの例において、受信端末は一般的にCRC(Cyclic Redundancy Check,巡回冗長検査)方式、又はダイジェスト検査方式を用いてCUソフトウェアパッケージが完全なものであるか否か確定する。
CRC方式を例にすると、送信端末は受信端末にソフトウェアパッケージを送信する時に、ソフトウェアパッケージに対応するCRCコードを計算して確定して、CRCコードをソフトウェアパッケージと一緒に受信端末に送信することができる。受信端末はソフトウェアパッケージを受け取った後、ソフトウェアパッケージに基づき対応するCRCコードを計算して、自ら計算して得たCRCコードを、ソフトウェアパッケージと一緒に送信されたCRCコードと比較し、両者が一致するか否か確定することができる。判断結果が両者は一致するというものであれば、ソフトウェアパッケージは伝送過程において改ざんされていないと判断し、そうでない場合、ソフトウェアパッケージは既に完全で安全なものではなくなっていると判断することができる。
ダイジェスト検査方式を用いた場合も同様に、送信端末はMD5などのアルゴリズムを用いてソフトウェアパッケージのダイジェストを計算して、ダイジェストをソフトウェアパッケージと一緒に受信端末に送信し、受信端末がソフトウェアパッケージを受信した後に計算して得たダイジェストが、ソフトウェアパッケージと一緒に送信されてきたダイジェストと一致すれば、ソフトウェアパッケージは改ざんされていないことを意味し、そうでない場合はソフトウェアパッケージが改ざんされていることを意味する。
しかし、ソフトウェアパッケージが悪意を持った攻撃者の手に渡れば、悪意を持った攻撃者によってソフトウェアパッケージが改ざんされた後に、対応するCRCコード又はダイジェストにも変更が加えられる可能性が極めて高く、これにより、受信端末がソフトウェアパッケージ内のCRCコード又はダイジェストからソフトウェアパッケージが既に改ざんされているという事実を見出すことは不可能になり、受信端末の安全性に影響する。よって、CRC又はダイジェスト検証という方式から得られる結果は正確ではない可能性がある。
いくつかの実施例では、公開鍵、秘密鍵に基づく検証方式をさらに提供し、ここでは、送信端末がソフトウェアパッケージを送信する際に秘密鍵を用いてソフトウェアパッケージに対して署名を行って、署名後のソフトウェアパッケージを受信端末に送信する。受信端末はソフトウェアパッケージを受信した後、公開鍵を用いてソフトウェアパッケージに対して署名検証を行い、署名検証を通過すればソフトウェアパッケージは安全であることを意味し、そうでない場合はソフトウェアパッケージが安全ではないということを意味する。
分散型ユニットの場合、ソフトウェアパッケージがメーカーサーバ側からデータセンターに到達した後、データセンターはソフトウェアパッケージ内のサブソフトウェアパッケージをネットワークエレメント装置にそれぞれ送信し、ネットワークエレメント装置にサブソフトウェアパッケージを実装させる必要がある。このような場面において、データセンターは「第1レベルの受信端末」であり、ネットワークエレメント装置は「第2レベルの受信端末」であって、第1レベルの受信端末は送信端末からソフトウェアパッケージを受信して、ソフトウェアパッケージ内のサブソフトウェアパッケージを第2レベルの受信端末に送信する必要があり、第2レベルの受信端末は第1レベルの受信端末からサブソフトウェアパッケージを受信する必要がある。
上述の公開鍵、秘密鍵の検証方式に従い、データセンターはメーカーサーバの送信したソフトウェアパッケージの完全性について検証し、ソフトウェアパッケージが安全であるか否かを確認することができるが、データセンターがサブソフトウェアパッケージをネットワークエレメント装置に送信する過程において、サブソフトウェアパッケージは攻撃を受けて改ざんされる恐れがあり、これに対してネットワークエレメント装置は自らが受信したサブソフトウェアパッケージが安全であるか否か確認する術を持たない。
上述の問題に対して、本願の実施例は、サーバ側に適用されるソフトウェアパッケージ伝送方法と、第1レベルの受信端末に適用されるソフトウェアパッケージ伝送検証方法と、第2レベルの受信端末に適用されるソフトウェアパッケージ伝送検証方法と、を含む、ソフトウェアパッケージ伝送検証スキームを提供する。
図1は本願の実施例によるソフトウェアパッケージ伝送方法のフローチャートであり、図1に示すように、上述のソフトウェアパッケージ伝送方法はステップS102、S104、S106を含む。
S102:サーバが、1つの第1レベルのソフトウェアパッケージに属する各第2レベルのソフトウェアパッケージに対して第2レベルの署名を行う。
本実施例において、第1レベルのソフトウェアパッケージはサーバにより第1レベルの受信端末に送信された、1つにまとめられたソフトウェアパッケージであり、第1レベルのソフトウェアパッケージには少なくとも2つの第2レベルのソフトウェアパッケージを含んでよく、異なる第2レベルのソフトウェアパッケージは異なる第2レベルの受信端末に送信することができる。図2に示す、サーバ、第1レベルの受信端末、第2レベルの受信端末間で行われるソフトウェアパッケージ伝送の模式図を参照されたい。サーバ20と第1レベルの受信端末21との間において、伝送されるのは第1レベルのソフトウェアパッケージAであり、第1レベルの受信端末21と第2レベルの受信端末との間において、伝送されるのは第2レベルのソフトウェアパッケージaである。図2では、3つの第2レベルの受信端末22を含み、この3つの第2レベルの受信端末22が受信する第2レベルのソフトウェアパッケージは1つの第1レベルのソフトウェアパッケージに属する。
いくつかの例において、第2レベルのソフトウェアパッケージはまさに最小単位のソフトウェアパッケージであり、さらに分けることはできないが、本実施例のいくつかの例において、1つの第2レベルのソフトウェアパッケージには少なくとも2つの第3レベルのソフトウェアパッケージをさらに含んでよく、第3レベルのソフトウェアパッケージは第2レベルの受信端末により第3レベルの受信端末に送信することができる。図3に示す模式図を参照されたい。サーバ20が第1レベルのソフトウェアパッケージAを第1レベルの受信端末21に送信した後、第1レベルの受信端末21は第1レベルのソフトウェアパッケージAの中から第2レベルのソフトウェアパッケージを取得し、その後、第2レベルのソフトウェアパッケージを第2レベルの受信端末22に送信する。第2レベルの受信端末22が第2レベルのソフトウェアパッケージを受信した後、第2レベルのソフトウェアパッケージの中から少なくとも2つの第3レベルのソフトウェアパッケージが得られ、次いで、第2レベルの受信端末が第3レベルのソフトウェアパッケージを第3レベルの受信端末23にそれぞれ送信する。
第1レベルのソフトウェアパッケージはn層のレベルのソフトウェアパッケージに分けることができ、第n-1レベルのソフトウェアパッケージには少なくとも2つのnレベルのソフトウェアパッケージが含まれると理解できる。一般的な状況においてnの取り得る値は2であってよく、5G通信システムにおいてはnの取り得る値が2から3に変わり得る。しかしながら、通信システムが必要とするのであれば、nの取り得る値はより大きくなると当業者は理解することができる。
本実施例のいくつかの例において、サーバは第2レベルの秘密鍵に基づき第2レベルのソフトウェアパッケージに第2レベルの署名を行ってよい。1つの第2レベルの秘密鍵は、これに対応する第2レベルの公開鍵を有する。一般的な状況においては、サーバが直接第2レベルの秘密鍵に基づき第2レベルのソフトウェアパッケージに対して署名を行い、第2レベルの受信端末がこれに応じて第2レベルの公開鍵を用いて、受信した第2レベルのソフトウェアパッケージに対して署名検証を行うのであれば、第2レベルの秘密鍵と第2レベルの公開鍵について暗号鍵管理を行わなければならない。
暗号鍵管理過程によってもたらされる負担を軽減するために、本実施例のいくつかの例において、サーバは第2レベルの秘密鍵に基づき各第2レベルのソフトウェアパッケージに第2のCA署名を行ってよい。よって、第2レベルの受信端末は、第2レベルの公開鍵に対応する第2のCA署名を用いて、受信した第2レベルのソフトウェアパッケージに対して署名検証を行うだけでよい。
第2レベルのソフトウェアパッケージに第3レベルのソフトウェアパッケージが含まれている場合、第2レベルのソフトウェアパッケージに第2レベルの署名を行う前に、サーバは当該第2レベルのソフトウェアパッケージ内に属する各第3レベルのソフトウェアパッケージに対して先に第3レベルの署名を行うべきであるということは自明であろう。同様に、第3レベルのソフトウェアパッケージに第4レベルのソフトウェアパッケージが含まれれば、サーバは同じ当該第3レベルのソフトウェアパッケージに属する各第4レベルのソフトウェアパッケージに対して先に第4レベルの署名を行うべきである。
ソフトウェアパッケージに対する第3レベルの署名、第4レベルの署名……nレベルの署名についても同様に、対応するレベルの秘密鍵を用いて行うか、又は対応するレベルの秘密鍵に基づくCA証明書を用いて行うことができる。
S104:サーバが第1レベルのソフトウェアパッケージに対して第1レベルの署名を行う。
1つの第1レベルのソフトウェアパッケージに属する各第2レベルのソフトウェアパッケージに対して第2レベルの署名を行った後、サーバはこれらの第2レベルのソフトウェアパッケージを1つの第1レベルのソフトウェアパッケージとしてパッケージングしてから、当該第1レベルのソフトウェアパッケージに対して第1レベルの署名を行ってよい。
本実施例のいくつかの例において、サーバは第1レベルの秘密鍵に基づき第1レベルのソフトウェアパッケージに対して第1レベルの署名を行ってよい。1つの第1レベルの秘密鍵は、これに対応する第1レベルの公開鍵を有する。一般的な状況においては、サーバが直接第1レベルの秘密鍵に基づき第1レベルのソフトウェアパッケージに対して署名を行い、第1レベルの受信端末が第1レベルの公開鍵を用いて、受信した第1レベルのソフトウェアパッケージに対して署名検証を行うのであれば、第1レベルの秘密鍵と第1レベルの公開鍵について暗号鍵管理を行わなければならない。
同様に暗号鍵管理過程によってもたらされる負担を軽減するために、本実施例のいくつかの例において、サーバは第1レベルの秘密鍵に基づき各第1レベルのソフトウェアパッケージに対して第1のCA署名を行ってよい。よって、第1レベルの受信端末は、第1レベルの公開鍵に対応する第1のCA署名を用いて、受信した第1レベルのソフトウェアパッケージに対して署名検証を行うだけでよい。
なお、注意すべき点として述べれば、第1のCAはルートCAであってよく、第2のCAは当該ルートCA下の第2レベルのCAであってよいが、いわゆる「第1のCA」の実際の意味は、第1レベルのソフトウェアパッケージに対して署名を行うことができるCAというものであり、「第2のCA」とは第2レベルのソフトウェアパッケージに対して署名を行うことができるCAをいう。本実施例において、第1のCAと第2のCAが「親」と「子」の関係であるということは求めていない。ましてや第1のCAが必ずルートCAであることも求めていない。したがって、いくつかの例において、第1のCAと第2のCAは同レベルの2つのCAであり得、両者間に「親」と「子」という関係はない。本実施例の別のいくつかの例において、第1のCAと第2のCAは親CAと子CAの関係であり得るが、両者はルートCAと第2レベルのCAという関係ではない。
S106:サーバが第1レベルのソフトウェアパッケージを第1レベルの受信端末に送信する。
第1レベルのソフトウェアパッケージに対する第1レベルの署名が完了した後、サーバは第1レベルのソフトウェアパッケージを第1レベルの受信端末に送信してよい。
図4は第1レベルの受信端末に適用されるソフトウェアパッケージの伝送検証方法であり、図4に示すように、当該ソフトウェアパッケージ伝送検証方法はステップS402、S404、S406、S408を含む。
S402:第1レベルの受信端末がサーバの送信した第1レベルのソフトウェアパッケージを受信する。
本実施例のいくつかの例において、第1レベルの受信端末はデータセンターであってよい。本実施例の別のいくつかの例において、第1レベルの受信端末はネットワーク管理システムであってよい。第1レベルの受信端末はこの二種類に限定されず、その他のネットワーク機器でもよいと当業者は理解できる。
S404:第1レベルの受信端末が第1レベルのソフトウェアパッケージに対して第1レベルの署名検証を行う。
サーバが第1レベルの受信端末に送信する第1レベルのソフトウェアパッケージは第1レベルの署名を経たものであるため、第1レベルの受信端末が第1レベルのソフトウェアパッケージを受信した後、第1レベルのソフトウェアパッケージに対して第1レベルの署名検証を行い、これにより第1レベルのソフトウェアパッケージが完全なものであるか否か確定することができる。
サーバの、第1レベルのソフトウェアパッケージに対する第1レベルの署名が直接第1レベルの秘密鍵に基づいて行われたものであれば、第1レベルの受信端末は自ずと第1レベルの秘密鍵に対応する第1レベルの公開鍵に基づき、第1レベルのソフトウェアパッケージに対して署名検証を行う。サーバの、第1レベルのソフトウェアパッケージに対する第1レベルの署名が第1レベルの秘密鍵に基づく第1のCAにより行われたものであれば、第1レベルの受信端末は自ずと第1レベルの公開鍵に基づく第1のCA証明書を用いて、第1レベルのソフトウェアパッケージに対して署名検証を行う。
本実施例のいくつかの例において、第1レベルの受信端末内に第1のCA証明書を予め配置することができる。しかし、より多くの例においては、第1レベルの受信端末の機器とソフトウェアパッケージが異なるメーカーに属することから、第1レベルの受信端末が第1レベルのソフトウェアパッケージに対して第1レベルの署名検証を行う前に、第1レベルの受信端末は先にCAサーバから第1のCA証明書を取得すべきである。
S406:第1レベルのソフトウェアパッケージに対する第1レベルの署名検証が通過したか否か判断する。
判断結果が第1レベルの署名検証を通過したというものであればS408に移行し、そうでない場合フローは終了する。第1レベルのソフトウェアパッケージに対する第1レベルの署名検証を通過しなければ、第1レベルのソフトウェアパッケージがサーバから第1レベルの受信端末に伝送される過程において既に改ざんされていることを意味するため、第1レベルのソフトウェアパッケージは安全且つ完全なものではなくなっており、下位の受信端末に送信するには適さない。
S408:第1レベルの受信端末が、第1レベルのソフトウェアパッケージ内の各第2レベルのソフトウェアパッケージを対応する第2レベルの受信端末にそれぞれ伝送する。
第1レベルの受信端末の、第1レベルのソフトウェアパッケージに対する第1レベルの署名検証を通過した後、第1レベルの受信端末は第1レベルのソフトウェアパッケージの中から各第2レベルのソフトウェアパッケージを抽出することができ、その後、各第2レベルのソフトウェアパッケージを対応する第2レベルの受信端末にそれぞれ送信する。本実施例の一例において、第1レベルの受信端末はデータセンターであって、それが受信した第1レベルのソフトウェアパッケージ内に第2レベルのソフトウェアパッケージa、b、cを含み、この3つの第2レベルのソフトウェアパッケージは第2レベルの受信端末である基地局Ng1、Ng2、Ng3にそれぞれ送信する必要があり、データセンターは第2レベルのソフトウェアパッケージaをNg1に、第2レベルのソフトウェアパッケージbをNg2に、第2レベルのソフトウェアパッケージcをNg3に送信することができる。
図5は第2レベルの受信端末に適用されるソフトウェアパッケージ伝送検証方法を示しており、図5に示すように、当該ソフトウェアパッケージ伝送検証方法はステップS502、S504を含む。
S502:第2レベルの受信端末が第1レベルの受信端末の送信した第2レベルのソフトウェアパッケージを受信する。
本実施例において、第2レベルの受信端末は基地局などのようなネットワークエレメント装置を含んでよい。第1レベルの受信端末は、第1レベルのソフトウェアパッケージに対する第1レベルの署名検証を通過した後、第1レベルのソフトウェアパッケージ内の各第2レベルのソフトウェアパッケージを対応する第2レベルの受信端末にそれぞれ送信する。よって、第2レベルの受信端末は、第1レベルのソフトウェアパッケージに対する第1レベルの署名検証を通過した後に第1レベルの受信端末が送信した第2レベルのソフトウェアパッケージを受信する。
S504:第2レベルの受信端末が第2レベルのソフトウェアパッケージに対して第2レベルの署名検証を行う。
第2レベルの受信端末は第2レベルのソフトウェアパッケージを受信した後、第2レベルのソフトウェアパッケージに対して第2レベルの署名検証を行い、第2レベルのソフトウェアパッケージか完全なものであるか否か確定することができる。
サーバの、第2レベルのソフトウェアパッケージに対する第2レベルの署名が直接第2レベルの秘密鍵に基づいて行われたものであれば、第2レベルの受信端末は自ずと第2レベルの秘密鍵に対応する第2レベルの公開鍵に基づき、第2レベルのソフトウェアパッケージに対して第2レベルの署名検証を行う。サーバの、第2レベルのソフトウェアパッケージに対する第2レベルの署名が第2レベルの秘密鍵に基づく第2のCAにより行われたものであれば、第2レベルの受信端末は自ずと第2レベルの公開鍵に基づく第2のCA証明書を用いて、第2レベルのソフトウェアパッケージに対して第2レベルの署名検証を行う。
本実施例のいくつかの例において、第2レベルの受信端末もCAサーバから第2のCA証明書を取得できるが、例えば基地局を第2レベルの受信端末とした時、数がとてつもなく多いというように、第2レベルの受信端末の数が膨大であることを斟酌すると、第2レベルの受信端末の出荷時に第2レベルの受信端末内に第2のCA証明書を予め配置しておくことを考慮でき、こうすることで大量の第2レベルの受信端末がCAサーバから第2のCA証明書を取得するという過程を省くことができる。
第1レベルの受信端末の、第1レベルのソフトウェアパッケージに対する第1レベルの署名検証過程と同様に、第2レベルの署名検証にも、第2レベルのソフトウェアパッケージが第2レベルの署名検証を通過する、又は第2レベルのソフトウェアパッケージが第2レベルの署名検証を通過しないという二通りの結果があり、第2レベルのソフトウェアパッケージが第2レベルの署名検証を通過しなければ、第2レベルのソフトウェアパッケージが第1レベルの受信端末から第2レベルの受信端末に伝送される過程において既に改ざんされていることを意味する。第2レベルのソフトウェアパッケージが第2レベルの署名検証を通過すれば、第2レベルのソフトウェアパッケージは安全且つ完全なものであることを意味する。
本実施例のいくつかの例において、第2レベルのソフトウェアパッケージは既に最小単位のソフトウェアパッケージであることから、第2レベルのソフトウェアパッケージが第2レベルの署名検証を通過したと第2レベルの受信端末が確定した後、第2レベルのソフトウェアパッケージを実装することができる。
本実施例の別のいくつかの例において、第2レベルのソフトウェアパッケージには第3レベルのソフトウェアパッケージをさらに含むため、第2レベルのソフトウェアパッケージが第2レベルの署名検証を通過したと第2レベルの受信端末が確定した後、第2レベルのソフトウェアパッケージ内の各第3レベルのソフトウェアパッケージを第3レベルの受信端末に伝送し、第3レベルの受信端末により第3レベルのソフトウェアパッケージに対して第3レベルの署名検証を行うことができる。第3レベルの受信端末の、第3レベルのソフトウェアパッケージに対する処理方法は、第2レベルの受信端末の、第2レベルのソフトウェアパッケージに対する処理方法と類似すると理解できるため、ここでは改めて説明しない。
本願の実施例によるソフトウェアパッケージ伝送検証スキームは2つのレベル又は複数レベルの署名/署名検証のメカニズムを提供しており、サーバにより下位のソフトウェアパッケージに対して対応するレベルの署名を行い、その後、署名後の下位のソフトウェアパッケージをパッケージングして上位のソフトウェアパッケージを形成し、さらに、上位のソフトウェアパッケージに対して対応する署名を行い、最終的に第1レベルのソフトウェアパッケージを第1レベルの受信端末に送信し、第1レベルの受信端末により第1レベルのソフトウェアパッケージに対して第1レベルの署名検証を行い、署名検証通過後に、さらにそのうちの下位のソフトウェアパッケージを下位の受信端末に伝送し、下位の受信端末により下位のソフトウェアパッケージに対して署名検証を行うというように順に繰り返して、ソフトウェアパッケージに対して各伝送段階における完全性と安全性の検証を行うことで、受信端末の安全性を向上させる。
本願の実施例においては受信端末が2つのレベルのみを有すると仮定し、ここではネットワーク管理システムを第1レベルの受信端末、基地局を第2レベルの受信端末とするものを例として、上述のソフトウェアパッケージ伝送検証スキームについて引き続き説明することで、当該スキームの利点と詳細を明らかにする。
図6は本願の実施例によるソフトウェアパッケージ伝送検証スキームの相互作用フローチャートであり、図6に示すように、上述のソフトウェアパッケージ伝送検証スキームは以下のステップS602からS616を含む。
S602:メーカーサーバ側に、一般公開されたPKI(Public Key Infrastructure,公開鍵基盤)システムを配置する。
PKIシステムはCAシステム、CRL(Certificate Revocation List,証明書失効リスト)システムなどを含み、第1レベルのソフトウェアパッケージに対する第1の署名、第2レベルのソフトウェアパッケージに対する第2の署名などの機能を実現するために、基地局に第2のCA署名を予め配置するように設けられる。
本実施例でいうメーカーとはソフトウェアパッケージのメーカーをいい、基地局のメーカーでもある。
S604:メーカーサーバがPKIシステムを介して各第2レベルのソフトウェアパッケージに対して第2レベルの署名を行う。
メーカーサーバ側のPKIシステムは第2のCAを介して第2レベルのソフトウェアパッケージに対して署名を行ってよく、各第2レベルのソフトウェアパッケージに対する第2レベルの署名を完了した後、メーカーサーバは各第2レベルのソフトウェアパッケージを第1レベルのソフトウェアパッケージとしてパッケージングすることができる。
S606:メーカーサーバがPKIシステムを介して第1レベルのソフトウェアパッケージに対して第1レベルの署名を行う。
メーカーサーバ側のPKIシステムは第1のCA証明書により第1レベルのソフトウェアパッケージに対して署名を行うことができる。
S608:メーカーサーバが第1レベルのソフトウェアパッケージをネットワーク管理システムに送信する。
S610:ネットワーク管理システムが第1レベルのソフトウェアパッケージに対して第1レベルの署名検証を行う。
ネットワーク管理システムは第1レベルのソフトウェアパッケージに対して第1レベルの署名検証を行う前に、公開されたチャネルを介して第1のCA証明書を取得でき、その後、第1のCA証明書により第1レベルのソフトウェアパッケージに対して第1レベルの署名検証を行う。
S612:第1レベルの署名検証を通過すると、ネットワーク管理システムは第2レベルのソフトウェアパッケージを基地局に送信する。
第2レベルの受信端末は複数の基地局を含むと理解でき、図6においては、ネットワーク管理システムがそのうちの1つの基地局に第2レベルのソフトウェアパッケージを送信するフローのみを示しており、その他の基地局が第2レベルのソフトウェアパッケージを受信するフロー、及び第2レベルのソフトウェアパッケージに対する処理フローについては、当該基地局の対応するプロセスを参照することができる。
S614:基地局が第2レベルのソフトウェアパッケージに対して第2レベルの署名検証を行う。
本実施例において、基地局の出荷時には、メーカーサーバ側のPKIシステムが基地局内にCA証明書を既に配置している。基地局内に予め配置された証明書は第2のCA証明書だけに限ってよいが、本実施例のいくつかの例において、メーカーサーバ側には三種類のCA証明書が存在し、基地局の出荷時には当該三種類のCA証明書を全て基地局内に予め配置してよい。第2レベルのソフトウェアパッケージ内に署名ファイルが付属しており、当該署名ファイルに基づき、基地局は当該第2レベルのソフトウェアパッケージに対する署名がどの種類のCA証明書に基づいて行われたものであるか確定することができるため、基地局は対応するCA証明書を選択して、受信した第2レベルのソフトウェアパッケージに対して第2レベルの署名検証を行う。
S616:第2レベルの署名検証を通過すると、基地局は第2レベルのソフトウェアパッケージを実装して使用する。
基地局の、第2レベルのソフトウェアパッケージに対する第2レベルの署名検証を通過すれば、ネットワーク管理システムから本基地局までの伝送経路において、第2レベルのソフトウェアパッケージが改ざんされていないことを意味するため、第2レベルのソフトウェアパッケージは完全且つ安全なものであるはずであり、基地局は当該第2レベルのソフトウェアパッケージを正常に使用することができる。
本願の実施例によるソフトウェアパッケージ伝送検証スキームにおいて、メーカーサーバ側は第2レベルの署名メカニズムに基づいてソフトウェアパッケージ全体に対して2サイクルの署名を行い、第1のソフトウェアパッケージがメーカーサーバ側からネットワーク管理システムに伝送された後、ネットワーク管理システムは第1レベルのソフトウェアパッケージの署名に対して署名検証を行い、署名検証結果に基づいて、第1のソフトウェアパッケージがメーカーサーバから本ネットワーク管理システムに伝送される過程において改ざんされたか否か確定する。改ざんされていなければネットワーク管理システムはそのうちの第2レベルのソフトウェアパッケージを基地局に送信してよく、基地局は第2レベルのソフトウェアパッケージに対して第2レベルの署名検証を行うことで、第2レベルのソフトウェアパッケージがネットワーク管理システムから本基地局側に伝送される過程において改ざんされたか否か確定し、これにより第2レベルのソフトウェアパッケージが安全で使用可能なものか確定して、基地局側の安全性を向上させる。
本願の実施例では記憶媒体をさらに提供する。当該記憶媒体には1つ又は複数のプロセッサにより読み取り、コンパイルして実行可能な1つ又は複数のコンピュータプログラムが記憶される。本実施例において、当該記憶媒体はソフトウェアパッケージ伝送プログラムと、第1のソフトウェアパッケージ伝送検証プログラムと、第2のソフトウェアパッケージ伝送検証プログラムとのうちの少なくとも1つが記憶され、ソフトウェアパッケージ伝送プログラムは、1つ又は複数のプロセッサにより実行されることにより、上述の実施例にて述べたソフトウェアパッケージ伝送方法のフローを実現でき、第1のソフトウェアパッケージ伝送検証プログラムは、1つ又は複数のプロセッサにより実行されることにより、上述の実施例にて述べた第1レベルの受信端末側のソフトウェアパッケージ伝送検証方法のフローを実現でき、第2のソフトウェアパッケージ伝送検証プログラムは、1つ又は複数のプロセッサにより実行されることにより、上述の実施例にて述べた第2レベルの受信端末側のソフトウェアパッケージ伝送検証方法のフローを実現できる。
このほか、本願の実施例はネットワーク機器を提供する。図7に示すように、ネットワーク機器70はプロセッサ71と、メモリ72と、プロセッサ71とメモリ72とを接続するための通信バス73と、を含み、メモリ72は上述の、ソフトウェアパッケージ伝送プログラムと、第1のソフトウェアパッケージ伝送検証プログラムと、第2のソフトウェアパッケージ伝送検証プログラムとのうちの少なくとも1つが記憶された記憶媒体であってよい。
本願の実施例のいくつかの例において、ネットワーク機器70はサーバであり、プロセッサ71はソフトウェアパッケージ伝送プログラムを読み取り、コンパイルを行って上述の実施例にて述べたソフトウェアパッケージ伝送方法のフローを実行できる。つまり、1つの第1レベルのソフトウェアパッケージに属する各第2レベルのソフトウェアパッケージに対して第2レベルの署名を行い、その後、第1レベルのソフトウェアパッケージに対して第1レベルの署名を行って第1レベルのソフトウェアパッケージを第1レベルの受信端末に送信する。
本実施例のいくつかの例において、第2レベルのソフトウェアパッケージには少なくとも2つの第3レベルのソフトウェアパッケージが含まれ、1つの第1レベルのソフトウェアパッケージに属する各第2レベルのソフトウェアパッケージに対して第2レベルの署名を行う前に、1つの第2レベルのソフトウェアパッケージに属する各第3レベルのソフトウェアパッケージに対して第3レベルの署名をさらに行う。
本実施例のいくつかの例において、第1レベルの署名は第1レベルの秘密鍵に基づく第1の認証局(CA)署名である。同様に、第2レベルの署名は第2レベルの秘密鍵に基づく第2のCA署名であってよい。
本実施例のいくつかの例において、ネットワーク機器70は第1レベルの受信端末であってよく、例えばネットワーク管理システム又はデータセンターであり、プロセッサ71は第1のソフトウェアパッケージ伝送検証プログラムを読み取ることができ、コンパイルを行って上述の実施例にて述べた第1レベルの受信端末側のソフトウェアパッケージ伝送検証方法のフローを実行することができる。つまり、サーバの送信した第1レベルのソフトウェアパッケージを受信し、その後、第1レベルのソフトウェアパッケージに対して第1レベルの署名検証を行い、第1レベルのソフトウェアパッケージが署名検証を通過した後、第1レベルのソフトウェアパッケージ内の各第2レベルのソフトウェアパッケージを対応する第2レベルの受信端末にそれぞれ伝送する。
サーバの、第1レベルのソフトウェアパッケージに対する第1レベルの署名が第1レベルの秘密鍵に基づく第1のCA署名であれば、第1レベルのソフトウェアパッケージに対して第1レベルの署名検証を行う際に、第1レベルの公開鍵に基づく第1のCA証明書を用いて第1レベルのソフトウェアパッケージに対して署名検証を行うことができ、第1レベルの公開鍵は第1レベルの秘密鍵に対応する。
本実施例のいくつかの例において、第1レベルの公開鍵に基づく第1のCA証明書を用いて第1レベルのソフトウェアパッケージに対して署名検証を行う前に、先にCAサーバから第1のCA証明書を取得して実装する必要がある。
本実施例のいくつかの例において、ネットワーク機器70は第2レベルの受信端末であってよく、例えば基地局などであり、プロセッサ71は第2のソフトウェアパッケージ伝送検証プログラムを読み取り、コンパイルを行って上述の実施例にて述べた第2レベルの受信端末側のソフトウェアパッケージ伝送検証方法のフローを実行することができる。つまり、第1レベルの受信端末が送信した第2レベルのソフトウェアパッケージを受信してから、第2レベルのソフトウェアパッケージに対して第2レベルの署名検証を行う。
第2レベルのソフトウェアパッケージに少なくとも2つの第3のソフトウェアパッケージが含まれている場合、第2レベルのソフトウェアパッケージに対して第2レベルの署名検証を行った後、第2レベルのソフトウェアパッケージが署名検証を通過すれば、第2レベルのソフトウェアパッケージ内の各第3レベルのソフトウェアパッケージを対応する第3レベルの受信端末にそれぞれ伝送する。
第2レベルのソフトウェアパッケージが最小単位であれば、第2レベルのソフトウェアパッケージに対して第2レベルの署名検証を行って且つ署名検証を通過した後に第2レベルのソフトウェアパッケージを実装することができる。
サーバの、第2レベルのソフトウェアパッケージに対する第2レベルの署名が第2レベルの秘密鍵に基づく第2のCA署名であれば、第2レベルのソフトウェアパッケージに対して第2レベルの署名検証を行う際に、第2レベルの公開鍵に基づく第2のCA証明書を用いて第2レベルのソフトウェアパッケージに対して署名検証を行うことができ、第2レベルの公開鍵は第2レベルの秘密鍵に対応する。
本実施例のいくつかの例において、ネットワーク機器70には出荷時に第2のCA証明書が予め配置されているため、第2レベルのソフトウェアパッケージに対して第2の署名検証を行う前に、第2のCA証明書を臨時に取得する必要はない。
本実施例によるネットワーク機器は2つのレベル又は複数レベルの署名/署名検証のメカニズムを提供しており、ソフトウェアパッケージの各伝送段階に対して検証を行い、ソフトウェアパッケージが伝送過程において改ざんされたか否か検証し、ソフトウェアパッケージの各伝送段階における完全性と安全性を検証することができ、受信端末の安全性を向上させる。
矛盾することがなければ、本願の各実施例における内容は組み合わせて使用することができると理解することができる。
明らかに、上述の文で公開された方法における全ての又は一部のステップ、システム、装置内の機能モジュール/ユニットは、ソフトウェア(演算装置で実行可能なプログラムコードにより実現できる)、ファームウェア、ハードウェア、及びそれらの適切な組み合わせとして実施され得ると当業者は理解できる。ハードウェアの実施形態において、上記説明において言及した機能モジュール/ユニット間の区分は、必ずしも物理コンポーネントの区分に対応するものではなく、例えば、1つの物理コンポーネントは複数の機能を有してよく、又は1つの機能又はステップは若干の物理コンポーネントが協働して実行されてよい。一部の物理コンポーネント又は全ての物理コンポーネントは、セントラルプロセッサ、デジタル信号プロセッサ又はマイクロプロセッサなどのプロセッサによって実行されるソフトウェアとして実施され、又はハードウェアとして実施され、或いは専用集積回路などのような集積回路として実施されてよい。このようなソフトウェアはコンピュータ読み取り可能な媒体上に分散し、演算装置により実行されてよく、また、ある場合は、ここでの順序と異なる順序で、提示又は説明したステップを実行してよく、コンピュータ読み取り可能な媒体は、コンピュータ記憶媒体(又は非一時的媒体)及び通信媒体(又は一時的媒体)を含んでよい。当業者には周知のように、コンピュータ記憶媒体という用語は情報(コンピュータ読み取り可能な命令、データ構造、プログラムモジュール、又は他のデータなど)を記憶するための任意の方法又は技術において実施される揮発性及び不揮発性、リムーバブル及び非リムーバブル媒体を含む。コンピュータ記憶媒体は、RAM、ROM、EEPROM、フラッシュメモリ、CD-ROMを含むがこれに限らず、デジタル多機能ディスク(DVD)、光ディスク、磁気カセット、磁気テープ、磁気ディスク、又は所望の情報を記憶でき且つコンピュータによってアクセス可能な任意の他の媒体であってよい。このほか、当業者には周知のように、通信媒体は一般的に、コンピュータ読み取り可能な命令、データ構造、プログラムモジュール、又は搬送波あるいは他の伝送機構のような変調データ信号における他のデータを含むほか、任意の情報配信媒体を含んでよい。よって、本願は如何なる特定のハードウェアとソフトウェアの組み合わせにも限定されない。
以上の内容は、具体的な実施の形態を組み合わせて本願の実施例についてなされたさらなる詳細な説明であって、本願の具体的な実施の形態がこれらの説明に限定されると判断することはできない。当業者は、本願の思想から逸脱しないことを前提として若干の簡単な演繹又は置き換えをなすことができ、これらはみな本願の請求範囲であると見なされるべきである。