HAIKU Handshake Protocol

HAIKU Handshake Protocolはサーバとクライアント間でセッションを確立するために用いられます。データ量のきわめて小さい著作物である定型詩を相互に送信することにより、送信可能化権の存在を担保とした安全な通信を可能にします。

HAIKU Handshake Protocol は次のような手順で処理が行われます。

Client Hello

まずクライアント側に登録された定型詩種別*1を送信する。(送信後待機)

Server HAIKU Exchange

サーバ側は Client Hello の中から詩形式を指定し、サーバに登録された詩の中から一つをランダムに選んで送信する。

Server Copyright

サーバ側の詩に関する著作権情報を送信する。

Copyright Request (optional)

クライアント側に対して著作権情報の送信を要求する。

Server Hello Done

サーバの応答の終了情報を送信する。(送信後待機)

Client Verify

クライアント側の認証済み定型詩リストに、サーバ側の詩が含まれているか判定する。含まれていない場合にはverify_errorを返し、通信を終了する。

Client HAIKU Exchange

クライアントに登録された詩の中から一つをランダムに選んで送信する。

Client Copyright(if Copyright Requested by Server)

クライアント側の詩に関する著作権情報を送信する。

Server Verify

サーバ側の認証済み定型詩リストに、クライアント側の詩が含まれているか判定する。含まれていない場合にはverify_errorを返し、通信を終了する。

Finished

互いに Handshake Protocol が終了した事を示すため送信する。

*1:現在、HAIKU,TANKA,GOGONなどの方式が採用されている。