alice2bob/ja-md/alice2bob-ja-security-conce...

626 lines
33 KiB
Markdown
Raw Permalink Normal View History

2021-12-29 01:46:40 +01:00
<img class="top-banner" src="../assets/img/top-banner.png" width="780" height="204" alt="アリスとボブのバナー">
# デジタルセキュリティの概念 {#top}
アリスとボブ
2024-02-15 10:56:35 +01:00
バージョン: 2.3
2022-02-28 02:57:27 +01:00
2023-08-17 07:31:49 +02:00
本ガイドの最終更新: 2023-08-17
2021-12-29 01:46:40 +01:00
ガイド一覧に戻る
2024-02-15 10:56:35 +01:00
--- [Markdown](../ja-md/alice2bob-ja-preface-2.3.md#list)
\| [HTML](../ja-html/alice2bob-ja-preface-2.3.html#list)
2021-12-29 01:46:40 +01:00
***
1. [デジタルセキュリティの原則](#principles)
1. [自分の状況を理解する](#understand-your-situation)
2. [最弱点から対策を始める](#weakest-link)
3. [KISS単純な対策を優先する](#KISS)
4. [事前対策を徹底する](#proactive)
5. [STFU情報を不要に明かさない](#STFU)
6. [他人がセンシティブ情報を保護してくれることを信用しない](#dont-trust-anyone)
2023-08-17 07:31:49 +02:00
7. [全ての情報と通信を効果的な措置で保護する](#protect)
2021-12-29 01:46:40 +01:00
8. [記録した情報を最低限にし、不要な情報を削除する](#minimization)
9. [自宅からリスクの高い活動をしない](#dont-work-from-home)
10. [物と情報を活動または身元ごとに区分する](#compartmentalization)
11. [物事を疑わずに受け入れず、十分に検証する](#verify)
12. [FLOSS を使用する](#FLOSS)
13. [対策の点検と見直しを定期的に行う](#security-review)
2. [攻撃ベクトルと攻撃対象領域](#attack-surface)
1. [物質界](#meatspace)
2. [ネットワーク通信](#network-communication)
3. [デバイスと周辺機器](#devices-and-accessories)
# デジタルセキュリティの原則 {#principles}
具体的なセキュリティ対策を考える前に、
まずデジタルセキュリティの原則を把握した方がいいです。
正式または完全な原則リストではないが、
下記に様々なセキュリティまたはプライバシー関連資料に
よくあげられている原則の例を紹介します。
## 自分の状況を理解する {#understand-your-situation}
セキュリティ対策を考える前に、まず自分の状況を理解することが重要です。
以下の質問に回答したらその理解が深まるでしょう。
EFF の "Surveillance Self-Defense"[^EFF-SSD] からの引用・翻訳です。)
- 守るに値する何を持っているか?(財産)
- 誰または何からそれを守りたいか?(脅威)
- それを守る必要がある公算はどの程度あるか?(発生公算)
- 失敗した場合の影響はどれくらい悪いか?(影響)
- 可能な影響を防ごうとするためにどれくらい苦労する意志があるか?
(意志、能力、制約)
→ ガイド:
**セキュリティ計画**
2024-02-15 10:56:35 +01:00
--- [Markdown](../ja-md/alice2bob-ja-security-plan-2.3.md)
\| [HTML](../ja-html/alice2bob-ja-security-plan-2.3.html)
2021-12-29 01:46:40 +01:00
## 最弱点から対策を始める {#weakest-link}
例えば、自宅の玄関のドアを強化して鍵をかけても、
どこかの窓が開けっ放しだとあまり意味がありません。
守りたい物事に関連する各部分の連鎖を考えて、
リスクが最も高い部分を優先しましょう。
セキュリティを強化したい時に、
まず最弱点から対策を始めた方が最も効果的でしょう。
## KISS単純な対策を優先する {#KISS}
複雑な対策を導入したら、動く部分の連鎖が長くなります。
[攻撃対象領域](#attack-surface)(脆弱性の数)や相互作用の数が増え、
かえってセキュリティ低下になる恐れがあります。
また、複雑な対策だと管理が難しくなるため、
セキュリティ対策の維持と見直しが疎かになりがちです。
できる限りセキュリティ対策を単純にしておくことをおすすめします。
2023-08-17 07:31:49 +02:00
これは **KISS**[^KISS] と呼ばれることが多いです。
2021-12-29 01:46:40 +01:00
単純かつローテクな対策のいくつかの例を下にあげます。
- デバイスの電源を完全に切る。
- デバイスを持ち歩かない。
2023-08-17 07:31:49 +02:00
- マイク、カメラ、無線、スピーカー、移動検出センサなどを
物理的に取り除くか無効化する。
2021-12-29 01:46:40 +01:00
- 森林の中や他の監視されていない場所で打ち合わせ、共同作業、
懇親会などを行う。
2022-08-12 04:07:21 +02:00
→ 外部資料:
2023-02-22 04:35:49 +01:00
"Signal Fails"
2022-08-12 04:07:21 +02:00
`https://itsgoingdown.org/signal-fails`
2021-12-29 01:46:40 +01:00
## 事前対策を徹底する {#proactive}
一件のミスまたは侵害だけで取り返しがつかない被害を受ける恐れがあります。
特に、物質と違って、デジタルの情報は一度でも漏洩されると
無数に閲覧・コピーされがちです。
事後対応はある程度被害を抑えられるものの、
遡及力が限定的で対応コストが一般的に高いです。
ミスと侵害を未然防止する事前対策を徹底することが大事です。
## STFU情報を不要に明かさない {#STFU}
センシティブ情報[^sensitive]を漏らすと、該当する活動や対策の失敗、
2023-08-17 07:31:49 +02:00
または当事者(場合によって回りの人も)に対する危険につながる
恐れがあります。
2021-12-29 01:46:40 +01:00
関係者の同意を得ていない限り、
センシティブ情報を不要に明かすことを控えましょう。
2022-02-28 02:57:27 +01:00
特に、知る必要がある人以外の前で秘密情報を口にすることを避けましょう。
2021-12-29 01:46:40 +01:00
知る必要のある人でない限り、もちろん家族や親友にも内緒です。
2023-08-17 07:31:49 +02:00
これは **STFU**[^STFU] と呼ばれ、重要な原則です。
2021-12-29 01:46:40 +01:00
2022-02-28 02:57:27 +01:00
原則として全ての情報をセンシティブ情報として扱うべきです。
ただし、必要に迫られた場合、必要な情報だけを安全な手段で共有すると
情報漏洩のリスクを最小限にすることができます。
2021-12-29 01:46:40 +01:00
一見では単純な原則だと思われるだろうが、守ることが簡単ではありません。
人間は自分の知識や活動について自慢したりおしゃべりを沢山したりする
社会的な動物です。
また、情報開示の影響を身近に感じないか把握しきれないことが多いため、
口に出すべきでない情報をうっかり口に出してしまいます。
自慢話やおしゃべりの際に余計なことを言わないよう気をつけましょう。
情報は人の意識的な言動以外からも漏れることがあります。
インターネットは監視の悪夢で、
現代デバイスの通信とセンシング機能が恐ろしいです。
デジタルに関連する STFU の例を以下にあげます。
- センシティブ情報の要求を拒否する。
- デバイスから発する電波(モバイル通信、 Bluetooth、 Wi-Fi など)
を遮断する。
- 効果的なファイアウォールを有効化する。
- カメラやマイクやセンサや接続などを無効化する。
インターネットが全ての情報を永久に記憶することを前提に行動しましょう。
## 他人がセンシティブ情報を保護してくれることを信用しない {#dont-trust-anyone}
デジタルの時代にプライバシーポリシーや情報保護法が普及しています。
しかし、このような法的手段は実際に人たちの情報を
保護してくれているでしょうか?
インターネット会社は任意にまたは強制されて
法執行機関と協力することが多く、
サービス利用者のセンシティブ情報の売買を習慣的にやります。
また、多くのインターネット会社は
プライバシー意識とセキュリティ対策を欠け、
2022-08-12 04:07:21 +02:00
日常茶飯事かのようにデータ流出が発生しています。
2021-12-29 01:46:40 +01:00
一方、友達と家族さえセンシティブ情報を
保護してくれることを信用するには要注意です。
インターネット会社と同様、多くの人たちも
プライバシー意識とセキュリティ対策を欠け、
2022-08-12 04:07:21 +02:00
脅迫、強制、詐欺、誘惑などに対して脆弱です。
2021-12-29 01:46:40 +01:00
自分とやりとりする人はその時に暗号化通信を利用するかもしれないが、
恐らく他人と非暗号化のメールや電話をするか
信用しない他人とやりとりすることが多く、
その時に自分のセンシティブ情報を明かしてしまう恐れがあります。
2023-08-17 07:31:49 +02:00
必要がある時に親友や弁護士など信用できる人に
2021-12-29 01:46:40 +01:00
情報を明かしても大丈夫かもしれないが、
他人にセンシティブ情報を容易に明かすことを避けましょう。
どの情報をどの人にどの目的で明かしたらいいかをよく考えた上で
行動すべきです。
2023-08-17 07:31:49 +02:00
## 全ての情報と通信を効果的な措置で保護する {#protect}
2021-12-29 01:46:40 +01:00
プライバシーポリシーや他人の約束に頼ってはいけないことを示唆しました。
法的保護に頼ってはいけません。
2023-08-17 07:31:49 +02:00
例えば、不法侵入を法律上犯罪化している管区にさえ
2021-12-29 01:46:40 +01:00
自宅が泥棒に入れられる可能性があります。
また、自宅が火事になってしまう可能性も考えなければなりません。
法的保護や方針や約束は脆弱なものです。
2023-08-17 07:31:49 +02:00
情報と通信を保護するためには効果的な技術的・物理的措置が不可欠です。
2021-12-29 01:46:40 +01:00
情報の破損、損失、改竄、漏洩、身元特定、不正アクセス、傍受、詐欺などを
おそらく未然防止したいでしょう。
2023-08-17 07:31:49 +02:00
デジタルセキュリティにおける技術的・物理的措置の例をいくつかあげます。
2021-12-29 01:46:40 +01:00
- 情報、通信、ファイルシステムなどを暗号化する。
- 強いパスワードや多要素認証[^MFA]で情報やアカウントを保護する。
2023-08-17 07:31:49 +02:00
- 情報、通信、デバイスなどの存在や外見や位置を隠匿する。
2021-12-29 01:46:40 +01:00
- 錠、金庫などを用いて物理的アクセスを制御する。
## 記録した情報を最低限にし、不要な情報を削除する {#minimization}
情報を多く生成・収集・保存したら、
情報管理も難しくなれば情報漏洩のリスクも高くなります。
置き忘れ、スリ、ひったくり、強盗などで
デバイスやノートを失うリスクは誰にもあります。
その上、警察に留められた場合や国境を通る際に
強制的に捜索されるリスクがあります。
デバイス内の脆弱性やマルウェアによって
情報が抜き出されることもあり得ます。
それらのリスクを軽減するために、所有情報を最低限にしましょう。
持っていない情報を保護せずに済みます。
- "No logs no crime":情報の入手と生成を最低限にする。
- 保存している不要な情報を削除し、情報を定期的に管理する。
情報の入手と生成を最低限にする方法といえば、
デバイス内のアプリやシステムのロギングの無効化、
メールやメッセンジャーのやりとりの自動削除など、様々な手法があります。
情報の生成と保存を最低限にする OS[^OS] といえば、 Tails を推奨します。
Tails では、ユーザが意図的に保存した情報以外の情報が
終了時に消去されます。
→ ガイド:
**Tails での自由かつ匿名コンピューティング**
2024-02-15 10:56:35 +01:00
--- [Markdown](../ja-md/alice2bob-ja-Tails-2.3.md)
\| [HTML](../ja-html/alice2bob-ja-Tails-2.3.html)
2021-12-29 01:46:40 +01:00
デジタル情報を簡易削除するだけで完全に消去されず、
記憶装置に残ってしまいます。
センシティブ情報を削除する際、データの完全な消去・破壊によって
情報を復元不可能にすべきでしょう。
例えば、ファイル削除後の空きスペース消去(上書き)、
記憶装置の破壊などの手法があります。
物質界では、情報を記載した紙の焼却かつ破砕は代表的な例です。
## 自宅からリスクの高い活動をしない {#dont-work-from-home}
リスクの高い活動の出所が自宅まで追跡されたら、
自宅と居住者に対する監視、ハラスメント、暴力などの
攻撃の発生可能性が上がってしまいます。
また、自宅と身元(例えば実名)との繋がりが発覚されたら、
身元に対する攻撃のリスクも出てきます。
管区によるが、自宅と人の身元の情報はしばしば繋がっています。
例えば、不動産を購入したり賃貸契約に入ったりする際に
身元を明かす義務が多いです。
運転免許証に住所が記載され、住所変更の申告を義務付ける管区もあります。
国勢調査は匿名ではなく、
氏名、出生、性別、国籍、配偶者などの個人情報が要求されます。
その他に、友人や家族を自宅に誘ったり
買い物を自宅まで郵送してもらったりして、
日常生活において人が自分の身元を自宅に繋げることが多いです。
自宅からリスクの高い活動をしないことが重要です。
できる限り、身元に繋がっていない場所からリスクの高い活動をしましょう。
匿名化ネットワーク、匿名アカウントなどを使ってもこの原則は重要です。
## 物と情報を活動または身元ごとに区分する {#compartmentalization}
日常生活のために利用する物と情報を
センシティブな活動に使用しないことは重要です。
2023-08-17 07:31:49 +02:00
日常生活用と活動用を区分に入れ、
区分間をわたる交差汚染を極力避けましょう。
2021-12-29 01:46:40 +01:00
更に、日常生活に使う家族用、仕事用などのアカウント、
連絡先、デバイスなども別の区分に入れるといいでしょう。
できる限り区分すべきかもしれない物と情報といえば、
別名、アカウント、連絡先、デバイス、ソフトウェア、インターネット接続、
2023-08-17 07:31:49 +02:00
道具、人間関係(知人・ソーシャルグラフ)、スタイル、活動拠点など
2021-12-29 01:46:40 +01:00
多数の例があります。
一部の物と情報(例えば変更できない身体)は区分が無理かもしれないが、
物と情報を区分すればするほど日常生活と活動との繋がりの
発覚可能性を削減できます。
しかしながら、区分を維持するには多少の管理が必要です。
そのために、以下の方法を提案します。
- 区分とそれに入る物と情報を事前に計画する。
- パスワード管理ソフトウェア[^password-manager]を活用し、
各エントリーを(フォルダを作成するなどして)
活動または身元ごとに区分する。
## 物事を疑わずに受け入れず、十分に検証する {#verify}
世の中に振り込め詐欺やフィッシングなどが毎日発生しています。
なりすまし、詐欺、潜入、偽情報などに油断せずに用心することは重要です。
用心は日常的な被害を防ぐ対策になり、敵が存在する場合に特に重要です。
デジタル技術に関して、ソフトウェア、重大な情報、やりとりの相手、
セキュリティ特性などをできる限り確認してから信用しましょう。
例えば、デジタル通信の際、以下のことを検証することが重要です。
- プライバシーソフトウェアのセキュリティ特性は真実か嘘なのか?
- 入手したソフトウェアは本当に開発者が作成した物かマルウェアなのか?
- やりとりの相手は本当に思っている人(例えば友人または恋人)なのか?
- ウェブサイトまたは電子メール内のリンクは信用できるか詐欺なのか?
## FLOSS を使用する {#FLOSS}
2023-08-17 07:31:49 +02:00
**FLOSS** (自由オープンソースソフトウェア)とは、
2021-12-29 01:46:40 +01:00
ソースコードが開示され、
利用・コンパイル・頒布・変更ともが自由なソフトウェアです。
自由ソフトウェアとオープンソースソフトウェアを含む総称で、
FLOSS は "free/libre and open-source software" の頭文語です。
FLOSS はソフトウェアの検証を可能にするため、
デジタルセキュリティにとって不可欠です。
開発者だけしかソースコードが閲覧・編集できないソフトウェアでは、
ソフトウェア利用者を監視していないか、バックドアを導入していないか、
裏に怪しい動作・機能を導入していないか、セキュリティが健全であるかなど、
ソフトウェア利用者が開発者に完全な信用を与えなければなりません。
一方、 FLOSS では誰もがソースコードを閲覧し、
ソフトウェアを自由に編集、複製、頒布などできるため、
市民社会がソフトウェアを理解したり直接的にセキュリティ機能を確認したり
脆弱性を修正したりできます。
そのため、できる限り FLOSS のみを使用することを推奨します。
デバイス内のソフトウェアの完全 FLOSS 化は不可能かもしれないが
(特にアップルデバイス、モバイルデバイス、
ファームウェアレベルなどでは困難かもしれません)、
OS とアプリケーションを検証された FLOSS に取り替えると
セキュリティ向上になるでしょう。
- Privacy Tools `https://privacy-tools.io/`
- switching.software `https://swiso.org/`
とはいえ、 FLOSS だからセキュリティが健全だという保証はありません。
あくまでも機能とセキュリティを検証可能にするだけです。
FLOSS が市民社会にとってのセキュリティ利益になるためには、
暗号やプログラミングやコンピュータやセキュリティに
詳しい人たちがコードを監査し、
問題を開発者に指摘したり市民社会に結果を知らせたり
しなければなりません。
セキュリティを重要視するソフトウェアプロジェクトは
監査を依頼することがあるが、
ほとんどのソフトウェアは監査されていません。
2023-08-17 07:31:49 +02:00
→ 外部資料:
Linux のセキュリティ問題:
`https://madaidans-insecurities.github.io/linux.html`
2021-12-29 01:46:40 +01:00
## 対策の点検と見直しを定期的に行う {#security-review}
2023-08-17 07:31:49 +02:00
セキュリティはツールの導入または購入ではなく、継続するプロセスです。
2021-12-29 01:46:40 +01:00
対策を導入しただけで終わりません。
例え VPN や暗号化を使い始めても、それだけでは不十分です。
セキュリティを維持するために、
以下のことを定期的に行う必要があるでしょう。
- セキュリティ計画の見直し:脅威モデルの確認、対策の妥当性確認など。
- 情報の管理:頻繁なバックアップ、ファイルの整理、不要な情報の削除など。
- ソフトウェアの管理:定期的かつ迅速な更新、不要ソフトウェアの削除など。
- アカウントの管理:パスワードの定期的な変更、不要アカウントの削除など。
- 暗号鍵の管理:期限が切れそうな鍵の更新、不要な鍵の削除・失効など。
- 対策のテスト:漏洩テスト、侵入テスト、バックアップ復元テストなど。
自分のセキュリティ要件が時間につれて変わるかもしれません。
また、過去に健全だったセキュリティ対策が脆弱になったかもしれません。
過去に導入したセキュリティ対策が現在のセキュリティ必要に十分かつ適切か、
定期的にセキュリティ対策を見直した方がいいです。
→ ガイド:
**セキュリティ計画**
2024-02-15 10:56:35 +01:00
--- [Markdown](../ja-md/alice2bob-ja-security-plan-2.3.md)
\| [HTML](../ja-html/alice2bob-ja-security-plan-2.3.html)
2021-12-29 01:46:40 +01:00
# 攻撃ベクトルと攻撃対象領域 {#attack-surface}
では、デジタルセキュリティにおいて実際に何を保護する必要があるか?
本セクションでは具体例を紹介します。
2023-08-17 07:31:49 +02:00
ただし、全ての点をここであげると思わないでください。
2021-12-29 01:46:40 +01:00
また、どうやってこれらの点を攻撃に利用したり保護したりできるかを
自分で考えてください。
2023-08-17 07:31:49 +02:00
**攻撃ベクトル**attack vectorとは、
2021-12-29 01:46:40 +01:00
攻撃者が対象者に害を与えるために利用できるまたは利用した
特定の弱点(経路、手法、シナリオ、場所など)のことです。
攻撃者が対象者の領域に侵入する場合を指すことが多いが、
対象者の領域に対する監視や情報収集など受動的な攻撃も
範囲内だと考えられます。
2023-08-17 07:31:49 +02:00
**攻撃対象領域**attack surfaceとは、
2021-12-29 01:46:40 +01:00
攻撃ベクトルの集合のことです。
攻撃対象領域が広ければ広いほど攻撃されやすくなるため、
セキュリティの観点では最小限にすることが望ましいです。
## 物質界 {#meatspace}
当然ながら、みんなの身体、デバイス、インターネットは
物質界の中に存在します。
また、暴力と物理的な力も物質界に存在します。
そのため、身の回りの物質界は大変重要な保護対象です。
物質界の中に存在する物事の例を下にあげます。
- あなたや仲間の身体と心理
- 他の生き物(敵、傍観者、野生動物など)
- デジタルデバイスと周辺機器(電子回路、画面、電源、ケーブルなど)
- 生命・生活を支えるもの(空気、衣食住、水、ガス、車両、電力、
インターネット接続など)
- 紙に印刷されたまたは書かれた情報
- 作業環境(部屋、道具、家具、ドア、窓など)
- 一般的な環境(自然、公共の場、土地、海洋など)
- 五感で感じられるもの(光景、音、肌理、香り、味、温度)
- 情報とエネルギーを高速かつ広範囲へ伝達できる物理的現象
(赤外線、可視光線、電気、他の電磁波、放射能、音波)
- 監視技術(カメラ、マイク、センサなど)
- 移動、交通
- 活動(作業、打ち合わせ、集会、スポーツなど)
- 現金、 ATM カード、クレジットカードなど
- 供給チェーン
一方、アナログ(電磁波)とデジタルの情報と通信と異なって、
物質で表現した情報は有限の質量を有します。
一般的には光の速度より遥かに遅く移動し、希少性を有し、複製が難しいです。
したがって、センシティブ情報をアナログまたはデジタルの記録・通信から
2023-08-17 07:31:49 +02:00
遠ざけることにはメリットがあります。
2021-12-29 01:46:40 +01:00
## ネットワーク通信 {#network-communication}
現代のネットワーク通信は多数の部分と層で構成されて実現しているものです。
これを理解するには TCP/IP モデルまたは OSI モデルを
見るといいかもしれません。
### TCP/IP モデル {#TCP-IP-model}
<img class="display" src="../assets/img/security-concepts/TCP-IP-topology.png" width="508" height="454" alt="TCP/IP トポロジーとデータの流れ">
TCP/IP モデルまたは
2023-08-17 07:31:49 +02:00
**インターネット・プロトコル・スィート**internet protocol suiteとは、
2021-12-29 01:46:40 +01:00
インターネットTCP/IP開発中に 1970 年代頃に考案された
4 階層のプロトコルモデルです。
ネットワーキング開発によく用いられているモデルです。
| 階層 | 機能 |
|:----|:----|
| アプリケーション | アプリケーション・プロセス間の通信 |
| トランスポート | ホストからホストまでの通信 |
| インターネット | ネットワーク境界を越えるパケット通信 |
| データリンク | 隣接する通信機器間の転送 |
### OSI モデル {#OSI-model}
2023-08-17 07:31:49 +02:00
**OSI モデル**とは、
多様な通信システムの標準化と相互利用可能性を目的に
2021-12-29 01:46:40 +01:00
1980 年代に考案された 7 階層の概念モデルです。
TCP/IP モデルに似ている階層モデルだが、
インターネットより一般化したモデルです。
| 階層 | 転送単位 | 機能(例) |
|:----|:----|:----|
| 7. アプリケーション | データ | 通信サービスの提供HTTP、 Tor、ビットコイン |
| 6. プレゼンテーション | データ | データの変換・符号化ASCII、 MIME、 PGP、 TLS |
| 5. セッション | データ | 通信の開始から終了までの手順PPTP、 RTP、 SOCKS |
| 4. トランスポート | セグメント | 端から端までの通信管理TCP、 UDP |
| 3. ネットワーク | パケット | 端から端までのパケットの配送IP、 ICMP |
| 2. データリンク | フレーム | 隣接する通信機器間の転送ARP、 Wi-Fi、イーサネット |
| 1. 物理 | ビット、シンボル | 物理的な接続(電話線、光ケーブル、無線) |
### "Layer 8" {#layer-8}
2023-08-17 07:31:49 +02:00
OSI モデルから拡張し、いわゆる「**第 8 層**」("layer 8"
2021-12-29 01:46:40 +01:00
に言及されることがよくあります。
人によって第 8 層の見解が異なるが、
第 8 層とはアプリケーションとの相互作用をするユーザ
を意味することが少なくありません。
「第 8 層」はネットワーク通信モデルから由来した用語だが、
ユーザがアプリケーションと相互作用することが主なため、
オフラインのアプリケーションのユーザを指すこともあります。
デジタルセキュリティにおいては、
アプリケーションとそれ以下の階層に問題がないにもかかわらず、
ユーザがアプリケーションの使用でうっかりセンシティブ情報を明かすなどして
セキュリティを損ねてしまうことがあり得ます。
そのため、ユーザはアプリケーションの正しい使い方やセキュリティ特性
を理解することが重要です。
ユーザがアプリケーションを使う時に何か問題があった際に
「問題は第 8 層にある」とユーザを批判する開発者がたまにいるだろうが、
アプリケーション開発者はユーザの要件とデジタルセキュリティを理解して、
ユーザが安全にアプリケーションを利用できるよう
開発を進める必要もあります。
## デバイスと周辺機器 {#devices-and-accessories}
デバイスは電子回路、ソフトウェアなど
多数の要素と相互作用のある電子機器です。
ここでその要素を大きく分類して説明します。
- **ユーザデータ**
ユーザがアプリケーションを利用することで生成・保存するデータ。
例えば、文書、メッセージ、画像、暗号鍵、アカウント情報、
ゲーム進行データ、アプリケーション設定など。
- **アプリケーション**application
ある特定の機能・目的を実現するソフトウェア。
例えば、マルチメディアの再生、ウェブ閲覧、ドキュメントの作成・編集、
ゲームなど。
アプリケーションのインストール・変更は
主にルート(管理者権限)として行うが、
アプリケーション実行とアプリケーション設定は主に標準ユーザが行います。
- **オペレーティングシステム**OS
アプリケーションとハードウェアの間に位置し、
ユーザインタフェースを提供しながら
ハードウェアなどを効率的に管理するソフトウェア。
プログラムの実行、メモリ管理、ハードウェア最適化、
ディスクアクセス、ユーザ管理、ファイルシステム管理、
デバイス稼働、ネットワーク、セキュリティなどの役割を持ちます。
- **ハードウェア**hardware
ソフトウェアの実行やデータの処理をする物理的な要素。
たいていデジタル電子回路だが、
テープ記憶装置や量子コンピュータも範囲内。
CPU (中央処理装置)、メモリ、ディスク、
入出力機器(キーボード、ディスプレイなど)、
ネットワーク装置などで構成されます。
場合によってデバイスのファームウェアも範囲内だと考えられます。
- **起動**boot
電源投入から OS が実行可能な状態に至るまでのプロセス。
例えば、現代の Linux のコンピュータでは、
たいていは不揮発性メモリから
UEFI 一次ブートローダboot loaderを読み出し、
次に GRUB 二次ブートローダを実行してから、
最後に OS を起動させます。
重要なセキュリティ上の注意点はデバイスに接続できる周辺機器についてです。
キーボード、マウス、 USB メモリ、 SD カード、
Bluetooth、 Wi-Fi などの周辺機器は
データのロギング・抜き出しまたは悪質なデータ・ソフトウェアの挿入などの
攻撃ベクトルになり得ます。
例えば、ハードウェアのキーロガー、
USB 経由でマルウェアを注入したり USB ポートを破壊したりする
悪質な USB デバイス、
空港やホテルなど公共の場に設置されている悪質なスマートフォン充電器、
主メモリに直接アクセスする Firewire や
PCI Express などのインターフェイス、
公共の場の Bluetooth または Wi-Fi デバイスを監視・攻撃する装置。
### ベースバンド {#baseband}
ここで携帯電話・スマートフォンによくある問題について説明します。
2023-08-17 07:31:49 +02:00
**ベースバンドプロセッサ**baseband processor
略して**ベースバンド**とは、
2021-12-29 01:46:40 +01:00
携帯電話など移動体通信ネットワークに接続できるデバイスの中に内蔵し、
送受信データと基底帯域(ベースバンド)信号との間の
生成・復元を行う装置です。
たいていは自らの CPU、メモリ、デジタル信号処理器DSPなどを内蔵し、
リアルタイムオペレーティングシステムRTOS
のファームウェアを実行します。
そのため、事実上は現代のスマートフォンに主に
アプリケーション(主プロセッサ)とベースバンドという
つのコンピュータが入っていると言えます。
基底帯域信号処理を個別のプロセッサで行う根拠といえば、
無線機能の性能と信頼性を確保するという技術的な理由、
また(アプリケーションからの分離による)認証簡素化という
法令遵守の理由があります。
しかし、ベースバンドには複数の問題があります。
しかも、仮に利用者がアプリケーションスタック(ハードウェア、
OS、アプリなどを自由に選択・変更できても、
ベースバンドの選択・変更は困難です。
- ベースバンドのソフトウェアはたいてい私有で、
FLOSS のような透明性がないため、
独立した監査などセキュリティ検証が(逆行工学以外)不可能で、
脆弱性やバックドア[^baseband-backdoor]が入っている恐れがあります。
- 移動体通信ネットワーク経由でベースバンド内の
脆弱性やバックドアを攻撃することで、
攻撃者がデバイスを遠隔に監視・制御できます。
[^baseband-backdoor]: 2014 年、 Android の FLOSS 版を開発していた
Replicant が Samsung Galaxy ベースバンドにバックドアを発覚・封鎖。
`https://www.fsf.org/blogs/community/replicant-developers-find-and-close-samsung-galaxy-backdoor`
[^EFF-SSD]: EFF "Surveillance Self-Defense"
`https://ssd.eff.org/en/module/your-security-plan`
[^KISS]: KISS "keep it simple stupid" (単純にしておけの意)の略。
[^MFA]: 多要素認証:アクセス権限を与える前にユーザから
2 つ以上の要素を必要とする認証方式。
[^OS]: OS "operating system" (オペレーティングシステム)の頭字語。
[^password-manager]: 例えば KeePassXC `https://keepassxc.org/`
[^sensitive]: センシティブ情報:
慎重に扱うべき、または、公にすべきではない情報。
[^STFU]: STFU "shut the fuck up" (黙っとけの意)の略。
***
# アリスとボブ {#back}
ガイド一覧に戻る
2024-02-15 10:56:35 +01:00
--- [Markdown](../ja-md/alice2bob-ja-preface-2.3.md#list)
\| [HTML](../ja-html/alice2bob-ja-preface-2.3.html#list)
2021-12-29 01:46:40 +01:00
## 連絡先 {#back-contact}
### PGP 鍵 {#back-contact-PGP}
`1D3E 313C 4DB2 B3E0 8271 FC48 89BB 4CBB 9DBE 7F6D`
- ウェブサイト上:
`https://git.disroot.org/alice2bob/alice2bob/src/branch/master/alice2bob.asc`
- 鍵サーバ(クリアネット):
`https://keys.openpgp.org/search?q=1D3E313C4DB2B3E08271FC4889BB4CBB9DBE7F6D`
- 鍵サーバ(オニオン):
`http://zkaan2xfbuxia2wpf7ofnkbz6r5zdbbvxbunvp5g2iebopbfc4iqmbad.onion/search?q=1D3E313C4DB2B3E08271FC4889BB4CBB9DBE7F6D`
### ウェブサイト {#back-contact-website}
<img class="qr" src="../assets/qr/contact-website.png" width="222" height="222" alt="ウェブサイト QR コード">
`https://git.disroot.org/alice2bob/alice2bob`
## 検証 {#back-verify}
`https://git.disroot.org/alice2bob/alice2bob/src/branch/master/verify.md`
## 免責事項 {#back-disclaimer}
アリスとボブはセキュリティ専門家でも法律家でも
金融アドバイザーでも医師でもありません。
本シリーズの目的はあくまでも情報提供で、何の助言でもありません。
本シリーズは全くの無保証で提供されます。
本シリーズによってどんな不利、損失または損害が生じても、
アリスとボブは一切の責任を負いません。
ご自身の状況を考慮し、自己責任で本シリーズを使ってください。