定義
STIR/SHAKENとは、米国の通信事業者が、デジタル証明書で通話に署名し、発信者番号が正当であることを検証するための枠組みです。署名された通話には、事業者が発信者をどの程度把握しているかを示す証明レベルが付きます。
STIR/SHAKENの仕組み
STIRはIETFの標準規格群で、SHAKENはそれを実際に使うための通信業界のプロファイルです。発信元の事業者は、RFC 8225で定義されたPASSporTという、署名つきの小さなトークンを作ります。トークンには、発信側と着信側の番号、タイムスタンプ、証明レベル(アテステーション)が入っています。事業者はこのトークンを、RFC 8224の定めに従って、通話のSIP Identityヘッダーに付けます。着信側の事業者は、証明書を使って署名を検証し、一致すれば通話を検証済みとして扱います。
証明レベルは3段階です。Aは、事業者が顧客を把握しており、その顧客が番号を使う権限を持っていることを意味します。Bは、顧客は把握しているものの、番号については確認できないことを意味します。Cは、たとえば海外から、ゲートウェイ経由でネットワークに入っただけで、事業者が発信元についてほかに何も把握していないことを意味します。
FCCは、通信事業者に対し、ネットワークのIP部分でこの枠組みを実装するよう求めました。署名からわかるのは、発信者がその番号を使う権限を持っているかどうかです。誰がかけているのかまでは、わかりません。
音声エージェントにとって重要な理由
発信型の音声エージェントは、通話に署名しません。署名するのは通信事業者で、レベルは、事業者が自社と番号についてどこまで把握しているかで決まります。証明レベルAで届く通話は検証済みとして表示される可能性が高く、レベルが低い通話や署名のない通話は、着信側の事業者や端末によってラベルを付けられたり、ブロックされたりする可能性が高くなります。アプリや事業者による通話のラベル付けはSTIR/SHAKENとは別の仕組みで、独自のルールがあります。
実務でやることは地味です。事業者に正確な企業情報を提供し、自社に割り当てられた番号を使い、自社が管理していない番号を表示しないようにします。SIPトランクを使う場合は、自社の通話がどの証明レベルになるのかを事業者に確認してください。
署名が証明するのは、その番号をこの通話で使う権限があるということだけです。通話が適法になるわけではありません。発信に関するルールは、署名の有無にかかわらず適用されます。
例
説明用の確認です。自社のトランクにある番号から、検証状況を表示する通信事業者の電話機にテスト発信します。通話は検証済みと表示されます。次に、事業者に登録のない番号から発信すると、通話は未検証で届くか、迷惑電話の可能性としてラベルが付くことがあります。