1分間に1度変化する、ワンタイム合言葉の仕組みをつくってみました。
共有文字列にあたる適当なものを、あらかじめAさんとBさんの間で共有します。ここは、他人にわかりくい安全な方法で。
で、双方とも、上の枠内に、その共有文字列を打ち込んでおきます。
すると、同じワンタイム合言葉が表示されるはず。30秒に1回変化しますが、これも同じ変化です。
今後、AさんとBさんは、合言葉をつかって自分たちの素性を知らせあうことができます。
合言葉がだれかに横から聞かれてしまったとしても、すぐに新しい合言葉に入れ替わるんですから、将来の安全が保てますね。共有文字列がバレちゃうとよくありませんが。
技術的には、Unix時間を30秒単位で割って、それをキーにして共有文字列にHMACをかけてる程度です。合言葉の断片は、0から4095まで(つまり12bitごと)をあらかじめ決めた単語に対応させています。