Research
Research Overview
Today's information society is supported by advanced technologies at various levels of applications, systems, computers, and VLSI. The Dependable Systems Laboratory conducts research on distributed systems, multi-core computers, VLSI, brain computers, etc., for systems that users can use with confidence at all levels. "Dependable" is a user-oriented concept in which the user can trust and use the system with relief.
In order to realize a dependable system, there are a wide range of issues to be considered from the designer's point of view, such as ensuring that the system works even if there are some failures, dealing with malicious users, avoiding the shipment of defective products through proper inspection, and avoiding system failures due to age-related deterioration. In this laboratory, we work on research and development of various methods that lead to improvement of system dependability.
Through research, students learn the ability to think logically, design and analysis of algorithms, programming of autonomous mobile robots and VLSI design flow using hardware description languages (VHDL, Verilog) in addition to regular programming such as C and JAVA.
Distributed Algorithms
We study distributed algorithms, which are algorithms for distributed systems. Distributed systems are systems consisting of multiple computational entities (computers and processes) and means of communication among them. In fact, most systems in the world can be considered distributed systems (Figure 1). For example, the Internet, with approximately one billion computers communicating and operating together, can be considered a large-scale distributed system. Also, the Internet of Things (IoT) is a distributed system in which many things work together. Blockchain is also a distributed system in which many computers cooperate to manage transaction records. Other examples of distributed systems include sensor networks, ad hoc networks, ITS (Intelligent Transport Systems), and P2P networks, to name just a few.
Fig. 1: An example of distributed systems
In large-scale distributed systems, it is impossible to manage all processes in the centralized manner. Hence, we have to design distributed algorithms that specify the behavior of each process that operates autonomously. The aim of distributed algorithms is to make multiple processes cooperate efficiently. In our laboratory, we develop efficient distributed algorithms for many types of distributed systems.
However, designing distributed algorithms is challenging. Each process cannot obtain global information of all processes because the distributed system usually contains huge number of processes. Consequently, each process should operate based on only local information such as states of nearby processes. In addition, processing speeds and communication speeds are different for processes, and even worse they may change depnding on load of processes and communication links. This means processes in distributed systems are asynchronous. Therefore, we must develop distributed algorithms that work correctly based on local information for any execution speed of each process and communication link. To propose such algorithms, we usually consider “What approach solves our problem?” and “What situation is the worst for our developed algorithm?”. Although it is difficult to develop an algorithm and prove its correctness, we can get a great sense of achievement when we solve the problem.
Dependability of Integrated Circuit
Integrated circuits are the core devices of various systems. Increasing scale, higher speed, and lower power consumption of integrated circuits due to the miniaturization of transistors supports the progress of today's information society and AI. On the other hand, testing integrated circuits has become a complex and difficult problem, and there are concerns about security issues such as hardware Trojan circuit insertion due to the complexity of the integrated circuit supply chain. Furthermore, as CMOS transistor miniaturization reaches its physical limits, new devices and new architectures are expected, and ensuring their reliability has become an important issue. Our laboratory is working on various issues related to integrated circuit dependability, such as improving the security of integrated circuits by detecting hardware Trojan circuits, designing highly reliable neuromorphic computers, and improving the quality of integrated circuit testing using machine learning.
Secure Quantum Systems
Quantum information science has gained worldwide attention in recent years. On the one hand, quantum computing holds the potential to break public key cryptography and change the entire information security infrastructure landscape as we know of. On the other hand, next-generation communication systems based on quantum cryptography, particularly quantum key distribution (QKD), are being developed, which use quantum mechanics itself to protect the security of transmission and are hence immune from even the threat of quantum computers.
In QKD, two parties, traditionally called Alice and Bob, send and receive a random string of bits called “keys” (e.g. 0101) encoded in photons (e.g. in their polarizations, like HVHV or +-+-). QKD allows Alice and Bob to test and rigorously quantify the amount of possible eavesdropping that might have happened. They can discard all the signals that were eavesdropped (and inevitably disturbed) and keep only the ones untouched by the Eavesdropper, hence obtaining information-theoretically secure random keys, which can further be used to encode real messages.
However, while theoretically secure, practical quantum communication systems suffer from loopholes (which we call “side-channels”) in sources and detectors. We develop revised software protocols or hardware designs that can take into account such side-channels and ensure the security of the quantum communication system even when side-channels (or hacking attempts) are present. Two types of schemes of particular interest are (1) measurement-device-independent (MDI) protocols that improve the security of detectors and (2) fully passive sources that improve the security of sources.
Meanwhile, with the advances in noisy intermediate-scale quantum (NISQ) computing devices in recent years, the near-term applications of quantum computing are also becoming topics of wide interest. A new direction we plan to explore is (3) the security of practical NISQ systems and algorithms, particularly quantum machine learning systems against adversarial attacks.