Palm Programmer's Laboratory
Introduction to Conduit Development601/9
Palm OS Cobalt を実行しているハンドヘルド上の HotSync のクライアントは、ハンドヘルドのデータ マネージャと同期マネージャによって提供されるセキュリティ機能を超える追加のセキュリティ機能を提供します。HotSync クライアントは信任されたデスクトップというコンセプトを導入します - それは、保護されたデータベースの同期とバックアップをとるために、ユーザによって指定され、ユーザに信任されていると見なされます。
この章には以下の節があります:
概要 ^TOP^
HotSync クライアントは信任されたデスクトップにだけ保護されたデータベースの同期とバックアップをとります。ハンドヘルドが代入されたパスワード(または、一般に、ユーザ トークン)を持っていない場合であっても、そうします。
デフォルトでは、デスクトップは信任されていないと見なされます - ユーザは明示的にそのデスクトップは信任されていると宣言しなければなりません。例外はユーザがハンドヘルドを初めて同期させるときです。「刻印」 を参照してください。
それゆえ、ユーザが公共のキオスクのような信用されない環境で HotSync を実施する場合、保護されたデータベースは同期またはバックアップされません。
デスクトップへの信任の確立 ^TOP^
ハンドヘルドの保護設定が最低(「なし」)である場合、HotSync クライアントはハンドヘルドが同期された最初のでデスクトップに「刻印」します - つまり、最初のデスクトップにそれが信任されているというマークをつけます。(最低の保護設定では、ハンドヘルドはパスワードを持たないかもしれないということに注意してください)。その後のこのデスクトップとの同期セッションは、ユーザが明示的にこのデスクトップは信任されていないとマークをつけない限り、常に信任されます。
一方、ハンドヘルドの保護設定が「中」または「高」である場合、HotSync クライアントは、新しいデスクトップに遭遇するたびに、ユーザに問合せをします。ユーザがそのデスクトップは信頼されるというマークを付けることを選択した場合、ユーザ認証が実行されます。
HotSync クライアントはまた、過去にハンドヘルドが同期されたデスクトップのリストを維持します。ユーザはこのリストを閲覧し、デスクトップの信任状態を変更するかもしれません。
図 9.1 は、HotSync クライアントがどのようにデスクトップは信任されているかどうかを決定するかを示しています。
刻印 ^TOP^
ハンドヘルドが以前に同期されたことが 1 度もなく、保護設定が「なし」である場合、HotSync クライアントはそのハンドヘルドが最初に同期されるデスクトップに信任されているというマークをつけます - つまり、最初のデスクトップに「刻印」します。このアクションは、ユーザが HotSync クライアントを登録された同期クライアントであると認可する場合にのみ実行されます。ユーザはこのアクションを同期の最後に知らされます(図 9.2)これは HotSync クライアントの最低の保護モードです。
デスクトップとの最初の HotSync 実施中の問合せ ^TOP^
ハンドヘルドが新たに同期するデスクトップに遭遇したとき、保護されたデータベースがあり、保護設定が「中」または「高」である場合、「ハンドヘルド上にアラート(図 9.3) が表示されます。
ユーザが Yes: set trusted (はい: 信任します)をタップした場合、そのデスクトップは信任されているデスクトップのリストに追加されます。ハンドヘルドの保護設定(なし、中、高)次第で、HotSync クライアントはユーザ認証を行います。ユーザ認証はシステムでセットアップされているユーザ トークンのタイプに依存します。入力する必要があるパスワードまたはハンドヘルド上の生体センサーに提供する必要がある指紋である可能性があります。パスワードが要求される場合、パスワード問合せが表示されます。(ハンドヘルドの保護設定が「なし」の場合、認証は要求されないかもしれません)。認証成功時には、デスクトップは信任されているとマークを付けられ、保護されているデータベースがこのデスクトップとの HotSync 実施に含まれます。完了時に、将来参照するためのデスクトップの名前を入力するためのダイアログが表示されます。一般的な場合、ユーザはこのダイアログを再び扱う必要はありません。しかしながら、複数のデスクトップと同期をとるユーザは同じプロセスを繰り返してそれらのデスクトップを「信任する」必要があります。
ユーザが上記のアラートで No をタップした場合、HotSync クライアントは信任されていない HotSync 実施を実行します - つまり、保護されているデータベースはこのデスクトップに同期されることもバックアップされることもありません。その後のこのデスクトップとの HotSync 実施は、ユーザがこのデスクトップの信任状態を「信任されている」に変更しない限り、常に信任されません。
Cancel をタップすると HotSync 実施はキャンセルされます。
信任の立証の失敗 ^TOP^
HotSync クライアントは信任されているというマークを付けられているデスクトップを認証します。認証が失敗した場合、そのデスクトップは信任されていないというマークを付けられ、HotSync 実施に保護されているデータベースは含まれません。HotSync 実施の終わりに、ユーザは信任の立証が失敗したことを知らされます。
デスクトップの信任状態の変更 ^TOP^
ユーザはデスクトップ コンピュータを変更するかもしれません。また、さもなければ信任されているデスクトップのリストを編集する必要があるかもしれません。HotSync クライアントの中の Edit Desktops ボタンをタップすると、図 9.5 のダイアログが表示されます。
Edit Desktops ダイアログは、ユーザが HotSync を実行したことのあるすべてのデスクトップのリストを表示します。このリストは信任されているデスクトップを最初に表示し、信任されていないデスクトップを最後に表示します。
Details をタップすると、ユーザは各デスクトップの名前、インターネット ホスト名、IP アドレスを変更する、または、エントリ全体を削除することができます(図 9.6)。
信任されているデスクトップ API ^TOP^
コンジットは単一の同期マネージャ関数を呼び出して、ハンドヘルドが現在のデスクトップを信任して同期しているかどうかを決定することができます。コンジットが信任されていないデスクトップから保護されているデータベースにアクセスしようと試みた場合、その呼び出しは「アクセス拒否」エラーで失敗します。バックアップ コンジットは、保護されているデータベースをバックアップしようとする前に、そのデスクトップが信任されているかどうか決定すべきです。
C/C++ Sync Suite では、呼び出す関数は SyncGetDesktopTrustStatus() です。COM Sync Suite では、メソッドは PSDDatabaseQuery|COM Sync Suite Reference601/3.GetDeskTopTrustStatus()|COM Sync Suite Reference601/4 です。