リモート時代のコミュニティ活用のヒントシリーズより、『3. Topcoderの7つのデータ保護レイヤー』をお届けします。この記事はTopcoder公式ブログ記事 “LAYERS OF DATA PROTECTION AT TOPCODER” の翻訳記事です。


世界中どこからでもインターネットにアクセス出来る環境と、ギグエコノミーが一般的になったことによって、専門的能力をオンデマンドに活用する事がより簡単になり、この能力の活用によるメリットは日毎に確かなものになりつつあります。お客様は需要に応じて生産能力をリアルタイムに、柔軟に調整することが可能となり、次第に採用が難しくなる転職市場に取り組む代わりに、雇用することの難しい、高いスキルを持った人々に即座にアクセスする事が可能となります。この世界中のスキルを持った人々は家族や地域社会から離れることなく、自らの能力を世界のあらゆる場所から発揮し、それを収入に変えています。近年、ガートナーやフォレスター、また、マッキンゼーがクラウドソーシング労働力の盛り上がりという文脈でこのトレンドを取り上げています。

 
しかし、このクラウドコミュニティの労働力をいつでも利用出来るということは、裏を返せば、あなたが権利を持つデータや成果物の一部を無数の見知らぬ人々と共有する可能性も発生させることになります。クラウドワーカーはあなたのデータ、もしくは戦略の意図の一部を垣間見るかも知れません。この際に知的財産の開示、第三者知的財産の混入、情報開示とプライバシーに関しての懸念や心配が生まれるのは自然なことです。Topcoderのクラウドソーシング・プラットフォームは2001年に設立され、それ以来、お客様の抱くこれらの懸念を日々扱ってきました。これらのリスクをコントロールする為に我々が活用するツールとメソッドは、ビジネス環境の変化に対応しながら年々更新されています。

 
このブログでは、Topcoderが7つのデータ保護レイヤーを活用して、これらの懸念を如何に緩和しているかについてクイックにご紹介いたします。

 

7つのデータ保護レイヤー

  • レイヤー #1:契約
  • レイヤー #2:原子化による課題分解
  • レイヤー #3:匿名コンテスト
  • レイヤー #4:データの難読化
  • レイヤー #5:メタファーの採用
  • レイヤー #6:ダイレクトレビューとダイレクトテスト
  • レイヤー #7:プライベートクラウド(Private Crowd)

 

レイヤー #1:契約

7つのデータ保護レイヤーの紹介をまずは「契約」から始めましょう。あなたがWipro(訳注:Topcoder事業を保有する企業)やTopcoderのお客様となる際には、他の商取引を行うサイト同じように、Topcoderに情報公開出来る内容、出来ない内容、またその公開のプロセスを定めた契約書を交わします。(訳注:日本市場に於いてはお客様はTC3と契約を締結します。)これらの秘匿情報に関する文言は通常は基本契約書に含まれ、より詳細な・個別の条件が必要な際には個別契約書に盛り込まれます。またTopcoderのメンバーがコンテスト情報にアクセスする為のNDAも準備され、多くのコンテストで活用されています。

契約はTopcoderの保護レイヤーの始まりに過ぎません。Topcoderはリスクを低減しプリバシーを守る実用的な施策をいくつも備えています。そしてそのいくつかはあなたが従来の開発ベンダーと交わしているデータ保護施策よりも厳重なものです。

 

レイヤー # 2:原子化による課題分解

Topcoderではお客様の要件に応じてプロジェクトの種類を調整し、お客様のプロジェクトを『一口サイズ』とも言えるのセグメントに切り分け、そのそれぞれが個別のコンテストとなります(例えば、アプリケーションデザイン、コーディング、など)。プロジェクトを短い単位のコンテストに切り分けるこの『原子化』の仕組みこそが私たちのクラウドソーシングの仕組みを継続させ、効果的にしているものです。Topcoderではフロントエンドのデザイン、もしくはコーディングに秀でたメンバーになる為に、オラクルDBAの資格を持っている必要はありません。(訳注:この原子化によって、コンテストのスコープを非常に限定した技術要素とすることが出来、コンテストに参加するメンバーはいくつもの技術要素で競う必要がなく、その狭い分野に特化した高いスキルを発揮する事が可能となります。)この方法は反復的であり、ウォーターフォールの世界であってもDevOpsの世界であっても有効です。

このプロセスは元々は開発プロジェクトの期間とデリバリーをコントロールする手法として考え出されましたが、実はデータ保護の手法としても有効です。例えるならば、TopcoderのグローバルのメンバーはVoltron(訳注:米国のロボットアニメ)の全体の開発には取り組まずに、一体のロボットライオン(もしくはその手足のひとつ)の開発だけを担当します。メンバーは、あなたが伝えない限りVoltronとして合体する他のライオンロボットがいることは分からないのです。原子化の採用によって、あなたのプロジェクト全体を見渡せる人を劇的に、そして自然に減らすことに繋がり、それは従来の請負契約で出来る保護よりも強い保護となります。

 

レイヤー #3:匿名コンテスト

私たちはお客様の企業名をTopcoderコミュニティに開示せずに匿名でコンテストを実施することも可能です。一般的に、同じお客様のプロジェクトには同じ匿名名称が使用されますが、そのプロジェクトで求められるセイキュリティ要件に応じて、プロジェクト毎に、もしくはコンポーネント毎に名前を変えることも可能です。この為に、Topcoderのメンバーは彼らが取り組む二つのプロジェクトが、実は同じお客様のプロジェクトであることを分からなくすることも可能なのです。

 

レイヤー #4:データの難読化

データの難読化は重要であると同時に、非常に複雑なテーマです。難読化とは個人を特定出来るデータ(PII)やその他の機密情報に一定の処理を行いデータを隠蔽し、データの閲覧者がそのデータが何であるか、誰のためのものであるかが分かるリスクを低減、もしくは排除する為の施策です。ここにいくつかの例を挙げます。

  • ヘルスケア業界では、これはほぼ患者プライバシーのことと言えます。患者氏名や生年月日など、個人の特定を可能にするものを開示しないことです。また、これは『三角測量』を防ぐ為の注意も含まれます。つまり、データ閲覧者が難読化データとパブリックデータを比較することによって、患者の身元や疾病を判別出来ることを防げなければいけません。
  • 金融業界でもPIIは大きな役割を果たしています。ここでは取引情報、ある資産の保有やその意図などの情報、リスク評価の情報隠蔽が必要となります。

Topcoderでは複数の難読化手法を開発し、活用しています。その手法はシンプルにPIIや特定の主要な情報(製品コード、倉庫IDなど)を削除することから、関連するデータセットを通じて、リファレンスデータから偽造データを作るStatistically rigorous replicationと呼ばれる手法などもあります。(我々は先日、まさにこのようなデータを生成するツールを米国退役軍人省向けのプロジェクトで完了させたところです。)

 

レイヤー #5:メタファーの採用

メタファーによってプロジェクトの課題領域を入れ替えることも行っています。メタファーは長くゲーミフィケーションの領域や(例としてFoldITPlay To Cureをご参照ください)、全く新しい問題解決のアプローチを得る為にソリューションを課題領域から抽象化する為に用いられてきましたが、データ保護にも活用されます。プロジェクトの課題領域や目的の部分からして開示するべきでない場合には、Topcoderではメタファーを利用します。

例えば、鉱業企業が鉱山の場所や、彼らが金を求めて採掘を行っていることを公開したくないとしましょう。実際の位置データを、必要とされる範囲内で、他の大陸や他の惑星に移すことによって、相関を保持しつつも位置情報を変えてしまいます。更には、この問題を鉱山データに関する課題ではなく、ウィジェット開発の問題として提示することも可能でしょう。この方法によって、私たちはTopcoderプラットフォーム上でメンバーに開示される内容と、実際の距離データやトピックを遠ざけることが出来ます。そして、コンテストの結果をお客様に提示する際にはこれらのメタファーを元に戻すのです。

 

レイヤー #6:ダイレクトレビューとダイレクトテスト

Topcoderコンテストから得た成果物のレビューは、二つの方向から実施します。一つの方向はTopcoderコミュニティの2人以上のエキスパート・レビュアーによるレビューです。このエキスパート・レビューを担当するメンバーは、技術スキルが優れているだけではなく、信頼が置ける人物であることがTopcoderによって予め認定されたメンバーです。この入念なコードレビューで、コードはライン毎にチェックされ、セキュリティの欠陥がないかに注意を払いつつ、大規模な質問項目から構成されるチェックシートに沿って行われます。(この際レビュアーには成果物提出者が誰であるかは明かされない為、メンバーのそれまでの成績やレーティングによってバイアスがかかる事がありません。)

もう一つの方向はテクノロジーの活用です。Topcoderでは必要な際にはメンバーから提出されたコードを静的アプリケーションセキュリティテスト(SAST)や、IP検知ツールにかけてコード解析を行います。我々のCEOであるMike Morrisがこの件について、クラウドソーシングが従来の開発手法よりもセキュアであるというブログを書いています。

 

レイヤー #7:プライベートクラウド – Private Crowd

プロジェクトの存在そのものやデータがとにかく、どんな形であれパブリックなCrowdコミュニティには開示出来ない場合もあります。幸いにもそういった例は極めて稀ではありますが、その場合にはプロジェクトに取り組む”サブクラウド”を組織することも可能です。まずそのプロジェクトに興味があり、必要な期間に参加可能であり、ソリューションを提供する能力のあるメンバーを選別します。これらのメンバーはさらに追加の契約へのサインが求められます。過去にはデータ利用契約、ネットワーク利用契約、バックグラウンドチェック等を実施しています。

この契約作業(そして必要な際には地域の指定)が完了した後に、プロジェクト詳細が共有されます。必要な際には、私たちは利用者を制限したバーチャルなプライベートクラウドを利用することもありますが、ワーカープールの人数を制限することは常に効果があります。

 

Topcoderは常に最新のセキュリティ対策を導入しています

全てのセキュリティプロフェッショナル恐らく同意するのは、プライバシーとセイキュリティ保護は継続的な取り組みが必要な領域だということです。このブログポストもプライバシーとセキュリティ保護に関する最後のブログポストではなく、我々のお客様、コミュニティメンバー、またTopcoder自身を保護する手法は常に進化し続けています。Topcoderのクラウドコミュニティを活用したデジタルソリューションにご興味のある方はぜひお気軽にこちらよりお問い合わせください。