# GrapesDrive セキュリティホワイトペーパー

## GrapesDrive Technical White Paper (Ver 4.0)

Multi-Layered Security Architecture: Zero-Knowledge & Edge Protection

### 1. エグゼクティブサマリー

企業のデータ資産を守るためには、単一のセキュリティ対策では不十分です。サイバー攻撃は年々高度化しており、データの「暗号化」だけでなく、サービスそのものの「可用性」や、正規のユーザーになりすます「高度なBot攻撃」、そしてWebアプリケーションの脆弱性を突く「インジェクション攻撃」への対策が不可欠です。

GrapesDrive は、これらの脅威に対し、「クライアントサイドE2EE（End-to-End Encryption）」によるデータ保護と、「Cloudflare Edge Security」によるインフラ防御を融合させたハイブリッド・セキュリティモデルを提供します。

本プラットフォームは、ファイルの中身をサーバー側で一切閲覧できない「ゼロ知識アーキテクチャ」を維持しつつ、DNSSECやWAF（Web Application Firewall）といった最新のネットワークセキュリティ技術を導入することで、盗聴、改ざん、なりすまし、そしてサービス妨害攻撃（DDoS）からユーザーを包括的に保護します。本ドキュメントでは、この多層防御システムの全容を詳述します。

***

### 2. アーキテクチャ概要: 信頼境界と多層防御

GrapesDriveの設計思想は、攻撃者がどのレイヤー（通信、サーバー、アプリケーション）を狙っても防御可能な「多層防御（Defense in Depth）」に基づいています。

#### 2.1 The Trusted Zone (クライアントサイド)

セキュリティの最終防衛線はユーザーのブラウザです。

* Web Crypto API: ブラウザネイティブのAPIを使用し、乱数生成から暗号化までをローカルメモリ内で完結させます。外部ライブラリ依存によるサプライチェーン攻撃のリスクを排除しています。

#### 2.2 The Protected Zone (ネットワークエッジ - Cloudflare)

クライアントとサーバーの間には、世界規模のネットワークを持つCloudflareのエッジサーバーが配置され、悪意あるトラフィックをフィルタリングします。

#### 2.3 The Untrusted Zone (オリジンサーバー)

サーバーは、検証・浄化されたリクエストのみを受け付け、暗号化されたデータ（Blob）とメタデータを保管します。ここでも「サーバーはファイルの中身を知らない」という原則は厳守されます。

***

### 3. インフラストラクチャ・セキュリティ (Network & Edge Protection)

Grapes Driveでは、アプリケーションに到達する前の段階で攻撃を無力化するため、Cloudflareのエンタープライズグレードのセキュリティ機能を全面的に採用しています。

#### 3.1 DNSSEC (Domain Name System Security Extensions)

セキュリティの基本は「正しいサーバーに接続しているか」の保証から始まります。GrapesDriveは [DNSSEC ](https://en.wikipedia.org/wiki/Domain_Name_System_Security_Extensions)を完全実装しています。

* 信頼の連鎖 (Chain of Trust): ドメイン名の解決（DNSルックアップ）プロセスに対し、電子署名を用いた検証を行います。
* DNSキャッシュポイズニングの防止: 攻撃者がDNS応答を偽装し、ユーザーを偽のGrapes Driveサイト（フィッシングサイト等）に誘導しようとする試みを根本から遮断します。これにより、ユーザーがアクセスしているのが真正なサーバーであることが暗号学的に保証されます。

#### 3.2 Cloudflare DDoS Protection (L3/L4/L7防御)

サービスの可用性を損なうDDoS（分散型サービス拒否）攻撃に対し、常時稼働の緩和システムを導入しています。

* Volumetric攻撃対策: UDP/ICMPフラッドなどの帯域幅を埋め尽くす攻撃を、エッジネットワーク上で分散・吸収します。
* アプリケーション層攻撃対策: HTTPリクエストの振る舞いを分析し、正規のユーザーに見せかけたスローな攻撃や、特定のAPIエンドポイントへの集中攻撃を検知・遮断します。

#### 3.3 高度なBot管理 (Advanced Bot Management)

自動化されたスクレイピングや不正アクセスからデータを守ります。

* ヒューリスティック検知: リクエストのヘッダー情報、行動パターン、JA3フィンガープリント（SSL/TLSハンドシェイクの特徴）などを解析し、人間とBotを識別します。
* 悪性Botの排除: ファイルの総当たりダウンロードを試みるスクリプトや、脆弱性をスキャンするBotを自動的にブロックします。

#### 3.4 Web Application Firewall (WAF) と XSS対策

アプリケーションの脆弱性を狙う攻撃への防御壁です。

* XSS (クロスサイトスクリプティング) 防御: 暗号化処理を行うJavaScript自体が改ざんされたり、悪意あるスクリプトが注入されたりすると、復号鍵が盗まれるリスクがあります。Cloudflare WAFは、リクエストに含まれる不審なペイロードを検査し、XSS攻撃やSQLインジェクションをエッジでブロックします。これにより、ブラウザで実行される暗号化コードの純粋性が保たれます。

***

### 4. 暗号化コア技術 (Cryptographic Core)

インフラ層での防御に加え、データそのものの機密性は、数学的に証明された暗号技術によって担保されます。

#### 4.1 鍵生成と管理 (Key Generation & Management)

PBKDF2のようなパスワード依存の鍵生成は行わず、ブラウザのCSPRNG (Cryptographically Secure Pseudo-Random Number Generator) を用いて、エントロピーの高い強力な鍵を直接生成します。

* HKDF (HMAC-based Extract-and-Expand Key Derivation Function):

  生成されたマスターシークレットから、用途別のサブキーを安全に導出するために HKDF ([RFC 5869](https://en.wikipedia.org/wiki/HKDF)) を採用しています。

  * 目的: 単一の鍵をすべての処理（暗号化、署名など）に使い回すリスクを回避します。
  * プロセス: マスタキーから「コンテンツ暗号化キー」と「URL署名キー」を数学的に独立した状態で生成し、仮に片方の安全性が脅かされても、システム全体の崩壊を防ぎます。

#### 4.2 エンドツーエンド暗号化 (E2EE)

ファイル本体は、転送中だけでなく、保存時においても常に暗号化されています。

* アルゴリズム: AES-GCM (256-bit)
* 認証付き暗号: GCMモードは、データの暗号化と同時に「認証タグ」を生成します。これにより、サーバー管理者やハッカーが暗号化ファイルを1ビットでも改ざんした場合、復号時に即座にエラーとなり、破損したデータの展開を防ぎます。

#### 4.3 ゼロ知識URL共有 (Zero-Knowledge Sharing)

サーバーに鍵を送らずに共有を実現する仕組みです。

* URLフラグメント方式:

  `https://grapesgiga.mixeder.net/?space={file_id}#{encryption_key}`

  * `#{encryption_key}` の部分はブラウザのみが認識し、サーバーへのHTTPリクエストには送信されません。
  * 結果として、サーバーは「暗号化されたデータ」は持ちますが、「それを復号する鍵」を持つことは構造上不可能です。

***

### 5. データ仕様とアクセス制御

#### 5.1 メタデータの非暗号化と可視性

GrapesDriveでは、ユーザー体験（高速な検索、一覧表示）とセキュリティのバランスを最適化するため、以下の仕様を採用しています。

* 暗号化対象: ファイルの中身 (Binary Content)
* 非暗号化対象: ファイル名、ファイルサイズ、MIMEタイプ
  * 重要: サーバー管理者はファイル名を視認できます。したがって、「Project\_X\_TopSecret.pdf」のような機密性の高い単語を含むファイル名は避ける、あるいはアップロード前に変更することが推奨されます。

#### 5.2 HMAC署名付きURLによる厳格な制御

ファイルへのアクセスリクエストは、HKDFで生成された署名鍵を用いた HMAC-SHA256 によって署名されます。

CloudflareのWAFを通過した後、アプリケーションレベルでもこの署名を検証し、有効期限切れや改ざんされたURLからのアクセスを確実に拒否します。

***

### 6. 脅威モデル分析 (Threat Model Analysis)

| **脅威シナリオ**      | **導入された対策技術**              | **防御効果**                      |
| --------------- | -------------------------- | ----------------------------- |
| DNSスプーフィング      | DNSSEC                     | 偽サイトへの誘導を防ぎ、正規サーバーへの接続を保証。    |
| DDoS攻撃 (サービス停止) | Cloudflare DDoS Protection | 大規模な攻撃トラフィックをエッジで吸収し、稼働を維持。   |
| 悪性Bot / スクレイピング | Bot Management (Heuristic) | 人間以外の不審なアクセスを識別・遮断。           |
| XSS / インジェクション  | Cloudflare WAF             | アプリケーションへの悪意あるコード注入をエッジでブロック。 |
| サーバー内部不正        | Zero-Knowledge / HKDF      | 鍵を持たないため、管理者でも復号不可能。          |
| データ改ざん          | AES-GCM (Tag Check)        | 復号時の整合性チェックにより、改ざんを検知。        |

***

### 7. 結論

GrapesDrive Ver 4.0のセキュリティアーキテクチャは、単なる暗号化ツールではありません。

DNSSECによる信頼の起点から始まり、Cloudflareによる強固な外壁（WAF/DDoS防御）を経て、Web Crypto APIとHKDFによる堅牢な内部暗号化に至るまで、攻撃の隙を与えない包括的な設計がなされています。

パスワード（PBKDF2）に依存せず、システムが生成する高強度な暗号鍵と、世界最高水準のエッジセキュリティを組み合わせることで、Grapes Driveは「利便性」と「最高レベルの機密性」を同時に提供する、次世代のセキュアファイル共有プラットフォームとして機能します。


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://developer.mixeder.net/grapeapi/grapesdrive-sekyuritihowaitopp.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
