0
1
2者間でのランダム文字列の一致確認について、意見交換をさせていただきたいです。
例えば、A、Bの2者間でAPIによるデータ授受を行う際に、AがBに投げるAPI要求の中に、固定長のランダム文字列があるとします。このランダム文字列は要求の度に毎度異なるランダム文字列を生成します。
Bはこのランダム文字列をAからのリクエストとして受けますが、A⇒Bの間で改ざんされていないかを検知するため、Aが生成したランダム文字列とBがリクエストで受け取ったランダム文字列が等しいことを検証します。
例えばAが"abc123"という文字列を生成して、BにAPI要求を投げ、Bはその文字列を受け取りますが、それが"abc123"であれば、通常通りリクエストを処理します。ただし、通信間で何らかの改ざんがされ、"abc987"でBが受け取れば不一致としてシステムエラーを応答します。
この時の一致確認の実装方法について、Aの生成した文字列 = Bが受け取った文字列 を実装したいわけなのですが、BはAの生成した文字列について当然ながら知る方法がありません。
そこでAがランダム文字列を生成する際のロジックに目をつけ、AとBしか知り得ない規則性(例えば文字の組み合わせなど)に従ってランダム文字列を生成するようにすれば、上記の検証ができるのではないかと少し考えているのですが、有識者の皆さま、いかがでしょうか。
何かご意見ありましたらいただきたいと思っています。よろしくお願いいたします。
回答3件
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。