JP2016522931A - パスワードへの攻撃を阻害すること - Google Patents

パスワードへの攻撃を阻害すること Download PDF

Info

Publication number
JP2016522931A
JP2016522931A JP2016511794A JP2016511794A JP2016522931A JP 2016522931 A JP2016522931 A JP 2016522931A JP 2016511794 A JP2016511794 A JP 2016511794A JP 2016511794 A JP2016511794 A JP 2016511794A JP 2016522931 A JP2016522931 A JP 2016522931A
Authority
JP
Japan
Prior art keywords
password
long
compressed
computing device
encrypted
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2016511794A
Other languages
English (en)
Other versions
JP6346942B2 (ja
Inventor
ヘイトン,リチャード
Original Assignee
サイトリックス システムズ,インコーポレイテッド
サイトリックス システムズ,インコーポレイテッド
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by サイトリックス システムズ,インコーポレイテッド, サイトリックス システムズ,インコーポレイテッド filed Critical サイトリックス システムズ,インコーポレイテッド
Publication of JP2016522931A publication Critical patent/JP2016522931A/ja
Application granted granted Critical
Publication of JP6346942B2 publication Critical patent/JP6346942B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0838Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/45Structures or tools for the administration of authentication
    • G06F21/46Structures or tools for the administration of authentication by designing passwords or checking the strength of passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0863Generation of secret information including derivation or calculation of cryptographic keys or passwords involving passwords or one-time passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/34Encoding or coding, e.g. Huffman coding or error correction

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Storage Device Security (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Telephone Function (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

【課題】デバイスの悪意取得者はパスワードを解読するためにあらゆる可能性のある短い秘密を使用して、これらの解読されたパスワードのうちどれがパスワードのように見えるかを決定するという総当たり攻撃(brute force attack)に基づいてパスワードを推測することが可能となるが、この可能性を減らし、パスワードをオフラインで、より安全に保存したいという要望がある。【解決手段】モバイル・コンピューティング・デバイスに格納された利用者パスワード(501)は、ハフマン圧縮アルゴリズムを使用して圧縮され(502)、秘密(503)をキーとして使用して暗号化され、圧縮され暗号化されたキーとして格納される(504)。【選択図】図5

Description

本発明はコンピューティング・デバイスにおけるパスワードの使用に関するものである。
デバイス(例えばスマートフォンまたはタブレットPC)をクラウドのサービス、または企業のサービスに容易につなげるために、パスワードまたは他の秘密をデバイスに格納することが有用である。しかしながら、デバイスが盗まれた場合、パスワードが悪意をもって回復されるかもしれないため、パスワードを格納することは危険である。
この危険は、パスワードを保護すること、そして、暗号化の鍵としての短い秘密を用いて暗号化されたビット列としてそのパスワードを格納することによって、減らされる。
しかしながら、デバイスが紛失した場合、攻撃者は、例えばパスワードを解読するためにあらゆる可能性のある短い秘密を使用して、これらの解読されたパスワードのうちどれがパスワードのように見えるかを決定するという総当たり攻撃(brute force attack)に基づいてパスワードを推測することが可能となる。したがって、パスワードをオフラインで、より安全に保存したいという要望がある。
以下に、本発明のさまざまな側面の簡単な概要を提示して説明する。本概要は広範な全体像ではないし、重要なもしくは欠かせない要素を特定することを意図しておらず、特許請求の範囲を正確に説明することを意図してもいない。以下の概要は、以下に記載するより詳細な説明の導入として、単にいくつかの概念を簡単な形で提示するにすぎない。
圧縮を使用して、パスワードへの攻撃を阻害するための方法および装置について説明する。利用者パスワードは、モバイル・コンピューティング・デバイスに格納される。パスワードは、例えば、ハフマン圧縮アルゴリズムを使用して圧縮され、キーとして秘密を使用して、暗号化される。利用者パスワードは、圧縮され暗号化されたキーとして格納される。例えば、あらゆる可能性がある短い秘密を使用した、総当たり攻撃により、攻撃者が本当のパスワードを選択するには、あまりに多くの候補を明らかにしなければならないように、圧縮され暗号化されたパスワードを、格納できる。
実施例において、使用するハフマン圧縮アルゴリズムとして、ハフマン圧縮アルゴリズム、文字ごとの(character-by-character)ハフマン圧縮アルゴリズム、およびツリー・ベースのハフマン圧縮アルゴリズムのいずれか1つを用いてもよい。例えば、ハフマン圧縮アルゴリズムのために使用する表は、パスワードに特異な文字が現れる確率を記述する。他の実施形態では、圧縮された長いパスワードは、暗号化の前にパッドを入れられることが可能である。
以上および追加の側面は、以下のさらに詳細に述べる本開示により認識されるであろう。
本発明の実施形態に従って用いられるコンピュータシステム・アーキテクチャを表す図解図である。 長いパスワードを暗号化するシステムを示すブロック図である。 長いパスワードを暗号化するための実施例に係る方法のステップを示すフローチャートである。 暗号化されたパスワードを解読するための実施例に係る方法のステップを示すフローチャートである。 長いパスワードを圧縮して、暗号化するシステムを示すブロック図である。 長いパスワードを圧縮して、暗号化するための実施例に係る方法のステップを示すフローチャートである。 圧縮され暗号化されたパスワードを解読するための実施例に係る方法のステップを示すフローチャートである。
本明細書で説明する本発明の側面およびその利点は、添付の図面を考慮して以下の説明を参照すると、より完全な理解が得られる。図面において、同じ参照番号は同じ特徴を示す。
さまざまな実施形態を示す以下の説明において、上述のとおり特定され、例示により本明細書で説明される各側面を実施する様々な実施形態を、添付の図面を参照して説明する。本明細書で説明する範囲を逸脱することなく、他の実施形態を利用し、構造および機能に変形を加えることが可能であることは理解されるべきである。すなわち、発明のさまざまな側面は、他の実施形態が利用可能であり、さまざまな異なる方法で実施または実行することが可能である。
本明細書で使用される表現および用語は、説明目的であり、制限と見なしてはならないことが理解されるべきである。むしろ、本明細書で使用される表現および用語には、そのもっとも広い解釈および意味が与えられるべきである。「含む(include)」および「備える(comprise)」ならびにその変形の使用は、これ以降で挙げられるアイテムおよびその等価物ならびに追加アイテムおよびその等価物を包含することが意図されている。「取り付けられている(mounted)」、「接続されている(connected)」、「連結されている(coupled)」、「配置されている(positioned)」、「係合されている(engaged)」および同様な用語の使用は、直接および間接的な両方の取り付け、接続、連結、配置および係合を含むことが意図されている。
〈コンピューティングアーキテクチャ〉
コンピュータソフトウェア、ハードウェアおよびネットワークは、独立型の(standalone)環境、ネットワーク化された環境、リモートアクセス環境(別名、リモートデスクトップ)、仮想化された環境、および/またはクラウド・ベースの環境を含む様々な異なるシステム環境において利用できる。
図1は、独立型および/またはネットワーク化された環境において、本願明細書に記載されている一つ以上の態様を実施するために用いることができるシステムアーキテクチャおよびデータ処理装置の1つの実施例を例示する。
さまざまなネットワークノード103、105、107、および109は、広域ネットワーク(WAN)101(例えばインターネット)を介して相互接続できる。また、個人的なイントラネット、協同ネットワーク、LAN、メトロポリタンエリアネットワーク(MAN)、ワイヤレス・ネットワーク、個人ネットワーク(PAN)、などを含む他のネットワークを追加的にあるいは代替的に用いることもできる。
ネットワーク101は、図示目的のためにあって、より少数のあるいは追加的なコンピュータ・ネットワークと置き換えられることが可能である。ローカル・エリア・ネットワーク(LAN)は、一つ以上の公知のLANトポロジを有することができて、様々な異なるプロトコル(例えばEthernet(登録商標))の一つ以上を使用できる。デバイス103、105、107、109および他のデバイス(図示せず)は、ツイストペア線、同軸ケーブル、光ファイバ、電波または他の通信メディアを介して一つ以上のネットワークに接続することができる。
「ネットワーク」という本明細書で用いられ図面で参照される用語は、遠隔記憶装置が一つ以上の通信経路を介して一緒に結合されているシステムだけでなく、記憶能力を有するシステムに随時連結できるスタンドアロン・デバイスにも用いられる。従って、「ネットワーク」という語は、「物理ネットワーク」だけでなく一つのエンティティに適用され、すべての物理ネットワークに存在するデータから成る「コンテントネットワーク」も含む。
各コンポーネントには、データサーバ103、ウェブサーバ105およびクライアント・コンピュータ107、109が含まれていてもよい。データサーバ103は、本願明細書において記載される一つ以上の態様を実行するために、データベースおよび制御ソフトウェアへの全体のアクセス、コントロールおよび管理を提供する。データサーバ103は、ユーザと対話し、要請したデータを取得するためにウェブサーバ105に接続することができる。あるいは、データサーバ103は、インターネットに直結してウェブサーバ自体として作用することもできる。データサーバ103は、直接的または間接的な接続を介して、または、若干の他のネットワークを介して、ウェブサーバ105に、ネットワーク101(例えば、インターネット)経由で接続されてもよい。
ユーザは、例えば、リモートコンピュータ107、109においてウェブサーバ105がホストになる一つ以上の外部に露出したウェブサイトを経て、データサーバ103に接続するためにウェブ・ブラウザを使用してデータサーバ103と対話できる。クライアント・コンピュータ107、109は、データサーバ103と協力してそこに格納されるデータにアクセスするために用いられることが可能であり、また他のために用いられることも可能である。例えばユーザは、クライアント装置107から公知のようにインターネット・ブラウザを使用して、またはコンピュータ・ネットワーク(例えばインターネット)の上でウェブサーバ105および/またはデータサーバ103と通信するソフトウェアアプリケーションを実行することによって、ウェブサーバ105にアクセスすることができる。
サーバおよびアプリケーションは、同じ物理装置に結合されることができ、仮想アドレスまたは論理アドレスを別々に保持することができ、または別々の物理装置に存在することができる。
図1は採用され得るネットワークアーキテクチャの1つの実施例を示す。しかし、使用される特定のネットワークアーキテクチャおよびデータ処理装置は変更されてもよく、本願明細書において更に記載されるように、それらが提供する機能性に対して二次的なことであるとを、当業者は認めるであろう。例えば、ウェブサーバ105およびデータサーバ103により提供されるサービスは、単一のサーバに結合されることができる。
各コンポーネント103、105、107、109は、周知のコンピュータ、サーバまたはデータ処理装置の任意のタイプであってもよい。データサーバ103は、例えば、データサーバ103の全作動を制御しているプロセッサ111を含んでいてもよい。データサーバ103はさらに、RAM 113、ROM 115、ネットワークインターフェース117、入出力インタフェース119(例えば、キーボード、マウス、表示、プリンタなど)およびメモリ121を含むことができる。
I/O 119は、データまたはファイルを読み出し、書き込み、表示しおよび/または、印刷するための様々なインタフェースユニットおよびドライブを含むことができる。メモリ121はさらに、データ処理装置103の全作動を制御するためのオペレーティングシステムソフトウェア123を格納していてもよく、データサーバ103に本願明細書において説明されている各態様を実行するように指示するための制御ロジック125を格納していてもよく、また本願明細書において説明されている態様と連動して使われるかまたは使われないかもしれない、二次的な、サポート用のおよび/または、他の機能性を提供する他のアプリケーションソフトウェア127を格納していてもよい。
制御ロジックは、本明細書において、「データ・サーバ・ソフトウェア125」とも称される。データ・サーバ・ソフトウェアの機能性とは、当該制御ロジックに符号化される規則に基づいて自動的になされる動作または決定、システムへの入力を行うユーザにより手動でなされる動作または決定、および/またはユーザー入力(例えば、問合せ、データ更新など)とそれに基づく自動処理の組合せに基づく動作または決定のことをいう。
メモリ121は本願明細書において説明されている一つ以上の態様の実施において使用されるデータを格納することができ、第1のデータベース129および第2のデータベース131を含んでいる。いくつかの実施形態では、第1のデータベースは第2のデータベース(例えば、別々の表、報告などとして)を含むことができる。すなわち、システム設計に応じて、情報は単一のデータベースに格納されることもでき、または異なる論理的な仮想のまたは物理的なデータベースに分割されることもできる。
デバイス105、107、109は、デバイス103について述べたのと類似の、もしくは異なるアーキテクチャを有していてもよい。例えば、本願明細書において説明されているデータ処理装置103(またはデバイス105、107、109)の機能性が複数のデータ処理装置全体に広げられることが可能であることを、当業者は認めるだろう。すなわち、処理負荷を複数のコンピュータ全体に配布すること、地理的な位置、ユーザ・アクセスレベル、サービス品質(QoS)などに基づいてトランザクションを分離すること、などである。
本発明の一つ以上の態様は、コンピュータが使用可能であるか読み込み可能なデータおよび/またはコンピュータが実行可能な命令に、一つ以上のコンピュータまたは他のデバイスにより実行される、例えば以下に述べるように一つ以上のプログラムモジュールの形で、組み込まれてもよい。
通常、プログラムモジュールは、コンピュータまたは他のデバイスのプロセッサにより実行されたときに、特定のタスクを遂行するかまたは特定の抽象データのタイプを実装するルーチン、プログラム、オブジェクト、コンポーネント、データ構造などを含む。モジュールは、実行のためにその後コンパイルされるソースコード・プログラミング言語で書き込まれてもよく、またはスクリプト言語(例えばHTMLまたはXML)で書き込まれてもよい。
コンピュータ実行可能命令は、コンピュータ可読媒体(例えば不揮発性記憶デバイス)に保存されることができる。適切なコンピュータ可読の記憶媒体には、ハードディスク、CD―ROM、光記憶デバイス、磁気記憶装置および/またはいかなるそれらの組み合わせも含むものも利用できる。加えて、ここで述べられているデータもしくはイベントを表すさまざまな伝送(非記憶)媒体は、例えば金属線、光ファイバおよび/または無線伝送媒体(例えば、空気または空間)といった信号伝送媒体を進行する電磁波の形で、送信元と送信先の間を伝送される。
本願明細書において説明されているさまざまな態様は、方法、データ処理システムまたはコンピュータ・プログラム製品として実現されることができる。従って、さまざまな機能性は、全体的にあるいは部分的に、ソフトウェア、ファームウェアおよび/またはハードウェアまたはハードウェア同義語(例えば集積回路、フィールドプログラマブルゲートアレイ(FPGA)など)に具体化されることができる。本願明細書において説明されている一つ以上の態様を実施するために、特定のデータ構造をより効果的に用いることができる。そして、この種のデータ構造は本願明細書において説明されているコンピュータ実行可能命令およびコンピュータが使用可能なデータの範囲内で、考察される。
〈実施例〉
一つの実施例において、タブレット、スマートフォンなどのモバイル機器は、モバイル機器のユーザについての個人情報を格納していてもよい。例えば、ユーザが一つまたはそれ以上の別々のサービス(例えばクラウドサービス)と対話できるように、ユーザについての識別情報を、格納してもよい。この格納された識別情報は、ユーザのためのパスワード、ユーザー名または他の機密情報を含んでいてもよい。しかしながら、最新の(modern day)システムは、記憶させた情報をしばしば暗号化する。例えば、短い秘密(short secret)、例えばPIN番号を使用する。
図2は長いパスワードを暗号化するシステムのブロック図を示し、図3は長いパスワードを暗号化するための実施例に係る各ステップを示すフローチャートである。いかなる適切なコンピューティング装置(例えばデバイス107および109)も、図3の方法を実施することができる。
図3の方法は、短い秘密が受け取られるステップ302から始まる。例えば、短い秘密202が受け取られる。短い秘密は、PIN(例えば、4―8数字)から成っていてもよい。これは例示であり、いかなる適切な短い秘密も採用することができる。
図3の方法は、ステップ302から長いパスワードが受け取られるステップ304に移る。例えば、長いパスワード201が受け取られてもよい。長いパスワードは、別のサービスに対するユーザのパスワードでもよい。実施例において、長いパスワードは、8−12の英数字および/またはシンボルを含むことができる。これは例示であり、いかなる適切な長いパスワードも採用することができる。
図3の方法では、ステップ304から長いパスワードが短い秘密をキーとして使用して暗号化されるときに、ステップ306に移る。長いパスワードは、暗号化のためのビット列に変換される。例えば、パスワードはASCIIまたはUnicodeフォーマットであってもよく、それがビット列に変換される。ある実施形態において、AES128ビット暗号化、または他のいかなる適切な暗号化も採用することができる。例えば、パスワードが対応する暗号化のための好適な長さになるように、パディング・ビットをパスワードに追加してもよい。
図3の方法は、ステップ306から暗号化されたパスワードが格納されるステップ308に移る。例えば、暗号化されたパスワード203を格納してもよい。
暗号化されたパスワードは、図3と同じような形で解読されることができる。例えば、暗号化されたパスワードは短い秘密を使用して解読されてもよい。そして、解読されたビット列はパスワードに対応するフォーマット(例えばASCIIまたはUnicode)に変換されてもよい。
その結果、モバイル機器は、短い秘密が暗号化の鍵である暗号化されたパスワードを格納することができる。
例えば、モバイル機器は盗まれることがあり、無名の個人が暗号化された格納されたパスワードを解読することを試みるとする。
図4は、暗号化されたパスワードを解読するための実施例の各ステップを説明するためのフローチャートである。いかなる適切なコンピューティング装置(例えばデバイス107および109)も、図4の方法を実施するために用いることができる。
図4の方法では、短い秘密が選択されるステップ402からスタートする。例えば、短い秘密は4桁PINからなり、そしてその短い秘密は、ランダムに選択されることができる。これは実施例にすぎず、いかなる適切な短い秘密が採用されてもよい。
図4でステップ404からステップ406に移り、暗号化された長いパスワードが読み出される。例えば、無名の個人は、盗まれたモバイル機器上に格納された暗号化されたパスワードを発見することができる。
図4でステップ404からステップ406に移り、キーとして選ばれた秘密を使用して長いパスワードが解読される。実施例において、AES128ビットによる解読または他のいかなる適切な解読を採用してもよい。
図4の方法はステップ406からステップ408に移り、解読されたパスワードが適法な(legitimate)パスワードであるかどうか決定される。無名の個人は、解読されたパスワードが真正かどうか決定するための多くの戦略を使用できる。例えば、西の(western)システムの多くのパスワードは、ASCII 32からASCII 126にわたる文字を使用する。したがって、使っていないASCII文字を含む解読されたパスワードは、おそらく適切なパスワードでない。他の例では、大部分のパスワードの長さは、概して4〜20文字である。この範囲外のいかなるパスワードも、適法なパスワードでありそうでない。多くのパスワードは、英文字を含む。解読されたパスワードが英文字を含む場合、それはおそらく適法なパスワードである。他の例では、利用可能なパスワード辞書があり、多くの知られたパスワードを記述する。これらの各戦術を結合した後に、無名の個人は、解読されたパスワードが適法なパスワードであるかどうか決定することができる。
図4の方法は、可能性がある短い秘密ごとに、例えば、通過可能なすべての4桁PINごとに繰り返されてもよい。この試みの最後に無名の個人は、適法なパスワードのショートリストを作ることができて、最終的に、例えば、試行錯誤に基づく正しいパスワードを決めることが可能になるかもしれない。
無名の個人によるパスワード攻撃は、多くの解読されたパスワードが適法なパスワードでないと決定された原則に依存する。暗号化アルゴリズムに圧縮要素を追加することによって、これを修正できる。
図5は長いパスワードを圧縮して暗号化するシステムのブロック図を示し、図6は長いパスワードを圧縮して暗号化するための実施例に係る方法のフローチャートを示す。
図6の方法は、短い秘密が受け取られるステップ602において始まる。例えば、短い秘密503が受け取られてもよい。短い秘密はPIN、例えば、4−8数字から成っていてもよい。これは一例であり、いかなる適切な短い秘密も適用することができる。
図6のステップ602からステップ604に移り、長いパスワードが受け取られる。例えば、長いパスワード501が受け取られてもよい。この長いパスワードは、別のサービスに対するユーザのパスワードであってもよい。実施例において、長いパスワードは、8−12の英数字またはシンボルを含む。これは一例であり、いかなる適切な長いパスワードも使用することができる。
図6のステップ604からステップ606に移り、長いパスワードが圧縮される。長いパスワードは、圧縮のためのビット列に変換される。例えば、ASCIIまたはUnicodeフォーマットのパスワードであってもよく、それはビット列に変換される。
実施例において、エントロピー符号化アルゴリズムまたは圧縮アルゴリズムを採用してもよい。例えば、長いパスワードは、そのエントロピーが減じるように処理される。実施例において、エントロピー符号化アルゴリズムまたは圧縮アルゴリズムは、ハフマン圧縮アルゴリズム(ハフマン符号化といわれることがある)を含むことができる。長いパスワード501は、圧縮された長いパスワード502に圧縮されることができる。
図6のステップ606からステップ608に移り、圧縮された長いパスワードは、鍵として短い秘密を使用して暗号化される。例えば、AES128ビット暗号化または他のいかなる適切な暗号化を使ってもよい。また、パスワードが圧縮されたので、パスワードが対応する暗号化のための好適な長さになるように、パディング・ビットをパスワードに追加してもよい。
図6のステップ608からステップ610に移り、圧縮され暗号化されたパスワードが格納される。例えば、圧縮され暗号化されたパスワード504が格納されてもよい。
圧縮され暗号化されたパスワードは、図6と同じようにして解読され伸長されることができる。例えば、暗号化されたパスワードは短い秘密を使用して解読されることができる。解読されたビット列は任意の適切なアルゴリズムを使用して伸長されることができる。それから、伸長されたビット列は、パスワードに対応するフォーマット(例えばASCIIまたはUnicode)に変換されることができる。
したがって、モバイル機器は、短い秘密が暗号化の鍵である圧縮され暗号化されたパスワードを格納することができる。この例では、モバイル機器が盗まれて、無名の個人は圧縮され暗号化されたパスワードを解読することを試みるかもしれない。
図7は、圧縮され暗号化されたパスワードを解読するための実施例に係る方法を示すフローチャートである。図7の方法を実施するためにいかなる適切なコンピューティング装置(例えばデバイス107および109)も用いることができる。
図7の方法は、短い秘密を選択するステップ702から始まる。例えば、短い秘密は4桁PINを有することができ、ランダムに選択することができるが、これは実施例であり、いかなる適切な短い秘密も採用することができる。
図7の方法はステップ704からステップ706に移り、圧縮され暗号化された長いパスワードが読み出される。例えば、無名の個人は、盗まれたモバイル機器上に格納された圧縮され暗号化されたパスワードを発見できる。
図7の方法はステップ704からステップ706に移り、長いパスワードがキーとして選ばれた秘密を使用して解読される。例えばAES128ビットの解読または他のいかなる適切な解読も、使うことができる
図7の方法はステップ706からステップ708に移り、解読されたパスワードが伸長される。例えば、ハフマン伸長アルゴリズムまたは他のいかなる適切なアルゴリズムも、用いることが可能である。
図7の方法はステップ706からステップ708に移り、解読されたパスワードが適法なパスワードであるかどうか決定される。
圧縮が使われなかった以前のやりとりと対照的に、ここでは、無名の個人は解読され伸長されたパスワードが適法でないと決定することができそうにない。これは、圧縮が冗長性を減らすように設計されているという理由による。圧縮され暗号化されたパスワードの各ビットが重要性を保持しているので、圧縮のない暗号化されたパスワード記憶と比較されるときに、伸長され解読されたパスワードのより高い(much higher)部分が適法なパスワードとして、無名の個人の前に現れる。
例えば、ハフマン・アルゴリズムは、特定のビットシーケンスを特定のシンボルに連結する表を使用する。ハフマン表は、最新の語法の、または、パスワードの特定の記号の発生確率に基づいている。したがって、ランダムに選択された短いキーを圧縮され暗号化されたパスワードを解読するために用いたあと、解読されたパスワードは、例えば、ハフマン表を使用して伸長される。ハフマン表は、長いパスワードの解読されたビットがハフマン表からシンボルに伸長されることを保証(ensure)するであろう。ハフマン表は最新の語法で使われる、または、パスワードで使われるシンボルを含むので、ビットは一般的に用いられるシンボルに伸長される。したがって、伸長されたシンボルは、適法なパスワードであるかのように見える。
他の例では、8文字ASCIIの符号化パスワードで圧縮を実行しないものを想定する。ASCIIは、256の可能性があるシンボルを含み、それらのうちのおよそ70は、パスワードによく現れる、例えば、文字A−Zおよびa−z、番号0−9、句読点である。一つの文字パスワードにおいて、解読されたビットのおよそ28%(すなわち70/256)がポテンシャル・パスワード、例えば、パスワードでしばしば表示される文字から成る一文字のパスワードを表すことを、これは、意味する。しかしながら、8文字パスワードで、解読されたビットがポテンシャル・パスワードを表すという確率は、0.28^8(8つの文字の各々に対し28%)すなわち0.003%に落下する。このため、暗号化キーが、短い秘密である場合総当たり攻撃(brute force attack)は、暗号化された8文字ASCIIの符号化されたパスワードに対して、高い成功率を有する。
他の例では、8文字ASCIIの符号化されたパスワードで圧縮が行われた場合、この総当たり攻撃の成功率は非常に低い。圧縮アルゴリズムは、パスワードでしばしば使われるASCII符号化されたシンボル、例えば、文字A−Zおよびa−z、番号0−9、句読点の各々に短いビットストリームを割り当てる。1つの文字パスワードを考慮するときに、解読されたパスワードはランダムなビットストリームを有する。伸長アルゴリズムは、ビットの解読されたストリームを多くの場合パスワードで使われるASCII符号化されたシンボルに割り当てられた短いビットストリームの1つに一致させようとする。この割り当てのため、伸長の後、1文字パスワードは、例えば、100%に近い非常に高い確率でポテンシャルパスワードであるように見える。したがって、パスワードが1つの文字から8つの文字に増大するにつれて、ランダムに解読されたパスワードが、伸長の後、ポテンシャル・パスワードであるように見えるという確率はほとんど100%である。
実施例において、上記の確率は、伸長されたランダムな解読されたパスワードにとって、100%ではなく100%に近いといえる。なぜなら、ランダムに解読されたパスワード(例えば、ビットのランダムな選択)が適切に伸長されない部分的な文字を含むという可能性があるためである。
ある実施形態において、圧縮の間、例えば図6のステップ606で、パスワードの端を意味する特殊キャラクタが、パスワードに追加されてもよい。特殊キャラクタは、残りのパスワードとともに圧縮される。したがって、パスワードが解読されて伸長されたあと、アルゴリズムは特殊キャラクタによってパスワードの端を決定できる。
もう一つの実施形態では、特殊キャラクタの後、ランダムなビットのランダムな数が、圧縮の間、パスワードに追加されてもよい。これは、パスワード長に基づいて適法でないとしてポテンシャル・パスワードを無視することを試みている攻撃者を更に混乱させる。
一つの実施形態において、パスワードの長さが、パスワードとともに符号化されてもよい。例えば、アルゴリズムが付加されたランダムビットの始まりの位置を決定できるように、その長さのパスワードが符号化されてもよい。圧縮技術分野の当業者は、圧縮シーケンスの端を示すための他の技術の存在を容易に理解するであろう。
図7の方法は、可能性がある短い秘密ごとに、例えば、可能性がある4桁のPINごとに繰り返されてもよい。この結果、無名の個人は適法なパスワードの長いリストとともに取り残され、正しいパスワードを決定することは困難となるかもしれない。
一つの実施形態において、図9の方法で使用された圧縮アルゴリズムは、ハフマン圧縮アルゴリズムである。例えば、ハフマン・アルゴリズムは例えば”a”といった特定の記号が言語に使われる確率を決定するために表を使用することができる。一つの実施形態において、ハフマン表は、パスワードのために特に作られることが可能である。当該表は、例えば”a”といった特定の記号がパスワードで使用される確率を決定する。
下記に、劇「ロメオとジュリエット」の文字使用に基づいて算出されたハフマン表の実施例を示す。
[表1]
ハフマン表
A: 7% 0010
B: 1% 011000
C: 2% 000101
D: 3% 00011
E: 12% 101
F: 1% 001100
G: 1% 001101
H: 6% 0101
I: 6% 0100
J: 0% 011001100
K: 0% 0110010
L: 4% 1101
M: 3% 01101
N: 6% 1001
O: 8% 0000
P: 1% 110000
Q: 0% 0110011101
R: 6% 1000
S: 6% 0111
T: 9% 111
U: 3% 00111
V: 1% 110001
W: 2% 000100
X: 0% 0110011011
Y: 2% 11001
Z: 0% 01100111001
一つの実施形態において、ハフマン圧縮は、パスワードのための各文字の単一の表を使用できる。例えば、たとえどこにそれが現れようとも、文字「a」はパスワードの中で同じ方法で符号化できる。
他の実施形態では、異なるハフマン表は、パスワードの各文字に対して算出されてもよい。例えば、第1の表はパスワードの先頭文字のための確率を算出し、先頭文字のために算出された確率に基づいてビットストリームを文字に割り当てることができる。第2の表はパスワードの第2の文字のための確率を算出することができて、第2の文字のために算出された確率に基づいてビットストリームを文字に割り当てることができる。この例では、文字「a」は、パスワードにおけるその位置に基づいて異なって符号化されることができる。
他の実施形態では、各文字のために使用する異なる表は、先行するテキストに基づいてもよい。例えば、第2の文字のための確率は先頭文字のための確率に依存してもよい。例えば、第1のシンボルが「a」であると想定して、第2のシンボルが「e」となる確率である。
本開示の内容が構造的な特徴および/または方法論的な行為に特有の言語で記載されていたにもかかわらず、添付の特許請求の範囲において定められる内容は、上記の特定の特徴または行為に必ずしも限られているというわけではないことを理解されたい。むしろ、上記の特定の特徴および行為は、以下の特許請求の範囲の実施例としての実現と言うべきである。
本出願は、2013年5月3日に出願の同じ表題を有する米国特許出願番号第13/886,905号の優先権を主張する。

Claims (20)

  1. モバイル・コンピュータティング・デバイスで、短い秘密および長いパスワードを受信し、
    長いパスワードを圧縮し、
    短い秘密をキーとして有する圧縮された長いパスワードを暗号化し、
    圧縮され暗号化された長いパスワードを格納する、方法。
  2. 圧縮するアルゴリズムは、エントロピー符号化アルゴリズムを含む、請求項1に記載の方法。
  3. 前記エントロピー符号化アルゴリズムは、長いパスワードの文字ごとに異なるハフマン表が使われるようなハフマン圧縮アルゴリズムを備える、請求項2に記載の方法、。
  4. 前記ハフマン圧縮アルゴリズムを達成するために用いる表は、特異な文字がパスワードで現れる確率を記述している、請求項3に記載の方法、。
  5. 圧縮されたパスワードは、暗号化の前にパッドを入れられる、請求項1に記載の方法。
  6. 前記圧縮され暗号化された長いパスワードは、複数のパスワードを解読する可能性がある短いキーを使用したパスワード攻撃が、適法なパスワードを記載している規則セットに基づいて適法でないとして、パスワードの大多数を失格させることに失敗するように、格納される、請求項1に記載の方法。
  7. ランダムな短いキーが圧縮され暗号化されたパスワードを解読するために用いられるとき、解読されたパスワードは、適法なパスワードを記載している規則セットに基づく適法なパスワードであるように見える、請求項1に記載の方法。
  8. 前記短い秘密はPIN番号を有し、前記長いパスワードは、ASCIIおよびUnicodeのいずれか1つに従ってフォーマットされる、請求項1に記載の方法。
  9. プロセッサと、前記プロセッサにより実行されたときに、コンピューティング装置を次のように作動させる命令を格納しているメモリとを備えたコンピューティング装置であって、
    前記コンピューティング装置で、短い秘密および長いパスワードを受信し、長いパスワードを圧縮し、圧縮された長いパスワードをキーとして短い秘密を用いて暗号化し、そして、圧縮され暗号化された長いパスワードをメモリに格納する、コンピューティング装置。
  10. 圧縮するアルゴリズムは、エントロピー符号化アルゴリズムを備える、請求項9に記載のコンピューティング装置。
  11. エントロピーを符号化しているアルゴリズムは、長いパスワードの文字ごとに異なるハフマン表が使われるようなハフマン圧縮アルゴリズムである、請求項10に記載のコンピューティング装置。
  12. ハフマン圧縮アルゴリズムを達成するために用いる表は、特定の文字がパスワードの中に現れるという確率を記述している、請求項11に記載のコンピューティング装置。
  13. 前記圧縮されたパスワードは、暗号化の前にパッドを入れられる、請求項9に記載のコンピューティング装置。
  14. 前記圧縮され暗号化された長いパスワードは、複数のパスワードを解読する可能性がある短いキーを使用したパスワード攻撃が、適法なパスワードを記載している規則セットに基づいて適法でないとして、パスワードの大多数を失格させることに失敗するように、格納される、請求項9に記載のコンピューティング装置。
  15. ランダムな短いキーが圧縮され暗号化されたパスワードを解読するために用いられるとき、解読されたパスワードは、適法なパスワードを記載している規則セットに基づく適法なパスワードであるように見える、請求項9に記載のコンピューティング装置。
  16. 前記短い秘密はPIN番号を有し、前記長いパスワードは、ASCIIおよびUnicodeのいずれか1つに従ってフォーマットされる、請求項9に記載のコンピューティング装置。
  17. コンピュータ実行可能命令を格納している一つ以上の不揮発性コンピュータ可読記憶媒体であって、データ処理システムの一つ以上のプロセッサにより実行されたときに、当該システムを
    短い秘密および長いパスワードを受信し、
    長いパスワードを圧縮し、
    短い秘密をキーとして有する圧縮された長いパスワードを暗号化し、
    そして、圧縮され暗号化された長いパスワードを格納するように機能させるコンピュータ可読媒体。
  18. 圧縮するアルゴリズムは、エントロピー符号化アルゴリズムを含む、請求項17に記載のコンピュータ可読媒体。
  19. 前記エントロピー符号化アルゴリズムは、長いパスワードの文字ごとに異なるハフマン表が使われるようなハフマン圧縮アルゴリズムを備える、請求項18に記載のコンピュータ可読媒体。
  20. 前記ハフマン圧縮アルゴリズムを達成するために用いる表は、特異な文字がパスワードで現れる確率を記述している、請求項19に記載の固定コンピュータ可読媒体。
JP2016511794A 2013-05-03 2014-04-29 パスワードへの攻撃を阻害すること Expired - Fee Related JP6346942B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/886,905 US8949617B2 (en) 2013-05-03 2013-05-03 Disrupting password attack using compression
US13/886,905 2013-05-03
PCT/US2014/035795 WO2014179268A1 (en) 2013-05-03 2014-04-29 Disrupting password attack using compression

Publications (2)

Publication Number Publication Date
JP2016522931A true JP2016522931A (ja) 2016-08-04
JP6346942B2 JP6346942B2 (ja) 2018-06-20

Family

ID=50942797

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016511794A Expired - Fee Related JP6346942B2 (ja) 2013-05-03 2014-04-29 パスワードへの攻撃を阻害すること

Country Status (6)

Country Link
US (2) US8949617B2 (ja)
EP (1) EP2992478B1 (ja)
JP (1) JP6346942B2 (ja)
KR (1) KR101805878B1 (ja)
CN (1) CN105359155B (ja)
WO (1) WO2014179268A1 (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9582671B2 (en) * 2014-03-06 2017-02-28 Sensity Systems Inc. Security and data privacy for lighting sensory networks
US20150006881A1 (en) * 2013-06-27 2015-01-01 Check Point Software Technologies Ltd. Securing an Encryption Key of a User Device While Preserving Simplified User Experience
US9674203B2 (en) * 2015-03-16 2017-06-06 International Business Machines Corporation File and bit location authentication
US9288204B1 (en) 2015-08-28 2016-03-15 UniVaultage LLC Apparatus and method for cryptographic operations using enhanced knowledge factor credentials
US10129298B2 (en) * 2016-06-30 2018-11-13 Microsoft Technology Licensing, Llc Detecting attacks using compromised credentials via internal network monitoring
KR102030883B1 (ko) 2016-07-08 2019-10-10 주식회사 엘지화학 다단형 퓨즈
CN113348455A (zh) * 2018-06-29 2021-09-03 泽诺塔控股股份公司 利用数据控制签名提供数据的认证、不可否认性、受管控的访问和孪生分辨的装置和方法
US20220109455A1 (en) * 2018-06-29 2022-04-07 Zenotta Holding Ag Apparatus and method for providing authentication, non-repudiation, governed access and twin resolution for data utilizing a data control signature

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS59173847A (ja) * 1983-03-23 1984-10-02 Oyo Syst Kenkyusho:Kk コンピユ−タソフトウエアの保護方法およびその装置
JPH11261788A (ja) * 1998-03-11 1999-09-24 Alps Electric Co Ltd 暗号化装置
JP2001067400A (ja) * 1999-08-25 2001-03-16 Ntt Data Corp 携帯通信装置、及び携帯通信システム
JP2001290707A (ja) * 2000-04-05 2001-10-19 Kazumi Mochizuki データ処理方法、データ処理プログラムを格納したコンピュータ読取可能な記憶媒体、およびデータ処理装置
JP2008219746A (ja) * 2007-03-07 2008-09-18 Fujitsu Ltd 情報送信装置、情報送信方法、情報送信プログラムおよび該プログラムを記録した記録媒体
WO2012140872A1 (ja) * 2011-04-12 2012-10-18 パナソニック株式会社 サーバ連携システム

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5479512A (en) * 1991-06-07 1995-12-26 Security Dynamics Technologies, Inc. Method and apparatus for performing concryption
US6154542A (en) * 1997-12-17 2000-11-28 Apple Computer, Inc. Method and apparatus for simultaneously encrypting and compressing data
WO2001077991A2 (en) 2000-04-12 2001-10-18 Configate Inc. Voice-based authentication over a noisy channel
DE102006032130B4 (de) 2006-07-05 2008-07-31 Atmel Germany Gmbh Transpoder, RFID-System und Verfahren für RFID-System mit Schlüsselverwaltung
US20110055585A1 (en) * 2008-07-25 2011-03-03 Kok-Wah Lee Methods and Systems to Create Big Memorizable Secrets and Their Applications in Information Engineering
US8238552B2 (en) 2009-02-13 2012-08-07 Guidance Software, Inc. Password key derivation system and method
CN102334124B (zh) * 2011-08-15 2014-08-20 华为终端有限公司 文件的保护方法及装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS59173847A (ja) * 1983-03-23 1984-10-02 Oyo Syst Kenkyusho:Kk コンピユ−タソフトウエアの保護方法およびその装置
JPH11261788A (ja) * 1998-03-11 1999-09-24 Alps Electric Co Ltd 暗号化装置
JP2001067400A (ja) * 1999-08-25 2001-03-16 Ntt Data Corp 携帯通信装置、及び携帯通信システム
JP2001290707A (ja) * 2000-04-05 2001-10-19 Kazumi Mochizuki データ処理方法、データ処理プログラムを格納したコンピュータ読取可能な記憶媒体、およびデータ処理装置
JP2008219746A (ja) * 2007-03-07 2008-09-18 Fujitsu Ltd 情報送信装置、情報送信方法、情報送信プログラムおよび該プログラムを記録した記録媒体
WO2012140872A1 (ja) * 2011-04-12 2012-10-18 パナソニック株式会社 サーバ連携システム

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
D. W. DAVIES AND W. L. PRICE 著/上園 忠弘 監訳, ネットワーク・セキュリティ, vol. 1版1刷, JPN6008029993, 5 December 1985 (1985-12-05), JP, pages 89 - 90, ISSN: 0003645963 *
マイクロソフト コーポレーション, MICROSOFT SQL SERVER 2000 TRANSACT−SQLプログラマーズリファレン, vol. 初版, JPN6017036091, 2 April 2001 (2001-04-02), pages 458 - 460, ISSN: 0003645962 *
奥村 晴彦: "データ圧縮アルゴリズム", C MAGAZINE, vol. 第10巻 第10号, JPN6016046144, 1 October 1998 (1998-10-01), JP, pages 52 - 62, ISSN: 0003451922 *

Also Published As

Publication number Publication date
US9237009B2 (en) 2016-01-12
EP2992478A1 (en) 2016-03-09
US20140331063A1 (en) 2014-11-06
WO2014179268A1 (en) 2014-11-06
KR20160005110A (ko) 2016-01-13
KR101805878B1 (ko) 2017-12-07
US20150163055A1 (en) 2015-06-11
CN105359155A (zh) 2016-02-24
EP2992478B1 (en) 2019-06-12
US8949617B2 (en) 2015-02-03
CN105359155B (zh) 2018-01-02
JP6346942B2 (ja) 2018-06-20

Similar Documents

Publication Publication Date Title
JP6346942B2 (ja) パスワードへの攻撃を阻害すること
US8429421B2 (en) Server-side encrypted pattern matching
US11398903B1 (en) System and method for generating a cryptographic key
CN105320613B (zh) 用于动态数据存储的系统及方法
JP2004534333A (ja) コンピュータネットワークにおける分散データ処理に関する統合された保護方法及びシステム
JP2012164031A (ja) データ処理装置及びデータ保管装置及びデータ処理方法及びデータ保管方法及びプログラム
KR101989813B1 (ko) 특정 포맷을 가지는 대체 데이터의 생성 및 검증
WO2021179518A1 (en) Methods and apparatuses for oblivious transfer using trusted environment
CN111431716B (zh) 数据传输方法、装置、计算机设备和存储介质
US20170272464A1 (en) METHODS, SYSTEMS AND DEVICES TO MITIGATE THE EFFECTS OF SIDE EFFECT URLs IN LEGITIMATE AND PHISHING ELECTRONIC MESSAGES
EP3477889A1 (en) Using white-box in a leakage-resilient primitive
Malalla et al. Improving hiding security of Arabic text steganography by hybrid AES cryptography and text steganography
KR101584127B1 (ko) 거부적 암호화 시스템 및 방법
Rafat et al. Secure digital steganography for ASCII text documents
US8989432B2 (en) System and method of adding a watermark to a JPEG image file
US11972000B2 (en) Information dispersal for secure data storage
Adeniji et al. Text encryption with advanced encryption standard (AES) for near field communication (NFC) using Huffman compression
US7505586B2 (en) Method for computer-based encryption and decryption of data
CN112565156A (zh) 信息注册方法、装置和系统
KR102256231B1 (ko) 디지털 포렌식 데이터 복호화 장치
KR101978777B1 (ko) 다양한 암호화 방식을 조합한 암호화 장치 및 방법
Buchyk et al. Applied Steganographic System for Hiding Textual Information on Audio Files
Htet et al. A Novel Text Steganographic Technique Using Specific Alphabets
Shaik et al. A Compatible Hexadecimal Encryption-Booster Algorithm for Augmenting Security in the Advanced Encryption Standard
KR20230061028A (ko) 부채널 공격을 방지하기 위한 암호문 비교 장치 및 방법

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20161128

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20161208

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20170228

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170425

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170921

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20171220

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180216

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20180426

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180528

R150 Certificate of patent or registration of utility model

Ref document number: 6346942

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees