航海用電子海図の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 |
UKHO、Primar、日本水路協会など |
航海用電子海図を S-63 規格で暗号化して
配布する機関です。S-63 では Data Server と
呼ばれています。 |
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 にインストールする。
です。
M_ID、M_KEY について
M_IDとM_KEY は、ECDIS や ECS を作成する製造者(S-63 では OEMと呼んでいます)が IHO に対して申請する事により、IHO
から与えられます。M_ID は User Permit の中の最後の 4文字になります。Distributor にも M_ID、M_KEY の一覧が
IHO から提供されます。
IHO により、製造者の M_ID と M_KEY が取り消されると、この情報は Distributor にも通知され、User 航海用電子海図の購入が出来なくなります。
2018/9/2 掲載