### 質問

BIOSパスワードは代表的にはどのようなものがあって、それぞれどんな安全性を担保していますか？

### 経緯

[他の方の質問](https://ja.stackoverflow.com/q/61031/19110)を読んでいて、「BIOSパスワード」と呼ばれるものが複数あると気付きました。[英語版Wikipedia](https://en.wikipedia.org/wiki/BIOS)を見ると、次のようにBIOSのパスワードにも色々あると書かれています。

> Setting various passwords, such as a password for securing access to the
> BIOS user interface functions itself and preventing malicious users from
> booting the system from unauthorized portable storage devices, a password
> for booting the system, or a hard disk drive password that limits access to
> it and stays assigned even if the hard disk drive is moved to another
> computer

つまり、少なくとも以下の3種類があります。

  1. BIOSのUIを立ち上げる際に要求するパスワード。
  2. システムをブートする際に要求するパスワード。
  3. ハードディスクにアクセスする前に要求するパスワード。

この仕組みについて考えていると、いくつかよく知らない点があることに気付きました。

  * 1番目のパスワードは具体的にBIOS設定の何を守りたいのでしょうか。ブート順を不用意に変えられないようにしたいということでしょうか。しかし繋がっているストレージそのものを入れ替えられるとブート順を変えずに別のストレージから起動できてしまったりしないのでしょうか（そういうことができないための仕組みがある？）。
  * 2番目のパスワードはOSが立ち上がる前にパスワードを要求することで、たとえばネットワーク越しにシステムを立ち上げた後OSやその他ソフトウェアの不具合を突くなどして不正ログインされないためのものだと理解しているのですが、逆に言えばシステムごと物理的に盗まれた場合はマザーボードを入れ替えるなどすればこのパスワードは意味が無くなるということでしょうか。
  * 3番目のパスワードはそもそもどこにパスワードが保存されるのでしょうか。ハードディスクを守ろうとしてもハードディスクだけ取り出して別のシステムで起動すれば立ち上がってしまうような気がするのですが、そういうこともできないようになっているのでしょうか。

全体的に、BIOSがどのように実装されているのかの理解が足りず、各々のパスワードが何を守っていて、かつそれが本当に意味のあるものなのか判定ができないというものです。

**そこで、質問です** ：BIOSパスワードは代表的にはどのようなものがあって、それぞれどんな安全性を担保していますか？
つまり、各々のパスワードはどういう仮定のもとで何を守っていますか？ どういうシチュエーションならパスワードを設定した意味がなくなりますか？
CC BY-SA 4.0
2019-12-11T04:00:10.073
61328
2019-12-12T15:36:22.977
2019-12-12T13:29:39.627
19110
19110
question
security bios
BIOSパスワードはどんな安全性を担保していますか？
メーカーによって対応は違ってくると思いますが、[Dellの例](https://www.dell.com/community/%E4%B8%80%E8%88%AC-%E3%83%8E%E3%83%BC%E3%83%88%E3%83%91%E3%82%BD%E3%82%B3%E3%83%B3/BIOS%E3%81%A7%E8%A8%AD%E5%AE%9A%E3%81%A7%E3%81%8D%E3%82%8B%E3%83%91%E3%82%B9%E3%83%AF%E3%83%BC%E3%83%89%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6/td-p/6225663)
を参考に回答してみます。

> BIOSのUIを立ち上げる際に要求するパスワード。

誤操作を含めた、不用意な設定変更を防ぐのが主な目的な気がします。

大抵は特定のキーを押しっぱなしにすることでBIOS画面が起動しますが、不慣れなユーザーが意図せず起動してしまい、そのまま操作が分からず設定を変更してしまうケースが考えられます。

> システムをブートする際に要求するパスワード。

システムを保護するためのパスワードですが、懸念されている通り物理的にアクセス(=取り外し)が可能であれば中身は読み取れてしまいます。

> ハードディスクにアクセスする前に要求するパスワード。

HDD自体にパスワードを設定するので、抜き取られた場合でも中身を盗み見られることはないとの事。

Windowsから設定できる方法もあるようなので、BIOS自体の機能というよりはHDDへの設定方法を提供しているだけの様な気もします。

**参考:**  
[BIOSで設定できるパスワードについて - Dell
Community](https://www.dell.com/community/%E4%B8%80%E8%88%AC-%E3%83%8E%E3%83%BC%E3%83%88%E3%83%91%E3%82%BD%E3%82%B3%E3%83%B3/BIOS%E3%81%A7%E8%A8%AD%E5%AE%9A%E3%81%A7%E3%81%8D%E3%82%8B%E3%83%91%E3%82%B9%E3%83%AF%E3%83%BC%E3%83%89%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6/td-p/6225663)
CC BY-SA 4.0
2019-12-11T04:46:03.993
61333
2019-12-11T04:46:03.993
3060
61328
answer
使用状況や使用目的によってどれがどれくらい意味があるのかが変わってくると思いますので、具体的な使用例を含めて回答します。

**学校の教室等にある学習用PCやネットカフェ等にある利用者用PC等の複数の利用者が共通で使用するPC**

これらのPCはセキュリティロックによって容易にPCを分解できず、セキュリティワイヤーによって容易に持ち出しできないようにしています。実際は不可能ではありませんが、正規の鍵がなければ工具等で無理矢理こじ開ける事になるため、管理者に気付かれずにHDD(SSDの場合もありますが、この回答では区別しません)だけを抜き出す等は不可能と考えてください。

これらのPCで防がなければならないのは、ユーザーが利用可能な機能の制限を越えてPCを利用されることです。ネットワークや他PCへの攻撃等を防止するために、ユーザーには管理者権限を与えず、利用できる機能を制限する必要があります。それらが破られてしまってはいけないと言うことです。ユーザーに管理者権限を与えないなどOSの適切な設定・管理するという必要最低限のことは行っていることが条件となります。

このとき考えなければならないのはOSを介さずに上の制限を外そうとする行為をいかに防ぐかです。いくらOSが強固で適切な設定がされていても、DVDやUSBから別OSをブートすることができる場合、PC内にあるHDDを自由に改変可能です。このような場合は、HDDが別途暗号化されているとかでない限り、管理者権限を奪うような方法はいくらでもあります。つまり、別OSブートを防ぐ必要があると言うことです。

BIOSではブート可能なデバイスを制限することができます。PC内のHDDでのみブート可能とし、DVDやUSBからはできないようにすることができると言うことです。しかし、いくら制限する設定をしても、利用者がBIOSの設定を操作できてしまえば意味がありません。BIOSの設定を変更して、DVD等からブートできてしまうからです。そこで登場するのが、「BIOSのUIを立ち上げる際に要求するパスワード」です。

「BIOSのUIを立ち上げる際に要求するパスワード」が設定されている場合、パスワードを知らない利用者はDVD等からのブートに変更できないため、別OSを使うことができません。物理的にHDDを抜くこともできないため、利用者にはPC内のHDDを都合が良いように改変する手段が無いことになります。これで、管理者は利用者が制限を超えた操作をしようとすることを防ぐことができます。

よって、このような共通利用のPCでは「BIOSのUIを立ち上げる際に要求するパスワード」を設定することは必須であると言えます。他にも、BIOSを変に設定されて使用できなくさせるなどのイタズラ防止という意味もあります。

※ これでセキュリティが万全になるというわけでは無く、別OS起動という制限の回避手段を防止するために実施する項目の一つにすぎません。

※
メーカーによってはOS上からBIOS設定を変更できる場合があります。その場合でも、設定変更には管理者権限が必須であり、利用者は設定を変更することが原則できないようになっています。
CC BY-SA 4.0
2019-12-11T22:31:11.240
61353
2019-12-12T15:36:22.977
2019-12-12T15:36:22.977
7347
61328
answer