(57)【特許請求の範囲】
【請求項１】
聴覚デバイスであって、
前記聴覚デバイスのユーザの聴力損失を補うように構成された処理ユニットと、
メモリ・ユニットと、
インターフェースとを備えており、
前記処理ユニットは、
前記インターフェースを介してセッションに対する接続要求を受信し、
セッション識別子を取得し、
前記インターフェースを介して、聴覚デバイス識別子および前記セッション識別子を含む接続応答を送信し、
前記インターフェースを介して、認証鍵識別子およびクライアント・デバイス・データを含む認証メッセージを受信し、
前記認証鍵識別子に基づいて前記メモリ・ユニット内の複数の聴覚デバイス鍵のうちから聴覚デバイス鍵を選択し、
前記選択された聴覚デバイス鍵に基づいて前記クライアント・デバイス・データを検証し、
前記検証が失敗した場合に前記セッションを終了するように構成されている、聴覚デバイス。
【請求項２】
前記認証メッセージは、認証タイプ識別子を含み、前記複数の聴覚デバイス鍵のうちから聴覚デバイス鍵を選択することは、前記認証タイプ識別子に基づいている、請求項１に記載の聴覚デバイス。
【請求項３】
前記クライアント・デバイス・データは、暗号化されたクライアント・デバイス証明書を含み、前記処理ユニットは、共通秘密に基づいて証明書鍵を生成するように構成されており、前記クライアント・デバイス・データを検証することは、前記暗号化されているクライアント・デバイス証明書を前記証明書鍵で復号して、前記暗号化されているクライアント・デバイス証明書の復号されたバージョンを取得することを含む、請求項１または２に記載の聴覚デバイス。
【請求項４】
前記共通秘密は、前記選択された聴覚デバイス鍵および／または前記セッション識別子に基づいている、請求項３に記載の聴覚デバイス。
【請求項５】
前記クライアント・デバイス・データを検証することは、前記認証鍵識別子が前記クライアント・デバイス証明書のクライアント・デバイス鍵識別子と一致しているかどうかを判定することを含み、一致していないと判定された場合に検証は失敗となる、請求項３または４に記載の聴覚デバイス。
【請求項６】
前記クライアント・デバイス・データを検証することは、前記クライアント・デバイス証明書のクライアント・デバイス・タイプ識別子が有効であるかどうかを判定することを含み、前記クライアント・デバイス証明書の前記クライアント・デバイス・タイプ識別子が有効でない場合に検証は失敗となる、請求項３から５のいずれか一項に記載の聴覚デバイス。
【請求項７】
前記クライアント・デバイス・データを検証することは、前記クライアント・デバイス証明書のデジタル署名を検証することを含み、前記デジタル署名が検証されない場合に検証は失敗となる、請求項３から６のいずれか一項に記載の聴覚デバイス。
【請求項８】
前記クライアント・デバイス証明書は、署名デバイス識別子および／またはクライアント・デバイス識別子を含み、前記クライアント・デバイス・データを検証することは、前記署名デバイス識別子および／または前記クライアント・デバイス識別子が有効であるかどうかを判定することを含み、前記クライアント・デバイスの前記クライアント・デバイス識別子および／または前記署名デバイス識別子が有効でない場合に検証は失敗となる、請求項３から７のいずれか一項に記載の聴覚デバイス。
【請求項９】
前記処理ユニットは、クライアント・デバイス・データおよび認証デバイス識別子を含む追加の認証メッセージを受信するように構成されており、
前記処理ユニットは、
前記メモリ・ユニットから、前記認証デバイス識別子に基づいて前記共通秘密を取得し、
前記共通秘密から追加の証明書鍵を生成し、
前記追加の証明書鍵に基づいて前記クライアント・デバイス・データを検証するように構成されている、請求項３から８のいずれか一項に記載の聴覚デバイス。
【請求項１０】
前記処理ユニットは、前記共通秘密および前記セッション識別子に基づいてオフライン・セッション鍵を生成するように構成され、前記処理ユニットは、前記オフライン・セッション鍵を使用して前記クライアント・デバイスと通信するように構成されている、請求項９に記載の聴覚デバイス。
【請求項１１】
前記認証メッセージは、認証トークン識別子を含み、前記処理ユニットは、前記認証トークン識別子を前記メモリ・ユニットに記憶し、前記認証トークン識別子を前記共通秘密とリンクするように構成されている、請求項３から１０のいずれか一項に記載の聴覚デバイス。
【請求項１２】
前記処理ユニットは、クライアント・デバイス・データ、認証タイプ識別子、認証鍵識別子、および／または認証セッション・トークン識別子を含むさらなる認証メッセージを受信するように構成されており、
前記処理ユニットは、
前記認証タイプ識別子に基づいて共通秘密を取得し、
前記共通秘密に基づいてトークン鍵を生成し、
前記トークン鍵および前記セッション識別子に基づいてセッション・トークン識別子を生成し、
前記セッション・トークン識別子に基づいて前記認証セッション・トークン識別子を検証するように構成されている、請求項３から１１のいずれか一項に記載の聴覚デバイス。
【請求項１３】
前記処理ユニットは、前記セッション識別子および前記聴覚デバイス鍵に基づいてセッション鍵を生成するように構成されており、前記処理ユニットは、前記セッション鍵に基づいてセッション・データを受信し、認証するように構成されている、請求項１から１２のいずれか一項に記載の聴覚デバイス。
【請求項１４】
聴覚デバイスを運用する方法であって、前記聴覚デバイスは、前記聴覚デバイスのユーザの聴力損失を補うように構成された処理ユニットと、メモリ・ユニットと、インターフェースとを備えており、前記方法は、
前記インターフェースを介してセッションに対する接続要求を受信するステップと、
セッション識別子を取得するステップと、
前記インターフェースを介して、聴覚デバイス識別子およびセッション識別子を含む接続応答を送信するステップと、
前記インターフェースを介して、認証鍵識別子およびクライアント・デバイス・データを含む認証メッセージを受信するステップと、
前記認証鍵識別子に基づいて複数の聴覚デバイス鍵のうちから聴覚デバイス鍵を選択するステップと、
前記選択された聴覚デバイス鍵に基づいて前記クライアント・デバイス・データを検証するステップと、
検証が失敗した場合に前記セッションを終了するステップとを含む方法。
【請求項１５】
前記認証メッセージは、認証タイプ識別子を含み、前記複数の聴覚デバイス鍵のうちから聴覚デバイス鍵を選択するステップは、前記認証タイプ識別子に基づいている、請求項１４に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、聴覚デバイスの分野に関し、詳細には、聴覚デバイスのセキュリティに関する。安全な聴覚デバイス通信のための聴覚デバイスおよび方法が開示されている。
【背景技術】
【０００２】
聴覚デバイスの機能は、次第に高度化してきている。聴覚デバイスと、聴覚デバイス・フィッティング装置、タブレット、スマートフォン、およびリモート・コントローラなどの外部デバイスとの間のワイヤレス通信が発展している。聴覚デバイスのワイヤレス通信インターフェースは、オープン標準ベースのインターフェースを使用する。しかしながら、このことは、セキュリティに関して多くの問題を提起する。聴覚デバイスは、受信したデータを合法的であるとみなし、不正パーティによるメモリへの書き込みまたは変更を許し得る。そのような攻撃があると、その結果、補聴器の誤動作、またはバッテリ消耗攻撃が引き起こされ得る。
【０００３】
しかしながら、聴覚デバイスは、計算能力、メモリ空間などに関して厳しい制約条件が課せられている非常に小型のデバイスである。市販のセキュリティ・アルゴリズムおよびプロトコルは、聴覚デバイス上ではたやすく機能し得ない。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
セキュリティが改善されている方法および聴覚デバイスが必要である。
【課題を解決するための手段】
【０００５】
開示されるのは、聴覚デバイスである。聴覚デバイスは、処理ユニットと、メモリ・ユニットと、インターフェースとを備える。聴覚デバイスは、聴覚デバイスのユーザの聴力損失を補うように構成された処理ユニットを備え得る。処理ユニットは、インターフェースを介してセッションに対する接続要求を受信し、セッション識別子を取得するように構成される。処理ユニットは、インターフェースを介して、聴覚デバイス識別子およびセッション識別子を含む接続応答を送信するように構成され得る。処理ユニットは、インターフェースを介して、認証メッセージを受信するように構成される。認証メッセージは、認証鍵識別子および／またはクライアント・デバイス・データを含むものとしてよい。処理ユニットは、例えば、認証鍵識別子に基づいて、メモリ・ユニット内の複数の聴覚デバイス鍵のうちから聴覚デバイス鍵を選択するように構成され得る。処理ユニットは、例えば、選択された聴覚デバイス鍵またはデフォルトの聴覚デバイス鍵に基づいて、クライアント・デバイス・データを検証し、検証が失敗した場合にセッションを終了するように構成され得る。
【０００６】
聴覚デバイスを運用する方法も開示されている。聴覚デバイスは、聴覚デバイスのユーザの聴力損失を補うように構成された処理ユニットと、メモリ・ユニットと、インターフェースとを備える。方法は、インターフェースを介してセッションに対する接続要求を受信することを含む。方法は、セッション識別子を取得することを含む。方法は、インターフェースを介して、聴覚デバイス識別子および／またはセッション識別子を含む接続応答を送信することを含み得る。方法は、インターフェースを介して、認証メッセージを受信することを含む。認証メッセージは、認証鍵識別子および／またはクライアント・デバイス・データを含む。方法は、例えば、認証鍵識別子に基づいて、メモリ・ユニット内の複数の聴覚デバイス鍵のうちから聴覚デバイス鍵を選択することを含み得る。方法は、例えば、選択された聴覚デバイス鍵またはデフォルトの聴覚デバイス鍵に基づいて、クライアント・デバイス・データを検証することと、検証が失敗した場合にセッションを終了することとを含み得る。
【０００７】
開示されている聴覚デバイスおよび方法は、聴覚デバイスの計算のオーバーヘッドおよび電力消費量を最小限度に抑えながら、聴覚デバイスが、聴覚デバイスへのアクセスを非認証パーティから保護することと、聴覚デバイスとの通信を盗聴、変更攻撃、および反射攻撃から保護することとを実行できるようにする。本開示では、聴覚デバイスに、通信パーティおよび受信されたメッセージのさまざまなレベルの認証を実行するほかに、プレーン・テキストで秘密を交換せず盗聴から通信を保護するための鍵材料を導出する機能を付与する。本開示は、通信の認証および／または機密性をサポートする聴覚デバイスを実現する。さらに、本開示は、スケーラブルなセキュリティ・アーキテクチャを提供する。
【０００８】
上記、および他の特徴ならびに利点は、添付図面を参照する例示的な実施形態の以下の「発明を実施するための形態」の説明により、当業者にとって容易に理解できるものとなるであろう。
【図面の簡単な説明】
【０００９】
【図１】本開示による例示的なアーキテクチャの概略図である。
【図２】例示的な聴覚デバイスの概略図である。
【図３Ａ】例示的なクライアント・デバイス証明書の概略図である。
【図３Ｂ】例示的な聴覚デバイス証明書の概略図である。
【図４】例示的な信号図の概略図である。
【図５】例示的な方法のフローチャートの概略図である。
【発明を実施するための形態】
【００１０】
以下では、図を参照しつつさまざまな実施形態について説明する。全体を通して同様の参照番号は、同様の要素を指す。したがって、同様の要素については、それぞれの図面の説明に関して詳しくは説明しない。図面は、実施形態の説明を容易にすることのみ意図されていることにも留意されたい。これらは、特許請求の範囲に記載された発明の網羅的説明として、または特許請求の範囲に記載された発明の技術的範囲の限定として、意図されていない。さらに、図示されている実施形態は、図示されているすべての態様または利点を有している必要はない。特定の実施形態と併せて説明されている態様または利点は、必ずしもその実施形態に限定されず、そのように図示されていない、またはそのように明示的に説明されていないとしても、他の任意の実施形態で実施され得る。
【００１１】
本明細書全体を通して、同じ参照番号は、同一のまたは対応する部分に対して使用される。
【００１２】
本開示の目的は、当技術分野における上述の欠点および不利点のうちの１つまたは複数を、単独で、または組み合わせて、軽減するか、緩和するか、または排除しようとする、聴覚デバイスおよび聴覚デバイスを運用する方法を提供することである。
【００１３】
本開示は、聴覚デバイスの改善されたセキュリティに関する。すなわち、本明細書で開示されている聴覚デバイスは、脅威および攻撃から保護するためのセキュリティ・メカニズムなどの適切な保護手段および対抗策を実装することによって、セキュリティ脅威、脆弱性、および攻撃に対してロバストである。本開示は、反射攻撃、不正アクセス、バッテリ消耗攻撃、盗聴、および介入者攻撃に対してロバストである聴覚デバイスに関する。
【００１４】
本明細書で使用されるとき、「聴覚デバイス」という用語は、聴覚器具、補聴デバイス、ヘッドセット、一組のヘッドフォンなどの、ユーザが音を聴くのを補助するように構成されたデバイスを指す。
【００１５】
本明細書で使用されるとき、「証明書」という用語は、デバイスの素性および内容の正当性および／または真正性を検証することなどの、デバイスの素性および内容の検証を可能にするデータ構造体を指す。証明書は、証明書の発行者によって証明書の保有者に関連付けられている内容を提示するように構成される。証明書は、デジタル署名を備えており、したがって、証明書の受領者は、証明書の内容および素性を検証または認証することができる。証明書は、聴覚デバイス・システムにおける安全な通信を可能にする１つまたは複数の暗号鍵（例えば、聴覚デバイス鍵）などの１つまたは複数の識別子および／または鍵材料を備え得る。これにより、証明書は、素性および内容の認証、否認防止、および／または完全性保護を達成することを可能にする。証明書は、有効期間、１つまたは複数のアルゴリズム・パラメータ、および／または発行者をさらに含み得る。証明書は、デジタル証明書、公開鍵証明書、属性証明書、および／または承認証明書を含むものとしてよい。
【００１６】
本明細書で使用されるとき、「鍵」という用語は、暗号鍵、すなわち、暗号アルゴリズムの機能的出力を決定するデータ（例えば、文字列、パラメータ）を指す。例えば、鍵は、暗号化ではプレーン・テキストから暗号文への変換、および復号ではその逆の変換を行うことを可能にする。鍵は、デジタル署名および／またはメッセージ認証コード、ＭＡＣを検証するためにも使用され得る。鍵は、同じ鍵が暗号化と復号の両方に使用されるとき、いわゆる対称鍵である。非対称暗号法または公開鍵暗号法では、鍵材料は、鍵ペアであり、いわゆる、公開鍵と秘密鍵とを備える秘密／公開鍵ペアである。非対称または公開鍵暗号システム（Ｒｉｖｅｓｔ  Ｓｈａｍｉｒ  Ａｄｅｌｍａｎ（ＲＳＡ）暗号システム、および楕円曲線暗号法（ＥＣＣ）など）では、公開鍵は、暗号化および／または署名検証に使用され、秘密鍵は、復号および／または署名生成に使用される。聴覚デバイス鍵は、聴覚デバイス通信のためのセッション鍵および／または証明書鍵などの、１つまたは複数の対称鍵を導出することを可能にする鍵材料であるものとしてよい。聴覚デバイス鍵は、例えば、製造時に、聴覚デバイスのメモリ・ユニットに記憶され得る。聴覚デバイス鍵は、対称鍵を導出するために使用される鍵材料を備え得る。聴覚デバイス鍵は、例えば、ＡＥＳ−１２８ビット鍵などの、Ａｄｖａｎｃｅｄ  Ｅｎｃｒｙｐｔｉｏｎ  Ｓｔａｎｄａｒｄ（ＡＥＳ）鍵を含む。
【００１７】
本明細書で使用されるとき、「識別子」という用語は、分類する、および／または一意に識別するなど、識別するために使用されるデータを指す。識別子は、単語、数、英字、記号、リスト、アレイ、またはこれらの任意の組合せの形態をとり得る。例えば、数としての識別子は、符号なし整数のアレイなど、長さが例えば８ビット、１６ビット、３２ビットなどの、符号なし整数（ｕｉｎｔ）などの整数の形態をとり得る。
【００１８】
本明細書で使用される「クライアント・デバイス」という用語は、聴覚デバイスと通信することができるデバイスを指す。クライアント・デバイスは、クライアントとして動作するコンピューティング・デバイスを指すものとしてよい。クライアント・デバイスは、フィッティング・デバイス、ハンドヘルド・デバイス、リレー、タブレット、パーソナル・コンピュータ、携帯電話、パーソナル・コンピュータもしくはタブレットもしくは携帯電話上で実行されるアプリケーション、および／またはパーソナル・コンピュータにプラグ接続されるＵＳＢドングルを含み得る。クライアント・デバイスは、フィッティング・タイプ、例えば、聴覚デバイスをフィッティングするためのタブレット製品モデル、カテゴリ、またはタイプ、聴覚デバイスをフィッティングするためのＵＳＢドングル製品モデル、カテゴリ、またはタイプなどの、クライアント・デバイスのモデル、カテゴリ、またはタイプに対応するクライアント・デバイス・タイプを割り当てられ得る。クライアント・デバイスは、フィッティング・データ、聴覚デバイス動作パラメータ、および／またはファームウェア・データのいずれかを送信することによって、聴覚デバイスの動作を制御することができる。
【００１９】
本開示は、聴覚デバイスに関する。聴覚デバイスは、処理ユニットと、メモリ・ユニットと、インターフェースとを備える。メモリ・ユニットは、限定はしないが、読出し専用メモリ（ＲＯＭ）、ランダム・アクセス・メモリ（ＲＡＭ）、などを含む、取り外し可能なおよび取り外し不可能なデータ記憶ユニットを含み得る。メモリ・ユニットは、そこに記憶される聴覚デバイス証明書を有するものとしてよい。メモリ・ユニットは、指定されたメモリ・セル内、および／または指定されたアドレスなど、メモリ・ユニットのメモリ・アドレスに、および／またはメモリ・ユニットのメモリ・セル内に記憶される聴覚デバイス証明書を有するものとしてよい。聴覚デバイスは、聴覚デバイスのユーザの聴力損失を補うように構成された処理ユニットを備え得る。インターフェースは、例えば、２．４から２．５ＧＨｚの範囲内の周波数でワイヤレス通信するように構成された、ワイヤレス・トランシーバを備え得る。１つまたは複数の例示的な聴覚デバイスにおいて、インターフェースは、データを受信し、および／または送信するように構成されたワイヤレス・トランシーバをそれぞれ備える、クライアント・デバイスまたは聴覚デバイスと、ワイヤレス通信などの、通信を行うように構成される。処理ユニットは、受信されたデータに従って聴覚デバイスのユーザの聴力損失を補うように構成され得る。処理ユニットは、インターフェースを介してセッションに対する接続要求を受信し、適宜、例えば、接続要求に応答して、セッション識別子を取得するように構成される。インターフェースは、クライアント・デバイスからセッションに対する接続要求を受信するように構成され得る。処理ユニットは、乱数または疑似乱数を生成することなどによって、セッション識別子を取得するように構成される。処理ユニットは、メモリ・ユニットにセッション識別子を記憶するように構成され得る。メモリ・ユニットは、指定されたメモリ・セル内、および／または指定されたアドレスなど、メモリ・ユニットのメモリ・アドレスに、および／またはメモリ・ユニットのメモリ・セル内にセッション識別子を記憶するように構成され得る。接続要求は、聴覚デバイスがこの早期の段階で接続要求および接続要求を送信するクライアント・デバイスの認証を実行することを可能にするために、認証鍵識別子および／または認証タイプ識別子を含み得る。これは、あるレベルのアクセス制御を行うことができる。
【００２０】
処理ユニットは、インターフェースを介して、聴覚デバイス識別子および／またはセッション識別子を含む接続応答を送信するように構成される。処理ユニットは、セッション識別子および聴覚デバイス識別子を接続応答に含めることによって接続応答を生成するように構成され得る。聴覚デバイス識別子は、聴覚デバイスの一意の識別子を指すものとしてよい。聴覚デバイス識別子は、聴覚デバイス証明書に含まれ得る。インターフェースは、例えば、クライアント・デバイスに接続応答を送信するように構成され得る。
【００２１】
処理ユニットは、インターフェースを介して、認証鍵識別子および／またはクライアント・デバイス・データを含む認証メッセージを受信するように構成される。例えば、インターフェースは、クライアント・デバイスから認証メッセージを受信するように構成され得る。例えば、聴覚デバイスは、通信セッションを確立するためにクライアント・デバイスから認証メッセージを受信する。クライアント・デバイス・データは、（暗号化または復号された）クライアント・デバイス証明書、フィッティング・データ、聴覚デバイス動作パラメータ、および／またはファームウェア・データを含むことができる。例えば、認証メッセージは、プレーン・テキスト内に認証鍵識別子を入れることができる。認証鍵識別子は、例えば、聴覚デバイス証明書の一部として、聴覚デバイス鍵、例えば、聴覚デバイスのメモリ・ユニットに記憶されている聴覚デバイス鍵を示すものとしてよい。
【００２２】
処理ユニットは、適宜、認証鍵識別子および／または他の識別子に基づいて、例えば、メモリ・ユニット内の複数の聴覚デバイス鍵のうちから、聴覚デバイス鍵を選択するように構成される。認証鍵識別子が、聴覚デバイスによって保持されている聴覚デバイス鍵識別子に基づいて聴覚デバイスによって受け入れ可能であるとき、処理ユニットは、認証鍵識別子が示す聴覚デバイス鍵を選択し、選択された聴覚デバイス鍵を、セッションを保護する際の鍵材料として使用するように構成され得る。処理ユニットは、例えば、認証鍵識別子および／または認証タイプ識別子に基づいてメモリ・ユニット内の複数の聴覚デバイス鍵のうちから、聴覚デバイス鍵を選択するように構成され得る。認証タイプ識別子は、聴覚デバイスによってプレーン・テキストで受信され、および／または（暗号化または復号されている）クライアント・デバイス証明書内のクライアント・デバイス・タイプ識別子として受信され得る。例えば、処理ユニットは、認証鍵識別子および認証タイプ識別子が示す聴覚デバイス鍵を選択するように構成され得る。
【００２３】
処理ユニットは、例えば、選択された聴覚デバイス鍵に基づいて、クライアント・デバイス・データを検証し、検証が失敗した場合にセッションを終了するように構成される。クライアント・デバイス・データを検証することは、聴覚デバイス証明書またはその少なくとも一部に基づいてもよい。選択された聴覚デバイス鍵に基づいてクライアント・デバイス・データを検証することは、クライアント・デバイス・データに含まれるＭＡＣおよび／またはデジタル署名を検証することなど、選択された聴覚デバイス鍵に基づいてクライアント・デバイス・データの完全性を検証することを含み得る。選択された聴覚デバイス鍵に基づいてクライアント・デバイス・データを検証することは、クライアント・デバイス・データが暗号化されて受信されるとき、選択された聴覚デバイス鍵を（復号鍵を導出するための鍵材料として、または復号鍵として）使用して、クライアント・デバイス・データ、例えば、クライアント・デバイス証明書を復号することを含み得る。選択された聴覚デバイス鍵に基づいてクライアント・デバイス・データを検証することは、受信されたクライアント・デバイス・データをメモリ・ユニット内に記憶されているデータと比較することによって、クライアント・デバイス・データ、例えば、復号されたクライアント・デバイス証明書を検証することを含み得る。クライアント・デバイス・データは、クライアント・デバイス証明書（暗号化されたクライアント・デバイス証明書など）、認証鍵識別子、および／または認証タイプ識別子を含むことができる。クライアント・デバイスは、クライアント・デバイス証明書を割り当てられ得る。クライアント・デバイス証明書は、例えば、クライアント・デバイスを製造するデバイスによって、生成され、クライアント・デバイスに割り当てられる証明書を指す。
【００２４】
クライアント・デバイス証明書は、証明書タイプ識別子を備え得る。証明書タイプ識別子は、聴覚デバイス・ファミリ証明書タイプ、聴覚デバイス証明書タイプ、ファームウェア証明書タイプ、研究開発証明書タイプ、クライアント・デバイス証明書タイプなどの、さまざまな証明書タイプのうちの証明書の１つのタイプを示し得る。証明書タイプ識別子は、どのようなタイプの証明書を受信し、記憶し、および／または取り出すかを識別するために聴覚デバイスによって使用され得る。クライアント・デバイス証明書は、証明書のデータ・フォーマット・バージョンを示すバージョン識別子を含むものとしてよい。聴覚デバイスは、証明書タイプ識別子および／またはバージョン識別子を使用して、証明書がどのようなタイプのデータを含むか、どのようなタイプのデータが証明書のフィールドに入っているかを決定するように構成され得る。例えば、聴覚デバイスは、証明書タイプ識別子および／またはバージョン識別子に基づいて、証明書のどのようなフィールドがデジタル署名を含むか、および／またはデジタル署名を検証するためにどの公開鍵が必要かを決定する。証明書タイプ識別子と公開／秘密鍵ペアとの間に一対一マッピングがあることが想定され得る。
【００２５】
クライアント・デバイス証明書は、署名デバイス識別子を備え得る。署名デバイス識別子は、クライアント・デバイス証明書に署名したデバイス（製造デバイス、例えば、集積回路カード、スマート・カード、ハードウェア・セキュリティ・モジュールなど）を識別する一意の識別子を指す。署名デバイス識別子は、例えば、署名デバイスの媒体アクセス制御（ＭＡＣ）アドレス、および／またはシリアル番号を含み得る。署名デバイス識別子は、適宜、例えば、聴覚デバイスが、署名デバイスが例えばブラックリストに載っているかどうかを決定すること、したがってブラックリストに載っている署名デバイスによって署名された証明書を拒絶することを可能にする。
【００２６】
クライアント・デバイス証明書は、第１のハードウェア識別子および／または第２のハードウェア識別子などの１つまたは複数のハードウェア識別子を備え得る。ハードウェア識別子は、クライアント・デバイスに備えられている無線チップまたはクライアント・デバイスのデジタル・シグナル・プロセッサなどの、クライアント・デバイスに備えられているハードウェアを識別することができる。ハードウェア識別子は、ハードウェアの製造時に聴覚デバイスに備えられているハードウェアのレジスタに記憶され得る。ハードウェア識別子は、シリアル番号、媒体アクセス制御（ＭＡＣ）アドレス、チップ識別子、またはこれらの任意の組合せを含み得る。クライアント・デバイス証明書は、クライアント・デバイス・タイプ識別子を備え得る。クライアント・デバイス・タイプ識別子は、クライアント・デバイスが属しているタイプを示し得る。クライアント・デバイスは、フィッティング・タイプ、例えば、聴覚デバイスをフィッティングするように構成されたタブレット製品モデル、カテゴリ、またはタイプ、聴覚デバイスをフィッティングするように構成されたＵＳＢドングル製品モデル、カテゴリ、またはタイプなどの、クライアント・デバイスのモデル、カテゴリ、またはタイプに対応するクライアント・デバイス・タイプを割り当てられ得る。
【００２７】
クライアント・デバイス証明書は、クライアント・デバイス識別子を備え得る。クライアント・デバイス識別子は、クライアント・デバイスを識別する識別子を指す。クライアント・デバイス識別子は、例えば、クライアント・デバイスの媒体アクセス制御（ＭＡＣ）アドレス、および／またはクライアント・デバイスのシリアル番号を含み得る。
【００２８】
クライアント・デバイス証明書は、クライアント・デバイス鍵識別子を備え得る。クライアント・デバイス鍵識別子は、聴覚デバイスなどの、外部パーティとの通信を保護するための鍵材料として使用されるクライアント・デバイス鍵を示し得る。１つまたは複数の例示的なクライアント・デバイス証明書において、クライアント・デバイス証明書は、クライアント・デバイスのＢｌｕｅｔｏｏｔｈ（登録商標）アドレスを含む。
【００２９】
クライアント・デバイス証明書は、デジタル署名を備える。デジタル署名は、署名者の正当性の検証などの、聴覚デバイス証明書の真正性の立証または検証を可能にする。デジタル署名は、適宜、クライアント・デバイス・フィッティング秘密鍵を使用して製造デバイスによって生成される。聴覚デバイスは、デジタル署名を備える（暗号化されているか、または暗号化されていない）クライアント・デバイス証明書を受信したとき（すなわち、暗号化されたクライアント・デバイス証明書を含む認証メッセージを受信し、クライアント・デバイス証明書の復号されたバージョンを取得したとき）にクライアント・デバイス証明書のデジタル署名を検証するように構成され得る。デジタル署名は、対応するクライアント・デバイス・フィッティング公開鍵を使用して聴覚デバイスによって検証可能である。デジタル署名が、申し立てられた公開鍵を使用して検証に成功しなかった場合、聴覚デバイスは、クライアント・デバイス証明書を破棄し、および／または通常動作を中断することができる。これは、聴覚デバイスが改竄されたまたは非認証パーティから受信されたクライアント・デバイス証明書を拒絶するという利点をもたらし得る。したがって、聴覚デバイスとの通信は、偽装攻撃、変更攻撃、およびなりすまし攻撃に対してロバストであり得る。
【００３０】
認証メッセージは、認証タイプ識別子を含み得る。複数の聴覚デバイス鍵のうちから聴覚デバイス鍵を１つ選択することは、認証タイプ識別子に基づくものとしてよい。認証タイプ識別子は、例えば、（暗号化された）クライアント・デバイス証明書の、クライアント・デバイス・タイプ識別子および／または証明書タイプ識別子を示し得る。クライアント・デバイスは、フィッティング・タイプ、例えば、聴覚デバイスをフィッティングするように構成されたタブレット製品モデル、カテゴリ、またはタイプ、聴覚デバイスをフィッティングするように構成されたＵＳＢドングル製品モデル、カテゴリ、またはタイプなどの、クライアント・デバイスのモデル、カテゴリ、またはタイプに対応するクライアント・デバイス・タイプを割り当てられ得る。クライアント・デバイス・タイプ識別子は、クライアント・デバイス・タイプを示す識別子を指すものとしてよい。クライアント・デバイス・タイプ識別子は、クライアント・デバイス・タイプを一意に識別することができる。クライアント・デバイス・タイプ識別子は、クライアント・デバイスが属しているタイプを識別し得る。クライアント・デバイス・タイプ識別子は、クライアント・デバイス証明書に含まれ得る。聴覚デバイスは、認証タイプ識別子および／または認証鍵識別子に対応する聴覚デバイス鍵を選択するように構成され得る。
【００３１】
クライアント・デバイス・データは、暗号化されたクライアント・デバイス証明書を備えるものとしてよく、処理ユニットは、選択された聴覚デバイス鍵および／またはセッション識別子に基づいて証明書鍵を生成するように構成され得る。クライアント・デバイス・データを検証することは、暗号化されているクライアント・デバイス証明書を証明書鍵で復号して、暗号化されているクライアント・デバイス証明書の復号されたバージョンを取得することを含み得る。暗号化されたクライアント・デバイス証明書は、暗号化アルゴリズムおよび証明書鍵を使用してクライアント・デバイスによって生成され得る。
【００３２】
聴覚デバイスは、証明書鍵、共通秘密（ｃｏｍｍｏｎ  ｓｅｃｒｅｔ）、および／または聴覚デバイス鍵を使用して、暗号化されているクライアント・デバイス証明書を復号するように構成され得る。証明書鍵は、共通秘密および／または証明書値に基づくものとしてよい。聴覚デバイスは、選択された聴覚デバイス鍵などの、聴覚デバイス鍵に基づいて共通秘密を取得し、および／または生成するように構成され得る。例えば、聴覚デバイス鍵に基づいて共通秘密を生成するために、聴覚デバイスは、メモリ・ユニットから聴覚デバイス鍵を、および／またはメモリ・ユニットから聴覚デバイス証明書を取り出すことができ、聴覚デバイス証明書は、共通秘密を導出するために使用されることになる、聴覚デバイス鍵を含む。聴覚デバイスは、例えば、必要なときにメモリ・ユニットから共通秘密を取り出せるように、メモリ・ユニットに共通秘密を記憶するように構成され得る。
【００３３】
聴覚デバイスは、処理ユニットを使用してセッション識別子に基づいて共通秘密を生成し、共通秘密をメモリ・ユニットに記憶するように構成され得る。例えば、聴覚デバイスは、聴覚デバイス鍵、例えば、選択された聴覚デバイス鍵、およびセッション識別子に基づいて、共通秘密を生成することができる。聴覚デバイスは、共通秘密ＣＳを、例えば以下の式
ＣＳ＝ｈａｓｈ（ＨＤ＿ＫＥＹ，Ｓ＿ＩＤ）
で生成することができる。ここで、ｈａｓｈはハッシュ関数であり、ＨＤ＿ＫＥＹは（選択された）聴覚デバイス鍵であり、Ｓ＿ＩＤはセッション識別子である。セッション識別子は、接続要求を受信したとき聴覚デバイスによって生成され得る。セッション識別子は、定義された長さの乱数または疑似乱数を含むものとしてよい。共通秘密は、１つまたは複数の例示的な聴覚デバイス内の証明書鍵として使用され得る。
【００３４】
証明書鍵は、共通秘密に基づく、例えば、共通秘密および／または証明書値に対してハッシュ関数を実行することによって生成され得る。次いで、聴覚デバイスは、証明書鍵を、例えば以下の式
Ｃ＿ＫＥＹ＝ｈａｓｈ（ＣＳ，Ｃ＿ＶＡＬ）
で生成することができる。ここで、ｈａｓｈはハッシュ関数であり、ＣＳは共通秘密であり、Ｃ＿ＶＡＬは証明書値である。証明書値は、予め定義された値または文字列、例えば「ｃｅｒｔｉｆｉｃａｔｅ」であってよい。
【００３５】
１つまたは複数の例示的な聴覚デバイスにおいて、証明書鍵は、適宜、聴覚デバイス鍵およびセッション識別子に対してハッシュ関数を実行することによって生成され得る。聴覚デバイスは、聴覚デバイスによって生成された証明書鍵を使用して暗号化されているクライアント・デバイス証明書（クライアント・デバイス・データの一部）を復号し、クライアント・デバイス証明書の復号されたバージョンを取得することができる。聴覚デバイスは、クライアント・デバイス証明書の復号されたバージョンの内容を検証し得る。
【００３６】
１つまたは複数の例示的な聴覚デバイスにおいて、クライアント・デバイス・データを検証することは、認証鍵識別子がクライアント・デバイス証明書のクライアント・デバイス鍵識別子と一致しているかどうかを判定することを含み、一致していないと判定された場合に検証は失敗となる。
【００３７】
例えば、聴覚デバイスは、認証鍵識別子がクライアント・デバイス証明書に含まれる対応するクライアント・デバイス鍵識別子と一致することを検証するように構成され得る。例えば、聴覚デバイスは、認証鍵識別子がクライアント・デバイス証明書に含まれるクライアント・デバイス鍵識別子に等しい値を有することを検証するように構成され得る。例えば、聴覚デバイスは、認証鍵識別子がクライアント・デバイス証明書の復号されたバージョンに含まれる対応するクライアント・デバイス鍵識別子と一致することを検証するように構成され得る。
【００３８】
１つまたは複数の例示的な聴覚デバイスにおいて、クライアント・デバイス・データを検証することは、クライアント・デバイス証明書のクライアント・デバイス・タイプ識別子が有効であるかどうかを判定することを含み、クライアント・デバイス証明書のクライアント・デバイス・タイプ識別子が有効でない場合に検証は失敗となる。例えば、聴覚デバイスは、認証タイプ識別子がクライアント・デバイス証明書の復号されたバージョンに含まれる対応するクライアント・デバイス・タイプ識別子と一致することを検証するように構成され得る。
【００３９】
１つまたは複数の例示的な聴覚デバイスにおいて、クライアント・デバイス証明書のクライアント・デバイス・タイプ識別子が有効であるかどうかを判定することは、クライアント・デバイス・タイプ識別子がブラックリストに載っているかどうかを判定することを含み、クライアント・デバイス・タイプは、クライアント・デバイス・タイプ識別子が、ブラックリストに載っている、例えば、ブラックリストに載っているクライアント・デバイス・タイプのリスト上に出現している場合に有効ではない。１つまたは複数の例示的な聴覚デバイスにおいて、クライアント・デバイス証明書のクライアント・デバイス・タイプ識別子が有効であるかどうかを判定することは、クライアント・デバイス・タイプ識別子が許可されているどうかを判定することを含み、クライアント・デバイス・タイプは、クライアント・デバイス・タイプ識別子が、許可されている、例えば、許可されているクライアント・デバイス・タイプのリスト上に出現している場合に有効である。例えば、クライアント・デバイスのクライアント・デバイス・タイプ識別子は、認証タイプ識別子がクライアント・デバイス証明書の復号されたバージョンに含まれる対応するクライアント・デバイス・タイプ識別子と一致する場合に有効であるものとしてよい。
【００４０】
１つまたは複数の例示的な聴覚デバイスにおいて、クライアント・デバイス・データを検証することは、クライアント・デバイス証明書のデジタル署名を検証することを含み、デジタル署名が検証されていない場合に検証は失敗となる。例えば、クライアント・デバイス・データは、クライアント・デバイス・データの完全性を保護するために付加されるデジタル署名を含む。デジタル署名を検証することは、例えば、デジタル署名および対応するクライアント・デバイス公開鍵に基づいて比較結果を計算することと、比較結果を受信されたクライアント・デバイス・データ／クライアント・デバイス証明書と比較することとを含む。対応するクライアント・デバイス公開鍵は、メモリ・ユニット、リモート・データ記憶ユニット、および／またはサーバ・デバイスから聴覚デバイスによって取り出され得る。デジタル署名をクライアント・デバイス公開鍵でべき乗したものが、受信されたクライアント・デバイス・データと同一であるときに、デジタル署名は有効なものとして検証され得る、または検証が成功となる。
【００４１】
１つまたは複数の例示的な聴覚デバイスにおいて、クライアント・デバイス証明書は、署名デバイス識別子および／またはクライアント・デバイス識別子を含む。クライアント・デバイス識別子は、クライアント・デバイスを識別する識別子を指す。クライアント・デバイス識別子は、例えば、クライアント・デバイスの媒体アクセス制御（ＭＡＣ）アドレス、および／またはクライアント・デバイスのシリアル番号を含み得る。聴覚デバイスは、署名デバイス識別子および／またはクライアント・デバイス識別子が有効であるかどうかを判定することによって、クライアント・デバイス・データを検証するように構成され得る。例えば、聴覚デバイスは、署名デバイス識別子がブラックリストに載っていないことを検証することによって、署名デバイス識別子が有効であるかどうかを判定するように構成され得る。例えば、聴覚デバイスは、クライアント・デバイス識別子がブラックリストに載っていないことを検証することによって、クライアント・デバイス識別子が有効であるかどうかを判定するように構成され得る。クライアント・デバイス識別子は、例えば、聴覚デバイスが複数のクライアント・デバイスのうちからクライアント・デバイスを識別することを可能にする。署名デバイス識別子および／またはクライアント・デバイス識別子が有効でない場合に、検証は失敗となる。例えば、聴覚デバイスが、署名デバイス識別子および／またはクライアント・デバイス識別子がブラックリストに載っていると決定した場合に、署名デバイス識別子および／またはクライアント・デバイス識別子は有効でなく、検証は失敗となる。
【００４２】
１つまたは複数の例示的な聴覚デバイスにおいて、処理ユニットは、追加の認証メッセージを受信するように構成される。追加の認証メッセージは、クライアント・デバイス・データおよび／または認証デバイス識別子を含むものとしてよい。認証デバイス識別子は、認証メッセージに含まれるクライアント・デバイス識別子などの、クライアント・デバイスの認証を可能にする識別子を指すものとしてよい。例えば、認証デバイス識別子は、シリアル番号、媒体アクセス制御（ＭＡＣ）アドレス、またはこれらの任意の組合せを含む。聴覚デバイスは、認証メッセージを検証し、認証メッセージを送信するクライアント・デバイスを認証するように構成され得る。処理ユニットは、メモリ・ユニットから認証デバイス識別子に基づいて共通秘密を取得するように構成され得る。メモリ・ユニットは、そこに記憶される共通秘密に関連付けられているクライアント・デバイス識別子を有するものとしてよい。次いで、処理ユニットは、認証デバイス識別子に基づいて対応する共通秘密を取り出すように構成され得る。共通秘密は、早い段階で、例えば、復帰するクライアント・デバイスの認証の初回に生成され、記憶されている。したがって、クライアント・デバイスが認証された後、処理ユニットは、対応する共通秘密だけを取り出すことができる。これは、より高速なその後の認証を可能にし、追加の証明書鍵を計算するための共通秘密を再生成しなくて済むようにし、したがって、対応する電力消費量を節減する。処理ユニットは、共通秘密から追加の証明書鍵を生成し、追加の証明書鍵に基づいてクライアント・デバイス・データを検証するように構成され得る。例えば、処理ユニットは、共通秘密および証明書値に基づいてハッシュ値を計算することによって追加の証明書鍵を生成することができる。上で説明されているように、処理ユニットは、クライアント・デバイス・データのＭＡＣおよび／またはデジタル署名を検証することなど、クライアント・デバイス・データの完全性を検証することによって、追加の証明書鍵に基づいてクライアント・デバイス・データを検証するように構成され得る。処理ユニットは、クライアント・デバイス・データが暗号化されて受信されるとき、追加の証明書鍵を（復号鍵として）使用してクライアント・デバイス・データを復号することによって、追加の証明書鍵に基づいてクライアント・デバイス・データを検証するように構成される。処理ユニットは、クライアント・デバイス・データの内容を検証することによって、クライアント・デバイス・データを検証するように構成される。処理ユニットは、クライアント・デバイス・データをメモリ・ユニットに記憶されているデータと比較することによって、追加の証明書鍵に基づいてクライアント・デバイス・データを検証するように構成され得る。
【００４３】
１つまたは複数の例示的な聴覚デバイスにおいて、処理ユニットは、共通秘密およびセッション識別子に基づいてオフライン・セッション鍵を生成するように構成され、また、処理ユニットは、オフライン・セッション鍵を使用してクライアント・デバイスと通信するように構成される。オフライン・セッション鍵は、聴覚デバイスとクライアント・デバイスとの間のオフライン通信を保護するために使用され得る。オフライン通信は、他の任意のネットワーク・デバイス（例えば、サーバ・デバイス）を伴わない通信を指す。オフライン・セッション鍵を生成することは、共通秘密に基づいてオフライン鍵を生成すること（例えば、共通秘密およびオフライン値のハッシュ関数を実行すること）と、オフライン鍵およびセッション識別子に基づいてオフライン・セッション鍵を計算すること（例えば、オフライン鍵およびセッション識別子のハッシュ関数を実行すること）とを含み得る。オフライン・セッション鍵は、聴覚デバイスとクライアント・デバイスとの間の通信でやり取りされる聴覚デバイス・データを保護する（例えば、暗号化する）ために、聴覚デバイスおよびクライアント・デバイスによって使用される。
【００４４】
１つまたは複数の例示的な聴覚デバイスにおいて、認証メッセージは、認証トークン識別子を含み、処理ユニットは、認証トークン識別子をメモリ・ユニットに記憶し、認証トークン識別子を共通秘密とリンクするように構成される。認証トークン識別子は、聴覚デバイス側でトークンベースの認証を可能にすることを示すものとしてよい、すなわち、聴覚デバイスが、認証されたクライアント・デバイスから認証トークン識別子を受信したとき、例えば、共通秘密およびクライアントに関連するフラグなどのインジケータを記憶することによって、同じクライアント・デバイスとの将来の通信においてトークンベースの認証を使用可能にし得る。例えば、認証トークン識別子を受信する聴覚デバイスは、トークン識別子を記憶し、および／または同じクライアント・デバイスに対して生成された共通秘密とリンクさせることによって、例えば、トークン識別子を記憶し、および／または、当該共通秘密と、当該同じクライアント・デバイスのクライアント・デバイス識別子を例えばテーブルにおいてリンクさせることによって、トークンベースの認証を可能とすることを処理ユニットに対して示すように構成され得る。トークン識別子およびトークンベースの認証は、例えば病院または店の中の一群の聴覚デバイスについて、聴覚デバイス管理のために使用することができ、おそらくはより単純でより高速なクライアント・デバイス認証を可能にするとともに、ユーザとの物理的なやり取り／介入を最小限度に抑え、または全く行わない、さらなるフィッティングを可能にする。クライアント・デバイスは、例えば、トークン識別子が第１のセッションにおいて安全に記憶されているデータ記憶装置に安全にアクセスし、資格証明および鍵材料を取り出して、トークンベースの認証をその後のセッションで実行する。このようにして、例えば、病院または店にあるクライアント・デバイスは、トークンベースの認証を使用する安全な方法で、フィッティングを実行するために使用され得る。
【００４５】
１つまたは複数の例示的な聴覚デバイスにおいて、処理ユニットは、クライアント・デバイス・データ、認証タイプ識別子、認証鍵識別子、および／または認証セッション・トークン識別子を含むさらなる認証メッセージを受信するように構成される。さらなる認証メッセージは、認証デバイス識別子を含み得る。処理ユニットは、メモリ・ユニット内で、認証タイプ識別子に対応する記憶されているクライアント・デバイス・タイプ識別子を特定すること、および／または認証デバイス識別子に対応する記憶されているクライアント・デバイス識別子を特定することに基づいて、さらなる認証メッセージを送信するクライアント・デバイスのクライアント・デバイス・タイプ識別子および／またはクライアント・デバイス識別子にリンクされた共通秘密を見つけるように構成され得る。処理ユニットは、認証タイプ識別子に基づいて共通秘密を取得し、共通秘密に基づいてトークン鍵を生成し、トークン鍵およびセッション識別子に基づいてセッション・トークン識別子を生成するように構成され得る。処理ユニットは、クライアント・デバイスとの早い段階でのセッションにおいて、例えば証明書鍵を確立するために共通秘密を生成している場合があり、また共通秘密を記憶し、共通秘密をクライアント・デバイス・タイプ識別子および／またはクライアント・デバイス識別子にリンクしている場合がある。次いで、処理ユニットは、記憶されているクライアント・デバイス・タイプ識別子および／またはクライアント・デバイス識別子に対応する認証タイプ識別子および／または認証クライアント識別子に基づいて共通秘密を取得するように構成され得る。処理ユニットは、共通秘密およびトークン値（事前定義された任意の文字列または事前定義された任意の値など）に対してハッシュ関数を実行することによって、トークン鍵を生成するように構成され得る。処理ユニットは、セッション識別子を生成することと、トークン鍵およびセッション識別子に対してハッシュ関数を実行することとによって、トークン鍵およびセッション識別子に基づいてセッション・トークン識別子を生成するように構成され得る。処理ユニットは、セッション・トークン識別子に基づいて認証セッション・トークン識別子を検証するように構成され得る。処理ユニットは、認証セッション・トークン識別子と生成されたセッション・トークン識別子とを比較することによって、認証セッション・トークン識別子を検証するように構成され得る。例えば、処理ユニットが、認証セッション・トークン識別子が生成されたセッション・トークン識別子と一致していると決定した場合に、検証は成功となり、処理ユニットは、ユーザによる物理的介入なしで先に進むことができ、さらなる認証メッセージにおいて与えられるクライアント・デバイス・データを検証し続けることができる。クライアント・デバイス・データは、クライアント・デバイス証明書を含み得る。聴覚デバイスは、フィッティングが許可されるかについてクライアント・デバイス証明書を検証する（および／またはブラックリストに載っていないかチェックする）ことができる。検証された認証トークン識別子は、例えば、聴覚デバイスに対して、クライアント・デバイスが以前の共有されているトークン鍵を保有しており、したがって、ユーザによる聴覚デバイスへの物理的介入なしでこの聴覚デバイスを間違いなくフィッティングすることが可能であることを示すために使用され得る。
【００４６】
１つまたは複数の例示的な聴覚デバイスにおいて、処理ユニットは、セッション識別子および聴覚デバイス鍵に基づいてセッション鍵を生成するように構成され、また、処理ユニットは、セッション鍵に基づいてセッション・データを受信し、認証するように構成される。セッション識別子および聴覚デバイス鍵に基づいてセッション鍵を生成することは、聴覚デバイス鍵およびセッション識別子に基づいて共通秘密を生成することと、共通秘密およびセッション値の、セッション鍵に対応するハッシュ値を適宜生成することとによって、セッション鍵を計算することを含み得る。例えば、処理ユニットは、セッション鍵で生成されたＭＡＣを検証すること、および／またはセッション鍵を使用してセッション・データを復号することによって、セッション鍵に基づいてセッション・データを認証するように構成される。
【００４７】
本開示は、聴覚デバイスのユーザの聴力損失を補うように構成された処理ユニット、メモリ・ユニット、およびインターフェースを備える聴覚デバイスを運用する方法、例えば、聴覚デバイスの通信を制御するための方法、例えば、安全な聴覚デバイス通信を可能にするための方法に関する。方法は、インターフェースを介してセッションに対する接続要求を受信することを含む。接続要求は、聴覚デバイスが接続要求および接続要求を送信するクライアント・デバイスのこの早期の段階での認証を実行することを可能にするために、認証鍵識別子および／または認証タイプ識別子を含み得る。これは、あるレベルのアクセス制御を行うことができる。
【００４８】
方法は、セッション識別子を、例えば、聴覚デバイスで、取得することを含む。セッション識別子を取得することは、乱数または疑似乱数を生成することなどによって、セッション識別子を生成することを含み得る。例えば、処理ユニットは、セッション識別子として使用されるべき所定の長さ、例えば、１６バイト、３２バイト、６４バイトなどの乱数または疑似乱数を生成する。セッション識別子を取得することは、メモリ・ユニットからセッション識別子を取り出すことを含み得る。方法は、メモリ・ユニットにセッション識別子を記憶することを含み得る。例えば、メモリ・ユニットにセッション識別子を記憶することは、指定されたメモリ・セル内および／または指定されたアドレスなど、メモリ・ユニットのメモリ・アドレスに、および／またはメモリ・ユニットのメモリ・セル内にセッション識別子を記憶することを含む。
【００４９】
方法は、インターフェースを介して、聴覚デバイス識別子およびセッション識別子を含む接続応答を送信することを含む。接続応答を送信することは、セッション識別子および聴覚デバイス識別子を含めることによって接続応答を生成することと、こうして生成された接続応答を例えばクライアント・デバイスに送信することとを含み得る。
【００５０】
方法は、インターフェースを介して、認証メッセージを受信することを含む。認証メッセージは、認証鍵識別子および／またはクライアント・デバイス・データを含むものとしてよい。方法は、インターフェースを介して、クライアント・デバイスから認証メッセージを受信することを含み得る。例えば、聴覚デバイスは、通信セッションを確立するためにクライアント・デバイスから認証メッセージを受信する。クライアント・デバイス・データは、クライアント・デバイス証明書、フィッティング・データ、聴覚デバイス動作パラメータ、および／またはファームウェア・データを含むことができる。認証鍵識別子は、クライアント・デバイスが聴覚デバイスによって受け入れ可能な認証鍵識別子を提供するかどうかを検証するために使用され得る識別子とすることができる。
【００５１】
方法は、例えば、認証鍵識別子に基づいて、メモリ・ユニット内の複数の聴覚デバイス鍵のうちから聴覚デバイス鍵を選択することを含む。認証鍵識別子が、聴覚デバイスによって保持されている聴覚デバイス鍵識別子と一致し、および／または聴覚デバイスの聴覚デバイス鍵を示す場合、処理ユニットは、認証鍵識別子を、どの聴覚デバイス鍵がセッションにおける鍵材料として使用されるべきかを示す鍵識別子として使用するように構成され得る。メモリ・ユニット内の複数の聴覚デバイス鍵のうちから聴覚デバイス鍵を選択することは、認証鍵識別子および／または認証タイプ識別子に基づいてもよい。認証タイプ識別子は、聴覚デバイスによってプレーン・テキストで受信され、および／または（暗号化または復号されている）クライアント証明書内のクライアント・デバイス・タイプ識別子として受信され得る。例えば、処理ユニットは、認証鍵識別子および認証タイプ識別子が示す聴覚デバイス鍵を選択する。
【００５２】
方法は、例えば、選択された聴覚デバイス鍵に基づいて、クライアント・デバイス・データを検証することを含む。クライアント・デバイス・データを検証することは、聴覚デバイス証明書またはその少なくとも一部に基づいてもよい。さらに、方法は、検証が失敗した場合にセッションを終了することを含み得る。選択された聴覚デバイス鍵に基づいてクライアント・デバイス・データを検証することは、クライアント・デバイス・データに含まれるＭＡＣおよび／またはデジタル署名を検証することなど、選択された聴覚デバイス鍵に基づいてクライアント・デバイス・データの完全性を検証することを含み得る。選択された聴覚デバイス鍵に基づいてクライアント・デバイス・データを検証することは、クライアント・デバイス・データが暗号化されて受信されるとき、選択された聴覚デバイス鍵を（復号鍵を導出するための鍵材料として、または復号鍵として）使用して、クライアント・デバイス・データを復号することを含み得る。選択された聴覚デバイス鍵に基づいてクライアント・デバイス・データを検証することは、受信されたクライアント・デバイス・データ、例えば、復号されたクライアント・デバイス証明書をメモリ・ユニット内に記憶されているデータと比較することによって、クライアント・デバイス・データを検証することを含み得る。例えば、クライアント・デバイス・データの完全性が、例えばＭＡＣまたはデジタル署名を検証することによって破損していると検出された場合に、復号が失敗した場合に、および／または、受信されたクライアント・デバイス・データとメモリ・ユニットに記憶されているデータとの比較で不整合が示された場合に、検証は失敗となる。
【００５３】
認証メッセージは、適宜、認証タイプ識別子を含む。認証タイプ識別子は、クライアント・デバイス・タイプ識別子および／または証明書タイプ識別子を示し得る。複数の聴覚デバイス鍵のうちから聴覚デバイス鍵を選択することは、認証タイプ識別子に基づくものとしてよい。聴覚デバイス鍵を選択することは、認証メッセージで与えられる認証タイプ識別子および／または検証された認証鍵識別子に基づいてもよい。
【００５４】
クライアント・デバイス・データは、クライアント・デバイス証明書（例えば暗号化されたクライアント・デバイス証明書）、認証鍵識別子、および／または認証タイプ識別子を含むことができる。クライアント・デバイスは、クライアント・デバイス証明書を割り当てられ得る。
【００５５】
この方法は、選択された聴覚デバイス鍵および／またはセッション識別子に基づいて証明書鍵を生成することを含むことができ、クライアント・デバイス・データを検証することは、暗号化されているクライアント・デバイス証明書を証明書鍵で復号して、暗号化されているクライアント・デバイス証明書の復号されたバージョンを取得することを含み得る。暗号化されたクライアント・デバイス証明書を証明書鍵で復号することは、共通秘密に基づいて証明書鍵を生成し、暗号化されたクライアント証明書を復号関数および証明書鍵を使用して処理することなど、暗号化されたクライアント・デバイス証明書を証明書鍵、共通秘密、および／または聴覚デバイス鍵を使用して復号することを含み得る。証明書鍵は、共通秘密および／または証明書値に基づくものとしてよい。証明書鍵を生成することは、選択された聴覚デバイス鍵に基づいて共通秘密を取得または生成することを含み得る。例えば、聴覚デバイス鍵に基づいて共通秘密を生成することは、メモリ・ユニットから、選択された聴覚デバイス鍵を含む聴覚デバイス証明書を取り出すこと、および／または選択された聴覚デバイス鍵をメモリ・ユニットから取り出すことを含む。方法は、セッション識別子および／または聴覚デバイス鍵に基づいて共通秘密を生成することを含み得る。例えば、共通秘密ＣＳは、選択された聴覚デバイス鍵およびセッション識別子に基づいて、例えば以下の式
ＣＳ＝ｈａｓｈ（ＨＤ＿ＫＥＹ，Ｓ＿ＩＤ）
で生成される。ここで、ｈａｓｈはハッシュ関数であり、ＨＤ＿ＫＥＹは選択された聴覚デバイス鍵であり、Ｓ＿ＩＤはセッション識別子である。セッション識別子は、定義された長さの乱数または疑似乱数を含むものとしてよい。共通秘密は、１つまたは複数の例示的な聴覚デバイス内の証明書鍵として使用され得る。聴覚デバイスは、例えば、必要なときにメモリ・ユニットから共通秘密を取り出せるように、メモリ・ユニットに共通秘密を記憶するように構成され得る。
【００５６】
証明書鍵を生成することは、共通秘密および／または証明書値に対してハッシュ関数を実行することを含み得る。次いで、聴覚デバイスは、証明書鍵を、例えば以下の式
Ｃ＿ＫＥＹ＝ｈａｓｈ（ＣＳ，Ｃ＿ＶＡＬ）
で生成することができる。ここで、ｈａｓｈはハッシュ関数であり、ＣＳは共通秘密であり、Ｃ＿ＶＡＬは証明書値である。証明書値は、予め定義された値または文字列、例えば「ｃｅｒｔｉｆｉｃａｔｅ」であってよい。
【００５７】
１つまたは複数の例示的な方法において、証明書鍵を生成することは、聴覚デバイス鍵およびセッション識別子に対してハッシュ関数を実行することを含む。別の言い方をすると、共通秘密は、クライアント・デバイスが、クライアント・デバイス証明書を暗号化するための証明書鍵として共通秘密も使用している場合に、証明書鍵として使用され得る。
【００５８】
クライアント・デバイス・データを検証することは、聴覚デバイスによって生成された証明書鍵を使用して、暗号化されているクライアント・デバイス証明書を復号することと、クライアント・デバイス証明書の復号されたバージョンを取得することとを含み得る。
【００５９】
１つまたは複数の例示的な方法において、クライアント・デバイス・データを検証することは、クライアント・デバイス証明書の復号されたバージョンの内容を検証することを含み得る。例えば、クライアント・デバイス・データを検証することは、認証鍵識別子がクライアント・デバイス証明書のクライアント・デバイス鍵識別子と一致しているかどうかを判定することを含み、一致していないと判定された場合に検証は失敗となる。
【００６０】
１つまたは複数の例示的な方法において、クライアント・デバイス・データを検証することは、クライアント・デバイス証明書のクライアント・デバイス・タイプ識別子が有効であるかどうかを判定することを含み、クライアント・デバイス証明書のクライアント・デバイス・タイプ識別子が有効でない場合に、検証は失敗となる。例えば、認証タイプ識別子は、認証メッセージ中のプレーン・テキストで送信され、プレーン・テキストで送信された認証タイプ識別子は、認証タイプ識別子がクライアント・デバイス証明書の復号されたバージョンに含まれる対応するクライアント・デバイス・タイプ識別子と一致する場合に、有効である。例えば、クライアント・デバイス証明書のクライアント・デバイス・タイプ識別子が有効であるかどうかを判定することは、クライアント・デバイス証明書のクライアント・デバイス・タイプ識別子が、承認されたクライアント・デバイスのリストに含まれているかどうかを判定することを含み得る。
【００６１】
１つまたは複数の例示的な方法において、クライアント・デバイス証明書のクライアント・デバイス・タイプ識別子が有効であるかどうかを判定することは、クライアント・デバイス・タイプ識別子がブラックリストに載っているかどうかを判定することを含み、クライアント・デバイス・タイプは、クライアント・デバイス・タイプ識別子が、ブラックリストに載っている、例えば、ブラックリストに載っているクライアント・デバイス・タイプのリスト上に出現している場合に、有効ではない。１つまたは複数の例示的な方法において、クライアント・デバイス証明書のクライアント・デバイス・タイプ識別子が有効であるかどうかを判定することは、クライアント・デバイス・タイプ識別子が許可されているかどうかを判定することを含み、クライアント・デバイス・タイプは、クライアント・デバイス・タイプ識別子が、許可されている、例えば、許可または承認されているクライアント・デバイス・タイプのリスト上に出現している場合に、有効である。
【００６２】
１つまたは複数の例示的な方法において、クライアント・デバイス・データを検証することは、クライアント・デバイス証明書のデジタル署名を検証することを含み、デジタル署名が検証されない場合に、検証は失敗となる。例えば、クライアント・デバイス・データは、クライアント・デバイス・データの完全性を保護するために付加されるデジタル署名を含む。デジタル署名を検証することは、例えば、デジタル署名および対応する公開鍵に基づいて比較結果を計算することと、比較結果を受信されたクライアント・デバイス・データと比較することとを含む。デジタル署名を公開鍵でべき乗したものが、受信されたクライアント・デバイス・データと同一であるときに、デジタル署名は有効なものとして検証され得る、または検証が成功となる。
【００６３】
１つまたは複数の例示的な方法において、クライアント・デバイス証明書は、署名デバイス識別子および／またはクライアント・デバイス識別子を含み、クライアント・デバイス・データを検証することは、署名デバイス識別子および／またはクライアント・デバイス識別子が有効であるかどうかを判定することを含み、クライアント・デバイスのクライアント・デバイス識別子および／または署名デバイス識別子が有効でない場合に、検証は失敗となる。
【００６４】
１つまたは複数の例示的な方法において、クライアント・デバイス証明書のクライアント・デバイス識別子が有効であるかどうかを判定することは、クライアント・デバイス識別子がブラックリストに載っているかどうかを判定することを含み、クライアント・デバイス識別子は、クライアント・デバイス識別子が、ブラックリストに載っている、例えば、ブラックリストに載っているクライアント・デバイスのリスト上に出現している場合に有効ではない。１つまたは複数の例示的な方法において、クライアント・デバイス証明書のクライアント・デバイス識別子が有効であるかどうかを判定することは、クライアント・デバイス識別子が許可されているかどうかを判定することを含み、クライアント・デバイス・タイプは、クライアント・デバイス識別子が、許可されている、例えば、許可または承認されているクライアント・デバイスのリスト上に出現している場合に、有効である。
【００６５】
１つまたは複数の例示的な方法において、この方法は、クライアント・デバイス・データおよび／または認証デバイス識別子を含む追加の認証メッセージを受信することを含む。方法は、メモリ・ユニットから、認証デバイス識別子に基づいて共通秘密を取得することと、共通秘密から追加の証明書鍵を生成することと、追加の証明書鍵に基づいてクライアント・デバイス・データを検証することとをさらに含み得る。
【００６６】
１つまたは複数の例示的な方法において、方法は、共通秘密およびセッション識別子に基づいてオフライン・セッション鍵を生成することと、オフライン・セッション鍵を使用してクライアント・デバイスと通信することとを含む。
【００６７】
１つまたは複数の例示的な方法において、方法は、クライアント・デバイス・データ、認証タイプ識別子、認証鍵識別子、および／または認証セッション・トークン識別子を含むさらなる認証メッセージを受信することを含む。さらなる認証メッセージは、認証デバイス識別子を含み得る。方法は、メモリ・ユニット内で、認証タイプ識別子に対応する記憶されているクライアント・デバイス・タイプ識別子を特定すること、および／または認証デバイス識別子に対応する記憶されているクライアント・デバイス識別子を特定することに基づいて、さらなる認証メッセージを送信するクライアント・デバイスのクライアント・デバイス・タイプ識別子および／またはクライアント・デバイス識別子にリンクされた共通秘密を見つけるまたは決定することを含み得る。方法は、認証タイプ識別子に基づいて共通秘密を取得することと、共通秘密に基づいてトークン鍵を生成することと、トークン鍵およびセッション識別子に基づいてセッション・トークン識別子を生成することとを含み得る。処理ユニットは、クライアント・デバイスとの早い段階でのセッションにおいて、例えば証明書鍵を確立するために共通秘密を生成している場合があり、また共通秘密を記憶し、共通秘密をクライアント・デバイス・タイプ識別子および／またはクライアント・デバイス識別子にリンクしている場合がある。方法は、記憶されているクライアント・デバイス・タイプ識別子および／またはクライアント・デバイス識別子に対応する認証タイプ識別子および／または認証クライアント識別子に基づいて、共通秘密を取得することを含み得る。方法は、共通秘密およびトークン値（事前定義された任意の文字列または事前定義された任意の値など）に対してハッシュ関数を実行することによって、トークン鍵を生成することを含み得る。方法は、セッション識別子を生成することと、トークン鍵およびセッション識別子に対してハッシュ関数を実行することとによって、トークン鍵およびセッション識別子に基づいてセッション・トークン識別子を生成することを含み得る。方法は、セッション・トークン識別子に基づいて認証セッション・トークン識別子を検証することを含み得る。方法は、認証セッション・トークン識別子と生成されたセッション・トークン識別子とを比較することによって、認証セッション・トークン識別子を検証することを含み得る。例えば、認証セッション・トークン識別子が生成されたセッション・トークン識別子と一致していると決定された場合に、検証は成功となり、処理ユニットは、ユーザによる物理的介入なしで先に進むことができ、さらなる認証メッセージにおいて与えられるクライアント・デバイス・データを検証し続けることができる。クライアント・デバイス・データは、クライアント・デバイス証明書を含み得る。聴覚デバイスは、フィッティングが許可されるかについてクライアント・デバイス証明書を検証する（およびブラックリストに載っていないかチェックする）ことができる。検証された認証トークン識別子は、例えば、聴覚デバイスに対して、クライアント・デバイスが以前の共有されているトークン鍵を保有しており、したがって、ユーザによる聴覚デバイスへの物理的介入なしでこの聴覚デバイスを間違いなくフィッティングすることが可能であることを示すために使用され得る。
【００６８】
１つまたは複数の例示的な方法において、方法は、セッション識別子および聴覚デバイス鍵に基づいてセッション鍵を生成することと、セッション鍵に基づいてセッション・データを受信し、認証することとを含む。
【００６９】
図１は、聴覚デバイス２の製造、保守、および／または運用に使用され得る例示的なデバイスを概略的に示している。図１は、例示的なシステム１および聴覚デバイス２を示している。システム１は、（聴覚デバイスをフィッティングするため、聴覚デバイス・パラメータを更新する、など）聴力損失補償に関連して聴覚デバイス２を製造し、保守し、および／または運用するための、１つまたは複数の製造デバイス１２、クライアント・デバイス１０、およびサーバ・デバイス１６を備え得る。
【００７０】
製造デバイス１２は、聴覚デバイスを製造する方法のステップを実行するように構成され得る。製造デバイス１２は、聴覚デバイス識別子と少なくとも１つの生成された聴覚デバイス鍵とを含む聴覚デバイス証明書を生成するように構成され得る。製造デバイス１２は、聴覚デバイス証明書を聴覚デバイスに送信するように構成され得る。製造デバイス１２は、処理要素（プロセッサおよびメモリなどの）を備えることができる。
【００７１】
聴覚デバイス２は、聴覚デバイス２のユーザの聴力損失を補うように構成され得る。聴覚デバイス２は、例えば、一方向または双方向通信リンクなどの通信リンク２３を使用して製造デバイス１２と通信するように構成され得る。通信リンク２３は、有線リンクおよび／またはワイヤレス通信リンクであってよい。通信リンク２３は、シングルホップ通信リンクまたはマルチホップ通信リンクであってよい。ワイヤレス通信リンクは、Ｂｌｕｅｔｏｏｔｈ、Ｂｌｕｅｔｏｏｔｈ  Ｌｏｗ  Ｅｎｅｒｇｙ、ＩＥＥＥ  ８０２．１１、Ｚｉｇｂｅｅ（登録商標）などの、短距離通信システムを介して実現され得る。
【００７２】
聴覚デバイス２は、双方向通信リンクなどの通信リンク２１を介してクライアント・デバイス１０に接続するように構成され得る。通信リンク２１は、有線リンクおよび／またはワイヤレス通信リンクであってよい。通信リンク２１は、シングルホップ通信リンクまたはマルチホップ通信リンクであってよい。ワイヤレス通信リンクは、Ｂｌｕｅｔｏｏｔｈ、Ｂｌｕｅｔｏｏｔｈ  Ｌｏｗ  Ｅｎｅｒｇｙ、ＩＥＥＥ  ８０２．１１、Ｚｉｇｂｅｅなどの、短距離通信システムを介して実現され得る。聴覚デバイス２は、ネットワーク上でクライアント・デバイス１０に接続するように構成され得る。クライアント・デバイス１０は、ディスペンサがユーザのクライアント・デバイス１０を介して聴覚デバイスに接続する補聴デバイスのリモート・フィッティングを可能にし得る。クライアント・デバイス１０は、フィッティング・デバイス１４などのクライアント（例えば、ハンドヘルド・デバイス、リレー、タブレット、パーソナル・コンピュータ、携帯電話、および／またはパーソナル・コンピュータにプラグ接続されるＵＳＢドングル）として動作するコンピューティング・デバイスを含み得る。処理ユニット／聴覚デバイスは、インターフェースを介してセッションに対する接続要求を受信し、セッション識別子を取得するように構成される。例えば、聴覚デバイス２のインターフェースは、通信リンク２１を介してクライアント・デバイス１０から接続要求を受信するように構成される。例えば、聴覚デバイス２は、通信セッションを確立するためにクライアント・デバイス１０から接続要求を受信する。聴覚デバイスの処理ユニットは、インターフェースを介して、聴覚デバイス識別子および／またはセッション識別子を含む接続応答を送信するように構成される。聴覚デバイスの処理ユニットは、インターフェースを介して、例えば、通信リンク２１を介してクライアント・デバイス１０から、認証鍵識別子および／またはクライアント・デバイス・データを含む認証メッセージを受信するように構成される。
【００７３】
クライアント・デバイス１０は、双方向通信リンクなどの通信リンク２４を介してサーバ・デバイス１６と通信するように構成され得る。通信リンク２４は、有線リンクおよび／またはワイヤレス通信リンクであってよい。通信リンク２４は、インターネットなどのネットワークを含み得る。
【００７４】
クライアント・デバイス１０は、保守および更新を目的としてサーバ・デバイス１６と通信するように構成され得る。サーバ・デバイス１６は、サーバとして動作する、すなわち、クライアント・デバイス１０および／または聴覚デバイス２からの要求を処理するように構成されたコンピューティング・デバイスを含み得る。サーバ・デバイス１６は、聴覚デバイス製造者によって制御され得る。サーバ・デバイス１６は、製造、保守および／または運用目的のために通信リンク２２を介して製造デバイス１２と通信するように構成され得る。サーバ・デバイス１６および製造デバイス１２は、同一の場所に置かれる、および／または聴覚デバイス２の製造、保守、および／または運用目的のために１つのエンティティを形成し得る。
【００７５】
図２は、例示的な聴覚デバイス２を概略的に示す。聴覚デバイス２は、処理ユニット４と、メモリ・ユニット６と、インターフェース８とを備える。聴覚デバイス２は、聴覚デバイス２のユーザの聴力損失を補うように構成された処理ユニット４を備える。インターフェース８は、例えば、２．４から２．５ＧＨｚの範囲内の周波数でワイヤレス通信するように構成された、ワイヤレス・トランシーバを備える。インターフェース８は、適宜、製造デバイス１２と、有線および／またはワイヤレス通信などの通信を行うように構成される。処理ユニット４は、製造および／またはフィッティング時に受信されたデータに従って、補聴器のユーザの聴力損失を補うように構成され得る。聴覚デバイス２は、適宜、音声信号を受信し、音声信号を変換済み音声信号に変換するためのマイクロフォン５または複数のマイクロフォンを備える。変換済み音声信号は、音声信号の電気的および／またはデジタル・バージョンであってよい。処理ユニット４は、変換済み音声信号を受信し、聴覚デバイス２のユーザの聴力損失に応じて変換済み音声信号を処理済み音声信号に処理するように構成される。処理済み音声信号は、圧縮され、および／または増幅されるか、または同様の処理がなされ得る。聴覚デバイス２は、レシーバと称される、出力トランスデューサ／ラウドスピーカ７を備える。レシーバ７は、処理済み音声信号を受信し、それをユーザの鼓膜で受けることができる出力音声信号に変換するように構成される。
【００７６】
処理ユニット４は、インターフェース８を介してセッションに対する接続要求を受信し、セッション識別子を取得するように構成される。したがって、処理ユニット４は、例えば、セッション識別子を取得するように構成された取得ユニット４１を備える。取得ユニット４１の例は、乱数または疑似乱数生成器を備える。インターフェースは、クライアント・デバイス１０からセッションに対する接続要求を受信するように構成される。処理ユニット４は、乱数または疑似乱数を生成することなどによって、セッション識別子を取得するように構成される。処理ユニット４は、メモリ・ユニット６にセッション識別子を記憶するように構成される。メモリ・ユニット６は、指定されたメモリ・セル内、および／または指定されたアドレスなど、メモリ・ユニット６のメモリ・アドレスに、および／またはメモリ・ユニット６のメモリ・セル内にセッション識別子を記憶するように構成され得る。接続要求は、聴覚デバイス２が接続要求および接続要求を送信するクライアント・デバイス１０のこの早期の段階での認証を実行することを可能にするために、認証鍵識別子および／または認証タイプ識別子を含み得る。これは、あるレベルのアクセス制御を行うことができる。
【００７７】
処理ユニット４は、インターフェース８を介して、聴覚デバイス識別子およびセッション識別子を含む接続応答を送信するように構成される。処理ユニット４は、セッション識別子および聴覚デバイス識別子を接続応答に含めることによって、接続応答を生成するように構成され得る。聴覚デバイス識別子は、聴覚デバイス２のシリアル番号、ＭＡＣアドレス、および／またはハードウェア識別子などの、聴覚デバイス２の一意の識別子を指すものとしてよい。インターフェース８は、例えば、クライアント・デバイス１０に接続応答を送信するように構成される。
【００７８】
処理ユニット４は、インターフェース８を介して、認証鍵識別子およびクライアント・デバイス・データを含む認証メッセージを受信するように構成される。例えば、インターフェース８は、クライアント・デバイス１０から認証メッセージを受信するように構成され得る。例えば、聴覚デバイス２は、通信セッションを確立するためにクライアント・デバイス１０から認証メッセージを受信する。クライアント・デバイス・データは、（暗号化または復号された）クライアント・デバイス証明書、フィッティング・データ、聴覚デバイス動作パラメータ、および／またはファームウェア・データを含むことができる。例えば、認証メッセージは、プレーン・テキスト内に認証鍵識別子を入れることができる。認証鍵識別子は、聴覚デバイス鍵を示し得る。認証鍵識別子を処理する処理ユニット４は、例えば、認証鍵識別子を例えばメモリ・ユニット６に記憶されている聴覚デバイス鍵識別子と比較することと、認証鍵識別子が例えば記憶されている聴覚デバイス鍵識別子に等しいか、または高い場合に、認証鍵識別子を受け入れ可能であると決定することとによって、認証鍵識別子を検証するように構成される。
【００７９】
処理ユニット４は、認証鍵識別子に基づいて、メモリ・ユニット６内の複数の聴覚デバイス鍵のうちから聴覚デバイス鍵を選択するように構成される。したがって、処理ユニット４は、例えば、認証鍵識別子に基づいて聴覚デバイス鍵を選択するように構成された選択ユニット４２を備える。認証鍵識別子が、聴覚デバイス２によって保持されている聴覚デバイス鍵識別子に基づいて聴覚デバイス２によって受け入れ可能であるとき、処理ユニット４は、認証鍵識別子が示す聴覚デバイス鍵を選択し、選択された聴覚デバイス鍵を、セッションを保護するために使用される鍵材料として使用するように構成される。適宜、処理ユニット４は、認証鍵識別子および認証タイプ識別子に基づいて、メモリ・ユニット６内の複数の聴覚デバイス鍵のうちから聴覚デバイス鍵を選択するように構成され得る。認証タイプ識別子は、認証メッセージに含まれ、聴覚デバイス２によってプレーン・テキストで受信され、および／または（暗号化または復号されている）クライアント証明書内のクライアント・デバイス・タイプ識別子として受信され得る。例えば、処理ユニット４は、認証鍵識別子および認証タイプ識別子が示す聴覚デバイス鍵を選択するように構成され得る。
【００８０】
処理ユニット４は、選択された聴覚デバイス鍵に基づいて、クライアント・デバイス・データを検証し、検証が失敗した場合にセッションを終了するように構成される。例えば、処理ユニット４は、クライアント・デバイス・データのＭＡＣおよび／またはデジタル署名を検証することなど、選択された聴覚デバイス鍵に基づいてクライアント・デバイス・データの完全性を検証することによって、選択された聴覚デバイス鍵に基づいてクライアント・デバイス・データを検証するように構成される。処理ユニット４は、クライアント・デバイス・データが暗号化されて受信されるとき、選択された聴覚デバイス鍵を（復号鍵を導出するための鍵材料として、または復号鍵として）使用して、クライアント・デバイス・データを復号することと、復号されたクライアント・デバイス・データの内容を検証することとによって、選択された聴覚デバイス鍵に基づいてクライアント・デバイス・データを検証するように構成される。処理ユニット４は、復号されたクライアント・デバイス・データをメモリ・ユニット６に記憶されているデータと比較することによって、選択された聴覚デバイス鍵に基づいてクライアント・デバイス・データを検証するように構成され得る。クライアント・デバイス・データは、クライアント・デバイス証明書（暗号化されたクライアント・デバイス証明書など）、認証鍵識別子、および／または認証タイプ識別子を含むことができる。クライアント・デバイス１０は、クライアント・デバイス証明書を割り当てられ得る。クライアント・デバイス証明書は、例えば、製造デバイス１２によって、生成され、クライアント・デバイスに割り当てられる証明書を指す。クライアント・デバイス証明書の例は、図３Ａに示されている。処理ユニット４は、選択された聴覚デバイス鍵および／またはセッション識別子に基づいて証明書鍵を生成するように構成され得る。クライアント・デバイス・データを検証することは、暗号化されているクライアント・デバイス証明書を証明書鍵で復号して、暗号化されているクライアント・デバイス証明書の復号されたバージョンを取得することを含み得る。
【００８１】
処理ユニット４は、認証鍵識別子が（復号された）クライアント・デバイス証明書のクライアント・デバイス鍵識別子と一致しているかどうかを判定することによってクライアント・デバイス・データを検証するように構成されるものとしてよく、一致していないと判定された場合に検証は失敗となる。
【００８２】
１つまたは複数の例示的な聴覚デバイスにおいて、処理ユニット４は、クライアント・デバイス証明書のクライアント・デバイス・タイプ識別子が有効であるかどうかを判定することによってクライアント・デバイス・データを検証するように構成され、クライアント・デバイスのクライアント・デバイス・タイプ識別子が有効でない場合に検証は失敗となる。処理ユニット４は、クライアント・デバイス・データに含まれるクライアント・デバイス証明書のデジタル署名を検証することによってクライアント・デバイス・データを検証するように構成され、デジタル署名が検証されない場合に検証は失敗となる。
【００８３】
処理ユニット４は、署名デバイス識別子および／またはクライアント・デバイス識別子が有効であるかどうか、例えば、ブラックリストに載っていないかどうかを判定することによってクライアント・デバイス・データを検証するように構成され得る。
【００８４】
１つまたは複数の例示的な聴覚デバイスにおいて、処理ユニット４は、共通秘密およびセッション識別子に基づいてオフライン・セッション鍵を生成するように構成され、また処理ユニット４は、オフライン・セッション鍵を使用してクライアント・デバイスと通信するように構成される。
【００８５】
１つまたは複数の例示的な聴覚デバイスにおいて、認証メッセージ４２１は、認証トークン識別子を含み、処理ユニット４は、認証トークン識別子をメモリ・ユニット６に記憶し、認証トークン識別子を共通秘密とリンクするように構成される。認証トークン識別子は、聴覚デバイス２側でトークンベースの認証を可能にすることを示すものとしてよい。すなわち、聴覚デバイスが、認証されたクライアント・デバイス１０から認証トークン識別子を受信したとき、例えば、共通秘密およびクライアント・デバイスに関連するフラグなどのインジケータを記憶することによって、同じクライアント・デバイス１０との将来の通信におけるトークンベースの認証を使用可能にし得る。例えば、認証トークン識別子を受信する聴覚デバイス２は、トークン識別子を記憶し、および／または同じクライアント・デバイス１０に対して生成された共通秘密とリンクさせることによって、例えば、トークン識別子を記憶し、および／または、当該共通秘密と、当該同じクライアント・デバイスのクライアント・デバイス識別子を例えばテーブルにおいてリンクさせることによって、トークンベースの認証を可能とすることを処理ユニット４に対して示すように構成され得る。
【００８６】
聴覚デバイス２において、処理ユニット４は、セッション識別子および聴覚デバイス鍵に基づいてセッション鍵を生成するように構成され、また処理ユニット４は、セッション鍵に基づいてセッション・データを受信し、認証するように構成される。
【００８７】
１つまたは複数の例示的な聴覚デバイスにおいて、処理ユニット４は、インターフェース８を介して、追加の認証メッセージを受信するように構成される。追加の認証メッセージは、クライアント・デバイス・データおよび認証デバイス識別子を含む。処理ユニット４は、メモリ・ユニット６から認証デバイス識別子に基づいて共通秘密を取得するように構成され得る。処理ユニット４は、共通秘密から追加の証明書鍵を生成し、追加の証明書鍵に基づいてクライアント・デバイス・データを検証するように構成され得る。
【００８８】
図３Ａは、例示的なクライアント・デバイス証明書１０６を概略的に示す。クライアント・デバイス・データは、クライアント・デバイス証明書１０６および／または暗号化されたクライアント・デバイス証明書１０６Ａを含み得る。クライアント・デバイス１０は、クライアント・デバイス証明書１０６を割り当てられ得る。クライアント・デバイス証明書１０６は、例えば、製造デバイス１２によって、生成され、クライアント・デバイス１０に割り当てられる証明書を指す。暗号化されたクライアント・デバイス証明書１０６Ａは、暗号化アルゴリズムおよび証明書鍵を使用してクライアント・デバイス１０によって生成され得る。
【００８９】
クライアント・デバイス証明書１０６は、証明書タイプ識別子１３０Ａを備える。証明書タイプ識別子１３０Ａは、聴覚デバイス・ファミリ証明書タイプ、聴覚デバイス証明書タイプ、ファームウェア証明書タイプ、研究開発証明書タイプ、クライアント・デバイス証明書タイプなどの、さまざまな証明書タイプのうちの１つの証明書タイプを示し得る。証明書タイプ識別子１３０Ａは、どのようなタイプの証明書を受信し、記憶し、および／または取り出すかを識別し、それに応じてしかるべく動作するために聴覚デバイス２によって使用され得る。クライアント・デバイス証明書１０６は、クライアント・デバイス証明書１０６のデータ・フォーマット・バージョンを示すバージョン識別子１３２を含むものとしてよい。聴覚デバイス２は、証明書タイプ識別子１３０Ａおよび／またはバージョン識別子１３２を使用して、証明書がどのようなタイプのデータを含むか、および／またはどのようなタイプのデータが証明書のフィールドに入っているかを決定するように構成され得る。例えば、聴覚デバイス２は、証明書タイプ識別子１３０Ａおよび／またはバージョン識別子１３２に基づいて、証明書１０６のどのようなフィールドがデジタル署名１１３Ａを含むか、および／またはデジタル署名１１３Ａを検証するためにどの公開鍵が必要かを決定する。証明書タイプ識別子１３０Ａと公開／秘密鍵ペアとの間に一対一マッピングがあることが想定され得る。聴覚デバイス２は、メモリ・ユニット６、リモート・データ記憶装置から対応する公開鍵を取り出すなど、対応する公開鍵を取得し、および／またはクライアント・デバイス１０および／またはサーバ・デバイス１６から対応する公開鍵を受信することが想定され得る。クライアント・デバイス証明書１０６は、署名デバイス識別子１３６Ａを備え得る。署名デバイス識別子１３６Ａは、例えば、クライアント・デバイスの製造時に、クライアント・デバイス証明書１０６に署名したデバイス（クライアント・デバイス１０、サーバ・デバイス１６、集積回路カード、スマート・カード、および／またはそのハードウェア・セキュリティ・モジュールなど）を識別する一意の識別子を指す。署名デバイス識別子１３６Ａは、例えば、署名デバイスの媒体アクセス制御（ＭＡＣ）アドレス、および／または署名デバイスのシリアル番号を含み得る。署名デバイス識別子１３６Ａは、例えば、聴覚デバイス２が、署名デバイスが例えばブラックリストに載っているかどうかを決定すること、したがってブラックリストに載っている署名デバイスによって署名された証明書を拒絶することを可能にする。クライアント・デバイス証明書１０６は、第１のハードウェア識別子１４８Ａおよび第２のハードウェア識別子１５０などの１つまたは複数のハードウェア識別子を備え得る。ハードウェア識別子１４８Ａ、１５０は、クライアント・デバイス１０に備えられている無線チップおよび／またはクライアント・デバイス１０のデジタル・シグナル・プロセッサなどの、クライアント・デバイス１０に備えられているハードウェアを識別することができる。ハードウェア識別子は、ハードウェアの製造時に聴覚デバイスに備えられているハードウェアのレジスタに記憶され得る。ハードウェア識別子は、シリアル番号、媒体アクセス制御（ＭＡＣ）アドレス、チップ識別子、またはこれらの任意の組合せを含み得る。
【００９０】
１つまたは複数の例示的なクライアント・デバイス証明書において、クライアント・デバイス証明書１０６は、クライアント・デバイス・タイプ識別子１５６を含む。クライアント・デバイス・タイプ識別子１５６は、クライアント・デバイスが属しているタイプを示し得る。クライアント・デバイス証明書１０６は、クライアント・デバイス識別子１５８を備え得る。クライアント・デバイス証明書は、クライアント・デバイス鍵識別子１５９を備え得る。クライアント・デバイス鍵識別子１５９は、外部パーティとの通信を保護するための鍵材料として使用されるクライアント・デバイス鍵を示し得る。
【００９１】
１つまたは複数の例示的なクライアント・デバイス証明書において、クライアント・デバイス証明書１０６は、クライアント・デバイスのＢｌｕｅｔｏｏｔｈアドレス１６０を含む。
【００９２】
クライアント・デバイス証明書１０６は、デジタル署名１１３Ａを備える。デジタル署名１１３Ａは、署名者の正当性の検証などの、クライアント・デバイス証明書の真正性の立証または検証を可能にする。デジタル署名１１３Ａは、適宜、クライアント・デバイス・フィッティング秘密鍵を使用して製造デバイス１２によって生成される。聴覚デバイス２は、デジタル署名１１３Ａを備えるクライアント・デバイス証明書を受信したとき（すなわち、暗号化されたクライアント・デバイス証明書を含む認証メッセージを受信し、クライアント・デバイス証明書の復号されたバージョン１０６Ｂを取得したとき）にデジタル署名１１３Ａを検証するように構成され得る。デジタル署名１１３Ａは、例えばメモリ・ユニット６に記憶されている、対応するクライアント・デバイス・フィッティング公開鍵を使用して聴覚デバイス２によって検証可能である。デジタル署名１１３Ａが、申し立てられた公開鍵を使用して検証に成功しなかった場合、聴覚デバイス２は、クライアント・デバイス証明書１０６（および認証メッセージ）を破棄し、および／または通常動作／セッションを中断することができる。これは、聴覚デバイス２が改竄されたまたは非認証パーティから受信されたクライアント・デバイス証明書１０６（および認証メッセージ）を拒絶するという利点をもたらし得る。したがって、聴覚デバイス２との通信は、偽装攻撃、変更攻撃、およびなりすまし攻撃に対してロバストであり得る。
【００９３】
図３Ｂは、例示的な聴覚デバイス証明書１００を概略的に示す。聴覚デバイス証明書１００は、聴覚デバイス識別子１１２、聴覚デバイス鍵を示す第１の聴覚デバイス鍵識別子１１４を含む少なくとも１つの聴覚デバイス鍵識別子、および１つまたは複数の聴覚デバイス鍵を備える。聴覚デバイス識別子１１２は、一意のまたは疑似一意の識別子を指すものとしてよい。第１の聴覚デバイス鍵識別子１１４は、聴覚デバイス証明書の第１の聴覚デバイス鍵を示す。例えば、第１の聴覚デバイス鍵識別子１１４は、聴覚デバイス証明書の聴覚デバイス鍵の第１のセット１１５（１１５Ａ、１１５Ｂ、１１５Ｃ、１１５Ｄ）のうちの１つの聴覚デバイス鍵、例えば、第１の一次聴覚デバイス鍵１１５Ａを示すか、または指しているものとしてよい。
【００９４】
聴覚デバイス証明書１００は、適宜、少なくとも４つの異なるクライアント・デバイス／クライアント・デバイス・タイプとの、安全であり、明確に区別できる通信を可能にする聴覚デバイス鍵の少なくとも４つのセットを備える。
【００９５】
聴覚デバイス証明書１００は、第１の一次聴覚デバイス鍵１１５Ａを含む聴覚デバイス鍵の第１のセット１１５を備える。少なくとも１つの聴覚デバイス鍵識別子は、聴覚デバイス鍵１１５Ａ、１１５Ｂ、１１５Ｃ、１１５Ｄの第１のセット１１５のうちの聴覚デバイス鍵を示す第１の聴覚デバイス鍵識別子１１４を含む。聴覚デバイス鍵の第１のセット１１５は、例えば、第１のクライアント・デバイスまたは第１のクライアント・デバイス・タイプへの、および第１のクライアント・デバイスまたは第１のクライアント・デバイス・タイプからの、通信を保護することのみを目的とする第１の一次鍵１１５Ａ、第１の二次鍵１１５Ｂ、第１の三次鍵１１５Ｃ、および第１の四次鍵１１５Ｄを含む。例えば、聴覚デバイス鍵の第１のセット１１５は、第１のクライアント・デバイスによる聴覚デバイス・データの通信を保護するための聴覚デバイス鍵１１５Ａ、１１５Ｂ、１１５Ｃ、１１５Ｄのセットであってよい。
【００９６】
複数の聴覚デバイス鍵は、第２の一次聴覚デバイス鍵１１７Ａ、第２の二次聴覚デバイス鍵１１７Ｂ、第２の三次聴覚デバイス鍵１１７Ｃ、および／または第２の四次聴覚デバイス鍵１１７Ｄを含む聴覚デバイス鍵の第２のセット１１７を含み得る。少なくとも１つの聴覚デバイス鍵識別子は、聴覚デバイス鍵１１７Ａ、１１７Ｂ、１１７Ｃ、１１７Ｄの第２のセット１１７のうちの聴覚デバイス鍵を示す第２の聴覚デバイス鍵識別子１１６を含む。聴覚デバイスは、第１のクライアント・デバイスおよび／または第２のクライアント・デバイスなどの、１つまたは複数のクライアント・デバイスと通信するように構成される。聴覚デバイスが通信するように構成されている各クライアント・デバイスまたはクライアント・デバイス・タイプについて、聴覚デバイス証明書は、適宜、特定のクライアント・デバイスまたはクライアント・デバイス・タイプとの安全な通信を可能にするように構成された聴覚デバイス鍵のセット、およびどの聴覚デバイス鍵が聴覚デバイス証明書の一部であるかを示す聴覚デバイス鍵識別子を備える。聴覚デバイス証明書は、第３の一次聴覚デバイス鍵１１９Ａ、第３の二次聴覚デバイス鍵１１９Ｂ、第３の三次聴覚デバイス鍵１１９Ｃ、および／または第３の四次聴覚デバイス鍵１１９Ｄを含む聴覚デバイス鍵の第３のセット１１９を含み得る。少なくとも１つの聴覚デバイス鍵識別子は、聴覚デバイス鍵の第３のセット１１９のうちの聴覚デバイス鍵を示す第３の聴覚デバイス鍵識別子１１８を含む。聴覚デバイス証明書１００は、第４の一次聴覚デバイス鍵（図示せず）を含む聴覚デバイス鍵の第４のセットを備え得る。少なくとも１つの聴覚デバイス鍵識別子は、聴覚デバイス鍵の第４のセットのうちの聴覚デバイス鍵を示す第４の聴覚デバイス鍵識別子を含む。聴覚デバイス２は、聴覚デバイスに接続されているクライアント・デバイスまたはクライアント・デバイス・タイプに基づいて聴覚デバイス鍵のセットを選択し、聴覚デバイスの選択されたセットに関連付けられている聴覚デバイス鍵識別子に基づいて聴覚デバイス鍵のセットから聴覚デバイス鍵を１つ選択するように構成され得る。
【００９７】
聴覚デバイス証明書１００は、適宜、証明書タイプ識別子１３０Ｂを備える。証明書タイプ識別子１３０Ｂは、例えば、聴覚デバイス・ファミリ証明書タイプ、聴覚デバイス証明書タイプ、ファームウェア証明書タイプ、研究開発証明書タイプ、およびクライアント・デバイス証明書タイプなどの、さまざまな証明書タイプのうちから選択された聴覚デバイス証明書であることを示す。証明書タイプ識別子１３０Ｂは、どのようなタイプの証明書を受信し、記憶し、認証し、および／または取り出すかを聴覚デバイス２が識別できるようにするために使用され得る。聴覚デバイス証明書１００は、聴覚デバイス証明書のデータ・フォーマット・バージョンを示すバージョン識別子を含むものとしてよい。聴覚デバイス２は、証明書タイプ識別子１３０Ｂおよび／またはバージョン識別子を使用して、聴覚デバイス証明書１００がどのようなタイプのデータを含むか、どのようなタイプのデータが聴覚デバイス証明書１００のフィールドに入っているかを決定することができる。例えば、聴覚デバイス２は、証明書タイプ識別子１３０Ｂおよび／またはバージョン識別子に基づいて、証明書のどのようなフィールドがデジタル署名１１３Ｂを含むか、およびデジタル署名１１３Ｂを検証するためにどの公開鍵が必要かを決定し得る。証明書タイプ識別子１３０Ｂと公開／秘密鍵ペアとの間に、デジタル署名１１３Ｂを生成するために使用される一対一マッピングがあることが想定され得る。聴覚デバイス証明書１００は、聴覚デバイス証明書１００の長さを、例えば、ビット、バイト単位で示す長さ識別子を含むものとしてよい。
【００９８】
聴覚デバイス証明書１００は、適宜、署名デバイス識別子１３６Ｂを備える。署名デバイス識別子１３６Ｂは、聴覚デバイス証明書１００に署名したデバイス（製造デバイス１２、例えば、製造デバイス１２に含まれる集積回路カード、スマート・カード、ハードウェア・セキュリティ・モジュールなど）を識別する一意の識別子を指す。署名デバイス識別子１３６Ｂは、例えば、署名デバイスの媒体アクセス制御（ＭＡＣ）アドレス、シリアル番号を含み得る。署名デバイス識別子１３６Ｂは、例えば、聴覚デバイス２が、署名デバイスが例えばブラックリストに載っているかどうかを決定すること、したがってブラックリストに載っている署名デバイスによって署名された聴覚デバイス証明書１００を拒絶することを可能にする。
【００９９】
聴覚デバイス証明書１００は、適宜、第１のハードウェア識別子１４８Ｂおよび／または第２のハードウェア識別子（図示せず）を含む１つまたは複数のハードウェア識別子を備える。第１のハードウェア識別子１４８Ｂは、処理ユニット４、聴覚デバイス２に備えられている無線チップ、聴覚デバイス２のデジタル・シグナル・プロセッサなどの、聴覚デバイス２に備えられているハードウェアを識別することができる。第１のハードウェア識別子１４８Ｂは、ハードウェアの製造時に聴覚デバイス２に備えられているハードウェアのレジスタに記憶され得る。第１のハードウェア識別子１４８Ｂは、シリアル番号、媒体アクセス制御（ＭＡＣ）アドレス、チップ識別子、またはこれらの任意の組合せを含み得る。聴覚デバイス証明書１００は、第１のハードウェア識別子１４８Ｂ、第２のハードウェア識別子、および／または第３のハードウェア識別子を含み得る。例えば、第１のハードウェア識別子１４８Ｂは、聴覚デバイス２のハードウェア・モジュール（例えば、処理ユニットまたは無線チップ）のレジスタ内に存在する第１の聴覚デバイスに特有の値を与えることができ、第２のハードウェア識別子は、聴覚デバイス２のハードウェア・モジュールのレジスタ内に存在する第２の聴覚デバイスに特有の値を与えることができ、第３のハードウェア識別子は、第３のハードウェア・モジュール識別子（例えば、処理ユニット識別子、ＤＳＰ識別子）を与えることができる。聴覚デバイス２は、第１のハードウェア識別子１４８Ｂを含む聴覚デバイス証明書１００を受信した後に、次いで、記憶されているハードウェア識別子と受信された聴覚デバイス証明書１００に含まれる第１のハードウェア識別子１４８Ｂとを比較することによって、聴覚デバイス証明書１００を検証し得る。このようにして、聴覚デバイス２は、受信された聴覚デバイス証明書が聴覚デバイス２を意図したものであるかどうかを判定し、記憶され、受信されたハードウェア識別子が一致しない場合に、受信された聴覚デバイス証明書を拒絶し得る。
【０１００】
聴覚デバイス証明書１００は、適宜、クライアント・デバイス・タイプ承認識別子１４４を備える。クライアント・デバイス・タイプは、タブレット製品モデル、カテゴリ、またはタイプ、ＵＳＢドングル製品モデル、カテゴリ、またはタイプなどの、クライアント・デバイスのモデル、カテゴリ、またはタイプを含み得る。クライアント・デバイス・タイプ承認識別子１４４は、フィッティング、保守、および／または運用などのために、聴覚デバイス２が通信を承認し得るクライアント・デバイス・タイプの識別子などの、承認されたクライアント・デバイス・タイプの識別子である。クライアント・デバイス・タイプ承認識別子１４４は、例えば、フィッティングのために聴覚デバイス２が許容すべきであるクライアント・デバイスのタイプを示すビット・フィールドである。
【０１０１】
聴覚デバイス証明書１００は、適宜、トークン・パラメータ１４６を備える。トークン・パラメータ１４６は、トークンベースの認証が有効化されているかどうかを示す。例えば、トークン・パラメータ１４６が、０に設定されている場合、クライアント・デバイスのトークンベースの認証は、聴覚デバイス２によって有効化されることはなく、聴覚デバイス２は、例えば、クライアント・デバイス・タイプ識別子および／またはクライアント・デバイス識別子（シリアル番号など）の組合せを使用してクライアント・デバイス１０の認証を実行することになる。例えば、トークン・パラメータ１４６が、１に設定されている場合、クライアント・デバイスのトークンベースの認証は、聴覚デバイス２によって有効化されることになる、すなわち、聴覚デバイス２は、（クライアント・デバイス１０から受信されたトークンに基づくなどして）クライアント・デバイス１０を認証する。聴覚デバイス２は、例えばユーザの介入なくクライアント・デバイス１０への接続を受け入れるために使用される、受信されたトークン・パラメータ１４６に基づいてセッション特有のトークンも導出し得る。
【０１０２】
聴覚デバイス証明書１００は、ハードウェア・プラットフォーム識別子１３８、ソフトウェア・プラットフォーム識別子１４０、および／または証明書タイムスタンプ１４２のうちの１つまたは複数を備える。ハードウェア・プラットフォーム識別子１３８は、動作している聴覚デバイス・ハードウェア・プラットフォーム、すなわち、聴覚デバイス証明書が使用され得るハードウェア・プラットフォームなどの、ハードウェア・プラットフォームを識別し得る。ソフトウェア・プラットフォーム識別子１４０は、聴覚デバイス証明書が動作するように構成されているソフトウェア・プラットフォームのファミリを識別し得る。証明書タイムスタンプ１４２は、聴覚デバイス証明書１００が生成された時刻を示す製造デバイス１２のタイムスタンプなどの、聴覚デバイス証明書１００の生産または製造のタイムスタンプを指す。証明書タイプスタンプ１４２は、例えば、時、分、日、月、年の形態であるものとしてよい。
【０１０３】
聴覚デバイス証明書は、デジタル署名１１３Ｂおよび／またはＭＡＣを備える。デジタル署名１１３Ｂは、署名者の正当性（例えば、署名者が正当な製造デバイスであるかどうか）の検証などの、聴覚デバイス証明書１００の真正性の立証または検証を可能にする。デジタル署名１１３Ｂは、聴覚デバイスの製造時にデバイス・ファミリ秘密鍵を使用して製造デバイス１２によって生成される。次いで、聴覚デバイス２または処理ユニット４は、例えば、デジタル署名１１３Ｂを含む聴覚デバイス証明書１００を受信したとき、デジタル署名１１３Ｂを検証することができる。デジタル署名１１３Ｂは、対応するデバイス・ファミリ公開鍵を使用して聴覚デバイス２によって検証可能である。デジタル署名１１３Ｂが、申し立てられた公開鍵を使用して検証に成功しなかった場合、聴覚デバイスは、聴覚デバイス証明書１００を破棄し、および／または通常動作を中断することができる。
【０１０４】
図４は、聴覚デバイス２およびクライアント・デバイス１０を伴う例示的な信号図４００を概略的に示している。クライアント・デバイス１０は、フィッティング・デバイス１４を備え得る。聴覚デバイス２は、インターフェース８を介して、クライアント・デバイス１０からセッションに対する接続要求またはメッセージ４１１を受信する。クライアント・デバイス１０が、フィッティング・デバイス１４を備えているとき、フィッティング・デバイス１４は、接続要求４１１としてクライアント・デバイス１０によって送信される、接続要求４１０を生成し得る。聴覚デバイス２は、セッション識別子１８０を生成するなど、セッション識別子１８０を取得する。聴覚デバイス２は、聴覚デバイス識別子１１２および／またはセッション識別子１８０を含む接続応答４１２を生成し、クライアント・デバイス１０に接続応答４１２を送信する。クライアント・デバイス１０が、フィッティング・デバイス１４を備えているとき、フィッティング・デバイス１０は、クライアント・デバイス１０を介して接続応答４１２を受信し得る。クライアント・デバイス１０は、認証メッセージ４２１を生成し、認証メッセージ４２１を聴覚デバイス２に送信する。聴覚デバイス２は、クライアント・デバイス１０から認証メッセージ４２１を受信する。認証メッセージ４２１は、認証鍵識別子１６６、オプションの認証タイプ識別子１６８、およびクライアント・デバイス・データ１０９を含む。クライアント・デバイス・データ１０９は、暗号化されたクライアント・デバイス証明書１０６Ａまたはクライアント・デバイス証明書１０６を含む。クライアント・デバイス・タイプ識別子１５６、クライアント・デバイス識別子１５８、およびユーザ識別子のうちのどれかが、暗号化されたクライアント・デバイス証明書１０６Ａに含まれ得る。クライアント・デバイス識別子、クライアント・デバイス・タイプ識別子１５６、および／またはユーザ識別子のうちのどれかが、認証メッセージ４２１内に、プレーン・テキストで、または（プレーン・テキストの）クライアント・デバイス証明書１０６の一部として、含まれ得る。クライアント・デバイス１０が、フィッティング・デバイス１４を備えているとき、フィッティング・デバイス１４は、認証メッセージ４２１としてクライアント・デバイス１０によって送信される、認証メッセージ４２０を生成し得る。
【０１０５】
適宜、聴覚デバイス２は、認証メッセージ４２１の内容、発信元、および／または完全性を検証することによって認証メッセージ４２１を認証するように構成される。例えば、聴覚デバイス２は、受信された認証鍵識別子１６６の受信された値が、聴覚デバイス証明書１００に含まれる聴覚デバイス鍵識別子（および／または聴覚デバイス２が例えばフラッシュ・メモリに聴覚デバイス鍵識別子として記憶している最新の値）より高いか、または等しいかどうかを検証する。聴覚デバイス２が、受信された認証鍵識別子１６６の受信された値が聴覚デバイス鍵識別子よりも高いか、または等しいと決定した場合に、認証は継続する。そうでない場合、セッションは即座に打ち切られる（適切なエラー・コードを返す）。これは、聴覚デバイス２が失効した／取り消されたクライアント・デバイスと通信することを防ぐ。
【０１０６】
例えば、聴覚デバイス２は、認証タイプ識別子に基づいてクライアント・デバイスのタイプを決定する。聴覚デバイス２は、認証タイプ識別子１６８および／または認証鍵識別子１６６に基づいて、複数の聴覚デバイス鍵から聴覚デバイス鍵を１つ選択する。例えば、聴覚デバイス２は、受信された認証鍵識別子１６６に対応する聴覚デバイス鍵を識別する。聴覚デバイス２は、クライアント・デバイス１０への接続応答４１２で送信された、識別された聴覚デバイス鍵およびセッション識別子１８０（例えば、１６バイトの乱数）を使用して、例えば証明書鍵が導出可能である共通秘密を計算して、証明書鍵を導出する。
【０１０７】
証明書鍵を使用することで、聴覚デバイス２は、暗号化されたクライアント・デバイス証明書１０６Ａを復号する。次いで、聴覚デバイス２は、復号されたクライアント・デバイス証明書１０６Ｂに含まれる証明書タイプ識別子１３０Ａが正しい証明書１０６Ｂに対応していることを検証し得る。次いで、聴覚デバイス２は、プレーン・テキストで受信された認証タイプ識別子１６８が復号された証明書１０６Ｂ中のクライアント・デバイス・タイプ識別子１５６と一致することを検証し得る。次いで、聴覚デバイス２は、プレーン・テキストで受信された認証鍵識別子１６６が、復号された証明書１０６Ｂ中のクライアント・デバイス鍵識別子１５９と一致することを検証し、認証鍵識別子１６６および／またはクライアント・デバイス鍵識別子１５９が聴覚デバイス２によって保持されている聴覚デバイス鍵識別子（第１の聴覚デバイス鍵識別子１１４など）を示すかどうかをさらに評価することができる。次いで、聴覚デバイス２は、復号された証明書１０６Ｂ中のバージョン識別子１３２が聴覚デバイス２によってサポートされていることを検証し得る。次いで、聴覚デバイス２は、プレーン・テキストで受信された認証タイプ識別子１６８またはクライアント・デバイス・タイプ識別子１５６が、記憶されている聴覚デバイス証明書１００のクライアント・デバイス・タイプ承認識別子１４４にリストされていることを検証し得る。次いで、聴覚デバイス２は、プレーン・テキストで受信された認証タイプ識別子１６８または第１のハードウェア識別子１４８Ａ、１５０に関連付けられているクライアント・デバイス・タイプ識別子１５６がブラックリストに載っていないことを検証し得る。署名デバイス識別子１３６Ａは、ブラックリストに載っていないことを検証される。次いで、聴覚デバイス２は、一致する公開鍵を使用してクライアント・デバイス証明書１０６Ｂのデジタル署名１１３Ａを検証し得る。
【０１０８】
認証メッセージ４２１の認証および／または検証が成功した後、聴覚デバイス２は、認証応答４２２を、クライアント・デバイス１０に送信することができる。クライアント・デバイス１０がフィッティング・デバイス１４を備えるときに、クライアント・デバイス１０はフィッティング・デバイス１４にそれを転送し得る
【０１０９】
通信チャネルは、この時点で開かれ、安全が確保されている。クライアント・デバイス１０またはクライアント・デバイス１０を介したフィッティング・デバイス１４は、セッション鍵によって保護されているセッション中の聴覚デバイス・データ４３０などの、聴覚デバイス・データ４３０を聴覚デバイス２に送信し得る。聴覚デバイス・データ４３０は、例えば、ファームウェア、フィッティング・データ、および／または聴覚デバイス動作パラメータを含む。フィッティング・データは、例えば、聴覚デバイス２がユーザの耳にフィッティングされているときにディスペンサによって使用されるフィッティング・デバイス１４によって生成されるデータであってよい。フィッティング・データは、聴力損失パラメータ、コンプレッサ・パラメータ、フィルタ係数、および／または利得係数を含み得る。聴覚デバイス動作パラメータは、ボリューム・コントロール・パラメータ、モード、および／またはプログラム・コントロール・パラメータを含み得る。ファームウェアは、聴覚デバイス製造者によって提供され、聴覚デバイス２を制御するために聴覚デバイス２上にインストールされるべきコンピュータ・プログラムを指すものとしてよい。ファームウェアは、例えば、聴覚デバイス２の動作および機能をアップグレードするようにインストールされることになる。
【０１１０】
適宜、例えば、クライアント・デバイス１０が、聴覚デバイス２に再接続するとき、処理ユニット４は、インターフェース８を介して追加の認証メッセージ４４０を受信するように構成され得る。追加の認証メッセージ４４０は、クライアント・デバイス・データ１１０および認証デバイス識別子１６９を含む。処理ユニット４は、認証メッセージ４４０を検証し、認証メッセージ４４０を送信するクライアント・デバイスを認証するように構成され得る。処理ユニット４は、メモリ・ユニット６から、認証デバイス識別子１６９に基づいて共通秘密を取得するように構成され得る。メモリ・ユニット６は、認証されたクライアント・デバイス１０に対する、そこに記憶された対応する共通秘密に関連付けられているクライアント・デバイス識別子１５８を有するものとしてよい。次いで、処理ユニット４は、認証デバイス識別子１６９に基づいて対応する共通秘密を取り出すように構成され得る。共通秘密は、早い段階で、例えば、復帰するクライアント・デバイス１０の認証の初回に生成され、記憶されている。したがって、クライアント・デバイス１０が認証された後、処理ユニット４は、メモリ・ユニット６から対応する共通秘密だけを取り出すことができる。これは、より高速なその後の認証を可能にし、追加の証明書鍵を計算するための共通秘密を再生成しなくて済むようにし、したがって、対応する電力消費量を節減する。処理ユニット４は、共通秘密から追加の証明書鍵を生成し、追加の証明書鍵に基づいてクライアント・デバイス・データ１１０を検証するように構成され得る。例えば、処理ユニット４は、共通秘密および証明書値に基づいてハッシュ値を計算することによって追加の証明書鍵を生成する。上で説明されているように、処理ユニット４は、クライアント・デバイス・データ１１０のＭＡＣおよび／またはデジタル署名を検証することなど、クライアント・デバイス・データ１１０の完全性を検証することによって、追加の証明書鍵に基づいてクライアント・デバイス・データ１１０を検証するように構成され得る。処理ユニット４は、クライアント・デバイス・データ１１０が暗号化されて受信されるとき、追加の証明書鍵を（復号鍵として）使用してクライアント・デバイス・データ１１０を復号することによって追加の証明書鍵に基づいてクライアント・デバイス・データ１１０を検証するように構成される。処理ユニット４は、クライアント・デバイス・データ１１０の内容を検証することによってクライアント・デバイス・データ１１０を検証するように構成される。処理ユニット４は、クライアント・デバイス・データ１１０をメモリ・ユニット６に記憶されているデータと比較することによってクライアント・デバイス・データを検証するように構成され得る。クライアント・デバイス・データ１１０は、暗号化されたクライアント・デバイス証明書１０６Ａなどの、クライアント・デバイス証明書１０６を含み得る。
【０１１１】
適宜、処理ユニット４は、クライアント・デバイス・データ１１０および認証トークン識別子１６７を含むさらなる認証メッセージ４５０を受信するように構成される。処理ユニット４は、メモリ・ユニット６から認証トークン識別子１６７に基づいて共通秘密を取得し、共通秘密からトークン鍵を生成するように構成される。
【０１１２】
１つまたは複数の例示的な聴覚デバイスにおいて、処理ユニット４は、クライアント・デバイス・データ１１０、認証タイプ識別子１６８、認証鍵識別子１６６、および／または認証セッション・トークン識別子１６７を含むさらなる認証メッセージ４５０を受信するように構成される。さらなる認証メッセージは、認証デバイス識別子１６９を含み得る。処理ユニット４は、メモリ・ユニット６内で、認証タイプ識別子１６８に対応する記憶されているクライアント・デバイス・タイプ識別子を特定することおよび／または認証デバイス識別子１６９に対応する記憶されているクライアント・デバイス識別子を特定することに基づいて、さらなる認証メッセージ４５０を送信するクライアント・デバイス１０のクライアント・デバイス・タイプ識別子および／またはクライアント・デバイス識別子にリンクされた共通秘密を見つけるように構成され得る。処理ユニット４は、認証タイプ識別子１６８に基づいて共通秘密を取得し、共通秘密に基づいてトークン鍵を生成し、トークン鍵およびセッション識別子に基づいてセッション・トークン識別子を生成するように構成され得る。処理ユニット４は、クライアント・デバイス１０との早い段階でのセッションにおいて、例えば証明書鍵を確立するために共通秘密を生成している場合があり、また共通秘密を記憶し、共通秘密をクライアント・デバイス・タイプ識別子および／またはクライアント・デバイス識別子にリンクしている場合がある。次いで、処理ユニット４は、記憶されているクライアント・デバイス・タイプ識別子および／またはクライアント・デバイス識別子に対応する認証タイプ識別子１６８および／または認証クライアント識別子１６９に基づいて共通秘密を取得するように構成され得る。処理ユニット４は、共通秘密およびトークン値（事前定義された任意の文字列または事前定義された任意の値など）に対してハッシュ関数を実行することによってトークン鍵を生成するように構成され得る。処理ユニット４は、セッション識別子を生成することと、トークン鍵およびセッション識別子に対してハッシュ関数を実行することとによってトークン鍵およびセッション識別子に基づいてセッション・トークン識別子を生成するように構成され得る。処理ユニット４は、セッション・トークン識別子に基づいて認証セッション・トークン識別子を検証するように構成され得る。処理ユニット４は、認証セッション・トークン識別子１６７と生成されたセッション・トークン識別子とを比較することによって認証セッション・トークン識別子を検証するように構成され得る。例えば、処理ユニットが、認証セッション・トークン識別子１６７が生成されたセッション・トークン識別子と一致していると決定した場合に、検証は成功であり、処理ユニット４は、ユーザによる物理的介入なしで先に進むことができ、さらなる認証メッセージ４５０において与えられるクライアント・デバイス・データ１１０を検証し続けることができる。クライアント・デバイス・データ１００は、本開示に従って検証され得る、クライアント・デバイス証明書を含み得る。
【０１１３】
１つまたは複数の例示的な聴覚デバイスにおいて、聴覚デバイスは、ｖｅｔｅｒａｎ  ａｄｍｉｎｉｓｔｒａｔｉｏｎ（ＶＡ）フィッティングなどの、特別なフィッティングをサポートするように構成される。聴覚デバイスのメモリ・ユニットは、ＶＡフィッティングなどの、特別なフィッティングのタイプを示す特別なインジケータを記憶している場合がある。
【０１１４】
図５は、聴覚デバイス２を運用する例示的な方法５００の流れ図を概略的に示す。聴覚デバイス２は、聴覚デバイス２のユーザの聴力損失を補うように構成された処理ユニット４と、メモリ・ユニット６と、インターフェース８とを備える。方法５００は、インターフェース８を介してセッションに対する接続要求を受信すること（Ｓ１）を含む。接続要求は、聴覚デバイス２が接続要求および接続要求を送信するクライアント・デバイスのこの早期の段階での認証を実行することを可能にするために、認証鍵識別子１６６および／または認証タイプ識別子１６８を含み得る。これは、あるレベルのアクセス制御を行うことができる。
【０１１５】
方法５００は、セッション識別子１８０を、例えば、聴覚デバイスで取得すること（Ｓ２）を含む。セッション識別子１８０を取得すること（Ｓ２）は、乱数または疑似乱数を生成することなどによって、セッション識別子１８０を生成することを含み得る。例えば、処理ユニット４は、セッション識別子１８０として使用されるべき所定の長さ、例えば、１６ビット、３２ビット、６４ビットなどの乱数または疑似乱数を生成する。セッション識別子１８０を取得すること（Ｓ２）は、メモリ・ユニットからセッション識別子１８０を取り出すことを含み得る。方法５００は、メモリ・ユニット６にセッション識別子１８０を記憶することを含み得る。例えば、メモリ・ユニット６にセッション識別子１８０を記憶することは、指定されたメモリ・セル内および／または指定されたアドレスなど、メモリ・ユニット６のメモリ・アドレスに、および／またはメモリ・ユニット６のメモリ・セル内にセッション識別子１８０を記憶することを含む。
【０１１６】
方法５００は、インターフェース８を介して、聴覚デバイス識別子１１２およびセッション識別子１８０を含む接続応答を送信すること（Ｓ３）を含む。接続応答を送信すること（Ｓ３）は、セッション識別子１８０および聴覚デバイス識別子１１２を含めることによって接続応答を生成することと、こうして生成された接続応答を例えばクライアント・デバイス１０に送信することとを含み得る。
【０１１７】
方法５００は、インターフェース８を介して、認証メッセージを受信すること（Ｓ４）を含む。認証メッセージは、認証鍵識別子１６６およびクライアント・デバイス・データ１０９を含む。方法５００は、インターフェース８を介して、クライアント・デバイス１０から認証メッセージ４２１を受信することを含み得る。例えば、聴覚デバイス２は、通信セッションを確立するためにクライアント・デバイス１０から認証メッセージ４２１を受信する。クライアント・デバイス・データ１０９は、暗号化されていないクライアント・デバイス証明書１０６または暗号化されているクライアント・デバイス証明書１０６Ａなどのクライアント・デバイス証明書、フィッティング・データ、聴覚デバイス動作パラメータ、および／またはファームウェア・データを含むことができる。認証鍵識別子１６６は、クライアント・デバイス１０が聴覚デバイス２によって受け入れ可能なクライアント・デバイス鍵を使用しているかどうかを検証するために使用され得る識別子とすることができる。
【０１１８】
方法５００は、認証鍵識別子１６６に基づいて、メモリ・ユニット６内の（例えば、聴覚デバイス鍵１１５の第１のセット、聴覚デバイス鍵１１６の第２のセットなどの中、またはそれらの間の）複数の聴覚デバイス鍵から聴覚デバイス鍵を１つ選択すること（Ｓ５）を含む。認証鍵識別子１６６が、聴覚デバイス２によって保持されている第１の聴覚デバイス鍵識別子１１４などの、聴覚デバイス鍵識別子と一致しているとき、処理ユニット４は、認証鍵識別子１６６を、どの聴覚デバイス鍵がセッションにおける鍵材料として使用されるべきかを示す鍵識別子として使用するように構成され得る。メモリ・ユニット内の複数の聴覚デバイス鍵のうちから聴覚デバイス鍵を１つ選択すること（Ｓ５）は、認証鍵識別子１６６および／または認証タイプ識別子１６８に基づいてもよい。認証タイプ識別子１６８は、聴覚デバイス２によってプレーン・テキストで、認証メッセージ４２１の一部として受信され、および／または（暗号化または復号されている）クライアント・デバイス証明書１０６内のクライアント・デバイス・タイプ識別子１５６として受信され得る。例えば、選択すること（Ｓ５）は、認証鍵識別子１６６および認証タイプ識別子１６８が示す聴覚デバイス鍵を選択することを含む。
【０１１９】
方法５００は、選択された聴覚デバイス鍵に基づいて、クライアント・デバイス・データ１０９を検証すること（Ｓ６）と、検証が失敗した場合にセッションを終了すること（Ｓ７）とを含む。選択された聴覚デバイス鍵に基づいてクライアント・デバイス・データ１０９を検証すること（Ｓ６）は、クライアント・デバイス・データ１０９に含まれるＭＡＣおよび／またはデジタル署名を検証することなど、選択された聴覚デバイス鍵に基づいてクライアント・デバイス・データ１０９の完全性を検証することを含み得る。選択された聴覚デバイス鍵に基づいてクライアント・デバイス・データ１０９を検証すること（Ｓ６）は、クライアント・デバイス・データ１０９が暗号化されて受信されるとき、選択された聴覚デバイス鍵を（復号鍵を導出するための鍵材料として、または復号鍵として）使用して、クライアント・デバイス・データ１０９を復号することを含み得る。選択された聴覚デバイス鍵に基づいてクライアント・デバイス・データ１０９を検証すること（Ｓ６）は、受信されたクライアント・デバイス・データ１０９をメモリ・ユニット内に記憶されているデータと比較することによって、クライアント・デバイス・データ１０９を検証することを含み得る。例えば、クライアント・デバイス・データ１０９の完全性が、例えばＭＡＣまたはデジタル署名を検証することによって破損していると検出された場合に、復号が失敗した場合に、および／または、（クライアント・デバイス・データが暗号化されたクライアント・デバイス証明書などの暗号化されたデータを含む場合は、復号されるときに）受信されたクライアント・デバイス・データ１０９とメモリ・ユニットに記憶されているデータ、例えば、聴覚デバイス証明書との比較で不整合が示されるか、または破損が示される場合に、検証は失敗であり、セッションは終了する。
【０１２０】
認証メッセージは、適宜、認証タイプ識別子１６８を含む。認証タイプ識別子は、例えば、クライアント・デバイス・データ（暗号化された）に含まれる、クライアント・デバイス・タイプ識別子１５６および／または証明書タイプ識別子１３０を示し得る。複数の聴覚デバイス鍵のうちから聴覚デバイス鍵を１つ選択すること（Ｓ５）は、認証タイプ識別子１６８に基づくものとしてよい。聴覚デバイス鍵を選択すること（Ｓ５）は、認証メッセージ４２１で与えられる認証タイプ識別子１６８および／または認証鍵識別子１６６に基づいてもよい。
【０１２１】
クライアント・デバイス・データ１０９は、クライアント・デバイス証明書１０６または暗号化されたクライアント・デバイス証明書１０６Ａ、認証鍵識別子１６６、および／または認証タイプ識別子１６８を含み得る。方法５００は、選択された聴覚デバイス鍵および／またはセッション識別子１８０に基づいて証明書鍵を生成すること（Ｓ８）を含むものとしてよく、クライアント・デバイス・データ１０９を検証すること（Ｓ６）は、暗号化されているクライアント・デバイス証明書１０６Ａを証明書鍵で復号して、暗号化されているクライアント・デバイス証明書１０６Ａの復号されたバージョン１０６Ｂを取得することを含み得る。暗号化されたクライアント・デバイス証明書１０６Ａを証明書鍵で復号することは、共通秘密に基づいて証明書鍵を生成することなどの、証明書鍵、共通秘密、および／または聴覚デバイス鍵を使用して暗号化されたクライアント・デバイス証明書１０６Ａを復号すること、および復号関数および証明書鍵を使用して暗号化されたクライアント・デバイス証明書１０６Ａを処理することを含み得る。証明書鍵は、共通秘密および／または証明書値に基づくものとしてよい。証明書鍵を生成することは、選択された聴覚デバイス鍵に基づいて共通秘密を取得または生成することを含み得る。例えば、聴覚デバイス鍵に基づいて共通秘密を生成することは、メモリ・ユニット６から、選択された聴覚デバイス鍵を含む聴覚デバイス証明書１００を取り出すこと、および／または選択された聴覚デバイス鍵をメモリ・ユニット６から取り出すことを含む。方法は、セッション識別子１８０および／または選択された聴覚デバイス鍵（例えば、第１の一次聴覚デバイス鍵１１５Ａ）に基づいて共通秘密を生成することを含み得る。例えば、共通秘密ＣＳは、選択された聴覚デバイス鍵およびセッション識別子１８０に基づいて、例えば以下の式
ＣＳ＝ｈａｓｈ（ＨＤ＿ＫＥＹ，Ｓ＿ＩＤ）
で生成される。ここで、ｈａｓｈはハッシュ関数であり、ＨＤ＿ＫＥＹは選択された聴覚デバイス鍵であり、Ｓ＿ＩＤはセッション識別子１８０である。セッション識別子１８０は、定義された長さの乱数または疑似乱数を含むものとしてよい。共通秘密は、１つまたは複数の例示的な方法における証明書鍵として使用され得る。方法５００は、例えば、必要なときにメモリ・ユニット６から共通秘密を取り出せるように、メモリ・ユニット６に共通秘密を記憶することを含み得る。
【０１２２】
証明書鍵を生成することは、共通秘密および／または証明書値に対してハッシュ関数を実行することを含み得る。証明書鍵を生成することは、例えば以下の式
Ｃ＿ＫＥＹ＝ｈａｓｈ（ＣＳ，Ｃ＿ＶＡＬ）
で実行されるものとしてよい。ここで、ｈａｓｈはハッシュ関数であり、ＣＳは共通秘密であり、Ｃ＿ＶＡＬは証明書値である。証明書値は、予め定義された値または文字列、例えば文字列「ｃｅｒｔｉｆｉｃａｔｅ」であってよい。
【０１２３】
１つまたは複数の例示的な方法において、証明書鍵を生成することは、聴覚デバイス鍵（例えば、第１の一次聴覚デバイス鍵１１５Ａ）およびセッション識別子１８０に対してハッシュ関数を実行することを含む。別の言い方をすると、共通秘密は、クライアント・デバイスがクライアント・デバイス証明書１０６を暗号化するための証明書鍵として共通秘密も使用している場合に、証明書鍵として使用され得る。
【０１２４】
クライアント・デバイス・データ１０９を検証すること（Ｓ６）は、聴覚デバイス２によって生成された証明書鍵を使用して暗号化されているクライアント・デバイス証明書１０６Ａを復号することと、暗号化されているクライアント・デバイス証明書１０６Ａの復号されたバージョン１０６Ｂを取得することとを含み得る。
【０１２５】
１つまたは複数の例示的な方法において、クライアント・デバイス・データ１０９を検証すること（Ｓ６）は、例えば、聴覚デバイス証明書または少なくともその一部に基づいて、暗号化されているクライアント・デバイス証明書１０６Ａの復号されたバージョン１０６Ｂの内容を検証することを含み得る。
【０１２６】
例えば、クライアント・デバイス・データ１０９を（聴覚デバイスにより）検証すること（Ｓ６）は、認証鍵識別子１６６がクライアント・デバイス証明書１０６のクライアント・デバイス鍵識別子１５９と一致しているかどうかを判定することを含み、一致していないと判定された場合に検証は失敗となる。
【０１２７】
１つまたは複数の例示的な方法において、クライアント・デバイス・データ１０９を検証すること（Ｓ６）は、クライアント・デバイス証明書１０６または１０６Ｂのクライアント・デバイス・タイプ識別子１５６が有効であるかどうかを判定することを含み、クライアント・デバイス証明書１０６または１０６Ｂのクライアント・デバイス・タイプ識別子１５６が有効でない場合に検証は失敗となる。例えば、認証タイプ識別子１６８は、認証メッセージ４２１中のプレーン・テキストで送信され、プレーン・テキストで送信された認証タイプ識別子１６８は、認証タイプ識別子１６８がクライアント・デバイス証明書１０６の復号されたバージョン１０６Ｂに含まれる対応するクライアント・デバイス・タイプ識別子１５６と一致する場合に有効である。例えば、クライアント・デバイス証明書１０６のクライアント・デバイス・タイプ識別子１５６が有効であるかどうかを判定することは、クライアント・デバイス証明書１０６のクライアント・デバイス・タイプ識別子１５６が、メモリ・ユニット６に記憶されている、および／またはリモート・データ記憶装置から取り出された、承認されたクライアント・デバイスのリストに含まれているかどうかを判定することを含む。
【０１２８】
１つまたは複数の例示的な方法において、クライアント・デバイス・データ１０９を検証すること（Ｓ６）は、クライアント・デバイス証明書１０６、１０６Ｂのデジタル署名１１３Ａを検証することを含み、デジタル署名が検証されていない場合に検証は失敗となる。例えば、クライアント・デバイス・データ１０９は、クライアント・デバイス・データ１０９の完全性を保護するために、クライアント・デバイス・データ１０９に含まれるか、または付加されたデジタル署名１１３Ａを含む。デジタル署名１１３Ａを検証することは、例えば、デジタル署名１１３Ａおよび対応するクライアント・デバイス公開鍵に基づいて比較結果を計算することと、比較結果を受信されたクライアント・デバイス・データ１０９と比較することとを含む。デジタル署名１１３Ａを検証することは、対応するクライアント・デバイス公開鍵をメモリ・ユニット６からおよび／またはリモート・データ記憶装置から取り出すことを含み得る。デジタル署名１１３Ａを対応するクライアント・デバイス公開鍵でべき乗したものが、受信されたクライアント・デバイス・データ１０９と同一であるときに、デジタル署名１１３Ａは有効なものとして検証される、または検証が成功となる。
【０１２９】
１つまたは複数の例示的な方法において、クライアント・デバイス証明書１０６は、署名デバイス識別子１３６Ａおよび／またはクライアント・デバイス識別子１５８を含み、クライアント・デバイス・データ１０９を検証すること（Ｓ６）は、署名デバイス識別子１３６Ａおよび／またはクライアント・デバイス証明書１０６または１０６Ｂのクライアント・デバイス識別子１５８が有効であるかどうかを判定することを含み、クライアント・デバイス識別子１５８および／または署名デバイス識別子１３６Ａが有効でない場合に検証は失敗となる。
【０１３０】
１つまたは複数の例示的な方法において、方法５００は、クライアント・デバイス・データ１１０および認証デバイス識別子１６９を含む追加の認証メッセージ４４０を受信することを含む。方法は、メモリ・ユニット６から、認証デバイス識別子１６９に基づいて共通秘密を取得することと、共通秘密から追加の証明書鍵を生成することと、追加の証明書鍵に基づいてクライアント・デバイス・データ１１０を検証することとをさらに含み得る。
【０１３１】
１つまたは複数の例示的な方法において、方法５００は、共通秘密およびセッション識別子１８０に基づいてオフライン・セッション鍵を生成することと、オフライン・セッション鍵を使用してクライアント・デバイス１０と通信することとを含む。
【０１３２】
１つまたは複数の例示的な方法、方法５００において、認証メッセージ４２１は、認証トークン識別子を含み、方法５００は、認証トークン識別子をメモリ・ユニット６に記憶することと、認証トークン識別子を共通秘密とリンクすることとを含む。
【０１３３】
１つまたは複数の例示的な方法において、方法５００は、クライアント・デバイス・データ１１０、認証タイプ識別子１６８、認証鍵識別子１６６、および／または認証セッション・トークン識別子１６７を含むさらなる認証メッセージ４５０を受信することを含む。方法５００は、認証タイプ識別子１６８に基づいて共通秘密を取得することと、共通秘密に基づいてトークン鍵を生成することと、トークン鍵およびセッション識別子に基づいてセッション・トークン識別子を生成することとを含み得る。方法５００は、セッション・トークン識別子に基づいて認証セッション・トークン識別子１６７を検証することを含み得る。
【０１３４】
１つまたは複数の例示的な方法において、方法５００は、セッション識別子１８０および聴覚デバイス鍵に基づいてセッション鍵を生成することと、セッション鍵に基づいてセッション・データ（例えば、聴覚デバイス・データ４３０）を受信し、認証することとを含む。
【０１３５】
例示的な聴覚デバイスおよび方法は、次の項目に述べられている。
【０１３６】
（項目１）
聴覚デバイスであって、
聴覚デバイスのユーザの聴力損失を補うように構成された処理ユニットと、
メモリ・ユニットと、
インターフェースとを備えており、
処理ユニットは、
インターフェースを介してセッションに対する接続要求を受信し、
セッション識別子を取得し、
インターフェースを介して、聴覚デバイス識別子およびセッション識別子を含む接続応答を送信し、
インターフェースを介して、認証鍵識別子およびクライアント・デバイス・データを含む認証メッセージを受信し、
認証鍵識別子に基づいてメモリ・ユニット内の複数の聴覚デバイス鍵のうちから聴覚デバイス鍵を選択し、
選択された聴覚デバイス鍵に基づいて、クライアント・デバイス・データを検証し、
検証が失敗した場合にセッションを終了するように構成されている、聴覚デバイス。
【０１３７】
（項目２）
認証メッセージは、認証タイプ識別子を含み、複数の聴覚デバイス鍵のうちから聴覚デバイス鍵を選択することは、認証タイプ識別子に基づいている、項目１に記載の聴覚デバイス。
【０１３８】
（項目３）
クライアント・デバイス・データは、暗号化されたクライアント・デバイス証明書を含み、処理ユニットは、共通秘密に基づいて証明書鍵を生成するように構成され、クライアント・デバイス・データを検証することは、暗号化されているクライアント・デバイス証明書を証明書鍵で復号して、暗号化されているクライアント・デバイス証明書の復号されたバージョンを取得することを含む、項目１または２に記載の聴覚デバイス。
【０１３９】
（項目４）
共通秘密は、選択された聴覚デバイス鍵および／またはセッション識別子に基づいている、項目３に記載の聴覚デバイス。
【０１４０】
（項目５）
クライアント・デバイス・データを検証することは、認証鍵識別子がクライアント・デバイス証明書のクライアント・デバイス鍵識別子と一致しているかどうかを判定することを含み、一致していないと判定された場合に検証は失敗となる、項目３または４に記載の聴覚デバイス。
【０１４１】
（項目６）
クライアント・デバイス・データを検証することは、クライアント・デバイス証明書のクライアント・デバイス・タイプ識別子が有効であるかどうかを判定することを含み、クライアント・デバイス証明書のクライアント・デバイス・タイプ識別子が有効でない場合に検証は失敗となる、項目３から５のいずれか一項に記載の聴覚デバイス。
【０１４２】
（項目７）
クライアント・デバイス・データを検証することは、クライアント・デバイス証明書のデジタル署名を検証することを含み、デジタル署名が検証されていない場合に検証は失敗となる、項目３から６のいずれか一項に記載の聴覚デバイス。
【０１４３】
（項目８）
クライアント・デバイス証明書は、署名デバイス識別子および／またはクライアント・デバイス識別子を含み、クライアント・デバイス・データを検証することは、署名デバイス識別子および／またはクライアント・デバイス識別子が有効であるかどうかを判定することを含み、クライアント・デバイスのクライアント・デバイス識別子および／または署名デバイス識別子が有効でない場合に検証は失敗となる、項目３から７のいずれか一項に記載の聴覚デバイス。
【０１４４】
（項目９）
処理ユニットは、クライアント・デバイス・データおよび認証デバイス識別子を含む追加の認証メッセージを受信するように構成されており、
処理ユニットは、
メモリ・ユニットから、認証デバイス識別子に基づいて共通秘密を取得し、
共通秘密から追加の証明書鍵を生成し、
追加の証明書鍵に基づいてクライアント・デバイス・データを検証するように構成されている、項目３から８のいずれか一項に記載の聴覚デバイス。
【０１４５】
（項目１０）
処理ユニットは、共通秘密およびセッション識別子に基づいてオフライン・セッション鍵を生成するように構成されており、
処理ユニットは、オフライン・セッション鍵を使用してクライアント・デバイスと通信するように構成されている、項目９に記載の聴覚デバイス。
【０１４６】
（項目１１）
認証メッセージは、認証トークン識別子を含み、処理ユニットは、認証トークン識別子をメモリ・ユニットに記憶し、認証トークン識別子を共通秘密とリンクするように構成されている、項目３から１０のいずれか一項に記載の聴覚デバイス。
【０１４７】
（項目１２）
処理ユニットは、クライアント・デバイス・データ、認証タイプ識別子、認証鍵識別子、および／または認証セッション・トークン識別子を含むさらなる認証メッセージを受信するように構成されており、
処理ユニットは、
認証タイプ識別子に基づいて共通秘密を取得し、
共通秘密に基づいてトークン鍵を生成し、
トークン鍵およびセッション識別子に基づいてセッション・トークン識別子を生成し、
セッション・トークン識別子に基づいて認証セッション・トークン識別子を検証するように構成されている、項目３から１１のいずれか一項に記載の聴覚デバイス。
【０１４８】
（項目１３）
処理ユニットは、セッション識別子および聴覚デバイス鍵に基づいてセッション鍵を生成するように構成されており、処理ユニットは、セッション鍵に基づいてセッション・データを受信し、認証するように構成されている、項目１から１２のいずれか一項に記載の聴覚デバイス。
【０１４９】
（項目１４）
聴覚デバイスを運用する方法であって、聴覚デバイスは、聴覚デバイスのユーザの聴力損失を補うように構成された処理ユニットと、メモリ・ユニットと、インターフェースとを備えており、その方法は、
インターフェースを介してセッションに対する接続要求を受信するステップと、
セッション識別子を取得するステップと、
インターフェースを介して、聴覚デバイス識別子およびセッション識別子を含む接続応答を送信するステップと、
インターフェースを介して、認証鍵識別子およびクライアント・デバイス・データを含む認証メッセージを受信するステップと、
認証鍵識別子に基づいて複数の聴覚デバイス鍵のうちから聴覚デバイス鍵を選択するステップと、
選択された聴覚デバイス鍵に基づいてクライアント・デバイス・データを検証するステップと、
検証が失敗した場合にセッションを終了するステップとを含む方法。
【０１５０】
（項目１５）
認証メッセージは、認証タイプ識別子を含み、複数の聴覚デバイス鍵のうちから聴覚デバイス鍵を選択するステップは、認証タイプ識別子に基づいている、項目１４に記載の方法。
【０１５１】
（項目１６）
クライアント・デバイス・データは、暗号化されたクライアント・デバイス証明書を含み、方法は、選択された聴覚デバイス鍵および／またはセッション識別子に基づいて証明書鍵を生成することを含み、クライアント・デバイス・データを検証することは、証明書鍵で暗号化されているクライアント・デバイス証明書を復号することを含む、項目１４または１５に記載の方法。
【０１５２】
（項目１７）
クライアント・デバイス・データを検証することは、クライアント・デバイス証明書のデジタル署名を検証することを含み、デジタル署名が検証されていない場合に検証は失敗となる、項目１４から１６のいずれか一項に記載の方法。
【０１５３】
「第１の」、「第２の」、および同様の言い回しの使用は、特定の順序を意味しないが、それらは、個別の要素を識別するために含まれている。さらに、第１の、第２の、などの言い回しの使用は、順序、または重要度を表さず、むしろ、第１の、第２の、などは、要素を互いに区別するために使用される。第１および第２という単語は、ここで、および別のところで、標識付けのみを目的として使用されており、特定の空間的または時間的順序付けを表すことを意図されていないことに留意されたい。さらに、第１の要素のラベル付けは、第２の要素の存在を意味しない。
【０１５４】
特定の特徴が示され説明されているが、それらは特許請求の範囲に記載された発明を制限することを意図していないことは理解され、当業者に対して、さまざまな変更および修正が特許請求の範囲に記載された発明の精神および範囲から逸脱することなくなされ得ることが明らかにされる。したがって、本明細書および図面は、限定ではなく、例示することを目的としているものとみなすべきである。特許請求の範囲に記載された発明は、すべての代替形態、修正形態、および均等形態を対象とすることが意図されている。
【符号の説明】
【０１５５】
１：システム
２：聴覚デバイス
４：処理ユニット
５：マイクロフォン
６：メモリ・ユニット
７：受信機
８：インターフェース
１０：クライアント・デバイス
１２：製造デバイス
１４：フィッティング・デバイス
１６：サーバ・デバイス
２１：クライアント・デバイスと聴覚デバイスとの間の通信リンク
２２：サーバ・デバイスと製造デバイスとの間の通信リンク
２３：聴覚デバイスと製造デバイスとの間の通信リンク
２４：サーバ・デバイスとクライアント・デバイス・フィッティング・デバイスとの間の通信リンク
１００：聴覚デバイス証明書
１０６：クライアント・デバイス証明書
１０６Ａ：暗号化されたクライアント・デバイス証明書
１０６Ｂ：暗号化されたクライアント・デバイス証明書の復号されたバージョン
１０９：クライアント・デバイス・データ：
１１０：追加の／さらなる認証メッセージ中のクライアント・デバイス・データ
１１２：聴覚デバイス識別子
１１３Ａ：クライアント・デバイス証明書のデジタル署名
１１３Ｂ：聴覚デバイス証明書のデジタル署名
１１４：第１の聴覚デバイス鍵識別子
１１５：聴覚デバイス鍵の第１のセット
１１５Ａ：第１の一次聴覚デバイス鍵
１１５Ｂ：第１の二次聴覚デバイス鍵
１１５Ｃ：第１の三次聴覚デバイス鍵
１１５Ｄ：第１の四次聴覚デバイス鍵
１１６：第２の聴覚デバイス鍵識別子
１１７：聴覚デバイス鍵の第２のセット
１１７Ａ：第２の一次聴覚デバイス鍵
１１７Ｂ：第２の二次聴覚デバイス鍵
１１７Ｃ：第２の三次聴覚デバイス鍵
１１７Ｄ：第２の四次聴覚デバイス鍵
１３０Ａ：クライアント・デバイス証明書の証明書タイプ識別子
１３０Ｂ：聴覚デバイス証明書の証明書タイプ識別子
１３２：バージョン識別子
１３４：長さ識別子
１３６Ａ：クライアント・デバイス証明書の署名デバイス識別子
１３６Ｂ：聴覚デバイス証明書の署名デバイス識別子
１３８：ハードウェア・プラットフォーム識別子
１４０：ソフトウェア・プラットフォーム識別子
１４２：証明書タイムスタンプ
１４４：クライアント・デバイス・タイプ承認識別子
１４６：トークン・パラメータ
１４８Ａ：クライアント・デバイス証明書の第１のハードウェア識別子
１４８Ｂ：聴覚デバイス証明書の第１のハードウェア識別子
１５０：クライアント・デバイス証明書の第２のハードウェア識別子
１５６：クライアント・デバイス・タイプ識別子
１５８：クライアント・デバイス識別子
１５９：クライアント・デバイス鍵識別子
１６０：Ｂｌｕｅｔｏｏｔｈアドレス
１６６：認証鍵識別子
１６７：認証セッション・トークン識別子
１６８：認証タイプ識別子
１６９：認証デバイス識別子
１８０：セッション識別子
４００：信号図
４１０／４１１：接続要求
４１２：接続応答
４２０／４２１：認証メッセージ
４２２：認証応答
４３０：聴覚デバイス・データ
４４０：追加の認証メッセージ
４５０：さらなる認証メッセージ
５００：例示的な方法
【図１】
0006714446.tif 000002
【図２】
0006714446.tif 000003
【図３Ａ】
0006714446.tif 000004
【図３Ｂ】
0006714446.tif 000005
【図４】
0006714446.tif 000006
【図５】
0006714446.tif 000007