Транзитный проход через пролив, находящийся в территориальных водах страны, оговорен пунктом 38 Конвенции ООН по морскому праву 1982 г.

Все корабли, которые везли зэков на Колыму, точно так же транзитно проходили через пролив Лаперуза в территориальных водах Японии.
Та же Конвенция ООН оговаривает, что она не распространяется на проливы, относительно которых к моменту ее подписания были другие соглашения, т. е. на Черноморские ил Балтийские проливы. Относительно Керченского никаких соглашений не было, значит, он - международный пролив с открытым транзитным проходом.
UPD. Вот мне объяснили, что по Керченскому проливу было соглашение 2003 г. между Россией и Украиной. По этому соглашению, Азовское море является совместным внутренним морем обеих держав. То есть военные корабли каждои из держав имеют право свободного прохода, а военные корабли третьих стран - только с разрешения обеих. Если Россия признает это соглашение, то она нарушила его. Если считает его расторгнутым, то Азовское море автоматически превращается в международное, и проход военных судов определяется конвенцией ООН.