S-63暗号化
S-63 とは、IHO(International Hydrographic Organization、国際水路機関)が刊行している特殊刊行物です。
S-63 規格書自体は、IHO のホームページからダウンロードできます。S-63 規格は、S-57 規格で作られた電子海図を暗号化する方式の規格です。
S-63 の暗号化の方法の概略を下図に示します。
登場人物
上図で、4者の登場人物が出てきます。楕円で囲んであります。
| 登場人物 |
実態 |
説明 |
| IHO |
International Hydrographic Organization |
国際水路機関です。
S-63 では、SA(Scheme Administrator)です。 |
| Distributor |
Primar、IC-ENC、日本水路協会など |
電子海図を S-63 規格で暗号化して 販売する機関です。 |
| ECDIS ECS |
|
電子海図を使用する装置、または、
ソフトウェアです。 |
| User |
|
電子海図の購入者です。 |
用語
上図で出てくる用語です。角が丸い四角で囲んであります。表の右端に、User が見る事の可否を示してあります。
| 用語 |
説明 |
作成者 |
見える |
| ENC |
航海用電子海図の各セルです。 |
水路機関 |
× |
| M_ID |
Manufacture ID です。
メーカーの識別子です。 |
IHO |
〇 |
| M_KEY |
Manufacture Key です。
メーカーの識別子に対して 1:1で付与されるキーです。 |
IHO |
× |
| HW_ID |
Hardware ID です。
各 ECDIS や ECS に対して付与される識別子です。 |
メーカー |
× |
| Cell Key |
ENC の各セルに対して付与されるキーです。 |
Distributor |
× |
| User Permit |
HW_ID、M_ID、M_KEY から計算される文字列です。 |
|
〇 |
| Cell Permit |
Cell Key、HW_ID から計算される文字列です。 |
|
〇 |
| Encrypted ENC |
Cell Key によって暗号化された ENC です。 |
|
〇 |
暗号化、復号化の概要は、以下の様になります。
1. Generate User Permit
HW_ID を M_KEY で暗号化し、M_ID を付与して、User Permit を作成する。
2. Decrypt HW_ID
M_ID から M_KEY を引き、M_KEY を使って User Permit を復号化し、HW_ID を得る。
3. Generate Cell Permit
Cell Key を HW_ID で暗号化し、Cell Permit を作成する。
4. Encrypt ENC
ENC を Cell Key で暗号化し、Encrypeted ENC を作成する。
5. Decrypt Cell Key
Cell Permit を HW_ID で復号化し、Cell Key を得る。
6. Decrypt ENC
Cell Key を使って、Encrypted ENC を復号する。
Cell Key が分かってしまえば、暗号化された電子海図は復号できます。
Cell Key を暗号化するために、HW_ID を使い(これが Cell Permit)、さらに、HW_ID を暗号化するために、M_KEY が使われます(これが User Permit)。
つまり、

ユーザーから見える Encrypted ENC は、Cell Key で ENC を暗号化したものです。
Encrypted ENC 復号するには、Cell Key が欲しい。でも Cell Key は暗号化されていて見えない。

ユーザーから見える Cell Permit は、HW_ID で Cell Key を暗号化したものです。
Cell Key を復号するには、HW_ID が欲しい。でも、HW_ID は暗号化されていて見えない。

ユーザーから見える User Permit は、M_KEY で HW_ID を暗号化したものです。
HW_ID を復号するには、M_KEY が欲しい。でも、M_KEY は見えない。
よって、暗号が解けない。
となります。
ユーザーが行うことは、

ECDIS や ECS から User Permit を取り出す。

User Permit に応じて発行される Cell Permit と Encrypted ENC を ECDIS や ECS にインストールする。
です。