(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2022-04-20
(54)【発明の名称】ブロックチェーンベースのセキュアな電子メールシステム
(51)【国際特許分類】
H04L 51/23 20220101AFI20220413BHJP
G06F 21/60 20130101ALI20220413BHJP
G06F 21/64 20130101ALI20220413BHJP
H04L 9/08 20060101ALI20220413BHJP
【FI】
H04L51/23
G06F21/60 320
G06F21/64
H04L9/08 E
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2021551808
(86)(22)【出願日】2020-02-28
(85)【翻訳文提出日】2021-11-01
(86)【国際出願番号】 CA2020050267
(87)【国際公開番号】W WO2020176975
(87)【国際公開日】2020-09-10
(32)【優先日】2019-03-01
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
(71)【出願人】
【識別番号】521155900
【氏名又は名称】ゼットイーユー・テクノロジーズ・インコーポレイテッド
(74)【代理人】
【識別番号】100108453
【氏名又は名称】村山 靖彦
(74)【代理人】
【識別番号】100110364
【氏名又は名称】実広 信哉
(74)【代理人】
【識別番号】100133400
【氏名又は名称】阿部 達彦
(72)【発明者】
【氏名】フランソワ・デュマ
(72)【発明者】
【氏名】ユミン・キアン
(72)【発明者】
【氏名】パトリシア・ポパール-フォルティア
(57)【要約】
本特許は、内部電子メールとクロスチェーン電子メールをどちらもサポートするとともに、非ブロックチェーン電子メールシステムと対話する潜在能力のある、完全なブロックチェーン電子メールシステムについて記載するものである。本方法を通じて、電子メールの発信元または受信先がブロックチェーンメールボックスである限り、電子メール情報はブロックチェーン内に記録され、それによって、電子メールの真正性が確実なものになる。さらに、ブロックチェーンメールボックス同士がメッセージを交換するとき、電子メール情報は暗号化され、分散型ストレージ内に格納され、受信先のみが電子メールの一意の暗号鍵およびストレージ位置を取得することができ、それにより、電子メール送信のセキュリティが確実なものになる。
【特許請求の範囲】
【請求項1】
ブロックチェーンメッセージ伝達システムであって、
i)第1のブロックチェーン上の第1のスマートコントラクトと通信するための第1のインターフェースと、
ii)共有ストレージと通信するための第2のインターフェースと、
iii)発信元から受信先へのメッセージの送信要求を受信するための第3のインターフェースと
を備える、第1のブロックチェーンメールエージェント
を備え、
前記第1のブロックチェーンメールエージェントが、前記送信要求を受信し、前記受信先のメールボックスがブロックチェーン内にあることを特定し、前記特定後に、
前記メッセージのコンテンツを暗号化し、
前記暗号化されたコンテンツを前記共有ストレージのストレージインデックスに保存し、
前記第1のスマートコントラクトを求めるスマートコントラクト要求を作成し、
前記第1のスマートコントラクトが、トランザクションレコードを生成し、前記トランザクションレコードを前記第1のブロックチェーン内に保存する、
ブロックチェーンメッセージ伝達システム。
【請求項2】
前記メッセージが電子メールである、請求項1に記載のブロックチェーンメッセージ伝達システム。
【請求項3】
前記受信先の前記メールボックスが前記共有ストレージ内にあることを確認すると、前記ブロックチェーンメールエージェントが、
前記電子メールの前記コンテンツを前記暗号化するための暗号鍵を生成し、
ストレージインデックスおよび前記暗号鍵を、前記受信先の公開鍵で暗号化する、
請求項2に記載のブロックチェーンメッセージ伝達システム。
【請求項4】
第2のブロックチェーンメールエージェントをさらに備え、前記第1のブロックチェーンが前記受信先に関連するトランザクションレコードを生成すると、前記第2のブロックチェーンメールエージェントが、
i)前記発信元の公開鍵を取得し、
ii)前記受信先の前記公開鍵に対応する秘密鍵を使用して、メッセージのコンテンツを復号し、それによって、前記ストレージインデックスおよび前記暗号鍵を取得し、
iii)前記ストレージインデックス情報を使用して、前記共有ストレージから前記電子メールの前記暗号化されたコンテンツを取り出し、
iv)前記コンテンツを、前記暗号鍵を使用して復号して、復号された電子メールコンテンツを形成する、
請求項3に記載のブロックチェーンメッセージ伝達システム。
【請求項5】
前記第1のブロックチェーンメールエージェントと前記第2のブロックチェーンメールエージェントが同一である、請求項4に記載のブロックチェーンメッセージ伝達システム。
【請求項6】
前記第1のブロックチェーンメールエージェントと前記第2のブロックチェーンメールエージェントが異なる、請求項4に記載のブロックチェーンメッセージ伝達システム。
【請求項7】
前記受信先の前記メールボックスが、前記第1のブロックチェーンとは異なる第2のブロックチェーン内にある、請求項6に記載のブロックチェーンメッセージ伝達システム。
【請求項8】
前記受信先が標準的な電子メールクライアントを開くと、前記標準的な電子メールクライアントが前記第2のメールエージェントと通信して、前記復号された電子メールコンテンツを取得し提示する、請求項4に記載のブロックチェーンメッセージ伝達システム。
【請求項9】
前記電子メールクライアントが、標準的なPOP3プロトコルを使用して、前記復号された電子メールコンテンツを取得する、請求項8に記載のブロックチェーンメッセージ伝達システム。
【請求項10】
前記第2のブロックチェーンメールエージェントが、前記復号された電子メールコンテンツを前記受信先の前記メールボックス内に格納する、請求項4に記載のブロックチェーンメッセージ伝達システム。
【請求項11】
前記秘密鍵が、前記第1のブロックチェーン内のブロックチェーンウォレット内にある、請求項4に記載のブロックチェーンメッセージ伝達システム。
【請求項12】
a)第1のメール送信ゲートウェイ(MTA)と、
b)第2のメール送信ゲートウェイ(MTA)と
をさらに備え、
前記第2のブロックチェーンメールエージェントが、
i)第2のブロックチェーン上の第2のスマートコントラクトと通信するための第3のインターフェースと、
ii)前記共有ストレージと通信するための第4のインターフェースと
を備え、
前記第1のMTAが前記暗号鍵および前記ストレージインデックスを前記第2のMTAに発信し、前記第2のMTAが前記暗号鍵および前記ストレージインデックスを前記受信先に発信する、
請求項6に記載のブロックチェーンメッセージ伝達システム。
【請求項13】
前記第1のMTAが前記暗号鍵および前記ストレージインデックスを前記第2のMTAに、通常のインターネット電子メールを通じて発信する、請求項12に記載のブロックチェーンメッセージ伝達システム。
【請求項14】
前記送信要求が、複数のN個の受信先へのものであり、前記第1のスマートコントラクトが、N個のトランザクションレコードを生成し、前記N個のトランザクションレコードをそれぞれ、前記第1のブロックチェーン内に保存する、請求項1に記載のブロックチェーンメッセージ伝達システム。
【請求項15】
ブロックチェーンを使用したセキュアなメッセージ伝達の方法であって、
a)発信元から受信先へのメッセージの送信要求を受信するステップであって、前記発信元が前記ブロックチェーン上に発信元アカウントを有する、ステップと、
b)暗号鍵を生成するステップと、
c)前記暗号鍵を使用して前記メッセージのコンテンツを暗号化するステップと、
d)前記暗号化されたコンテンツを共有ストレージのストレージインデックスに格納するステップと、
e)前記ストレージインデックスおよび前記暗号鍵を前記受信先の公開鍵で暗号化し、それによって、前記受信先の前記公開鍵に対応する秘密鍵を有する前記受信先のみが、前記ストレージインデックスおよび前記暗号鍵にアクセスできるようにするステップと
を含む、方法。
【請求項16】
前記受信先のメールボックスが前記ブロックチェーン内にあるかどうかをチェックするステップと、前記ブロックチェーン内にある場合、前記ブロックチェーン上のスマートコントラクトを実行して、前記送信要求に対応する転送のレコードを前記ブロックチェーン内に格納するが、そうでない場合、前記暗号化された暗号および前記暗号化されたストレージインデックスを収容した外部メッセージを発信するステップとをさらに含む、請求項15に記載の方法。
【請求項17】
前記実行の前に、前記発信元アカウントがメッセージを発信する権限を与えられていることを確認するステップをさらに含む、請求項16に記載の方法。
【請求項18】
前記実行の前に、
受信先アカウントが前記ブロックチェーン上に少なくとも第1の所定量のトークンを有することを確認するステップ
をさらに含む、請求項17に記載の方法。
【請求項19】
前記受信先が、前記ブロックチェーン上に受信先アカウントを有し、前記方法が、前記実行の前に、
前記受信先アカウントが前記ブロックチェーン上に少なくとも第2の所定量のトークンを有することを確認するステップ
をさらに含む、請求項18に記載の方法。
【請求項20】
前記受信先アカウントがメッセージを受信する権限を与えられていることを確認するステップをさらに含む、請求項19に記載の方法。
【請求項21】
前記レコードを取り出すステップをさらに含む、請求項20に記載の方法。
【請求項22】
前記レコードを削除するステップをさらに含む、請求項21に記載の方法。
【発明の詳細な説明】
【技術分野】
【0001】
本出願は一般に、セキュアな電子メールシステムに関し、より詳細には、ブロックチェーンベースのセキュアな電子メールシステムに関する。
【背景技術】
【0002】
電子メールは、我々が信じてきたほどセキュアではない。市場で利用可能な電子メールサーバ、電子メールクライアント、およびウェブメールサーバには、セキュリティの脆弱性がある。従来の電子メールシステムは専ら電子メールサーバ上でユーザ名およびパスワードに従って認証するが、情報自体は典型的には平文でサーバ上に格納される。したがって、電子メールサービスの脆弱性は、悪意のある行為者によって、メールボックス内に収容されたセンシティブな情報を取得するために悪用されるおそれがある。
【0003】
従来の電子メールシステムでは、発信元から受信先への電子メールメッセージの転送は、それらの2点間の複数のコンピュータを経由する。ユーザが電子メールにアクセスできるだけでなく、メールボックスホルダ、電子メールサービスプロバイダ、さらにはネットワークプロバイダのような他の多くの当事者がいずれも、電子メールにアクセスできる可能性があり、ユーザに通知することなく電子メールのコンテンツを修正することが可能である。現在の電子メール送信プロセスでは、コンテンツデータは平文でカプセル化され、汎用ポートに晒され、そのため、データの傍受が容易になっている。電子メールデータ情報は、ネットワーク、機器、またはソフトウェアを監視することによって奪取されるおそれがある。
【0004】
アクセスセキュリティ上の要因に加えて、電子メールシステムのデータは一元的に格納されている。電子メールストレージサービスに脆弱性があると、重要なメール情報が漏洩するかまたは電子メールが改ざんされるおそれがある。ソフトウェアまたはハードウェアの障害による電子メールサービスの障害もまた、重要な電子メールメッセージを喪失させるおそれがある。侵入者は、これらの脆弱性を通じてコンピュータにアクセスした後、電子メールアドレスおよび対応するユーザ名、パスワード、および電子メールのコンテンツを容易に取得することができる。電子メールアドレスブックがある場合、侵入者は、これらの人々の連絡先情報も入手することができる。一部の電子メールクライアントにも脆弱性がある。侵入者は、特殊形式の電子メールにトロイの木馬を注入することができる。その場合、ユーザは、電子メールを開いたときにトロイの木馬を実行してしまい、それによって、潜在的に危険なセキュリティリスクが生まれる。
【先行技術文献】
【非特許文献】
【0005】
【非特許文献1】https://www.w3.org/Protocols/rfc1341/7_2_Multipart.htmlからオンラインで利用可能な「MIME (Multipurpose Internet Mail Extensions): Mechanisms for Specifying and Describing the Format of Internet Message Bodies」という名称のRFC1341のセクション7.2「The Multipart Content-Type」
【非特許文献2】https://en.wikipedia.org/wiki/MIMEからオンラインで利用可能なウィキペディアのMIMEに関する項目
【発明の概要】
【発明が解決しようとする課題】
【0006】
上述した脆弱性に鑑みて、よりセキュアな電子メールシステムが必要とされている。
【課題を解決するための手段】
【0007】
本発明の一態様によれば、ブロックチェーンメッセージ伝達システムであって、第1のブロックチェーン上の第1のスマートコントラクトと通信するための第1のインターフェースと、共有ストレージと通信するための第2のインターフェースと、発信元から受信先へのメッセージの送信要求を受信するための第3のインターフェースとを備える、第1のブロックチェーンメールエージェントを備えた、ブロックチェーンメッセージ伝達システムが提供される。第1のブロックチェーンメールエージェントは、送信要求を受信し、受信先のメールボックスがブロックチェーン内にあることを特定し、特定後に、メッセージのコンテンツを暗号化し、暗号化されたコンテンツを共有ストレージのストレージインデックスに保存し、第1のスマートコントラクトを求めるスマートコントラクト要求を作成する。第1のスマートコントラクトは、トランザクションレコードを生成し、トランザクションレコードを第1のブロックチェーン内に保存する。
【0008】
本発明の別の態様によれば、ブロックチェーンを使用したセキュアなメッセージ伝達の方法が提供される。方法は、発信元から受信先へのメッセージの送信要求を受信することであって、発信元がブロックチェーン上に発信元アカウントを有する、受信することと、暗号鍵を生成することと、暗号鍵を使用してメッセージのコンテンツを暗号化することと、暗号化されたコンテンツを共有ストレージのストレージインデックスに格納することと、ストレージインデックスおよび暗号鍵を受信先の公開鍵で暗号化し、それによって、受信先の公開鍵に対応する秘密鍵を有する受信先のみが、ストレージインデックスおよび暗号鍵にアクセスできるようにすることとを含む。
【0009】
以下の図は、本発明の実施形態をほんの一例として示すものである。
【図面の簡単な説明】
【0010】
【
図1】システムアーキテクチャの簡易ブロック図である。
【
図2】同一ブロックチェーン内のメールボックスから電子メールを発信および受信する様子を示す簡易図である。
【
図3】ブロックチェーンメールエージェントの内部ロジックを示す簡易図である。
【
図4】メール転送エージェント(MTA)の内部ロジックを示す簡易図である。
【
図5】クロスチェーン電子メールを発信する詳細なプロセスを示す簡易図である。
【
図6】1つは電子メールを発信するためのものであり、もう1つは電子メールをチェックするためのものである、2つのサービスを示す簡易図である。
【発明を実施するための形態】
【0011】
本発明のさまざまな実施形態についての説明を以下に行う。本開示では、「1つの(a)」または「1つの(an)」という語の使用は、本明細書において「備える」という用語とともに使用されるとき、「1つの(one)」を意味することができるが、それは「1つまたは複数の」、「少なくとも1つの」、および「1つまたは1つよりも多くの」の意味とも矛盾しない。単数形で表現される任意の要素は、その複数形も包含する。複数形で表現される任意の要素は、その単数形も包含する。「複数」という用語は、本明細書では、1つよりも多くを意味し、例えば2つ以上、3つ以上、4つ以上などを意味する。「上部」、「底部」、「上方の」、「下方の」、「縦に」、および「横に」など、方向を示す用語は、相対的参照を行うことを目的として使用されているにすぎず、任意の物品を、使用の際にどのように配置すべきか、またはアセンブリ内にもしくは環境に対してどのように取り付けるべきかに対する、いかなる限定も示唆するものではない。
【0012】
「備える」、「有する」、「含む」、および「収容する」という用語、ならびにそれらの文法的変形は、包含的またはオープンエンドであり、記載されていない追加の要素および/または方法ステップを除外しない。「本質的に~からなる」という用語は、本明細書において、構成、使用、または方法に関連して使用されるとき、追加の要素、方法ステップ、または追加の要素と方法ステップの両方が存在し得るが、これらが追加されても、記載された構成、方法、または使用が機能する様式には実質的に影響が及ばない、ということを意味する。「~からなる」という用語は、本明細書において、構成、使用、または方法に関連して使用されるとき、追加の要素および/または方法ステップの存在を除外する。
【0013】
「ブロックチェーン」とは、コンピューティングデバイスのパブリックまたはプライベートのピアツーピアネットワーク内でトランザクションを記録する、改ざんや盗み見があればすぐにわかる(tamper-evident)共有のデジタル台帳である。台帳は、暗号学的ハッシュによりリンクされたブロック(cryptographic hash-linked block)からなる成長し続ける連続したチェーンとして維持される。
【0014】
「ノード」とは、ブロックチェーンネットワーク上のデバイスである。デバイスは、典型的には、プロセッサ可読命令をその上に有したメモリを含むプロセッサ可読媒体に相互接続されたプロセッサを有する、コンピュータである。
【0015】
加えて、「第1の」、「第2の」、「第3の」などという用語は、説明を目的として使用されているにすぎず、相対的重要性を示すまたは意味するものと解釈することはできない。
【0016】
本発明の説明においては、「取り付けられた」、「リンクされた」、および「接続された」という用語は、別段の明示的な定めおよび限定のない限り、広義に解釈すべきであることにも留意されたい。例えば、それは固定の接続であってもよく、組立て式の接続であってもよく、一体に接続されてもよく、それはハードワイヤードであってもよく、ソフトワイヤードであってもよく、それは直接的に接続されてもよく、中継物を通じて間接的に接続されてもよい。技術専門家にとって、上記の用語の本発明における具体的意味は、文脈の中で理解することができる。
【0017】
本発明の実施形態を示す図面においては、同じまたは類似の参照ラベルが、同じまたは類似の部分に対応する。本発明の説明においては、「複数の」の意味は、別段の指定のない限り、2つ以上を意味することに留意されたい。「上」、「下」、「左」、「右」、「内部」、「外部」、「前端」、「後端」、「頭部」、「尾部」という用語の方向または位置、すなわち図面に示す配向または位置関係は、示されたデバイスまたは要素が特定の配向を有し、特定の配向で構築され、動作しなければならない、ということを示すまたは意味するのではなく、本発明の説明の便宜を図り、説明を簡易にするためのものにすぎず、したがって、本発明を限定するものとして使用することはできない。
【0018】
ブロックチェーン技術と電子メール技術を組み合わせると、背景セクションにおいて特定した問題を効果的に解決することができる。ブロックチェーンは、ブロックチェーン電子メールの発信元および受信先を認証する。この認証を偽造することはできない。全てのコンテンツおよび添付物は、他方の当事者の暗号化鍵で暗号化され、分散型ストレージサービス上に格納される。第三者は全てのデータを取得することができない。万一データが不法に取り出された場合、それでもなお、対応するデータを適切な鍵なしで復号することは不可能である。全ての電子メールコンテンツおよび添付物は、処理され、発信元によって署名されて指紋情報が生成され、ブロックチェーン内に格納され、それは、発信元の公開鍵が、電子メールが真正であるかどうかを随時検証できることを意味する。受信先は、その秘密鍵を使用してデータを復号し、ブロックチェーン上のデータ指紋を検証して、データが変更または偽造されていないことを確認する。この完全に分散化された非中央集権的な電子メールシステムは、電子メールのセキュリティを基本的に保証することができる。
【0019】
現実世界では、全てのユーザが同一ブロックチェーンシステムを利用することはほぼ不可能である。したがって、互いに対話しない複数のアライアンスチェーンがある。しかし、電子メールシステムとして、クロスチェーン電子メールのインターオペラビリティ、ならびにブロックチェーン電子メール、および通常のインターネット電子メールとの通信を提供することは必須である。普通のメールボックスと対話するとき、情報セキュリティ問題は本特許ではカバーされず、というのも、普通のメールボックスは平文で送信または格納されるためであるが、本発明者らはそれでもなお、ブロックチェーンの特徴を使用して、発信または受信された全てのメッセージの真正性を保証することができる。さらに、ブロックチェーン間メールボックスの場合、電子メール送信がエンドツーエンドで暗号化され、権限を与えられた受信先のみがメールを読むことができる。
【0020】
本明細書は、内部電子メールとクロスチェーン電子メールをどちらもサポートするとともに、非ブロックチェーン電子メールシステムと対話する潜在能力のある、ブロックチェーン電子メールシステムについて記載するものである。本方法を通じて、電子メールの発信元または受信先がブロックチェーンメールボックスである限り、電子メール情報はブロックチェーン内に記録され、それによって、電子メールの真正性が確実なものになる。さらに、ブロックチェーンメールボックス同士がメッセージを交換するとき、電子メール情報は暗号化され、分散型ストレージ内に格納され、受信先のみが電子メールの一意の暗号鍵およびストレージ位置を取得することができ、それにより、電子メール送信のセキュリティが確実なものになる。
【0021】
本発明の一実施形態の典型例であるシステムについて、下に説明する。
図1は、本発明の一実施形態についてのシステムアーキテクチャ図を描いたものである。図示のように、システムアーキテクチャ図は、以下のコンポーネントを含む。
【0022】
コンポーネント101は、標準的な電子メールクライアントである。さまざまなユーザの使用習慣に適合するように、セキュアなメールエージェントコンポーネント103を通じて内部プロトコルまたは標準的な電子メールプロトコルを介して電子メールのコンテンツを捕捉するための電子メールサービスが、例えば電子メールクライアントプラグインとして提供される。このエージェントは、ブロックチェーン電子メールを、電子メールコンテンツ内の特別なタグによって識別する。電子メールが普通の電子メールである場合、電子メールは、従来の電子メールサーバを経由し、そうでない場合、電子メールは暗号化され、ブロックチェーン電子メールサービスを通じて発信される。任意選択で、ローカルメールエージェントはローカル電子メールクライアントにPOP3およびSMTPインターフェースを提供することができ、したがって、どんなサードパーティ電子メールクライアントも、セキュアなローカル電子メールエージェントサービスを通じて電子メールを発信/受信することができる。情報セキュリティを確実なものにするために、このセキュアなメールエージェントは、セキュアでないメールメッセージがネットワーク上で送信され、ネットワーク上に保存されるのを防ぐべく、標準的な電子メールクライアントと同じノード上で実行される必要がある。
【0023】
あるいは、標準的な電子メールクライアントは、電子メールクライアントのユーザインターフェース(UI)と対話して電子メールのコンテンツを捕捉するプラグインを有してもよい。電子メールがブロックチェーン電子メールとして識別された場合、このプラグインは、セキュアなメールエージェントとして働き、セキュアなブロックチェーン電子メールを平文電子メールに変換して、それが電子メールクライアントのUI上に表示されるか、または平文メールをブロックチェーン電子メールに暗号化し、さらなる処理のためにブロックチェーン電子メールサービスに発信する。
【0024】
コンポーネント102は、ブロックチェーンウォレットである。ブロックチェーンウォレットの主要な機能は、ユーザの秘密鍵および公開鍵を格納することである。本発明者らは、ウォレットを使用して、電子メールアカウントをブロックチェーンアカウントと関連付けることができる。各ブロックチェーン電子メールアカウントは、公開鍵および秘密鍵を設定する。公開鍵は、共有クラウドストレージにポストされ、誰でもそれにアクセスすることができ、一方、ウォレットは秘密鍵を完全に保護する。データは、ウォレットAPI(アプリケーションプログラミングインターフェース)を使用することによって暗号化または復号される。ウォレットが重要なブロックチェーンアカウント情報および秘密鍵を格納するので、情報漏洩を回避するために、本発明者らは、ウォレットがユーザ側端末上で実行されて、確実にそのユーザのみがウォレットにアクセスできるようにする必要がある。
【0025】
コンポーネント103は、セキュアなブロックチェーンローカル電子メールエージェントまたはプラグインである。このエージェントはプライベートプラグインプロトコルを通じて、またはPOP3およびSMTPインターフェースを通じて、ローカル電子メールクライアントと通信し、電子メール発信/受信要求をブロックチェーンスマートコントラクト要求に変換する。暗号化されたストレージインデックスキーおよび復号用の共通暗号を収容した、セキュアなブロックチェーン電子メールメッセージが、ブロックチェーン内で実行されるスマートコントラクトを通じて発信および受信される。あるいは、暗号化されたメールが、普通のメールサーバを通じて発信および受信するとともに、プラグインまたはメールエージェントを使用して、コンテンツを検証し、メールを暗号化/復号することもできる。セキュアな電子メールエージェントは、ローカルメールボックスの公開鍵情報を、共有クラウドストレージ上に登録する。受信先側電子メールエージェントが、ブロックチェーンを監視して、メッセージを取り出す。メッセージを受信した後、ウォレット内の秘密鍵が使用されて、共有専用暗号鍵とインデックス付きデータとが復号および取得され、インデックス付きデータが共有クラウドストレージ内で使用されると、対応する暗号化された電子メールコンテンツおよび添付物が取得される。電子メールコンテンツおよび添付物を取り出した後、電子メールエージェントは、専用暗号鍵を使用して電子メールコンテンツを復号し、それをローカル電子メールに転送する。ローカル電子メールクライアントアプリケーションがイネーブルにされていない場合、エージェントは、受信した各種メッセージをローカルにキャッシュする役割も担う。
【0026】
コンポーネント104は、クライアント側コンポーネントである。情報セキュリティを確実なものにするために、コンポーネント101、102、103は一緒にデプロイされて、クライアントコンポーネント104を形成する。
【0027】
コンポーネント105は、ブロックチェーン電子メールスマートコントラクトである。スマートコントラクトは、各電子メールの暗号化された専用暗号鍵および発信元のシグネチャ情報をチェーン内に記録するために使用される。スマートコントラクトに対してブロックチェーンノードにおいてコンセンサスが完了し、それによって、確実にデータが格納され、変更できないようになる。ブロックチェーン内に格納された暗号鍵は、受信先の公開鍵によって暗号化されており、また主要な電子メールコンテンツおよび添付物は、専用暗号鍵によって暗号化され、分散型クラウドストレージ内に格納されるので、その受信先のみが、対応する電子メール情報を正しく取り出すことができる。他の誰も、管理者ですら、電子メール情報がどこに格納されているのかを知らず、電子メールのコンテンツを傍受することもできず、したがって、電子メールをデコードするすべはない。インターネットメールボックスに発信または受信された全ての電子メールの場合、一方の当事者がブロックチェーンメールボックスである限り、電子メールのシグネチャ情報がやはり、検証を目的としてブロックチェーン内に残ることになる。
【0028】
コンポーネント106は、ブロックチェーンノードである。コンポーネント106は、マルチノードコンセンサスおよびアカウント記録作業を履行するために使用される。本特許は、特定のブロックチェーンを限定せず、スマートコントラクトをサポートすることのできるどんなブロックチェーンシステムも適しているはずである。さらに、本特許は、複数の異種ブロックチェーンシステム同士の電子メールの交換にも機能する。
【0029】
コンポーネント107は、メール転送エージェント(MTA)である。コンポーネント107は、インターネット電子メールのインターフェースゲートウェイとして使用される。そのMX(メールエクスチェンジャ)情報がドメインネームサーバ上に登録されるので、全てのインターネット電子メールおよび他のクロスチェーンブロックチェーン電子メールは、このノードに発信されて処理される。MTAは、通常のインターネット電子メールを受信したときは、電子メールにMTA秘密鍵で署名し、受信先情報に従って受信先の公開鍵を取得し、コンテンツを暗号化し、それをブロックチェーン電子メールに転送する。MTAは、別のブロックチェーンからクロスチェーン電子メールを受信したときは、受信先情報に基づいて、メッセージを直接、そのブロックチェーンメールボックスに発信する。
【0030】
コンポーネント108は、共有クラウドストレージサービスコンポーネントである。コンポーネント108は、基本のキー/バリューマッピングストレージを提供し、データをマルチコピー分散型ストレージ様式(multi-copy distributed storage manner)で複数の異なるノードに分散させ、それによって、システム全体の効率およびデータセキュリティを確実なものにする。全てのユーザは、このストレージシステムに公にアクセスすることができる。しかし、ブロックチェーン電子メールが格納されるとき、電子メール情報が暗号化され、また対応する鍵が暗号化され、その受信先によってのみアクセス可能である。したがって、第三者は、完全な電子メールを組み立てることはできず、それを復号することはできない。
【0031】
コンポーネント109は、本実施形態において共有クラウドストレージ内に格納される少なくとも3つのタイプのデータを描いたものである。3つのタイプのデータは、1)メールボックスの対応する公開鍵情報、および公にアクセス可能な情報、2)暗号化された電子メールメッセージコンテンツ、これは各電子メールの専用鍵によって使用される、ならびに3)暗号化された大容量添付物である。対称暗号化アルゴリズムを使用して、電子メールコンテンツを専用暗号鍵で暗号化する。コンテンツ形式はMIME(多目的インターネットメール拡張)である。したがって、小容量添付物なら電子メール本体と一緒に、暗号化された電子メールメッセージコンテンツの一部として暗号化することができる。暗号化された大容量添付物は、対称暗号化アルゴリズムを使用して、専用暗号鍵によって同様に暗号化される。
【0032】
コンポーネント110は、DNS(ドメインネームシステム)サービスコンポーネントである。MTAのIP(インターネットプロトコル)アドレスを、ドメインネームのMXレコード上に書き込むために、そのドメインネームにアドレスされた全ての電子メールが、割り当てられたMTAに転送される。
【0033】
完全な電子メールシステムは、電子メールクライアント、電子メールサーバ、および電子メール送信チャネルを含む。電子メール自体は、典型的には、発信元、受信先、表題、コンテンツ、および複数の添付物を含む。既存の電子メールシステムと統合するために、本発明の一実施形態の典型例であるシステムのデプロイメントは、受信先のメールボックスドメインネームに従って区別される。受信先は、同一ブロックチェーン内または別のブロックチェーン内のローカルメールボックスに属してよい。他の実施形態では、受信先のメールボックスは、外部のインターネットメールボックスであってもよい。
【0034】
電子メールの発信および受信のプロセスは、以下のシナリオに従って分類することができる。
【0035】
電子メールプロセス
メール配信プロセス
シナリオ1:ブロックチェーンメールボックスから、同一チェーン内のブロックチェーンメールボックスへ
このシナリオでは、電子メールクライアントが最初に、一般的なメールプロトコルを使用して電子メールをローカルブロックチェーン電子メールエージェントに発信する。ローカルエージェントは、電子メール内の複数の受信先が属するドメインが、そのメールボックスをローカルブロックチェーン内に有するかどうかを判定する。ローカルブロックチェーン内に有する場合、ローカルエージェントは、この電子メールの一意の暗号鍵を生成し、暗号化された電子メール本体および添付物を、暗号化を通じて共有ストレージに保存し、発信元の秘密鍵を使用してデータに署名し、それによって、第三者による不法な改ざんを防ぐ。ローカル電子メールエージェントは同時に、共有ストレージインデックス情報および電子メール専用暗号鍵を、ブロックチェーン受信先のメールボックスの公開鍵で暗号化し、暗号化したものを電子メールコントラクトにプッシュして、トランザクションレコードを生成し、それをブロックチェーン上に保存し、コンセンサスを完了する。電子メール内にN個の受信先がある場合、N個のブロックチェーンレコードがそれぞれ生成され、N個の受信先の公開鍵が、暗号鍵、および電子メールの共有ストレージ上のインデックス情報を暗号化するために使用される。
【0036】
このステップの実施後、少なくとも1つの電子メール本体が共有ストレージ内に保持され、電子メールエージェントが、N個(受信先の数)のブロックチェーンレコードを生成し、チェーン上でコンセンサスを完了する。
【0037】
シナリオ2:ブロックチェーンメールボックスから、別のチェーン内のブロックチェーンメールボックスへ
このシナリオでは、電子メールを発信する際、ローカルブロックチェーン電子メールエージェントが共有クラウドストレージに問合せして、対応する受信先電子メールアドレスがブロックチェーンメールボックスであるかどうかをチェックする。それがブロックチェーンメールボックスである場合、ローカルブロックチェーン電子メールエージェントは最初に、専用暗号鍵を生成し、電子メールをその暗号鍵で暗号化する。暗号化されたメールコンテンツおよび添付物は、共有クラウドストレージ内に格納される。発信元のブロックチェーン電子メールエージェントが、共有クラウドストレージから受信先アカウントの公開鍵情報を取得し、その公開鍵を使用して専用暗号鍵を暗号化し、それを通常のインターネット電子メールを通じて他方の当事者のメール送信ゲートウェイ(MTA)に発信する。ブロックチェーン電子メールを受信した後、他方の当事者のMTAは、受信先情報に従ってブロックチェーン電子メールをその当事者のブロックチェーン電子メールコントラクトにプッシュする。
【0038】
このシナリオでは、クロスチェーンデータを交換するために、複数のブロックチェーンによって共有されるクラウドストレージサービスが利用される。データは共有されるので、受信側エージェントが電子メール情報を受信したとき、電子メール本体データはすでに存在しているはずであり、また他方の当事者の電子メールのみによって復号され得、どんな中間ノードも電子メールコンテンツについて知ることができず、それによりデータセキュリティが確実なものになる。
【0039】
シナリオ3:ブロックチェーンメールボックスから、暗号化されない普通のインターネットメールボックスへ
このシナリオでは、受信先は、暗号化されないインターネットメールボックスであるので、情報のセキュリティの責任は、システムの本例示的実施形態にはない。しかし、本例示的システムは、発信された電子メールのコンテンツおよび添付物について指紋情報を計算し、発信元の秘密鍵を使用して指紋情報に署名し、それを認証する。ブロックチェーンメールボックスエージェントが、その情報をブロックチェーン電子メールスマートコントラクトにプッシュし、関連情報をブロックチェーンに保存し、それによって、電子メールの受信先が、電子メールメッセージが改ざんされているかどうかを、シグネチャの指紋情報に従って検証することができる。これらの電子メールレコードは、法的目的にも使用することができる。
【0040】
メール受信先プロセス
メール受信は、以下のシナリオを含むことができる。
【0041】
シナリオ4:ブロックチェーン電子メールを、同一ブロックチェーンに属するメールボックスから受信する
ブロックチェーン電子メールエージェントが、ブロックチェーン上の新たなメッセージを監視する。ブロックチェーンが、受信先の現在のアカウントの電子メールトランザクションレコードを生成すると、ブロックチェーン電子メールエージェントは、メッセージコンテンツをパースし、発信元の公開鍵を取得してシグネチャを検証し、ローカルウォレット内の秘密鍵を使用してメッセージ本体を復号し、それによって、メールストレージインデックスおよび対応する専用暗号鍵を取得する。ブロックチェーン電子メールエージェントは、電子メールストレージインデックス情報を使用して、対応する暗号化された電子メールコンテンツおよび添付物を共有クラウドストレージサービスからダウンロードし、専用暗号鍵を使用してコンテンツを復号する。復号された電子メールは、ローカルポストオフィス内に一時的に格納される。ユーザが標準的な電子メールクライアントを開くと、電子メールクライアントは、標準的なPOP3プロトコルを使用してローカル電子メールエージェントと通信し、それによって、復号された電子メールおよび添付物を取得する。この手法により、ブロックチェーンメールボックスのユーザエクスペリエンスは、通常のメールボックスサービスを使用することとは相違のないものとなる。
【0042】
シナリオ5:別のブロックチェーン上のメールボックスから、クロスチェーンブロックチェーン電子メールを受信する
ブロックチェーン電子メールプロキシサービスが、普通のMX電子メールサービスとしてインターネットドメインネームに登録されており、ブロックチェーン電子メールエージェントの公開鍵とドメインネームのマッピングを、共有クラウドストレージサービスに保存する。別のブロックチェーン上のメールボックスによって発信されたクロスチェーンブロックチェーン電子メールを受信すると、MTAは最初に、共有クラウドストレージサービス内の公開鍵ディレクトリから発信元の公開鍵を取得し、電子メールシグネチャを検証し、次いで、暗号化された専用暗号鍵およびストレージインデックス情報を、ローカルブロックチェーン電子メールスマートコントラクトにプッシュする。ローカルの受信先が、対応するブロックチェーン電子メールメッセージを受信すると、メッセージはシナリオ1と同様に取り扱われる。
【0043】
シナリオ6:通常の電子メールを、通常のインターネットメールボックスから受信する
通常のインターネットメールボックスから発信された電子メールは、暗号化されていない。ブロックチェーンメールボックスがインターネットを通じて発信された通常の電子メールを受信できるようにするには、ブロックチェーンMTAが電子メール転送作業を実施する、すなわち、専用暗号鍵を生成し、メッセージのコンテンツおよび添付物をその暗号鍵で暗号化し、暗号化された電子メールコンテンツおよび添付物を、共有クラウドストレージサービスに保存し、クラウドストレージインテックスを取得し、受信先メールボックスに従って、クラウドストレージ内の対応する受信先メールボックスの公開鍵を探し、次いで、その公開鍵を使用して、暗号鍵およびストレージインデックスを暗号化する必要がある。専用暗号鍵が、暗号化され、電子メールエージェントの秘密鍵で署名され、次いで、ブロックチェーン電子メールコントラクトにプッシュされると、ローカル電子メール転送が完了する。受信先のブロックチェーンメールボックスクライアントは、シナリオ1と同じプロセスを使用して、通常のインターネットメールを受信することができる。
【0044】
例:
以下の例について、同一ブロックチェーン内のメールボックスから電子メールを発信および受信する様子を示す概略ブロック図を描いた
図2を参照して説明する。
【0045】
ユーザAがブロックチェーン電子メールをユーザBのメールボックスに発信し、ユーザAとユーザBはどちらも同一ブロックチェーン上にある。
【0046】
ステップ201において、ユーザAの電子メールエージェントが、ウォレットからユーザAの公開鍵を入手し、それを共有ストレージに登録する。したがって、同一チェーンまたは異なるチェーン内の他のユーザは、ユーザAの公開鍵を見つけることができる。
【0047】
ステップ202において、ユーザAの電子メールクライアントが、POP3プロトコルを通じてローカル電子メールエージェントとの認証を実施する。
【0048】
ステップ203において、ユーザAが電子メールを作成し、それを、SMTPを通じてローカル電子メールエージェントに発信する。
【0049】
ステップ204において、ユーザAのローカル電子メールエージェントが、電子メール送出要求を受信し、一意の専用暗号鍵を生成する。
【0050】
ステップ205において、ユーザAのローカル電子メールエージェントが、対称暗号化方式に基づいて、この一意の暗号鍵を使用して電子メールコンテンツおよび添付物を暗号化する。
【0051】
ステップ206において、ユーザAのローカル電子メールエージェントがウォレットを呼び出し、ユーザAの秘密鍵を使用して、暗号化された電子メールコンテンツおよび添付物に署名し、この電子メールのシグネチャを生成する。
【0052】
ステップ207において、ユーザAのローカル電子メールエージェントが、暗号化されたメールコンテンツおよび添付物を、インデックスキー(DATETIME + HASH(SENDER + recipient + TITLE) )または(DATETIME + HASH( SENDER + recipient + ATTACHMENT FILENAME))を用いて共有クラウドストレージに格納する。
【0053】
ステップ208において、ユーザAのローカル電子メールエージェントが、共有ストレージからユーザB(受信先)の公開鍵を取り出し、非対称暗号化に基づいて、専用暗号鍵およびクラウドストレージインデックスキーをユーザBの公開鍵で暗号化する。1つよりも多くの受信先がある場合、ローカルメールエージェントは、受信先ごとに複数回暗号化する。
【0054】
ステップ209において、ユーザAのローカル電子メールエージェントが電子メールコントラクトを呼び出し、暗号化された専用暗号鍵およびクラウドインデックスキーをスマートコントラクトにプッシュし、それをブロックチェーン内に格納する。
【0055】
ステップ210において、電子メールコントラクトが、ブロックチェーン内でコンセンサス動作を実施し、メッセージをブロックチェーン上に格納する。
【0056】
ステップ211において、ユーザBの電子メールエージェントが、ブロックチェーンを監視し続ける。エージェントは、ユーザBへのメッセージを見つけると、ブロックチェーンからそのメッセージを取り出す。
【0057】
ステップ212において、ユーザBの電子メールエージェントが、非対称暗号化方式に基づいて、メッセージをウォレット内のユーザBの秘密鍵で復号する。
【0058】
復号後のステップ213において、ユーザBの電子メールエージェントが、電子メールコンテンツおよび添付物のインデックス、ならびにこの電子メールの暗号鍵を取り出す。ユーザBの電子メールエージェントは、このインデックスを使用して共有ストレージから暗号化された電子メールコンテンツおよび添付物を取り出す。
【0059】
ステップ214において、ユーザBの電子メールエージェントが、対称暗号化方式に基づいて、電子メールコンテンツおよび添付物を暗号鍵で復号する。
【0060】
ステップ215において、ユーザBの電子メールエージェントが、復号されたメールコンテンツおよび添付物をローカルストレージ内に一時的に格納する。
【0061】
ステップ216において、ユーザBの電子メールクライアントが、ユーザBの電子メールエージェントから、POP3プロトコルまたはプラグインを使用してメールを取り出し、メッセージをユーザBに表示する。
【0062】
共有クラウドストレージ内の3つのタイプのデータ
以下の3つのタイプのデータが、共有クラウドストレージ内に格納される。
【0063】
データタイプ1:ユーザメールボックス→メールボックスの公開鍵のマッピング
一例示的形式は以下の通りである。
【0064】
文字列によって、唯一の主キーとしてのユーザのメールボックスを次の形式XX@[domain.com]で表し、ただしXXはメールボックス名であり、domain.comはドメインネームである。
【0065】
文字列によって、メールボックスの公開鍵を表す。公開鍵の形式は、鍵方式によって異なってよく、PEM(プライバシー強化メール)形式で表現することが推奨される。
【0066】
データタイプ2:メールインデックス→暗号化されたメールコンテンツのマッピング
文字列によって、メールインデックスを表す。その構造は、DATETIME + HASH(SENDER+recipient+TITLE)であり、それにより日付でグループ化することがより容易になり、クラウドストレージ上でのホットおよびコールドデータ交換(hot and cold data exchange)にとってこれは好都合である。
【0067】
標準的なMIME構造によって、電子メールのコンテンツを表す。一実施形態では、この構造は、https://www.w3.org/Protocols/rfc1341/7_2_Multipart.htmlからオンラインで利用可能な「MIME (Multipurpose Internet Mail Extensions): Mechanisms for Specifying and Describing the Format of Internet Message Bodies」という名称のRFC1341のセクション7.2「The Multipart Content-Type」、およびhttps://en.wikipedia.org/wiki/MIMEからオンラインで利用可能なウィキペディアのMIMEに関する項目に記載されているものとすることができる。
【0068】
電子メールのTITLE、FROM、TO、CC、BCCなどは、暗号化されないが、メールコンテンツおよび添付物は、AES(高度暗号化標準)および他の対称暗号化アルゴリズムによって暗号化され、次いで、Base64エンコーディングに従って文字列に組み合わされる。
【0069】
データタイプ3:添付物インデックス→添付物データを暗号化する
メール入手のコストを低減するために、大容量でサイズの大きすぎる添付物は別途保存することができる。
【0070】
添付物インデックス形式は、メールインデックス-添付物IDであり、それにより、メッセージ内の添付物インデックスを参照することによって大容量添付物が追加される。
【0071】
電子メールの添付物およびコンテンツの暗号化方式は、電子メールの専用暗号鍵を使用することによって暗号化されるものであり、専用暗号鍵は、ブロックチェーンを通じて受信先に送信される。
【0072】
ブロックチェーンメールエージェントの内部ロジック
図3は、ブロックチェーンメールエージェントを利用したプロセスの一実施形態に関する内部ロジックを表すフローチャートを描いたものであり、この内部ロジックは以下のステップを含む。
【0073】
プロセスのステップ300において、クライアントが電子メールを発信する。
【0074】
ステップ301において、メールエージェントが、待ち状態の電子メールをローカルにキャッシュする。
【0075】
ステップ302において、プロセスがメッセージに発信元の秘密鍵で署名する。
【0076】
ステップ303において、プロセスが共有クラウドストレージに問合せし、電子メール受信先がブロックチェーンメールボックスに登録されているかどうかをチェックする。
【0077】
ステップ304において、ブロックチェーンメールボックスが共有ストレージ内に登録されている場合、これは受信先がブロックチェーンメールボックスであることを意味し、専用暗号鍵が生成される。
【0078】
ステップ305において、プロセスが専用暗号鍵を使用してメッセージコンテンツおよび添付物を暗号化する。
【0079】
ステップ306において、プロセスが、暗号化されたメールおよび添付物を共有クラウドストレージに格納する。
【0080】
ステップ307において、プロセスが、受信先が同一ブロックチェーン内にあるかどうかをチェックする。
【0081】
ステップ308において、プロセスが、受信先が同一ブロックチェーン内にないかどうかを尋ね、暗号化された専用暗号鍵およびストレージインデックスを用いて送出メッセージを構築する。
【0082】
ステップ309において、プロセスがSMTPプロトコルを使用してインターネット電子メールを発信する。
【0083】
ステップ310において、プロセスが、メッセージを電子メールコントラクトにプッシュし、メールシグネチャ情報、暗号化された専用暗号鍵、およびストレージインデックス情報をブロックチェーン内に保存する。
【0084】
ステップ311において、電子メールの受信先がブロックチェーンメールボックスではない場合、プロセスは平文メッセージを構築し、そのメッセージを発信し、そのメッセージを電子メールコントラクトにプッシュし、このメッセージは電子メールシグネチャのみを収容したものである。
【0085】
メール転送エージェント(MTA)の内部ロジック
図4は、以下のステップを含む、メール転送エージェント(MTA)の内部ロジックを描いたものである。
【0086】
プロセスのステップ400において、MTAがインターネットから電子メールを受信する。
【0087】
ステップ401において、プロセスが受信先のドメインをチェックする。
【0088】
プロセスのステップ402において、ドメインが現在登録されているドメインと同じではない場合、これはジャンクメールであり、破棄される。
【0089】
ステップ403において、プロセスが、電子メールの発信元がブロックチェーンメールボックスであるかどうかを問合せする。
【0090】
プロセスのステップ404において、発信元がブロックチェーンメールボックスではない場合、プロセスは、通常のインターネット電子メールをブロックチェーン電子メールに変換する必要があり、暗号化用の共通暗号鍵を生成する。
【0091】
ステップ405において、プロセスが、コンテンツおよび添付物を専用暗号鍵で暗号化し、電子メールにMTAの秘密鍵で署名する。
【0092】
ステップ406において、プロセスが、暗号化されたコンテンツおよび添付物を共有クラウドストレージに格納する。
【0093】
ステップ407において、プロセスが、専用暗号鍵およびストレージインデックスを受信先の公開鍵で暗号化する。
【0094】
ステップ408において、プロセスが電子メールコントラクトを呼び出し、暗号化された専用暗号鍵およびストレージインデックスをメッセージとしてブロックチェーン電子メールコントラクトにプッシュする。
【0095】
クロスチェーン電子メール
クロスチェーン電子メールを発信する詳細な例示的プロセスについて、クロスチェーン電子メールの発信に関与する要素またはステップを描いた
図5を参照して説明する。これらは、メールクライアント500、ブロックチェーンメールエージェント501、ノード502、ブロックチェーンメールエージェント503、インターネットなどのネットワーク504、メール転送エージェント(MTA)505、ノード506、ブロックチェーンメールエージェント507、メールクライアント508、メールサーバ509、DNSノード510、および共有クラウドストレージ511を含む。
【0096】
一例示的実施形態では、クロスチェーンブロックチェーン電子メールをサポートするために、プロセスは最初にMTA505をDNSサービス510のMXレコードに登録し、それによって、インターネットプロトコルを通じて電子メールを発信した際に、対応するサーバが見つかるようにする。受信先メールボックスの公開鍵情報を取得するために、ブロックチェーン電子メールエージェントは、その公開鍵、およびマッピングする電子メールアドレスを、クラウド共有分散型ストレージに登録する必要がある。次いで、発信元は、受信先の鍵を使用してデータを暗号化し、また発信元のシグネチャ情報を検証し、それによって、コンテンツが真正であること、また第三者に漏洩していないことを確認することができる。
【0097】
あるブロックチェーンシステムから別のブロックチェーンシステムにクロスチェーン電子メールコンテンツを転送するために、プロセスは最初に、発信元のブロックチェーンメールエージェント501上で、一意の専用暗号鍵を生成し、次いでクロスチェーン電子メールコンテンツに発信元の秘密鍵で署名する。専用暗号鍵は、対称暗号化アルゴリズムを使用してメールコンテンツおよび添付物を暗号化するために使用され、暗号化された電子メールデータは、グローバルに共有され得る分散型クラウドストレージ511内に格納される。本実施形態では、分散型クラウドストレージのキー-バリュー(K/V)アクセスインターフェースを外部に晒す必要がある。次いで、生成された専用暗号鍵およびクラウドストレージのインデックス位置を非対称暗号化アルゴリズムで暗号化するために、受信先メールボックスの公開鍵が使用される。暗号化されたデータは、受信先メールボックスの秘密鍵によってのみ復号することができるので、セキュリティ問題を引き起こすおそれのあるセキュアな電子メールのランダム転送または電子メールコンテンツの傍受が、それにより制限される。
【0098】
専用暗号鍵の暗号化を完了した後、プロセスは、通常のインターネット電子メールを構築して、新たなドメインネームの下の電子メールサービス、すなわちメール転送エージェント505に、その情報を転送する。次いでMTA505は、メッセージコンテンツをブロックチェーンシステムノード506に転送し、ブロックチェーンコンセンサス動作を完了し、メッセージをブロックチェーンアカウントブックに記録する。受信先クライアント508のブロックチェーン電子メールエージェント507は、新たなメールを検出すると、ローカルウォレット内のメールボックスの秘密鍵を使用してメールメッセージを復号し、専用暗号鍵およびクラウドストレージ511のインデックスアドレスを取得し、クラウドストレージ511内の対応するアドレスを取り出す。電子メールコンテンツおよび添付物が専用暗号鍵を使用して復号し、それによって、受信先クライアント508が標準的なメールプロトコルを使用して取り出し、表示できるようになる。
【0099】
ブロックチェーンスマートコントラクトロジック
【0100】
【0101】
FROM:発信元のブロックチェーンアカウント
TO:受信先のブロックチェーンアカウント
COMMONCYPHER:暗号化された共通暗号
STORAGEKEY:暗号化されたストレージインデックスキー
SIGNATURE:メールのシグネチャ
DATETIME:発信時間
【0102】
電子メールがインターネットからのものである場合、「From」フィールドはMTAのアカウントとして埋められる。電子メールの受信先が現在のチェーンの外部にある場合、「To」フィールドにはヌルが埋められる。
【0103】
スパム電子メールを回避するために、MTAを除く全てのユーザは、受信先の数に基づいて、一定量のトークンを支払うことが求められる。
【0104】
図6は、電子メールの発信およびチェックを含む、スマートコントラクト電子メールサービスのフローチャートを描いたものである。図示のように、ブロックチェーン電子メールコントラクトは、1つは電子メールメッセージを発信するためのものであり(ステップ600~605)、1つは電子メールメッセージをチェックするためのものである(ステップ607~612)、2つのサービスを含む。
【0105】
これらのサービスは、ユーザが電子メールを発信するのに十分なトークンを有していること、また電子メールの発信元がメッセージの発信元と一致しており、コントラクトを動作させる権限を有することを確認する必要がある。これらのサービスはまた、メッセージの受信先のみがそのアカウントに発信されたメッセージを入手できること、またメッセージの受信先は、他のアカウントに発信されたどんなメッセージも入手できないことを確実なものにする必要がある。
【0106】
2つのサービスの具体的なプロセスは、以下の通りである。
【0107】
メッセージ発信サービス
ステップ600において、コントラクトが呼び出した電子メールメッセージをプロセスが転送する。
【0108】
ステップ601において、プロセスが、発信元の認証をチェックし、そのオペレータが発信元のアカウントと同じであり、電子メールメッセージを送出する権限を有することを確認する。
【0109】
ステップ602において、プロセスが、発信元のアカウントが十分なトークンを有しているかどうかを問合せする。アカウントは、電子メール転送費用を賄うために、一定量のトークンをプールに支払う必要がある。
【0110】
ステップ603において、発信元のアカウントが支払い後にプラスのトークンを有する場合、プロセスがトークン転送コントラクトを呼び出す。
【0111】
ステップ604において、プロセスが、電子メールレコードをブロックチェーンの未読メッセージテーブル内に格納する。
【0112】
ステップ605において、トランザクションの成功が宣言される。
【0113】
ステップ606において、発信元のアカウントが支払い後にマイナスのトークンを有する場合、トランザクションは失敗する。
【0114】
メッセージチェックサービス
ステップ607において、プロセスが、呼び出されたメッセージをチェックする。
【0115】
ステップ608において、プロセスが、受信先アカウントがメッセージを受信する権限を有するかどうか、また受信先が現在のアカウントと同じであるかどうかを問合せする。
【0116】
ステップ609において、プロセスが、チェーンテーブルが未読メッセージを収容しているかどうかを問合せする。
【0117】
ステップ610において、プロセスが、現在のアカウントの未読メッセージを見つけて取り出す。
【0118】
ステップ611において、プロセスが、未読メッセージテーブルからメッセージを削除する。
【0119】
ステップ612において、トランザクションが終了する。
【0120】
新たなメッセージが受信された後、スマートコントラクトは、その新たなメッセージをカプセル化して電子メールエージェントに入れ、そのメッセージはJSON(JavaScript Object Notation)形式で受信先に渡される。
【0121】
メッセージの受信を容易にするために、ブロックチェーン電子メールエージェントは、ブロックチェーンを継続的に監視する。新たなブロックが生成されると、ブロックチェーン電子メールエージェントは、現在のユーザの未読メッセージをチェーンが収容しているかどうかをチェックする。次いで、ブロックチェーン電子メールエージェントは、スマートコントラクトの受信機能を呼び出すことによってメッセージを取り出す。コントラクトにおいては、受信先アカウントに従って、対応する認証キーを提供するクライアントのみが、メッセージを取り出すことができる。
【0122】
以上、ほんの一例として、本発明の実施形態について説明してきたが、特許請求の範囲に記載の範囲から逸脱することなく多くの変形および置換が可能なので、添付の特許請求の範囲によって定められる本発明は、例示的実施形態についての上記の説明中に記載された特定の詳細によって限定すべきではないことを理解されたい。
【符号の説明】
【0123】
101 コンポーネント
102 コンポーネント
103 セキュアなメールエージェントコンポーネント
104 クライアントコンポーネント
105 コンポーネント
106 コンポーネント
107 コンポーネント
108 コンポーネント
109 コンポーネント
110 コンポーネント
500 メールクライアント
501 発信元のブロックチェーンメールエージェント
502 ノード
503 ブロックチェーンメールエージェント
504 ネットワーク
505 メール転送エージェント(MTA)
506 ブロックチェーンシステムノード
507 ブロックチェーンメールエージェント、ブロックチェーン電子メールエージェント
508 メールクライアント、受信先クライアント
509 メールサーバ
510 DNSノード、DNSサービス
511 共有クラウドストレージ、分散型クラウドストレージ
【国際調査報告】