Расшифровка вк: Кабель КИС-ВК — технические характеристики, описание, расшифровка

Расшифровка разделов проектной документации | Хаус Эксперт

Регистрация на сайте Войти

Главная страница / Проектирование зданий и сооружений / Расшифровка сокращений разделов проектной документации

АВТ
Автоматизация
АГО
Архитектурно-градостроительным облик
АД
Автомобильные дороги
АЗ
Антикоррозионная защита конструкций
АИ
Интерьеры
АПВ
Автоматизация противопожарного водопровода
АПТ
Автоматизация системы дымоудаления или автоматизация пожаротушения
АР
Архитектурные решения
АС
Архитектурно-строительные решения
АСКУЭ
Автоматизированная система коммерческого учета электроэнергии
АСТУЭ
Автоматизированная система технического учета электроэнергии
АТД
Автоматика и телемеханика движения поездов (СЦБ)
АТП
Автоматизация теплового пункта, автоматизиция технологических процессов
Благ
Благоустройство и озеленение
ВК
Внутренние водопровод и канализация
Водост
Водостоки
ВПТ
Водопропускные трубы
ВР
Ведомости работ
ВС
Воздухоснабжение внутреннее
ВТ
Вертикальный транспорт
ГДЗ
Технический отчет по инженерно-геодезическим изысканиям
ГЛД
Технический отчет по инженерно-геологическим изысканиям
ГМ
Горномеханические работы
ГМИ
Технический отчет по инженерно-гидрометеорологическим испытаниям
ГОР
Горные открытые работы
ГОЧС
Перечень мероприятий по гражданской обороне, мероприятий по предупреждению чрезвычайных ситуаций природного и техногенного характера
ГП
Генеральный план
ГПР
Горные подземные работы
ГР
Гидротехнические работы
ГСВ
Газоснабжение. Внутренние устройства
ГСН
Газоснабжение. Наружные газопроводы
ГТ
Генеральный план и сооружения транспорта
ДО
Дорожная одежда
ЗП
Земляное полотно
ИЛО
Здания, строения и сооружения, входящие в инфраструктуру линейного объекта
ИО
Информационное обеспечение
ИОC1
Система электроснабжения
ИЭИ
Технический отчет по инженерно-экологическим испытаниям
КЖ
Конструкции железобетонные
КМ
Конструкции металлические
КР
Конструктивные решения
КТСО
Комплекс технических средств охраны
МГН
Мероприятия по обеспечению доступа инвалидов
МПБ
Мероприятия по обеспечению пожарной безопасности
МО
Материалы обследования
НВ
Наружные сети водоснабжения
НВД
Наружные водостоки и дренажи
НВК
Наружные сети водоснабжения и канализации
НК
Наружные сети канализации
НСС
Наружные сети связи
ОВ
Отопление, вентиляция и кондиционирование воздуха
ОД
Обустройство дорог
ОДИ
Обеспечение доступа инвалидов
ОК
Основные конструкции
ОМ
Обосновывающие материалы
ООС
Охрана окружающей среды
ОПЗ
Общая пояснительная записка
ОР
Организация рельефа
ОС
Охраннопожарная сигнализация
ПБ
Мероприятия по обеспечению пожарной безопасности
ПЖ
Пути железнодорожные
ПЗ
Пояснительная записка
ПОД
Проект организации работ по сносу ( демонтажу ) объекта капитального строительства или линейного объекта
ПО
Программное обеспечение
ПОС
Проект организации строительства
ПНО
Проект наружного освещения
ППО
Проект полосы отвода
ППР
Проект производства работ
ПТ
Пожаротушение
ПТА
Мероприятия по противодействию террористическим актам
ПУ
Пылеуборка
Р
Рекультивация земель
РТ
Радиовещание и телевидение
С
Сборник спецификаций оборудования, изделий и материалов
СВ
Сводная ведомость чертежей
СВН
Система видеонаблюдения
СД
Сметная документация
СДКУ
Система диспетчерского контроля и управления
СКС
Структурированные кабельные сети, т. е. слаботочные сети связи и сигнализации
СМ
Смета на строительство объектов капитального строительства
СМИС
Структурированная система мониторинга и управления инженерными сетями
СП
Состав проекта
СПОЗУ
Схема планировочной организации земельного участка
СС
Системы связи
ССР
Сводный сметный расчет
ТИ
Тепловая изоляция
ТК
Технологические коммуникации
ТКР
Технологические и конструктивные решения линейного объекта
ТЛМ
Телемеханика производственная
ТМ
Тепломеханическая часть котельных
ТС
Теплоснабжение
ТР
Сооружения транспорта
ТХ
Технология производства
ХЗ
Электрохимическая защита
ХС
Холодоснабжение
ЭВ
Линии электропередач воздушные
ЭГ
Молниезащита и заземление
ЭК
Линии электропередач кабельные
ЭМ
Электрооборудование силовое
ЭН
Электроосвещение наружное
ЭО
Электроосвещение внутреннее
ЭП
Электроснабжение. Подстанции
ЭС
Электроснабжение
ЭТ
Сети тяговые
ЭФ
Мероприятия по обеспечению соблюдения требований энергетической эффективности и требований оснащенности зданий, строений и сооружений приборами учета используемых энергетических ресурсоВ

Возврат к списку

Акция


Новости компании

6 сентября
Повышение квалификации

Рекомендуем удобный сервис по поиску образовательных курсов

26 марта
Карантинная неделя

Режим работы компании в период карантинной недели c 30 марта по 5 апреля 2020 г.

2 июля
Дизайн интерьера — новый раздел на сайте

Новый раздел на нашем сайте посвященный дизайну интерьера. Весь спектр проектных работ в одном месте.

Обнаружив в тексте ошибку, выделите ее и нажмите Ctrl + Enter

Нг(А) 37х2,5 ВК | Расшифровка, технические характеристики, описание


Кабели предназначены для передачи и распределения электрической энергии в стационарных установках, для монтажа силовых цепей, цепей управления, сигнализации, освещения номинальным переменным напряжением 0,66; 1 кВ номинальной частоты 50 Гц.
Кабели соответствуют требованиям ГОСТ Р 53769-2010 «Кабели универсальные на номинальное напряжение 0,66; 1 и 3 кВ. ОТУ» и международному стандарту на силовые кабели МЭК 60502-1:2004.
Кабели могут прокладываться внутри и снаружи помещений, в каналах, туннелях, земле (траншеях), в местах подверженных воздействию блуждающих токов. Кабели могут применяться во взрывоопасных зонах классов 0, 1, 2 (с учетом требований ГОСТ Р МЭК 60079-14-2008), а также в системах безопасности АЭС.

Расшифровка кабеля нг(А) 37х2,5 ВК:

нг(A) — Не поддерживает горение при групповой прокладке по категории А
В — Изоляция и оболочка из ПВХ композиции пониженной горючести
К — Броня из стальных оцинкованных проволок
37 — количество жил
2,5 — сечение жилы

Элементы конструкции кабеля нг(А) 37х2,5 ВК:

Токопроводящие жилы — однопроволочные или многопроволочные жилы 1-го или 2-го класса по ГОСТ 22483-77 круглой, сегментной, секторной формы.
Изоляция — из ПВХ композиции пониженной горючести. Жилы имеют цифровую или цветовую маркировку. Изоляция одножильных кабелей может быть любого цвета. Жилы заземления (PE) имеют зелено-желтый цвет, нулевые жилы (N) — синий (голубой).
Скрутка — изолированные жилы кабеля скручены в общий сердечник. Поверх сердечника кабеля наложена водоблокирующая лента для предотвращения продольного распространения влаги.
Внутренняя оболочка — из ПВХ композиции пониженной горючести.
Броня — из стальных оцинкованных проволок.
Оболочка – из ПВХ композиции пониженной горючести. Кабель выпускается с оболочкой черного цвета, если при заказе не было указано другого цвета.

Технические характеристики кабеля нг(А) 37х2,5 ВК:

Температура эксплуатации — от -50° до +70°C.
Минимальная температура монтажа кабеля — не ниже минус 15°С.
Номинальное напряжение — переменное напряжение частотой до 50 Гц 0,66 кВ; 1 кВ.
Электрическое сопротивление токопроводящих жил постоянному току — соответствует требованиям ГОСТ 22483-77.
Электрическое сопротивление изоляции при температуре эксплуатации +20°C — не менее 10 МОм•км.
Климатическое исполнение — исполнение УХЛ и В, категория размещения 1 и 5 (по ГОСТ 15150-69).
Возможно применение кабелей во всех макроклиматических районах, включая тропики.
Устойчивость к продольному распространению влаги под оболочкой — влага полностью блокируется.
Радиус изгиба:
— не менее 10 наружных диаметров — для одножильных кабелей
— не менее 7,5 наружных диаметров — для многожильных кабелей.
Устойчивость к воздействию плесневых грибов (степень биологического обрастания грибами) — до 2-х баллов.
Срок службы кабелей — не менее 30 лет.

Наличие на складе: нг(А) 37х2,5 ВК

Для уточнения наличия позвоните или оставьте заявку на сайте:

нг(А) 37х2,5 ВК

Цена за метр: нг(А) 37х2,5 ВК

Стоимость рассчитывается индивидуально (зависит от объема заказа, текущих акций, региона доставки), для уточнения точной цены необходимо оставить заявку.

Вопрос — ответ

Почему я звоню в Тюмень, а попадаю в Пермь?

Дело в том, колл-центр и центральный офис по обработке заказов находится в городе Пермь (Центральная Россия), а получить продукцию вы можете во всех городах указанных на сайте в контактах компании.

Возможны ли скидки на Вашу продукцию при большом объеме закупа?

Конечно. В компании работает система лояльности и Вам будет предоставлена индивидуальная скидка в зависимости от суммы заказа.

Отгружаете ли вы продукцию с отсрочкой платежа?

Да, если Ваша компания пройдет проверку службы безопасности, то возможен такой вариант.

Вы доставляете продукцию в отдаленные географические точки?

Да, мы доставляем продукцию по всей территории России, СНГ и ЕАЭС любыми видами транспорта.

В какой срок можно получить продукцию с момента оплаты?

Подготовка продукции к отгрузке может занимать от 3х часов до 3 дней, в зависимости от количества, погодных условий и других факторов.

В какой таре вы отгружаете кабельную продукцию?

Кабель маленьких сечений в бухтах от 100 до 200 метров, крупных — на соответствующих кабельных барабанах.

Можно купить в розницу и какой минимальный объем?

Да, при сумме заказа от 50 000.

Не нашли ответа на интересующий вопрос? Наши менеджеры с радостью помогут вам!

Задать вопрос

Купить универсальный кабель нг(А) 37х2,5 ВК оптом или в розницу вы можете, оставив заявку на сайте или позвонив по телефону. Заказы принимаются через сайт круглосуточно, обработка заказов производится по будням с 9-00 до 18-00.

Затрудняетесь в выборе? Менеджеры нашей компании профессионально ответят на все интересующие Вас вопросы, помогут подобрать товар, максимально удовлетворяющий вашим требованиям, и подберут оптимальный вариант доставки в Краснодар.

Способы оплаты:

Условия и порядок оплаты индивидуальны. Работаем как по предоплате, так и с отсрочкой платежа. Только безналичный расчет. Подробнее в разделе Оплата.

Способы доставки:

Любым видом транспорта в любую точку РФ и стран СНГ транспортными компаниями, подробнее в разделе Доставка. Уточнить о вариантах доставки в ваш регион вы можете по бесплатному телефону 8-800-301-32-25 или заказав обратный звонок.

Как сделать заказ

Что думают о нас клиенты

«В ходе совместной работы организация проявила себя как высокопрофессиональная организация, с наличием высококвалифицированных специалистов, оперативно и качественно решающая поставленные задачи»

Директор ООО «Рускаб» Власов В. Н.

«Вся заказываемая кабельная продукция поставляется вовремя, с требуемой документацией. Хотим отметить грамотную логистику компании, большой ассортимент продукции, а также профессиональные консультации менеджеров.»

Начальник отдела маркетинга, логистики и стройиндустрии ЗАО «Электрощит» Хамматова Н.М.

«В ходе работы своевременно решались все возникающие проблемные вопросы. На протяжении всей работы менеджер компании проводил консультации, выдавал рекомендации по тщательному подбору продукции, принимая во внимание пожелания и требования заказчика»

Директор ООО «Промтекс» Бакиев Р.Ш.

Пакет

pvx — github.com/vk-rv/pvx — Пакеты Go

  • Константы
  • Переменные
  • func TimePtr(t время.Время) *время.Время
  • введите AsymPublicKey
    • func NewAsymmetricPublicKey(keyMaterial []byte, version Version) *AsymPublicKey
  • введите AsymSecretKey
    • func NewAsymmetricSecretKey(keyMaterial []byte, version Version) *AsymSecretKey
  • Тип Заявления
  • тип ProtoV2Local
    • функция NewPV2Local() *ProtoV2Local
    • func (pv2 *ProtoV2Local) Расшифровать (строка токена, ключ SymmetricKey) *Token
    • func (pv2 *ProtoV2Local) Encrypt (ключ SymmetricKey, утверждения, интерфейс нижнего колонтитула{}) (строка, ошибка)
    • func (pv2 *ProtoV2Local) EncryptFooterNil(ключ SymmetricKey, утверждения утверждений) (строка, ошибка)
  • тип ProtoV2Public
    • функция NewPV2Public() *ProtoV2Public
    • func (pv2 *ProtoV2Public) Sign(privateKey ed25519. PrivateKey, утверждения, интерфейс нижнего колонтитула{}) (строка, ошибка)
    • func (pv2 *ProtoV2Public) SignFooterNil(privateKey ed25519.PrivateKey, претензии претензии) (строка, ошибка)
    • func (pv2 * ProtoV2Public) Verify (строка токена, publicKey ed25519.PublicKey) *Токен
  • тип ProtoV3Local
    • функция NewPV3Local() *ProtoV3Local
    • func (pv3 *ProtoV3Local) Расшифровать (строка токена, ключ *SymKey, ops…ProvidedOption) *Token
    • func (pv3 *ProtoV3Local) Encrypt(ключ *SymKey, утверждения Claims, ops …ProvidedOption) (строка, ошибка)
  • тип ProtoV4Local
    • функция NewPV4Local() *ProtoV4Local
    • func (pv4 *ProtoV4Local) Расшифровать (строка токена, ключ *SymKey, ops…ProvidedOption) *Token
    • func (pv4 *ProtoV4Local) Encrypt(ключ *SymKey, утверждения Claims, ops . ..ProvidedOption) (строка, ошибка)
  • тип ProtoV4Public
    • функция NewPV4Public() *ProtoV4Public
    • func (pv4 *ProtoV4Public) Sign(sk *AsymSecretKey, Claims Claims, ops …ProvidedOption) (строка, ошибка)
    • func (pv4 *ProtoV4Public) Verify(строка токена, asymmetricPublicKey *AsymPublicKey, ops …ProvidedOption) *Token
  • введите Предусмотренный вариант
    • func WithAssert (утверждение [] байт) ProvidedOption
    • func WithFooter (интерфейс нижнего колонтитула {}) ProvidedOption
  • тип RegisteredClaims
    • func (c *RegisteredClaims) Valid() ошибка
  • введите SymKey
    • func NewSymmetricKey(keyMaterial [] байт, версия Version) *SymKey
  • введите SymmetricKey
  • введите Токен
    • func (t *Token) Err() ошибка
    • func (t *Token) HasFooter() bool
    • func (t *Token) Scan (претензии, интерфейс нижнего колонтитула {}) ошибка
    • func (t *Token) ScanClaims (претензии претензии) ошибка
  • введите ValidationError
    • func (e ValidationError) Ошибка () строка
    • func (e *ValidationError) HasAudienceErr() bool
    • func (e *ValidationError) HasExpiredErr() bool
    • func (e *ValidationError) HasGenericValidationErr() bool
    • func (e *ValidationError) HasIssuedAtErr() bool
    • func (e *ValidationError) HasIssuerErr() bool
    • func (e *ValidationError) HasKeyIDErr() bool
    • func (e *ValidationError) HasNotBeforeErr() bool
    • func (e *ValidationError) HasSubjectErr() bool
    • func (e *ValidationError) HasTokenIDErr() bool
  • тип Версия

Просмотреть исходный код

 константа (
ValidationErrorIssuer uint32 = 1 << йота
ValidationErrorSubject
ValidationErrorAudience
ValidationErrorExpired
ValidationErrorNotValidYet
Валидатионеррориссеат
ValidationErrorTokenID
Валидатионерроркэйид
ValidationErrorClaimsInvalid // общая ошибка проверки
) 

Просмотр исходного кода

 var ErrInvalidSignature = errors. New("недопустимая подпись токена") 

ErrInvalidSignature возвращается, если подпись недействительна для предоставленного сообщения.

Просмотр исходного кода

 var ErrMalformedToken = errors.New("токен неверный") 

ErrMalformedToken указывает, что полученный токен не был правильно сформирован

View Source

 var ErrWrongKey = errors.New("данный ключ не предназначен для этой версии PASETO") 

ErrWrongKey возникает, когда данный ключ не предназначен для указанной версии PASETO.

Просмотр исходного кода

 var PV2Local = NewPV2Local() 

PV2Local можно использовать как глобальную ссылку для протокола версии 2 с локальными целями.

Просмотр исходного кода

 var PV2Public = NewPV2Public() 

PV2Public можно использовать как глобальную ссылку для протокола версии 2 для общедоступных целей.

Просмотр исходного кода

 var PV3Local = NewPV3Local() 

PV3Local можно использовать в качестве глобального эталона для протокола версии 3 с локальными целями.

Просмотр исходного кода

 var PV4Local = NewPV4Local() 

PV4Local можно использовать в качестве глобального эталона для протокола версии 4 с локальными целями.

Просмотр исходного кода

 var PV4Public = NewPV4Public() 

PV4Public можно использовать в качестве глобального справочника для протокола версии 4 для общедоступных целей.

 функция TimePtr(t время.Время) *время.Время 

TimePtr преобразует структуру времени в указатель времени для необязательной сортировки json.

 тип AsymPublicKey struct {
// содержит отфильтрованные или неэкспортированные поля
} 

AsymPublicKey — это абстракция асимметричного ключа для использования внутри PASETO при проверке.

 func NewAsymmetricPublicKey(keyMaterial []byte, version Version) *AsymPublicKey 

NewAsymmetricPublicKey — это функция, подобная конструктору для AsymPublicKey, которая представляет собой оболочку для исходного материала ключа, используемого внутри PASETO.

 введите структуру AsymSecretKey {
// содержит отфильтрованные или неэкспортированные поля
} 

AsymSecretKey — это абстракция асимметричного ключа для использования внутри PASETO на знаке.

 func NewAsymmetricSecretKey(keyMaterial []byte, version Version) *AsymSecretKey 

NewAsymmetricSecretKey — это функция, подобная конструктору для AsymSecretKey, которая представляет собой оболочку для исходного материала ключа, используемого внутри PASETO.

 интерфейс утверждений типа {
Действительна () ошибка
} 

Утверждения — это все, что можно проверить на достоверность.

 введите структуру ProtoV2Local {
// содержит отфильтрованные или неэкспортированные поля
} 

ProtoV2Local — протокол версии 2 с локальным назначением.

 func NewPV2Local() *ProtoV2Local 

NewPV2Local — это сахар, подобный конструктору, для локальных целей версии протокола 2.

 func (pv2 *ProtoV2Local) Decrypt(строка токена, ключ SymmetricKey) *Token 

Decrypt реализует PASETO v2.Decrypt возвращает структуру Token, готовую для последующего сканирования в случае успеха.

 func (pv2 *ProtoV2Local) Encrypt(ключ SymmetricKey, утверждения утверждений, интерфейс нижнего колонтитула{}) (строка, ошибка) 

Шифрование шифрует утверждения с помощью предоставленного симметричного ключа и аутентифицирует нижний колонтитул, защищая его от подделки, но сохраняя его в виде открытого текста в кодировке base64.

 func (pv2 *ProtoV2Local) EncryptFooterNil(ключ SymmetricKey, утверждения Claims) (строка, ошибка) 

EncryptFooterNil — это сахарная функция, которая исключает необязательный нижний колонтитул из списка параметров функции Эквивалент шифрования (ключ, утверждения, ноль).

 type ProtoV2Public struct{} 

ProtoV2Public — это общедоступная цель PASETO, которая поддерживает подпись и проверку токена.

 func NewPV2Public() *ProtoV2Public 

NewPV2Public — сахар-конструктор для ProtoV2Public.

 func (pv2 *ProtoV2Public) Sign(privateKey ed25519.PrivateKey, утверждения утверждений, интерфейс нижнего колонтитула{}) (строка, ошибка) 

Подписание подписывает утверждения закрытым ключом, аутентифицируя его содержимое, но сохраняя открытый текст.

 func (pv2 *ProtoV2Public) SignFooterNil(privateKey ed25519.PrivateKey, утверждения утверждений) (строка, ошибка) 

SignFooterNil подписывает утверждения закрытым ключом, аутентифицируя его содержимое, но сохраняя открытый текст. Не принимает нижний колонтитул, внутренне вызывает метод Sign с нижним колонтитулом, равным нулю.

 func (pv2 *ProtoV2Public) Verify(token string, publicKey ed25519.PublicKey) *Token 
 type ProtoV3Local struct {
// содержит отфильтрованные или неэкспортированные поля
} 

ProtoV3Local — протокол версии 3 с локальным назначением.

 func NewPV3Local() *ProtoV3Local 

NewPV3Local — это сахар, подобный конструктору, для локальных целей версии протокола 3.

 func (pv3 *ProtoV3Local) Decrypt(строка токена, ключ *SymKey, ops ...ProvidedOption) *Token 

Decrypt реализует PASETO v3.Decrypt возвращает структуру Token, готовую для последующего сканирования в случае успеха.

 func (pv3 *ProtoV3Local) Encrypt(ключ *SymKey, утверждения Claims, ops ...ProvidedOption) (строка, ошибка) 

Encrypt шифрует утверждения с помощью предоставленного симметричного ключа и аутентифицирует нижний колонтитул, защищая его от подделки, но сохраняя его в виде открытого текста в кодировке base64.

 тип ProtoV4Local структура {
// содержит отфильтрованные или неэкспортированные поля
} 

ProtoV4Local — протокол версии 4 с локальным назначением.

 func NewPV4Local() *ProtoV4Local 

NewPV4Local — это сахар, подобный конструктору, для локальных целей версии протокола 4.

 func (pv4 *ProtoV4Local) Расшифровать (строка токена, ключ *SymKey, ops ...ProvidedOption) *Token 

Decrypt реализует PASETO v4.Decrypt возвращает структуру Token, готовую для последующего сканирования в случае успеха.

 func (pv4 *ProtoV4Local) Encrypt(ключ *SymKey, утверждения Claims, ops ...ProvidedOption) (строка, ошибка) 

Encrypt шифрует утверждения с помощью предоставленного симметричного ключа и аутентифицирует нижний колонтитул, защищая его от подделки, но сохраняя его в виде открытого текста в кодировке base64.

 type ProtoV4Public struct{} 

ProtoV4Public — это общедоступная цель PASETO, которая поддерживает подпись и проверку токена.

 func NewPV4Public() *ProtoV4Public 

NewPV4Public — сахар-конструктор для ProtoV4Public.

 func (pv4 *ProtoV4Public) Sign(sk *AsymSecretKey, Claims Claims, ops ...ProvidedOption) (string, error) 

Sign подписывает утверждения закрытым ключом, аутентифицируя его содержимое, но сохраняя открытый текст.

 func (pv4 *ProtoV4Public) Verify(строка токена, asymmetricPublicKey *AsymPublicKey, ops ...ProvidedOption) *Token 

Verify просто проверяет токен, возвращая его структуру для последующего сопоставления.

 type ProvidedOption func(*необязательно) ошибка 

ProvidedOption — это тип параметров конструктора.

 func WithAssert (утверждение [] байт) ProvidedOption 

WithAssert добавляет неявное утверждение к маркеру PASETO Неявное утверждение — это незашифрованные, но аутентифицированные данные (например, необязательный нижний колонтитул), но НЕ хранятся в токене PASETO (таким образом, неявные) и ДОЛЖЕН быть подтвержден при проверке токена.

 func WithFooter (интерфейс нижнего колонтитула {}) ProvidedOption 

WithFooter добавляет к маркеру нижний колонтитул PASETO.

 тип RegisteredClaims struct {
Строка эмитента `json:"iss,omitempty"`
Строка темы `json:"sub,omitempty"`
Строка аудитории `json:"aud,omitempty"`
Срок действия *time. Time `json:"exp,omitempty"`
NotBefore *time.Time `json:"nbf,omitempty"`
IssuedAt *time.Time `json:"iat,omitempty"`
Строка TokenID `json:"jti,omitempty"`
Строка KeyID `json:"kid,omitempty"`
} 

RegisteredClaims — это утверждения, указанные в RFC.

 func (c *RegisteredClaims) Ошибка Valid() 

Проверяет основанные на времени утверждения "exp, iat, nbf". Если какое-либо из вышеуказанных утверждений отсутствует в токене, оно все равно будет считаться допустимым.

 введите структуру SymKey {
// содержит отфильтрованные или неэкспортированные поля
} 

SymKey — это абстракция симметричного ключа для использования внутри PASETO.

 func NewSymmetricKey(keyMaterial []byte, version Version) *SymKey 

NewSymmetricKey — это функция, подобная конструктору для SymKey, которая представляет собой оболочку для исходного материала ключа, используемого внутри PASETO.

 type SymmetricKey []byte 

SymmetricKey используется в процедурах шифрования и дешифрования.

 тип Token struct {
// содержит отфильтрованные или неэкспортированные поля
} 

Токен — это структура, которая инкапсулирует необработанные утверждения и, возможно, необработанный нижний колонтитул или ошибку, возникшую в случае расшифровки/проверки.

 func (t *Token) Ошибка Err() 

Err — это геттер, который помогает отделить ошибку расшифровки от проблемы сканирования или проверки.

 func (t *Token) HasFooter() bool 

HasFooter сообщает, не был ли нижний колонтитул пустым после расшифровки токена.

 func (t *Token) Scan(claims Claims, интерфейс нижнего колонтитула{}) ошибка 

Scan десериализовать утверждения в объект утверждений и нижний колонтитул в объект нижнего колонтитула Выполняет проверку утверждений (или предоставленную пользователем в случае упаковки) под капотом для более безопасных значений по умолчанию.

 func (t *Token) Ошибка ScanClaims (утверждения утверждений) 

ScanClaims десериализует утверждения в объект Выполняет проверку утверждений (или предоставленную пользователем в случае упаковки) под капотом для более безопасных значений по умолчанию.

 тип ValidationError struct {
Внутренняя ошибка
Ошибки uint32
} 

ValidationError — это структура, которая инкапсулирует несколько ошибок проверки, которые могут возникнуть во время проверки утверждений.

 func (e ValidationError) Error() string 
 func (e *ValidationError) HasAudienceErr() bool 

HasAudienceErr проверяет наличие проблемы проверки аудита.

 func (e *ValidationError) HasExpiredErr() bool 

HasExpiredErr проверяет наличие проблемы проверки exp.

 func (e *ValidationError) HasGenericValidationErr() bool 

HasGenericValidationErr проверяет наличие общей проблемы проверки.

 func (e *ValidationError) HasIssuedAtErr() bool 

HasIssuedAtErr проверяет наличие проблемы проверки iat.

 func (e *ValidationError) HasIssuerErr() bool 

HasIssuerErr проверяет наличие проблемы проверки ISS.

 func (e *ValidationError) HasKeyIDErr() bool 

HasKeyIDErr проверяет наличие проблемы проверки дочернего элемента.

 func (e *ValidationError) HasNotBeforeErr() bool 

HasNotBeforeErr проверяет наличие проблемы проверки nbf.

 func (e *ValidationError) HasSubjectErr() bool 

HasSubjectErr проверяет наличие проблемы дополнительной проверки.

 func (e *ValidationError) HasTokenIDErr() bool 

HasTokenIDErr проверяет наличие проблемы проверки jti.

 type Версия int32 

Версия обозначает версию PASETO, которая будет использоваться.

 константа (
Версия2 Версия = 2
Версия3 Версия = 3
Версия4 Версия = 4
) 

Платформа Chromium OS — Домашние каталоги

Предупреждение. Этот документ устарел и перемещен. Пожалуйста, обновите все ссылки:
https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/cryptohome/docs/homedirs.md

Содержание

  • Обзор
  • Типовой процесс монтажа
  • Механизмы защиты
04
  • 04
  • 4

    Обзор

    Cryptohome использует ecryptfs для базового шифрования файла и имени файла. Ключи пользователя хранятся в зашифрованном наборе ключей хранилища, который защищен с помощью ключа, полученного из пароля пользователя. Эта защита может быть реализована либо с помощью TPM, либо с помощью scrypt .

    Cryptohome управляет каталогами следующим образом:

    • /home/.shadow : Расположение системной соли и соли/ключа/хранилища отдельных пользователей0465: Каждый пользователь Chrome OS получает каталог в теневом корне, где хранятся его соли, ключи и хранилище (s_h_o_u).

    • /home/.shadow//vault : Хранилище пользователя (зашифрованная версия его домашнего каталога)

    • /home/.shadow//master.0 : Набор ключей хранилища для пользователя. Набор ключей хранилища содержит ключ шифрования зашифрованного файла и ключ шифрования зашифрованного имени файла. Он также содержит соль, используемую для преобразования ключа доступа пользователя в ключ AES, и может содержать промежуточный ключ, зашифрованный с помощью TPM, если включена защита TPM (подробности см. в tpm.h).

    • /home/.shadow//mount : при успешном входе в систему каталог хранилища пользователя монтируется здесь с использованием симметричного ключа, расшифрованного из master.X с помощью пароля пользователя.

    • /home/user/ : привязка монтирования из /home/.shadow//mount/root

    • /home/chronos/u : привязать монтирование /home/.shadow//mount/user для многопользовательской поддержки.

    • /home/chronos/user : привязать монтирование активного пользователя /home/.shadow//mount/user для обратной совместимости.

    Автономный вход в систему и разблокировка экрана обрабатываются через cryptohome с использованием тестовой расшифровки набора ключей пользователя с использованием предоставленного пароля. Если пользователь в настоящее время смонтировал свой криптодом, то вместо этого учетные данные могут быть проверены по его объекту сеанса, что обеспечивает быструю проверку учетных данных без доступа к ключевому материалу. Этот последний метод использует объект UserSession в user_session.cc. Пользовательский сеанс устанавливается после успешного завершения MountCryptohome() в mount.cc. Сеанс пользователя разрывается при вызове UnmmountCryptohome, MountCryptohome, MountGuestCryptohome или MigratePasskey (независимо от состояния успеха). Если для экземпляра Mount не существует пользовательского сеанса, автономная проверка учетных данных возвращается к попытке расшифровать сохраненный пользователем набор ключей хранилища. Сеансовый метод предпочтительнее, так как он не пытается расшифровать материал ключа и не требует двустороннего обращения к доверенному платформенному модулю, когда доверенный платформенный модуль используется для дополнительной защиты набора ключей (что может занять около 0,7 с или близко к 3 с). если ключ RSA был вытеснен из слота ключа TPM, который он занимает).

    Криптодом пользователя создается автоматически, когда каталог хранилища для пользователя не существует и служба cryptohome получает вызов для монтирования домашнего каталога пользователя. Это предполагает, что вызов MountCryptohome содержит правильный пароль пользователя — никакая проверка не может быть выполнена, если набор ключей хранилища для пользователя не существует. TestCredentials следует использовать, если неявное создание нежелательно (конечно, явное монтирование).

    Смена пароля осуществляется через вызов MigratePasskey. MigratePasskey попытается расшифровать набор ключей хранилища, используя предоставленные старые учетные данные, и в случае успеха повторно сохранит набор ключей хранилища, используя новые учетные данные. MigratePasskey можно вызывать независимо от того, смонтирован ли криптодом пользователя (любого пользователя). Однако он всегда будет очищать сеанс текущего пользователя, как описано выше.

    Типичный поток монтирования

    • API D-Bus Mount() Cryptohome вызывается с действительными учетными данными пользователя.
    • Если для этого имени пользователя не существует криптодома, создается новый.
      • Криптодом расположен по адресу /home/. shadow/ , где зашифрованный хэш представляет собой SHA1-хэш системной соли, связанной с именем пользователя.
      • Хранилище cryptohome (каталог, монтируемый через ecryptfs) создается по адресу /home/.shadow//vault
      • Набор ключей хранилища хранится по адресу /home/.shadow//master.0
        • В наборе ключей хранилища хранится зашифрованный большой двоичный объект, содержащий ключ шифрования файла ecryptfs ( FEK ) и ключ шифрования имени файла ( ФНЭК ).
        • В наборе ключей хранилища хранится неконфиденциальная информация о механизме защиты, используемом для шифрования ключей, например о соли, раундах паролей и т. д. См. далее обсуждение механизмов защиты.
    • Зашифрованный большой двоичный объект в наборе ключей хранилища расшифровывается с использованием учетных данных пользователя, предоставленных API Mount().
      • При сбое выполняется одно из нескольких действий:
        • Если большой двоичный объект был защищен с помощью доверенного платформенного модуля, а доверенный платформенный модуль был очищен и повторно принадлежит, то пользовательское хранилище cryptohome удаляется и создается заново. Это связано с тем, что невозможно восстановить набор ключей, защищенный доверенным платформенным модулем, если доверенный платформенный модуль был очищен. В этом случае возвращается код состояния, но вызов Mount() возвращает успех. Это единственный случай, когда криптодом автоматически воссоздает дом пользователя.
        • Если большой двоичный объект был защищен с помощью доверенного платформенного модуля, а доверенный платформенный модуль недоступен, например, он был отключен, то вызов возвращает код ошибки, указывающий либо на сбой при обмене данными с доверенным платформенным модулем, либо на то, что доверенный платформенный модуль находится в режиме защиты блокировка (состояние, при котором доверенный платформенный модуль считает, что происходит атака грубой силы, и поэтому временно блокирует большинство вызовов API). Сбои связи обычно носят временный характер и могут быть устранены повторным вызовом API. (Например, некоторые микросхемы при возобновлении работы с S3 требуют от нас повторной установки нашего долгоживущего сеанса. ) Если устройство допускает ручное отключение TPM, эта ошибка не будет временной, и пользователю придется повторно включить ТПМ. Ошибки защиты блокировки всегда временны, но период отсрочки может быть разным. Хотя иногда это могут быть секунды, в других случаях лучше всего перезагрузить систему, чтобы очистить это состояние.
        • Если большой двоичный объект был защищен с помощью TPM, а в API TSS произошел сбой (не удалось загрузить ключ Cryptohome TPM и т. д.), который не соответствует очистке TPM, возвращается ошибка сбоя связи. как описано в последнем разделе.
        • При сбое диска, в частности, поврежден файл набора ключей хранилища, возникает неопределенное поведение.
        • Если при создании возникают следующие ошибки, cryptohome возвращает ошибку и не может устранить проблему:
          • Если TPM недоступен, cryptohome возвращается к scrypt на основе защиты, а вызов scryptenc_buf завершается неудачей по какой-либо причине.
          • Если запись набора ключей зашифрованного хранилища на диск не удалась по какой-либо причине.
          • Если по какой-либо причине не удалось создать путь к хранилищу пользователя.
          • Если по какой-либо причине не удалось установить владельца пути к хранилищу пользователя.
          • Если расшифровка набора ключей хранилища не удалась из-за сбоя вызова расшифровки в TPM, предполагается, что пароль неверный. Это может произойти, если пользователь изменит свой пароль, так как набор ключей по-прежнему будет защищен паролем, использованным при последнем входе в систему, но вызов Mount() предположительно будет использовать текущие учетные данные. В этом случае системе предоставляется возможность перенести ключи, предоставив пользователю старый пароль.
          • Если при расшифровке набора ключей хранилища происходит сбой из-за сбоя вызова расшифровки с помощью scrypt, предполагается, что пароль неверный, как и в случае с TPM выше.
          • Если добавить расшифрованный набор ключей в связку ключей ядра до сбоя монтирования ecryptfs, предполагается, что материал ключа был расшифрован правильно, но существует какая-то другая проблема, не зависящая от cryptohome.
          • Если вызов для монтирования криптодома пользователя завершился неудачно, предполагается, что существует какая-то другая проблема, не зависящая от криптохоума.
          • Если криптодом пользователя должен быть воссоздан из-за условия (i) и криптодом не может быть удален, то существует какая-то другая проблема, не зависящая от криптодома.

    Механизмы защиты

    Набор ключей хранилища (vault_keyset.cc/h) содержит ключ шифрования файла и ключ шифрования имени файла, используемые ecryptfs. Этот набор ключей зашифрован и сохранен на диске. Cryptohome может использовать либо TPM, либо scrypt в качестве механизма шифрования/защиты.

    Если TPM доступен, cryptohome предпочтет использовать его. Если доверенный платформенный модуль недоступен (отсутствует, не включен, принадлежит другой ОС или находится в процессе владения), cryptohome вернется к использованию защиты набора ключей хранилища на основе scrypt. Если доверенный платформенный модуль станет доступным при более позднем входе в систему, cryptohome прозрачно перенесет набор ключей пользователя на защиту на основе доверенного платформенного модуля.

    Метод, когда TPM включен, можно описать на примере рабочего процесса расшифровки:

     УП-
          |
          + Расшифровка AES (без заполнения) => IEVKK -
          | |
    ЭВКК - |
                                               + Расшифровка RSA (в TPM) => VKK
                                               |
                                               |
                                      ТПМ_ЧК -
     

    Где:

    • UP : Пароль пользователя
    • EVKK : Зашифрованный ключ набора ключей хранилища (хранится на диске)
    • IEVKK : Intermediate vault keyset key
    • TPM_CHK : TPM-wrapped system-wide Cryptohome Key
    • VKK : Vault Keyset Key

    The end result, the Vault Keyset Key (VKK), is an Ключ AES, который используется для расшифровки набора ключей хранилища, содержащего ключи ecryptfs (ключ шифрования имени файла и ключ шифрования файла). Ключ VKK при использовании TPM для защиты генерируется случайным образом.

    Пароль пользователя (UP) используется в качестве ключа AES для начальной расшифровки ключа набора ключей зашифрованного хранилища (EVKK или поле «tpm_key» в SerializedVaultKeyset, см. vault_keyset.proto). Это делается без заполнения, так как расшифровка выполняется на месте, а результирующий буфер представляет собой промежуточный ключ набора ключей хранилища (IEVKK), который передается в расшифровку RSA на TPM в виде зашифрованного текста. В этом дешифровании RSA используется общесистемный ключ cryptohome, обернутый в TPM. Таким образом, мы можем использовать случайно созданный общесистемный ключ (доверенный платформенный модуль имеет ограниченное количество слотов для ключей), но по-прежнему требовать пароль пользователя на этапе расшифровки. Это также увеличивает стоимость грубой силы атаки SerializedVaultKeyset в автономном режиме, поскольку это означает, что злоумышленнику придется выполнять операцию шифрования TPM для каждой попытки ввода пароля (при условии, что упакованный ключ не может быть восстановлен).

    Добавить комментарий

    Ваш адрес email не будет опубликован. Обязательные поля помечены *

    Закрыть
    Menu