Carnegie Mellon CyLabに興味深いTechnical Reportを見つけた
Eiji Hayashi, Nicolas Christin, Rachna Dhamija and Adrian Perrig,
Mental Trapdoors for User Authentication on Small Mobile Devices,
http://www.cylab.cmu.edu/default.aspx?id=2337
Technical Reportだが、よく書けている.
まさにどこかの会議に投稿するために執筆したと言わんばかりの内容だ.
軽くながめただけだが,静岡大学の西垣研究室で行われている研究によく似ているように見受けられる.
違うのは画像処理の方法だけのようで、静岡大学での論文はモザイク処理であるのに対し、こちらの論文は油絵処理になっている.
興味深いニュースと思ったので残しておく
エコブームハッカーズ -- 新世代ハッカーを追う (前編: 人物像) - CNET Japan
エコーブームハッカーズ -- 新世代ハッカーを追う (中編: 活動の実態) - CNET Japan
エコーブームハッカーズ -- 新世代ハッカーを追う (後編: 追跡) - CNET Japan
Hirokazu Sasamoto, Nicolas Christin, Eiji Hayashi:
Undercover: Authentication Usable in Front of Prying Eyes,
Conf. on Human Factors in Computing Systems (CHI 08), pp.183-192, 2008
ACM Digital Library
認証における覗き見対策としてtactile(触覚)による情報伝達を応用したシステムを提案し、ユーザ評価を実施したという論文.
User authentication systems that are resilient to observation attacks.ですね
以下は走り書き
■ Abstract
- 人間の「複数の感覚入力を同時に処理できる」という能力を応用
- Prototypeを実装して実験
- 画像認証による手法よりもよい結果が得られた
- 設計と評価からobservation-resilientな認証システムの設計要素を導き出した
■ Introduction
- ATMでお金を引き出すときの素朴な疑問
-- 監視カメラは本物? なぜ自分の後ろに人がいるのだろう、覗かれる可能性があるじゃん.このATMは本物?
- 覗き見攻撃(Observation attack)の脅威は現実的に大きい.
- セキュリティシステムへの攻撃ではなく、ユーザを攻撃(振る舞いを観察)点が異なる
- usability と securityの問題: 正規ユーザは常に認証に成功できるべきであり(Usability)、攻撃者は決して認証に成功できない(Security)ようにしなければならない
- この実現は極めて困難 [5]
- 生体認証(Biometric authentication)はUsabilityは高いが、覗き見攻撃には脆弱.偽端末による生体情報奪取、生体情報の複製
- キーアイデアは、少なくとも認証行為の一部を観察困難または不可能にする
- 2つのセンサー刺激を同時に送ることでそれを実現する.
- Challenge & Response認証において、Challengeを2つに分割してユーザに提供、そのうちの1つを視覚的に観察困難にする
- tactileとvisual signalsの組み合わせによる安全性確保を可能に
- 画像認証 + Trackballによる刺激による回答値のmapping.Trackballはユーザの手で覆われるので観察困難
- 単なる覗き見攻撃だけでなく、偽端末、スパイウェアに対する安全性も確保可能に (こっそり情報を記録しようとする種類の攻撃すべてに対する安全性)
■ Related Works
- zero knowledge proof systems [11]
- cognitive trapdoor by Roth et al. [19]
- 画像認証の応用[16,23,24]
- 視線追跡によるパスワード入力[14]
- finger pressureによる入力[15]
- 提案手法ではauthentication challengeを隠す (question - answerのやりとりのうち、questionを観察困難にする)
■ Objectives
■ Security objectives
- 覗き見攻撃に対する安全性を向上し、他の攻撃にも同等の安全性を確保しなければならない
- No unauthorized access: 偶然による認証成功率は既存の認証と同等レベルであるべき.4桁PINと同等の安全性を確保
- Resilience to remote observation: ビデオ等により遠隔から覗き見られても、認証試行複数回の記録からパスワードが漏洩しないこと
- Resilience to internal observation: keyboardやmouseの入力、画面表示が攻撃者にわたったとしてもパスワード情報が漏洩しないこと
- Resilience to repeated observations: 長期間にわたり覗き見攻撃が行われ、その結果、多数の認証行為記録が攻撃者にわたったとしても、パスワード情報が漏洩しないこと
- Resilience to social engineering: ユーザが誤って自身のパスワード情報を明かしてしまわないこと
- これらの要素は認証システムに依存した要件ではない.どんな認証にでも必要とされる要件
■ Usability objectives
- 広範なユーザに受けいられるため、以下に挙げるようなUsability制約を満たすことが必要
- Low error rate: 正規ユーザが認証に失敗することは"rare"でなければならない.パスワードの記憶は容易であり、直感的に使えること
- Fast authentication: 一定時間でほとんどのユーザが認証できること.本論文では1分を上限と設定
- Rapid Training: 特別な訓練なしに使えるようになること.5分ぐらいでその使い方が理解できる程度の直感性があるべき
- Physically safe: 認証によってユーザに物理的な害がないこと.つまりとがった部品などを認証に使用しないこと.また認証によりわずかであっても不快感を感じないこと
■ Design
- Challenge & Responseを利用し、覗き見攻撃に対する安全性確保のためResponseを隠すのではなくChallengeを隠す
- Challengeすべてを隠蔽するのは困難.なのでChallengeを2つに分割し、1つをVisual Channelで、そしてもう1つをhidden channelでユーザに送付する.
- 例) あなたのパスワードは'd'を含む? と画面に表示(Visual Channel)しながら、音声で"嘘をつけ", "本当のことを言え"とささやく(hidden channel)
■ Visible and hidden challenges
- hidden channelが完全に安全ならば、それはOne-Time padと同等.つまりそれを破ることが不可能なのは数学的に証明される[21].
- それは 1) 攻撃者が奪取不能 2) hidden channelで送られる情報は完全にランダム. となる
- だが、それは困難だろう
- 本論文の注力点は、どうやってhidden channelを構築するかとする
- 聴覚によるhidden channelはビデオ撮影に対して脆弱になる可能性あり (parabolic microphone)
- 視覚的方法によるhidden channelの構築も似たような問題を抱える
- 触覚情報を用いる.観察不能化は可能.ただし、物理的に接触する必要がある
- 画像認証をvisual channelに使用: 理由は二つ 1) 秘密情報の記憶が容易.2) 偽端末の実現が困難.認証して欲しいユーザのすべての画像を用意しなければならないため.
- visual & tacticleによる組み合わせはユーザ操作において直感的なものとなること
■ Design paramters
- 触覚情報は、視覚または視聴覚情報を補強しうる[3,4,8]
- 分割されて伝えられた情報の復元の難しさは、触覚情報により通知する情報の量に依存
- Trade-offの存在: ユーザの記憶可能量とユーザの処理能力
- 触覚情報が伝える情報量が少なければ、実装は容易になり、認証時の情報復元(再構築)処理も簡単になる.しかし、触覚情報が伝える情報が少なければ、安全性確保のためユーザはより多くの情報を記憶しなければならなくなる.たとえば、触覚情報が2値しか伝えないとした場合、4桁暗証番号と同等の安全性を確保するためには、少なくとも14個の情報を記憶する必要がある.しかし触覚情報が5つの値を伝えるならば、ユーザが記憶すべき情報は6個となる.しかし5つの値を伝える触覚情報デバイスの実装は複雑になり、ユーザの情報復元処理も複雑化する.
■ Implementation
- いくつか試作をし、数人で実験をしながらプロトタイプ作成を進めていった
■ Low fidelity tests
- 2つの点に関して実験をした
-- 1. どんなhaptic deviceがよいのか?
-- 2. haptic deviceが実装する情報ちゃんねるの大きさ(?)
- Determining the type of haptic device
- 2つのデバイスで速度と正確さに関する比較を行った
- 1つめのデバイス.2つのPin.画面の指示に従ってどちらかを押す
- 2つめは回転するシリンダー.どちらに回転しているかで2値の情報伝達
- 4人の被験者で実験.30-50代、2人はIT技術に関する技術あり.それぞれ7回試行
- 若い人の方が年配の人より正確で早く認証できた
- Cylinderの回転の方がよりよい結果となった
- Pinの方は数回やるうちに感覚がなくなる
- 被験者の一人は画面と触覚の奏法を同時に集中するのは難しいと指摘した
- 同様の実験を4つのPinによるものとTrackballによるものでも実施
- やはり摩擦による情報伝達の方がよい結果になった
- Dimensioning the Tactile channel
- tactile channelでどれだけの情報を伝えるか? 多くの情報を伝えられれば、それだけ記憶すべき情報を減らすことができ、結果としてエラー率を低くすることが可能になるはず
- Cylinderによる2値とTrackballによる4値の比較
- 前期の実験に参加していない3人で実験.30-40代.うち1人はIT知識なし.
- 4値の場合は2値の場合の半分ほどの時間で認証可能という結果に! 複雑さが増しているように見えるが、それにより認証時間が長くなるどころか短くなった
- エラー率はどちらも変わらず
- vibrateも5番目の選択肢として考えたが、大した改善効果は見られなかった
■ Undercover prototype
- Trackballを使用、PCにUSB接続.動きの制御はLego Mindstorm NXTを利用
- 5つの選択ボタンと1つのキャンセルボタン
- 現在の実装の大きさはそこそこの大きさ.main targetは銀行のATMなどで空間的制約は厳しくない.もちろん小型化はピエゾ素子などを使用することで可能であろう
- 画像認証をvisual challengeとして利用.4つの写真と"なし"回答
- Trackballは5値をユーザに提供(四方向と振動)
- ballの表面にコルクを貼った
- ボタンは数字だけでなく色付けもすることで操作ミスを回避できるようにした
■ Evaluation
- 被験者は38人 (学生4人、行政関係者34人).20代から50代で平均は30代
- 全員がITに関する知識はあるがエキスパートではない
- この38人は事前の評価実験には参加していない
■ Procedure
- 被験者は5枚の個人所有の写真を持ち寄ると同時に、4桁暗証番号も決定する
- training phase, control phase, 2つのauthentication phaseによる実験
- 独立した部屋で実施、2つのビデオカメラで行為を撮影.実験中はその部屋は被験者のみ
- 実験時間は30分,うちtraining phaseが5分
- カメラは手と目の動きを記録、あわせて話し声も記録.被験者には撮影するということ以外は話していない
- 部屋には音楽を流していた.モーター音を消し、trackballの認知に偏りがかかることを避けるため
- Traning phase:
- 写真による認証を行う前に認証方法をシンボルを使って確認
- Authentication phase:
- 2種類の画像認証で実施.1つは写真そのまま、もう1つは油絵モザイク処理した写真で実施.
- 油絵モザイク処理はsocial engineering attackを困難にする => Security向上
- 評価点は2点
- 1. 認知負荷はどうなるか?
- 2. 視覚情報と触覚情報の同時処理のエラー率と認証時間
- Control phase
- 4桁暗証番号認証との比較
- 比較対象としての基準値として取得
- 疲労効果を減らすため、2つのauthentication phaseとcontrol phaseの実施順はランダムにした
■ Usability evaluation
- 測定対象はエラー率と認証時間
- 認証時間(図10): 平均認証時間は自分たちで決めた制約である1分は下回った.しかし1分を超える被験者もいた
- 特に油絵モザイクによる認証は時間がかかった
- 4桁暗証番号は平均3.2秒
- 写真をそのまま使った方が油絵モザイクのものよりも簡単だということは明らか
- 事後に被験者に対して認証時間を5段階で聞いて見た(1: short - 5: longer).17人が4,5の評価、18人が1,2,3の評価.そして3人が回答しなかった.
- 4,5の評価をしたユーザのうちの15人が認証は15秒以内に完了できるべきだと回答
- 認証時間と年齢の関係(図11).4桁認証の場合はほとんど差はない.が、Undercoverでは年齢にしたがい時間が長くなる傾向が明らか.視覚情報と触覚情報の組み合わせ処理能力が年齢とともに遅くなると思われる.似たような効果が[20]にも指摘されている.また触覚認知のlossもあるようである.
- IT経験は認証時間と関係ないようだ
- エラー率(表3): Undercoverは7 session, PINは4 session.
- challenge単位での失敗とsession単位のでの失敗とで分割評価
- 結果から言えることは、1認証セッションあたり7 challengeという設定は、まだchallenge数が多すぎるのかもしれない
- ユーザあたりのエラー数(図12).
- こうやってみると、認証に失敗しているのはごく一部という見方もできる.初めての体験ということも考慮するとまだ改善の余地はあると考える
- エラー率と年齢の関係は省く.ITの経験は無関係のようだ.
■ Security evaluation
- ビデオ撮影の記録から以下の質問への回答を考えた
- 1. 何が覗き見攻撃を可能にするのか (評価システムにおいて)
- 2. 何が覗き見攻撃の成功率を高めるような効果をもたらすのか?
- PIN認証はすべての暗証番号をビデオ記録から知ることができた.というわけで覗き見攻撃に対して安全ではないねということを確認
- 片方の手で入力操作をしている手を隠すという方法やキーパッドを覆う方法もあるが、利便性は低下. また"おおい"の中に小型カメラを仕込む可能性も否定できない
- Trackballを完全に隠せていない被験者が少なくなかった.よってTrackballの動きを推測可能.が、これは容易に修正可能.おおいを作ればよい
- また多数の被験者が、以下の3つの方法で無意識に情報を漏洩させていた
- 1. 自分のパスワード画像や数値mapを指差していた
- 2. 触覚感覚を改善させるために手を動かしていた.それによりtrackballの動きが発覚してしまった
- 3. トラックボールの動きやパスワード画像のことを独り言として話してしまっていた
- 38人中9人が情報を漏らしていた(表4)
- 一番多いのはtrackballの動きを数字にmappingするmapを指差ししてしまうことだった
- が、その正規確率は依然として低いと言える
- エラー率と情報漏洩との関係も見いだせなかった.つまり情報を漏らすことでエラー率が低くなるというようなことはなかった
- ということは利便性を下げずに情報漏洩をしないようにすることは可能であろう (ex. 教育)
■ Discussion and Conclusions
- responseを隠すのではなく、challengeを隠すことによる覗き見攻撃への安全性確保
- 視覚情報と触覚情報の組み合わせ処理という人間の能力を利用
- 装置は小型化可能
- 結果として覗き見攻撃に対する安全性向上効果はある.またさらなる改善効果も期待
- 認証時間は画像認証の認証時間と同等レベル
- エラー率は無視できないが、改善見込みはある.慣れによる効果も期待できるであろう
- 将来的に必要となるであろう設計ガイドラインを導けた
- security上の問題として大きいのは無意識のうちにユーザが秘密を暴露してしまうこと
- 情報漏洩のcovert channelの存在.
- が、Undercoverの場合はその多くがシステムに起因する者であり、それゆえに人的要因によるものよりもその改善が容易である点
- 複数の認識入力による人間の処理能力はこの論文の内容以外にもSecurity向けのシステムとして使えるかもしれない
□ 気になる参考文献
12,14,15,16,19,23,24
- 複数の入力情報を組み合わせて処理できるという人間の能力をうまく使えば、よりよいSecurity Applicationが作れるのでは? というのは興味を引かれる示唆ですね.でも安易に考えられるのは音、匂い、触覚ですが、音はビデオで撮影されてしまうので覗き見攻撃対策には使えないし、たしかそういう挑戦をしたがいい結果が出なかったという論文があった気がする.匂いは分解能もそうだし、個人差がありそうだし、なによりそれって使いたい? という疑問が... はい、脱線話でした.
William Cheswick
Johnny can obfuscate; Beyond Mother's Maiden Name,
HotSec'06: 1st USENIX Workshop on Hot Topics in Security, pp,31-36, 2006
論文は上記のWebサイトから入手可能
チャレンジアンドレスポンス認証は固定パスワード/暗証番号認証より安全な認証方法だが、人間の計算能力は微々たるものなので、大抵の場合はresponseを生成するためのデバイスか印刷物(print out)が必要となる.そこで大リーグの「サイン」を参考に、challengeとresponseの双方を曖昧化(難読化(?) 元はobfuscate)することで、その安全性を高められるのでは? という内容の論文.
以下は走り書き
◆ Abstract
- チャレンジ and レスポンス認証は既存のパスワード認証より安全性が高い.
- しかも、challengeを計算するためのデバイスが必要となる.
- しかし人間の計算能力は微々たるもので、単純な応答しかできない
- もしchallengeとそれに対応するresponseをおとり情報を利用して、わかりにくくする(曖昧にする/難読化する)ことができたなら多くのアプリケーションにとって十分な安全性を持つ認証になるだろう
- メジャーリーグで利用されているサインを参考に、この曖昧化に関する方法について考えてみる
◆ Introduction
- パスワード認証に対する問題: 盗聴(eavesdropping)、推測(guessing)、辞書攻撃(dictionary attack)
- 盗聴と辞書攻撃を脅威から除外できるならば、パスワード認証は受け入れられる余地があると考える.が、しかし実際はそうではない.malwareの多くは盗聴を行う
- challenge and response認証は、これに変わる有効な候補だが、ハードウェアか秘密情報を計算するための印刷物を持つ必要がある.このような所有物に依存した認証はそれらを紛失してしまうと認証不能になってしまい、知識による認証よりも利便性が低く、設置負担もかかる
- 支援なしに人間がchallengeに対してresponseを計算できる手法について提案する
- これが実現できれば、コストを下げることができるとともに、パスワード認証と同等かそれ以上の利便性を提供できる
- ユーザはchallengeに対して簡単なresponseを計算し、それをresponseの中に隠すことで、何が正しい答えなのかを特定しにくくする
- これは楽しみながらできて、パスワードやパスフレーズによる厳密なスペル入力に変わる方法になると考える
- たまにしか使用しない認証のresponseは一文字でも十分であろう.問題は、それを隠蔽するための手法が推測に対して十分な安全性を確保できるかである
- 隠蔽が不十分であれば、responseを拒絶する(認証失敗?)こともできる
- 認証の試行回数は制限されるべきであろう
- 動機; 銀行や対話手法による認証の改善
-- パスワード認証の代替、または母親の旧姓(MMN)に代表されるバックアップ認証のかわりを実現するため
◆ Related Work
- パスワード認証、ワンタイムパスワード、画像認証、PAM(Linux Pluggable Authentication Modules)による実装
- pass-algorithm and reconstructed passwords
- zero knowledge authentication
- human-computer cryptography
- HumanAut
- Secure Human-Computer Identification (secHCI)
- cognitive trapdoor games
- human interactive proofs(HIP)
- Text-based pass-algorithmsには2つのカテゴリ
-- ad hoc
-- information theoretic
- information theoreticは、安全性確保のための十分に長いパスワードと利便性(記憶可能性)とのトレードオフに取り組んでいる(もがいている)
- port knocking: あるポートに連続してアクセス、または特殊なパケットを送付することでサーバのロックを解除する方法 (参考文献[7]参照)
◆ Baseball Signs
- 野球の試合では多数のサインが使われている.
- 多数の人の監視の中でコーチと選手は重要な情報をやりとりしている
- 敵のチームが困惑するような様々な技術をサインのやりとりに使用している
◆ Pitcher/Catcher communication
- キャッチャーはピッチャーに複数のサインを出し、ピッチャーはそれに応じるか否かを答える
-- 2塁にランナーがいるとサインがばれるので、それを防ぐための技術が必要
- キャッチャーはサインを盗まれるのを防ぐために、いくつかの方法を利用する
[例]
-- 最初のn個のサインは無視する
-- Nに達するまでサインを加算し、Nを越えた次のサインをサインとする
-- indicator signが出るまでサインを無視し、その次のサインをサインとする
-- スコアボードの値を、与えられたサインに加算し、その値をサインとする
- などなど、パスワードのアルゴリズムと同様、多数の仕組みが作られている
◆ Signs from the third or first base coach
- 20以上のサインを使い分ける.しかもそれはgame毎にまたはinning毎に変更されることもある
- サインの大部分は意味がなく(おとりサイン)、indicator signがあって、その次のサインがhot sign.つまり指令となる
- 双眼鏡を持った人間をスコアボード付近や球場外の建物に潜ませたり、ブザー音を使ったり、近隣の宣伝を使用することもある
- 「サインを盗むのに一番大事なのは、そのサインの出所を見つけることだ」
◆ Experiments
◆ Unlocking a queue manager
- プリンタのキューのロック解除のための仕組みを作り、利用していた
- 時刻を基に、responseを計算する.おとり入力として適当に3文字を入力し、そのあと4文字目としてロック解除のためのresponseとして数字1桁を入力していた
- 利便性評価はしていないが、うまく利用されていて、文句を言われたことはなかった
- そして驚くことに、自分はそのアルゴリズムを20年経った今でも記憶していることだ
◆ Login Authentication Test
- 単純なhuman-computed challenge/response 用のPAMモジュールを生成し、自身で数ヶ月運用
- その認証のログが図1.ここから認証用のアルゴリズムが導出できるかが問題.実際の検証用コードは図2
- 時々困ることがあった、なのでbackdoor entryを用意していた => どうして、どんな時に困ったのだろう...
- 図1のresponseから、それら個々が正解なのか不正解なのかを計算するのは容易ではないだろう
- 自動解析も困難に見える
◆ Discussion
- ユーザに課される作業
-- challengeに対する正しいresponseの生成
-- 入力時に正解responseを隠すための曖昧化作業
- Indicatorかwipe-outサインがchallengeに隠蔽される方法も
- キーボードを利用して数字を文字にマッピングする方法も曖昧化の一つの手段
- 当たり前だが、年に数回しか使用しないような認証では、パスワードの記憶が困難であるのと同様パスワードアルゴリズムの記憶も困難である可能性が高い
- algorithmic passwordは万人向けの手法とは言いがたい
-- 認証手法を選択するような場面で、その選択肢の一つとしてはありかもしれない
- 若いユーザならば楽しんで使うかもしれない
- ユーザは複数のサイト(サービス)にわたって同一のパスワードを使用している.が、本手法で同じ検証用アルゴリズムを使用し、サイト毎に異なるIndicator または wipe-outシンボルを使用するならば、一カ所のパスワードが漏洩することで、複数のサービスへの不正利用が可能になるというような脅威に対する安全性を向上させることも可能であろう
◆ Open Question
- 曖昧化を用いながら、利便性と記憶可能性を両立できるパスワードアルゴリズムを生成できるだろうか? また生成できたとして、それが重要なアプリケーションで受け入れられる程度の安全性を実現できるか?
- brute-force攻撃はパスワードアルゴリズムのクラックを可能にしうる方法か?
- どの程度の割合のユーザが、パスワードアルゴリズムに肯定的で、かつ楽しんで使うだろうか?
- 単一のパスワードアルゴリズムで複数のindicator または wipe-outサインによる複数サイトの認証が、多数のWebサイトサービスに対する認証において同一のパスワードを使用することによる脆弱性への対策となりうるか
- ユーザによる曖昧化が時々盗聴している攻撃者に対して十分安全か?
- パスワードアルゴリズムは、通常の認証の代替になりうるか? または追加的な認証になりうるか?
- 自分自身でパスワードアルゴリズムを作ることが許されるべきか?
- ユーザが自身でパスワードアルゴリズムを作ったとした場合、適切な安全性を保持していることを確認するための自動化テストとしてはどのような方法があるべきか?
- 認証履歴が記録されるとして、これが攻撃者に渡ったら、明らかに危険である
◇ 私感
自前パスワード検証アルゴリズムによるchallenge/response認証を提案.responseは算出支援機器/情報なしに簡単に生成でき、かつそのresponseを曖昧化(おとり情報を利用して隠蔽)して返答することで、既存の認証手法の改善を試みる.
というか、検証用アルゴリズムにある種の秘密を仕込み、その検証用アルゴリズムで検証に成功するように、回答を曖昧化して回答すれば、より安全な認証システムになるという論文と理解.見方を変えれば、challengeなしでも運用は可能ではないかと考える.というか、パスワードアルゴリズム自体をがchallengeと見てもいいのではないだろうか? ようするに認証時に入力するパスワードは、正解情報を含む文字列なのだが、それはランダム(であるべき)文字列の中に隠蔽(Obfuscate)され、それは毎回異なる文字列であることが望ましい.そうすれば、仮に認証がplain textとして攻撃者に盗聴されたとしても、その記録から秘密情報を抽出するのは困難である.という仕組みと理解
個人的意見として、真の秘密情報以外にも余分な情報を入力しなければならない認証手法は、余分な入力と、「おとり情報入力」に関する思考を強いられるという点で否定的であった.が、うまくごまかせられるのであれば、こういう方法もありかもな.と、この論文を読んで考えるようになった.だとすると、松本先生が提案されているあの方法(参考文献[?])もありかもしれない.再検討の余地はあるなと
いや〜、イライラしそうですね.安全ドアチェーンだそうです
Defendius door chain - Art Lebedev Studio
こちらはengadgetの記事
Art Lebedevの安全ドアチェーンDefendius - Engadget Japanese (2008/04/01)