(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2022-09-29
(54)【発明の名称】強化された安全な暗号化及び復号化システム
(51)【国際特許分類】
H04L 9/08 20060101AFI20220921BHJP
G06F 21/60 20130101ALI20220921BHJP
【FI】
H04L9/08 B
H04L9/08 E
G06F21/60 320
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2022504535
(86)(22)【出願日】2020-07-23
(85)【翻訳文提出日】2022-03-15
(86)【国際出願番号】 US2020043283
(87)【国際公開番号】W WO2021016459
(87)【国際公開日】2021-01-28
(32)【優先日】2019-07-25
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2020-07-22
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】522029338
【氏名又は名称】エブリシング ブロックチェーン テクノロジー コーポレーション
(74)【代理人】
【識別番号】100108833
【氏名又は名称】早川 裕司
(74)【代理人】
【識別番号】100162156
【氏名又は名称】村雨 圭介
(72)【発明者】
【氏名】ブランドン ハート
(72)【発明者】
【氏名】コートニー ローチ
(57)【要約】
【解決手段】
一形態では、データ作成装置が一時的対称鍵技術(TSKT)システムにおいてデータペイロードを他のデバイスに安全に送信するための方法は、コマンド及び制御サーバから第1のシード及びフォーミュラを受信することを含む。第2のシードが生成され、第1のシードと第2のシードは、フォーミュラを用いて結合されてデータシードを作成する。第1のシードを用いて第1の鍵が生成され、第2のシードは、第1の鍵を用いて暗号化されて暗号化された第2のシードを形成する。データシードを用いて第2の鍵が生成され、データペイロードは、第2の鍵を用いて暗号化されて暗号化されたデータペイロードを形成する。暗号化されたデータペイロード及び暗号化された第2のシードは安全なコンテナ内で結合され、続いて全ての鍵及びシード並びにフォーミュラが破棄される。
【選択図】
図6
【特許請求の範囲】
【請求項1】
データ作成装置がデータペイロードを一時的対称鍵技術(TSKT)システムにおける他のデバイスに安全に送信するための方法であって、
第1のシード及びフォーミュラをコマンド及び制御サーバから受信することと、
第2のシードを生成することと、
前記フォーミュラを用いて前記第1のシードと前記第2のシードを結合して、データシードを作成することと、
前記第1のシードを用いて第1の鍵を生成して、暗号化された第2のシードを生成することと、
前記第1の鍵を用いて前記第2のシードを暗号化することと、
前記データシードを用いて第2の鍵を生成することと、
前記第2の鍵を用いて前記データペイロードを暗号化して、暗号化されたデータペイロードを形成することと、
前記暗号化されたデータペイロード及び前記暗号化された第2のシードを安全なコンテナ内で結合し、続いて全ての鍵及びシード並びに前記フォーミュラを破棄することと、を備える方法。
【請求項2】
前記第1のシード及び前記フォーミュラを前記コマンド及び制御サーバから受信することが、
暗号化された第1のシード及び暗号化されたフォーミュラを前記コマンド及び制御サーバから受信することと、
前記暗号化された第1のシード及び前記暗号化されたフォーミュラを復号化し、前記復号化することに応答して前記第1のシード及び前記フォーミュラを提供することと、を備える請求項1に記載の方法。
【請求項3】
前記暗号化された第1のシード及び前記暗号化されたフォーミュラを前記コマンド及び制御サーバから受信する前に、前記安全なコンテナを作成する要求を前記コマンド及び制御サーバに送信することを更に備える請求項2に記載の方法。
【請求項4】
安全な通信プロトコルを用いて前記コマンド及び制御サーバと通信することを更に備える請求項1に記載の方法。
【請求項5】
前記通信することが、
公開鍵及び秘密鍵を生成することと、
前記公開鍵を前記コマンド及び制御サーバに送信することと、
前記公開鍵を用いて生成された少なくとも1つのセッション鍵で対称鍵暗号化を用いて前記コマンド及び制御サーバと通信することと、を備える請求項4に記載の方法。
【請求項6】
前記フォーミュラが、ランダムに一意的であるとして特徴付けられ、
前記第2のシードを生成することが、疑似乱数発生器(PRNG)を用いて前記第2のシードを生成することを備える請求項1に記載の方法。
【請求項7】
前記データ作成装置が、高度暗号化標準(AES)暗号化アルゴリズムを用いて前記第1及び第2の鍵を生成する請求項1に記載の方法。
【請求項8】
前記第1のシード、前記第2のシード、前記データシード、前記第1の鍵、及び前記第2の鍵を破棄することが、
前記データ作成装置に関連付けられたメモリ内の前記第1のシード、前記第2のシード、前記データシード、前記第1の鍵、及び前記第2の鍵の値を上書きすることを備える請求項1に記載の方法。
【請求項9】
前記データペイロード及び前記第2のシードを前記安全なコンテナ内で結合することが、
メタデータを前記暗号化されたデータペイロード及び前記暗号化された第2のシードと前記安全なコンテナ内で結合することを備える請求項1に記載の方法。
【請求項10】
前記メタデータが、前記安全なコンテナに関連付けられたデータ権利管理情報を備える請求項9に記載の方法。
【請求項11】
前記メタデータが、前記データ作成装置を制御する個人に関する生体認証情報を備える請求項9に記載の方法。
【請求項12】
前記メタデータが、前記データ作成装置に関連する地理位置データを備える請求項9に記載の方法。
【請求項13】
データアクセス装置がデータペイロードを一時的対称鍵技術(TSKT)システムにおける他のデバイスから安全に復号化するための方法であって、
前記他のデバイスから安全なコンテナを受信しそれを開くことと、
前記安全なコンテナから暗号化された第2のシード及び暗号化されたデータペイロードを抽出することと、
暗号化された第1のシード及び暗号化されたフォーミュラを受信することと、
前記暗号化された第1のシード及び前記暗号化されたフォーミュラを復号化して第1のシード及びフォーミュラを作成することと、
前記第1のシードを用いて第1の鍵を生成することと、
前記第1の鍵を用いて前記暗号化された第2のシードを復号化して、第2のシードを形成することと、
前記フォーミュラを用いて前記第1のシード及び前記第2のシードを結合して、データシードを作成することと、
前記データシードを用いて第2の鍵を生成することと、
前記第2の鍵を用いて前記暗号化されたデータペイロードを復号化して、データペイロードを取得し、続いて全ての鍵及びシード並びに前記フォーミュラを破棄することと、を備える方法。
【請求項14】
公開鍵及び秘密鍵を生成することと、
前記公開鍵をコマンド及び制御サーバに送信することと、
前記公開鍵を用いて生成された少なくとも1つのセッション鍵で対称鍵暗号化を用いて前記データアクセス装置と前記コマンド及び制御サーバとの間で通信することと、を更に備える請求項13に記載の方法。
【請求項15】
前記他のデバイスがクラウドストレージサーバを備える請求項13に記載の方法。
【請求項16】
前記他のデバイスが携帯型記憶媒体を備える請求項13に記載の方法。
【請求項17】
コマンド及び制御サーバを動作させて一時的対称鍵技術(TSKT)システムを実装するための方法であって、
データ作成装置からの安全なコンテナを作成するための第1の要求に応答して、
前記第1の要求を認証することと、
前記認証することに応答してシード及びフォーミュラを生成することと、
前記シード及び前記フォーミュラを暗号化して第1の暗号化されたシード及び第1の暗号化されたフォーミュラを提供することと、
前記第1の暗号化されたシード及び前記第1の暗号化されたフォーミュラを前記データ作成装置に送信することと、
データアクセス装置から前記安全なコンテナ内のデータにアクセスするための第2の要求に応答して、
前記第2の要求を許可することと、
前記許可することに応答して前記シード及び前記フォーミュラを検索することと、
前記安全なコンテナに関連する前記シード及び前記フォーミュラを暗号化して、第2の暗号化されたシード及び第2の暗号化されたフォーミュラを形成することと、
前記暗号化することに応答して前記第2の暗号化されたシード及び前記第2の暗号化されたフォーミュラを前記データアクセス装置に送信することと、を備える方法。
【請求項18】
前記フォーミュラが、ランダムに一意的であるとして特徴付けられ、
前記シードを生成することが、疑似乱数発生器(PRNG)を用いて前記シードを生成することを備える請求項17に記載の方法。
【請求項19】
前記データ作成装置から第1の公開鍵を受信することと、
続いて、前記第1の公開鍵を用いて生成された少なくとも1つのセッション鍵で対称鍵暗号化を用いて前記コマンド及び制御サーバと前記データ作成装置との間で通信することと、を更に備える請求項17に記載の方法。
【請求項20】
前記通信することが、
前記データアクセス装置から第2の公開鍵を受信することと、
前記第2の公開鍵を用いて生成された少なくとも1つのセッション鍵で対称鍵暗号化を用いて前記コマンド及び制御サーバと前記データアクセス装置との間で通信することと、を更に備える請求項19に記載の方法。
【請求項21】
データ作成装置と、
前記データ作成装置に結合されたコマンド及び制御サーバと、を備え、
ユーザ入力に応答して、前記データ作成装置が、データペイロードの安全な送信及び保存のための安全なコンテナを作成するために、前記コマンド及び制御サーバに要求を送信し、
前記コマンド及び制御サーバが、前記要求を認証し、前記要求を認証することに応答して第1のシード及びフォーミュラを生成し、前記第1のシード及び前記フォーミュラを暗号化して、暗号化された第1のシード及び暗号化されたフォーミュラを提供し、前記暗号化された第1のシード及び前記暗号化されたフォーミュラを前記データ作成装置に送信し、
前記データ作成装置が、前記暗号化された第1のシード及び前記暗号化されたフォーミュラを復号化し、第2のシードを生成し、前記フォーミュラを用いて前記第1のシード及び前記第2のシードを結合して、データシードを作成し、前記第1のシードを用いて第1の鍵を生成し、前記第1の鍵を用いて前記第2のシードを暗号化して、暗号化された第2のシードを生成し、前記データシードを用いて第2の鍵を生成し、前記第2の鍵を用いて前記データペイロードを暗号化し、前記データペイロードと前記暗号化された第2のシードとを前記安全な容器内で結合し、続いて全ての鍵及びシード並びに前記フォーミュラを破棄する、一時的対称鍵技術(TSKT)システム。
【請求項22】
前記安全なコンテナを受信及び保存するために前記データ作成装置に結合されたストレージサーバを更に備える請求項21に記載のTSKTシステム。
【請求項23】
前記ストレージサーバがクラウドストレージサーバを備える請求項22に記載のTSKTシステム。
【請求項24】
前記コマンド及び制御サーバと前記ストレージサーバとが、共通のコンピュータシステムを用いて実装される請求項22に記載のTSKTシステム。
【請求項25】
前記コマンド及び制御サーバと前記ストレージサーバとが、別個のコンピュータシステムを用いて実装される請求項22に記載のTSKTシステム。
【請求項26】
前記ストレージサーバに結合されたデータアクセス装置を更に備え、前記データアクセス装置が、第2の公開鍵及び第2の秘密鍵を生成し、前記第2の公開鍵を前記コマンド及び制御サーバに送信し、続いて前記ストレージサーバから前記安全なコンテナを受信しそれを開き、前記安全なコンテナ及び安全なコンテナメタデータにアクセスするための要求を前記コマンド及び制御サーバに送信する、請求項22に記載のTSKTシステム。
【請求項27】
前記コマンド及び制御サーバが、前記安全なコンテナにアクセスするための前記要求を前記安全なコンテナメタデータに基づき選択的に許可し、前記安全なコンテナのための前記第1のシード及び前記フォーミュラを検索し、前記第2の公開鍵で生成された少なくとも1つのセッション鍵で対称鍵暗号化を用いて前記第1のシード及び前記フォーミュラを暗号化し、暗号化された第1のシード及び暗号化されたフォーミュラを前記データアクセス装置へ送信する、請求項26に記載のTSKTシステム。
【請求項28】
前記データアクセス装置が、前記少なくとも1つのセッション鍵を用いて前記暗号化された第1のシード及び前記暗号化されたフォーミュラを受信及び復号化し、前記第1のシードを用いて前記第1の鍵を生成し、前記第1の鍵を用いて前記暗号化された第2のシード及び前記フォーミュラを復号化し、前記フォーミュラを用いて前記第1のシードと前記第2のシードとを結合して、前記データシードを提供し、前記データシードを用いてペイロードを復号化し、続いて全ての鍵及びシード並びに前記フォーミュラを破棄する、請求項27に記載のTSKTシステム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、一般的にデータセキュリティに関し、より具体的には高レベルのセキュリティでデータを交換及び維持するための方法及びシステムに関する。
【背景技術】
【0002】
近年、機密ユーザ情報のデータ漏洩や侵害、盗難、又は「ハッキング」の報告が一般的になっている。脆弱性の多くは、パブリックネットワークを介したユーザデータの交換、セキュリティク証明又はパスワードが推測され得る又は自動的にエミュレートされ得るユーザに対してリモートアクセスを許可すること、及び侵害される可能性のあるシステム上でのデータの保存や検索に起因する。産業界では、種々のブロックや鍵のサイズを定義し、より大きなブロックや鍵のサイズに対してより高いレベルの複雑さを提供する高度暗号化標準(Advanced Encryption Standard)(AES)等の暗号化されたフォーマットでデータを保存及び送信するための方法及びアルゴリズムを開発してきた。「AES-128」として知られる一般的なAES標準は、非常に困難ではあるものの、理論的には発見され又はハッキングされる可能性がある。計算の複雑さがより高いAES標準が開発されている一方で、多くのシステムは過去のものとなったAES-128暗号化あるいは更に単純な暗号化を用いており、依然として攻撃に対して脆弱である。
【0003】
公開鍵暗号化(public key encryption)(PKI)アルゴリズムを用いる典型的なシステムは、公開鍵/秘密鍵暗号化を使用し、公開鍵は一般に利用可能であり、データを暗号化するために用いられるが、秘密鍵は秘密に保たれ、データを復号化することができる。秘密鍵は1つ以上のデバイスに保存されるので、コンピュータ自体が侵害又はハッキングされて秘密鍵が発見された場合、PKI暗号化データを解読する計算の複雑さが回避可能になってしまい、機密ユーザデータが露呈してしまう可能性がある。
【0004】
PKIシステムでは、証明機関(certificate authority)(CA)として知られる存在は、信頼できるユーザがデータにアクセスできるようにするために秘密鍵を発行する能力を有する。しかし、CA自体が侵害、ハッキング、又は盗難に遭うと、偽造証明が発行され、ユーザのデータが盗まれてしまう。
【図面の簡単な説明】
【0005】
【
図1】
図1はここでの実施形態によるデータ作成装置によって用いられてよいフロー図を示す。
【0006】
【
図2】
図2はここでの実施形態によるデータアクセス装置によって用いられてよいフロー図を示す。
【0007】
【
図3】
図3はここに記載される種々の実施形態による
図1及び2の一時的対称鍵技術(transient symmetric key technology)(TSKT)フローを実装することができるTSKTシステムのブロック図を示している。
【0008】
【
図4】
図4はデータ作成装置が安全なコンテナの作成を要求する場合における
図3のTSKTシステムのブロック図を示している。
【0009】
【
図5】
図5は安全なコンテナの作成の要求に応答するCCSのアクションを示す
図3のTSKTシステムのブロック図を示している。
【0010】
【
図6】
図6は安全なコンテナの作成を示す
図3のTSKTシステムのブロック図を示している。
【0011】
【
図7】
図7は許可されたデータアクセス装置による安全なコンテナの検索を示す
図3のTSKTシステムのブロック図を示している。
【0012】
【
図8】
図8は安全なコンテナを復号化するための許可されたデータアクセス装置による要求を示す
図3のTSKTシステムのブロック図を示している。
【0013】
【
図9】
図9は許可されたデータアクセス装置による安全なコンテナの検索に対する要求にCCSが応答する場合における
図3のTSKTシステムのブロック図を示している。
【0014】
【
図10】
図10はデータアクセス装置が安全なコンテナを復号化する場合における
図3のTSKTシステムのブロック図を示している。
【0015】
以下の説明において、異なる図面における同じ参照番号の使用は、類似又は同一の事項を示す。特に断りのない限り、「結合された(coupled)」という単語及びそれに関連する動詞の形態は、当該技術分野において知られている手段による直接的な接続及び間接的な電気接続の両方を含み、特に断りのない限り、直接的な接続の任意の説明は、適切な形態の間接的な電気接続も用いる代替の実施形態を意味する。
【発明を実施するための形態】
【0016】
ここに説明される技術による暗号化及び/又は復号化は、暗号化鍵及び復号化鍵をユーザのシステム上で一時的なものにすることによって既知の公開鍵/秘密鍵システムを大幅に改善し、その結果、それらは、ハッキングの重大なリスクを伴って鍵を露呈するのには短すぎる期間だけしか存在しない。システムは、暗号化及び復号化の両方に同じプロセスが用いられるという点において対称的である。システムは、事実上ハッキングされ得ないデータ用の安全な「コンテナ」を定義する。
【0017】
一般に、本発明者らは、鍵がオンデマンドで生成され、暗号化及び復号化に必要である間、短期間だけしか存在しないようにすることを可能にする一時的で対称的な鍵方法を考案した。このアプローチでは、新しい一時的対称鍵技術(transient symmetric key technology)(TSKT)を活用する分散型のゼロトラストのエンドツーエンド暗号化アーキテクチャ(distributed, zero-trust, end-to-end encryption architecture)を利用する。鍵がもはや不要になると、それらの鍵は値を上書きすることによってデジタル的に破棄される。
【0018】
強化された鍵管理プロセスにおいては、通常、3つの固有の参加者、即ちデータ作成装置とデータアクセス装置とコマンド及び制御サーバとが存在する。データ作成装置は、データを作成しそれを暗号化する。データアクセス装置は、暗号化されたデータへのアクセス権を有する。コマンド及び制御サーバは、暗号化されたデータに対する全ての作成装置及びアクセス装置の権利を認証し、確認し、及び許可する。
【0019】
また、データを暗号化するために用いることができる2つのタイプの鍵、即ち非対称なもの及び対称なものが存在する。公開鍵インフラストラクチャ(Public-Key Infrastructure)(PKI)としても知られる非対称暗号化では、一対の鍵(公開鍵と秘密鍵)を用いてデータを暗号化及び復号化する。伝統的に、ネットワークユーザは、証明機関から公開鍵と秘密鍵のペアを受け取る。暗号化されたメッセージを送信したい他のユーザは、目的の受信者の公開鍵をその受信者から直接、又は公開ディレクトリから取得することができる。この鍵を用いてデータを暗号化し、それを受信者に送信する。受信者がメッセージを受け取ると、受信者の秘密鍵でメッセージを復号化し、この秘密鍵には他の誰もアクセスしないはずである。
【0020】
しかし、これは、ここで説明される分散型のゼロトラストのエンドツーエンド暗号化アーキテクチャには当てはまらない。ここで説明されるアーキテクチャにおいては、証明機関は不要である。更に、TSKTは、サーバがユーザのために公開鍵/秘密鍵を使用し、保存し、及び管理する必要性を排除する。クライアントマシンは、必要に応じてローカルでそれらマシン自身の公開鍵/秘密鍵を生成する。公開鍵は、安全なコンテナを作成する要求又は既存の安全なコンテナにアクセスする要求を作成するときに、ローカルクライアントによってサーバに送信される。その公開鍵はサーバ上には保存されない。
【0021】
既知の対称暗号化は、データを暗号化及び復号化するために1つの鍵のみを利用する。対称鍵システムは一般的にはより単純で高速ではあるが、主な欠点は、通信を試みている2つの当事者が何らかの形で安全な方法において鍵を交換する必要があることである。ここでTKSTが役立つものであり、TKSTの手順を以下に説明する。いくつかの実施形態によるTKSTシステムを具体的な例とともに説明する。
例示的なTKSTフロー
【0022】
図1はここでの実施形態によるデータ作成装置によって用いられてよいフロー
図100を示す。
図1に示す例では、破線は、TLSベースのプロトコルを用いるリンクを介したデータの流れを示している。実線は、特定のノード内で行われる処理ステップを表す。黒の鍵は、AESを用いて符号化された鍵である。灰色の鍵は、RSA又はECCを用いて符号化された鍵である。他の実施形態においては、他のリンクプロトコル並びに鍵暗号化及び復号化標準も用いられ得る。TKST方法を用いて、データ作成装置/プロテクタは以下の手順を実行する。
データ作成装置/プロテクタ
1.作成装置(例えば
図1のクライアント1)は信用証明を有しており、公開鍵及び秘密鍵(RSA又はECC)を生成する。
2.作成装置は、安全なコンテナを作成するためにコマンド及び制御サーバ(CCS)(以下「サーバ」)からの許可を要求する。
3.サーバは要求を認証及び確認する。
4.サーバは疑似乱数発生器(Pseudo Random Number Generator)(PRNG)を介してシードAを生成し、サーバはランダムに一意的なフォーミュラを生成する。
5.サーバは、シードAのコピーとフォーミュラを作成装置の公開鍵、例えばECC521公開鍵で暗号化する。
6.サーバはシードA及びフォーミュラを暗号化しそれらを保存する。
7.サーバは、暗号化されたシードA及びフォーミュラを、SSLを介して、又は
図1に示すようにTLSを介してクライアントに渡す。
8.作成装置は、秘密鍵を用いてシードA及びフォーミュラを復号化する。
9.作成装置は、PRNGを介してローカルデバイス上でシードBを生成する。
10.作成装置は、フォーミュラを用いてシードAとシードBを結合して、データシードとしても知られるシードCを作成する。
11.作成装置はペイロードを生成する。
12.作成装置は、シードAを用いてAES鍵1を生成する。
13.データシード(C)は、AES鍵2を生成するために用いられる。
14.作成装置は、AES鍵2を用いてペイロードを暗号化する。
15.作成装置は、AES鍵1を用いてシードBを暗号化する。
16.AES鍵及びシードは、作成装置によって破棄される。
17.作成装置は、ペイロード、暗号化されたシードB、及び他のデータを1つのコンテナ内に結合する。
18.作成装置は、新しい安全なコンテナのCCSでの登録を終了する。
19.コンテナは、例えばクラウドストレージサーバに対して輸送又は保存の準備ができている。
【0023】
図1に示すように、フロー100におけるプロセスノード110で、クライアント1とも称されるデータ作成装置は、機密データを保護することを要求し、またクライアント1がアクセスを許可したい他のものによってそのデータがアクセスされ得るようにそのデータのための安全なコンテナを作成することを要求する。クライアント1は、信用証明を有しており、
図1に示される例においては、ECC/521暗号化を用いて公開鍵及び秘密鍵を生成する。代替的には、公開鍵及び秘密鍵はRSAを用いて作成され得る。クライアント1は、その公開鍵をコマンド及び制御サーバ(CCS)に送信する。続いて、クライアント1が安全なコンテナを作成したい場合、クライアント1はCCSとの安全なセッションを確立し、安全なコンテナを作成する許可を要求する前に、クライアント1の公開鍵を用いて対称AESセッション鍵を作成する。クライアント1とCCSの間の通信は、インターネット接続を介したTLS/2048等の安全なプロセスを用いて、ユーザを認証し、要求を確認し、シードAを生成する。プロセスノード120では、CCSは、例えばデータ作成装置のECC521公開鍵を用いて生成されたAESセッション鍵で暗号化されたシードAを生成し、プロセスノード122に示すように、暗号化されたシードAをクライアント1に送信する。
【0024】
プロセスノード130では、クライアント1は、シードAを受信し、AESセッション鍵を用いてシードAを復号化する。プロセスノード132では、クライアント1は、AES鍵1を用いてシードBを暗号化する。プロセスノード140では、クライアント1はPRNGを用いてシードBを生成する。プロセスノード142では、クライアント1はシードA及びBを用いてフォーミュラに従ってシードCを作成する。プロセスノード146では、クライアント1はシードCを用いて鍵、即ちAES鍵2を生成し、プロセスノード148では、クライアント1はAES鍵2を用いてデータペイロード、即ち保護したい機密データを暗号化する。
【0025】
プロセスノード150では、クライアント1は、暗号化されたシードB及び暗号化されたデータペイロードを種々のメタデータとともに結合して、安全なコンテナを作成する。プロセスノード160では、クライアント1は、使用後に全てのAES鍵及びシード並びにフォーミュラを、それらの全ての暗号化された形態を含めて破棄する。プロセスノード160では、クライアント1は、AESセッション鍵を用いて暗号化されたメタデータをCCSに送信することにより、新しい安全なコンテナのCCSでの登録を完了する。最後に、プロセスノード170では、クライアント1は、TLS/2048を安全に用いて、安全なコンテナを
図1に示すようなクラウドストレージサーバ等のストレージサーバに送信する。
図2はここでの実施形態によるデータアクセス装置によって用いられてよいフロー
図200を示す。TKST方法を用いて、クライアント2とも称されるデータアクセス装置は以下のステップを行う。
データアクセス装置
1.データアクセス装置(以下「アクセス装置」)は信用証明を有しており、公開鍵及び秘密鍵(RSA又はECC)を生成する。
2.アクセス装置は、クラウド又は他の媒体から安全なコンテナを受信する。
3.アクセス装置は安全なコンテナを開き、暗号化されたデータへのアクセスを要求するプロセスを開始する。
4.アクセス装置は、SSL又はTLS接続を介して公開鍵及びコンテナメタデータをCCSに送信する。
5.サーバは要求を許可し、開く必要のあるコンテナのためのシードA及びフォーミュラを検索する。
6.サーバは、アクセス装置公開鍵を用いてシードA及びフォーミュラを暗号化する。
7.サーバは、暗号化されたシードA及びフォーミュラを、SSL又はTLS接続を介してアクセス装置に渡す。
8.アクセス装置は、その秘密鍵を用いてコンテナを復号化する。
9.アクセス装置は、シードAを用いてAES鍵1を生成する。
10.アクセス装置は、AES鍵1を用いてシードB及びフォーミュラを復号化する。
11.アクセス装置は、サーバにより提供されたフォーミュラを用いてシードAとシードBを結合して、シードCを作成する。
12.アクセス装置は、シードCを用いてAES鍵2を生成する。
13.アクセス装置は、AES鍵2を用いてペイロードを復号化し、ペイロードは、例えばローカルクライアントの安全なビューアによって表示可能である。
14.アクセス装置は、全てのシード及びAES鍵を破棄する。
【0026】
フロー
図200におけるプロセスノード210で、クラウドストレージサーバ等の媒体は、
図1に示すようにデータ作成装置によって以前に作成及びアップロードされた安全なコンテナを記憶する。クライアント2とも称されるデータアクセス装置は、安全なコンテナ内のデータにアクセスすることを要求する。クライアント2は、TLS/2048を用いてクラウドストレージサーバとの安全なセッションを確立し、クラウドストレージサーバは、TLSセッション鍵を安全に用いてデータを転送する。プロセスノード220では、クライアント2は安全なコンテナを受信するが、それをまだ復号化することはできない。クライアント2は公開鍵と秘密鍵のペアを作成するか、すでに作成しており、クライアント2は、TLS/2048セッション鍵等の少なくとも1つのAESセッション鍵を再び安全に用いて、CCSにアクセスする要求を安全なコンテナからの公開鍵及びメタデータとともに送信する。プロセスノード230では、CCSは要求を認証し、クライアント2をユーザとして確認し、アクセス権を決定する。プロセスノード232では、CCSは、安全なコンテナに関連付けられたシードA及びフォーミュラを検索し、AESセッション鍵を用いて暗号化する。プロセスノード240では、クライアント2は、対応するAESセッション鍵を用いてシードA及びフォーミュラを受信し、それらを復号化する。プロセスノード242では、クライアント2は、AES鍵1として知られる第1の鍵をシードAから生成し、プロセスノード244では、AES鍵1を用いて、安全なコンテナ内の暗号化されたシードBからシードBを復号化する。プロセスノード246では、クライアント1は、フォーミュラを用いてシードAとシードBを結合してシードC、即ちデータシードを作成する。プロセスノード248では、クライアント2は、シードCを用いてAES鍵2として知られる第2の鍵を生成する。プロセスノード250では、クライアント2は、AES鍵2を用いてペイロード、即ちクライアント1が保護したい機密データであって、クライアント2がアクセスすることをクライアント1が許可したい機密データを復号化する。プロセスノード260では、クライアント2は、機密データへのアクセスを有する。
図2に示す例では、クライアント2は、表示する権利を有するが、印刷し又は保存する権利を有していないので、クライアント2が利用可能な安全なビューアは、クライアント2が機密データを表示することを可能にする。プロセスノード270では、クライアント2は、使用後に全ての鍵及びシード並びにフォーミュラを、それらの全ての暗号化された形態を含めて破棄する。
【0027】
TKSTプロセスを用いて、CCSは、作成装置の機密データのコピーを受信せず、シードA及びフォーミュラのみを受信する。CCSがシードA及びフォーミュラを送信する場合、CCSは、TLS又はSSLのような対称AESセッション鍵を用いるもの等、安全な通信プロトコルを用いる。また、AES鍵1及びAES鍵2は、数マイクロ秒のオーダの非常に短い期間だけ存在し、それらが作成されたクライアント、即ちクライアント1又はクライアント2のいずれかは、使用後にそれらを安全に破棄することができる。
例示的なTSKTシステムの詳細
【0028】
図3はここに記載される種々の実施形態による
図1及び2のTSKTフローを実装することができるTSKTシステム300のブロック図を示している。上述したように、TSKTシステムは、4つの役割、即ちデータ作成装置、コマンド及び制御サーバ(CCS)、ストレージサーバ、及びデータアクセス装置を定義する。いくつかの実施形態においては、同じ物理コンピュータシステムが、CCS及びストレージサーバの両方として機能することができる。
【0029】
TSKTシステム300は、データ作成装置310として機能する「クライアント1」と表示されたクライアントと、CCS320として機能するファイルサーバシステムと、ストレージサーバ330として機能するクラウドストレージサーバ、エンタープライズサーバ、他のファイルサーバシステム、又は他の記憶媒体と、データアクセス装置340として機能する「クライアント2」と表示されたクライアントと、を含む。クライアント1及びクライアント2の各々は、例えば、ラップトップコンピュータ、デスクトップコンピュータ、ノートブックコンピュータ、パーソナルデジタルアシスタント(PDA)、スマートフォン等と関連付けられたものであってよく、一般的にそれらの各々は、ユーザの指示で保護され、説明されたような計算を行うデジタルファイルコンテンツを作成することが可能な任意のデータプロセッサ又はデータ処理システムであり得る。
【0030】
クライアント1及びクライアント2は、既存の有線及び/又は無線コンピュータネットワークを用いてCCS320及びストレージサーバ330を含む他のコンポーネントと通信し、TSKTシステム300は、これらの通信パスを双方向の矢印として示している。典型的には、これらの通信パスは、セキュリティのためにAESセッション鍵(TLS又はSSL)を用いるTCP/IPプロトコルの安全な形態を実装するインターネット接続である。いくつかの実施形態においては、TLSセッション鍵の代わりにSSLセッション鍵を用いてもよい。
【0031】
先ず、データ作成装置310は、そのユーザがデータアクセス装置340にアクセスを許可したいファイル312を作成する。ファイルは、例えば、ワードプロセッシングドキュメント、プレーンテキストファイル、スプレッドシートファイル、ビジュアルプレゼンテーションファイル、写真、オーディオ録音、ビデオ録画等であり得る。ファイル312は、クレジットカード信用証明、ユーザパスワード、個人の健康情報、機密のビジネス情報、会社の営業秘密、弁護士の成果物又は弁護士と依頼人の特権通信、あるいは他の機密データを含むので、データ作成装置310に関連付けられたユーザは、ファイル312を保護したいと思うであろう。ファイル312は、データアクセス装置310に関連付けられたコンピュータのメモリ内に保存され、インターネット等のパブリックネットワークを介してデータアクセス装置340に送信される場合、ハッキング又は盗難に対して脆弱であり、またCCS320又はストレージサーバ330のいずれかに保存される場合、ハッキング又は盗難を受ける可能性がある。TSKTシステム300は、コンピュータネットワーク並びにCCS320及びストレージサーバ330を動作させる組織からのゼロトラストを想定している。
【0032】
図4はデータ作成装置310が安全なコンテナの作成を要求する場合における
図3のTSKTシステム300のブロック
図400を示している。ここに説明される種々の実施形態による安全なコンテナを要求するために、データ作成装置310は、安全なコンテナの作成を要求する前に、先ず公開鍵と秘密鍵のペアを作成し、公開鍵をCCS320に送信する。例えば、データ作成装置310は、それに関連するコンピュータ上で実行されているアプリケーションを介して、クライアント310がそのアプリケーションをCCS320に登録するときに、データ作成装置310の公開鍵をCCS320に送信してよい。
【0033】
続いて、データ作成装置310は、データをストレージサーバ330上で安全に保存することを要求し、又は他の手段を用いてデータアクセス装置340にデータを送信することを要求する。この時点で、データ作成装置310は、安全なコンテナを作成するための要求をCCS320に送信する。いくつかの実施形態においては、ユーザは、クライアント310の関連するコンピュータ上に常駐するソフトウェアを用いてその要求を作成する。一例では、ソフトウェアは、関連するコンピュータのオペレーティングシステムの下で実行されているスタンドアローンプログラムであり得る。別の例では、ソフトウェアは、EMAILプログラム等の別のプログラムに緊密に結合されたプラグイン、アプレット、又はウィジェットであり得る。例示的な実施形態においては、ソフトウェアは、作成された安全なコンテナに関連するオプションをユーザが選択することを可能にするグラフィカルユーザインターフェースを表示する。好ましくは、ソフトウェアは、バックグラウンドで、ユーザには見えない方法でCCS320と相互作用して、より良いユーザエクスペリエンスを作成する。
【0034】
図5は安全なコンテナの作成の要求に応答するCCS320のアクションを示す
図3のTSKTシステム300のブロック
図500を示している。CCS320は、先ず、「C1」と表示されたタグを用いて、要求がデータ作成装置310からのものであると識別している安全なコンテナに関連付けられたCCS320のデータベース又はファイルシステム内に記録を作成する。CCS320は、シードA(上述のシードA)及びランダムに一意的なフォーミュラを作成し、それらをCCS320のデータベース内で特定のクライアントに対する安全なコンテナ要求に関連付ける。次いで、CCS320は、例えばAESセッション鍵を用いて、シードA及びランダムに一意的なフォーミュラを暗号化する。従って、暗号化されたシード及び暗号化されたフォーミュラを含むパブリックネットワーク通信は、従来のものではあるが非常に強力な暗号化技術を用いてそれ自体が保護される。
【0035】
図6は、データ作成装置310、即ちクライアント1による安全なコンテナ314の作成を示す
図3のTSKTシステム300のブロック
図600を示している。上述のように、TLSセッション鍵を用いてCCS320と通信した後、データ作成装置310は、対応するセッション鍵を用いてシードA及びフォーミュラを復号化する。データ作成装置310は、擬似乱数発生器(PRNG)を用いてシードBをローカルで生成する。次いで、データ作成装置310は、復号化されたフォーミュラを用いてシードAとシードBを結合して、シードC、即ちデータシードを作成する。
【0036】
データ作成装置310はまた、シードAを用いてAES鍵1を生成し、AES鍵1を用いてシードBを暗号化する。データ作成装置310は、データシード(シードC)を用いてAES鍵2を生成し、AES鍵2を用いてデータペイロード、即ち保護されることが望まれるファイルを暗号化する。次いで、データ作成装置310は、暗号化された鍵2及び暗号化されたシードBを種々のメタデータと結合して、「SC」と表示された安全なコンテナ314を形成する。メタデータは、コピー、印刷、及び/又は保存特権等の種々のデータ権利管理(data rights management)(DRM)インジケータ、指紋や顔の特徴等のデータ作成装置310のユーザを一意的に識別することができる生体認証、ジオフェンシングアクセス権(geo-fencing access rights)のためのデータ作成装置310の地理情報、デバイス識別子(デバイスID)、及びアクセスがいつ許可又は禁止されるのかを示すタイムライン等のアクセス権を含む。
【0037】
安全なコンテナ314の作成での使用の直後、データ作成装置310は、全ての鍵及びシード並びにフォーミュラを破棄する。このシステムでは、データ作成装置310は、デジタルシュレッダ316を用いて、AES鍵1及びAES鍵2の両方並びにシードA、シードB、データシード、フォーミュラ、及びそれらの任意の暗号化バージョンを破棄する。従来のパーソナルコンピュータオペレーティングシステムのファイル消去プロセスは、ファイルが「リサイクルビン」又は「ゴミ箱」に移動されたときにデータを破棄又は上書きせず、ディレクトリ内のファイルエントリを単に削除するだけである。最近削除されたファイルのデータは、実際にはしばらくの間コンピュータメモリ内に残り、ハッキングや発見を受ける可能性がある。また、フローティングゲートメモリに基づくもの等、ソリッドステート仮想メモリドライブに保存されたデータは、不完全な消去又はフローティングゲートにチャージプロファイルが残っていることに起因して、表面的な消去後でも発見され得る可能性がある。これらの可能性を防ぐために、データ作成装置310は、デジタルシュレッダ316を用いて、ファイルディレクトリ内のその識別を削除するだけでなく、後の発見を十分に防ぐために、データが保存されていた物理メモリを上書きすることによって、データを安全に削除する。
【0038】
データ作成装置310は、適切なサイズのPRNGを用いてシードBを作成することによって、ハッカーが乱数発生を用いてシードBを複製することを事実上不可能にする。また、データ作成装置310は、シード及び鍵がデジタルにシュレッドされる前に短時間だけ存在するのを可能にすることによって、データ作成装置310のコンピュータにリモートで密かにアクセスすることができるハッカーが、必要なシード、フォーミュラ、及び鍵が存在する間にそれらをキャプチャし、従って安全なコンテナ314を復号化するのに十分な速さでアクティビティの重要性を理解することを困難にしている。
【0039】
図7は許可されたデータアクセス装置による安全なコンテナの検索を示す
図3のTSKTシステム300のブロック
図700を示している。この例では、データアクセス装置340は、許可されたデータアクセス装置であるものと仮定されている。データアクセス装置340は、ストレージサーバ330から安全なコンテナをフェッチする。例えば、安全なコンテナは、ストレージサーバ330上の共有ファイルフォルダ内で可視化されてよく、データアクセス装置340は、そのオペレーティングシステムの下の任意の他のファイルにアクセスするようにしてファイルにアクセスする。例えば、データアクセス装置340は、インターネット及びセッションのための安全なセッション鍵を作成するTFSプロトコルを用いて、ストレージサーバ330にアクセスする。別の例では、データ作成装置310は、電子メール(EMAIL)メッセージへの添付ファイルとして、安全なコンテナをデータアクセス装置340に送信してよい。この場合、メッセージはデータアクセス装置340のEMAILサーバにルーティングされ、メッセージはデータアクセス装置340のEMAIL受信ボックス内に表示されて、この受信ボックスからメッセージをフェッチすることができる。更に別の例では、データ作成装置310に関連付けられたユーザは、データアクセス装置340のコンピュータによってアクセスされ得るフラッシュメモリ「サム」ドライブ等の携帯型媒体を用いて、データアクセス装置340に関連付けられたユーザに安全なファイルを転送する。
【0040】
図8は安全なコンテナを復号化するための許可されたデータアクセス装置340による要求を示す
図3のTSKTシステム300のブロック
図800を示している。データ作成装置310と同様に、データアクセス装置340は、最初に公開鍵/秘密鍵のペアを作成し、公開鍵をCCS320に送信する。後で安全なコンテナを受信した後、データアクセス装置340は、SSL又はTLS接続を用いてCCS320との安全なセッションを開き、安全な要求をCCS320に送って安全なコンテナをSCメタデータとともに復号化する。
【0041】
図9は安全なコンテナの復号化に対する要求に応答するCCS320のアクションを示す
図3のTSKTシステム300のブロック
図900を示している。ブロック
図900に示されるアクションは、CCS320が安全なコンテナ内のメタデータに基づいて送信を許可することを前提としており、即ち有効になっているメタデータ特徴に対して、CCS320が生体認証を用いてクライアント340を許可されたユーザとして識別できること、クライアント340に関連付けられたコンピュータがジオフェンシングデータによるロケーションに基づきアクセスすることを許可されていること、データにアクセスするための許可された時間が満たされていること、等を前提としている。全てのメタデータで許可されていることを前提として、CCS320は、データアクセス装置340の公開鍵を用いてシードAを暗号化し、安全なコンテナに関連付けられた暗号化されたシードA及び暗号化されたフォーミュラを、安全なセッション鍵を用いてデータアクセス装置340に渡す。
【0042】
図10はデータアクセス装置340が安全なコンテナを復号化する場合における
図3のTSKTシステム300のブロック図を示している。上述したように、データアクセス装置340は、AESセッション鍵を用いて安全なコンテナを受信し、それを復号化する。データアクセス装置340は、暗号化されたシードA及び暗号化されたフォーミュラを抽出し、対応するAESセッション鍵を用いてそれらを復号化する。次いで、データアクセス装置340は、シードAを用いてAES鍵1を生成し、AES鍵1を用いて、安全なコンテナからシードBを復号化する。データアクセス装置340は、シードA及びシードBとフォーミュラとを用いて、シードC、即ちデータシードを作成する。データアクセス装置340は、シードCを用いてAES鍵2を生成し、AES鍵2を用いてペイロード、即ちデータファイルを復号化する。データファイルは、安全なソフトウェアを用いて表示可能であり、データ作成装置310によって設定されたデータ権利管理属性に基づいて保存可能及び/又は印刷可能であってもよい。
【0043】
暗号化されたシードBを復号化するとともにAES鍵1及び2を作成するために鍵を作成する上での使用の直後に、データアクセス装置340は、デジタルシュレッダ342を用いて全ての鍵及びシード並びにフォーミュラを破棄し、これらは、AES鍵1及びAES鍵2の両方並びにシードA、シードB、データシード、フォーミュラ、及びそれらの任意の暗号化バージョンを含む。デジタルシュレッダ342は、好ましくは、上述したような
図3のデジタルシュレッダ316と同じ一般的な方法で動作して、安全なコンテナの内容又はそこから作成された鍵及びシードのいかなる兆候をも確実に破棄する。
【0044】
このように、ここで説明されるTSKTシステムは、データを所有する当事者の制御内に暗号化鍵の作成を配置することによって、既知のコンピュータシステムと比較してコンピュータシステムの動作の改良を提供する。TSKTシステムは、CCS320及びストレージサーバ330を含む任意のサードパーティアクターの一部でのゼロトラストを前提に、安全なファイル作成及びアクセスを提供する。例えば、データ作成装置310の公開鍵及び安全なコンテナが露呈されてしまうようにストレージサーバ330が侵害されたとしても、ストレージサーバ330は安全なコンテナを復号化することができるAES鍵を所有していないので、安全なコンテナは復号化され得ない。従って、データ作成装置310は、そのデータについての制御を保持し、また他のどのシステムがそれにアクセスできるか、及び他のシステムがどのような種類のアクセスを有しているかについての制御を保持する。鍵及びシードを作成するために用いられる鍵及びシードは短期間しか存在しないので、サードパーティによるハッキングは非常に困難になり又は実質的に不可能になる。
【0045】
種々の実施形態を説明してきたが、種々の変形例が存在してよいことは明らかである。例えば、安全なコンテナを送信する通信中に、SSL、TLS等を含む種々のプロトコルが用いられてよい。また、データ作成装置は、ストレージサーバを介して、携帯型記憶媒体を直接的に介して等、種々の方法で安全なコンテナをデータアクセス装置に転送してよい。ストレージサーバは、クラウドストレージサーバ、エンタープライズサーバ、及びEMAILサーバ等の多くの形態をとってよい。また、ラップトップコンピュータ、デスクトップコンピュータ、ノートブックコンピュータ、パーソナルデジタルアシスタント(PDA)、スマートフォン等を含む種々のタイプのコンピュータベースのシステムがデータ作成装置及びデータアクセス装置のために用いられてよい。また、通信リンクは、インターネット、ローカルエリアネットワーク、衛星リンク等を用いて確立することができる。
【0046】
従って、添付の特許請求の範囲によって、開示された実施形態の範囲内にある本発明の全ての変形例をカバーすることが意図されている。
【国際調査報告】