(57)【要約】  本開示の実施形態は、システムのシステムバージョンをアップグレードするための方法及び装置を提供する。本方法は、回路を用いて、第１の記憶空間から、現在のシステムバージョンに対応する現在のシステムバージョン識別情報を取得することと、回路を用いて、第２の記憶空間から、バックアップシステムバージョンに対応するバックアップシステムバージョン識別情報を取得することと、回路を用いて、現在のシステムバージョン識別情報をバックアップシステムバージョン識別情報と比較することと、比較に基づいてシステムを構成することと、を含むことができる。
2020535504.tif 000002
【特許請求の範囲】
【請求項１】
システムのシステムバージョンをアップグレードするための方法であって、
記憶媒体を用いて、第１の記憶空間から、現在のシステムバージョンに対応する現在のシステムバージョン識別情報を取得することと、
記憶媒体を用いて、第２の記憶空間から、バックアップシステムバージョンに対応するバックアップシステムバージョン識別情報を取得することと、
回路を用いて、前記現在のシステムバージョン識別情報を前記バックアップシステムバージョン識別情報と比較することと、
前記比較に基づいて前記システムを構成することと、
を含む方法。
【請求項２】
前記比較に基づいて前記システムを構成することが、
前記現在のシステムバージョン識別情報が、前記バックアップシステムバージョン識別情報より古いことに応じ、前記バックアップシステムバージョン識別情報に関連する前記バックアップシステムバージョンに従って、前記システムバージョンのアップグレードをトリガすることであって、前記バックアップシステムバージョンが、前記システムを起動するために用いられることを更に含む、請求項１に記載の方法。
【請求項３】
前記アップグレードが、失敗かどうかを決定することと、
前記アップグレードが失敗であるという前記決定に応じ、ハードウェアによって、前記システムを強制的にコンスタントリブートモード又はクラッシュモードにすることと、
を更に含む、請求項２に記載の方法。
【請求項４】
前記システムバージョンの前記アップグレードをトリガすることが、
前記システムにおける現在のシステムプロセスを一時停止することと、
前記バックアップシステムバージョン識別情報に関連する前記バックアップシステムバージョンで前記システムをアップグレードするためのアップグレードプロセスを初期化することと、
を更に含む、請求項２に記載の方法。
【請求項５】
前記比較に基づいて前記システムを構成することが、
前記現在のシステムバージョン識別情報が、前記バックアップシステムバージョン識別情報と同じであることに応じ、前記システムが起動される場合に前記現在のシステムバージョンを用いることを更に含む、請求項１に記載の方法。
【請求項６】
前記比較に基づいて前記システムを構成することが、
前記現在のシステムバージョン識別情報が、前記バックアップシステムバージョン識別情報より新しいことに応じ、ハードウェアを用いて、前記現在のシステムバージョン識別情報を前記第２の記憶空間に書き込むことを更に含む、請求項１に記載の方法。
【請求項７】
前記第２の記憶空間が、ソフトウェアによって更新され得ない、請求項６に記載の方法。
【請求項８】
前記第１の記憶空間における前記現在のシステムバージョン識別情報が、ソフトウェアによって更新される、請求項１に記載の方法。
【請求項９】
ハードウェアによって、前記現在のシステムバージョン識別情報を取得すること及び前記バックアップシステムバージョン識別情報を取得することが、前記システムの始動又は前記現在のシステムバージョンが更新されたことに応じたものである、請求項１に記載の方法。
【請求項１０】
システムのシステムバージョンをアップグレードするための装置であって、
現在のシステムバージョンに対応する現在のシステムバージョン識別情報を記憶するように構成された第１の記憶空間と、
バックアップシステムバージョンに対応するバックアップシステムバージョン識別情報を記憶するように構成された第２の記憶空間と、
前記現在のシステムバージョン識別情報を前記バックアップシステムバージョン識別情報と比較する回路を有する比較回路と、
前記比較に応じ、前記バックアップシステムバージョン識別情報に関連する前記バックアップシステムバージョンに従って、前記システムバージョンのアップグレードをトリガする回路を有するトリガ回路と、
を含む装置。
【請求項１１】
前記トリガ回路が、前記現在のシステムバージョン識別情報が前記バックアップシステムバージョン識別情報より古いという決定を前記比較回路が行うことに応じ、前記バックアップシステムバージョン識別情報に関連する前記バックアップシステムバージョンに従って、前記システムバージョンのアップグレードをトリガする回路を有する、請求項１０に記載の装置。
【請求項１２】
前記現在のシステムバージョン識別情報が前記バックアップシステムバージョン識別情報と同じであるという決定を前記比較回路が行うことに応じ、前記システムが起動される場合に前記現在のシステムバージョンが用いられる、請求項１０に記載の装置。
【請求項１３】
前記比較回路及び前記トリガ回路が、前記第１の記憶空間とは別のバージョン装置の一部である、請求項１０に記載の装置。
【請求項１４】
前記バージョン装置が、前記第１の記憶空間から前記現在のシステムバージョン識別情報を読み出し、且つ前記第２の記憶空間から前記バックアップシステムバージョン識別情報を読み出す回路を有するメモリ読み出し回路を更に含む、請求項１３に記載の装置。
【請求項１５】
前記メモリ読み出し回路が、複数のレジスタを含む、請求項１４に記載の装置。
【請求項１６】
前記メモリ読み出し回路が、前記システムの始動又は前記現在のシステムバージョンが更新されたことに応じ、前記第１の記憶空間から前記現在のシステムバージョン識別情報を読み出し、且つ前記第２の記憶空間から前記バックアップシステムバージョン識別情報を読み出す、請求項１４に記載の装置。
【請求項１７】
前記現在のシステムバージョン識別情報が、前記バックアップシステムバージョン識別より新しいという決定を前記比較回路が行うことに応じ、前記バージョン装置が、前記現在のシステムバージョン識別情報を前記第２の記憶空間に書き込むハードウェアを有するメモリ書き込み回路を更に含む、請求項１３に記載の装置。
【請求項１８】
前記メモリ書き込み回路が、前記第２の記憶空間に対する排他的な書き込み特権を有する、請求項１７に記載の装置。
【請求項１９】
前記第１の記憶空間における前記現在のシステムバージョン識別情報が、ソフトウェアによって更新される、請求項１０に記載の装置。
【請求項２０】
前記第２の記憶空間が、ソフトウェアによって更新され得ない、請求項１０に記載の装置。
【発明の詳細な説明】
【技術分野】
【０００１】
[001]  関連出願の相互参照
本開示は、２０１７年９月２６日出願の中国出願第２０１７１０８８１２６５．０号の優先権の利益を主張し、その中国出願は、参照によりその全体において本明細書で援用される。
【背景技術】
【０００２】
[002]  背景
コンピュータハードウェア及びソフトウェアシステムの連続的な発達と共に、ソフトウェアシステムの脆弱性及び欠陥は、一般にソフトウェアシステムがしばらくの間使用された後で現れる。これらの脆弱性及び欠陥は、現在のソフトウェアアプリケーション要件を満たすことができず、従ってソフトウェア開発者は、使用要件を満たすために、新しいソフトウェアシステムバージョンを生成するためにソフトウェアシステムの脆弱性及び欠陥を修復し、補正する必要があることが多い。しかしながら、悪意のあるプログラムは、ソフトウェアシステムバージョンをロールバックし、次にシステムバージョンの脆弱性及び欠陥を通してシステム全体を攻撃するやり方で、古いソフトウェアシステムバージョンの脆弱性及び欠陥を再現することができる。
【０００３】
[003]  ソフトウェアシステムのバージョンが、悪意のあるプログラムによってロールバックされるのを防ぐために、従来のシステムは、しばしば、ソフトウェアレベルにおけるアップグレードを推奨し、且つ最新のアップグレード戦略を強制的に格納する。これらの従来のシステムは、主としてソフトウェアレベルにおいて、このアップグレード保護戦略を利用する。しかしながら、ソフトウェアドライバが、アップグレードを停止するか、又はシステムアップグレードを遮蔽するためにシステムバージョン識別番号を修正する場合に、ソフトウェアシステムバージョンのセキュリティは、保証することができない。
【発明の概要】
【課題を解決するための手段】
【０００４】
[004]  開示の概要
本開示の実施形態は、システムのシステムバージョンをアップグレードするための方法を提供する。本方法は、回路を用いて、第１の記憶空間から、現在のシステムバージョンに対応する現在のシステムバージョン識別情報（identification）を取得することと、回路を用いて、第２の記憶空間から、バックアップシステムバージョンに対応するバックアップシステムバージョン識別情報を取得することと、回路を用いて、現在のシステムバージョン識別情報をバックアップシステムバージョン識別情報と比較することと、比較に基づいてシステムを構成することと、を含むことができる。
【０００５】
[005]  本開示の実施形態は、システムのシステムバージョンをアップグレードするための装置を更に提供する。装置は、現在のシステムバージョンに対応する現在のシステムバージョン識別情報を記憶するように構成された第１の記憶空間と、バックアップシステムバージョンに対応するバックアップシステムバージョン識別情報を記憶するように構成された第２の記憶空間と、現在のシステムバージョン識別情報をバックアップシステムバージョン識別情報と比較する回路を有する比較回路と、比較に応じ、バックアップシステムバージョン識別情報に関連するバックアップシステムバージョンに従って、システムバージョンのアップグレードをトリガする回路を有するトリガ回路と、を含むことができる。
【０００６】
[006]  図面の簡単な説明
開示される実施形態における技術的解決法をより明白に示すために、添付の図面は、以下で実施形態を説明する。以下の説明における添付の図面が、単に本開示の幾つかの実施形態だけであることは、明白である。当業者は、創造的な労力なしに、添付の図面に従って他の特徴を取得することができる。
【図面の簡単な説明】
【０００７】
【図１】[007]本開示の幾つかの実施形態による、システムバージョンをアップグレードするための例示的な装置の概略図である。
【図２】[008]本開示の幾つかの実施形態による、システムバージョンがアップグレードされることを示す例示的な図である。
【図３】[009]本開示の実施形態による、システムバージョンをアップグレードするための例示的な方法の流れ図である。
【発明を実施するための形態】
【０００８】
[010]  詳細な説明
本開示の実施形態の目的、技術的解決法、及び利点をより明確にするために、本開示の実施形態における技術的解決法は、本開示の実施形態における添付の図面に関連して以下で明確に且つ完全に説明される。明らかに、説明される実施形態は、本開示の実施形態の全てではなく、単に幾つかである。本開示における実施形態に基づいて、創造的な労力なしに当業者によって取得される全ての他の実施形態は、本開示の保護範囲に属するべきである。
【０００９】
[011]  従来のシステムに関する問題を克服するために、開示される実施形態は、システムバージョンが、脆弱でダウングレード可能であるという問題を効果的に解決するために、コンピュータデバイスのシステムバージョンをアップグレードするための方法及び装置を説明する。
【００１０】
[012]  本開示の幾つかの実施形態は、システムバージョンをアップグレードするためのシステムを提供する。図１は、本開示の幾つかの実施形態による、システムバージョンをアップグレードするための装置の概略図である。図１に示されているように、コンピュータハードウェアデバイス（例えば図１の装置）には２つの不揮発性記憶空間が存在する。第１の記憶空間１１０は、現在のシステムバージョン識別情報Ａを記憶するように構成することができ、第２の記憶空間１２０は、バックアップシステムバージョン識別情報Ｂを記憶するように構成することができる。
【００１１】
[013]  例えば、第１の記憶空間１１０に記憶された現在のシステムバージョン識別情報Ａは、現在走行しているシステムのバージョン番号であり、第２の記憶空間１２０に記憶されたバックアップシステムバージョン識別情報Ｂは、全ての履歴システムバージョン間の最も高いシステムバージョン番号である。
【００１２】
[014]  幾つかの実施形態において、第１の記憶空間１１０は、ソフトウェアには見えており、ソフトウェアは、現在のシステム実行バージョン（running version）を変更することによって、現在のシステムバージョン識別情報Ａを修正することができる。第２の記憶空間１２０は、ソフトウェアには見えず、バックアップシステムバージョン識別情報Ｂは、ハードウェアによってのみアクセスし更新することができる。更に、データ更新は、現在のシステムバージョン識別情報Ａに記憶された現在の実行システムバージョンのバージョン番号が、バージョン識別情報マークＢより大きい（新しい）場合のみ、ハードウェアのみによって実行することができる。
【００１３】
[015]  更に、コンピュータハードウェアデバイスは、バージョン装置１３０を更に含むことができる。バージョン装置１３０は、メモリ読み出し回路１３２、比較回路１３４、アップグレードトリガ回路１３６、及びメモリ書き込み回路１３８を含むことができる。
【００１４】
[016]  バージョン装置１３０において、メモリ読み出し回路１３２は、第１の記憶空間１１０の現在のシステムバージョン識別情報Ａ、及び第２の記憶空間１２０のバックアップシステムバージョン識別情報Ｂを取得するように構成することができる。メモリ読み出し回路１３２は、システムが電源投入されるか又は実行される場合や、第１の記憶空間１１０の現在のシステムバージョン識別情報Ａが変更される場合に、２つの記憶空間にアクセスしデータを取得することができる。メモリ読み出し回路１３２はまた、ソフトウェアドライバによって、２つの記憶空間にアクセスしデータを取得することができる。
【００１５】
[017]  例えば、システムが、電源投入されると、メモリ読み出し回路１３２は、自動的にトリガされ得る。この場合に、メモリ読み出し回路１３２は、第１の記憶空間１１０及び第２の記憶空間１２０にアクセスし、且つ２つの記憶空間から、バージョン装置１３０にそれぞれ位置するレジスタの２つのグループにデータを記憶することができる。記憶されたデータは、比較回路１３４によって更に用いることができる。
【００１６】
[018]  第１の記憶装置における現在のシステムバージョン識別情報Ａが変更された場合に、メモリ読み出し回路１３２（記憶媒体とすることができる）は、第１の記憶１１０空間及び第２の記憶空間１２０におけるシステムバージョン番号を取得するために、データを取得するようにトリガされ得、且つレジスタの２つのグループにシステム番号バージョンをそれぞれ記憶することができる。
【００１７】
[019]  幾つかの実施形態において、メモリ読み出し回路１３２がデータ取得を完了した後で、データが準備されたことを表す制御信号は、比較回路１３４がデータ比較を開始できることを示す値「１」に設定することができる。
【００１８】
[020]  バージョン装置１３０において、比較回路１３４は、メモリ読み出し回路１３２のレジスタに記憶されたバックアップシステムバージョン番号の値と現在のシステムバージョン番号の値を比較するように構成することができる。幾つかの実施形態において、比較回路１３４では、システムによって用いられる不揮発性メモリにおける記憶データのデフォルト値は、不揮発性メモリが工場から出荷されるとき、全てＦである。従って、２つのメモリにおけるデータの大きさを比較するための比較標準は、次のように設定される。即ち、全てのＦの場合は、最小値であり、全ての０の場合は、最大値である。
【００１９】
[021]  幾つかの実施形態において、比較回路１３４が、制御信号（「１」に設定され、且つ前のレベルのメモリ読み出し回路１３２のデータ準備が完了したことを示す）を受信すると、比較回路１３４は、レジスタの２つのグループの値を比較し、且つ現在のシステムバージョン識別情報Ａ及びバックアップシステムバージョン識別情報Ｂのバージョン番号の大きさを決定することができる。
【００２０】
[022]  幾つかの実施形態において、比較回路１３４は、比較を完了した後で、３種類の行動を生成することができる。第１の行動において、現在のシステムバージョン識別情報Ａが、バックアップシステムバージョン識別情報Ｂより小さい（古い）場合に、現在のシステムバージョン番号が、履歴システムバージョン番号より低く、且つシステムをアップグレードする必要があることを表すアップグレード制御信号は、次のレベルのアップグレードトリガ回路にシステムをアップグレードするように命令するために、１に設定することができる。
【００２１】
[023]  第２の行動において、現在のシステムバージョン識別情報Ａが、バックアップシステムバージョン識別情報Ｂより大きい場合に、現在のシステムバージョン番号が、履歴システムバージョン番号より高く、且つ履歴システムバージョン番号が更新される必要があることを表す更新制御信号は、バックアップシステムバージョン識別情報Ｂのデータ更新を実行するように、且つメモリ書き込み回路１３８に現在のシステムバージョン識別情報Ａのデータを送信するように次のレベルのメモリ書き込み回路１３８に命令するために、「１」に設定することができる。
【００２２】
[024]  第３の行動において、現在のシステムバージョン識別情報Ａが、バックアップシステムバージョン識別情報Ｂと等しい場合に、現在のシステムは、普通に始動し、且つ現在のシステムバージョン番号がチェックされたことを外部システムに通知することができ、バージョン装置１３０は、システムバージョン番号の次のチェックを待つために初期化することができる。
【００２３】
[025]  バージョン装置１３０において、アップグレードトリガ回路１３６は、バージョンアップグレードを実行するために、現在のシステムをトリガするように構成することができる。アップグレードのトリガ中に、記憶の一部は、システムが、この時点でシステムアップグレードプログラムだけを実行でき、且つ他の機能プログラムが正常には実行され得ないように、制限することができる。更新が完了した後で、オペレーティングシステムは、現在の実行システムバージョンを最新のシステムバージョンに更新するためにリブートすることができる。
【００２４】
[026]  幾つかの実施形態において、システムがアップグレードされる必要があることを示す「１」に設定されたアップグレード制御信号が、前のレベルの比較回路１３４から受信された場合に、アップグレードトリガ回路１３６は、システムのアップグレードをトリガすることができる。システムアップグレードが成功した後で、オペレーティングシステムは、例えばハードウェアによってリブートすることができ、バージョン装置１３０のバージョンチェックは、現在のシステムバージョンが、最も高い履歴システムバージョン以上になるまで、更新後のシステムバージョンが、最も高い履歴システムバージョン以上であるかどうかをチェックするために、再びトリガすることができる。
【００２５】
[027]  バージョン装置１３０において、メモリ書き込み回路１３８は、第２の記憶空間のバックアップシステムバージョン識別情報Ｂを更新するように構成することができる。即ち、現在のシステムバージョン識別情報Ａが第２の記憶空間に書き込まれる場合、バックアップシステムバージョン識別情報Ｂは、最も高い履歴バージョン番号として機能するために、現在のシステムバージョン識別情報Ａに更新することができる。
【００２６】
[028]  幾つかの実施形態において、バックアップシステムバージョン識別情報Ｂに対してデータ更新が実行される必要があることを示す更新制御信号が、１に設定された場合に、第２の記憶空間におけるデータ更新がトリガされ得る。メモリ書き込み回路１３８は、前のレベルの比較回路１３４によって送られた現在のシステムバージョン識別情報Ａを第２の記憶空間１２０に書き込み、バックアップシステムバージョン識別情報Ｂのデータを現在のシステムバージョン識別情報Ａに更新することができる。第２の記憶空間のデータ更新が成功した後で、外部システムは、現在のシステムバージョン番号がチェックされたことを通知され得、バージョン装置１３０は、システムバージョン番号の次のチェックを待つために初期化することができる。
【００２７】
[029]  幾つかの実施形態において、メモリ書き込み回路は、バックアップシステムバージョン識別情報Ｂが位置する第２の記憶空間を更新することができる。データのいかなる改竄も最小限にするために、第２の記憶空間１２０は、ハードウェアメモリ書き込み回路１３８からのアクセスだけを可能にすることができ、且ついかなるソフトウェアプログラミングインターフェースも有しない。従って、ソフトウェアは、バックアップシステムバージョン識別情報Ｂが位置する第２の記憶空間１２０のデータをいかなる方法でも更新できず、それによって、バックアップシステムバージョン識別のセキュリティを保証する。
【００２８】
[030]  図２は、本開示の実施形態による、システムバージョンをアップグレードする概略図である。図２に示されているように、２０１において、コンピュータシステムが作動する。２０３において、メモリ読み出し回路は、第１の記憶領域の現在のシステム識別情報マークＡ及び第２の記憶空間のバックアップシステムバージョン識別情報Ｂを読み出すことができ、且つ現在のシステム識別情報マークＡ及びバックアップシステム識別情報マークＢのバージョンを決定する（２０５）。Ａ＜Ｂである場合に、２０９において、アップグレードトリガ回路は、現在のシステムをバックアップシステム識別情報マークＢのバージョンにアップグレードする（２１１）ためにシステムをトリガすることができ、オペレーティングシステムは、システムバージョンを最新のシステムバージョンに更新するために、更新の完了後にリブートすることができる。Ａ＞Ｂである場合に、メモリ書き込み回路は、現在のシステム識別情報マークＡにおけるバージョン番号をバックアップシステム識別情報マークＢに書き込む。
【００２９】
[031]  図３は、本開示の実施形態による、システムバージョンをアップグレードするための方法の流れ図である。図３に示されているように、Ｓ３１において、第１の記憶空間及び第２の記憶空間は、現在のシステムバージョン識別情報Ａ及びバックアップシステムバージョン識別情報Ｂをそれぞれ記憶する。
【００３０】
[032]  Ｓ３２において、バージョン装置は、現在のシステムバージョン識別情報Ａ及びバックアップシステムバージョン識別Ｂ情報を読み出す。Ｓ３３において、比較回路は、現在のシステムバージョン識別情報Ａのバージョンをバックアップシステムバージョン識別情報Ｂのバージョンと比較する。
【００３１】
[033]  Ｓ３４において、Ａ＜Ｂである場合に、アップグレードトリガ回路は、現在の実行システムバージョンのアップグレード及びシステムの再始動をトリガする。Ｓ３５において、Ａ＞Ｂの場合に、メモリ書き込み回路は、現在のシステムバージョン識別情報Ａの値でバックアップシステムバージョン識別情報Ｂの値を更新する。Ｓ３６において、Ａ＝Ｂの場合に、現在の実行システムは、始動することができる。
【００３２】
[034]  本開示において、バージョン装置１３０は、現在のシステムバージョン識別情報Ａのバージョンをバックアップシステムバージョン識別情報Ｂのバージョンと比較することができる。バックアップシステムバージョン識別情報Ｂは、バージョン装置１３０のハードウェア回路を用いてのみ更新され得る。バージョン装置１３０におけるメモリ読み出し回路及び比較回路は、ハードウェアによって実施することができ、ソフトウェアは、読み出し、比較及び更新プロセスに参加することができない。従って、ソフトウェアは、悪意のあるプログラムがバージョンを低下させることによって攻撃するのを防ぐために、バックアップシステムバージョン識別情報の記憶及び更新プロセス並びに修正に参加することを妨げられる。加えて、現在のシステムバージョン識別情報Ａのバージョン番号が、バックアップバージョン識別情報マークＢより低くはなり得えないようにして、システムバージョンアップグレードの不可逆性を保証するために、バージョンアップグレード回路を自動的にトリガすることができる。
【００３３】
[035]  本開示の実施形態において提供されるシステムバージョンアップグレード方法及び装置は、ソフトウェアが回路制御及び記憶更新プロセスに参加することを防ぎ、且つシステムアップグレードの不可逆性を効果的に保証するようにしてシステムセキュリティを保護するために、ハードウェアを用いることによって、現在のシステムバージョン識別情報及びバックアップバージョン識別情報マークの比較及び更新を実施することができる。
【００３４】
[036]  本開示の特定の実装形態が、上記で説明されたが、本開示の保護範囲は、これらの実装形態に限定されない。本開示によって開示される技術的範囲から逸脱せずに、当業者によって容易に考えられ得るいかなる変更又は取り替えも、本開示の保護範囲に含まれるべきである。従って、本開示の保護範囲は、特許請求の範囲の保護範囲に従うべきである。
【図１】
2020535504.tif 000003
【図２】
2020535504.tif 000004
【図３】
2020535504.tif 000005
【国際調査報告】
2020535504.tif 000006
2020535504.tif 000007