JP6631303B2 - 認証方法、認証プログラム及び情報処理装置 - Google Patents

認証方法、認証プログラム及び情報処理装置 Download PDF

Info

Publication number
JP6631303B2
JP6631303B2 JP2016026721A JP2016026721A JP6631303B2 JP 6631303 B2 JP6631303 B2 JP 6631303B2 JP 2016026721 A JP2016026721 A JP 2016026721A JP 2016026721 A JP2016026721 A JP 2016026721A JP 6631303 B2 JP6631303 B2 JP 6631303B2
Authority
JP
Japan
Prior art keywords
authentication
program
slot
expansion card
authentication data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2016026721A
Other languages
English (en)
Other versions
JP2017146694A (ja
Inventor
久典 飯島
久典 飯島
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2016026721A priority Critical patent/JP6631303B2/ja
Priority to US15/384,845 priority patent/US20170235683A1/en
Publication of JP2017146694A publication Critical patent/JP2017146694A/ja
Application granted granted Critical
Publication of JP6631303B2 publication Critical patent/JP6631303B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1416Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights
    • G06F12/1425Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being physical, e.g. cell, word, block
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/34User authentication involving the use of external additional devices, e.g. dongles or smart cards
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/44Program or device authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/575Secure boot
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/78Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
    • G06F21/79Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data in semiconductor storage media, e.g. directly-addressable memories
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1052Security improvement

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Stored Programmes (AREA)

Description

本発明は、システムの起動技術に関する。
サーバの起動時、BIOS(Basic Input/Output System)はPCI(Peripheral Component Interconnect)カードからEFI(Extensible Firmware Interface)ドライバを読み出し、読み出したEFIドライバを使用してPCIカードを初期化する。PCIカードに接続されたデバイス(例えば、HDD(Hard Disk Drive)或いはDVD(Digital Versatile Disc)ドライブ等)にOS(Operating System)がインストールされている場合、デバイスにはOSローダが格納されているので、OSローダを実行することでOSを起動することができる。
OSの起動に関しては、UEFI(Unified Extensible Firmware Interface)仕様にセキュアブートという技術が定義されている。セキュアブートにおいては、NVRAM(Non Volatile Random Access Memory)に格納された認証キーによって、EFIドライバ及びOSローダの正当性が判定される。セキュアブートにおいて使用される認証キーは、公開鍵又はハッシュ値であり、公開鍵によってEFIドライバ及びOSローダに含まれるデジタル署名の正当性が確認されるか、又は、ハッシュ値によってEFIドライバ自体及びOSローダ自体の正当性が確認される。
セキュアブートにおいて使用される認証キーの中には、複数種類のPCIカードのEFIドライバ及び複数種類のOSのOSローダの認証に対応しているものが有る。このような認証キーを使用した場合、改竄されたEFIドライバ及びOSローダを実行することを回避することはできる。しかし、この認証キーによって正当性が確認されるEFIドライバ及びOSローダであれば、第三者が用意したデバイスを使用したとしてもOSを起動することができる。また、保守員が保守ツール等の専用OSを起動すべきケースにおいて、誤って業務OSを起動してしまう可能性が有る。
このような問題に着目した従来技術は存在しない。
特開2007−66216号公報 特開2010−108313号公報 特表2007−525756号公報
セキュリティを確保するために、認証キーを使用してOSの起動にかかるEFIドライバ及びOSローダを認証したとしても、望まないEFIドライバ及びOSローダによってOSが起動されることを避けられないことがある。
本発明の目的は、1つの側面では、誤ったデバイスからOSを起動することを防ぐための技術を提供することである。
本発明に係る情報処理装置は、スロットの位置情報に対応付けて、当該スロットの拡張カードを初期化するための第1のプログラム、及び、当該拡張カードに接続された記憶装置に格納されている、オペレーティングシステムを起動するための第2のプログラムの正当性を判定するための認証データの識別情報を格納するデータ格納部と、指定された第1のスロットの位置情報に対応付けてデータ格納部に格納されている第1の識別情報によって認証データを特定し、当該認証データで、第1のスロットの第1の拡張カードから読み出した第1のプログラム、及び、第1の拡張カードに接続された第1の記憶装置から読み出した第2のプログラムが正当であるか判定する認証部とを有する。
1つの側面では、誤ったデバイスからOSを起動することを防ぐことができるようになる。
図1は、サーバのハードウエア構成を示す図である。 図2は、管理コントローラのハードウエア構成を示す図である。 図3は、管理コントローラの機能ブロック図である。 図4は、デバイスパステーブル格納部に格納されるデバイスパステーブルの一例を示す図である。 図5は、ハッシュテーブル格納部に格納されるハッシュテーブルの一例を示す図である。 図6は、管理コントローラが実行する処理の処理フローを示す図である。 図7は、認証データセットの生成用画面の一例を示す図である。 図8は、デバイスパス認証テーブルの一例を示す図である。 図9は、一般的なセキュアブートにおいて使用されるDB(DataBase)及びDBxについて説明するための図である。 図10は、認証データセット格納部に格納されるデータの一例を示す図である。 図11は、管理コントローラが実行する処理の処理フローを示す図である。 図12は、ブート方法の指定用画面の一例を示す図である。 図13は、電源制御用画面の一例を示す図である。 図14は、ユーザによって電源投入が指示された場合に実行される処理の処理フローを示す図である。 図15は、第1認証処理の処理フローを示す図である。 図16は、第2認証処理の処理フローを示す図である。 図17は、NVRAM領域の節約について説明するための図である。
図1に、本実施の形態におけるサーバ1のハードウエア構成を示す。管理コントローラ10は、例えばBMC(Baseboard Management Controller)であり、サーバ1内のハードウエアの監視等を実行する。PCH(Platform Controller Hub)11は管理コントローラ10に接続されており、I/O(Input and Output)の制御等を実行する。ROM(Read Only Memory)12はPCH11に接続されており、BIOS120のプログラムを格納しており、BIOS120は、認証処理部121を含む。DVDドライブ16はPCH11に接続されており、DVDに記録されたデータを読み出す。
CPU(Central Processing Unit)13はPCH11に接続されており、BIOS120のプログラム、EFIドライバ1e乃至3e及びOSローダ170等をメモリ14に読み出して実行する。メモリ14は例えば主記憶であり、CPU13に接続されている。PCIスイッチ15はCPU13に接続されており、CPU13とPCIカード1c乃至3cとの間のデータの中継を実行する。PCIカード1c乃至3cはPCIスロットに搭載される拡張カードであり、PCIカード1cの記憶装置にはEFIドライバ1eが格納されており、PCIカード2cの記憶装置にはEFIドライバ2eが格納されており、PCIカード3cの記憶装置にはEFIドライバ3eが格納されている。HDD17はPCIカード1cに接続されており、HDD17にはOSローダ170が格納される。なお、PCIスロットの数及びPCIカードの数に限定は無い。また、DVDドライブ16及びHDD17は外付けされてもよい。
管理コントローラ10は、ユーザからの入力を受け付け、受け付けた入力に応じた処理を実行する。本実施の形態におけるユーザは、全権限を有する管理者、サーバ1の運用に関する権限を有するオペレータ、又はハードウエアの動作確認に関する権限だけを有する保守員である。
図2に、管理コントローラ10のハードウエア構成を示す。管理コントローラ10は、CPU150と、例えば主記憶であるメモリ151と、NVRAM152と、バス153とを有する。CPU150と、メモリ151と、NVRAM152とは、バス153によって接続される。
図3に、管理コントローラ10の機能ブロック図を示す。管理コントローラ10は、デバイスパステーブル格納部101と、ハッシュテーブル格納部102と、生成部103と、選択受付部104と、電源制御部105と、表示処理部106と、認証データセット格納部1d乃至3dとを含む。生成部103、選択受付部104、電源制御部105及び表示処理部106は、CPU150がプログラムをメモリ151にロードして実行することによって実現される。デバイスパステーブル格納部101、ハッシュテーブル格納部102及び認証データセット格納部1d乃至3dは、例えばNVRAM152上に設けられる。なお、図3においては認証データセット格納部の数は3であるが、数に限定は無い。
生成部103は、認証データセットを生成する処理を実行する。選択受付部104は、システムの起動に使用する認証データセットの選択を受け付ける処理を実行する。電源制御部105は、システムへの電源の投入を制御する処理を実行する。表示処理部106は、サーバ1に接続された表示装置に画面のデータを表示する処理を実行する。
図4に、デバイスパステーブル格納部101に格納されるデバイスパステーブルの一例を示す。図4の例では、PCIカードが搭載されるPCIスロットの識別情報と、デバイスパスとが格納される。デバイスパスはデバイス(ここではPCIスロット)の物理位置を示す情報であり、UEFIにおいて定義されている。
図5に、ハッシュテーブル格納部102に格納されるハッシュテーブルの一例を示す。図5の例では、PCIカードの種類又はOSの種類を示す情報と、ハッシュ値とが格納される。例えば種類が「PCI Card 1」であるPCIカードのEFIドライバの正当性を判定する場合には、ハッシュ値「Hash 1」が使用される。
次に、図6乃至図16を用いて、サーバ1において実行される処理について説明する。
まず、管理コントローラ10の生成部103は、ユーザからログイン情報の入力を受け付ける(図6:ステップS1)。ログイン情報は、例えばユーザID(IDentifier)及びパスワードを含む。管理コントローラ10は、ユーザIDとユーザ種別とが対応付けられた情報を有しているので、ログイン情報の入力を受け付けることでユーザのユーザ種別を特定することができる。
ログインが成功した場合、生成部103は、ログイン情報を入力したユーザが管理者であるか判定する(ステップS3)。管理者ではない場合(ステップS3:Noルート)、ユーザはオペレータ又は保守員であり認証データセットを作成する権限を有しないので、処理は端子Aを介して図11のステップS17の処理に移行する。
一方、ログイン情報を入力したユーザが管理者である場合(ステップS3:Yesルート)、生成部103は、認証データセットの生成用画面のデータを表示処理部106に出力する。これに応じ、表示処理部106は、認証データセットの生成用画面のデータを表示装置に表示する(ステップS5)。
図7に、認証データセットの生成用画面の一例を示す。図7の例では、ブート1について、PCIスロットを指定するためのプルダウンメニュー711と、PCIカードの種類を指定するためのプルダウンメニュー712と、OSの種類を指定するためのプルダウンメニュー713とが表示され、ブート2について、PCIスロットを指定するためのプルダウンメニュー721と、PCIカードの種類を指定するためのプルダウンメニュー722と、OSの種類を指定するためのプルダウンメニュー723とが表示され、ブート3について、PCIスロットを指定するためのプルダウンメニュー731と、PCIカードの種類を指定するためのプルダウンメニュー732と、OSの種類を指定するためのプルダウンメニュー733とが表示されている。プルダウンメニュー711、721及び731のリストには、デバイスパステーブル格納部101に格納されたスロットの識別情報が表示される。プルダウンメニュー712、722及び732のリストには、ハッシュテーブル格納部102に格納されたPCIカードの種類を示す情報が表示される。プルダウンメニュー713、723及び733のリストには、ハッシュテーブル格納部102に格納されたOSの種類を示す情報が表示される。ユーザが決定ボタン701をマウスでクリックすると、ユーザが指定した内容に基づき認証データセットが生成される。ユーザがキャンセルボタン702をマウスでクリックすると、認証データセットは生成されない。
なお、図7の例においてはユーザがブート1乃至3の方法を指定することができるが、必ずしも3つとも指定しなければならないわけではなく、例えばブート1の方法についてのみ指定してもよい。例えばブート1乃至3の方法について指定が行われた場合には、BIOSのメニュー画面においてユーザから指定された優先順位に従ってブートが試行される。
図6の説明に戻り、決定ボタン701がクリックされると、生成部103は、PCIスロット、PCIカードの種類及びOSの種類の指定をユーザから受け付ける(ステップS7)。
生成部103は、指定されたPCIスロットに対応するデバイスパスを、デバイスパステーブルから特定する(ステップS9)。複数のブート方法が指定された場合には、本ステップは各ブート方法について実行される。
生成部103は、ステップS9において特定されたデバイスパスと新規に割り当てられたDB番号とを含むエントリをデバイスパス認証テーブルに追加する(ステップS11)。複数のブート方法が指定された場合には、各ブート方法についてのエントリは同じデバイスパス認証テーブルに格納される。デバイスパス認証テーブルは、新たに生成された認証データセット格納部に格納される。
図8に、デバイスパス認証テーブルの一例を示す。図8の例では、デバイスパスと、認証に使用される認証キーが格納されたDBの番号であるDB番号とが格納される。
生成部103は、指定されたPCIカードの種類に対応するハッシュ値及び指定されたOSの種類に対応するハッシュ値を、ハッシュテーブル格納部102から特定する。そして、生成部103は、特定したハッシュ値を、ステップS11において新規に割り当てられたDB番号のDBに格納する(ステップS13)。複数のブート方法が指定された場合には、各ブート方法についてのハッシュ値は別々のDBに格納される。DBは、デバイスパス認証テーブルが格納された認証データセット格納部に設けられる。処理は端子Aを介して図11のステップS17の処理に移行する。
図9を用いて、一般的なセキュアブートにおいて使用されるDB及びDBxについて説明する。セキュアブートにおいては、DBに格納された認証キーによっては認証可能ではない場合及びDBxに格納された認証キーによって認証可能である場合、起動は許可されない。一方、DBxに格納された認証キーによって認証可能ではなく且つDBに格納された認証キーによって認証可能である場合には起動が許可される。本実施の形態においては、DBに格納される認証キー及びDBxに格納される認証キーを含む複数の認証キーを認証キー群と呼ぶ。
図10に、認証データセット格納部1d乃至3dに格納されるデータの一例を示す。図10の例では、1つの認証データセットに、デバイスパス認証テーブルと、認証キー群とが格納される。デバイスパス認証テーブルに格納されたDB番号によって、認証に使用されるDBが特定される。本実施の形態におけるDBには2つの認証キーが格納されるが、そのうちの1つは、指定されたPCIカードの種類に対応するハッシュ値であり、もう1つは、指定されたOSの種類に対応するハッシュ値である。DBxに格納される認証キーもハッシュ値である。1つのDBは1つのブート方法に対応する。
図11の説明に移行し、選択受付部104は、ログイン情報を入力したユーザがオペレータであるか判定する(ステップS17)。オペレータではない場合(ステップS17:Noルート)、ユーザは保守員でありブート方法を選択する権限を有しないので、ステップS23の処理に移行する。
一方、ログイン情報を入力したユーザがオペレータである場合(ステップS17:Yesルート)、選択受付部104は、ブート方法の指定用画面のデータを表示処理部106に出力する。これに応じ、表示処理部106は、ブート方法の指定用画面のデータを表示装置に表示する(ステップS19)。
図12に、ブート方法の指定用画面の一例を示す。図12の例では、ラジオボタン1211乃至1213によってブート方法を指定することができる。例えばラジオボタン1211が選択された場合、BIOSのメニュー画面においてユーザから指定された優先順位に従ってブート1の方法又はブート2の方法のいずれかによってブートが行われることになる。ユーザが決定ボタン1201をマウスでクリックすると、指定されたブート方法でブートされる。ユーザがキャンセルボタン1202をマウスでクリックすると、ブート方法は指定されない。この場合には、予め定められたブート方法でブートしてもよい。
図11の説明に戻り、決定ボタン1201がクリックされると、選択受付部104は、ユーザからブート方法の指定を受け付ける(ステップS21)。
電源制御部105は、電源制御用画面のデータの表示を表示処理部106に指示する。これに応じ、表示処理部106は、電源制御用画面のデータを表示装置に表示する(ステップS23)。図13に、電源制御用画面の一例を示す。図13の例では、電源投入をする場合に押下されるボタン1301と、電源を投入しない場合に押下されるボタン1302とが表示される。
電源制御部105は、電源制御用画面を確認したユーザから、電源投入指示の入力を受け付ける(ステップS25)。そして処理は終了する。
以上のような処理を実行すれば、ユーザ種別によってユーザの操作を制限することができるので、誤った起動方法によってシステムが起動されることを抑制できるようになる。さらに、予め用意されたブート方法の一覧の中からブート方法を選択することができるので、その都度ブート方法を最初から指定する場合と比較して、誤った起動方法を選択する可能性を低くすることができる。
次に、図14乃至図16を用いて、ユーザによって電源投入が指示された場合に実行される処理について説明する。
まず、電源投入指示の入力を受け付けた場合、管理コントローラ10は、システムの起動指示をBIOS120に出力する(図14:ステップS31)。
BIOS120は、システムの起動指示を管理コントローラ10から受け取る(ステップS33)。
BIOS120は、CPU13及びメモリ14を初期化し(ステップS35)、PCIカード1c乃至3c上のPCIレジスタを初期化する(ステップS37)。
BIOS120は、認証データセットを取得することを要求する取得要求を管理コントローラ10に出力する(ステップS39)。
管理コントローラ10の選択受付部104は、取得要求をBIOS120から受け取ると、ステップS21において指定されたブート方法又は予め定められたブート方法(例えば、保守ツール等の専用OSを起動するためのブート方法)に対応する認証データセットを、認証データセット格納部1d乃至3dのうち該当する認証データセット格納部から読み出す(ステップS41)。
選択受付部104は、ステップS41において読み出した認証データセットをBIOS120に出力する(ステップS43)。
BIOS120における認証処理部121は、管理コントローラ10から認証データセットを受け取る(ステップS45)。
認証処理部121は、第1認証処理を実行する(ステップS47)。第1認証処理については、図15を用いて説明する。
まず、認証処理部121は、ブートディスク(図1の例では、HDD17)が接続されたPCIスロットのデバイスパス(以下、対象のデバイスパスと呼ぶ)が、ステップS45において受け取った認証データセットに含まれるデバイスパス認証テーブルに登録されているか判定する(図15:ステップS51)。
対象のデバイスパスが、認証データセットに含まれるデバイスパス認証テーブルに登録されていない場合(ステップS51:Noルート)、呼び出し元の処理に戻る。
一方、対象のデバイスパスが、認証データセットに含まれるデバイスパス認証テーブルに登録されている場合(ステップS51:Yesルート)、認証処理部121は、デバイスパス認証テーブルから、対象のデバイスパスに対応するDB番号を特定する(ステップS53)。
認証処理部121は、ステップS53において特定されたDB番号のDBから認証キー(本実施の形態においては、ハッシュ値)を読み出す(ステップS55)。
認証処理部121は、ブートディスクが接続されたPCIスロットに搭載されたPCIカードから、EFIドライバを読み出し、所定のアルゴリズムに従ってハッシュ値を計算する(ステップS57)。
認証処理部121は、ステップS55において読み出されたハッシュ値とステップS57において計算されたハッシュ値とが一致するか否かによって、EFIドライバの認証に成功したか判定する(ステップS59)。
EFIドライバの認証に成功しない(すなわち、EFIドライバの正当性が無い)場合(ステップS59:Noルート)、呼び出し元の処理に戻る。EFIドライバの認証に成功した(すなわち、EFIドライバの正当性が有る)場合(ステップS59:Yesルート)、認証処理部121は、PCIカードから読み出したEFIドライバをメモリ14にロードし、PCIカードを初期化する(ステップS61)。そして呼び出し元の処理に戻る。
図14の説明に戻り、第1認証処理において認証に成功した場合、認証処理部121は、第2認証処理を実行する(ステップS49)。第2認証処理については、図16を用いて説明する。
まず、認証処理部121は、ブートディスクが接続されたPCIスロットのデバイスパス(以下、対象のデバイスパスと呼ぶ)が、ステップS45において受け取った認証データセットに含まれるデバイスパス認証テーブルに登録されているか判定する(図16:ステップS71)。
対象のデバイスパスが、認証データセットに含まれるデバイスパス認証テーブルに登録されていない場合(ステップS71:Noルート)、呼び出し元の処理に戻る。
一方、対象のデバイスパスが、認証データセットに含まれるデバイスパス認証テーブルに登録されている場合(ステップS71:Yesルート)、認証処理部121は、デバイスパス認証テーブルから、対象のデバイスパスに対応するDB番号を特定する(ステップS73)。
認証処理部121は、ステップS73において特定されたDB番号のDBから認証キー(本実施の形態においては、ハッシュ値)を読み出す(ステップS75)。
認証処理部121は、ブートディスクからOSローダ170を読み出し、所定のアルゴリズムに従ってハッシュ値を計算する(ステップS77)。
認証処理部121は、ステップS75において読み出されたハッシュ値とステップS77において計算されたハッシュ値とが一致するか否かによって、OSローダ170の認証に成功したか判定する(ステップS79)。
OSローダ170の認証に成功しない(すなわち、OSローダ170の正当性が無い)場合(ステップS79:Noルート)、呼び出し元の処理に戻る。OSローダ170の認証に成功した(すなわち、OSローダ170の正当性が有る)場合(ステップS79:Yesルート)、認証処理部121は、ブートディスクから読み出したOSローダ170をメモリ14にロードして実行する(ステップS81)。これによりOSが起動する。そして呼び出し元の処理に戻る。
なお、選択された認証データセットに複数のDBが含まれている場合には、ブートが成功するまで、優先順位に従って第1認証処理及び第2認証処理が実行される。
以上のような処理を実行すれば、単に正当性が有るか否かだけではなく、スロットの位置をも考慮に入れることができるので、誤ったデバイスからオペレーティングシステムを起動することを防げるようになる。
なお、本実施の形態の方法を利用しない場合には以下のような5つの問題が想定されるが、本実施の形態の方法を利用すればこれらの問題に対処することができるようになる。
(1)セキュアブートにおいては、NVRAMに保持される認証キーによってEFIドライバおよびOSローダの認証が実施されるが、実際にはMicrosoft(登録商標)社が提供する公開鍵形式の1つの認証キーによって、あらゆるPCIカードのEFIドライバと、Redhat Linux(登録商標)やSUSE Linux等のOSローダとを認証することができる。そのため、改竄されたEFIドライバやOSローダの実行を回避することはできるが、Microsoft社が提供している認証キーで起動可能なOSイメージを第三者がDVD等に入れ、そこからOSを起動させることができるという問題がある。また、保守員が保守ツールを実行すべきであるにもかかわらず、誤って業務OSを起動させてしまう可能性がある。
(2)(1)の問題の対策として、セキュアブートでは、サーバーの管理者がEFIドライバやOSローダからハッシュ値を作成し、認証キーとしてDBに登録することで、特定のEFIドライバやOSローダだけを実行可能な状態にすることができる。しかし、EFIドライバやOSローダがベンダから提供されることは稀であるので、現実的には、サーバー管理者が特定のEFIドライバやOSローダを選択することはできない。
(3)セキュアブートの認証においては、EFIドライバおよびOSローダのデジタル署名もしくはハッシュ値を用いて実行可否が判定される。判定にPCIカードの位置情報が使されないため、たとえ問題(2)が解決されたとしても、サーバー管理者が任意の位置に搭載されたPCIカードからのみOSを起動させることはできない。
(4)DVDや特定のPCIカードからOSを起動させるべきではない場合にそのデバイスを無効にする機能を提供するサーバーもある。しかし、その機能を使うと、OS起動後にもデバイスを使えない状態となる。また、ハードウェア仕様としてデバイスを無効にできない場合もある。
(5)前述の通り、通常のサーバーでは、搭載された全てのPCIカードがEFIドライバで初期化される。一方で、EFIドライバは、PCIカードを初期化すると、そのPCIカードの設定をするためのメニューをBIOSメニューに追加する。設定はPCIカードのポートごとに実施されるため、ポート数分の設定メニューが追加される。各カードのポートごとに設定メニューが表示されるので、多数のPCIカードを搭載可能なサーバーの場合、起動に不要な多数のPCIカードのメニューが表示されることによって設定画面が煩雑になる。たとえば、4ポートのネットワークコントローラを20枚搭載すると、80個の設定メニューがBIOSに登録される。
以上本発明の一実施の形態を説明したが、本発明はこれに限定されるものではない。例えば、上で説明した管理コントローラ10の機能ブロック構成は実際のプログラムモジュール構成に一致しない場合もある。
また、上で説明した各テーブルの構成は一例であって、上記のような構成でなければならないわけではない。さらに、処理フローにおいても、処理結果が変わらなければ処理の順番を入れ替えることも可能である。さらに、並列に実行させるようにしても良い。
なお、上で述べたような構成を採用する場合、認証データセット格納部1d乃至3dの各々にBIOS設定を用意しておくことになる。しかし、例えば図17に示すように、NVRAM152上にデータ格納領域1aとデータ格納領域2aとを設け、データ格納領域1aに認証キー群とデバイスパス認証テーブルとの組合せを複数セット格納しておく。一方、データ格納領域2aには、1つのBIOS設定と、BIOS120に出力すべき1つの組合せとを格納しておく。そして、データ格納領域2aにおける、BIOS120に出力すべき組合せだけを入れ替えるようにする。このようにすれば、BIOS設定をひとつだけ用意すればよいので、NVRAM152の領域を節約することができるようになる。
また、管理者からPCIスロットの指定を受け付けなかった場合には、認証データセットがデバイスパス認証テーブルを含まなくてもよい。
以上述べた本発明の実施の形態をまとめると、以下のようになる。
本実施の形態の第1の態様に係る情報処理装置は、(A)スロットの位置情報に対応付けて、当該スロットの拡張カードを初期化するための第1のプログラム、及び、当該拡張カードに接続された記憶装置に格納されている、オペレーティングシステムを起動するための第2のプログラムの正当性を判定するための認証データの識別情報を格納するデータ格納部と、(B)指定された第1のスロットの位置情報に対応付けてデータ格納部に格納されている第1の識別情報によって認証データを特定し、当該認証データで、第1のスロットの第1の拡張カードから読み出した第1のプログラム、及び、第1の拡張カードに接続された第1の記憶装置から読み出した第2のプログラムが正当であるか判定する認証部とを有する。
単に正当性が有るか否かだけではなく、スロットの位置をも考慮に入れることができるので、誤った記憶装置からオペレーティングシステムを起動することを防げるようになる。
また、第1の識別情報によって特定された認証データは、第1の拡張カードから読み出した第1のプログラムの正当性を判定するための第1の認証データと、第1の記憶装置から読み出した第2のプログラムの正当性を判定するための第2の認証データとを含んでもよい。そして、認証部は、(b1)第1の拡張カードから読み出した第1のプログラムが正当であると第1の認証データで判定した場合に、第1の記憶装置から読み出した第2のプログラムの正当性を第2の認証データで判定してもよい。このようにすれば、第1のプログラム及び第2のプログラムの正当性を適切に判定できるようになる。
また、本情報処理装置は、(C)ログイン情報の入力を受け付けた場合、当該ログイン情報に含まれるデータによって特定されたユーザ種別に応じて、起動方法をユーザに作成させるための第1の画面又は起動方法の指定を受け付けるための第2の画面のデータを表示装置に表示する表示処理部をさらに有してもよい。これにより、ユーザに起動方法の作成又は指定をさせることができるようになる。
また、本情報処理装置は、(D)第1の画面のデータを確認したユーザから、スロットの位置、拡張カードの種類及びオペレーティングシステムの種類の指定を受け付けた場合、指定されたスロットの位置情報に対応付けて、指定された前張カードから読み出した第1のプログラム及び指定されたオペレーティングシステムを起動するための第2のプログラムの正当性を判定するための認証データの識別情報を、データ格納部に格納する第1受付部をさらに有してもよい。これにより、ユーザが望む起動方法に対応する認証データを予め用意しておくことができるようになる。
また、本情報処理装置は、(E)第2の画面のデータを確認したユーザから、第1のスロットの位置、当該第1のスロットに搭載される拡張カードの種類、及びオペレーティングシステムの種類の指定を受け付ける第2受付部をさらに有してもよい。これにより、ユーザが指定した起動方法で起動できるようになる。
本実施の形態の第2の態様に係る認証方法は、(F)スロットの位置情報に対応付けて、当該スロットの拡張カードを初期化するための第1のプログラム、及び、当該拡張カードに接続された記憶装置に格納されている、オペレーティングシステムを起動するための第2のプログラムの正当性を判定するための認証データの識別情報を格納するデータ格納部に、指定された第1のスロットの位置情報に対応付けて格納されている第1の識別情報によって、認証データを特定し、(G)特定された認証データで、第1のスロットの第1の拡張カードから読み出した第1のプログラム、及び、第1の拡張カードに接続された第1の記憶装置から読み出した第2のプログラムが正当であるか判定する処理を含む。
なお、上記方法による処理をプロセッサに行わせるためのプログラムを作成することができ、当該プログラムは、例えばフレキシブルディスク、CD−ROM、光磁気ディスク、半導体メモリ、ハードディスク等のコンピュータ読み取り可能な記憶媒体又は記憶装置に格納される。尚、中間的な処理結果はメインメモリ等の記憶装置に一時保管される。
以上の実施例を含む実施形態に関し、さらに以下の付記を開示する。
(付記1)
スロットの位置情報に対応付けて、当該スロットの拡張カードを初期化するための第1のプログラム、及び、当該拡張カードに接続された記憶装置に格納されている、オペレーティングシステムを起動するための第2のプログラムの正当性を判定するための認証データの識別情報を格納するデータ格納部と、
指定された第1のスロットの位置情報に対応付けて前記データ格納部に格納されている第1の識別情報によって前記認証データを特定し、当該認証データで、前記第1のスロットの第1の拡張カードから読み出した前記第1のプログラム、及び、前記第1の拡張カードに接続された第1の記憶装置から読み出した前記第2のプログラムが正当であるか判定する認証部と、
を有する情報処理装置。
(付記2)
前記第1の識別情報によって特定された前記認証データは、前記第1の拡張カードから読み出した前記第1のプログラムの正当性を判定するための第1の認証データと、前記第1の記憶装置から読み出した前記第2のプログラムの正当性を判定するための第2の認証データとを含み、
前記認証部は、
前記第1の拡張カードから読み出した前記第1のプログラムが正当であると前記第1の認証データで判定した場合に、前記第1の記憶装置から読み出した前記第2のプログラムの正当性を前記第2の認証データで判定する、
付記1記載の情報処理装置。
(付記3)
ログイン情報の入力を受け付けた場合、当該ログイン情報に含まれるデータによって特定されたユーザ種別に応じて、起動方法をユーザに作成させるための第1の画面又は起動方法の指定を受け付けるための第2の画面のデータを表示装置に表示する表示処理部
をさらに有する付記1又は2記載の情報処理装置。
(付記4)
前記第1の画面のデータを確認したユーザから、スロットの位置、拡張カードの種類及びオペレーティングシステムの種類の指定を受け付けた場合、指定された前記スロットの位置情報に対応付けて、指定された前記拡張カードから読み出した前記第1のプログラム及び指定された前記オペレーティングシステムを起動するための前記第2のプログラムの正当性を判定するための認証データの識別情報を、前記データ格納部に格納する第1受付部
をさらに有する付記3記載の情報処理装置。
(付記5)
前記第2の画面のデータを確認したユーザから、前記第1のスロットの位置、当該第1のスロットに搭載される拡張カードの種類、及びオペレーティングシステムの種類の指定を受け付ける第2受付部
をさらに有する付記3記載の情報処理装置。
(付記6)
コンピュータが、
スロットの位置情報に対応付けて、当該スロットの拡張カードを初期化するための第1のプログラム、及び、当該拡張カードに接続された記憶装置に格納されている、オペレーティングシステムを起動するための第2のプログラムの正当性を判定するための認証データの識別情報を格納するデータ格納部に、指定された第1のスロットの位置情報に対応付けて格納されている第1の識別情報によって、前記認証データを特定し、
特定された前記認証データで、前記第1のスロットの第1の拡張カードから読み出した前記第1のプログラム、及び、前記第1の拡張カードに接続された第1の記憶装置から読み出した前記第2のプログラムが正当であるか判定する、
処理を実行する認証方法。
(付記7)
コンピュータに、
スロットの位置情報に対応付けて、当該スロットの拡張カードを初期化するための第1のプログラム、及び、当該拡張カードに接続された記憶装置に格納されている、オペレーティングシステムを起動するための第2のプログラムの正当性を判定するための認証データの識別情報を格納するデータ格納部に、指定された第1のスロットの位置情報に対応付けて格納されている第1の識別情報によって、前記認証データを特定し、
特定された前記認証データで、前記第1のスロットの第1の拡張カードから読み出した前記第1のプログラム、及び、前記第1の拡張カードに接続された第1の記憶装置から読み出した前記第2のプログラムが正当であるか判定する、
処理を実行する認証プログラム。
1 サーバ 10 管理コントローラ
11 PCH 12 ROM
120 BIOS 121 認証処理部
13 CPU 14 メモリ
15 PCIスイッチ 16 DVDドライブ
17 HDD 170 OSローダ
1c,2c,3c PCIカード 1e,2e,3e EFIドライバ
150 CPU 151 メモリ
152 NVRAM 101 デバイスパステーブル格納部
102 ハッシュテーブル格納部 103 生成部
104 選択受付部 105 電源制御部
106 表示処理部 1d,2d,3d 認証データセット格納部

Claims (7)

  1. スロットの位置情報に対応付けて、当該スロットの拡張カードを初期化するための第1のプログラム、及び、当該拡張カードに接続された記憶装置に格納されている、オペレーティングシステムを起動するための第2のプログラムの正当性を判定するための認証データの識別情報を格納するデータ格納部と、
    指定された第1のスロットの位置情報に対応付けて前記データ格納部に格納されている第1の識別情報によって前記認証データを特定し、当該認証データで、前記第1のスロットの第1の拡張カードから読み出した前記第1のプログラム、及び、前記第1の拡張カードに接続された第1の記憶装置から読み出した前記第2のプログラムが正当であるか判定する認証部と、
    を有する情報処理装置。
  2. 前記第1の識別情報によって特定された前記認証データは、前記第1の拡張カードから読み出した前記第1のプログラムの正当性を判定するための第1の認証データと、前記第1の記憶装置から読み出した前記第2のプログラムの正当性を判定するための第2の認証データとを含み、
    前記認証部は、
    前記第1の拡張カードから読み出した前記第1のプログラムが正当であると前記第1の認証データで判定した場合に、前記第1の記憶装置から読み出した前記第2のプログラムの正当性を前記第2の認証データで判定する、
    請求項1記載の情報処理装置。
  3. ログイン情報の入力を受け付けた場合、当該ログイン情報に含まれるデータによって特定されたユーザ種別に応じて、起動方法をユーザに作成させるための第1の画面又は起動方法の指定を受け付けるための第2の画面のデータを表示装置に表示する表示処理部
    をさらに有する請求項1又は2記載の情報処理装置。
  4. 前記第1の画面のデータを確認したユーザから、スロットの位置、拡張カードの種類及びオペレーティングシステムの種類の指定を受け付けた場合、指定された前記スロットの位置情報に対応付けて、指定された前記拡張カードから読み出した前記第1のプログラム及び指定された前記オペレーティングシステムを起動するための前記第2のプログラムの正当性を判定するための認証データの識別情報を、前記データ格納部に格納する第1受付部
    をさらに有する請求項3記載の情報処理装置。
  5. 前記第2の画面のデータを確認したユーザから、前記第1のスロットの位置、当該第1のスロットに搭載される拡張カードの種類、及びオペレーティングシステムの種類の指定を受け付ける第2受付部
    をさらに有する請求項3記載の情報処理装置。
  6. コンピュータが、
    スロットの位置情報に対応付けて、当該スロットの拡張カードを初期化するための第1のプログラム、及び、当該拡張カードに接続された記憶装置に格納されている、オペレーティングシステムを起動するための第2のプログラムの正当性を判定するための認証データの識別情報を格納するデータ格納部に、指定された第1のスロットの位置情報に対応付けて格納されている第1の識別情報によって、前記認証データを特定し、
    特定された前記認証データで、前記第1のスロットの第1の拡張カードから読み出した前記第1のプログラム、及び、前記第1の拡張カードに接続された第1の記憶装置から読み出した前記第2のプログラムが正当であるか判定する、
    処理を実行する認証方法。
  7. コンピュータに、
    スロットの位置情報に対応付けて、当該スロットの拡張カードを初期化するための第1のプログラム、及び、当該拡張カードに接続された記憶装置に格納されている、オペレーティングシステムを起動するための第2のプログラムの正当性を判定するための認証データの識別情報を格納するデータ格納部に、指定された第1のスロットの位置情報に対応付けて格納されている第1の識別情報によって、前記認証データを特定し、
    特定された前記認証データで、前記第1のスロットの第1の拡張カードから読み出した前記第1のプログラム、及び、前記第1の拡張カードに接続された第1の記憶装置から読み出した前記第2のプログラムが正当であるか判定する、
    処理を実行する認証プログラム。
JP2016026721A 2016-02-16 2016-02-16 認証方法、認証プログラム及び情報処理装置 Active JP6631303B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2016026721A JP6631303B2 (ja) 2016-02-16 2016-02-16 認証方法、認証プログラム及び情報処理装置
US15/384,845 US20170235683A1 (en) 2016-02-16 2016-12-20 Authentication method, authentication program medium, and information processing apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016026721A JP6631303B2 (ja) 2016-02-16 2016-02-16 認証方法、認証プログラム及び情報処理装置

Publications (2)

Publication Number Publication Date
JP2017146694A JP2017146694A (ja) 2017-08-24
JP6631303B2 true JP6631303B2 (ja) 2020-01-15

Family

ID=59562137

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016026721A Active JP6631303B2 (ja) 2016-02-16 2016-02-16 認証方法、認証プログラム及び情報処理装置

Country Status (2)

Country Link
US (1) US20170235683A1 (ja)
JP (1) JP6631303B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7084160B2 (ja) * 2018-03-02 2022-06-14 Necプラットフォームズ株式会社 起動制御装置、起動制御システム、起動制御方法、及び、起動制御プログラム
JP6706278B2 (ja) * 2018-03-27 2020-06-03 キヤノン株式会社 情報処理装置、及び情報処理方法
WO2021217410A1 (en) * 2020-04-28 2021-11-04 Arris Enterprises Llc Electronic device, system, method and program with enhanced detection of potential bricking

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5035229B2 (ja) * 2008-12-19 2012-09-26 日本電気株式会社 コンピュータ起動システム、コンピュータ起動方法、コンピュータ起動プログラム
WO2010113266A1 (ja) * 2009-03-31 2010-10-07 富士通株式会社 情報処理装置,情報処理装置の起動制御方法及び起動プログラム
JP2014170271A (ja) * 2013-03-01 2014-09-18 Nec Corp 情報処理装置、初期化方法、前処理方法、及びプログラム
TWI643130B (zh) * 2013-09-12 2018-12-01 系微股份有限公司 用於在uefi安全開機資料庫中自動註冊任選rom的系統以及方法

Also Published As

Publication number Publication date
US20170235683A1 (en) 2017-08-17
JP2017146694A (ja) 2017-08-24

Similar Documents

Publication Publication Date Title
EP2681689B1 (en) Protecting operating system configuration values
JP5530460B2 (ja) セキュアブート方法およびセキュアブート装置
US6209099B1 (en) Secure data processing method and system
KR101359841B1 (ko) 신뢰성 있는 부트 최적화를 위한 방법 및 장치
JP5767751B2 (ja) Biosを検証する方法、コンピューティングプラットフォーム、およびプログラム
JP5745061B2 (ja) 起動プロセスの際の対話型コンポーネントの使用の認証
JP4433401B2 (ja) 情報処理システム、プログラム、及び情報処理方法
US8332930B2 (en) Secure use of user secrets on a computing platform
EP2668566B1 (en) Authenticate a hypervisor with encoded information
US10078523B2 (en) Method to boot a computer from a user trusted device with an operating system loader stored thereon
KR102474040B1 (ko) 초기 컴퓨터 운영체제 설정 옵션의 원격 관리
JP2008171389A (ja) ドメイン・ログオンの方法、およびコンピュータ
TWI706274B (zh) 容許透過復原代理器進行作業系統修復的運算裝置與非暫態電腦可讀儲存媒體
JP6631303B2 (ja) 認証方法、認証プログラム及び情報処理装置
JP6846457B2 (ja) 自動検証方法及びシステム
US9448888B2 (en) Preventing a rollback attack in a computing system that includes a primary memory bank and a backup memory bank
US10733300B2 (en) Basic input/output system (BIOS)/unified extensible firmware interface (UEFI) hard drive authentication
JP2010152749A (ja) 資源配付システム
KR20190062797A (ko) 클라우드 서비스를 사용하는 사용자 단말기, 단말기의 보안 통합 관리 서버 및 단말기의 보안 통합 관리 방법
US10684904B2 (en) Information handling systems and methods to selectively control ownership of a hardware based watchdog timer (WDT)
TWI581187B (zh) 傳送用以安裝作業系統之資料影像的技術
CN110909344B (zh) 一种控制方法及装置
US20230133726A1 (en) Method and system for avoiding boot failure from platform firmware resilience execution
US11907375B2 (en) System and method for signing and interlocking a boot information file to a host computing system
US10929827B2 (en) Basic input/output system (BIOS) and unified extensible firmware interface (UEFI) one-time boot

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20181011

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190829

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190917

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190927

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20191112

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20191125

R150 Certificate of patent or registration of utility model

Ref document number: 6631303

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150