В документации MIT Kerberos здесь объясняется, как форматируется файл кэша учетных данных. В основном он состоит из:
] Я понял назначение большинства этих компонентов, но до сих пор не понимаю, для чего нужен блок клавиш . Это некоторый зашифрованный BLOB-объект, который необходим для аутентификации с помощью Kerberos. Я копался в документации и во многих других ресурсах, чтобы узнать об этом, но не смог найти четкого ответа. Это может быть зашифрованная метка времени, чтобы избежать атак повторного воспроизведения, или контрольная сумма. Но точно не знаю.
Кто-нибудь знает, для чего нужен этот блок? И какую информацию он кодирует?
Keyblock - это блок, содержащий ключ! Абстрактная нотация на странице, на которую вы ссылаетесь, хороша для того, чтобы сообщить вам такие вещи, как количество байтов и двоичные структуры, но не очень хороша для понимания того, почему это так.
Кэш учетных данных типа файла состоит из 3 частей:
Что нас интересует, так это формат учетных данных. Один из его членов - это блок клавиш , о котором вы хотите знать. Давайте посмотрим на другую часть документации . Здесь мы можем увидеть структуру, сериализуемую для генерации ccache (немного волшебства). Мы видим, что ключевой блок содержит «информацию о ключе шифрования сеанса».
Ключевой блок не является зашифрованным фрагментом данных, это ключ, который используется для шифрования данных (То есть ключ сеанса пользователя). Если вы хотите увидеть, какая информация в нем закодирована, вы можете посмотреть на его члены . Он состоит из 3 частей: тип ключа, длина ключа и сам материал ключа.
Чтобы узнать больше об этом, вам обязательно нужно взглянуть на код . Похоже, вы пытаетесь полностью изменить формат ccache, зачем изобретать велосипед. Есть также некоторая документация GNU , которая, я думаю, вам будет полезна.