Trinityのモバイルベータ版の公開が間近に迫るにつれて、ノード所有者が適切な準備を行うことが重要になってきている。
モバイルアプリのストアは、すべてのデータトラフィックをSSLあるいはTLSによって暗号化することを求めている。SSLやTLSがどういったものなのかわからない方は、SSLとTLSを説明した下記の動画を見てもらいたい。
SSLやTLSはTrinityにどんな意味をもっているか
いくつかの理由で、TrinityにおいてはSSLやTLSが必須である。まず、AppleはApp Storeに申請されたすべてのアプリでApp Transport Security(ATS)を有効にすることを求めている。
ATSなしのアプリを申請するのであれば、開発者はなぜATSを無効にしているのかを適切にAppleに対して説明する必要がある。さらに、Google ChromeなどのブラウザはHTTPSを使用していないウェブサイトを「安全でない」と見なすようになっている。
ベストプラクティスを遵守するための継続的な努力の一環として、TrinityはHTTPSなしでの接続を許可しないことになる。
なぜHTTPSは重要なのか
オンラインストアと違い、ノード所有者はクレジットカード番号のような保護が必要な情報を扱わない。また、Trinityはウォレット種をどこにも送信しない。そのため、ユーザーの資金がリスクにさらされることはないので暗号化は今は必須ではない。
しかし、もし暗号化をしなければ、ウォレットが送信するデータによって、ユーザーのプライバシーやユーザーエクスペリエンスが潜在的なリスクにさらされることとなる。
たとえるなら、カフェに行って公衆wifiに接続するようなものである。そこにはあなたの接続を盗み見しようとする人がいる。コーヒー代を支払おうとTrinityを開いてIOTAを送信する。
このとき、TLSが提供する暗号化なしでは、あなたが送信したトランザクションが盗み見され、そのトランザクションを行った人があなたであることまで知られることになる。匿名性は分散型台帳の主要な特徴のひとつだ。
暗号化されていない通信を用いてトランザクションを送信することによって、トランザクションに関する情報とともに残高のアドレスも知られることとなる。TLSを用いることによって、あなたの現実の情報は、トランザクションからは特定されにくくなる。
何をすればよいか
ユーザーであれば、なにもする必要はない。Trinity walletの次のアップデートから、すべてのノードがHTTPSを利用することになる。
SSLあるいはTLSの設定方法
ノード所有者がUbuntuやDebianを使用していれば、SSLやTLS証明書を取得し、所有しているノードにインストールすることがかつてないほどに簡単になっている。
eukaryoteのコミュニティメンバーとの協同して、我々はLet’s Encryptから自動で無料の証明書をインストールできるプログラムを開発した。新しいIOTA Ecosystemのウェブサイトでチュートリアルの公表ができることを大変嬉しく思っている。
追記:このプログラムはIRI Playbookに問題を引き起こす可能性がある。Playbookのユーザーは、今回はこのプログラムを使わないほうがよい。
SSL/TLS for IRI: Using HTTPS with the Upcoming Trinity Wallet