【文献】
野田 敏達ほか,個人用セキュリティアプライアンスの提案,情報処理学会研究報告,[DVD-ROM],2013年 4月,2012 (平成24) 年度 6,pp. 1-6,Vol.2013-DPS-154 No.1 / Vol.2013-CSEC-60 No.1
(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0021】
本発明は、様々な変更を加えることができ、様々な実施形態を有することができるので、以下、特定の実施形態を図面に例示し、詳細な説明に詳細に説明する。ところが、これらの実施形態は、本発明を特定の実施形態に限定しようとするものではなく、本発明の思想および技術範囲に含まれる変更、均等物および代替物をいずれも含むものと理解されるべきである。
【0022】
各図面を説明しながら、類似した参照符号を類似した構成要素に対して使用した。本発明を説明するにあたり、関連した公知の技術についての具体的な説明が本発明の要旨を不明確にする可能性があると判断される場合は、その詳細な説明を省略する。
【0023】
「第1」、「第2」などの用語は様々な構成要素を説明するために使用できるが、前記構成要素はこれらの用語により限定されてはならない。これらの用語は、ある構成要素を他の構成要素と区別する目的でのみ使用される。
【0024】
例えば、本発明の権利範囲を逸脱しない範疇内で、第1構成要素は第2構成要素と命名することができ、同様に、第2構成要素も第1構成要素と命名することができる。
【0025】
「および/または」という用語は、複数の関連した記載項目の組み合わせ、または複数の関連した記載項目のいずれかを含む。
【0026】
ある構成要素が他の構成要素に「連結」または「接続」されていると言及されたときは、他の構成要素に直接連結または接続されている可能性もあるが、それらの構成要素の間に別の構成要素が介在することもあると理解すべきである。
【0027】
これに対して、ある構成要素が他の構成要素に「直接連結」されているか、「直接接続」されていると言及されたときは、それらの構成要素の間に別の構成要素が存在しないと理解すべきである。
【0028】
本出願において使用した用語は、単に特定の実施形態を説明するために使用されたもので、本発明を限定しようとするものではない。
【0029】
単数の表現は、文脈上明らかに異なる意味を表さない限り、複数の表現を含む。本出願において、「含む」または「有する」などの用語は、明細書に記載された特徴、数字、段階、動作、構成要素、部品またはそれらの組み合わせが存在することを示すものであり、1つまたはそれ以上の他の特徴、数字、段階、動作、構成要素、部品またはそれらの組み合わせの存在または付加の可能性を予め排除するものではないと理解すべきである。
【0030】
別途定義されない限り、技術的または科学的な用語を含めてここで使用される全ての用語は、本発明の属する技術分野における通常の知識を有する者に一般的に理解されるものと同様の意味を有する。
【0031】
一般に使用される辞書に定義されている用語は、関連技術の文脈上持つ意味と同じ意味を持つと解釈されるべきであり、本出願において明らかに定義しない限り、理想的または過度に形式的な意味で解釈されない。
【0032】
図1は本発明に係るセキュリティクラウドサービス提供システムの構成図、
図2は
図1のエージェントの詳細構成を示すブロック図、
図4は
図1のセキュリティ鍵装置の詳細構成を示すブロック図である。
【0033】
図1に示すように、本発明に係るセキュリティクラウドサービス提供システムは、ユーザー端末1とセキュリティ鍵装置2とクラウドサーバー3とを含んでなる。ユーザー端末1は、ユーザーファイルが保存される装置であって、ファイルの保存、表示機能とインターネットに接続可能な通信環境を備えた各種端末、例えばPC、ノートパソコン、タブレットPC、スマートフォンなどを意味する。
図1では、1AはPC、1BはタブレットPC、1Cはスマートフォンをそれぞれ示す。
【0034】
また、クラウドサーバー3は、ユーザーファイルの共有のためのクラウドサービスを提供する装置であって、映画、写真、音楽などのメディアファイル、文書、住所録などといったユーザーのコンテンツを保存しておき、ユーザーPC、スマートフォン、スマートTVを含むユーザー端末からの要請があるとき、ユーザー端末でサーバーに保存されたコンテンツをダウンロードして使用することができるようにする。韓国内のクラウドサービスとしてはNAVER Nドライブ、KT Uクラウド、Daum クラウドがあり、外国のクラウドサービスとしてはDropbox、Box、Sugarsync、Googledrive、Sky Driveなどがある。
【0035】
図2に示すように、ユーザー端末1には、本発明に係るセキュリティクラウドサービスを提供するためのエージェント100がインストールされている。エージェント100は、イベント感知部110、セッション鍵生成部120、ヘッダー生成部130およびファイル暗復号化部140を含むことができる。
【0036】
イベント感知部110はファイルのイベント発生を感知することができる。ここで、イベントとしては、アップロードすべきファイルおよびダウンロードされたファイルの生成、コピー、削除などである。
【0037】
ここで、アップロードすべきファイルの生成およびコピーなどのように暗号化が必要なファイルの発生は第1イベントになり、ダウンロードされたファイルの生成および削除などのように復号化が必要なファイルの発生は第2イベントになることができる。
【0038】
ヘッダー生成部130は、ファイルのアップロードおよびコピーなどの第1イベントが感知されると、ランダム値を持つヘッダーを生成してセキュリティ鍵装置2へ伝送することができる。ここで、ヘッダーはファイルを暗復号化するための暗号化鍵であって、第1イベントの発生時ごとにランダムな値として生成できる。
【0039】
また、ヘッダー生成部130は、ファイルのダウンロードおよび削除などの第2イベントが感知されると、クラウドサーバー3からダウンロードされたファイルのヘッダーをセキュリティ鍵装置2へ伝送することができる。
【0040】
イベント感知部110は、ユーザーがクラウドサーバー3へファイルをアップロードしようとする場合およびファイルをコピーしようとする場合、セキュリティ鍵装置2の接続か否かを感知し、セキュリティ鍵装置2が接続されている場合にのみ、セキュリティ鍵装置でアップロード対象ファイルのヘッダーに対する暗号化動作を開始するようにしてセキュリティ性を強化することができる。
【0041】
また、イベント感知部110は、ユーザーがクラウドサーバー3から暗号化ファイルをダウンロードして保存しようとする場合およびファイルを削除しようとする場合、セキュリティ鍵装置2の接続か否かを感知し、セキュリティ鍵装置2が接続されている場合にのみ、セキュリティ鍵装置2で暗号化ファイルのヘッダーに対する復号化動作を開始するようにすることができる。
【0042】
セッション鍵生成部120は、セキュリティ鍵装置2の接続が感知されると、ユーザー認証を介して物理的に接続されたセキュリティ鍵装置2との論理的接続のためのセッションを形成することができる。
【0043】
セッション鍵生成部120は、ユーザー端末1へのセキュリティ鍵装置2の接続時に、パスワードで鍵誘導された認証ランダム値を公開鍵で暗号化した認証値をセキュリティ鍵装置2へ伝送し、セキュリティ鍵装置2から認証値に対する応答値を受信してセッション鍵を生成してセキュリティ鍵装置2へ伝送することにより、セキュリティ鍵装置2とのセッションを形成することができる。
【0044】
具体的に、セッション鍵生成部120は、セキュリティ鍵装置2の物理的接続を感知すると、ユーザーからパスワードの入力を受けることができる。また、セッション鍵生成部120は、パスワード入力の際にセキュリティ鍵装置2から公開鍵を要請して受信することができる。一方、認証値の生成については
図3を参照して説明することができる。
【0045】
図3は
図2のセッション鍵生成部の認証値データ生成を説明するための図である。
【0046】
セッション鍵生成部120は、パスワードで鍵誘導された認証ランダム値を生成することができる。ここで、認証ランダム値は、AES(Advanced Encryption Standard)アルゴリムを用いて生成でき、CBC(Cipher Block Chaining)モードで暗号化できる。
【0047】
ここで、認証ランダム値(key)は、CBCモードで次の数式を用いて16バイトとして生成できる。
【0049】
認証ランダム値は、IV(Initialization Vector:初期化ベクトル)とパスワード平文の最初1ブロックとXOR演算して暗号化し、平文の次のブロック(SNO)は以前に暗号化された結果ブロック(SNO−1)とXOR演算する過程を繰り返し行うことにより得られる。ここで、最終ブロックはパディングされたブロックであってもよい。
【0050】
セッション鍵生成部120は、パスワードで鍵誘導された16バイトの認証ランダム値が生成されると、前の8バイト(第1ランダム値)220と後ろの8バイト(第2ランダム値)230に分離し、各ランダム値の前にパスワード文字列210を挿入して認証値データの第1ブロックおよび第2ブロックを生成することができる。
【0051】
例えば、パスワードが「SZTGBPWD」であり、前記数式で得られた認証ランダム値が0×00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0Fであれば、第1ブロックは「S Z T G B P W D 00 01 02 03 04 05 06 07」となり、第2ブロックは「S Z T G B P W D 08 09 0A 0B 0C 0D 0E 0F」となる。ここで、第1ブロックと第2ブロックはパスワードに基づく暗号化の標準PKCS#5(Public Key Cryptography Standard)に準じて暗号化できる。
【0052】
図3に示すように、認証値データ200は、256バイトであり、16バイト列を持つ多数のブロックから構成できる。
【0053】
第1ブロックは、パスワード文字列210の8バイトと、パスワードで鍵誘導された第1ランダム値220の8バイトから構成できる。
【0054】
第2ブロックは、パスワード文字列210の8バイトと、パスワードで鍵誘導された第2ランダム値230の8バイトから構成できる。
【0055】
また、第3ブロックは、セキュリティ鍵装置2から受信された公開鍵の検証結果に対する4バイトの検証値240を含むことができ、残りの12バイトはパディングが適用できる。一方、残りのブロックはパディングが適用できる。すなわち、パディング250として220バイトが適用できる。
【0056】
セッション鍵生成部120は、
図3の認証値データ256バイトを、セキュリティ鍵装置2から受信された公開鍵としてRSA暗号化してセキュリティ鍵装置2へ伝送することができる。また、セッション鍵生成部120は、暗号化された認証値データに対する応答として、セキュリティ鍵装置2からパスワードで暗号化された応答値データを受信してセッション鍵を生成し、生成されたセッション鍵をセキュリティ鍵装置2へ伝送することにより、セッションを形成することができる。
【0057】
ヘッダー生成部130は、第1イベントが感知されたファイルに対するヘッダーを生成し、生成されたヘッダーを、セッション鍵生成部120で生成されたセッション鍵で暗号化してセキュリティ鍵装置2へ伝送することができる。
【0058】
ここで、アップロードファイルに対して生成されたヘッダーは、セキュリティ鍵装置2で暗号化された後、ファイル暗復号化部140へ伝送できる。また、ダウンロードファイルに対するヘッダーは、セキュリティ鍵装置2で復号化された後、ファイル暗復号化部140へ伝送できる。
【0059】
ファイル暗復号化部140は、セキュリティ鍵装置2で
復号化されたヘッダーを用いて、第1イベントの感知されたファイルを暗号化し、暗号化されたファイルをクラウドサーバー3へアップロードすることができる。
【0060】
また、ファイル暗復号化部140は、セキュリティ鍵装置2で復号化されたヘッダーを用いて、第2イベントの感知されたファイルを復号化し、ユーザー端末1で実行できるようにする。
【0061】
セキュリティ鍵装置2は、ユーザー端末1に着脱可能に接続されてユウザー端末1に接続された状態で動作し、イべント感知部110でイベントが感知されたファイルのヘッダー生成部130から受信し、ファイル暗号化部140に伝送することができる。
【0062】
具体的にセキュリティ鍵装置2は、ファイルのアップロードではヘッダー生成部130から受信されたヘッダーをファイル暗復合化部140へ伝送し、ファイルダウンロード作業ではクラウドサーバー3からダウンロードされた暗号化ファイルのヘッダーを復合化してファイル暗復合化部140へ伝送する機能を行う。また、ファイルのコピー、削除などのイベントの発生時にも暗号復号化過程を行うことができる。
【0063】
一方、
図4はセキュリティ鍵装置2の詳細構成を示す 。
図4に示すように、セキュリティ鍵装置2は、インターフェース部10A、10B、暗復号化変換支援コントローラー20、保存部30およびセキュリティ認証チップ40を含んで構成される。
【0064】
インターフェース部10A、10Bは、ユーザー端末1に電気的に接続するためのコネクタであって、インターフェースの一例として、USBコネクタ10AとマイクロUSBコネクタ10Bが示されているが、その他、各種インターフェース装置が使用できる。
【0065】
暗復号化変換支援コントローラー20は、内部に保存されている暗号化鍵と暗復号化エンジンブロックを介してイベント発生ファイルのヘッダーに対する暗号化または復号化を行い、本発明のセキュリティ鍵装置2をバックアップ用メモリとして使用する場合には、データのバックアップのための制御動作を行う。
【0066】
ここで、暗号化および復号化の遂行の際に、ファイルのヘッダー部分のみ暗号化および復号化することにより、送受信されるデータを軽量化し、処理速度を向上させることができる。
【0067】
また、暗復号化変換支援コントローラー20は、セキュリティ鍵装置2がユーザー端末1に接続される場合、セキュリティ認証チップ40を介してユーザー認証を行い、ユーザー認証が行われる場合にのみ暗号化または復号化動作を行う。ここで、ユーザー認証は、ユーザーによって入力される、パスワードで鍵誘導されたランダム値を公開鍵で暗号化した認証値、および認証値に対する応答値を用いてセッション鍵を確立することにより行われ得る。
【0068】
保存部30は、暗号化されたヘッダーを保存するものであって、保存領域を分割し、一部の領域は一般ストレージ領域として使用され、残りの一部の領域は暗号化ヘッダーが保存されるようにすることができる。保存部30は、一般なUSBメモリとして使用されるフラッシュメモリ、および各種記憶媒体を含む。
【0069】
セキュリティ認証値40は、セキュリティ鍵装置2がユーザー端末1に接続される場合、ユーザー認証を行ってセキュリティ機能を提供するチップであって、ユーザー認証手段としてパスワード情報、ユーザー指紋情報、およびOTP値を生成するOTP生成モジュールのうち少なくとも一つを保存することができる。
【0070】
パスワード情報は、ユーザーによって予め設定された暗証番号情報であって、暗号化鍵とは別個の情報である。そして、ユーザー指紋情報によるユーザー認証のためには、セキュリティ鍵装置2の内部または外部に指紋認識装置が設置されていなければならない。
【0071】
OTP生成モジュールは、任意の乱数と増加する値または時間を暗号アルゴリズムの入力値として用いてOTP値を生成する。生成されたOTP値を認証サーバーへ送ってユーザーを認証するのである。このような多重認証過程を介してセキュリティ鍵装置のセキュリティを強化することができる。一方、このような多重認証過程を介して、セキュリティ鍵装置のセキュリティ性は向上するが、ユーザーがセキュリティ鍵装置2を紛失する場合には、クラウドサーバー3にアップロードされた暗号化ファイルを開いてみることができないという問題点が発生する。よって、このような点を懸念するユーザーおよび共同作業者のためにセキュリティ鍵装置製品を2つまたはそれ以上使用する企業および団体のため、同一の暗号化鍵を持つ製品を複数個販売提供して紛失に対する対策を提供することができる。
【0072】
そして、多数の人が共同作業形態で進行するファイルの履歴を管理するためには、別途のエージェンシーサーバーサービスと連動するように管理することも可能である。すなわち、共同ユーザーのための複数のセキュリティ鍵装置は、一つの同じ暗号化鍵を使用するが、セキュリティ鍵装置ごとに各装置を区分することが可能な識別情報を割り当て、共同作業中のファイルをどのユーザーが最後に修正したか、何時コピーをしたかなどの履歴を管理することもできる。
【0073】
一方、セキュリティ認証チップ40は、ユーザー認証の際に、エージェント100のセッション鍵生成部120から受信された認証値データに対する応答値データを生成してエージェント100へ伝送し、これを用いてエージェント100で生成されたセッション鍵を受信してエージェント100とのセッションを形成することができる。一方、これについて説明は
図5を参照して具体的に行うことができる。
【0074】
図5は
図4のセキュリティ認証チップ40の応答値データ生成を説明するための図である。
【0075】
セキュリティ認証チップ40は、セッション鍵生成部120から認証値データを受信すると、パスワードを用いて復号化し、パスワードが一致するか否かを検証することができる。
【0076】
セキュリティ認証チップ40は、パスワードが一致すると検証されると、パスワードで鍵誘導された応答ランダム値を生成することができる。ここで、応答ランダム値は、認証ランダム値の生成と同一のアルゴリズムを用いて生成することができる。すなわち、AES(Advanced Encryption Standard)アルゴリズムを用いて生成でき、CBC(Cipher Block Chaining)モードで暗号化できる。
【0077】
ここで、応答ランダム値(key 1)は、CBSモードで次の数式を用いて16バイトとして生成できる。
【0079】
認証ランダム値は、IV(Initialization Vector:初期化ベクトル)およびパスワード平文の最初1ブロックとXOR演算して暗号化し、平文の次のブロック(SNO)は以前に暗号化された結果ブロック(SNO−1)とXOR演算する過程を繰り返し行うことにより得られる。
【0080】
セキュリティ認証値40は、パスワードで鍵誘導された16バイトの応答ランダム値が生成されると、前の8バイト(第3ランダム値)320と後ろの8バイト(第4ランダム値)330に分離し、各ランダム値の前にパスワード文字列310を挿入して応答値データ300の第1ブロックおよび第2ブロックを生成することができる。
【0081】
図5に示すように、応答値データ300は、32バイトであり、16バイト列を持つ第1ブロックおよび第2ブロックから構成できる。
【0082】
第1ブロックは、パスワード文字列310の8バイトと、パスワードで鍵誘導された第3ランダム値320の8バイトから構成できる。
【0083】
第2ブロックは、パスワード文字列310の8バイトと、パスワードで鍵誘導された第4ランダム値330の8バイトから構成できる。
【0084】
セキュリティ認証チップ40は、
図5の応答値データ32バイトをパスワードで暗号化してセッション鍵生成部120へ伝送することができる。
【0085】
セキュリティ認証チップ40は、セッション鍵生成部120からセッション鍵を受信すると、セッションを形成することができる。
【0086】
ここで、セッション鍵は、セッション鍵生成部120で生成した認証ランダム値、およびセキュリティ鍵装置2から受信した応答値データに含まれた応答ランダム値を用いてセッション鍵生成部120によって生成できる。
【0087】
図6はPC環境でセキュリティ鍵装置の使用のための事前過程を示す流れ図である。
【0088】
セキュリティ鍵装置2がユーザーPCに接続されると(S100)、ユーザーPCに搭載されているエージェント100が駆動される(S110)。エージェント100は、セキュリティ鍵装置2と連動してセキュリティクラウドサービスを提供するためのものであって、クラウド同期化の際に暗号化対象ファイルが認識されると、ヘッダー生成部130で生成した暗号化対象ファイルのヘッダーをセキュリティ鍵装置2へ送ってハードウェア的にヘッダーが暗号化されるようにし、クラウドサーバー3からダウンロードされた暗号化ファイルのヘッダーをセキュリティ鍵装置2を介して復号化し、セキュリティ鍵装置2の接続か否かに応じて自動暗号化および自動暗号化解除動作を行うように製作されたプログラムである。
【0089】
エージェント100が駆動されると、セキュリティ鍵装置2の製造社のホームページに接続され、該当ホームページでユーザー登録および会員加入をするように誘導した後(S120)、ユーザー認証が行われる(S130)。ユーザー認証は、上述したように、パスワード、指紋情報、OTPなどの様々な方式で行われてもよく、パスワードで鍵誘導されたランダム値を用いてセッション鍵を生成することにより、セキュリティ性をさらに高めることができる。
【0090】
その後、エージェント100は、ユーザーがクラウドサーバー3と同期化すべきクラウドド暗号化同期フォルダーを指定または生成するように案内する(S140)。ここで、クラウド暗号化同調フォルダーは、該当するフォルダーに保存される全てのファイルが、セキュリティ鍵装置2から伝送されたヘッダーで暗号化された後、クラウドサーバー3へ伝送できる。
【0091】
或いは、クラウド暗号化同期フォルダーは、暗号化過程なしでクラウドサーバー3へファイルを伝送するようにする一般同期フォルダーと、ファイルをヘッダーで暗号化してクラウドサーバー3にアップロードするためのセキュリティ同期フォルダーに区分されることもある。この場合、エージェントは、クラウド暗号化同期フォルダーの下位フォルダーとしてセキュリティ同期フォルダーを生成することができ、セキュリティ同期フォルダーに保存されるファイルに対してのみセキュリティクラウドサービス動作を行うことができる(S150)。
【0092】
図7はPC環境でセキュリティ鍵装置を用いてファイルを暗号化してクラウドサーバーへ伝送する過程を示す流れ図である。
【0093】
ユーザーPCに搭載されたエージェント100は、セキュリティ鍵装置2がユーザーPCに接続されるかを感知し(S201)、セキュリティ鍵装置2の接続が感知される場合、ユーザー認証を行ってセッション鍵を生成することができる(S202)。一方、ユーザー認証についての具体的な説明は
図9で説明することができる。
【0094】
エージェント100は、クラウドサーバー3にアップロードされるべきファイルの生成およびコピーなどの第1イベントを感知し(S203)、第1イベントが感知される場合、該当ファイルに対するヘッダーを生成することができる(S204)。ここで、ヘッダーは、第1イベントが感知されたファイルを暗号化するための暗号化鍵値であって、ランダムな値として生成できる。
【0095】
次に、生成されたヘッダーを、S202段階で生成されたセッション鍵で暗号化し、セキュリティ鍵装置へ伝送することができる(S203)。エージェント100は、セキュリティ鍵装置2によって伝送されたヘッダーが復号化されて受信されると(S206)、復号化されたヘッダーを用いて第1イベントの感知されたファイルを暗号化することができる(S207)。
【0096】
エージェント100は、アップロードされるべきファイルが暗号化されると、暗号化ファイルを該当フォルダーに保存する(S208)。暗号化ファイルは暗号化対象範囲に応じてクラウド暗号化同期フォルダーまたはその下位のセキュリティ同期フォルダーに保存され、各場合に該当フォルダーに保存されたファイルはクラウドアプリケーションの実行によってクラウドサーバー3へ伝送される。
【0097】
もし、このような自動暗号化動作が行われる間、セキュリティ鍵装置2の除去、すなわち接続解除が感知されると(S209)、エージェント100は、自動暗号化を解除し(S210)、該当フォルダー内のファイルを除去してクラウドサーバー3との同期化を防止する。
【0098】
図8はモバイル環境でクラウドサービスを用いてファイルを復号化する過程を示す流れ図である。
【0099】
まず、クラウドサービスを提供するためのクラウドアプリケーションが実行され(S301)、暗号化ファイルがクラウドサーバー3からモバイル端末にダウンロードされると、第2イベントが発生したと感知することができる(S302)。
【0100】
暗号化ファイルが受信されると、セキュリティクラウドサービスのためのエージェント100が駆動され、セキュリティ鍵装置2の接続か否かをモニタリングする。
【0101】
セキュリティ鍵装置2がモバイル端末に接続されると(S303)、ユーザー認証を介してセッション鍵を生成してエージェント100とのセッションを形成し(S304)、ユーザー認証が完了すると、エージェントは、受信された暗号化ファイルのヘッダーを、S304段階で生成されたセッション鍵で暗号化してセキュリティ鍵装置2へ伝送することができる(S305)。
【0102】
エージェント100は、セキュリティ鍵装置2を介してヘッダーが復号化されて(S306)伝送されると、復号化されたヘッダーを用いてファイルを復号化することができる(S307)。
【0103】
ユーザー端末1は、復号化されたファイルを実行して画面上に表示することができる。
【0104】
もし、このようなダウンロードファイル実行動作が行われる間、セキュリティ鍵装置2の除去、すなわち接続解除が感知されると(S308)、エージェント100は、自動復号化を解除し、該当フォルダー内の復号化されたキャッシュファイルを除去して該当ファイルの実行を防止する(S309)。
【0105】
図9はユーザー端末にセキュリティ鍵装置が接続されるときのユーザー認証過程を示す流れ図である。一方、
図9の説明のために、
図2〜
図5を参照して説明することができる。
【0106】
エージェント100のインストールされたユーザー端末1に対するセキュリティ鍵装置2の物理的接続が感知されると、エージェント100はユーザーからパスワードの入力を受けることができる(S410)。
【0107】
エージェント100は、ユーザーからパスワードが入力されると、セキュリティ鍵装置2に公開鍵を要請することができる(S420)。セキュリティ鍵装置2が公開鍵の要請に応答して公開鍵を伝送すると(S430)、エージェント100は公開鍵を受信して保存することができる(S440)。
【0108】
次に、エージェント100のセッション鍵生成部120は、入力されたパスワードで鍵誘導された認証ランダム値を生成することができる(S450)。ここで、認証ランダム値は、AES(Advanced Encryption Standard)アルゴリズムを用いて生成でき、CBC(Cipher Block Chaining)モードで暗号化できる。
【0109】
ここで、認証ランダム値は、16バイトであって、前の8バイトを第1ランダム値、後ろの8バイトを第2ランダム値に分離して認証値データの生成に利用することができる。
【0110】
次に、エージェント100のセッション鍵生成部120は、生成された認証ランダム値を用いて認証値データを生成し、これをセキュリティ鍵装置2から受信した公開鍵で暗号化し(S460)、セキュリティ鍵装置2へ伝送することができる。
【0111】
ここで、認証値データは、256バイトであって、パスワード、認証ランダム値、公開鍵検証値およびパディングなどから構成できる。一方、認証ランダム値および認証値データの生成についての説明は、
図3の説明で上述したので、以下では省略する。
【0112】
セキュリティ鍵装置2は、エージェント100から受信した暗号化認証値データをパスワードを用いて復号化することにより、パスワードを検証することができる(S470)。
【0113】
次に、セキュリティ鍵装置2は、パスワードで鍵誘導された応答ランダム値を生成することができる(S480)。ここで、応答ランダム値は、AES(Advanced Encryption Standard)アルゴリズムを用いて生成でき、CBC(Cipher Block Chaining)モードで暗号化できる。
【0114】
ここで、応答ランダム値は、16バイトであって、前の8バイト(第3ランダム値)と後ろの8バイト(第4ランダム値)に分離して応答値データの生成に利用することができる。
【0115】
次に、セキュリティ鍵装置2は、生成された応答ランダム値を用いて応答値データを生成し(S490)、これをパスワードで暗号化し(S500)、エージェント100へ伝送することができる。
【0116】
その後、エージェント100は、S450段階で生成した認証ランダム値、およびセキュリティ鍵装置2から受信した応答値データ内に含まれた応答ランダム値を用いてセッション鍵を生成し(S510)、生成されたセッション鍵をセキュリティ鍵装置2へ伝送することができる。
【0117】
次いで、セキュリティ鍵装置2は、セッション鍵が受信されると、エージェント100と論理的に接続するセッションを形成することにより、ログインさせることができる(S520)。
【0118】
図10はファイルアップロード時にセキュリティ鍵装置でファイルのヘッダーを暗号化する過程を示す図、
図11はファイルダウンロード時にセキュリティ鍵装置でファイルのヘッダーを復号化する過程を示す図である。
図10および
図11ではUSBコネクタ10Aにユーザー端末1が接続された場合が例示的に説明されている。
【0119】
まず、
図10を参照すると、ファイルアップロード時のエージェント100からセキュリティ鍵装置2へのデータ流れは実線の矢印、逆の場合は破線の矢印で表示されている。
【0120】
エージェント100から、アップロードすべき原本ファイルを暗号化するためのヘッダーが入力されると(S1)、暗復号化変換支援コントローラー20は受信された原本ファイルのヘッダーを暗号化し(S2)、暗号化されたヘッダーを保存部30に保存した後(S3)、保存部30に保存された暗号化ヘッダーをエージェント100へ移動させる(S4)。
【0121】
エージェント100は、暗号化されたヘッダーを受信し、アップロードすべき原本ファイルを暗号化してクラウドサーバー3にアップロードすることができる。
【0122】
次に、
図11を参照すると、ファイルダウンロード時のエージェント100からセキュリティ鍵装置2へのデータ流れは実線の矢印、逆の場合は破線の矢印で表示されている。エージェント100から、クラウドサーバー3からダウンロードされた暗号化ファイルのヘッダーが入力されると(S11)、暗復号化変換支援コントローラー20は、受信された暗号化ヘッダーを通過(Pass Through)させて保存部30に保存し(S12)、保存部30に保存された暗号化ヘッダーを復号化した後(S13)、復号化されたヘッダーをエージェント100へ移動させる(S14)。
【0123】
エージェント100は、復号化されたヘッダーを受信し、ダウンロードされた暗号化ファイルを復号化してユーザー端末1で実行できるようにする。一方、ファイルのアップロードおよびダウンロードのようなファイルの生成の他に、コピー、削除などのイベントの発生時にも
図10および
図11のようなデータ流れに従って暗復号化を行うことができる。
【0124】
前述した本発明の好適な実施形態は、例示の目的のために開示されたものであり、本発明について通常の知識を有する当業者であれば、本発明の思想および範囲内において様々な修正、変更、付加が可能であり、それらの修正、変更および付加も特許請求の範囲に属すると理解すべきであろう。