JP2002504293A - ダイナミック・ランダム・エンクリプションを用いたデータ伝送用セキュリティ装置 - Google Patents

ダイナミック・ランダム・エンクリプションを用いたデータ伝送用セキュリティ装置

Info

Publication number
JP2002504293A
JP2002504293A JP50472599A JP50472599A JP2002504293A JP 2002504293 A JP2002504293 A JP 2002504293A JP 50472599 A JP50472599 A JP 50472599A JP 50472599 A JP50472599 A JP 50472599A JP 2002504293 A JP2002504293 A JP 2002504293A
Authority
JP
Japan
Prior art keywords
security
computer
data
encryption
code
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.)
Pending
Application number
JP50472599A
Other languages
English (en)
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 JP2002504293A publication Critical patent/JP2002504293A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/72Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in cryptographic circuits
    • 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/31User authentication

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Storage Device Security (AREA)

Abstract

(57)【要約】 数入力装置(302)と、数入力装置に反応するアドレス・レジスタ(312)と、出力コード及び相対アドレス・コードを作り出すために、アドレス・レジスタによってアドレス指定が可能な暗号化スキーマー・メモリ(316)と、相対アドレス・コードに反応し、且つ前記アドレス・レジスタをインクリメントするのに有効なロジックをインクリメントするアドレス(310)とを含む、セキュリティ装置。この装置は、また、好んで、数入力装置に結合されるPINレジスタ(304)と、数入力装置に結合されるパブリック・コード・レジスタ(306)と、アドレス・レジスタに入力するために、前記PINレジスタと前記パブリック・コード・レジスタの出力をマージするマージング・ロジック(308)とを含む。この装置は、また、好んで、暗号化スキーマー・メモリの出力コードをシフトアウトするのに有効な、出力シフトレジスタを含む。暗号化スキーマー・メモリは、読取り専用メモリであってもよく、書き込み可能なメモリであってもよく、或いは、双方であってもよい。

Description

【発明の詳細な説明】 ダイナミック・ランダム・エンクリプションを用いたデータ伝送用セキュリティ 装置 説明 技術的なフィールド 本発明は、一般に、コンピューターシステム間のセキュアな形態でのデ ータ伝送に関する。より具体的に言えば、本発明は、コンピュータに取り付け、 且つ変化するランダム暗号化アルゴリズムを使用するポータブル・セキュリティ 装置に関する。 背景技術 どんなコンピューティング・システム内でも、或いはどんなネットワー ク内でも、データは、サーバ・コンピュータとユーザーのホストコンピューター の間といった2つのポイントの間で頻繁に伝送される。時折、この情報は、ロー カル・エリア・ネットワーク(LAN)、広域ネットワーク(WAN)、会社のイント ラネット又はインターネット、及びインターネットを通じても、伝送される可能 性がある。データ伝送は、ケーブル、電話線、マイクロウェーブ、サテライト、 その他といった様々なメディアを使用するので、データが伝送されるとき、その セキュリティは頻繁に危険にさらされている。言い換えると、機密情報あるいは 個人情報が伝送されているとき、その情報が、許可されていないユーザによって 読まれてしまうという危険は常にある。 それに加えて、情報の真のユーザーになりすまし、しかるに見る許可を 与えられていない情報を受け取る、許可されていないユーザの問題がある。 したがって、機密情報は、伝送のセキュアな方式だけでなく、末端の受け側がこ のような情報を見る許可を与えられることを確実にするためのテクニックも要す る。様々なセキュアな伝送テクニックは、複雑な、単一暗号化アルゴリズムによ って暗号化されているデータに依存する。しかしながら、暗号化アルゴリズムが 最終的には壊れる可能性があるという点で、データ伝送用に1つの暗号化アルゴ リズムだけに依存することはいくぶん危険である。他のテクニックは、毎月また は毎日、或いは外部のいくつかのイベントに際して暗号化キーを変更するけれど も、依然として、これらの暗号化アルゴリズムはどんな任意のメッセージに対し ても壊れやすい。さらに、これらのテクニックの多くは、ユーザーのコンピュー タ内に、固定暗号化アルゴリズム及び暗号化キーを格納する。ハッカーがユーザ ーのコンピュータにうまく入り込んで、前述の暗号化アルゴリズム、暗号化キー 、及び/又は任意のパスワード即ち暗号化キーとして使われている可能性がある 個人識別番号(PIN)を検索することができるので、前述のテクニックもまた、 危険にさらされている。固定暗号化アルゴリズムが得られた場合、ハッカーは未 許可データを読める可能性がある。 したがって、単純で、便利がよくて、ポータブルて且つ安いデータセキ ュリティ・モジュール及びテクニックには、データのセキュアな伝送を可能にし 、また先行技術のどの弱点も被らないものが求められている。 発明の開示 前述のことを成し遂げるために、また本発明の目的によれば、セキュリ ティ・ユニット及びテクニックは、ユーザーのコンピュータの外に取り付け、且 つ単一メッセージのボディ内で、頻繁に変更する可能性があるランダム暗号化ア ルゴリズムを用いている暗号化された情報を解読する際に手助けをすることを開 示される。 セキュリティ・ユニットは、ラップトップ又はデスクトップコンピュー タの簡単にアクセス可能なポートに、便利に取り付け、また、ビットのランダム アレイであるエンクリプション・スキーマーを含む。ユーザーのコンピュータに 送られる前に、セキュアデータが作り出されるデータ・サイトでもまた、同一の エンクリプション・スキーマーは格納される。個人識別番号(PIN)は、データ ・サイト及びユーザーだけに知られていて、セキュアな情報と共に伝送はされな い。どの暗号化アルゴリズムを用いるかについて決定するだけでなく、その暗号 化アルゴリズムを用いて伝送するメッセージのバイト数を求めるためのエンクリ プシ ョン・スキーマーにランダムにアクセスするために、データサイトは、PINと組 み合わせたパブリック・コードを用いる。多数のバイトがランダムな暗号化アル ゴリズムを用いて送られると、データサイトは、バイトの長さもまたランダムに 求められた別の1組のバイトの新しいランダム暗号化アルゴリズムに変わる。暗 号化されたメッセージがユーザーに送られると(或いは送られるといつでも)、同 様に、ユーザーは、どの暗号化アルゴリズムを用いるかについて決定するだけで なく、その暗号化アルゴリズムを用いて何バイトが解読されるべきかを求めるた めの、ユーザーのセキュリティ・ユニット内のエンクリプション・スキーマーに アクセスするためにパブリック・コード及び機密PINを用いる。暗号化アルゴリ ズムは、また、エンクリプション・スキーマー内のランダム・ビットに基づくメ ッセージを通じてランダムに変わることが可能である。 本発明は、先行技術に比べて様々な利点を備える。1つの実施例では、 セキュリティ・ユニットはコンピュータに外付けされているので、コンピュータ にアクセスすることができる任意のハッカーが、エンクリプション・スキーマー 或いはセキュリティ・ユニット内に格納されたPINにアクセスすることを防ぐ。 コンピュータのポートへのプラキングによって、セキュリティ・ユニットは、依 然としてコンピュータに解読情報を提供することができるが、外付けセキュリテ ィ・ユニットのメモリ内のに格納されるエンクリプション・スキーマーは、コン ピュータそのものに不正アクセスする何者にも読取られることはない。すなわち 、どの暗号化アルゴリズムを用いるか、且つユーザーのPINと共にそのアルゴリ ズムを用いて何バイト解読するかを規定するエンクリプション・スキーマーは、 コンピュータ内には保有されない。1つの特定の実施例では、セキュリティ・ユ ニットは、コンピューターシステムの前面近くに位置するマウス・ポートに、便 利よくプラグ接続され、したがって使いやすいアタッチメントを可能にする。ま た、外付けユニットによって、セキュリティ・ユニットは、非常にポータブルで 且つどんな適当なコンピュータにでもアタッチ可能になる。 加えて、セキュリティ・ユニットは、安く且つ小さくつくられることが 可能な単純なデバイスであり、それは、セキュリティ・ユニットが、よりポータ ブルであることを意味する。ユニットは、外出中にかなりの量の企業情報にアク セスする必要があるビジネス旅行者に、特に役立つ。ユニットはポータブルであ り、且つ用いられるエンクリプション・テクニックは、かなりの情報量のセキュ リティに適している。 また、セキュリティ・ユニットは、他の複雑なエンクリプション・テク ニックに伴って、時として必要とされる処理パワーの莫大な量を必要としない。 どの暗号化アルゴリズムを用いるか、また各アルゴリズムを用いて何バイトをデ コードするかの識別は、外付けのセキュリティ・ユニットで求められるが、暗号 化されたメッセージの実際の解読は、ホストコンピューターのCPU上で実行され る。また、セキュリティ・ユニットは、それ自身のクロック又はバッテリ・パワ ーを必要としない。セキュリティ・ユニットは、それが取り付けられるポートの ピンから、任意の必要とされたパワーを引き出すことができる。本発明は、ラン ダムアルゴリズムを用いるので、アルゴリズム又はキーのどちらかをコンピュー ティングするためのタイム・エレメントを提供するために、クロックに依存する 必要はない。 ユーザーPINは、データ・サイト及びユーザーの頭の中にだけあって、 ネットワークを通じては決して伝送されないので、どんな暗号化されたメッセー ジも、承認を得ていない人々によって解読するのは更に難しい。さらに、PINは 、セキュリティ・ユニットに入力はされるが、ホストコンピューターには決して 伝送されない。また、1つの特定の実施例では、PINはセキュリティ・ユニット に最初に入力され、次にパブリック・コードが入力される。したがって、パブリ ック・コードを入力すると、PINはセキュリティ・ユニットの外部から取り除か れる。したがって、PINは決してセキュリティ・ユニットの外部に無防備のまま にされない。 セキュリティ・ユニット毎にユニークなエンクリプション・スキーマー を有することもまた、有利である。複数ユーザに分散される不特定多数のセキュ リティ・ユニットが、同一のエンクリプション・スキーマーを用いるかもしれな いことは予想されるが、より高いセキュリティのために、すべてのセキュリティ ・ユニットがユニークなエンクリプション・スキーマーを持つことが望ましいで あろう。エンクリプション・スキーマーは、暗号化アルゴリズムを選ぶ際により 高 いセキュリティさえもを備え、且つアルゴリズムを用いて暗号化するメッセージ のバイト数を選ぶことを備える、ビットのランダムアレイである。パブリック・ コードとPINとの組み合わせは、エンクリプション・スキーマーに最初のランダ ム入力を提供する。このエントリーポイントから、ランダムな1組のビットは、 解読に用いる特定の暗号化アルゴリズムを識別し、またランダムな1組のビット は、そのアルゴリズムを用いて解読するメッセージのバイト数を識別する。これ らのビットがランダムなので、メッセージの一部として選ばれる暗号化アルゴリ ズムは完全にランダムであり、このコードを壊すことは難しい。また、ランダム ・ビットも、暗号化する1本の文字列を識別するので、暗号化アルゴリズムは、 メッセージ内のランダム・ポイントでの任意のメッセージ内でランダムに変わる 。したがって、暗号化アルゴリズムは、任意のメッセージ内で変化するが、この 変化は、完全にランダムなもので、ネットワークを通じて或いは暗号化されたメ ッセージと共には伝送されない。ランダムに選ばれた1本の文字列上に、暗号化 アルゴリズムのランダムな選択肢を用いると、ほとんど壊すのが不可能なコード になる。 さらに、いずれにせよメッセージが読めない場合、リセット機能は、ユ ーザーがエンクリプション・プロセスをリセットできるようにする。その上に、 データ・サイトそのものは、リセットを強制し、新しいパブリック・コードを提 供し、且つ/或いは、より大きいセキュリティレベルを提供するためにPINの再 入力をユーザーに要求することができる。加えて、セキュアデータが、データ・ サイトからユーザーのコンピュータへ送り出されるだけでなく、ユーザーのコン ピュータからデータ・サイトへ、又は他のコンピュータへ、及び/又は大容量記 憶装置へ送り出されることも予想される。 図面の簡単な説明 本発明の実施例を用いるのに対して、図1は、他のデバイスとのセキュ アなデータ通信に携わるコンピューターシステムのブロック図である。 図2は、ラップトップコンピューターのマウス・ポートに取り付けられ るセキュリティ・ユニットが、データ・サイトから提供されるセキュアデータを 解読する際に手助けをする発明の実施例を図示する。 図3は、セキュリティ・ユニットが、様々な方法でコンピュータに取り 付けられることが可能な発明の様々な実施例を図示する。 図4は、データ・サイトとコンピュータ間及びコンピュータとセキュリ ティ・ユニット間での情報のフローをシンボリックに図示する。 図5は、図4のセキュリティ・ユニットの1つの実施例をより詳細に示 すブロック図である。 図6は、図5のセキュリティ・ユニットのメモリ内容の1つの実施例を シンボリックに示す。 図7は、本発明のセキュリティ・ユニットを用いた、セキュアデータ転 送のためのセットアップ・フェーズの実施例を図示しているフローチャートであ る。 図8A及び8Bは、セキュアデータが、コンピュータへ転送され、且つ本発 明のセキュリティ・ユニットの援助を伴って解読されるテクニックの実施例を図 示しているフローチャートである。 図9は、本発明の実施例の用途に適している典型的なコンピューターシ ステムのブロック図である。 図10は、セキュリティ・ユニットの代替実施例の透視図である。 図11は、図10のセキュリティ・ユニットの電気コンポーネントのブロッ ク図である。 発明の実施の最高モード 図1は、コンピューターシステム12が、サーバ・コンピュータ14、サー バ・コンピュータ16及び大容量記憶域18との様々なセキュア通信に関係している シナリオを図示する。任意のサーバ・コンピュータ及び/又は大容量記憶域から 任意の暗号化されたメッセージを受け取るために、また取り付けられたセキュリ ティ・ユニットを使って、これらの暗号化されたメッセージを解読するために、 コンピューターシステム12は、本発明のセキュリティ・ユニットを用いる。暗号 化されたメッセージはまた、コンピューターシステム12から任意のサ ーバ・コンピュータ及び/又は大容量記憶装置に送り出されることができ、且つ セキュリティ・ユニットの同等物を用いることによって、それらのデバイス内で 解読されることが可能である。 暗号化されたメッセージを受け取って及び/又は伝送するコンピュータ ーシステム12は、ワークステーション、デスクトップコンピュータ、ラップトッ プコンピューター、ポータブルコンピュータ、パーソナル携帯情報機器(PDA) (アップルコンピュータ株式会社、USロボティックス社等によって作られるも のといった)、移動電話、パーソナルコミュニケーション・サービス(PCS)又 は他の無線デバイスを用いたディジタル送受器を含む任意の適当なコンピュータ ーシステム、或いはセキュア情報を受け取るか又は伝送するニーズを有する何か 他のコンピューティング・デバイスであり得る。 サーバ・コンピュータ14は、インターネット20といったネットワークを 通じて、情報を提供するために用いられる任意の適当なコンピュータであり得る 。前述のインターネット20は、企業内インターネット、企業内イントラネット又 は現行の世界的なインターネットであることさえも可能である。サーバ・コンピ ュータ16は、情報提供が可能なローカル・エリア・ネットワーク(LAN)又は広 域ネットワーク(WAN)に取り付けられる任意の適当なコンピュータである。大 容量記憶装置18は、情報を格納し、且つインタフェース24を通じてコンピュータ ーシステム12に情報を伝送する任意の適当なデバイスでありえる。大容量記憶域 18は、フロッピーディスクドライブ、ハードディスクドライブ、CD-ROM、光ディ スクドライブ又は任意の類似デバイスでありえる。 本発明は、暗号化された情報を受け取るだけでなく、その暗号化された 情報を伝送するためにコンピューターシステムによって用いられることが可能で あるが、以下の説明は、コンピューターシステムが暗号化された情報を受け取り 、且つセキュリティ・ユニットを使うことでその情報を解読することができる、 発明のアスペクトに言及する。 図2は、本発明のセキュリティ・ユニット52が、ラップトップコンピュ ーター54とマウス56の間に取り付けられるコンピューターシステム50の実施例を 図示する。この例では、セキュリティ・ユニット52は、コンピュータの 前方に便利よく位置するラップトップコンピューターのマウス・ポート58に取り 付ける。コンピュータ54は、データ・サイト62からセキュア情報を受け取るため にデータリンク60を通して通信する。データ・サイト62は、図1のサーバ・コン ピュータのいずれかの内部にあり得るか、或いは図1の大容量記憶域18に相当し 得る。データリンク60は、多種多様なフォームをとることが可能である。一例と して、データリンク60は、標準ケーブル、赤外線通信リンク、電話線リンク、衛 星リンク、マイクロ波リンク、又はMetricom社によって提供されるRicochet無線 モデムといった無線リンクのどのタイプでもありえる。その暗号化された情報が データ・サイト62からコンピュータ54に転送されると、コンピュータがデータ・ サイトからの情報を解読できるようにするために、セキュリティ・ユニット52は 、コンピュータ54に機密の暗号化情報を提供することができる。 図3は、100aから100fまでの任意のセキュリティ・ユニットがコンピュ ータ102にアタッチする様々な実施例90を図示する。図3は、セキュリティ・ユ ニットがコンピュータと通信できる様々な方法を図示するために、52aから52fま でのマルチプル・セキュリティ・ユニットを示すが、実際のオペレーションでは 、1つのセキュリティ・ユニットだけが必要とされる。実施例100aでは、セキュ リティ・ユニット52aは、マウス・ポート104とマウス106の中間で、コンピュー タ102にアタッチする。通常の使用では、マウス106からの信号は、セキュリティ ・ユニットを通りコンピューターに移る。データがコンピュータ内で解読される ことになっている場合、マウス106のマウスボタンは、セキュリティ・ユニット からコンピュータへの暗号化情報の送信を開始するために用いられる。実施例10 0bでは、セキュリティ・ユニット52bは、コンピュータのI/Oポート108に単独 でアタッチされる。多種多様なl/oポートが、この目的のために使用可能である 。一例として、I/Oポート108は、シリアルポート、パラレルポート、SCS Iポート、PS/2ポート、キーボード・ポート、赤外線ポート、又は他のどの適当 なポートでもありえる。100cの実施例では、セキュリティ・ユニット52cは、コ ンピュータのPCMCIAスロット112に挿入されるPCMCIAカード110上にある。 100dの実施例では、コンピュータのキーボード・ポート114が用いられ 、セキュリティ・ユニット52dは、キーボード116とマウス118の間に位置する。 実施例100eも、キーボード120にアタッチされたキーボード・ポート114を用いる が、この実施例では、セキュリティ・ユニット52eはマウス122の内部にある。10 0fの実施例では、コンピュータのディスクドライブ124は、セキュリティ・ユニ ット52fがあるディスク126を受け取るために用いられる。ディスク126は、フロ ッピーディスク、ハードディスク、CD-ROM、光ディスク等といった任意の適当な ディスクでありえる。セキュリティ・ユニットは、また、直接物理的に組み込ま れたリンクによってだけでなく、上述した無線リンクのいずれを経由しても、コ ンピュータと通信可能である。したがって、セキュリティ・ユニットが、多くの 異なった方法でユーザーのコンピュータに接続可能であることが認識されるはず であり、また、ここでは、ほんの少しの例だけが提示されている。 図4は、データ・サイト62からの暗号化された情報が、セキュリティ・ ユニット52を使ったコンピュータ102によって解読されるシナリオ200を図示する 。データ・サイト62は、コンピュータ102のユーザーが転送したいセキュア情報 を含む。データ・サイト62はまた、一組の暗号化アルゴリズム202及び暗号化ス キーマー204へのアクセスも含む。 暗号化アルゴリズム202は、コンピュータ102にも含まれ、暗号化スキーマー204 は、セキュリティ・ユニット52内にもある。パブリック・コード206及びユーザ ーPIN 208は、コンピュータ102に解読情報210を提供するために、セキュリティ ・ユニットに入力される。 暗号化アルゴリズム202は、情報を暗号化するために用いられるアルゴ リズムの任意の適当な一組でありえる。より優れたデータセキュリティが、単一 メッセージの異なる部分に対して、不特定多数の暗号化アルゴリズムを用いるこ とによって提供されることを、本発明は意図するが、1つの暗号化アルゴリズム のみが、データ・サイトからコンピュータへ送り出されるメッセージを暗号化す るために用いられることも有り得る。暗号化アルゴリズム202は、情報を暗号化 するために、ビット操作、ビット置換(bit substitution)、ビット交換、 ビット論理和演算(ORing bits)、ビット論理積演算(ANDing bits)、文字変換、 文字移動(character movement)又は他の更に複雑な暗号化方式も用いることがで きる。 発明の1つの実施例で、暗号化アルゴリズムは適当なデータの文字列を 暗号化するだけでなく、ロケーションを移動させた文字列とポジションを入れ替 え、文字列を異なるロケーションに移動させることもする。メッセージが初めに つくられたときに、文字列が占めたシーケンス又はロケーションに、その文字列 がもうないように、アルゴリズムはビット文字列を転々とさせる(move around) 。したがって、たとえ暗号化アルゴリズムが特定の文字列に対して壊れている可 能性があったとしても、データブロック内の文字列は、更に乱雑になることさえ も有り得る。スキーマーで識別された暗号化アルゴリズム及びコンピュータに伝 送されたそのアルゴリズムの識別は、文字列を移動させ且つ操作もする機能を実 行するだろう。アルゴリズムは、デコードしている文字列内のビット・シーケン スを単に移動させることができるか、或いは、伝送される完全なメッセージ内の ビットの文字列を移動させることもできる。アルゴリズムは、どの文字列がどこ に移動したか、また文字列が一度すでに暗号化されたかどうかについて示すメモ リーマップも使用する。 メッセージで前に移動する文字列は、そこで等しい長さの文字列に交換 される。前に移動する文字列は、その時は変わらないが、その代わりに、交換さ れた文字列は、アルゴリズムによって暗号化されるか、或いはその逆である。文 字列を一度移動させるのみ及び/又はコード化することのみが望ましい場合、任 意のポイントでのデータが別の文字列と交換されることが可能になる前に、メモ リーマップは、そのデータそのものが移動されたかどうかを判断するために照会 される。そのデータが既に移動している場合、アルゴリズムは、不変のロケーシ ョンに文字列を置くために、文字列の長さか又はポジションを計算し直す。暗号 化がデータメッセージを通して前方に移動することが起こると、メモリーマップ はつくられることが可能である。暗号化がよりダイナミックであると、前述のテ クニックは更にデータメッセージのハッキングを抑止する。データを移動させる 暗号化アルゴリズムは、データブロックを循環している(すなわち、先頭が末端 に続く)として取り扱うことができるか、或いはデータブロック内で降下するま で、移動ロケーションを計算し直し続けることができる。既知の長さが与えられ る場合、移動ポインター及び文字列の長さの2進除算は、単純且つ有効な解であ る。データメッセージが、前述のダイナミックな方法で暗号化されると、解読は 、データの暗号化のために用いられる暗号化アルゴリズムを参照することによっ て実行され得る。暗号化プロセスと全く同じように、解読もまた、ローカルにそ れ自身のメモリーマップをつくる。 暗号化スキーマー204は、データ・サイトでの情報の暗号化にも、コン ピュータ102での同一情報の解読にも用いられるビットのランダムアレイである 。発明の1つの実施例で、暗号化スキーマー204は、メモリにランダム情報の1M ビットを含む。図7及び8のフローチャートで、以下に更に詳細に説明されるよ うに、暗号化スキーマー204は、暗号化されるメッセージの一部に対して用いる 暗号化アルゴリズムを識別するだけでなく、その識別された暗号化アルゴリズム を用いて暗号化するための文字またはバイトの数を識別する、ビットのランダム なセットを提供するためにランダムにアクセスされる。暗号化スキーマー204も また、セキュリティ・ユニット52内にあるので、コンピュータ102は転送された 情報を解読することができる。有利なことに、暗号化アルゴリズム202も暗号化 スキーマー204も、セキュアデータと共にデータ・サイトからコンピュータに伝 送されることはない。様々なユーザーに対して用いられる1つの暗号化スキーマ ーがある可能性があるか、或いはセキュリティ・ユニットの各ユーザーに対して ユニークな暗号化スキーマーがある可能性がある。そうである場合、利用者識別 名及び/又はパスワードは、データ・サイトで特定のユーザー及びセキュリティ ・ユニットをそのユニークな暗号化スキーマーに結びつけるために、データ・サ イトで用いられる。 ユーザーは、コンピュータ102とデータ・サイト62の間で通信を設定す ることから始める。ユーザーがセキュア情報にアクセスすることを望む場合、ユ ーザー・セキュリティ・ユニット52内にこれもまたあるユニークな暗号化スキー マーを識別することを可能にするために、ユーザーはデータ・サイトにパスワー ドを伝送する。それから、ユーザーがセキュリティ・ユニットにパブリック・ コードを入力できるように、データ・サイトは、ランダム・パブリック・コード 206を生成し、明文で(in the clear)コンピュータ102に伝送する。この時点で、 データ・サイトは、セキュアデータを暗号化して、コンピュータ102に送る。 パブリック・コード206は、データ・サイト62によって生成され、明文 でコンピュータ102に送られる、数、文字及び/又はシンボルのランダム・シー ケンスである。一旦コンピュータ102によって受け取られると、パブリック・コ ード206は見ることができ、またユーザーによってセキュリティ・ユニットに入 力されることができる。パブリック・コード206は、また、他の方法でもユーザ ーに送られることが可能である。ユーザーは、また、ユーザーが記憶し、セキュ リティ・ユニットに入力しておくユニークなユーザーPINも持つ。 データ・サイト62は、ユーザーPINと関連したその暗号化スキーマーに第1のユ ニークなエントリーポイントを作り出すために、パブリック・コードとユニーク なユーザーPINの組み合わせを用いる。 セキュリティ・ユニット52は、暗号化スキーマー204に同一のエントリ ーポイントを作り出すために、データ・サイト62の場合と同様なやり方で、パブ リック・コード206とユーザーPIN 208を組み合わせる。したがって、このやり方 で、セキュリティ・ユニット52は、データ・サイト62がコンピュータ102に送ら れるメッセージを暗号化するために用いたものと同一の一組のランダム・ビット にアクセスできる。これらのランダムビット・セットは、メッセージの解読の助 けになるように、セキュリティ・ユニット52からコンピュータ102へ解読情報210 として送り出される。それから、コンピュータ102は、データを解読するために 、内部に格納される暗号化アルゴリズム202に関連したこの解読情報を使用する 。セキュア情報の転送のセットアップ及び使用フェーズは、図7及び8に関連し て、以下に更に詳細に述べられる。アルゴリズム202は、コンピュータ102上にす でにあるか、或いはデータとは無関係に、データ・サイトからコンピュータへ転 送される。これに対して、アルゴリズム202はユニット52内にあり、解読のため に、ユニットからコンピュータへ転送される。より優れたセキュリティのために 、アルゴリズム202は、任意のメッセージと 共には転送されない。 図5は、コンピュータ102と通信するセキュリティ・ユニット52の実施 例300を図示する。セキュリティ・ユニット52は、PINレジスタ304又はパブリッ ク・コード・レジスタ306に数を入力する数入力装置302を含む。これらの2つの レジスタの内容は、アドレス・レジスタ312で格納されるアドレスを作り出すた めに、マージング・ロジック308を用いて組み合わせられる。インクリメント・ ロジック310は、アドレス・レジスタ312に新しいアドレスを提供するために、ア ドレス・レジスタ312の内容とメモリ316からの相対アドレス314を受け取るため に用いられる。シフト・レジスタ317は、選び出されたデータをメモリ316からコ ンピュータ102へ転送するために用いられる。 数入力装置302は、セキュリティ・ユニット52に数、文字および/また はシンボルを入力するために用いられる入力装置の任意の適当なタイプでありえ る。発明の1つの実施例で、単純な数字車(number wheels)318は、数のシーケン スを入力するために用いられる。示される例で、数「4712」は入力装置に入力さ れている。回転する数字車、つまりサムホイールの使用は、図解のためだけのも のであり、ボタン、ダイヤル、スイッチ、電子入力などといった数を選び出す他 のどの方法もまた、用いられることができる。発明の1つの実施例で、単一の数 入力装置は、PINレジスタ304及びパブリック・コード・レジスター306の双方に 数を入力するために用いられる。この実施例で、PIN/パブリック・コード・スイ ッチ320は、PINを入力するか、或いはパブリック・コードを入力するかを選び出 すために用いられる。ロード・スイッチ322は、入力装置にある数を、PIN/パブ リック・コード・スイッチ320によって指示されるレジスタに向けてシフトさせ る。例えば、スイッチ320が押し下げられた場合、ロード・スイッチ322が起動さ れると、入力数はPINレジスタ304へ転送され、スイッチ320が押し下げられなか った場合、ロード・スイッチ322が起動されると、入力数はパブリック・コード ・レジスタ306へ転送される。もちろん、他のハードウェアおよび/またはテク ニックもまた、この機能を実行するために用いられることが可能である。アクテ ィブ化に際して、ロード・スイッチ322もまた、2つのレジスタを組み合わせる マージング・ロジック308に先頭アド レスを作り出すように指示して、そのうえシフト・レジスタ317に、メモリ316か らコンピュータ102へ、選び出された文字列のアルゴリズムと長さをシフトし始 めるように指示するロード信号324を作り出す。 PINレジスタ304及びパブリック・コード・レジスター306の内容は、メ モリ316内に含まれた暗号化スキーマーに第1のエントリーポイントを示すユニ ークな、ランダムアドレスを作り出すために、マージング・ロジック308を用い て組み合わせられる。この第1のエントリーポイントは、アドレス・レジスタ31 2に格納される。マージング・ロジック308は、第1のエントリーポイントを作り 出すために、レジスタ304と306を組み合わせる、任意のタイプのハードウェア・ ロジック又はソフトウェアであってもよい。メモリ316は、暗号化スキーマーの ランダムビットを含む任意の適当なハードウェア・メモリである。インクリメン ト・ロジック310は、アドレス・レジスタ312で格納される新しいランダム・アド レスを作り出すためにメモリ316から受け取られた相対アドレス314までアドレス ・レジスタ312の内容を加えるために任意の適当なハードウェア・ロジックまた はソフトウェアを用いる。相対アドレス314は、現在のアドレスに単に加えられ るか又は引かれることが可能であるか、或いは、2つのアドレスは、インクリメ ント・ロジック310を用いて新しいランダム・アドレスを作り出すために、任意 のやり方で組み合わせられることが可能である。 発明の代替実施例では、セキュリティ・ユニットは、ユーザーのコンピ ュータのソフトウェアで実施されることが可能である。この実施例で、様々なコ ンピュータの入出力装置及びコンピュータのメモリに関連したコンピュータのCP Uは、セキュリティ・ユニット52の機能を実行する。PIN、パブリック・コード、 アドレス及びロジック計算の記憶領域は、任意の適当なプログラミング言語で達 成されることができる。また、データエントリーは、キーボード又は任意の適当 な入力装置からでき、スキーマーは、フロッピー又はハードディスクに格納され ることができる。処理がホストコンピューターのCPUで依然として実行されてい ても、スキーマーおよび/またはアルゴリズムを含み、および/またはロジック を組み合わせているフロッピーディスクは、コンピュータからコンピュータへの 携帯を可能にする。 図6は、図5のセキュリティ・ユニット52のメモリ316をシンボリック に示す。メモリ316は任意の適当なメモリでよく、一例として、フラッシュメモ リが用いられてもよい。この図示される例で、メモリ316は、任意の適当なやり 方で構築されることもありえるが、メモリ316は、ランダム・ビットのシーケン シャル・シリーズを含む。アドレス・レジスタ312は、暗号化及び解読で用いる ためのランダムなビット・セットにアクセスするために、メモリ316のランダム アドレス402でのエントリーポイントを示す。アドレス402から、第1のビット・ セット404、第2のビット・セット406及び第3のビット・セット408は示される 。この例では、異なるビット数が用いられることができるが、8ビットの長さは 各セットに対して用いられ、また各セットは異なる長さでも有り得る。セット40 4は、メッセージ内の文字列の長さが、特定の暗号化アルゴリズムによって暗号 化されることを示す。この長さは、多数のビット、バイト、文字、語などを示す ことが可能である。この例では、セット404は、2進数「00111011」に対応して いる長さを示す。以下の第2のビット・セット406は、暗号化アルゴリズム識別 子を示す別の2進数を表す。この識別子は、セット404によって示される長さの 文字列を暗号化するために用いられる多くの暗号化アルゴリズムについて示す。 この例では、セツト406は、ビット「00010100」に対応している識別子を示す。 この識別子は、用いる暗号化アルゴリズムを識別するために、サーバ・コンピュ ータ又はホストコンピューターによって用いられる。第3のビット・セット408 は、メモリ316内の新しいランダム・アドレスを選ぶ際に、インクリメント・ロ ジック310と共に用いられるランダムな相対アドレスを示す。 図6は1つの例というだけであり、且つコンベンションによってビット のこれらのセットが任意のやり方で修正され得ると認められるはずである。例え ば、他のどのビット数もビットの各セットに対して用いられることができ、且つ セットは任意のオーダーで現れれ得ることに、データ・サイト及びセキュリティ ・ユニットの双方が合致することは可能である。また、ビット・セットは、連続 する必要はないが、メモリ内で間隔をあけて離してもよく、或いは任意の合致し た数またはスキーマを用いてオフセットになることも可能である。 図7は、本発明のセットアップ・フェーズの実施例を表しているフロー チャート400である。セットアップ・フェーズは、ユニークな暗号化スキーマー を生み出し、且つデータ・サイトにだけでなくユーザーのコンピュータにアタッ チされるセキュリティ・ユニット内にも、このスキーマーを格納するために用い られる。セットアップ・フェーズが終了すると、ユーザーは暗号化された情報を 転送し、それを解読することができる。ステップ452で、データ・サイトは、ユ ーザーに送られる特定のメッセージ内の情報の一部を、暗号化するために用いら れるマルチプル・暗号化アルゴリズムを識別する。同一の暗号化アルゴリズムが 、不特定多数のセキュリティ・ユニットに対して用いられる可能性はあるが、マ ルチプル・暗号化アルゴリズムのユニークなセットが、特定のセキュリティ・ユ ニット、しかるに特定のユーザーと対応付けられることが意図される。ステップ 454で、ユニークな暗号化スキーマーは、特定のセキュリティ・ユニットに対し て作り出される。ステップ452の場合のように、1つの暗号化スキーマーが、不 特定多数のセキュリティ・ユニットに対して用いられる可能性はあるが、各セキ ュリティ・ユニットに対してユニークな暗号化スキーマーがあることが意図され る。この暗号化スキーマーは、データ・サイトでコンピュータのメモリー素子に 好んで格納される、ビット、バイトおよび/または語のランダム・シリーズであ る。 エンクリプション・スキーマが特定のセキュリティ・ユニットに対して 識別されると、ステップ456でのデータサイトは、エンクリプション・スキーマ 内でアクセスされるビット・セットに用いられるコンベンションに合致する。デ ータサイトは、「文字列の長さ」、「暗号化アルゴリズム識別子」および「相対 アドレス」を表すために用いられるビット数を識別する。データサイトはまた、 アドレスレジスタにより示されるエントリーポイントに関する、これらの三つの ビット・セットの相対的なロケーションを識別する。図示される例として、図6 は、実施例において、3つのビット・セットの各々は8ビットの長さであり、且 つそれらはアドレスレジスタにより示されるロケーションから始まり、連続的に そのあとに続くことを示す。もちろん、他のコンベンションは可能である。 伝送される多量のデータに対して、各々のデータブロックがユーザーの コンピュータで速く解読されるように、伝送されるデータブロックが合理的なサ イズに保たれることによって、コンベンションに合致することが望ましく、また そのデータブロックが解読されると、ユーザーはチャンクの情報を見ることがで きる。一例として、データは、わずか4Kバイト・チャンクに分解されることが 可能である。本発明によれば、各々のブロックはデータサイトによって、暗号化 され、且つユーザーのコンピュータにより解読される。すなわち、ランダムアル ゴリズム及びランダムな文字列の長さは各々のブロック内で用いられる。 このように、ユーザーは、多量のデータが解読されるのを待つことなく、情報の ブロックを速く見ることが可能である。 ステップ458で、データサイトは、各々のマルチプル暗号化アルゴリズ ムをユニークな暗号化アルゴリズム識別子と対応付ける。例えば、四つの暗号化 アルゴリズムがあり、暗号化アルゴリズム識別子が2ビットの長さである場合、 各々の暗号化アルゴリズムは0から3までの固有の番号を割り当てられる。 もちろん、識別子をアルゴリズムと対応付けるための多種多様な暗号化アルゴリ ズム識別子及びテクニックが、使われることが可能である。 エンクリプション・スキーマがデータサイトで作り出されると、ステッ プ460で、このエンクリプション・スキーマは、データサイトでのメモリに格納 され、また、その対応するセキュリティ・ユニットのメモリにも格納される。デ ータサイトはまた、ユーザー識別子および/またはパスワード及び個人識別番号 (PIN)を、ステップ462でのセキュリティ・ユニットに対応付ける。ユーザー識 別子は、便宜のために特定のユーザーをセキュリティ・ユニットと結びつけるユ ーザーの名前といった、人間が読み込み可能な識別子である。セキュリティ・ユ ニットに対応付けられるパスワードは、特定のセキュリティ・ユニット及びその 対応しているエンクリプション・スキーマを識別するために用いられる。特定の セキュリティ・ユニット及びエンクリプション・スキーマに対応付けられるPIN は、PINをパブリック・コードと組み合わせることによって、エンクリプション ・スキーマ内のエントリーポイントにユニークにアクセスするために用いられる 。ステップ464で、ユーザーは、対応付けられたユーザー識別子、パスワード及 びPINと共にセキュリティ・ユニットを得る。ステップ466で、ユ ーザーが、ユーザーのコンピュータへセキュリティ・ユニットを接続すると、暗 号化された情報を転送し、それを解読する準備はできあがる。 図8A及び8Bは、本発明の実施例を用いて、セキュアなやり方でユーザー が暗号化された情報を転送し、それを解読できるテクニックを示すフローチャー ト500である。ステップ502で、ユーザーは、ユーザーのコンピュータとデータサ イト間の通信を開設する。インターネットの一部であるサーバ・コンピュータに 、データサイトが位置する場合、通信は、ウェブ・ブラウザ及びURLアドレスを 用いて開設されることができる。データサイトがLANまたはWANの一部である場合 、通信は、任意の標準形態で開設されることができる。ステップ504は、ユーザ ーがパブリック情報かセキュア情報のどちらを見たいのかを判断する。ユーザー が、パブリック情報を見たい場合、ステップ506において、ユーザーはこの情報 を転送することができ、また暗号化される情報へのニーズなしでそのパブリック 情報を見ることができる。しかしながら、ユーザーが、暗号化されたフォームで 転送されなければならないセキュア情報を見たい場合、以下のステップが行われ る。 ステップ508で、ユーザーは、データサイトにユーザーのパスワードを 与える。 このパスワードは、明文で伝送され、誰がデータサイトと通信しているのか、ま たどのエンクリプション・スキーマが、送られる情報を暗号化するために用いら れるのかを、データサイトに教えるために用いられる。モディファィド・ドライ バがユーザーのコンピュータに必要かどうかを、ステップ510は判断する。例え ば、ユーザーが、コンピュータのマウスとマウス・ポートの間にセキュリティ・ ユニットを接続する場合、セキュリティ・ユニットからの情報を受け取るために 、わずかに修正されたマウス・ドライバーソフトウェアを使用することが必要で あるかもしれない。この種のモディファィド・ドライバが必要とされる場合、ス テップ512において、このモディファィド・ドライバは、データサイトからユー ザーのコンピュータにダウンロードされて、現在のドライバとしてインストール される。ステップ514で、データサイトは、適切なエンクリプション・スキーマ 及びユーザーが与えたパスワードに対応するユーザーPINを識別する。この 形態において、データサイトは、エンクリプション・スキーマ及びセキュリティ ・ユニットのユーザーによっても用いられるユーザーPINを識別した。これは、 エンクリプション・スキーマを用いて暗号化される情報及びユーザーPINは、任 意のコンピュータのユーザーにより解読されることが可能であることを保証する 。 ステップ516で、データサイトはパブリック・コードを計算する。この パブリック・コードは、エンクリプション・スキーマにアクセスするために用い られる数、文字および/または記号のどんなシークエンスであってもよい。デー タサイト及びユーザーのコンピュータでのセキュリティ・ユニットの双方は、同 一のエンクリプション・スキーマにアクセスするために、同一のユーザーPIN及 びパブリック・コードを組み合わせる。ステップ518で、データサイトは、エン クリプション・スキーマにエントリーポイントを得るために、このパブリック・ コードとユーザーPINを組み合わせる。このエントリーポイントは、エンクリプ ション・スキーマへのランダム・アドレスを表し、且つ最初の文字列の長さ、暗 号化アルゴリズム識別子および相対アドレスを求めるための開始ポイントとして 役立つ。したがって、ステップ520において、データサイトは、最初の伝送され る文字列の長さ、暗号化アルゴリズム識別子および相対アドレスに対応する3つ のビット・セットを得るために、このエントリーポイントを用いる。 ステップ522で、データサイトは、エンクリプション識別子により識別される暗 号化アルゴリズムを用いてユーザーに送られる、情報の最初の部分を暗号化する 。暗号化される情報部分の長さは、ステツプ520で、エンクリプション・スキー マから判断された「文字列の長さ」の数によって、求められる。情報の最初の部 分が暗号化されると、データサイトは、暗号化される情報の次の部分を求め、且 つどの暗号化アルゴリズムがそれを暗号化するために用いられるかを判断するた めに、エンクリプション・スキーマにランダムにアクセスし続ける。 したがって、ステップ524において、データサイトは、エンクリプショ ン・スキーマに新しいエントリーポイントを得るために、ステップ520で得られ た相対アドレスと現在のエントリーポイントのアドレスを組み合わせる。本来の エントリーポイント及び相対アドレスの双方がランダムな数であり、且つそれ らは任意のランダムな形態で組み合わせられるので、エンクリプション・スキー マへの新しいエントリーポイントもまた、ランダム・エントリーポイントである 。ステップ526で、データサイトは、ステップ522に記載されているように、ユー ザーに送られる情報の全てを暗号化し続ける。例えば、エンクリプション・スキ ーマへの新しいエントリーポイントは、次の「文字列の長さ」、「暗号化アルゴ リズム識別子」および次の「相対アドレス」に対応する3つの新しいビット・セ ットを識別する。これらの三つの新しい数のセットを用いることによって、伝送 される情報の次の部分は、適切なアルゴリズムを用いて暗号化され、且つ新しい エントリーポイントは、最も新しく得られた相対アドレスを用いて計算される。 エンクリプション・スキーマへの新しいエントリーポイントを計算し、且つ情報 の一部に対して新しい暗号化アルゴリズムを決めるこのプロセスは、全ての情報 が暗号化されるまで続く。ステップ528で、データサイトは、ユーザーにこの暗 号化された情報を送り出す。情報が暗号化されると、その情報は、いつでもユー ザーに送り出されることができることは認められるはずである。例えば、情報は 、その全部が暗号化されるとすぐにユーザーに送り出されることができ、又はパ ブリック・コードがユーザーに送り出された後に送り出されることができ、或い は、情報がデータサイトによって、暗号化されると、その情報の各部分は連続的 にユーザーに送り出されることができる。ステップ530で、データサイトは、計 算されたパブリック・コードをユーザーに明文で送る。もちろん、パブリック・ コードもまた、いつでも伝送されることができる。 暗号化された情報がユーザーのコンピュータに伝送され、ユーザーがパ ブリック・コードを受け取ると、ユーザーはコンピュータの情報を解読する準備 ができている。ステップ532で、ユーザーは、セキュリティ・ユニットの数入力 装置のPIN/パブリック・コード・スイッチの「ピン」設定を選んで、セキュリテ ィ・ユニットにPINを入力する。このステップで、PINは、したがって、セキュリ ティ・ユニット52のPINレジスタ304に転送される。ステップ534で、ユーザーは 、PIN/パブリック・コード・スイッチの「パブリック・コード」設定を選んで、 セキュリティ・ユニットの数入力装置にパブリック・コードを入力する。したが って、このステップは、セキュリティ・ユニットのパブリック・ コード・レジスタ306に、パブリック・コードを転送する。 次に、ステップ536で、セキュリティ・ユニットは、エンクリプション ・スキーマにエントリーポイントを得るために、PINとパブリック・コードを組 み合わせる。発明の一実施例で、この組合せは、セキュリティ・ユニットのマー ジング・ロジック308により実行され、エントリーポイントは、アドレス・レジ スタ312に格納される。データサイトは、同一の組合せテクニックを用いて、同 一のパブリック・コードと同一のPINを予め組み合わせたので、エンクリプショ ン・スキーマにセキュリティ・ユニットによって、得られたエントリーポイント は、ステップ518で予めデータサイトによって、得られたものと同一のエントリ ーポイントになる。したがって、データサイト及びセキュリティ・ユニットの双 方は、エンクリプション/ディクリプションのためのエンクリプション・スキー マ内のどこで開始するかに対して同期される。エンクリプション・スキーマは、 各々に対して同一なので、同様のビット・セットは、エンクリプション・スキー マから得られる。 ステップ538で、セキュリティ・ユニットは、エンクリプション・スキ ーマからの、最初の「文字列の長さ」「暗号化アルゴリズム識別子」及び「相対 アドレス」に対応する3つの情報セットを得るために、この最初のエントリーポ イントを用いる。セキュリティ・ユニット及びデータサイトの双方は、これらの 情報セットの各々の長さに対して、且つ情報セットがエントリーポイントに関連 してどこに位置するのかを同一のコンベンションに従っているので、セキュリテ ィ・ユニットは、これら三つのセットのデータサイトと同一の値を得る。「相対 アドレス」の値を用いることによって、セキュリティ・ユニットは、アドレス・ レジスタ312に新しいエントリーポイントを置くために、相対アドレスを現在の アドレスと組み合わせるためにインクリメント・ロジック310を用いる。アドレ スが、双方同一であり、且つセキュリティ・ユニットによって、用いられるイン クリメント・ロジック310が、二つのアドレスを組み合わせるために、ステップ5 24のデータサイトのものと同一のロジックを用いるので、この新しいエントリー ポイントは、データサイトに対してステップ524で計算されたものと同一の新し いエントリーポイントである。この形態で、これらの値のグループ の予め決められた数(予め、データサイトに合致した)が得られるまで、セキュ リティ・ユニットは、新しいエントリーポイントを計算し続け、且つ「文字列の 長さ」、「暗号化アルゴリズム識別子」及び「相対アドレス」といった数量の値 のグループを得ることを続ける。 ステップ540で、セキュリティ・ユニットは、これら「文字列の長さ」 及び「暗号化アルゴリズム識別子」といった数量のマルチプル・ペアをユーザー・ コンピュータに送り出す(数量「相対アドレス」は、コンピュータに送り出され る必要はない)。これらの値のペアのどんな数量も、コンピュータに送り出され ることができる。これらの値が全て使い果たされるまで、コンピュータはデータ サイトから送り出されるデータを解読する。例えば、セキュリティ・ユニットが コンピュータに100ペアを転送する場合、コンピュータは、100の識別されたアル ゴリズム及び100の文字列の長さを用いて送り出されたデータを解読する。全て のデータが100のグループより少ないものを用いて解読された場合、どんなニー ズも、送り出されない。 しかしながら、100ペアが使い果たされた後も、更に暗号化されたデータが残る 場合、ユーザーは、ユニットからより多くのペアを得るためにリセットを実行す るプロンプトを出される。あるいは、データサイトがリセットのプロンプトを出 すか、または自動的に起こることもある。 セキュリティ・ユニットが、コンピュータ・マウスとマウス・ポートの 間に置かれた場合、データは、マウス・クリック又は一連のマウス・クリックを シミュレートすることによって、セキュリティ・ユニットからコンピュータへ送 り出されることができる。例えば、ユニットは、コンピュータに伝送される値の 各々のペアに対するマウス・クリックをシミュレートすることが可能であるか、 或いは、多くのクリックは、送り出される各々のペアに対してシミュレートされ ることが可能である。上記のように、モディファイド・マウス・ドライバは、規 則的なマウス信号よりむしろ、これらの値のペアを認識するために用いられる。 発明の一実施例で、データは、上記で図5に示されるように、「ロード」スイッ チのアクティブ化のユニットから送り出される。 コンピュータが、各々のディクリプション・アルゴリズムでいくらくら いの暗号化されたメッセージを解読するかについて示す、文字列の長さの数量を 受け取り、且つどの暗号化アルゴリズムを用いるかを示す、様々な暗号化アルゴ リズム識別子を受け取ると、コンピュータは、ステップ542において、暗号化さ れた情報を解読することができ、またユーザーによって、読み込み可能な情報を 作り出すことができる。「文字列の長さ」および「暗号化アルゴリズム識別子」 といった数量は、様々な形態で、セキュリティ・ユニットからコンピュータへ伝 送されることができると認められるはずである。一例として、上記のステップに おいて、この情報は、全体としてコンピュータに送り出される。もう一つの実施 例で、各々の数量がエンクリプション・スキーマと結びつけられると、その数量 はコンピュータに先に送り出されることができる。 発明の一実施例で、マウスボタンはまた、新しいエントリを選び、エン クリプション・スキーマに指し示し、また「ロード」スイッチが作動するのとほ ぼ同じやり方で、「文字列の長さ」及び「暗号化アルゴリズム識別子」のコンピ ュータへの送信を開始するために用いられることが可能である。 別の実施例で、セキュリティ・ユニットから受け取られる「文字列の長 さ」の数量とデータサイトから受け取られる暗号化されたメッセージの長さを比 較することによって、コンピュータが適切な情報量の全てを受け取ったとき及び /又はより多くの数量を必要とするとき、コンピュータは、ユーザーに指示を出 すことができる。 ユーザーにより要請される本来のセキュア情報がステップ542において 、解読されると、ユーザーはよりセキュアな情報を見たくなるかもしれない。こ のケースでは、ステップ540のユニットからロードされたマルチプル・ペアは、 使い果たされるまで、使われ続ける。これらのペアが全て使い果たされるか、或 いは追加のセキュア情報を解読する過程で使い果たされるようになる場合、上記 のステップ540のように、新しいペアは、ユニットから得られることが可能であ る。ユーザーが明文でパブリック情報を見たい場合、その情報は、暗号化されず にダウンロードされるようにデータサイトから要請可能である。パブリック・デ ータを見たあとに、セキュア・データが要請される場合、リセットに相当するこ とが起こり、コントロールはステップ516へ戻る。 リセットはまた、データサイト及びセキュリティ・ユニットを同期する ため、又はより高いセキュリティレベルを確実にするために、プロセスのどこで でも起こり得る。例えば、ユーザーが解読された情報を読むのに困難を有するか 、或いは情報を解読することができない場合、ユーザーは、同期化が起こること を要請して、データサイトにリセットコマンドを送ることができる。この例では 、データサイトは新しいパブリック・コードを計算し、新しいパブリック・コー ドとユーザーPINを組み合わせ、エンクリプション・スキーマへの新しいエント リーポイントを選び、且つ上記のテクニックを用いて送られる情報の全てを再び 暗号化する。この新しいパブリック・コード及び新しく暗号化された情報は、ユ ーザーに再び伝送され、且つユーザーは、セキュリティ・ユニットに新しいパブ リック・コード及びユーザーPTNを入力することによって、受け取られた情報を 再び解読しようとすることができる。 また、情報伝送中はいつでも、データサイトは、リセット自体を要請で きる。データサイトは、新しいパブリック・コード等を計算し、新しいパブリッ ク・コード及び新しく暗号化された情報をユーザーに送り出す。ユーザーは、デ ータサイトから送り出されている次の情報を解読するために、新しいパブリック ・コード及びユーザーPINを再び入力しなければならない。データサイトによる この強制リセットは、許可されたユーザー(authorized user)がまだコンピュー タにいることを確実にし、及び/又はユーザーPINが正しく入力されたことを確 実にするために用いられることが可能である。強制リセットはまた、ユーザーの コンピュータに伝送される情報のセキュリティを更に高くするために、データサ イトによって、用いられることも可能である。 リセットは、また、自動的になしとげられてもよい。例えば、知られて いるビット・シーケンスは、メッセージに埋め込まれていて、且つユーザー・コ ンピュータにより捜される。シーケンスが正しい位置で検出される場合、双方が 同期され、且つリセット・ニーズは起こらない。しかしながら、検出されない場 合、ユーザー・コンピュータは、シーケンスが検出されるまで、先のアルゴリズ ムを再処理する。それでも不成功の場合、手動リセットが強制される。このテク ニックは、高ボリューム高速データに関してうまく機能する。 コンピューターシステム実施例 図9は、本発明の実施例で用いられることが可能なコンピューターシス テム900を示す。コンピューターシステム900は、基本主記憶域906(例えばラン ダムアクセスメモリ、つまりRAM)及び基本主記憶域904(例えば読取り専用メモ リ、つまりROM)を含む記憶デバイスに結合される任意の数のプロセッサ902(中 央処理装置またはCPUとも称される)を含む。公知技術にあるように、基本主 記憶域904は、データ及びインストラクションを単一方向にCPUに転送するために 作動し、また、基本主記憶域906は、双方向にデータ及びインストラクションを 転送するために典型的に用いられる。これらの基本主記憶域デバイスの双方とも 、以下に記す、任意の適当なコンピュータが読み込み可能なメディアを含むこと ができる。大容量記憶域デバイス908もまた、CPU 902に双方向に結合され、追加 データ記憶域容量を提供し、且つ以下に記す任意のコンピュータが読み込み可能 なメディアを含むことができる。大容量記憶域デバイス908は、プログラム、デ ータなどを格納するために用いられることができ、且つ基本主記憶域より遅い、 典型的な副記憶メディア(例えばハードディスク)である。大容量記憶域デバイ ス908の内で保持される情報は、適切な場合において、仮想メモリとしての基本 主記憶域906の一部として、規格形態に取り入れられることが可能であると認め られる。CD-ROM 914といった特定の大容量記憶域デバイスは、単一方向でCPUに データを渡す。 CPU 902はまた、ビデオモニタ、トラックボール、マウス、キーボード 、マイクロフォン、接触に敏感なディスプレイ、トランスデューサ・カード・リ ーダ、磁気又はペーパー・テープ・リーダ、タブレット、スタイラス、ボイス又 はハンドライティング・レコグナイザ、バイオメトリックス・リーダ、或いは他 のコンピュータといった1つ以上の入出力装置を含むインターフェース910に結 合される。CPU 902は、もう一つのコンピュータに、又は一般に912で示すように 、ネットワークコネクションを用いてテレコミュニケーションネットワークに、 オプションとして結合されてもよい。前述のネットワークコネクションについて は、CPUは、ネットワークから情報を受け取ることができるか、或いは上 記の方法ステップを実行する過程で、ネットワークに情報を出力ことができると 意図される。 加えて、本発明の実施例は、更に、種々のコンピュータでインプリメン トされるオペレーションを実行するための、プログラムコードを備えるコンピュ ータで読み込み可能なメディアを有するコンピュータ記憶域製品に関する。メデ ィア及びプログラムコードは、本発明のために特別に設計され且つ造られたもの であってもよく、或いは、コンピュータソフトウェア技術でスキルを有するもの に周知であり且つ利用できる種類であってもよい。コンピュータで読み込み可能 なメディアの例は、ハードディスク、フロッピーディスク及び磁気テープといっ た磁気メディア、CD-ROMディスクといった光学式メディア、フロプティカル・デ ィスクといった光磁気メディア、及び、ROM及びRAMデバイスといったプログラム コードを格納して、実行するために特別に構成されたハードウェアデバイスを含 むが、これらに限定されるわけではない。プログラムコードの例は、コンパイラ によって、作り出されたといったマシンコード、及びインタープリタを用いてコ ンピュータにより実行されることができる、より高いレベルコードを含んでいる ファイルの双方を含む。 セキュリティ・ユニット1000の代替実施例は、図10で示される。 セキュリティ・ユニット1000は、いくらかのサムホイール1004a-1004dを含む円 筒形のボディ1002、一組のケーブル1006及び1008、および一組のボタン1010及び 1012を含む。 この例では、サムホイール1004a-1004dは、数0、1、2、...9を含む。 他のしるし(indicia)(例えば、文字)或いはより少ない又は多いしるしもまた 、用いられることが可能である。選ばれた数がマーク1014に整列するまで、サム ホイールは円筒形のユニット1002の軸のまわりを回転するようになる。サムホイ ールは、サムホイールにより特定された数をセキュリティ・ユニット1000に入力 できるスイッチを制御する。この形態で、例えば、個人識別番号(PIN)又はパ ブリック・コードは、セキュリティ・ユニット1000に入力できる。この例では、 ユーザーは、セキュリティ・ユニット1000に数「3184」を入力する ために種々のサムホイール1004a-1004dを回転させた。もちろん、回転する「組 合せロック」タイプ・メカニズムといった、数を入力する他のメカニズムもまた 、セキュリティ・ユニット1000に数を入力するために用いられてもよい。 ボタン1012は、好ましくは、上記したように、コンピュータへの信号が 来ているところから指示を出すために用いられる出力または「ロード」制御ボタ ンである。一つのポジションで、ボタン1012は、コンピュータへの信号がマウス から来ていることを示し、またもう一つのポジションで、ボタン1012は、コンピ ュータへの信号がセキュリティ・ユニット1000の内蔵プロセッサから来ているこ とを示す。すなわち、マウスからの信号がセキュリティ・ユニットを通過するよ うに、ボタン1012は、要するに、セキュリティ・ユニット1000を起動させなくす る(inactivated)ことができるか、或いは、本発明のセキュリティ・プロセスが 実現されるように、ボタンはセキュリティ・ユニット1000を起動させる(activat ed)ことができる。 ボタン1010は、好ましくは、PIN/パブリック・リセットボタンである。 すなわち、ボタン1010は、サムホイールに何の数を表示するかを指示する。1う のボタン・ポジションで、サムホイール上の数はプライベート・コード(すなわ ちPIN)を表し、また、もう一つのボタン・ポジションで、ボタン1010は、サム ホイール上の数がいくつかのパブリック・ソースにより提供されるパブリック・ コードを表すことを示す。 ケーブル1006は、コンピュータに、また周辺デバイスにセキュリティ・ ユニットを接続するために用いられる。例えば、ケーブル1006はコンピュータの マウス・入力・ポートに結合されることができ、一方、ケーブル1008はマウスに 結合されることができる。もちろん、他のタイプのカップリング・アレンジメン トが、用いられることはできる。例えば、マウスからのケーブルが直接セキュリ ティ・ユニット1000にプラグ接続されることができるように、ケーブル1008は、 セキュリティ・ユニット1000上のマウス・入力・ポートにより置き換えられるこ とが可能である。コネクタ及びケーブル・アレンジメントの他のタイプは、当業 者にとって周知である。 セキュリティ・ユニット1000の一つの実施例の電子回路1100は、図 11で示される。回路1100は、サムホイール1004a-1004dにそれぞれ対応するいく らかのスイッチ1102a−1102dを含む。回路はまた、ボタン1012及び1010にそれぞ れ対応するスイッチ1104及び1106を含む。 回路は、更に、マイクロコントローラ又はマイクロプロセッサ1108、RO Mメモリ1110、書き込み可能なメモリ1112、入力バッファ1114及び出力バッファ1 116を含む。スイッチ1102a-1102d、1104及び1106は、マイクロプロセッサ1108の 入力に全て結合される。マイクロプロセッサ1108はまた、バス1118及び1120によ って、ROM1110に、バス1122及び1124によって、書き込み可能なメモリに、また バス1126によって、出力バッファ1116に結合される。書き込み可能なメモリ1112 はバス1128によって、ポート1129に結合され、また入力バッファ1114はバス1130 によって、出力バッファ1116に結合される。 回路1100の実施例の利点は、ROM 1110に加えて、書き込み可能なメモリ 1112が提供されるということである。すなわち、ROM 1110のエンクリプション・ スキーマはフィックスされ、一方、メモリ1112のエンクリプション・スキーマは 変更可能である。メモリ1112への書き込みは、例えば、コンピュータのシリアル ポートに接続できるバイア・ポート1129を通して可能である。すなわち、新しい エンクリプション・スキーマは、コンピュータにダウンロードされることができ 、且つメモリ1112にバイア・ポート1129からダウンロードできる。メモリ1112は 、好ましくは、フラッシュ・メモリ、EEPROMメモリ等といった書き込み可能であ るが、不揮発性のメモリである。 メモリ1112は、マルチブル・エンクリプション・スキーマに更にセグメ ント化されることができる。しかしながら、メモリは、説明を容易にするために 単一のスキーマのみを含むこととして記載されるが、そのメモリはマルチプルに ダウンロードされたスキーマを充分にサポートすることができると理解される。 ROMメモリ1110は、ユーザー個人のものであり、且つそのユーザーのPIN ナンバーに対応する。それは、上記したように機能する。書き込み可能なメモリ 1112は、例えば特定の会社によって、割り当てられる「パブリック」スキーマを 保持できる。例えば、これによって、会社は、各々の従業員に対して別々 のエンクリプション・スキーマを格納せずに、その従業員に対するセキュア・デ ータを提供することが可能である。もう一つの例として、これはまた、支払いを している顧客がパブリック・パスワードを利用できるように、インターネット・ コンテント・プロバイダによって、用いられることも可能である。現在の従業員 のみ又は支払いをしている顧客のみが情報にアクセスできることを確実にするた めに、パブリック・エンクリプション・スキーマは、好ましくは、時々変更され る。二つのエンクリプション又はそれ以上のエンクリプション・スキーマがこの システムにより提供されることが可能なので、ユーザーは常に本人の個人データ (本人の個人エンクリプション・スキーマについて暗号化された)にアクセスす ることが保証されるが、また、望み且つ許可された他のデータにアクセスするこ とも可能である。 パブリック暗号化スキーマーは、それぞれが本人自身のPINを有する多 数の異なるユーザーによってアクセスされることができるので、システムは、そ のPINに対応する「パブリック・コード」を提供しなければならない点に留意す る必要がある。つまり、パブリック暗号化スキーマーでの、あるメモリーアドレ スが、異なるPINによってアクセスされることになっている場合、そのPINに対応 するパブリック・コードは、スキーマー内で正しい開始アドレスを提供するため に、提供されなければならないことは明らかである。 前述の発明は、理解を明確にする目的のために、いくつかの詳細で述べ られたが、一定の変更及び修正が、添付の特許請求の範囲内で行われることがで きることは明白である。たとえば、セキュリティ・ユニットは、さまざまな方法 でユーザーのコンピュータにアタッチされることができ、又は、コンピュータの 内部にあることさえも可能である。さらに、ユニットは、コンピュータの任意の ポートに接続することができ、又はその含まれた暗号化情報をコンピュータに伝 送する他のどの適当な方法をも用いることができる。これに対して、ユニットは 、ユーザーのコンピュータのソフトウェアで実施されることができ、且つ別々の ユニットであるよりむしろコンピュータのCPUを利用する可能性がある。ユーザ ーPINとパブリック・コードの双方が、暗号化スキーマーにアクセスするために 用いられることができ、即ち、ただ一つだけが用いられるてもよく、或いは多 数の他のコード及び/又は数が用いられるてもよい。ユニット内のロジックは、 任意の適当なディジタル又はアナログ・ハードウェアを用いて実施されてもよく 、又はソフトウェアで実施されてもよい。スキーマーで格納されるデータセット は、任意の形態で又は任意の長さでオーダーされてもよく、また格納され得る任 意のデータユニットに適用してもよい。情報がユニットから受け取られるとき、 ユーザーのコンピュータは受け取った情報を解読することができ、又は情報の全 てが受け取られるまで、コンピュータは待つこともできる。また、ユニットは、 ラップトップコンピューターのハードディスクといったコンピュータの機密デー タに安全機能を提供するために、コンピュータのハードディスクとRAM間のセキ ュア・データ通信に備えるため用いられることが可能である。 したがって、本発明の真の意図及び範囲内に入るように、全ての置換、 修正、追加及び同等物を含むものとして解釈される、以下の添付の特許請求の範 囲が意味される。

Claims (1)

  1. 【特許請求の範囲】 1.数入力装置(302)と、 前記数入力装置に反応するアドレス・レジスタ(312)と、 出力コード及び相対アドレス・コードを作り出すために前記アドレス・ レジスタによってアドレス指定が可能な暗号化スキーマー・メモリ(316)と、 前記相対アドレス・コードに反応し、且つ前記アドレス・レジスタをイ ンクリメントするのに有効なロジックをインクリメントするアドレス(310)と を備えるセキュリティ装置。 2.前記数入力装置に結合されるPINレジスタ(304)と、 前記数入力装置に結合されるパブリック・コード・レジスタ(306)と 、 前記アドレス・レジスタに入力するために、前記PINレジスタと前記パ ブリック・コード・レジスタの出力をマージするマージング・ロジック(308) とを更に備える、請求項1記載のセキュリティ装置。 3.前記暗号化スキーマー・メモリの前記出力コードをシフトアウトするのに有 効な、出力シフトレジスタを更に備える、請求項2記載のセキュリティ装置。 4.前記暗号化スキーマー・メモリが読取り専用メモリである、請求項1記載の セキュリティ装置。 5.前記暗号化スキーマー・メモリが書き込み可能なメモリを含む、請求項1記 載のセキュリティ装置。 6.プロセッサ(1108)と、 各メモリが暗号化スキーマーを含むことが可能な、前記プロセッサに結 合される複数のメモリ(1110、1112)と、 メモリの前記複数の内の少なくとも1つに、開始アドレスを少なくとも 部分的に提供するために前記プロセッサに結合される数入力装置(1004a-1004d )とを備える、セキュリティ装置。 7.少なくともメモリの前記複数のメモリの内の1つが、読取り専用メモリ(11 10)であって、且つ前記メモリの内の少なくとも1つが書き込み可能なメモリ( 1112)である、請求項6記載のセキュリティ装置。 8.前記プロセッサに結合される出力ポート(1116)及び前記出力ポートに結合 される入力ポート(1114)を更に備える、請求項7記載のセキュリティ装置。 9.前記書き込み可能なメモリに暗号化スキーマーをダウンロードするために、 前記入力ポートとは別のダウンロード・ポート(1129)を更に備える、請求項8 記載のセキュリティ装置。 10.暗号化アルゴリズム(202)と暗号化スキーマー(204)を含むデータ・サイ ト(62)と、 前記データ・サイトに結合され、且つ前記暗号化アルゴリズム(202) を含むコンピュータ(102)と、 前記コンピュータに結合され、且つ前記暗号化スキーマー(204)を含 むセキュリティ・ユニット(52)とを備える、セキュリティシステム。 11.前記コンピュータは、前記データサイトにパスワードを送り出すのに有効で あり、且つ前記データサイトは、それに応じて前記コンピュータにパブリック・ コードを提供するのに有効である、請求項10記載のセキュリティシステム。 12.前記コンピュータ及び前記データ・サイトは、オープン・データと通信可能 であり、且つ暗号化されたデータと通信可能である、請求項11記載のセキュリ ティシステム。 13.前記セキュリティ・ユニットは、前記暗号化スキーマーを格納するために、 読取り専用メモリー及び書き込み可能なメモリの内の少なくとも1つを含む、請 求項10記載のセキュリティシステム。 14.セキュリティ・ユニットをコンピュータに結合させることと、 前記セキュリティ・ユニットにセキュリティ・コードを入力することと 、 データを解読するために、前記セキュリティ・ユニットから受け取られ る、前記セキュリティ・コードに少なくとも部分的に基づく暗号化スキーマー・ データを、前記コンピュータ内で用いることを備える、セキュア通信提供方法。 15.データ・サイトから前記コンピュータにパブリック・コードを受け取ること と、 前記セキュリティ・ユニットに前記パブリック・コードを入力すること を備え、 前記暗号化スキーマー・データが、少なくとも部分的には、前記セキュ リティ・コードと前記パブリック・コードの双方に基づく、請求項14記載のセ キュアデータ通信提供方法。 16.前記コンピュータから前記セキュリティ・ユニットへ前記暗号化スキーマー ・データをダウンロードすることを更に備える、請求項15記載のセキュアデー タ通信提供方法。
JP50472599A 1997-06-19 1998-06-15 ダイナミック・ランダム・エンクリプションを用いたデータ伝送用セキュリティ装置 Pending JP2002504293A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US5017697P 1997-06-19 1997-06-19
US60/050,176 1997-06-19
PCT/US1998/012578 WO1998058322A2 (en) 1997-06-19 1998-06-15 Security apparatus for data transmission with dynamic random encryption

Publications (1)

Publication Number Publication Date
JP2002504293A true JP2002504293A (ja) 2002-02-05

Family

ID=21963766

Family Applications (1)

Application Number Title Priority Date Filing Date
JP50472599A Pending JP2002504293A (ja) 1997-06-19 1998-06-15 ダイナミック・ランダム・エンクリプションを用いたデータ伝送用セキュリティ装置

Country Status (3)

Country Link
EP (1) EP0992002A2 (ja)
JP (1) JP2002504293A (ja)
WO (1) WO1998058322A2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013065025A (ja) * 2006-12-15 2013-04-11 Qualcomm Inc 安全な電話バンキングのための方法および装置

Families Citing this family (67)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6240183B1 (en) * 1997-06-19 2001-05-29 Brian E. Marchant Security apparatus for data transmission with dynamic random encryption
GB9920502D0 (en) 1999-09-01 1999-11-03 Ncr Int Inc Portable terminal
US7131008B1 (en) 1999-11-22 2006-10-31 Sun Microsystems, Inc. Mechanism for dynamically constructing customized implementations to enforce restrictions
US7051067B1 (en) 1999-11-22 2006-05-23 Sun Microsystems, Inc. Object oriented mechanism for dynamically constructing customized implementations to enforce restrictions
US6721888B1 (en) * 1999-11-22 2004-04-13 Sun Microsystems, Inc. Mechanism for merging multiple policies
US7103910B1 (en) 1999-11-22 2006-09-05 Sun Microsystems, Inc. Method and apparatus for verifying the legitimacy of an untrusted mechanism
JP2005515664A (ja) 2002-01-08 2005-05-26 セブン ネットワークス, インコーポレイテッド モバイル通信ネットワークのための安全な伝送
US7917468B2 (en) 2005-08-01 2011-03-29 Seven Networks, Inc. Linking of personal information management data
US8010082B2 (en) 2004-10-20 2011-08-30 Seven Networks, Inc. Flexible billing architecture
US7441271B2 (en) 2004-10-20 2008-10-21 Seven Networks Method and apparatus for intercepting events in a communication system
US7706781B2 (en) 2004-11-22 2010-04-27 Seven Networks International Oy Data security in a mobile e-mail service
FI117152B (fi) 2004-12-03 2006-06-30 Seven Networks Internat Oy Sähköpostiasetusten käyttöönotto matkaviestimelle
US7752633B1 (en) 2005-03-14 2010-07-06 Seven Networks, Inc. Cross-platform event engine
US8438633B1 (en) 2005-04-21 2013-05-07 Seven Networks, Inc. Flexible real-time inbox access
US7796742B1 (en) 2005-04-21 2010-09-14 Seven Networks, Inc. Systems and methods for simplified provisioning
WO2006136660A1 (en) 2005-06-21 2006-12-28 Seven Networks International Oy Maintaining an ip connection in a mobile network
US7769395B2 (en) 2006-06-20 2010-08-03 Seven Networks, Inc. Location-based operations and messaging
US8693494B2 (en) 2007-06-01 2014-04-08 Seven Networks, Inc. Polling
US8364181B2 (en) 2007-12-10 2013-01-29 Seven Networks, Inc. Electronic-mail filtering for mobile devices
US9002828B2 (en) 2007-12-13 2015-04-07 Seven Networks, Inc. Predictive content delivery
US8793305B2 (en) 2007-12-13 2014-07-29 Seven Networks, Inc. Content delivery to a mobile device from a content service
US8107921B2 (en) 2008-01-11 2012-01-31 Seven Networks, Inc. Mobile virtual network operator
US8862657B2 (en) 2008-01-25 2014-10-14 Seven Networks, Inc. Policy based content service
US20090193338A1 (en) 2008-01-28 2009-07-30 Trevor Fiatal Reducing network and battery consumption during content delivery and playback
CN101335755B (zh) * 2008-05-19 2012-07-04 北京深思洛克软件技术股份有限公司 一种利用声音信息提高信息安全设备验证安全性的方法
US8078158B2 (en) 2008-06-26 2011-12-13 Seven Networks, Inc. Provisioning applications for a mobile device
US8909759B2 (en) 2008-10-10 2014-12-09 Seven Networks, Inc. Bandwidth measurement
US9043731B2 (en) 2010-03-30 2015-05-26 Seven Networks, Inc. 3D mobile user interface with configurable workspace management
JP5620578B2 (ja) 2010-07-26 2014-11-05 セブン ネットワークス インコーポレイテッド 複数のアプリケーションにわたるモバイルネットワークトラフィック調整
WO2012018477A2 (en) 2010-07-26 2012-02-09 Seven Networks, Inc. Distributed implementation of dynamic wireless traffic policy
GB2495066B (en) 2010-07-26 2013-12-18 Seven Networks Inc Mobile application traffic optimization
US8838783B2 (en) 2010-07-26 2014-09-16 Seven Networks, Inc. Distributed caching for resource and mobile network traffic management
US8326985B2 (en) 2010-11-01 2012-12-04 Seven Networks, Inc. Distributed management of keep-alive message signaling for mobile network resource conservation and optimization
US8843153B2 (en) 2010-11-01 2014-09-23 Seven Networks, Inc. Mobile traffic categorization and policy for network use optimization while preserving user experience
WO2012060997A2 (en) 2010-11-01 2012-05-10 Michael Luna Application and network-based long poll request detection and cacheability assessment therefor
US9330196B2 (en) 2010-11-01 2016-05-03 Seven Networks, Llc Wireless traffic management system cache optimization using http headers
US9060032B2 (en) 2010-11-01 2015-06-16 Seven Networks, Inc. Selective data compression by a distributed traffic management system to reduce mobile data traffic and signaling traffic
CN103620576B (zh) 2010-11-01 2016-11-09 七网络公司 适用于移动应用程序行为和网络条件的缓存
WO2012060995A2 (en) 2010-11-01 2012-05-10 Michael Luna Distributed caching in a wireless network of content delivered for a mobile application over a long-held request
US8484314B2 (en) 2010-11-01 2013-07-09 Seven Networks, Inc. Distributed caching in a wireless network of content delivered for a mobile application over a long-held request
CA2798523C (en) 2010-11-22 2015-02-24 Seven Networks, Inc. Aligning data transfer to optimize connections established for transmission over a wireless network
GB2500327B (en) 2010-11-22 2019-11-06 Seven Networks Llc Optimization of resource polling intervals to satisfy mobile device requests
US9325662B2 (en) 2011-01-07 2016-04-26 Seven Networks, Llc System and method for reduction of mobile network traffic used for domain name system (DNS) queries
US9084105B2 (en) 2011-04-19 2015-07-14 Seven Networks, Inc. Device resources sharing for network resource conservation
EP2702827A4 (en) 2011-04-27 2014-10-22 Seven Networks Inc MOBILE DEVICE DISCHARGING REQUESTS MOBILE APPLICATION TO REMOTE ENTITY TO KEEP MOBILE DEVICE RESOURCES AND NETWORK RESOURCES AND RELATED METHODS
EP2702500B1 (en) 2011-04-27 2017-07-19 Seven Networks, LLC Detecting and preserving state for satisfying application requests in a distributed proxy and cache system
WO2013015994A1 (en) 2011-07-27 2013-01-31 Seven Networks, Inc. Monitoring mobile application activities for malicious traffic on a mobile device
EP2789137A4 (en) 2011-12-06 2015-12-02 Seven Networks Inc SYSTEM OF REDUNDANTLY CLUSTERED MACHINES FOR PROVIDING TILTING MECHANISMS IN MOBILE TRAFFIC MANAGEMENT AND NETWORK RESOURCE PRESERVATION
US8934414B2 (en) 2011-12-06 2015-01-13 Seven Networks, Inc. Cellular or WiFi mobile traffic optimization based on public or private network destination
US9277443B2 (en) 2011-12-07 2016-03-01 Seven Networks, Llc Radio-awareness of mobile device for sending server-side control signals using a wireless network optimized transport protocol
GB2498064A (en) 2011-12-07 2013-07-03 Seven Networks Inc Distributed content caching mechanism using a network operator proxy
US9832095B2 (en) 2011-12-14 2017-11-28 Seven Networks, Llc Operation modes for mobile traffic optimization and concurrent management of optimized and non-optimized traffic
WO2013090821A1 (en) 2011-12-14 2013-06-20 Seven Networks, Inc. Hierarchies and categories for management and deployment of policies for distributed wireless traffic optimization
WO2013090212A1 (en) 2011-12-14 2013-06-20 Seven Networks, Inc. Mobile network reporting and usage analytics system and method using aggregation of data in a distributed traffic optimization system
WO2013103988A1 (en) 2012-01-05 2013-07-11 Seven Networks, Inc. Detection and management of user interactions with foreground applications on a mobile device in distributed caching
WO2013116856A1 (en) 2012-02-02 2013-08-08 Seven Networks, Inc. Dynamic categorization of applications for network access in a mobile network
US9326189B2 (en) 2012-02-03 2016-04-26 Seven Networks, Llc User as an end point for profiling and optimizing the delivery of content and data in a wireless network
US8812695B2 (en) 2012-04-09 2014-08-19 Seven Networks, Inc. Method and system for management of a virtual network connection without heartbeat messages
WO2013155208A1 (en) 2012-04-10 2013-10-17 Seven Networks, Inc. Intelligent customer service/call center services enhanced using real-time and historical mobile application and traffic-related statistics collected by a distributed caching system in a mobile network
EP2674891A1 (en) * 2012-06-12 2013-12-18 Thomson Licensing A method, a device and a computer program support for execution of encrypted computer code
WO2014011216A1 (en) 2012-07-13 2014-01-16 Seven Networks, Inc. Dynamic bandwidth adjustment for browsing or streaming activity in a wireless network based on prediction of user behavior when interacting with mobile applications
US9161258B2 (en) 2012-10-24 2015-10-13 Seven Networks, Llc Optimized and selective management of policy deployment to mobile clients in a congested network to prevent further aggravation of network congestion
US20140177497A1 (en) 2012-12-20 2014-06-26 Seven Networks, Inc. Management of mobile device radio state promotion and demotion
US9271238B2 (en) 2013-01-23 2016-02-23 Seven Networks, Llc Application or context aware fast dormancy
US8874761B2 (en) 2013-01-25 2014-10-28 Seven Networks, Inc. Signaling optimization in a wireless network for traffic utilizing proprietary and non-proprietary protocols
US8750123B1 (en) 2013-03-11 2014-06-10 Seven Networks, Inc. Mobile device equipped with mobile network congestion recognition to make intelligent decisions regarding connecting to an operator network
US9065765B2 (en) 2013-07-22 2015-06-23 Seven Networks, Inc. Proxy server associated with a mobile carrier for enhancing mobile traffic management in a mobile network

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4799258A (en) * 1984-02-13 1989-01-17 National Research Development Corporation Apparatus and methods for granting access to computers
US5778071A (en) * 1994-07-12 1998-07-07 Information Resource Engineering, Inc. Pocket encrypting and authenticating communications device
US5724423A (en) * 1995-09-18 1998-03-03 Telefonaktiebolaget Lm Ericsson Method and apparatus for user authentication

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013065025A (ja) * 2006-12-15 2013-04-11 Qualcomm Inc 安全な電話バンキングのための方法および装置

Also Published As

Publication number Publication date
WO1998058322A3 (en) 1999-03-25
WO1998058322A2 (en) 1998-12-23
EP0992002A2 (en) 2000-04-12
WO1998058322A9 (en) 1999-04-29

Similar Documents

Publication Publication Date Title
JP2002504293A (ja) ダイナミック・ランダム・エンクリプションを用いたデータ伝送用セキュリティ装置
US6094486A (en) Security apparatus for data transmission with dynamic random encryption
CN100464313C (zh) 一种移动存储装置及存取移动存储装置中加密数据的方法
US6240183B1 (en) Security apparatus for data transmission with dynamic random encryption
US9729540B2 (en) System and method for user authentication
US9148415B2 (en) Method and system for accessing e-book data
US7366916B2 (en) Method and apparatus for an encrypting keyboard
JP4253543B2 (ja) ハードウェアプロテクトキー及びその再発行方法
CN101420427B (zh) 密码加密模块选择设备
CN106980794A (zh) 基于TrustZone的文件加解密方法、装置及终端设备
US6236728B1 (en) Security apparatus for data transmission with dynamic random encryption
CN108769027B (zh) 安全通信方法、装置、移动终端和存储介质
KR20100016579A (ko) 크리덴셜 배포를 위한 시스템 및 방법
CN101443744A (zh) 传送权限对象的方法和电子装置
JP2004355562A (ja) 機器認証システム
CN112883361B (zh) 应用程序的功能跳转方法、装置、计算机设备及存储介质
KR102055625B1 (ko) 인증 서버 장치, 프로그램 및 인증 방법
CN106599723A (zh) 一种文件加密方法及装置、文件解密方法及装置
CN101578608B (zh) 用于基于会话票证存取内容的方法及设备
US10762188B2 (en) Wireless injection of passwords
CN107040520B (zh) 一种云计算数据共享***及方法
CN105808977A (zh) 一种文件读操作、写操作的处理方法及装置
AU2019204724C1 (en) Cryptography chip with identity verification
US7715560B2 (en) Systems and methods for hiding a data group
KR20020035124A (ko) 휴대용 단말기