研究

 分散アルゴリズム及び集積回路のディペンダビリティを研究しています

研究概要

  今日の情報社会は、アプリケーション、システム、コンピュータ、VLSIなど様々なレベルの高度な技術に支えられています。ディペンダブルシステム学研究室では、分散システム、量子システム、ネットワーク、マルチコアコンピュータ、VLSI、脳型コンピュータなど、あらゆるレベルでユーザが安心して使えるシステムのための研究を行います。”ディペンダブル”とは、日本語では”頼りがいのある”ことを意味し、ユーザがシステムを信頼し安心して使えるという、ユーザ視点の概念です。

ディペンダブルシステムを実現するには、きちんと検査して不良品を出荷しない、多少の故障があっても動作する、経年劣化によるシステム障害を避ける、悪意のある利用者に対処するなど、設計者視点で考えることは多岐に渡ります。急増するサイバー攻撃への対処や次世代技術として注目される量子システムの安全性にも取り組んでいます。本研究室では、システムのディペンダビリティ向上に繋がる様々な手法の研究・開発に取り組みます。

  また、研究を通じて、論理的に物事を考える力、アルゴリズムの設計・解析、PythonCやJAVAなどの通常のプログラミングに加え、自律移動ロボットのプログラミングやハードウェア記述言語(VHDL, Verilog)を用いたVLSI設計フローなどを学びます。

  以下では、研究内容を分散システムの信頼性・ハードウェアの信頼性、ネットワーク/データセキュリティ、安全な量子システムに分けて紹介します。

分散アルゴリズム

  分散システムのためのアルゴリズムである分散アルゴリズムの研究を行っています。分散システムとは、複数の計算主体(計算機やプロセス)とそれらの間の通信手段からなるシステムです。実は、世の中のほとんどのシステムは分散システムといえます(図1)。例えば、およそ10億台のコンピュータが通信しながら動作しているインターネットは、ひとつの大規模分散システムといえます。IoT(Internet of Things、モノのインターネット)も、多数のモノが協調動作する分散システムです。Bitcoinなどが用いるブロックチェーンも、取引記録を多数のコンピュータが協調して管理する分散システムです。その他、センサネットワーク、アドホックネットワーク、ITS(高度道路交通システム)、P2Pネットワークなど、分散システムの例を挙げるときりがありません。

図1:さまざまな分散システム

インターネットのような大規模分散システムでは、全てのプロセスを集中管理することは不可能です。そのため、逐次アルゴリズム(CPUが一つの計算機のためのアルゴリズム)とは異なるアルゴリズムが必要となります。分散アルゴリズムとは、自律して動作する(つまり、それぞれ勝手に動作する)複数のプロセスを効率よく協調動作させることを目的としたアルゴリズムです。本研究室では、さまざまなタイプの分散システムに対して、よい特性をもった分散アルゴリズムを研究しています。

極大マッチングと1-極大マッチング

ビザンチン環境における集合

  しかし、分散アルゴリズムの設計は簡単ではありません。ネットワークの状況を瞬時に把握することは計算機の数が多すぎて不可能なので、各プロセスは周辺から得られる局所情報だけを頼りに動作しなければなりません。また、各プロセスの計算速度や通信速度はバラバラですし、それらはプロセスやネットワークの負荷によって変わってしまいます。これは、分散システムが非同期的であり、分散アルゴリズムを実行するまで、各プロセスや通信がどんな速さで動くか分からないということです。つまり、分散アルゴリズムを設計するときは、局所情報だけを頼りに、各プロセスがどんな速さで動いても、プロセス間の通信がどんな速さで行われても正しく動作するように考える必要があります。そのため、我々は「どうすればいつでも正しく動くアルゴリズムを作れるだろう」とか「作ったアルゴリズムにとって最悪な動き方はどんなのだろう」とかを日々考えながら、分散アルゴリズムを設計しています。設計したアルゴリズムの正当性や計算複雑度を証明するのは一苦労ですが、パズルのピースがはまったかのように証明が完成すると大きな達成感を味わえます。

集積回路のディペンダビリティ

    集積回路は様々なシステムの核となるデバイスです。トランジスタの微細化による集積回路の大規模化、高速化、低消費電力化が、今日の情報化社会、AIの進展を支えています。その一方で、集積回路のテストは複雑で困難な問題になり、集積回路のサプライチェーンの複雑化によるハードウェアトロイ回路混入などのセキュリティの問題が懸念されています。さらには、CMOSトランジスタ の微細化が物理的な限界に達し、新しいデバイス、新しいアーキテクチャが期待され、その信頼性の確保が重要な課題となっています。本研究室では、ハードウェアトロイ回路検出による集積回路のセキュリティ向上、脳型コンピュータの高信頼化設計、機械学習を用いた集積回路のテスト品質向上など、集積回路ディペンダビリティに関する様々な課題に取り組んでいます。

セキュリティ/プライバシ

新種のマルウェアや新たな脆弱性を悪用したサイバー攻撃は日々増加しており、情報通信技術の安全性を脅かす重大な問題となっています。こうしたサイバー攻撃に対処するには、通信の盗聴やなりすまし攻撃から守るためのネットワークセキュリティ技術、そしてデータに含まれる情報を保護するためのプライバシー強化技術が不可欠です。本研究室では、トラストスコアに基づいて動的にアクセスリクエストを制御するゼロトラストネットワークアクセス、ローカル差分プライバシを用いたデータ収集・利活用時のプライバシ保護など、セキュリティ・プライバシに関する様々な課題に取り組んでいます。

安全な量子システム


量子情報科学は近年、世界中で注目を集めている。一方で、量子コンピュータは公開鍵暗号を破り、現代情報セキュリティの仕組み全体を変える可能性を秘めている。また、量子暗号に基づいた次世代通信システム、特に量子鍵配送(Quantum Key Distribution, QKD)が開発されており、量子力学を直接利用して通信の安全を守るため、量子コンピュータによる脅威にも対応できる。

 

QKDでは、アリスとボブと呼ばれる2人の当事者が、光子を用いて符号化された「鍵」(例えば、光子の偏光状態で、HVHV, +-+- などに符号化される)というランダムなビット列を送受信する。QKDにより、アリスとボブは盗聴の可能性を検査し、その程度を厳密に評価することができる。彼らは「盗聴され、漏洩した信号」を破棄し、盗聴者に手つかずの信号のみを残すことで、理論上安全な鍵を生成し、それを実際のメッセージの暗号化に使用する。

 

しかし、理論上は安全でも、現実の量子通信システムは送信装置や受信装置における弱点(「サイドチャネル」と呼ばれる)に悩まされることがある。我々は、これらの弱点や攻撃を考慮したソフトウェアのプロトコルやハードウェアの設計を開発し、量子通信システムがそれらの脆弱性にもかかわらず安全であることを保証する。特に注目されているのは、(1) 受信装置の安全性を高める「測定装置独立型(Measurement-Device-Independent, MDI)」プロトコルと、(2) 送信装置の安全性を高める「完全受動型(Fully Passive)送信装置」である。

 

さらに、近年の中規模でノイズを含む量子コンピュータ(Noisy Intermediate-Scale Quantum, NISQ)の発展に伴い、量子コンピュータの短期的な応用も広く注目されている。我々が新たに探求しようとしている方向性として、(3) 実用的なNISQシステムやアルゴリズム、特に量子機械学習システムに対する攻撃へのセキュリティを研究する。