  We propose a security verification framework for cryptographic protocols
using machine learning. In recent years, as cryptographic protocols have become
more complex, research on automatic verification techniques has been focused
on. The main technique is formal verification. However, the formal verification
has two problems: it requires a large amount of computational time and does not
guarantee decidability. We propose a method that allows security verification
with computational time on the order of linear with respect to the size of the
protocol using machine learning. In training machine learning models for
security verification of cryptographic protocols, a sufficient amount of data,
i.e., a set of protocol data with security labels, is difficult to collect from
academic papers and other sources. To overcome this issue, we propose a way to
create arbitrarily large datasets by automatically generating random protocols
and assigning security labels to them using formal verification tools.
Furthermore, to exploit structural features of protocols, we construct a neural
network that processes a protocol along its series and tree structures. We
evaluate the proposed method by applying it to verification of practical
cryptographic protocols.
