Номер | Название | Вид | Назначение |
Раздел I. Внеоборотные активы | |||
01 | Основные средства | Активный | Приводится информации о наличии и движении ОС |
02 | Амортизация основных средств | Пассивный | Отражается начисленная амортизация ОС |
03 | Доходные вложения в материальные ценности | Активный | Учитываются ОС, подлежащие передаче во временное пользование другим лицам |
04 | Нематериальные активы | Активный | Приводится информации о наличии и движении НМА |
05 | Амортизация нематериальных активов | Пассивный | Отражается начисленная амортизация НМА |
07 | Оборудование к установке | Активный | Учитывается оборудование, устанавливается в строящихся объектах и требующее предварительных монтажных работ |
08 | Вложения во внеоборотные активы | Активный | Сбор расходов, связанных с поступлением и созданием ОС и НМА |
09 | Отложенные налоговые активы | Активный | Учитываются ОНА — часть налога на прибыль, которая в последующих периодах приведет к уменьшению налоговой суммы |
Раздел II. Производственные запасы | |||
10 | Материалы | Активный | Учитываются материальные ценности в наличии и их движение (поступление и отпуск) — материалы, запасы, сырьё, полуфабрикаты, топливо и т.д. |
11 | Животные на выращивании и откорме | Активный | Приводятся сводные данные о молодых животных для сельскохозяйственных предприятий |
14 | Резервы под снижение стоимости материальных ценностей | Активно-пассивный | Определение разницы между рыночной стоимостью материальных ценностей и их себестоимостью |
15 | Заготовление и приобретение материальных ценностей | Активно-пассивный | Сбор затрат при поступлении материальных ценностей перед их приходом |
16 | Отклонение в стоимости материальных ценностей | Активно-пассивный | Определение разницы между учетной и фактической ценой материальных ценностей |
19 | НДС по приобретенным ценностям | Активный | Выделение НДС по поступающим ценностям |
Раздел III. Затраты на производство | |||
20 | Основное производство | Активный | Сбор расходов на основные виды деятельности (производство продукции, услуг, работ) |
21 | Полуфабрикаты собственного производства | Активный | Учет произведенных самостоятельно полуфабрикатов, не прошедших всех этапов производства, которые нужно доработать |
23 | Вспомогательное производство | Активный | Сбор расходов производства, дополнительного для основного – ремонт основных средств, обеспечение энергией, транспортировкой |
25 | Общепроизводственные расходы | Активный | Сбор затрат, связанных с обслуживанием основного и вспомогательного производства – амортизация, затраты на ремонт внеоборотных активов, отопление, электроэнергия, содержание производственных помещений, арендные платежи за производственное оборудование, зарплата рабочих производства |
26 | Общехозяйственные расходы | Активный | Сбор расходов, необходимых для управления и не связанных с производственным процессом – административно-управленческие, зарплата непроизводственных работников, платежи за аренду непроизводственного имущества, информационные, консультационные услуги |
Брак в производстве | Активный | Сбор расходов, имеющих отношение к производственному браку | |
29 | Обслуживающие производства и хозяйства | Активный | Сбор затрат на обслуживающие производства и хозяйства, подлежащих отдельному учету |
Раздел IV. Готовая продукция и товары | |||
40 | Выпуск готовой продукции | Активно-пассивный | Отражение фактической стоимости готовой продукции. Используется, когда продукция на счете 43 учитывается по нормативной себестоимости |
41 | Товары | Активный | Учет товарных ценностей, поступивших от поставщиков и предназначенных для перепродажи с целью получения прибыли |
42 | Торговая наценка | Пассивный | Учет наценки и скидок в розничных продажах |
43 | Готовая продукция | Активный | Учет операций, связанных с перемещением готовой продукции |
44 | Расходы на продажу | Активный | Сбор коммерческих затрат, имеющих отношение к реализации товаров, готовой продукции, выполненных работ, произведенных услуг |
45 | Товары отгруженные | Активный | Учет стоимости отгруженных товарных ценностей, готовой продукции, в отношении выручка признается не сразу (при экспортных операциях, комиссии) |
46 | Выполненные этапы по незавершенным работам | Активный | Учет завершенных отдельных самостоятельных этапов длительных работ |
Раздел V. Денежные средства | |||
50 | Касса | Активный | Учитываются денежные средства в наличном виде |
51 | Расчетные счета | Активный | Учитываются денежные средства в безналичном виде |
52 | Валютные счета | Активный | Учитываются денежные средства в иностранной валюте |
55 | Специальные счета в банке | Активный | Учитываются денежные средства в форме аккредитивов, чеков, депозитов |
57 | Переводы в пути | Активный | Отражаются суммы, переданные банку для продажи или покупки валюты, а также наличные деньги, переданные в банк, но еще не зачисленные |
58 | Финансовые вложения | Активный | Отражаются вложения, цель которых — приносить прибыль (акции, вклады в УК, предоставленные предприятием займы) |
59 | Резервы под обесценение вложений в ценные бумаги | Пассивный | Создание резервных сумм по инвестициям в целях компенсации уменьшения их стоимости |
Раздел VI. Расчеты | |||
60 | Расчеты с поставщиками и подрядчиками | Активно-пассивный | Отражаются взаиморасчеты по приобретенным ценностям, услугам, работам |
62 | Расчеты с покупателями и заказчиками | Активно-пассивный | Отражаются взаиморасчеты по проданным ценностям, услугам, работам |
63 | Резервы по сомнительным долгам | Пассивный | Формирование резервных сумм с целью компенсации задолженности, которая с большой долей вероятности не будет возвращена |
66 | Расчеты по краткосрочным кредитам и займам | Пассивный | Отражаются взаиморасчеты с банками и кредитными организациями по кредитам и займам сроком более 12 мес. |
67 | Расчеты по долгосрочным кредитам и займам | Пассивный | Отражаются взаиморасчеты с банками и кредитными организациями по кредитам и займам сроком менее 12 мес. |
68 | Расчеты по налогам и сборам | Активно-пассивный | Отражаются взаиморасчеты с с бюджетом по налоговым платежам |
69 | Расчеты по социальному страхованию и обеспечению | Активно-пассивный | Отражаются взаиморасчеты по обязательным страховым платежам |
70 | Расчеты с персоналом по оплате труда | Пассивный | Отражаются взаиморасчеты с сотрудниками по зарплате |
71 | Расчеты с подотчетными лицами | Активно-пассивный | Отражаются взаиморасчеты с сотрудниками по предоставленным подотчетным суммам |
73 | Расчеты с персоналом по прочим операциям | Активно-пассивный | Ведутся все виды взаиморасчетов с персоналом, кроме оплаты труда (предоставленные займы, взыскание ущерба) |
75 | Расчеты с учредителями | Активно-пассивный | Учитываются взаиморасчеты с участниками общества по вкладам в уставный капитал, а также дивидендам |
76 | Расчеты с разными дебиторами и кредиторами | Активно-пассивный | Ведутся взаиморасчеты с теми лицами, которые не подходят под счета 60-75 |
77 | Отложенные налоговые обязательства | Пассивный | Обобщаются данные об ОНО (часть налога на прибыль, которую нужно будет заплатить в последующих периодах), возникших в связи с разным порядком бухгалтерского и налогового учета |
79 | Внутрихозяйственные расчеты | Активно-пассивный | Используется, если у предприятия есть представительства и филиалы. Ведет учет взаиморасчетов по предоставленному отделениям компании имуществу, взаимному отпуску ценностей, начислению зарплаты сотрудникам отделений и т.д. |
Раздел VII. Капитал | |||
80 | Уставный капитал | Пассивный | Показывается сумма уставного капитала, а также ее изменения |
81 | Собственные акции (доли) | Активный | Учитываются выкупленные акции, доли в уставном капитале |
82 | Резервный капитал | Пассивный | Формируется запас с целью компенсации возможных убытков |
83 | Добавочный капитал | Пассивный | Показывают итоги переоценки стоимости внеоборотных активов, а также различия между номинальной и продажной ценой долей, акций |
84 | Нераспределенная прибыль, непокрытый убыток | Активно-пассивный | Учитываются финансовые итоги деятельности предприятия за год — прибыль или убыток после закрытия счета 99 |
86 | Целевое финансирование | Активно-пассивный | Учитываются финансы, поступившие в порядке целевого финансирования от государственных органов, фондов и прочих лиц |
Раздел VIII. Финансовые вложения | |||
90 | Продажи | Активно-пассивный | Ведется учет доходов/расходов от продаж товаров, продукции, выполненных услуг и работ |
91 | Прочие доходы и расходы | Активно-пассивный | Отражаются доходов/расходов, не имеющих отношение к обычной деятельности предприятия |
94 | Недостачи и потери от порчи ценностей | Активный | Показываются суммы потерь от порчи ТМЦ и недостачи, возникшие при заготовлении, хранении и выбытии |
96 | Резервы предстоящих расходов | Пассивный | Создается финансовый запас по планируемым затратам |
97 | Расходы будущих периодов | Активный | Обобщаются данные о затратах текущего периода, относящихся к предстоящим периодам |
98 | Доходы будущих периодов | Пассивный | Обобщаются данные о доходах текущего периода, относящихся к предстоящим периодам |
99 | Прибыли и убытки | Активно-пассивный | Отражаются итоговые суммы прибылей и убытков от деятельности компании в целом |
План счетов бухгалтерского учета 2020 и 2021: таблица с расшифровкой
План счетов бухгалтерского учета — это инструмент для фиксации каждой операции хозяйственной деятельности компании.
Существуют несколько нормативных актов, которыми введены счета бухгалтерского учета: таблица для коммерческих предприятий утверждена Приказом Минфина от 31.10.2000 № 94н (план). Федеральный стандарт для госсектора — Приказом Минфина от 31.12.2016 № 256н, для некредитных финансовых организаций — Положением, утв. Центробанком от 02.09.2015 № 486-П, и т. п. В статье рассматривается только деятельность коммерческих компаний.
Упрощенный учет для ИП и малых предприятий
В зависимости от статуса, коммерческие компании должны применять все стандарты бухучета или только некоторые. А часть хозяйствующих субъектов вообще могут обойтись от использования плана, поскольку освобождены от необходимости вести БУ. Согласно п. 2 ст. 6 Федерального закона № 402-ФЗ от 06.12.2011, могут не вести бухучет ИП, самозанятые лица и подразделения иностранных фирм. Несмотря на такое разрешение, от фиксации доходов и расходов для правильного исчисления налогов индивидуального предпринимателя никто не освобождал (п. 1 ст. 23 НК РФ). В случае, если предприниматель хочет использовать действующую Инструкцию (Приказ Минфина от 31.10.2000 № 94н), то он может это сделать. ИП не стоит по-своему использовать бухгалтерские счета, расшифровка для чайников — в таблице. Инструкции приводят определенную корреспонденцию, придумывать свою незачем.
Малые и микропредприятия бухучет вести обязаны, но при этом имеют ряд преференций, изложенных Минфином в Информационном сообщении ИС-учет-5 от 24.06.2016, а также в Информации ПЗ-3/2016 от 29.06.2016:
- ПБУ 18/02 для целей исчисления налога на прибыль и ПБУ 2/2008 для договоров строительного подряда — не использовать;
- резервы под отпуск сотрудников — не создавать;
- амортизацию ОС начислять поквартально или ежегодно;
- запасы для управленческих целей списывать на затраты можно сразу;
- любые ошибки в бухучете считать несущественными;
- сдавать только баланс и 2 форму из всего комплекта бухотчетности.
Поэтому у них рабочая сетка бухсчетов может не содержать те из них, которые они использовать не обязаны. В качестве примера можно скачать план счетов бухгалтерского учета 2020 (таблица содержит сетку для малого предприятия — турагентства; на иллюстрации — фрагмент, полностью — в файле).
Ответы на часто задаваемые вопросы
Нужно ли МП утверждать рабочий план?
Да, такое требование содержится в Инструкции (Приказ Минфина от 31.10.2000 № 94н). Рабочая сетка БУ даже малого предприятия может содержать дополнительную аналитику, необходимую управленцам компании для подготовки внутренней отчетности. Введение же новой сводной аналитики происходит только по согласованию с Минфином.
Мы уже упоминали, что малые и микропредприятия могут использовать упрощенный план бухгалтерских счетов 2020:
Таблица с расшифровкой для торговой компании, использующей ЕНВД
Код | Наименование |
01 | Основные средства |
01-1 | Основные средства в организации |
01-2 | Выбытие основных средств |
02 | Амортизация основных средств |
08 | Вложения во внеоборотные активы |
08-4 | Приобретение объектов основных средств |
10 | Материалы |
10-3 | Топливо |
10-5 | Запасные части |
10-6 | Прочие материалы |
10-9 | Инвентарь и хозяйственные принадлежности |
10-10 | Специальная оснастка и специальная одежда на складе |
41 | Товары |
41-1 | Товары на складах |
41-2 | Товары в розничной торговле |
41-2-1 | Товары, переданные в розничный магазин |
41-2-2 | Товары, переданные для развозной торговли |
44 | Расходы на продажу |
50 | Касса |
50-1 | Касса организации (в рублях) |
50-2 | Операционная касса |
50-3 | Денежные документы |
51 | Расчетные счета |
57 | Переводы в пути |
60 | Расчеты с поставщиками и подрядчиками |
60-1-1 | Расчеты с поставщиками и подрядчиками по исполненным ими договорам (в рублях) |
60-1-2 | Расчеты с поставщиками и подрядчиками по исполненным ими договорам (в у. е.) |
60-2 | Расчеты по авансам выданным |
62 | Расчеты с покупателями и заказчиками |
63 | Резервы по сомнительным долгам |
66 | Расчеты по краткосрочным кредитам и займам |
66-1 | Основная сумма долга по краткосрочным кредитам и займам |
66-2 | Проценты по краткосрочным кредитам и займам |
67 | Расчеты по долгосрочным кредитам и займам |
67-1 | Основная сумма долга по долгосрочным кредитам и займам |
67-2 | Проценты по долгосрочным кредитам и займам |
68 | Расчеты по налогам и сборам |
68-1 | Налог на доходы физических лиц |
68-2 | Единый налог на вмененный доход |
68-3 | Налог, уплачиваемый при применении УСН |
68-4 | Транспортный налог |
69 | Расчеты по социальному страхованию и обеспечению |
69-1 | Расчеты по взносам на социальное страхование на случай временной нетрудоспособности и в связи с материнством |
69-2 | Расчеты по пенсионному обеспечению |
69-3 | Расчеты по обязательному медицинскому страхованию |
69-4 | Расчеты по обязательному социальному страхованию от несчастных случаев на производстве и профессиональных заболеваний |
70 | Расчеты с персоналом по оплате труда |
71 | Расчеты с подотчетными лицами |
73 | Расчеты с персоналом по прочим операциям |
73-2 | Расчеты по возмещению материального ущерба |
73-3 | Расчеты по прочим операциям |
75 | Расчеты с учредителями |
75-1 | Расчеты по вкладам в уставный капитал |
75-2 | Расчеты по выплате доходов |
76 | Расчеты с разными дебиторами и кредиторами |
76-1 | Расчеты по имущественному и личному страхованию |
76-2 | Расчеты по претензиям |
76-4 | Расчеты по депонированным суммам |
76-5 | Прочие расчеты с разными дебиторами и кредиторами |
76-6 | Расчеты с получателями средств по исполнительным документам работников |
80 | Уставный капитал |
81 | Собственные акции (доли) |
83 | Добавочный капитал |
84 | Нераспределенная прибыль (непокрытый убыток) |
90 | Продажи |
90-1 | Выручка |
90-2 | Себестоимость продаж |
90-9 | Прибыль/убыток от продаж |
91 | Прочие доходы и расходы |
91-1 | Прочие доходы |
91-1-1 | Прочие доходы по операциям, в отношении которых уплачивается ЕНВД |
91-1-2 | Прочие доходы по операциям, в отношении которых не уплачивается ЕНВД |
91-2 | Прочие расходы |
91-2-1 | Прочие расходы по операциям, в отношении которых уплачивается ЕНВД |
91-2-2 | Прочие расходы по операциям, в отношении которых не уплачивается ЕНВД |
91-9 | Сальдо прочих доходов и расходов |
94 | Недостачи и потери от порчи ценностей |
98 | Доходы будущих периодов |
99 | Прибыли и убытки |
001 | Арендованные основные средства |
002 | Товарно-материальные ценности, принятые на ответственное хранение |
006 | Бланки строгой отчетности |
007 | Списанная в убыток задолженность неплатежеспособных дебиторов |
008 | Обеспечения обязательств и платежей полученные |
009 | Обеспечения обязательств и платежей выданные |
013 | Имущество со сроком полезного использования свыше 12 месяцев и стоимостью не более установленного лимита, переданное в эксплуатацию |
Как часто нужно вносить изменения в рабочий план?
Когда компания меняет БУ.
А если это произойдет внутри года?
Все равно, изменения необходимо будет внести на начало отчетного периода (п. 10 Положения по БУ 1/2008 «Учетная политика организации», утв. Приказом Минфина от 06.10.2008 № 106н). Например, вы намерены вести с мая этого года новый вид деятельности — оптовую торговлю. Это не означает необходимость заново утверждать всю учетную политику. Достаточно издать приказ на внесение изменений в рабочий план счетов бухгалтерского учета 2020: таблица, распечатать которую можно и в конце года, добавляется к существующей. Так же поступаем, если изменения БУ произведены законодателем.
Новости БУ для коммерческих компаний
Все используемые обычными организациями Положения по БУ относятся к началу 2000-х. Принципы учета, заложенные в них, устарели, поэтому 18.04.2018 был принят Приказ Минфина № 83н «Об утверждении программы разработки…», в котором приведена последовательность вступления в действие новых ФСБУ. Это не значит, что изменятся бухсчета с субсчетами: таблица, вероятнее всего, останется прежней. Поменяется сам подход к отражению хозяйственных операций.
На данный момент Приказами Минфина уже утвержден новый стандарт по аренде (Приказ № 208н от 16.10.2018) и введены изменения в действующие — ПБУ 18/02, касающееся расчетов по налогу на прибыль организаций (Пр. № 236н от 20.11.2018), ПБУ13/2000, касающееся государственной помощи (Пр. № 248н от 04.12.2018), ПБУ 3/2006 работа с активами и обязательствами в иностранной валюте (Пр. № 180н от 09.11.2017). Из них только измененное Положение по БУ 3/2006 окажет влияние на счета бухгалтерского учета 2020; таблица рабочего плана для компаний, ведущих деятельность в иностранной валюте, должна быть дополнена таким образом, чтобы можно было в отчетности раскрыть информацию по данному сегменту (ПБУ 12/2010 «Информация по сегментам», утв. Приказом Минфина № 143н от 08.11.2010).
Все остальное: изменения по аренде, работа с госпомощью, расчет постоянных и временных разниц для целей прибыли — в этом году компании, в том числе и малые, могут применять добровольно, поменяв свою учетную политику. Напомню, что для этого понадобится дополнить существующие рабочие бухгалтерские счета; таблица с расшифровкой может быть сформирована из IT- программы, например 1С:Бухгалтерия. Затем потребуется внести изменения в существующую учетную политику для целей БУ.
Что изменили в Положении по БУ 3/2006
В документе зафиксирован новый подход к покупкам, реализации, получению и выдаче займов в иностранной валюте. Для дополнительного разъяснения Минфин выпустил Информационное сообщение от 12.12.2017 ИС-учет-10. В нем разбираются измененные принципы БУ, которые не были урегулированы ранее. В частности:
- Как определить порядок стоимости, выраженной в инвалюте, если нет официального курса? Коротко — посчитать ее по отношению к третьей, котировки которой известны.
- Как пересчитать выручку, которую начислили, но не предъявили к оплате? Коротко — в пределах полученного аванса — не пересчитывать, свыше аванса — по курсу ЦБ на каждую отчетную дату.
- Как посчитать курсовые разницы, когда производится хеджирование валютного риска? Смотрим гл. 6 МСФО (IFRS) 9 «Финансовые инструменты».
- Как производить пересчет в рубли стоимость объектов бухучета при ведении деятельности за границей? Существующий порядок пересчета распространили на внеоборотные активы, МПЗ, полученные и выданные авансы, а также др. активы, не упомянутые в п. 7 Положения по БУ 3/2006 «Учет активов и обязательств … в иностранной валюте».
Принятые изменения необходимо учитывать в работе с 01.01.2019.
Пример для турфирмы
Пример для малого предприятия на ЕНВД
Правовые документы
Что такое счета бухгалтерского учета и как выучить План счетов?
В бухгалтерском учете одновременно отражают обе стороны события — и приходную, и расходную. Для этого используют двойную запись. Проще говоря, это отражение каждой хозяйственной операции минимум на двух взаимосвязанных счетах — по дебету одного и кредиту другого счета в одной и той же сумме. В результате возникает экономическая связь, которую называют корреспонденцией счетов. А если связь между счетами оформить письменно, то это и будут бухгалтерские проводки. А порядок ведения бухучета зависит от статуса организации.
Дорогие читатели! Наши статьи рассказывают о типовых способах решения юридических вопросов, но каждый случай носит уникальный характер.
Если вы хотите узнать, как решить именно Вашу проблему — обращайтесь в форму онлайн-консультанта справа или звоните по телефонам, представленным на сайте. Это быстро и бесплатно!
Таблицы бухгалтерских проводок в 2019 году для начинающих с ответами и примерами
ВИДЕО ПО ТЕМЕ: Что такое бухгалтерский счет. Дебет и кредит -ПОНЯТИЯ.В предыдущей статье мы начали знакомиться с основными понятиями бухгалтерского учета, разобрали понятия активы и пассивы предприятия. Теперь разберем еще одно важное понятие — это счета бухгалтерского счета. Что это, для чего нужно, как используется бухгалтером? Официальное определение счета в бухгалтерском учете следующее: это способ текущего взаимосвязанного отражения и группировки имущества по составу и размещению, по источникам его образования, а также хозяйственных операций по качественно однородным признакам, выраженным в денежных, натуральных и трудовых измерителях.
Это определение довольно сложное для понимания. Если говорить простыми словами, то визуально бухгалтерские счета — это таблицы, которые состоят из двух столбцов, левый называется дебет, правый — кредит.
В этих таблицах отражаются все текущие хозяйственные операции предприятия за месяц. Левая сторона бухгалтерских счетов предназначена для отражения поступлений на предприятие, правая сторона — для учета выбытия. Учет ведется в денежном выражении.
Каждый день у предприятия осуществляется множество хозяйственных операций различного характера: поступление и выбытие основных средств , денежных средств , материальных ценностей, выплата заработной платы , начисление и уплата налогов и т.
Все эти хозяйственные операции группируются по однородным признакам, для каждой такой группы существует свой счет. Например, все операции, связанные с учетом материальных ценностей, отражаются на сч. Предприятие обычно не использует их все, а выбирает для себя те, которые необходимы для рационального ведения своей деятельности.
Кроме этого в Плане предусмотрены также 11 забалансовых счетов, что это такое можно прочитать в этой статье. У многих возникают сомнения, что они вообще смогут когда-то ее выучить. На самом деле книга совсем не страшная, а очень нужная и полезная. Учить наизусть ее не нужно. План — это официальный документ, который содержит перечень всех ти счетов бухгалтерского учета и ти забалансовых.
В описаниях к каждому счету подробно расписывается, для чего он используется и что на нем учитывается. Существует еще такое понятие, как рабочий план счетов — это перечень счетов, которые пригодятся для учета операций в конкретной организации. К примеру, открылась фирма, руководство определило, чем она будет заниматься. Исходя и рода деятельности и размера организации, бухгалтер выбирает из Плана, какие счета ему пригодятся.
То есть составляет свой, рабочий План. Небольшие предприятия могут вполне обойтись и тью. В дальнейшем бухгалтер все текущие операции отражает с помощью проводок на этих счетах, как научиться выполнять проводки легко будем изучать далее.
Для закрепления понятия рассмотрим, как ведется учет хозяйственной деятельности предприятия с помощью счета бухгалтерского учета. Как писалось ранее, бухгалтерский счет — это табличка, состоящая из двух столбцов, дебет и кредит. Затем в течении месяца в счете отражаются все текущие хозяйственные операции по дебету или по кредиту, в зависимости от вида операции.
Чтобы было проще понять, как ведется учет на предприятии, рассмотрим пример. Возьмем для примера сч. Заносим в дебет сч. В течении месяца происходили различные движения денежных средств, они поступали и выбывали с предприятия. Каждая операция отражается на сч. Поступление по дебету, выбытие по кредиту. После того, как посчитано конечное сальдо, счет закрывается, а в начале следующего месяца открывается заново. Конечное сальдо из предыдущего месяца переносится во вновь открытый счет, в котором оно уже будет выступать в качестве начального.
Процесс учета в бухгалтерии непрерывен! Учет всех операций на предприятии отражается на бухгалтерских счетах с помощью проводок. Счет — это двусторонняя таблица: слева дебет, справа кредит. Для каждой группы однородных операций используется отдельный счет, всего их 99, но используются на практике далеко не все.
Если есть вопросы или дополнения, пишите в комментариях! Мне важно Ваше мнение! Все это разбирается на практических примерах. Для просмотра видео нажмите ниже. Помогите решить задачу:1 на текущий сч поступило р.
Изучаю бух. И у меня есть вопросы, как к профессионалу в бухгалтерии. По этой теме. Что делать если счет активный или пассивный, активно-пассивный? Как вписать его в бух. И вообще, имеет ли это значение? Если да, то какое? Или я чего-то не до понимаю? Ольга Лазарева. Очень полезные уроки! А можете мне скинуть,пожалуйста, уроки и проводки по работе с покупателями. Приложение интересное, можете сделать для нас на заказ приложение по бухучету?
Напишите мне ответ тут. Тиглатпаласар Новухдоносорович. Очень не плохо было бы раскрывать термины этимологически. Например, корреспонденция — происходит от средн. Получается больше понимания, и меньше диссонанса в мыслях. А если счет Активный или Пассивный или активно — пассивный?
Как считать тогда? Отличный сайт! Но, если я конечно не перепутал а как чайник вполне мог , в видео ошибка в конце: счет 60 — активный, на расход по нему оплата поставщику записывают в дебет, а нужно в кредит. И соответственно по счету 51 пассивный — уменьшение внести в дебет. Поправьте, если я не прав. Объясняется что такое счета в бухгалтерии, а их перечисления я не нашла. Открыла в Интернете. Например, счет Нет описания субсчетов.
А они есть Как разобраться? Разъясните, пожалуйста. Я по воле случая попала в организацию на должность бухгалтера временно. Работа очень нужна, пытаюсь справляться. Знания разрозненные. С чего начать в первую очередь? Ведь у пассивного счета наоборот, по кредиту увеличение. Спасибо, читаю вторую статься, до этого лишь немного сталкивался с бухучетом, излагаете доходчиво. Все доступно, спасибо, но хотелось бы уточнить каким образом закрывается счёт, после определения сальдо? Это какая-то проводка составляется?
Сайт конечно очень полезный, обновить университетские знания или для изучения азов с нуля. Спасибо разработчикам. Но меня удивляют люди которые здесь пишут видимо на эмоциях что пока не нашли данный сайт дескать ничего не понимали и не разбирались работая бухгалтером. Каким образом это возможно, работать бухгалтером не зная даже основ?
Куча информации в библиотеках, учебники по бух. Нет, все ищут волшебный сайт уверен что в свое рабочее время который их всему научит. Потом спрашивается, почему у нас такие специалисты бестолковые. Повторюсь что сайт очень удобен в изучении по моему мнению, но люди которые надеются только на данный сайт и не хотят приложить больших усилий для образования, смотрятся глупо.
Пока не нашла этот сайт — НИЧЕГО не понимала… Меня знакомые взяли бухгалтером в маленькую фирму с обещанием меня ВСЕМУ научить, так как им не хочется возиться с бухгалтерией и отчетностью … и вот уже ТРИ месяца я мучаюсь, так как их объяснения либо сумбурны, либо отсутствуют… На остальных же сайтах все написано тарабарским антилюдским языком. Работаю бухгалтером, благодаря тете! Но сидел и не чего толком не понимал пока не столкнулся с этой статьёй!
Подскажите пожалуйста, достаточно ли будет пройти курсы по бух учету, что бы можно было полноценно работать в организации? Курсов будет достаточно только для того, чтобы работать, например, помощником бухгалтера, набираясь опыта на практике. Для полноценной работы этого все-таки маловато. Сайт, просто супер!!! Если бы нас ,бухгалтеров, сразу так учили, просто и понятно!!!!
Идея этой статьи появилась в результате общения с бухгалтерами — как личного, так и в Интернете. Цель — дать в короткой статье бухгалтер, как правило, всегда занят, у него нет времени для чтения длинных произведений основные понятия — как теоретические, так и практические — для работы и дальнейшего изучения бухгалтерского учета. Насколько это удалось — судить не мне.
Существуют несколько нормативных актов, которыми введены счета бухгалтерского учета: таблица для коммерческих предприятий утверждена Приказом Минфина от Федеральный стандарт для госсектора — Приказом Минфина от Центробанком от В статье рассматривается только деятельность коммерческих компаний.
Таблица счетов бухгалтерского учета
В предыдущей статье мы начали знакомиться с основными понятиями бухгалтерского учета, разобрали понятия активы и пассивы предприятия. Теперь разберем еще одно важное понятие — это счета бухгалтерского счета. Что это, для чего нужно, как используется бухгалтером? Официальное определение счета в бухгалтерском учете следующее: это способ текущего взаимосвязанного отражения и группировки имущества по составу и размещению, по источникам его образования, а также хозяйственных операций по качественно однородным признакам, выраженным в денежных, натуральных и трудовых измерителях. Это определение довольно сложное для понимания.
Понятие бухгалтерского счета. Для чего он нужен в бухгалтерии?
На прошлом уроке курса мы создали структуру нашего счета учета и заполнили эту структуру данными. Использовав данный принцип построения счетов учета, мы достаточно легко создадим свою систему бухгалтерского учета. Для этого нам достаточно определиться с теми экономическими категориями учета, которые присутствуют в нашей работе и создать для каждой такой категории свой собственный счет учета. Обе таблицы вместе называют еще план счетов. Вот как выглядит план счетов в программе 1С меню.
ПОСМОТРИТЕ ВИДЕО ПО ТЕМЕ: План счетов бухгалтерского учета как выучить — Введение в бухучет для начинающих — Бухгалтерия.
Бухучет для начинающих
.
.
Значения полей Счетучета (БУ) и Банковский счет взаимосвязаны следующим образом: в поле а в поле Счет учета (БУ) — счет бухгалтерского учета части окна, разделены на две вкладки: Расшифровка платежа и ИНН/КПП.
.
.
.
.
.
.
МБП: малоценные, быстроизнашивающиеся предметы | Современный предприниматель
В любой компании имеется довольно солидный запас активов, именуемых малоценными быстроизнашивающимися предметами (МБП). Расшифровка в бухгалтерии этой группы активов именно в такой аббревиатуре сегодня не используется и не упоминается в Плане счетов, однако малоценка не исчезла из оборота компаний, и бухгалтеры по-прежнему учитывают ее. Рассмотрим, какие группы имущества относятся к МБП, для чего служат и как осуществляется учет МБП на предприятии.
МБП в бухгалтерии
До недавних пор МБП учитывались на сч. 12 «МБП», но в настоящее время его не используют в бухгалтерском учете. МБП – расшифровка в бухгалтерии применяемая давно и дающая точное определение данным предметам. Относят к ним инвентарь, приспособления, инструмент и специальную оснастку, используемые в процессе производства.
Несмотря на то, что эти ресурсы соответствуют характеристикам основных средств, учитывать их в составе этих активов невозможно из-за мизерной стоимости, несопоставимой с ценой объектов ОС. Поэтому к МБП относят активы, заготовленные или приобретенные непосредственно для нужд производства и способствующие увеличению получаемого дохода. Критерии, по которым приобретенные материалы отражаются в составе МБП, таковы:
- Срок службы до года или двух;
- Стоимость единицы не больше 40 т. р. Компании вправе закрепить в УП такое понятие, как максимальная стоимость МБП;
- Не подлежат последующей перепродаже.
Что относится к МБП в бухгалтерии: перечень и критерии
МБП — составляющая оборотных средств компании. В балансе предприятия стоимость их остатков на отчетную дату указывается в строке 1210 вместе со стоимостью производственных запасов. Учитываются МБП на счете 10 «Материалы» по отдельным субсчетам:
- 10/9 «Инвентарь и хозпринадлежности» для учета движения инвентаря, инструментов, других принадлежностей, обращающихся в компании;
- 10/10 «Спецоснастка и спецодежда на складе» обобщает учетную информацию о поступлении и динамики спецприспособлений, инструмента, оборудования и спецодежды на складах компании;
- 10/11 «Спецоснастка и спецодежда в эксплуатации» предназначен для учета этих активов в эксплуатации.
Отметим, что спецодежда/спецобувь не входит в группу МБП, так как подпадает в категорию активов, учитываемых особо.
Учет МБП в 2017 году
Первоначальная стоимость МБП включает затраты, понесенные компанией в процессе закупа или изготовления, т. е. оценивается малоценка по фактической себестоимости.
Поступление МБП отражается по д/ту сч. 10/9, 10.
Операция | Счета | |
Д/т | К/т | |
Приняты к учету МБП сроком службы до года от поставщика | 10/9,10 | 60 |
НДС | 19 | 60 |
Приняты к учету МБП, изготовленные на вспомогательных производствах компании | 10/9,10 | 20, 23 |
МБП сроком эксплуатирования свыше года, отражаются на сч. 01/02. Проводки:
Операция | Счета | |
Д/т | К/т | |
Поступили МБП сроком службы выше года | 08 | 60 |
НДС | 19 | 60 |
Передача МБП в пользование | 01 | 08 |
Зачтен НДС | 68 | 19 |
Начислена амортизация (полностью или частями поквартальной разбивкой) | 20, 23 | 02 |
Списание МБП (обязательно не ранее, чем объект будет полностью изношен) | 02 | 01 |
В бухучете МБП можно списать сразу же после оприходования:
- полностью при сроке эксплуатирования до 1 года;
- частями при 2-летнем использовании.
Стоимость МБП списывается и переносится в д/т счетов 20, 26, 44 в зависимости от того, где и на каком производстве (основном или вспомогательном) используются актив. Оприходование инвентаря производится по сч. 10/9. Он числится на счете, пока не перейдет в пользование. В это же время стоимость его списывается.
Списание МБП – проводки:
Операция | Корреспонденция счетов | |
Д/т | К/т | |
Инвентарь принят к учету | 10/9 | 60 |
Списание | 20,23,26 | 10/9 |
Как контролировать наличие МБП после списания стоимости
Несмотря на то, что стоимость МБП списывается сразу или частично, она отражается в бухучете до полного износа. К тому же в компании за движением малоценных предметов должен быть установлен контроль, обеспечивающий их сохранность: количество единиц МБП (без суммы) регистрируют на забалансовом счете 012. Часто практикуют ведение учетных карточек по наименованиям объектов для отслеживания их наличия.
Ведение забалансового количественного учета позволяет:
- Контролировать движение МБП после списания стоимости;
- Обосновывать и подтверждать целесообразность расходования МБП;
- Владеть информацией о том, какие сотрудники отвечают за эксплуатацию инвентаря.
Особенности списания МБП
Для списания малоценных предметов со сроком службы до года применяют типовую форму № МБ-8. Обычно составлением этого документа оформляют ликвидацию имущества, эксплуатация которого стала невозможной в силу полной изношенности или порчи. Решение о ликвидации принимает и фиксирует в акте комиссия, созданная по распоряжению руководителя. Документ заверяется комиссионно, утверждается главой компании и является подтверждением списания МБП в бухучете.
№ счетов |
Наименование счетов |
Тип счета |
|
0100 СЧЕТА УЧЕТА ОСНОВНЫХ СРЕДСТВ |
А |
0110 |
Земля |
|
0111 |
Благоустройство земли |
|
0112 |
Благоустройство основных средств, полученных по договору финансовой аренды |
|
0120 |
Здания, сооружения и передаточные устройства |
|
0130 |
Машины и оборудование |
|
0140 |
Мебель и офисное оборудование |
|
0150 |
Компьютерное оборудование и вычислительная техника |
|
0160 |
Транспортные средства |
|
0170 |
Рабочий и продуктивный скот |
|
0180 |
Многолетние насаждения |
|
0190 |
Прочие основные средства |
|
0199 |
Законсервированные основные средства |
|
|
0200 СЧЕТА УЧЕТА ИЗНОСА ОСНОВНЫХ СРЕДСТВ |
КА |
0211 |
Износ благоустройства земли |
|
0212 |
Износ благоустройства основных средств, полученных по договору финансовой аренды |
|
0220 |
Износ зданий, сооружений и передаточных устройств |
|
0230 |
Износ машин и оборудования |
|
0240 |
Износ мебели и офисного оборудования |
|
0250 |
Износ компьютерного оборудования и вычислительной техники |
|
0260 |
Износ транспортных средств |
|
0270 |
Износ рабочего скота |
|
0280 |
Износ многолетних насаждений |
|
0290 |
Износ прочих основных средств |
|
0299 |
Износ основных средств, полученных по договору финансовой аренды |
|
|
0300 СЧЕТА УЧЕТА ОСНОВНЫХ СРЕДСТВ, ПОЛУЧЕННЫХ ПО ДОГОВОРУ ФИНАНСОВОЙ АРЕНДЫ |
А |
0310 |
Основные средства, полученные по договору финансовой аренды |
|
|
0400 СЧЕТА УЧЕТА НЕМАТЕРИАЛЬНЫХ АКТИВОВ |
А |
0410 |
Патенты, лицензии и ноу-хау |
|
0420 |
Торговые марки, товарные знаки и промышленные образцы |
|
0430 |
Программное обеспечение |
|
0440 |
Права пользования землей и природными ресурсами |
|
0460 |
Франчайз |
|
0470 |
Авторские права |
|
0480 |
Гудвилл |
|
0490 |
Прочие нематериальные активы |
|
|
0500 СЧЕТА УЧЕТА АМОРТИЗАЦИИ НЕМАТЕРИАЛЬНЫХ АКТИВОВ |
КА |
0510 |
Амортизация патентов, лицензий и ноу-хау |
|
0520 |
Амортизация торговых марок, товарных знаков и промышленных образцов |
|
0530 |
Амортизация программного обеспечения |
|
0540 |
Амортизация прав пользования землей и природными ресурсами |
|
0560 |
Амортизация франчайза |
|
0570 |
Амортизация авторских прав |
|
0590 |
Амортизация прочих нематериальных активов |
|
|
0600 СЧЕТА УЧЕТА ДОЛГОСРОЧНЫХ ИНВЕСТИЦИЙ |
А |
0610 |
Ценные бумаги |
|
0620 |
Инвестиции в дочерние хозяйственные общества |
|
0630 |
Инвестиции в зависимые хозяйственные общества |
|
0640 |
Инвестиции в предприятие с иностранным капиталом |
|
0690 |
Прочие долгосрочные инвестиции |
|
|
0700 СЧЕТА УЧЕТА ОБОРУДОВАНИЯ К УСТАНОВКЕ |
А |
0710 |
Оборудование к установке — отечественное |
|
0720 |
Оборудование к установке — импортное |
|
|
0800 СЧЕТА УЧЕТА КАПИТАЛЬНЫХ ВЛОЖЕНИЙ |
А |
0810 |
Незавершенное строительство |
|
0820 |
Приобретение основных средств |
|
0830 |
Приобретение нематериальных активов |
|
0840 |
Формирование основного стада |
|
0850 |
Капитальные вложения в благоустройство земли |
|
0860 |
Капитальные вложения в основные средства, полученные по договору финансовой аренды |
|
0890 |
Прочие капитальные вложения |
|
|
0900 СЧЕТА УЧЕТА ДОЛГОСРОЧНОЙ ДЕБИТОРСКОЙ ЗАДОЛЖЕННОСТИ И ОТСРОЧЕННЫХ РАСХОДОВ |
А |
0910 |
Векселя полученные |
|
0920 |
Платежи к получению по финансовой аренде |
|
0930 |
Долгосрочная задолженность персонала |
|
0940 |
Прочая долгосрочная дебиторская задолженность |
|
0950 |
Отсроченный налог на прибыль по временным разницам |
|
0960 |
Долгосрочные отсроченные расходы по дисконтам (скидкам) |
|
0990 |
Прочие долгосрочные отсроченные расходы |
|
Строки бухгалтерского баланса — расшифровка
Строка 1230 бухгалтерского баланса — расшифровка ее помогает понять размер дебиторки на момент составления документа. По такому же принципу заполняются и иные строки баланса. В нашей статье пойдет речь о том, какие сведения должны содержаться в балансе построчно.
Строка 1230 бухгалтерского баланса (230, 240): расшифровка, принципы строения кодов строк
Строки 1100 (190), 1150 (120), 1160, 1170 (140), 1180, 1190
Строки 1210 (210), 1220 (220), 1240 (250), 1250, 1260 и 1200 (290)
Бывает ли строка 12605 в балансе
Строка 1600 (300)
Строки 1360, 1370 (470) со строками 1300 (490)
Строки 1410, 1420 и 1400 (590)
Строки 1510 (610), 1520 (620), 1530, 1540, 1550 и 1500 с расшифровкой
Строка 1700 (700)
Стр. 2110 и прочие бухгалтерского баланса формы 2
- Строка 1230 бухгалтерского баланса (230, 240): расшифровка, принципы строения кодов строк
- Строки 1100 (190), 1150 (120), 1160, 1170 (140), 1180, 1190
- Строки 1210 (210), 1220 (220), 1240 (250), 1250, 1260 и 1200 (290)
- Бывает ли строка 12605 в балансе
- Строка 1600 (300)
- Строки 1360, 1370 (470) со строками 1300 (490)
- Строки 1410, 1420 и 1400 (590)
- Строки 1510 (610), 1520 (620), 1530, 1540, 1550 и 1500 с расшифровкой
- Строка 1700 (700)
- Стр. 2110 и прочие бухгалтерского баланса формы 2
Строка 1230 бухгалтерского баланса (230, 240): расшифровка, принципы строения кодов строк
Каждой строке бухгалтерского баланса соответствует код, позволяющий идентифицировать данные, содержащиеся в ней. Основными потребителями этих кодов являются статистические и контролирующие органы, которые могут проводить по ним аналитическую работу.
В настоящее время коды состоят из 4 цифр. Например, строка 1230 бухгалтерского баланса, бывшая строка 240, содержит в расшифровке дебиторскую задолженность. В данной строке показана сумма задолженности, которую имеют перед компанией ее партнеры, контрагенты и прочие взаимодействующие с ней лица в определенный промежуток времени.
Строка 230 тоже принадлежала к этой категории и отражала долги, которые могут быть погашены не ранее чем через 12 месяцев.
Коды строк бухгалтерского баланса содержат вполне определенную информацию:
- Первая цифра — это принадлежность именно к бухгалтерскому балансу, а не к другому документу.
- Вторая цифра обозначает принадлежность к определенному разделу актива.
- Третья цифра показывает место данного актива в ликвидном ранжире. Чем выше ликвидность, тем больше цифра.
- Четвертая цифра требуется для детализации строк. Тем самым выполняются требования, содержащиеся в ПБУ 4/99.
По аналогичному принципу выборочно опишем, какие коды соответствуют строкам, и приведем их краткую расшифровку. Отдельно укажем в таблице новые и старые коды, поскольку баланс надо составлять за 3 года, а 2 года назад еще действовали прежние значения кодов.
Скачать таблицу
Строки 1100 (190), 1150 (120), 1160, 1170 (140), 1180, 1190
В строке 1100 содержится информация о полной сумме внеоборотных активов предприятия. До смены приказа это была строка 190. Последующие 6 строк — это элементы, дающие в сумме значение данной строки.
Строка 1150 бухгалтерского баланса с расшифровкой соответствует прежней строке 120. В нее вносятся данные по основным средствам предприятия, имеющиеся на момент отчета.
В строке 1160 отражается информация о размере имеющихся на предприятии материальных ценностей, а также вложений, приносящих доход. Все данные учитываются на счете 03.
Строка 1170, бывшая 140, содержит данные об инвестиционных вложениях предприятия, если они осуществляются более чем на 12 месяцев. Учет ведется по дебету счетов 58 и 55, субсчет носит название «Депозиты».
Строка 1180 содержит отнесенные налоговые активы. Здесь указывается сальдо счета 09. В строку 1190 входят все внеоборотные активы, которые не упоминались выше.
Строки 1210 (210), 1220 (220), 1240 (250), 1250, 1260 и 1200 (290)
Прежняя строка 210 соответствует нынешней строке 1210 баланса, бухгалтерия вносит в нее данные по оставшимся запасам.
Строка 1220 бухгалтерского баланса в прежнем варианте — строка 220. Она должна содержать данные по НДС, который выставлен поставщиком, но до момента составления отчета не принят к вычету. По сути, это дебетовое сальдо счета 19.
Строка 1240 бухгалтерского баланса с расшифровкой ранее была строкой 250. В ней отражаются инвестиции, срок которых не достигает года.
Строка 1250 — это денежные активы компании в национальной, иностранной валюте, а также других ресурсах. Имеются в виду счета 50, 51, 52 и 55.
Строка 1260 содержит все иные активы, которые не нашли места в вышеприведенных строках раздела.
Строка 1200 в прежней редакции формы была строкой 290 бухгалтерского баланса. Здесь отражаются итоговые результаты по разделу 2.
Бывает ли строка 12605 в балансе
Если предприятие считает необходимым дополнительно раскрыть информацию по какой-то общей строке, например 1260, ему представлена возможность дополнить баланс детализирующей строкой, например 12605 «Расходы будущих периодов».
Строка 1600 (300)
Вместо строки 300 старой формы присутствует строка 1600, в которой показан результат сложения строк 1100 и 1200. Иначе говоря, это баланс данного раздела.
Строки 1360, 1370 (470) со строками 1300 (490)
Строка 1360 содержит суммарное значение резервного капитала.
Строка 1370 — ранее строка 470. Она содержит данные о прибыли, которая еще не распределялась.
Строка 1300 соответствует прежней строке 490 бухгалтерского баланса. Сюда сводятся все данные по разделу 3, посвященному капиталу предприятия.
Строки 1410, 1420 и 1400 (590)
Со строки 1410 начинается раздел, посвященный долгосрочным пассивам. В нем указываются заемные средства, срок которых более чем 12 месяцев. Учет ведется на счете 67.
Строка 1420 содержит отнесенные налоговые пассивы. Данные берутся из кредита счета 77.
Все данные по строкам, начинающимся с 14, сводятся в строку 1400 (ранее строку 590).
Строки 1510 (610), 1520 (620), 1530, 1540, 1550 и 1500 с расшифровкой
В прежней редакции формы строка 1510 бухгалтерского баланса с расшифровкой была строкой 610 бухгалтерского баланса. Она содержит информацию о заемных средствах краткосрочного характера (счета 66 и 67).
Строка 1520 бухгалтерского баланса с расшифровкой до 2015 года была строкой 620. В ней отражается краткосрочная задолженность перед партнерами, персоналом и пр. Строка 1530 содержит сальдо счета 98.
Строка 1540 — это пассивы, отражаемые по кредиту счета 96, срок которых менее 12 месяцев.
Строка 1550 — это все иные обязательства, не нашедшие отражения в предыдущих строках.
Строка 1500 содержит итоговый результат по разделу 4.
Строка 1700 (700)В прежнем варианте это строка 700 бухгалтерского баланса. Здесь содержится результат сложения всех строк по пассивам: 1300 + 1400 + 1500.
Стр. 2110 и прочие бухгалтерского баланса формы 2
Строки, начинающиеся с цифры 2, в частности 2110 «Выручка», относятся к форме 2 бухбаланса. Ранее она была известна как отчет о прибылях и убытках.
Таблица расшифровки ключей| Скачать таблицу
Исходная публикация
В связи с критическим развитием технологий, безопасность данных в сети и Интернете достигла огромного значения сегодня, и достижение хорошей безопасности всегда говорит о наличии хорошего метода безопасности. Следовательно, существует потребность в лучшем методе безопасности с большей эффективностью, чтобы повысить безопасность и подлинность, а также повысить эффективность …
Облачные вычисления облегчают бизнес, храня огромное количество данных в облаке, передаваемых через Интернет, с беспрепятственным доступом к данные и отсутствие ограничений совместимости оборудования.Однако данные во время передачи уязвимы для человека в середине, известного открытого текста, выбранного зашифрованного текста, связанного ключа и атаки загрязнения. Таким образом, вы …
Недавний рост сетевых мультимедийных систем увеличил потребность в защите цифровых носителей. Безопасность мультимедиа — это форма защиты на основе контента. Контент может состоять из нескольких форм мультимедиа, таких как аудио, изображение, видео, текст и графика в различных цифровых форматах. Многие подходы доступны для профессионалов…
Данные стали очень важны не только для частных лиц, но и для организаций. Безопасность данных — это самая большая проблема, с которой мы заботимся в настоящее время. Недавние успешные взломы и утечки данных, безусловно, сыграли важную роль в развитии технологий, связанных с безопасностью данных. Криптография — это хорошо зарекомендовавший себя метод, гарантирующий, что …
С изменением времени информация имеет решающее значение сегодня, особенно для технологических разработок, особенно в системах защиты данных.В обеспечении безопасности данных в ее развитии находится отрасль науки, а именно криптография. Классическая криптография, поскольку шифр vigenere — это алгоритм шифрования, реализация очень проста, но бросить …
Криптография — это метод защиты данных с использованием алгоритмов, которые непрерывно разрабатывались до сих пор. Криптография предлагает безопасность в форме конфиденциальности данных, например, конфиденциальность данных, созданных с помощью алгоритмов шифрования, которые шифруют личную информацию, чтобы ее не могли прочитать или решить неавторизованные стороны….
… Chandra et al. [3] , предложил алгоритм двойного шифрования, основанный на содержании, посредством криптографии с симметричным ключом. В процессе шифрования алгоритм использует промежуточные операции, такие как двоичное сложение, сворачивание и сдвиг. …
Конфиденциальность данных требуется, когда они передаются по незащищенной сети, например, при передаче электронной почты с использованием Pretty Good Privacy (PGP), передаче изображений и т. Д. Предлагаемый симметричный криптографический алгоритм подходит для такой передачи данных.Ряд других алгоритмов может быть сформулирован путем объединения существующих алгоритмов для включения алгоритмов в соответствующие приложения. Модифицированный алгоритм генерации сеансового ключа представляет собой комбинацию аффинного шифра и шифра холма. Систематическое исследование алгоритма с симметричным ключом, состоящего из нескольких ключей с регулярной зависимостью, было проведено, чтобы показать эффективность. Анализ защищенности предложенного алгоритма выявляет слабые места алгоритма.
… Здесь автор говорит, что лучший метод защиты обеспечивает хорошую безопасность и эффективно снижает вычислительную сложность [6] .В этой статье авторы реализовали алгоритм, основанный на содержании, который следует известному методу криптографии с симметричным ключом. …
Аннотация — Киберпреступность и утечка данных в современном мире растут экспоненциально. В этом сценарии важно, чтобы любая организация должна иметь надежный метод передачи конфиденциальных данных через Интернет. Основная цель это исследование направлено на разработку полностью безопасного и надежного приложения, которое позволит организации распространять электронные документы через Интернет в подчиненные им органы.Настоящее исследование реализуется в университете для распространения экзаменационные листы для своих дочерних колледжей и экзаменационных центров во время экзаменационного сезона с использованием сейфа, безопасное и надежное приложение. В этом приложении предлагается три уровня техники безопасности. Документы могут быть отправляются в несколько центров одновременно и защищены с помощью технологии Advanced Encryption Standard. Это приложение включает в себя модуль автоматизированного интерфейса, который используется для шифрования документов в университете, а затем их дешифрования в экзаменационный центр.Эта система также обеспечивает функцию планирования процесса распространения документов. Эта система использует методы шифрования RSA и AES и алгоритм хеширования SHA-512 для обеспечения безопасности, а также конфиденциальности документов для уменьшения угроз злоумышленников и сохранения конфиденциальности этой системы. В существующей традиционной системе доставки Доставка вопросника из университета в режиме реального времени является сложной задачей из-за вовлечения логистики и отсутствия прослеживаемость. Благодаря эмпирическому анализу существующей традиционной системы доставки предлагаемая система устраняет риск утечки данных и даже влияет на финансовый уровень за счет использования упреждающих и прагматических методов, направленных на обеспечение безопасности и последовательность.
… Та же атака показала 25% успеха при использовании внеполосной аутентификации. Более того, сообщалось об увеличении количества атак с использованием этого метода, с двадцатью двумя (22) случаями такой атаки в Китае в так называемой атаке с пересылкой кода подтверждения или VCFA [8] [10]. Для дальнейшего усиления защиты от ненадежной среды использовалась криптография, чтобы сделать информацию неразборчивой [11] [12] [13] [14] и способствовать более безопасному виртуальному миру [15] [16]….
… Он также очень подходит для многопользовательских приложений, таких как многофакторная внеполосная аутентификация. Однако, поскольку симметричные алгоритмы, такие как Blowfish, требуют одного и того же ключа для шифрования и дешифрования, секретность и размер секретного ключа являются единственными средствами защиты [2] [20] [22] . Этот документ будет защищать OTP для многофакторной внеполосной аутентификации с помощью альтернативного подхода доставки OTP и шифрования с использованием 128-битного алгоритма Blowfish….
Аутентификация и криптография использовались для решения проблем безопасности в различных онлайн-сервисах. Однако исследования показали, что даже наиболее часто используемый многофакторный механизм внеполосной аутентификации уязвим для атак, в то время как традиционные криптоалгоритмы имеют недостатки. В настоящем исследовании представлена инновационная модификация криптографического алгоритма Blowfish, которая использует сильные стороны алгоритма, но поддерживает 128-битный размер входного блока с использованием метода шифрования с динамическим выбором и сокращения выполнения шифровальных функций за счет случайно определенных раундов.Результаты экспериментов с 128-битным входным текстом показали значительное улучшение производительности: максимум 5,91% с точки зрения лавинного эффекта, 38,97% с точки зрения целостности и 41,02% с точки зрения времени выполнения. Модификация обеспечила дополнительный уровень безопасности, таким образом, отображая более высокую сложность и более сильное распространение при более быстром времени выполнения, что сделало ее более устойчивой к атакам неавторизованных сторон и желательной для использования в приложениях с несколькими пользователями соответственно. Это хороший вклад в непрерывные разработки в области информационной безопасности, особенно в криптографии, и в обеспечение безопасного OTP для многофакторной внеполосной аутентификации.
… В 2015 году Сураб Чандра и Бидиша Мандалб предложили двойное шифрование [2] , который представляет собой алгоритм на основе содержимого, который реализует метод сворачивания и циклическую побитовую операцию. В этом методе шифрование открытого текста происходит дважды с рис. 2 Обзор наиболее распространенного алгоритма шифрования [1] Традиционные и гибридные методы шифрования: секретный ключ обзора, обеспечивающий зашифрованный текст с помощью операции циклического побитового двоичного сложения. …
Информационная безопасность — это процесс, который защищает ее доступность, конфиденциальность и целостность.Доступ к информации, хранящейся в компьютерных базах данных, в настоящее время увеличился. Большинство компаний хранят деловую и индивидуальную информацию на компьютере. Большая часть хранимой информации является строго конфиденциальной и не подлежит разглашению. Шифрование данных — это наиболее традиционный метод защиты конфиденциальной информации с помощью некоторого обычного алгоритма, который уже существует или написан заранее. Самая мощная часть техники шифрования — это генерация ключей, которая состоит из двух частей: генерация симметричного ключа и генерация асимметричного ключа.В наши дни хакеры могут легко взломать ключ с помощью современных высокопроизводительных вычислительных машин. Текущая потребность — это надежно зашифрованные данные, которые нельзя расшифровать с помощью криптоанализа. В представленном документе обсуждаются некоторые традиционные, а также современные методы гибридного шифрования, а также квантовый подход, такой как RSA на основе ECC с AVK, DES-RSA, особая кубическая кривая на основе RSA, JCE, техника трехмерных хаотических карт, Blowfish.
… • Если цифра случайного числа равна 0, то после преобразования в двоичное число и сдвига влево на основе имеющегося числа 1 цифра все равно будет 0 6.• Шифрованный текст пробела всегда будет одинаковым (например, # — это зашифрованный текст для всех пробелов) 6 . …
Данная статья направлена на решение проблем существующей техники алгоритма двойного шифрования на основе контента с использованием криптографии с симметричным ключом. Простое двоичное сложение, метод сворачивания и логическая операция XOR используются для шифрования содержимого открытого текста, а также секретного ключа. Этот алгоритм помогает обеспечить безопасную передачу данных по сети. Он решил проблемы существующего алгоритма и предлагает лучшее решение.Открытый текст шифруется с использованием вышеуказанных методов и создает зашифрованный текст. Секретный ключ зашифрован и передается через защищенную сеть, и, не зная секретный ключ, трудно расшифровать текст. Как и ожидалось, улучшенный алгоритм шифрования дает лучший результат, чем существующий алгоритм шифрования.
… Наряду с существующими методами, такими как LSB, схемы управления компоновкой и замена только l или только нулей, также доступны некоторые другие методы, такие как замена промежуточного бита, принцип растрового сканирования, принцип случайного сканирования, скрытие данных на основе цвета и скрытие данных на основе формы. предложил.Эти новые методы основаны на случайном выборе пикселей для сокрытия данных с учетом многих параметров изображения, таких как физическое местоположение и значение интенсивности пикселя и т. Д. Sourabh Chandra et al. [6] предложил алгоритм шифрования с симметричным ключом, основанный на содержании. Этот алгоритм включал в себя операцию двоичного сложения для шифрования простого текста, операцию циклического сдвига и метод сворачивания для обеспечения безопасности ключа. …
В наши дни информационная безопасность является серьезной проблемой, поскольку количество пользователей, пользующихся Интернетом, растет, а информация обменивается каждую секунду.Это также увеличило киберпреступность и угрозу передаваемой информации. Два важных метода, используемых для защиты информации, — это стеганография и криптография. Кодирование секретного теста в другую форму называется криптографией и, по сути, является секретной записью; с другой стороны, стеганография скрывает данные. В этой статье представлен гибридный метод, объединяющий свойства криптографии, сжатия и стеганографии. Предлагаемый алгоритм работает в пространственной области, которая также эффективно использует пространство.
Объем данных стремительно увеличивается. Благодаря обновленной технологии использование необработанных данных в качестве частицы для совместного использования в различных сетях стало частью бизнес-процедуры. Следовательно, одна бизнес-организация должна включить соответствующие ограничения на данные и реализовать надлежащий алгоритм безопасности, который будет полезен для защиты их данных в такой конкурентной среде. В этом контексте полезны криптографические алгоритмы. Мы предложили криптографический алгоритм, который обеспечивает безопасность и аутентичность, а также часть проверки на четность в двух измерениях, которая гарантирует, что расшифровываемое сообщение будет изначально измененным форматом данного открытого текста и не было подделано во время перемещения по сети.Здесь простой текст разбивается на несколько блоков равного размера (8 бит) и применяется операция шифрования к каждому блоку.
Безопасность информации — первоочередная задача в современном мире, и криптография — одно из решений. Для повышения достоверности и конфиденциальности данных ведется постоянное развитие криптографии с более высокой эффективностью. В этом продолжении мы предлагаем алгоритм шифрования с симметричным ключом 16-байтового блочного шифра, который подходит для различных типов и размеров текстовых данных.Изюминкой предложенного алгоритма является использование логической операции (XOR и циклический сдвиг). Эксперименты показывают, что предложенный алгоритм безопасен, прост и труден для взлома.
Криптография — это процесс превращения чего-то читаемого в нечитаемое. В настоящее время люди используют Интернет для электронного обмена информацией. Быстрый рост Интернета увеличил количество электронных транзакций, совершаемых пользователями Интернета. Информация, передаваемая через Интернет, является очень конфиденциальной, и ее необходимо защитить от несанкционированного доступа, что привело к необходимости криптографии.В этой статье был предложен инновационный метод, в котором три симметричных ключа были сгенерированы посредством процесса рандомизации и использованы для шифрования и дешифрования. В процессе шифрования использовалась комбинация трех случайных ключей, что делает эту технику нерушимой и защищенной от атак грубой силы и других подобных атак. Этот метод генерирует разные-разные зашифрованные тексты каждый раз для одного и того же сообщения, что также обеспечивает защиту от различных криптоаналитических атак.Этот метод можно использовать для шифрования и дешифрования буквенно-цифровых данных за миллисекунды, что делает метод более эффективным.
Обзор шифрования SQL Server на уровне столбца
В этой статье дается обзор шифрования SQL Server на уровне столбцов на примерах.
Введение
Безопасность данных — важная задача для любой организации, особенно если вы храните личные данные клиентов, такие как Контактный номер клиента, адрес электронной почты, номер социального страхования, номера банков и кредитных карт.Наша основная цель — защитить от несанкционированного доступа к данным внутри организации и за ее пределами. Чтобы добиться этого, мы начинаем с предоставления доступа к соответствующим лицам. У нас все еще есть шанс, что эти уполномоченные лица также могут неправомерно использовать данные; поэтому SQL Server предоставляет решения для шифрования. Мы можем использовать это шифрование и защитить данные.
Это важный аспект при классификации данных на основе типа информации и конфиденциальности. Например, у нас может быть DOB клиента в столбце и в зависимости от требований, и мы должны классифицировать его как конфиденциальный, строго конфиденциальный.Подробнее об этом читайте в статье Классификация данных SQL — добавьте классификацию чувствительности в SQL Server 2019.
У нас есть много способов шифрования, доступных в SQL Server, таких как прозрачное шифрование данных (TDE), постоянное шифрование, статическое маскирование данных и динамическое маскирование данных. В этой статье мы рассмотрим шифрование SQL Server на уровне столбцов с использованием симметричных ключей.
Среда настроена
Давайте подготовим среду для этой статьи.
Создайте новую базу данных и создайте таблицу CustomerInfo
СОЗДАТЬ БАЗУ ДАННЫХ CustomerData;
Go
USE CustomerData;
GO
СОЗДАТЬ ТАБЛИЦУ CustomerData.dbo.CustomerInfo
(CustID INT PRIMARY KEY,
CustName VARCHAR (30) NOT NULL,
BankACCNumber VARCHAR (10) NOT NULL 9000);
ГО
Вставить образцы данных в таблицу CustomerInfo
Вставить в CustomerData.dbo.CustomerInfo (CustID, CustName, BankACCNumber)
Select 1, ‘Rajendra’, 11111111 UNION ALL
Select 2, ‘Manoj’, 22222222 UNION ALL
Select 3, ‘Shyam’, 33333333 UNION ALL
, ‘Акшита’, 44444444 UNION ALL
Select 5, ‘Кашиш’, 55555555
Просмотр записей в таблице CustomerInfo
Мы используем следующие шаги для шифрования на уровне столбца:
- Создать мастер-ключ базы данных
- Создать самозаверяющий сертификат для SQL Server
- Настроить симметричный ключ для шифрования
- Зашифровать данные столбца
- Запросить и проверить шифрование
Сначала мы воспользуемся этими шагами, а затем объясним общий процесс использования иерархии шифрования в SQL Server, используя следующее изображение (Ссылка — Microsoft Docs):
Создайте главный ключ базы данных для шифрования SQL Server на уровне столбца
На этом первом этапе мы определяем главный ключ базы данных и предоставляем пароль для его защиты.Это симметричный ключ для защиты закрытых ключей и асимметричных ключей. На приведенной выше диаграмме мы видим, что главный ключ службы защищает этот главный ключ базы данных. SQL Server создает этот главный ключ службы в процессе установки.
Мы используем CREATE MASTER KEY оператор для создания главного ключа базы данных:
USE CustomerData; GO СОЗДАТЬ ШИФРОВАНИЕ МАСТЕР-КЛЮЧА ПО ПАРОЛЮ = ‘SQLShack @ 1’; |
Мы можем использовать sys.Simric_keys представление каталога для проверки существования этого главного ключа базы данных в Шифрование SQL Server:
ВЫБРАТЬ имя KeyName, simric_key_id KeyID, key_length KeyLength, algorithm_desc KeyAlgorithm FROM sys.symmetric_keys; |
В выходных данных мы можем заметить, что он создает ## MS_DatabaseMasterKey ## с ключевым алгоритмом AES_256.SQL Server автоматически выбирает этот алгоритм и длину ключа:
Создание самозаверяющего сертификата для шифрования SQL Server на уровне столбца
На этом этапе мы создаем самозаверяющий сертификат с помощью оператора CREATE CERTIFICATE. Вы могли видеть это организация получает сертификат от центра сертификации и включается в свою инфраструктуру. В SQL Server мы можем использовать самозаверяющий сертификат без использования сертификата центра сертификации.
Выполните следующий запрос для создания сертификата:
USE CustomerData; GO СОЗДАТЬ СЕРТИФИКАТ Certificate_test WITH SUBJECT = «Защитить мои данные»; ГО |
Мы можем проверить сертификат, используя представление каталога sys.certificates :
ВЫБРАТЬ имя CertName, certificate_id CertID, pvt_key_encryption_type_desc EncryptType, Issuer_name Issuer FROM sys.сертификаты; |
В выводе мы можем отметить следующие поля:
- Тип шифрования: В этом столбце мы получаем значение ENCRYPTED_BY_MASTER_KEY, и это показывает, что SQL Server использует главный ключ базы данных, созданный на предыдущем шаге, и защищает этот сертификат.
- CertName : это имя сертификата, которое мы определили в операторе CREATE CERTIFICATE.
- Эмитент : У нас нет сертификата центра сертификации; поэтому он показывает предмет значение, которое мы определили в операторе CREATE CERTIFICATE
При желании мы можем использовать параметры ENCRYPTION BY PASSWORD и EXPIRY_DATE в СОЗДАТЬ СЕРТИФИКАТ; однако мы пропустим его в этой статье.
Настроить симметричный ключ для шифрования SQL Server на уровне столбца
На этом этапе мы определим симметричный ключ, который вы также можете увидеть в иерархии шифрования. Симметричный ключ также использует один ключ для шифрования и дешифрования. На изображении, опубликованном выше, мы видим симметричный ключ поверх данных. Для шифрования данных рекомендуется использовать симметричный ключ, так как мы получаем от него отличную производительность. Для шифрования столбцов мы используем многоуровневый подход, и он дает преимущество производительности симметричного ключа и безопасности асимметричного ключа.
Мы используем для него оператор CREATE SYMMETRIC KEY со следующими параметрами:
- АЛГОРИТМ: AES_256
- ШИФРОВАНИЕ ПО СЕРТИФИКАТУ: Это должно быть то же имя сертификата, которое мы указали ранее. с использованием оператора CREATE CERTIFICATE
СОЗДАТЬ СИММЕТРИЧЕСКИЙ КЛЮЧ SymKey_test С АЛГОРИТМОМ = AES_256 ШИФРОВАНИЕ ПО СЕРТИФИКАТУ Certificate_test; |
После того, как мы создали этот симметричный ключ, проверьте существующие ключи, используя представление каталога для уровня столбца SQL Server. Шифрование, как проверено ранее:
ВЫБРАТЬ имя KeyName, симметричный_key_id KeyID, key_length KeyLength, algorithm_desc KeyAlgorithm FROM sys.simric_keys; |
Теперь мы видим две ключевые записи, так как они включают как главный ключ базы данных, так и симметричный ключ:
В этой демонстрации мы создали необходимые ключи шифрования. Он имеет следующую настройку, которую вы можете видеть на изображении показано выше:
- При установке SQL Server создается служебный главный ключ (SMK) и API защиты данных операционной системы Windows. (DPAPI) защищает этот ключ
- Этот мастер-ключ службы (SMK) защищает главный ключ базы данных (DMK).
- Главный ключ базы данных (DMK) защищает самозаверяющий сертификат.
- Этот сертификат защищает симметричный ключ.
Шифрование данных
Тип данных зашифрованного столбца SQL Server должен быть VARBINARY .В нашем CustomerData table тип данных столбца BankACCNumber — Varchar (10). Давайте добавим новый столбец VARBINARY (max) тип данных с помощью оператора ALTER TABLE, указанного ниже:
ИЗМЕНИТЬ ТАБЛИЦУ CustomerData.dbo.CustomerInfo ADD BankACCNumber_encrypt varbinary (MAX) |
Давайте зашифруем данные в этом недавно добавленном столбце.
В окне запроса откройте симметричный ключ и расшифруйте его с помощью сертификата. Нам нужно использовать тот же симметричный ключ и имя сертификата, которые мы создали ранее
ОТКРЫТЫЙ СИММЕТРИЧЕСКИЙ КЛЮЧ SymKey_test
РАСШИФРОВКА ПО СЕРТИФИКАТУ Certificate_test;
В том же сеансе используйте следующий оператор UPDATE.Он использует функцию EncryptByKey и использует симметричная функция для шифрования столбца BankACCNumber и обновляет значения в вновь созданный BankACCNumber_encrypt column
ОБНОВЛЕНИЕ CustomerData.dbo.CustomerInfo
SET BankACCNumber_encrypt = EncryptByKey (Key_GUID (‘SymKey_test’), BankACCNumber)
ИЗ CustomerData.dbo.CustomerInfo;
ГО
Закройте симметричный ключ с помощью оператора CLOSE SYMMETRIC KEY . Если мы не закроем ключ, он остается открытым до завершения сеанса
ЗАКРЫТЬ СИММЕТРИЧЕСКИЙ КЛЮЧ SymKey_test;
ГО
- Проверьте записи в таблице CustomerInfo
Мы можем видеть зашифрованные записи во вновь добавленном столбце.Если пользователь также имеет доступ к этой таблице, он не может понимать данные, не расшифровывая их:
Удалим также старый столбец:
ИЗМЕНИТЬ ТАБЛИЦУ CustomerData.dbo.CustomerInfo DROP COLUMN BankACCNumber; ГО |
Теперь у нас есть только зашифрованное значение номера банковского счета:
Расшифровать данные шифрования SQL Server на уровне столбца
Для расшифровки зашифрованных данных на уровне столбцов нам необходимо выполнить следующие команды:
В окне запроса откройте симметричный ключ и расшифруйте его с помощью сертификата.Нам нужно использовать тот же симметричный ключ и имя сертификата, которые мы создали ранее
ОТКРЫТЫЙ СИММЕТРИЧЕСКИЙ КЛЮЧ SymKey_test
РАСШИФРОВКА ПО СЕРТИФИКАТУ Certificate_test;
Используйте оператор SELECT и расшифруйте зашифрованные данные с помощью функции DecryptByKey ()
SELECT CustID, CustName, BankACCNumber_encrypt AS ‘Зашифрованные данные’,
CONVERT (varchar, DecryptByKey (BankACCNumber_encrypt)) AS ‘Расшифрованный номер банковского счета’
FROM CustomerData.dbo.CustomerInfo;
На следующем снимке экрана мы видим как зашифрованные, так и расшифрованные данные:
Разрешения, необходимые для расшифровки данных
Пользователь с разрешением на чтение не может расшифровать данные с помощью симметричного ключа. Давайте смоделируем проблему. Для этого мы создаст пользователя и предоставит разрешения db_datareader для базы данных CustomerData :
ИСПОЛЬЗОВАТЬ [master] GO СОЗДАТЬ ВХОД [SQLShack] С ПАРОЛЕМ = N’sqlshack ‘, DEFAULT_DATABASE = [CustomerData], CHECK_EXPIRATION = OFF, CHECK_POLICY = OFF GO CustomerGO USСОЗДАТЬ ПОЛЬЗОВАТЕЛЯ [SQLShack] ДЛЯ ВХОДА [SQLShack] GO ИСПОЛЬЗОВАТЬ [CustomerData] GO ИЗМЕНИТЬ РОЛЬ [db_datareader] ДОБАВИТЬ УЧАСТНИКА [SQLShack] GO |
Теперь подключитесь к SSMS с помощью пользователя SQLShack и выполните запрос, чтобы выбрать запись с расшифровкой. BankACCNumber_encrypt столбец:
ОТКРЫТЫЙ СИММЕТРИЧЕСКИЙ КЛЮЧ SymKey_test РАСШИФРОВКА ПО СЕРТИФИКАТУ Certificate_test; SELECT CustID, CustName, BankACCNumber_encrypt AS ‘Зашифрованные данные’, CONVERT (varchar, DecryptByKey (BankACCNumber_encrypt)) AS ‘Расшифрованный номер банковского счета’ FROM CustomerData.dbo.CustomerInfo; |
В выходном сообщении мы получаем сообщение о том, что симметричный ключ не существует или у пользователя нет разрешение на его использование:
Нажмите на результаты, и мы получим значения NULL в расшифрованном столбце, как показано ниже:
Мы можем предоставить разрешения для Симметричного ключа и Сертификата:
- Разрешение симметричного ключа : GRANT VIEW DEFINITION
- Разрешение на сертификат: GRANT VIEW DEFINITION и GRANT CONTROL разрешения
Выполните эти сценарии с учетной записью пользователя с правами администратора:
ОПРЕДЕЛЕНИЕ ПРЕДОСТАВЛЕНИЯ ПРОСМОТРА НА СИММЕТРИЧНОМ КЛЮЧЕ :: SymKey_test TO SQLShack; GO ОПРЕДЕЛЕНИЕ ПРЕДОСТАВЛЕНИЯ ПРОСМОТРА сертификата :: [Certificate_test] TO SQLShack; GO GRANT CONTROL ON Certificate :: [Certificate_test] TO SQLShack; |
Теперь вернитесь и повторно выполните инструкцию SELECT:
Заключение
В этой статье мы исследовали шифрование SQL Server на уровне столбцов с использованием симметричного ключа.Мы можем использовать тот же ключ для шифрования других столбцов таблицы. Вам следует изучить механизм шифрования и дешифрования; тем не менее, вы должны сначала рассмотреть требования, а затем подумать о соответствующем механизме шифрования в соответствии с вашими потребностями.
Как сертифицированный MCSA и сертифицированный инструктор Microsoft в Гургаоне, Индия, с 13-летним опытом работы, Раджендра работает в различных крупных компаниях, специализируясь на оптимизации производительности, мониторинге, высокой доступности и стратегиях и внедрении аварийного восстановления.Он является автором сотен авторитетных статей о SQL Server, Azure, MySQL, Linux, Power BI, настройке производительности, AWS / Amazon RDS, Git и связанных технологиях, которые на сегодняшний день просмотрели более 10 миллионов читателей.Он является создателем одного из крупнейших бесплатных онлайн-сборников статей по одной теме с его серией из 50 статей о группах доступности SQL Server Always On. За свой вклад в сообщество SQL Server он постоянно удостаивался различных наград, включая престижную награду «Лучший автор года» в 2020 и 2021 годах на SQLShack.
Радж всегда интересуется новыми проблемами, поэтому, если вам нужна консультация по любому вопросу, затронутому в его трудах, с ним можно связаться по адресу [email protected]
Просмотреть все сообщения Раджендры Гупты
Последние сообщения Раджендры Гупты ( увидеть все)Как Amazon DynamoDB использует AWS KMS
Amazon DynamoDB — это полностью управляемый, масштабируемый Служба базы данных NoSQL.DynamoDB интегрируется с AWS Key Management Service (AWS KMS) для поддержки шифрования в состоянии покоя шифрование на стороне сервера характерная черта.
С шифрованием в состоянии покоя DynamoDB осуществляет прозрачное шифрование все данные о клиентах в таблице DynamoDB, включая его первичный ключ, а также локальные и глобальные вторичные индексы, когда таблица сохраняется на диске.(Если в вашей таблице есть сортировка key, некоторые ключи сортировки, которые отмечают границы диапазона, хранятся в виде открытого текста в Таблица метаданные.) Когда вы обращаетесь к своей таблице, DynamoDB прозрачно расшифровывает данные таблицы. Ты не необходимо изменить свои приложения для использования или управления зашифрованными таблицами.
Шифрование в состоянии покоя также защищает DynamoDB потоки, глобальные таблицы и резервные копии всякий раз, когда эти объекты сохраняются в прочный носитель.Утверждения о таблицах в этом разделе применимы и к этим объектам.
Все таблицы DynamoDB зашифрованы. Нет возможности включить или отключить шифрование для новых или существующие таблицы. По умолчанию все таблицы зашифрованы с использованием главного ключа клиента (CMK), принадлежащего AWS, в сервисном аккаунте DynamoDB. Однако вы можете выберите вариант шифрования некоторых или всех таблиц с помощью CMK, управляемого клиентом, или CMK, управляемого AWS для DynamoDB в вашем аккаунте.
До ноября 2018 г. шифрование в состоянии покоя было дополнительной функцией, которая поддерживала только то AWS управляет CMK для DynamoDB. Если вы включили шифрование в состоянии покоя на любом из ваших DynamoDB столы они будут по-прежнему зашифрованы с помощью CMK, управляемого AWS, если вы не используете AWS Консоль управления или Операция UpdateTable для переключения на CMK, управляемый клиентом, или CMK, принадлежащий AWS.
Шифрование на стороне клиента для DynamoDB
В дополнение к шифрованию в состоянии покоя, которое является на стороне сервера функция шифрования , AWS предоставляет Amazon DynamoDB Клиент шифрования. Это шифрование на стороне клиента библиотека позволяет защитить данные таблицы перед их отправкой в DynamoDB.С участием шифрование на стороне сервера, ваши данные шифруются при передаче по HTTPS-соединению, расшифрован в конечную точку DynamoDB, а затем повторно зашифровать перед сохранением в DynamoDB. Сторона клиента шифрование обеспечивает сквозную защиту ваших данных от источника до хранилища в DynamoDB.
Вы можете использовать клиент шифрования DynamoDB вместе с шифрованием в состоянии покоя. Помогать вы решаете, если эта стратегия правильно ваши данные DynamoDB, см. Клиентская сторона или Шифрование на стороне сервера? в Amazon DynamoDB Encryption Client Developer Справочник .
Использование CMK и ключей данных
Функция шифрования DynamoDB в состоянии покоя использует главный ключ клиента AWS KMS (CMK). и иерархия ключей данных для защиты данных вашей таблицы. DynamoDB использует ту же иерархию ключей к защищать потоки DynamoDB, глобальные таблицы и резервные копии, когда они записываются на долговечные СМИ.
- Главный ключ клиента (CMK)
Шифрование в состоянии покоя защищает ваши таблицы DynamoDB под управлением клиента AWS KMS ключ (CMK).От по умолчанию DynamoDB использует CMK, принадлежащий AWS, ключ многопользовательского шифрования, который создается и управляется в учетной записи службы DynamoDB. Но вы можете зашифровать свои таблицы DynamoDB под управлением клиента CMK или CMK, управляемый AWS для DynamoDB (
aws / Dynamodb
) в вашей учетной записи AWS.Вы можете выбрать другой CMK для каждой таблицы. CMK, который вы выбираете для таблицы, также используется для шифрования ее локального и глобальные вторичные индексы, потоки и резервные копии.Вы выбираете CMK для таблицы при создании или обновлении таблицы. Ты можешь измениться CMK для таблицы в любое время либо в консоли DynamoDB, либо с помощью операции UpdateTable.Процесс переключение ключей происходит легко и не требует простоев или ухудшения качества обслуживания.
Используйте CMK, управляемый клиентом, чтобы получить следующие функции:
Используйте CMK, управляемый AWS, если вам нужны какие-либо из следующих функций:
Однако CMK, принадлежащий AWS, предоставляется бесплатно, и его использование не засчитывается Ресурс AWS KMS или квоты запроса.CMK, управляемые клиентом и за CMK, управляемые AWS, взимается плата для каждого вызова API и квоты AWS KMS применяются к этим CMK.
- Клавиши стола
DynamoDB использует CMK для таблицы для создания и шифрования уникального ключа данных для таблицы, известного как ключ таблицы .Ключ таблицы сохраняется в течение всего времени существования зашифрованной таблицы.
Ключ таблицы используется как ключ шифрования. DynamoDB использует этот ключ таблицы для защиты ключи шифрования данных, которые используются для шифрования данных таблицы. DynamoDB создает уникальный ключ шифрования данных для каждой базовой структуры в таблице, но для нескольких элементов таблицы могут быть защищены тем же ключом шифрования данных.
При первом доступе к зашифрованной таблице DynamoDB отправляет запрос в AWS KMS для использования то CMK для расшифровки ключа таблицы. Затем он использует ключ таблицы открытого текста для расшифровки данные ключи шифрования и использует ключи шифрования данных открытого текста для дешифрования таблицы данные.
DynamoDB генерирует, использует и хранит ключ таблицы и ключи шифрования данных вне из AWS KMS. Он защищает все ключи с помощью Advanced Encryption Стандартное (AES) шифрование и 256-битные ключи шифрования. Затем он сохраняет зашифрованные ключи с зашифрованными данными, чтобы они были доступны для расшифровки таблицы данные по запросу, по требованию.
Если вы измените CMK для своей таблицы, DynamoDB сгенерирует новый ключ таблицы. Затем это использует новый ключ таблицы для повторного шифрования ключей шифрования данных.
- Кэширование ключей таблицы
Чтобы избежать вызова AWS KMS для каждой операции DynamoDB, DynamoDB кэширует открытый текст. Таблица ключи для каждого соединения в памяти.Если DynamoDB получает запрос на кешированную таблицу ключ после пяти минут бездействия он отправляет новый запрос в AWS KMS для расшифровки Таблица ключ. Этот вызов фиксирует любые изменения, внесенные в политику доступа CMK в AWS KMS или AWS Identity and Access Management (IAM) с момента последнего запроса на расшифровку ключ таблицы.
Разрешение на использование CMK
Если вы используете CMK, управляемый клиентом, или CMK, управляемый AWS, в своей учетной записи для защиты DynamoDB table, политики этого CMK должны давать DynamoDB разрешение использовать его от вашего имени.В контекст авторизации в CMK, управляемом AWS для DynamoDB, включает его ключевую политику и гранты которые делегируют разрешения на его использование.
У вас есть полный контроль над политиками и грантами в CMK, управляемом клиентом. Так как то CMK, управляемый AWS, находится в вашем аккаунте, вы можете просматривать его политики и гранты.Но потому что это под управлением AWS, вы не можете изменить политики.
DynamoDB не требует дополнительной авторизации, чтобы использовать CMK по умолчанию, принадлежащий AWS, для защиты таблиц DynamoDB в вашем AWS. учетная запись.
Политика ключей CMK, управляемая AWS
Когда DynamoDB использует CMK, управляемый AWS, для DynamoDB
( aws / Dynamodb
) в криптографических операциях, он делает это от имени пользователя.
кто обращается к DynamoDB
ресурс.Ключевая политика CMK, управляемого AWS, дает всем пользователям учетной записи
разрешение на использование CMK, управляемого AWS, для указанных операций. Но разрешение
предоставляется
только когда DynamoDB делает запрос от имени пользователя. Условие ViaService в ключевой политике не
разрешить любому пользователю использовать CMK, управляемый AWS, если запрос не исходит от DynamoDB
услуга.
Эта политика ключей, как и политики всех ключей, управляемых AWS, устанавливается AWS. Вы не можете его изменить, но можете просмотреть в любое время. Дополнительные сведения см. В разделе «Просмотр ключевой политики».
Положения политики в ключевой политике имеют следующий эффект:
Разрешить пользователям учетной записи использовать управляемый AWS CMK для DynamoDB в криптографической операции, когда запрос приходит от DynamoDB от их имени.Политика также позволяет пользователям создавать гранты для CMK.
Позволяет пользователю root учетной записи AWS просматривать свойства CMK, управляемого AWS. для DynamoDB и отозвать грант что позволяет DynamoDB использовать CMK.DynamoDB использует гранты для текущего обслуживания.
Позволяет DynamoDB выполнять операции только для чтения, чтобы найти CMK, управляемый AWS для DynamoDB в вашем аккаунте.
{
«Версия»: «2012-10-17»,
"Id": "auto-Dynamodb-1",
"Заявление" : [ {
«Sid»: «Разрешить доступ через Amazon DynamoDB для всех участников учетной записи, которым разрешено использовать Amazon DynamoDB»,
«Эффект»: «Разрешить»,
"Главный" : {
"AWS": "*"
},
«Действие»: [«kms: Encrypt», «kms: Decrypt», «kms: ReEncrypt *», «kms: GenerateDataKey *», «kms: CreateGrant», «kms: DescribeKey»],
"Ресурс": "*",
"Условие" : {
"StringEquals": {
«кмс: CallerAccount»: «111122223333»,
«кмс: ViaService»: «динамодб.us-west-2.amazonaws.com "
}
}
}, {
"Sid": "Разрешить прямой доступ к ключевым метаданным учетной записи",
«Эффект»: «Разрешить»,
"Главный" : {
"AWS": "arn: aws: iam :: 111122223333: root"
},
«Действие»: [«кмс: описать *», «кмс: получить *», «кмс: список *», «кмс: RevokeGrant»],
«Ресурс»: «*»
}, {
"Sid": "Разрешить службе DynamoDB с именем участника службы Dynamodb.amazonaws.com напрямую описывать ключ",
«Эффект»: «Разрешить»,
"Главный" : {
"Сервис": "динамодб.amazonaws.com "
},
"Действие": ["км: описать *", "км: получить *", "км: список *"],
«Ресурс»: «*»
}]
}
Политика ключей CMK, управляемая клиентом
Когда вы выбираете CMK, управляемый клиентом, для защиты Таблица DynamoDB, DynamoDB получает разрешение на использование CMK от имени участника. кто делает выбор.Этот участник, пользователь или роль, должен иметь разрешения на CMK, которые DynamoDB требует. Вы можете предоставить эти разрешения в ключе политика, политика IAM или грант.
Как минимум DynamoDB требует следующих разрешений для CMK, управляемого клиентом:
Например, следующий пример ключевой политики предоставляет только необходимые разрешения.В Политика имеет следующие эффекты:
Позволяет DynamoDB использовать CMK в криптографических операциях и создавать гранты, но Только когда он действует от имени участников учетной записи, у которых есть разрешение на использование DynamoDB.Если участники, указанные в заявлении политики, не имеют разрешения на использование DynamoDB, вызов не выполняется, даже если он поступает из службы DynamoDB.
кмс: ключ состояния ViaService разрешает разрешения только тогда, когда запрос исходит от DynamoDB от имени руководители перечислено в заявлении о политике.Эти участники не могут вызывать эти операции напрямую. Обратите внимание, что
км: значение ViaService
,динамодб. * .amazonaws.com
, имеет звездочку (*) в позиции региона. DynamoDB требует разрешения быть независимым от какого-либо конкретного региона AWS, чтобы он мог межрегиональные вызовы для поддержки DynamoDB global столы.Предоставляет администраторам CMK (пользователям, которые могут взять на себя роль
db-team
) доступ только для чтения к CMK и разрешение на отзыв грантов, включая гранты, необходимые DynamoDB для защиты таблицы.Предоставляет DynamoDB доступ только для чтения к CMK. В этом случае DynamoDB может называть эти операции напрямую. Он не должен действовать от имени принципала счета.
Перед использованием примера ключевой политики замените примеры принципалов фактическими принципалами. из вашего аккаунта AWS.
{
"Id": "key-policy-Dynamodb",
«Версия»: «2012-10-17»,
"Заявление": [
{
«Sid»: «Разрешить доступ через Amazon DynamoDB для всех участников учетной записи, которым разрешено использовать Amazon DynamoDB»,
«Эффект»: «Разрешить»,
"Принципал": {"AWS": " arn: aws: iam :: 111122223333: user / db-lead
"},
"Действие": [
"кмс: шифрование",
"кмс: расшифровать",
"кмс: ReEncrypt *",
"kms: GenerateDataKey *",
"kms: DescribeKey",
"кмс: CreateGrant"
],
"Ресурс": "*",
"Условие": {
"StringLike": {
«кмс: ViaService»: «динамодб.* .amazonaws.com "
}
}
},
{
"Sid": "Разрешить администраторам просматривать CMK и отзывать гранты",
«Эффект»: «Разрешить»,
"Главный": {
"AWS": " arn: aws: iam :: 111122223333: role / db-team
"
},
"Действие": [
"км: описать *",
"кмс: Получить *",
"км: Список *",
"кмс: RevokeGrant"
],
«Ресурс»: «*»
},
{
"Sid": "Разрешить DynamoDB получать информацию о CMK",
«Эффект»: «Разрешить»,
"Главный": {
"Сервис": ["динамодб.amazonaws.com "]
},
"Действие": [
"км: описать *",
"кмс: Получить *",
«км: список *»
],
«Ресурс»: «*»
}
]
}
Использование грантов для авторизации DynamoDB
В дополнение к ключевым политикам DynamoDB использует гранты для установки разрешений для клиента. удалось CMK или управляемый AWS CMK для DynamoDB (aws / Dynamodb).Для просмотра грантов на CMK в твоей учетной записи используйте операцию ListGrants. DynamoDB не нужны гранты или какие-либо дополнительные разрешения, чтобы использовать CMK, принадлежащий AWS, для защиты вашей таблицы.
DynamoDB использует разрешения предоставления при выполнении фонового обслуживания системы а также непрерывные задачи защиты данных.Он также использует гранты для генерации ключей таблиц.
Каждый грант относится к таблице. Если в учетной записи есть несколько зашифрованных таблиц в рамках одного и того же CMK существует грант каждого типа для каждой таблицы. Грант ограничен контекстом шифрования DynamoDB, который включает имя таблицы и идентификатор учетной записи AWS, а также разрешение на отказаться от гранта, если он больше не нужный.
Для создания грантов DynamoDB должно иметь разрешение на вызов CreateGrant
на
от имени пользователя, создавшего зашифрованную таблицу. Для CMK, управляемых AWS, DynamoDB
получает кмс: разрешение CreateGrant
из ключа
политика, которая позволяет пользователям учетной записи вызывать CreateGrant в CMK только тогда, когда DynamoDB
делает запрос от имени авторизованного пользователя.
Ключевая политика также может позволить учетной записи отозвать разрешение на CMK. Однако если вы отменяете грант для активной зашифрованной таблицы, DynamoDB не сможет защитить а также поддерживать стол.
Контекст шифрования DynamoDB
Контекст шифрования — это набор пар ключ-значение. которые содержат произвольные несекретные данные.Когда вы включаете контекст шифрования в просьба к шифровать данные, AWS KMS криптографически связывает контекст шифрования с зашифрованными данные. К расшифровать данные, вы должны передать в том же контексте шифрования.
DynamoDB использует один и тот же контекст шифрования во всех криптографических операциях AWS KMS.Если вы используете CMK, управляемый клиентом, или CMK, управляемый AWS, для защиты вашей таблицы DynamoDB, вы можете использовать контекст шифрования для идентификации использования CMK в записях и журналах аудита. Это также появляется в виде открытого текста в журналах, таких как AWS CloudTrail и Amazon CloudWatch Logs.
Контекст шифрования также может использоваться как условие авторизации в политиках. а также гранты.DynamoDB использует контекст шифрования для ограничения грантов, разрешающих доступ к CMK, управляемому клиентом, или CMK, управляемому AWS, в вашем аккаунт и регион.
В своих запросах к AWS KMS DynamoDB использует контекст шифрования с двумя ключами-значениями. пары.
"encryptionContextSubset": {
"aws: Dynamodb: tableName": "Книги"
"aws: Dynamodb: subscriberId": "111122223333"
}
Таблица — Первая пара «ключ-значение» определяет таблицу, которую DynamoDB шифрует.Ключ
aws: Dynamodb: tableName
. Значение — это имя таблицы."aws: Dynamodb: tableName": "
<имя-таблицы>
"Например:
"aws: Dynamodb: tableName": "
Книги
"Счет — вторая пара «ключ-значение» идентифицирует учетную запись AWS.Ключ —
aws: Dynamodb: subscriberId
. Значение это идентификатор учетной записи.«aws: Dynamodb: subscriberId»: «
Например:
"aws: Dynamodb: subscriberId": "111122223333"
Мониторинг взаимодействия DynamoDB с AWS KMS
Если вы используете CMK, управляемый клиентом, или CMK, управляемый AWS для защиты таблиц DynamoDB, вы можете использовать AWS CloudTrail регистрирует запросы, которые DynamoDB отправляет в AWS KMS от вашего имени.
GenerateDataKey
, Decrypt
и CreateGrant
запросы обсуждаются в этом разделе. Кроме того, DynamoDB использует операцию DescribeKey, чтобы определить,
выбранный вами CMK существует в учетной записи и в регионе. Он также использует операцию RetireGrant для удаления гранта, когда
вы удаляете таблицу.
- GenerateDataKey
Когда вы включаете шифрование в состоянии покоя для таблицы, DynamoDB создает уникальный ключ таблицы.Это отправляет запрос GenerateDataKey в AWS KMS, который указывает CMK для Таблица.
Событие, которое записывает операцию
GenerateDataKey
, аналогично событию следующий пример события.Пользователь — это сервисная учетная запись DynamoDB. Параметры включать имя ресурса Amazon (ARN) CMK, спецификатор ключа, для которого требуется 256-битный ключ, и контекст шифрования, который идентифицирует таблицу и учетную запись AWS.{ "eventVersion": "1.05 ", "userIdentity": { "type": "AWSService", "invokedBy": "Dynamodb.amazonaws.com" }, "eventTime": "2018-02-14T00: 15: 17Z", "eventSource": "kms.amazonaws.com", "eventName": "GenerateDataKey", "awsRegion": "us-west-2", "sourceIPAddress": "Dynamodb.amazonaws.com", "userAgent": "Dynamodb.amazonaws.com", "requestParameters": { "encryptionContext": { "aws: Dynamodb: tableName": "Службы", "aws: Dynamodb: subscriberId": "111122223333" }, "keySpec": "AES_256", «keyId»: «arn: aws: kms: us-west-2: 111122223333: key / 1234abcd-12ab-34cd-56ef-1234567890ab» }, "responseElements": ноль, "requestID": "229386c1-111c-11e8-9e21-c11ed5a52190", "eventID": "e3c436e9-ebca-494e-9457-8123a1f5e979", "readOnly": правда, "Ресурсы": [ { "ARN": "arn: aws: kms: us-west-2: 111122223333: key / 1234abcd-12ab-34cd-56ef-1234567890ab", "accountId": "111122223333", "тип": "AWS :: KMS :: Key" } ], "eventType": "AwsApiCall", "recipientAccountId": "111122223333", "sharedEventID": "bf915fa6-6ceb-4659-8912-e36b69846aad" }
- Расшифровать
При доступе к зашифрованной таблице DynamoDB DynamoDB необходимо расшифровать ключ таблицы. так что он может расшифровать ключи ниже в иерархии.Затем он расшифровывает данные в Таблица. Расшифровать ключ таблицы. DynamoDB отправляет запрос на расшифровку в AWS KMS, в котором указывается CMK для стола.
Событие, которое записывает операцию расшифровки
{ "eventVersion": "1.05 ", "userIdentity": { "type": "AssumedRole", "primaryId": "AROAIGDTESTANDEXAMPLE: user01", «arn»: «arn: aws: sts :: 111122223333: предполагаемая роль / Admin / user01», "accountId": "111122223333", "accessKeyId": "AKIAIOSFODNN7EXAMPLE", "sessionContext": { "attributes": { "mfaAuthenticated": "ложь", "creationDate": "2018-02-14T16: 42: 15Z" }, "sessionIssuer": { "type": "Роль", "PrincipalId": "AROAIGDT3HGFQZX4RY6RU", "arn": "arn: aws: iam :: 111122223333: роль / администратор", "accountId": "111122223333", "userName": "Администратор" } }, invokedBy: Dynamodb.amazonaws.com " }, "eventTime": "2018-02-14T16: 42: 39Z", "eventSource": "kms.amazonaws.com", "eventName": "Расшифровать", "awsRegion": "us-west-2", "sourceIPAddress": "Dynamodb.amazonaws.com", "userAgent": "Dynamodb.amazonaws.com", "requestParameters": { "encryptionContext": { "aws: Dynamodb: tableName": "Книги", "aws: Dynamodb: subscriberId": "111122223333" } }, "responseElements": ноль, "requestID": "11cab293-11a6-11e8-8386-13160d3e5db5", "eventID": "b7d16574-e887-4b5b-a064-bf92f8ec9ad3", "readOnly": правда, "Ресурсы": [ { "ARN": "arn: aws: kms: us-west-2: 111122223333: key / 1234abcd-12ab-34cd-56ef-1234567890ab", "accountId": "111122223333", "тип": "AWS :: KMS :: Key" } ], "eventType": "AwsApiCall", "recipientAccountId": "111122223333" }
- CreateGrant
Когда вы используете CMK, управляемый клиентом, или CMK, управляемый AWS для защиты таблицы DynamoDB, DynamoDB использует гранты, чтобы позволить службе выполнять непрерывная защита данных, техническое обслуживание и задачи обеспечения долговечности.Эти гранты нет требуется для CMK, принадлежащих AWS.
Гранты, создаваемые DynamoDB, относятся к таблице. Принципал в запросе CreateGrant — это пользователь, который создал таблицу.
Событие, которое записывает операцию
CreateGrant
, аналогично событию следующий пример события.Параметры включают имя ресурса Amazon (ARN) то CMK для таблицы, принципала-получателя и принципала, выходящего на пенсию (служба DynamoDB), и операции, покрываемые грантом. Он также включает ограничение, которое требует все операции шифрования используют указанный контекст шифрования.{ "eventVersion": "1.05 ", "userIdentity": { "type": "AssumedRole", "primaryId": "AROAIGDTESTANDEXAMPLE: user01", «arn»: «arn: aws: sts :: 111122223333: предполагаемая роль / Admin / user01», "accountId": "111122223333", "accessKeyId": "AKIAIOSFODNN7EXAMPLE", "sessionContext": { "attributes": { "mfaAuthenticated": "ложь", "creationDate": "2018-02-14T00: 12: 02Z" }, "sessionIssuer": { "type": "Роль", "primaryId": "AROAIGDTESTANDEXAMPLE", "arn": "arn: aws: iam :: 111122223333: роль / администратор", "accountId": "111122223333", "userName": "Администратор" } }, invokedBy: Dynamodb.amazonaws.com " }, "eventTime": "2018-02-14T00: 15: 15Z", "eventSource": "kms.amazonaws.com", "eventName": "CreateGrant", "awsRegion": "us-west-2", "sourceIPAddress": "Dynamodb.amazonaws.com", "userAgent": "Dynamodb.amazonaws.com", "requestParameters": { "keyId": "arn: aws: kms: us-west-2: 111122223333: key / 1234abcd-12ab-34cd-56ef-1234567890ab", "retiringPrincipal": "Dynamodb.us-west-2.amazonaws.com", "constraints": { "encryptionContextSubset": { "aws: Dynamodb: tableName": "Книги", "aws: Dynamodb: subscriberId": "111122223333" } }, "granteePrincipal": "Dynamodb.us-west-2.amazonaws.com ", "операции": [ "DescribeKey", "GenerateDataKey", "Расшифровать", "Зашифровать", "ReEncryptFrom", "ReEncryptTo", «Пенсионер» ] }, "responseElements": { "grantId": "5c5cd4a3d68e65e77795f5ccc2516dff057308172b0cd107c85b5215c6e48bde" }, "requestID": "2192b82a-111c-11e8-a528-f398979205d8", "eventID": "a03d65c3-9fee-4111-9816-8bf96b73df01", "readOnly": ложь, "Ресурсы": [ { "ARN": "arn: aws: kms: us-west-2: 111122223333: key / 1234abcd-12ab-34cd-56ef-1234567890ab", "accountId": "111122223333", "тип": "AWS :: KMS :: Key" } ], "eventType": "AwsApiCall", "recipientAccountId": "111122223333" }
Шифрование и дешифрование данных симметричным ключом
Командная строка
Чтобы использовать Cloud KMS в командной строке, сначала Установите или обновите до последней версии Cloud SDK.
gcloud kms encrypt \ - клавиша клавиша \ - брелок брелок \ - расположение расположение \ --plaintext-file файл с данными для шифрования \ --ciphertext-file зашифрованные данные из файла в хранилище
Замените ключ именем ключа, который будет использоваться для шифрования. Заменять брелок для ключей с названием брелока, на котором находится ключ. Замените расположение на расположение Cloud KMS брелок для ключей.Заменить файл с данными для шифрования и file-to-store-encrypted-data с локальными путями к файлам для чтения данные в виде открытого текста и сохранение зашифрованного вывода.
Для получения информации обо всех флагах и возможных значениях запустите команду с - справка
флаг.
C #
Чтобы запустить этот код, сначала настройте среду разработки C # и установите Cloud KMS C # SDK.
Перейти
Чтобы запустить этот код, сначала настройте среду разработки Go и установите Cloud KMS Go SDK.
Ява
Чтобы запустить этот код, сначала настройте среду разработки Java и установите Cloud KMS Java SDK.
Node.js
Чтобы запустить этот код, сначала настройте среду разработки Node.js и установите Cloud KMS Node.js SDK.
PHP
Чтобы запустить этот код, сначала узнайте об использовании PHP в Google Cloud и установить Cloud KMS PHP SDK.
Питон
Чтобы запустить этот код, сначала настройте среду разработки Python и установите Cloud KMS Python SDK.
Рубин
Чтобы запустить этот код, сначала настройте среду разработки Ruby и установите Cloud KMS Ruby SDK.
API
В этих примерах используется curl в качестве HTTP-клиента. для демонстрации использования API.Для получения дополнительной информации об управлении доступом см. Доступ к Cloud KMS API.
При использовании JSON и REST API содержимое должно быть закодировано в кодировке base-64, прежде чем оно сможет быть зашифрованными с помощью Cloud KMS.
Совет : вы можете кодировать или декодировать данные base64
с помощью команды base64
в Linux или macOS или Base64.exe
команда в Windows. Программирование и сценарии
языки обычно включают библиотеки для кодирования base64. Для командной строки
примеры, см. Кодирование Base64 в
Документация по Cloud Vision API.
Чтобы зашифровать данные, сделайте запрос POST и предоставьте соответствующий проект и
ключевую информацию и укажите текст в кодировке base64, который будет зашифрован в
открытый текст
поле тела запроса.
curl "https://cloudkms.googleapis.com/v1/projects/ идентификатор проекта / location / location / keyRings / key-ring-name / cryptoKeys / key-name : encrypt" \ --запрос "POST" \ --header "авторизация: токен на предъявителя " \ --header "тип содержимого: приложение / json" \ --data "{\" plaintext \ ": \" ввод в кодировке base64 \ "}"
Вот пример полезной нагрузки с данными в кодировке base64:
{ "открытый текст": "U3VwZXIgc2VjcmV0IHRleHQgdGhhdCBtdXN0IGJlIGVuY3J5cHRlZAo =", }
Командная строка
Чтобы использовать Cloud KMS в командной строке, сначала Установите или обновите до последней версии Cloud SDK.
gcloud кмс расшифровка \ - клавиша клавиша \ - брелок брелок \ - расположение расположение \ --ciphertext-file путь-к-файлу с зашифрованными-данными \ --plaintext-file путь-к-файлу с открытым текстом
Замените ключ именем ключа, который будет использоваться для дешифрования. Заменять брелок с названием брелока, на котором будет находиться ключ. Замените расположение на расположение Cloud KMS для ключа звенеть.Замените путь к файлу с зашифрованными данными и file-path-to-store-plaintext с локальными путями файлов для чтения зашифрованные данные и сохранение расшифрованного вывода.
Для получения информации обо всех флагах и возможных значениях запустите команду с - справка
флаг.
C #
Чтобы запустить этот код, сначала настройте среду разработки C # и установите Cloud KMS C # SDK.
Перейти
Чтобы запустить этот код, сначала настройте среду разработки Go и установите Cloud KMS Go SDK.
Ява
Чтобы запустить этот код, сначала настройте среду разработки Java и установите Cloud KMS Java SDK.
Node.js
Чтобы запустить этот код, сначала настройте среду разработки Node.js и установите Cloud KMS Node.js SDK.
филиппинских песоЧтобы запустить этот код, сначала узнайте об использовании PHP в Google Cloud и установить Cloud KMS PHP SDK.
Питон
Чтобы запустить этот код, сначала настройте среду разработки Python и установите Cloud KMS Python SDK.
Рубин
Чтобы запустить этот код, сначала настройте среду разработки Ruby и установите Cloud KMS Ruby SDK.
API
В этих примерах используется curl в качестве HTTP-клиента. для демонстрации использования API.Для получения дополнительной информации об управлении доступом см. Доступ к Cloud KMS API.
Расшифрованный текст, возвращаемый в формате JSON из Cloud KMS, является в кодировке base64.
Совет : вы можете кодировать или декодировать данные base64
с помощью команды base64
в Linux или macOS или Base64.exe
команда в Windows. Программирование и сценарии
языки обычно включают библиотеки для кодирования base64. Для командной строки
примеры, см. Кодирование Base64 в
Документация по Cloud Vision API.
Чтобы расшифровать зашифрованные данные, сделайте запрос POST и предоставьте соответствующий
информацию о проекте и ключе и укажите зашифрованный (зашифрованный) текст, который будет
расшифровывается в поле зашифрованного текста
тела запроса.
curl "https://cloudkms.googleapis.com/v1/projects/ идентификатор проекта / location / location / keyRings / key-ring-name / cryptoKeys / key-name : decrypt" \ --запрос "POST" \ --header "авторизация: токен на предъявителя " \ --header "тип содержимого: приложение / json" \ --data "{\" зашифрованный текст \ ": \" зашифрованный-контент \ "}"
Вот пример полезной нагрузки с данными в кодировке base64:
{ «зашифрованный текст»: «CiQAhMwwBo61cHas7dDgifrUFs5zNzBJ2uZtVFq4ZPEl6fUVT4kSmQ... ", }
Защита данных с помощью ключей KMS Cloud | BigQuery | Google Cloud
По умолчанию BigQuery шифрует клиентский контент, хранящийся в неактивном состоянии. BigQuery обрабатывает и управляет этим шифрованием по умолчанию за вас. без каких-либо дополнительных действий с вашей стороны. Во-первых, данные в Таблица BigQuery зашифрована с использованием ключа шифрования данных . Потом, эти ключи шифрования данных зашифрованы с помощью ключей шифрования ключей , что является известное как шифрование конверта.Ключевое шифрование ключи не шифруют ваши данные напрямую, а используются для шифрования данных ключи шифрования, которые Google использует для шифрования ваших данных. Для получения дополнительной информации см. Облачная служба управления ключами (KMS).
Если вы хотите контролировать шифрование самостоятельно, вы можете использовать управляемый клиентом ключи шифрования (CMEK) для BigQuery. Вместо того, чтобы управлять Google ключевые ключи шифрования, которые защищают ваши данные, вы контролируете и управляете ключом ключи шифрования в Cloud KMS. В этом разделе представлены подробности об этой технике.
Узнать больше о параметры шифрования в Google Cloud.
Прежде чем начать
Понимать наборы данных, таблицы и запросы.
Решите, собираетесь ли вы запускать BigQuery и Cloud KMS в том же проекте Google Cloud или в разных проекты. В качестве примера документации используется следующее соглашение:
-
PROJECT_ID
: идентификатор проекта запущенного проекта BigQuery -
PROJECT_NUMBER
: номер проекта проекта работает BigQuery -
KMS_PROJECT_ID
: идентификатор проекта проекта работает Cloud KMS (даже если это тот же проект, BigQuery)
-
BigQuery автоматически включается в новых проектах. Если ты используя уже существующий проект для запуска BigQuery, включить BigQuery API.
Для облачного проекта, в котором работает Cloud KMS:
- Включите Cloud Key Management Service API.
- Создайте связку ключей и ключ, как описано в
Создание связок ключей и ключей. Создайте кольцо для ключей
в месте, которое совпадает с расположением вашего BigQuery
набор данных:
- Любой мультирегиональный набор данных должен использовать мультирегиональную связку ключей из
подходящее место.Например, набор данных в регионе
US
должен быть защищен кольцом для ключей из регионаus
и набором данных из регионаEU
должен быть защищен кольцом для ключей из регионаевропа
. - В региональных наборах данных должны использоваться соответствующие региональные ключи. Например,
набор данных в регионе
asia-northeast1
должен быть защищен ключом кольцо из регионаазия-северо-восток1
. - Глобальный регион
- Любой мультирегиональный набор данных должен использовать мультирегиональную связку ключей из
подходящее место.Например, набор данных в регионе
Спецификация шифрования
КлючиCloud KMS, используемые для защиты ваших данных в BigQuery: Ключи AES-256. Эти ключи используются в качестве ключей шифрования в BigQuery, поскольку они шифруют ключи шифрования данных, которые зашифровать свои данные.
Предоставить разрешение на шифрование и дешифрование
Чтобы защитить данные BigQuery с помощью ключа CMEK, предоставьте Разрешение учетной записи службы BigQuery на шифрование и дешифрование с помощью этот ключ.В Шифрование / дешифратор Cloud KMS CryptoKey роль предоставляет это разрешение.
Используйте Google Cloud Console для определения службы BigQuery. идентификатор учетной записи и предоставьте учетной записи службы соответствующую роль для шифрования и расшифровать с помощью Cloud KMS.
Определите идентификатор учетной записи службы
Идентификатор учетной записи службы BigQuery имеет вид:
.bq- НОМЕР ПРОЕКТА @ bigquery-encryption.iam.gserviceaccount.com
Следующие методы показывают, как определить BigQuery идентификатор сервисного аккаунта для вашего проекта.
Консоль
Перейти на страницу приборной панели в облачной консоли.
Перейти на страницу панели управления
Щелкните раскрывающийся список Выбрать из вверху страницы. в Select В появившемся окне выберите свой проект.
И идентификатор проекта, и номер проекта отображаются на панели мониторинга проекта. Информация о проекте карта:
В следующей строке замените PROJECT_NUMBER своим номер проекта.Новая строка идентифицирует ваш BigQuery. идентификатор учетной записи службы.
bq- НОМЕР ПРОЕКТА @ bigquery-encryption.iam.gserviceaccount.com
bq
Используйте команду bq show
с флагом --encryption_service_account
, чтобы
определить идентификатор учетной записи службы:
bq show --encryption_service_account
Команда отображает ID учетной записи службы:
ServiceAccountID -------------------------------------------------- ----------- bq- НОМЕР ПРОЕКТА @ bigquery-encryption.iam.gserviceaccount.com
Назначьте роль шифрования / дешифратора
Назначьте шифровальщик / дешифратор Cloud KMS CryptoKey роль в Системный сервисный аккаунт BigQuery, который вы скопировали в свой буфер обмена. Эта учетная запись имеет вид
bq- НОМЕР ПРОЕКТА @ bigquery-encryption.iam.gserviceaccount.com
Консоль
Откройте страницу Криптографические ключи в облачной консоли.
Открыть страница криптографических ключей
Щелкните имя связки ключей, содержащей ключ.
Установите флажок для ключа шифрования, к которому вы хотите добавить роль. Откроется вкладка Permissions .
Щелкните Добавить участника .
Введите адрес электронной почты учетной записи службы,
bq- НОМЕР ПРОЕКТА @ bigquery-encryption.iam.gserviceaccount.com
.- Если учетная запись службы уже находится в списке участников, она имеет
существующие роли. Щелкните раскрывающийся список текущей роли для
bq- НОМЕР ПРОЕКТА @ bigquery-encryption.iam.gserviceaccount.com
сервисный аккаунт.
- Если учетная запись службы уже находится в списке участников, она имеет
существующие роли. Щелкните раскрывающийся список текущей роли для
Щелкните раскрывающийся список для Выберите роль , щелкните Cloud KMS и затем щелкните роль Cloud KMS CryptoKey Encrypter / Decrypter .
Нажмите Сохранить , чтобы применить роль к службе
bq- PROJECT_NUMBER @ bigquery-encryption.iam.gserviceaccount.com
учетная запись.
gcloud
Для назначения роли можно использовать инструмент командной строки gcloud
:
Ключи gcloud kms add-iam-policy-binding \ --project = KMS_PROJECT_ID \ --member serviceAccount: bq- PROJECT_NUMBER @ bigquery-encryption.iam.gserviceaccount.com \ --role роли / cloudkms.cryptoKeyEncrypterDecrypter \ --location = KMS_KEY_LOCATION \ --keyring = KMS_KEY_RING \ KMS_KEY
Заменить следующее:
-
KMS_PROJECT_ID
: идентификатор вашего Google Cloud проект, на котором работает Cloud KMS -
PROJECT_NUMBER
: номер проекта (не проект ID) вашего облачного проекта, в котором запущен BigQuery . -
KMS_KEY_LOCATION
: имя местоположения вашего Ключ Cloud KMS -
KMS_KEY_RING
: имя связки ключей вашего Ключ Cloud KMS -
KMS_KEY
: имя ключа вашего Ключ Cloud KMS
Идентификатор ключевого ресурса
Идентификатор ресурса для ключа Cloud KMS требуется для использования CMEK, поскольку показано в примерах этой темы.Этот ключ чувствителен к регистру и имеет форму:
.projects / PROJECT_ID / locations / LOCATION / keyRings / KEY_RING / cryptoKeys / KEY
Получить идентификатор ключевого ресурса
Откройте страницу Криптографические ключи в облачной консоли.
Открыть страница криптографических ключей
Щелкните имя связки ключей, содержащей ключ.
Для ключа, идентификатор ресурса которого вы получаете, щелкните Подробнее more_vert .
Щелкните Копировать идентификатор ресурса . Идентификатор ресурса для ключа копируется в ваш буфер обмена.
Создать таблицу, защищенную Cloud KMS
Создать пустую таблицу, защищенную Cloud KMS
Для создания таблицы, защищенной Cloud KMS:
Консоль
Откройте страницу BigQuery в облачной консоли.
Перейти на страницу BigQuery
На панели Explorer разверните проект и выберите набор данных.
Примечание: По умолчанию Предварительный просмотр Cloud Console. Если вы нажали Скрыть функции предварительного просмотра , чтобы перейти к Общедоступно Cloud Console, а затем вместо этого выполните следующий шаг: панель навигации, в разделе Ресурсы , разверните свой проект и выберите набор данных.Разверните more_vert Действия и нажмите Открыть .
На панели сведений щелкните Создать таблицу add_box.
На странице Создать таблицу введите информацию, необходимую для создать пустую таблицу с определением схемы. Прежде чем щелкнуть Create Table , установите тип шифрования и укажите Ключ Cloud KMS для использования с таблицей:
- Щелкните Дополнительные параметры .
- Щелкните Ключ, управляемый клиентом .
- Выберите ключ. Если ключа, который вы хотите использовать, нет в списке, введите ID ресурса для ключа.
Щелкните Создать таблицу .
bq
Вы можете использовать инструмент командной строки bq
с флагом --destination_kms_key
создать таблицу. Флаг --destination_kms_key
указывает
идентификатор ресурса ключа для использования с таблицей.
Чтобы создать пустую таблицу со схемой:
bq mk --schema name: string, value: integer -t \ --destination_kms_key projects / PROJECT_ID / locations / LOCATION / keyRings / KEY_RING / cryptoKeys / KEY \ DATASET_ID . TABLE_ID
В качестве альтернативы вы можете использовать Выписка DDL:
запрос bq --use_legacy_sql = false " СОЗДАТЬ ТАБЛИЦУ DATASET_ID . TABLE_ID (имя СТРОКА, значение INT64) ПАРАМЕТРЫ( kms_key_name = 'projects / PROJECT_ID / locations / LOCATION / keyRings / KEY_RING / cryptoKeys / KEY ' ) "
Чтобы создать таблицу из запроса:
bq запрос --destination_table = DATASET_ID . TABLE_ID \ --destination_kms_key projects / PROJECT_ID / locations / LOCATION / keyRings / KEY_RING / cryptoKeys / KEY \ "ВЫБЕРИТЕ имя, считайте ИЗ DATASET_ID . TABLE_ID WHERE пол = 'M' ORDER BY count DESC LIMIT 6"
Дополнительные сведения об инструменте командной строки bq
см.
Использование программы командной строки bq
.
Перейти
Ява
Питон
Защитите новую таблицу с помощью ключа шифрования, управляемого заказчиком, установив параметр Таблица.encryption_configuration свойство EncryptionConfiguration объект перед созданием таблицы.
Запросить таблицу, защищенную ключом Cloud KMS
Для запроса таблицы, защищенной Облачный KMS. BigQuery хранит имя ключа, используемого для зашифровать содержимое таблицы и будет использовать этот ключ, когда таблица защищена Облачный KMS запрошен.
Все существующие инструменты, консоль BigQuery и инструмент командной строки bq
запускаются
так же, как и с таблицами с шифрованием по умолчанию, при условии, что
BigQuery имеет доступ к ключу Cloud KMS, который используется для шифрования.
содержимое таблицы.
Защита результатов запроса с помощью ключа Cloud KMS
Консоль
Откройте страницу BigQuery в облачной консоли.
Перейти на страницу BigQuery
Щелкните Составьте новый запрос .
Введите действительный запрос BigQuery SQL в текстовой области запроса.
Щелкните Дополнительно , щелкните Параметры запроса , затем щелкните Дополнительные параметры .
Выберите Шифрование, управляемое заказчиком .
Выберите ключ. Если ключа, который вы хотите использовать, нет в списке, введите ID ресурса для ключа.
Нажмите Сохранить .
Щелкните Выполнить .
bq
Укажите флаг --destination_kms_key
для защиты целевой таблицы или
результаты запроса (при использовании временной таблицы) с вашим ключом Cloud KMS.
Флаг --destination_kms_key
указывает
идентификатор ресурса ключа для использования с местом назначения или
итоговая таблица.
При необходимости используйте флаг --destination_table
, чтобы указать место назначения для
результаты запроса. Если --destination_table
не используется, результаты запроса будут
быть записанным во временную таблицу.
Для запроса таблицы:
bq запрос \ --destination_table = DATASET_ID . TABLE_ID \ --destination_kms_key projects / PROJECT_ID / locations / LOCATION / keyRings / KEY_RING / cryptoKeys / KEY \ "ВЫБЕРИТЕ имя, считайте ИЗ DATASET_ID . TABLE_ID WHERE пол = 'M' ORDER BY count DESC LIMIT 6 "
Дополнительные сведения об инструменте командной строки bq
см.
Использование программы командной строки bq
.
Перейти
Ява
Перед тем, как попробовать этот образец, следуйте инструкциям по установке Java в Быстрый запуск BigQuery с использованием клиентских библиотек.Для получения дополнительной информации см. Справочная документация по BigQuery Java API.
Питон
Загрузить таблицу, защищенную Cloud KMS
Чтобы загрузить файл данных в таблицу, защищенную Cloud KMS:
Консоль
Защита таблицы назначения задания загрузки с помощью ключа шифрования, управляемого заказчиком указав ключ при загрузке таблицы.
Откройте страницу BigQuery в облачной консоли.
Перейти на страницу BigQuery
На панели Explorer разверните проект и выберите набор данных.
Примечание: По умолчанию Предварительный просмотр Cloud Console. Если вы нажали Скрыть функции предварительного просмотра , чтобы перейти к Общедоступно Cloud Console, а затем вместо этого выполните следующий шаг: панель навигации, в разделе Ресурсы , разверните свой проект и выберите набор данных.На панели сведений щелкните Создать таблицу .
Введите параметры, которые вы хотите использовать для загрузки таблицы, но перед вами щелкните Создать таблицу , щелкните Дополнительные параметры .
В разделе Encryption выберите Управляемый клиентом ключ .
Щелкните раскрывающийся список Выберите управляемый клиентом ключ и выберите ключ к использованию. Если вы не видите доступных ключей, введите идентификатор ключевого ресурса.
Щелкните Создать таблицу .
bq
Защита таблицы назначения задания загрузки с помощью управляемого пользователем шифрования
key, установив флаг --destination_kms_key
.
bq --location = LOCATION load \ --Автоматически определять \ --source_format = ФОРМАТ \ --destination_kms_key projects / PROJECT_ID / locations / LOCATION / keyRings / KEY_RING / cryptoKeys / KEY \ НАБОР ДАННЫХ . ТАБЛИЦА \ path_to_sourceНапример:
bq нагрузка \ --Автоматически определять \ --source_format = NEWLINE_DELIMITED_JSON \ --destination_kms_key projects / PROJECT_ID / locations / LOCATION / keyRings / KEY_RING / cryptoKeys / KEY \ test2.table4 \ gs: //cloud-samples-data/bigquery/us-states/us-states.json
Перейти
Ява
Питон
Защита таблицы назначения загрузки заданий с помощью шифрования, управляемого заказчиком ключ, установив LoadJobConfig.destination_encryption_configuration свойство EncryptionConfiguration и загрузите таблицу.
Поток в таблицу, защищенную Cloud KMS
Вы можете передавать данные в свою таблицу BigQuery, защищенную CMEK. без указания дополнительных параметров. Обратите внимание, что эти данные зашифрованы используя ключ Cloud KMS в буфере, а также в финальном место расположения. Перед использованием потоковой передачи с таблицей CMEK ознакомьтесь с требованиями к наличие ключа и доступность.
Узнайте больше о потоковой передаче на Потоковая передача данных в BigQuery.
Изменить шифрование таблицы по умолчанию на защиту Cloud KMS
bq
Вы можете использовать команду bq cp
с флагом --destination_kms_key
скопировать таблицу, защищенную шифрованием по умолчанию, в новую таблицу или в
исходная таблица, защищенная Cloud KMS. В --destination_kms_key Флаг
указывает идентификатор ресурса
ключа для использования с таблицей назначения.
Чтобы скопировать таблицу с шифрованием по умолчанию в новую таблицу с Защита Cloud KMS:
bq cp \ --destination_kms_key projects / PROJECT_ID / locations / LOCATION / keyRings / KEY_RING / cryptoKeys / KEY \ SOURCE_DATASET_ID . SOURCE_TABLE_ID DESTINATION_DATASET_ID . DESTINATION_TABLE_ID
В вы хотите скопировать таблицу с шифрованием по умолчанию в ту же таблицу. с защитой Cloud KMS:
bq cp -f \ --destination_kms_key projects / PROJECT_ID / locations / LOCATION / keyRings / KEY_RING / cryptoKeys / KEY \ DATASET_ID . TABLE_ID DATASET_ID . TABLE_ID
Если вы хотите изменить таблицу с защиты Cloud KMS на значение по умолчанию
шифрование, скопируйте файл в себя, запустив bq cp
без использования --destination_kms_key
флаг.
Дополнительные сведения об инструменте командной строки bq
см.
Использование программы командной строки bq
.
Перейти
Ява
Питон
Перед тем, как попробовать этот пример, следуйте инструкциям по установке Python в Быстрый запуск BigQuery с использованием клиентских библиотек.Для получения дополнительной информации см. Справочная документация по BigQuery Python API.
Защитите место назначения копии таблицы с помощью управляемой заказчиком ключ шифрования, задав QueryJobConfig.destination_encryption_configuration свойство EncryptionConfiguration и скопируйте таблицу.
Определить, защищена ли таблица облачным KMS
В облачной консоли щелкните синюю стрелку, чтобы слева от набора данных, чтобы развернуть его, или дважды щелкните имя набора данных.Этот отображает таблицы и представления в наборе данных.
Щелкните имя таблицы.
Нажмите Подробнее . На странице Table Details показаны таблицы описание и табличная информация.
Если таблица защищена облачным KMS, управляемый клиентом В поле Ключ шифрования будет отображаться идентификатор ресурса ключа.
Изменение ключа Cloud KMS для таблицы BigQuery
Чтобы изменить ключ Cloud KMS для существующей таблицы, защищенной CMEK, вы
может выполнить запрос ALTER TABLE
, использовать API или инструмент командной строки bq
.Есть два способа изменить ключ Cloud KMS с помощью API и bq
инструмент командной строки: обновить
или cp
.
Если вы используете обновление
, вы можете изменить ключ Cloud KMS, используемый для
Таблица, защищенная CMEK.
Если вы используете cp
, вы можете изменить ключ Cloud KMS, используемый для
Таблица с CMEK-защитой, изменить таблицу с шифрованием по умолчанию на CMEK-защиту,
или изменить таблицу с CMEK-защиты на шифрование по умолчанию.
Преимущество обновления
в том, что оно быстрее, чем cp
, и позволяет использовать
декораторы стола.
Консоль
Откройте страницу BigQuery в облачной консоли.
Перейти на страницу BigQuery
Щелкните Составьте новый запрос .
Введите оператор DDL в текстовую область Новый запрос . Для
kms_key_name
значение, укажите идентификатор ресурса ключа который вы хотите использовать для защиты стола.#standardSQL ALTER TABLE DATASET_ID .mytable УСТАНОВИТЬ ОПЦИИ ( kms_key_name = "projects / PROJECT_ID / locations / LOCATION / keyRings / KEY_RING / cryptoKeys / KEY " )
Щелкните Выполнить .
bq
Вы можете использовать команду bq cp
с флагом --destination_kms_key
для изменения ключа таблицы, защищенной Cloud KMS. В --destination_kms_key Флаг
указывает идентификатор ресурса
ключа для использования с таблицей.
bq update \ --destination_kms_key projects / PROJECT_ID / locations / LOCATION / keyRings / KEY_RING / cryptoKeys / KEY \ -t DATASET_ID . TABLE_ID
Перейти
Ява
Питон
Измените управляемый клиентом ключ шифрования для таблицы, изменив Table.encryption_configuration свойство в новую EncryptionConfiguration объект и обновить таблицу.
Установить ключ набора данных по умолчанию
Вы можете установить ключ Cloud KMS по умолчанию для всего набора данных, который будет применяться ко всем вновь созданные таблицы в наборе данных, если другой Cloud KMS ключ указывается при создании таблицы.Ключ по умолчанию не применяется к существующие таблицы. Изменение ключа по умолчанию не приводит к изменению существующих таблиц. и применяется только к новым таблицам, созданным после изменения.
Вы можете применить, изменить или удалить ключ набора данных по умолчанию до
.с указанием ключа по умолчанию в
EncryptionConfiguration.kmsKeyName
поле, когда вы вызываетеdatasets.insert
илиdatasets.patch
методы, указав ключ по умолчанию в флаге
--default_kms_key
при запускеbq mk --dataset
команда.bq mk \ --default_kms_key projects / PROJECT_ID / locations / LOCATION / keyRings / KEY_RING / cryptoKeys / KEY \ --dataset DATASET_ID
bq update \ --default_kms_key projects / PROJECT_ID / locations / LOCATION / keyRings / KEY_RING / cryptoKeys / KEY \ --dataset DATASET_ID
Удалить доступ BigQuery к ключу Cloud KMS
Вы можете удалить доступ BigQuery к ключу Cloud KMS по адресу в любое время, отозвав разрешение IAM для этого ключа.
Примечание. Если вы удалите доступ BigQuery к ключу, это изменение будет не происходит мгновенно, но должно произойти в течение часа, пока IAM изменение разрешения распространяется.Если вы выполняете запрос в то время, запрос по-прежнему останавливается, но результаты могут быть недоступны для просмотра.Если BigQuery теряет доступ к ключу Cloud KMS, пользователь опыт может значительно пострадать и может произойти потеря данных:
Данные в этих таблицах, защищенных CMEK, больше недоступны;
запрос
,cp
,extract
иtabledata.list
завершатся ошибкой.В эти таблицы, защищенные CMEK, нельзя добавлять новые данные.
После предоставления доступа производительность запросов к этим таблицам может деградировать в течение нескольких дней.
Влияние ротации ключей Cloud KMS
BigQuery не меняет автоматически ключ шифрования таблицы, когда ключ Cloud KMS, связанный с таблицей, вращается. Существующие таблицы продолжать использовать версию ключа, с которой они были созданы. Новые столы использовать текущую версию ключа.
Ограничения
Доступ BigQuery к ключу Cloud KMS
Ключ Cloud KMS считается доступным и доступным для BigQuery при следующих условиях:
- Ключ активирован
- Учетная запись службы BigQuery имеет шифрование и дешифрование. разрешения на ключ
В следующих разделах описывается влияние на потоковые вставки и долгосрочное недоступные данные, когда ключ недоступен.
Воздействие на потоковые вставки
Ключ Cloud KMS должен быть доступен и доступен не менее 24 последовательные часы в 48-часовом периоде после запроса потоковой вставки. Если ключ недоступен и недоступен, потоковые данные могут быть не полностью сохраняются и могут быть потеряны. Для получения дополнительной информации о потоковых вставках см. Потоковая передача данных в BigQuery.
Влияние на длительно недоступные данные
Поскольку BigQuery предоставляет управляемое хранилище, данные в течение длительного времени недоступны. несовместима с архитектурой BigQuery.Если Ключ Cloud KMS для данной таблицы BigQuery недоступен и недоступен в течение 60 дней подряд, BigQuery может выбрать для удаления таблицы и связанных с ней данных. По крайней мере, за 7 дней до данные удаляются, BigQuery отправляет электронное письмо на адрес электронной почты связанный с платежным аккаунтом.
Использование декораторов таблиц
Если вы защитите таблицу с помощью Cloud KMS, а затем замените данные в
таблица с использованием значения WRITE_TRUNCATE
для загрузки
, cp
или запроса
операция, затем декораторы диапазона
не работают через границу изменения шифрования.Вы все еще можете использовать таблицу
декораторы, в том числе декораторы диапазона, для запроса данных до или после
границы или запросить моментальный снимок в определенный момент времени.
Запросы к таблице подстановочных знаков
Таблицы, защищенные CMEK, не могут быть запрошены с помощью подстановочного знака суффикс.
Часто задаваемые вопросы
Кому нужно разрешение на ключ Cloud KMS?
С ключами шифрования, управляемыми заказчиком, повторное указание разрешений невозможно. обязательный. Если у учетной записи службы BigQuery есть разрешение использовать ключ Cloud KMS для шифрования и дешифрования, любой, у кого есть разрешение к таблице BigQuery могут получить доступ к данным, даже если они у вас нет прямого доступа к ключу Cloud KMS.
Какая учетная запись службы используется?
Учетная запись службы BigQuery, связанная с Облачный проект таблицы используется для расшифровки данных этой таблицы. Учетные записи службы BigQuery уникальны для каждого проекта. Для задание, которое записывает данные в анонимную таблицу, защищенную Cloud KMS, используется сервисный аккаунт проекта работы.
В качестве примера рассмотрим три таблицы, защищенные CMEK: table1
, table2
и стол3
. Чтобы запросить данные из {project1.table1, project2.table2}
с
таблица назначения {project3.table3}
:
- Используйте учетную запись службы
project1
дляproject1.table1
- Используйте учетную запись службы
project2
дляproject2.table2
- Используйте учетную запись службы
project3
дляproject3.table3
Как BigQuery может использовать мой облачный KMS-ключ?
BigQuery будет использовать ключ Cloud KMS для расшифровки данных в
ответ на запрос пользователя, например, tabledata.список
или вакансий. Вставка
.
BigQuery также может использовать ключ для обслуживания и хранения данных. задачи оптимизации, такие как преобразование данных в формат, оптимизированный для чтения.
Какие криптографические библиотеки используются?
BigQuery полагается на Cloud KMS для функциональности CMEK. Cloud KMS использует Тинк для шифрование.
Как получить дополнительную помощь?
Если у вас есть вопросы, на которые здесь нет ответа, см. Поддержка BigQuery или Поддержка Cloud KMS.
Устранение ошибок
Ниже описаны распространенные ошибки и рекомендуемые способы их устранения.
Ошибка | Рекомендация |
---|---|
Предоставьте Cloud KMS CryptoKey Encrypter / Decrypter роль | Учетная запись службы BigQuery, связанная с вашим проектом. не имеет достаточного разрешения IAM для работы с указанный ключ Cloud KMS. Следуйте инструкциям в ошибке или в этой документации, чтобы предоставить надлежащие Разрешение IAM. |
Существующие настройки шифрования таблицы не соответствуют настройкам шифрования указано в заявке | Это может произойти в сценариях, где целевая таблица имеет шифрование.
настройки, которые не соответствуют настройкам шифрования в вашем запросе.В виде
смягчение последствий, используйте расположение записи TRUNCATE для замены таблицы,
или укажите другую целевую таблицу. |
Этот регион не поддерживается | Регион ключа Cloud KMS не соответствует региону Набор данных BigQuery целевой таблицы. Как смягчение, выберите ключ в регионе, который соответствует вашему набору данных, или загрузите в набор данных что соответствует ключевому региону. |
QuickBooks Desktop: пароли, шифрование, расшифровка... Часть 1
Как вы думаете, много ли вы действительно знаете о том, что происходит в пользовательском интерфейсе QuickBooks?
В отличие от многих популярных программ, таких как Excel, Word или даже Access, внутренняя работа, операции и процедуры QuickBooks являются тщательно охраняемыми секретами, совершенно неизвестными всем, кроме нескольких нынешних и бывших технических специалистов Intuit. Фактически, я рискну предположить, что менее 10% от общего числа сотрудников Intuit, которые на самом деле поддерживают QuickBooks, имеют фундаментальные знания о том, что происходит глубоко внутри QuickBooks.
Если вы были на каком-либо из моих курсов «Супергиков» в Scaling New Heights, или если вы помните, когда я впервые начал писать для Insightful Accountant, вы, несомненно, видели иллюстрацию ниже, показывающую взаимосвязь между 3 фундаментальными компонентами QuickBooks.
Версии QuickBooks середины 2000 года прошли миграцию из базы данных C-index в базу данных Sybase SQL Anywhere. Приложение QuickBooks представляет собой «графический пользовательский интерфейс», состоящий из обрывков кодов языков программирования (разработанных на протяжении многих лет), расположенных поверх одного из двух механизмов сервера баз данных Sybase.Хотя в этой статье обсуждаются аспекты всех трех этих компонентов, на самом деле она сосредоточена на внутренних структурах, скрытых глубоко от всеобщего обозрения, в вашем файле QuickBooks Company.
Но прежде чем мы перейдем к мелочам, мы должны обсудить некоторые фундаментальные аспекты файла QuickBooks Company.
Каждый файл QuickBooks представляет собой «кластерную таблицу», все различные данные хранятся в таблицах, и все эти таблицы сгруппированы вместе в одном файле. В некоторых проектах баз данных каждая таблица связана с уникальным файлом, но QuickBooks делает это не так.
Одна из причин кластерного подхода - «безопасность». Все данные, составляющие вашу «финансовую информацию», надежно объединены в один файл, доступность которого может быть ограничена.
Эти ограничения принимают множество форм, включая настройку учетных записей пользователей, пароли и другие ограничения, списки лайков и разрешения. Другой формой защиты является шифрование как файла в целом, так и конфиденциальных данных внутри файла.
Когда мы открываем файл компании QuickBooks, он полон нашей информации.Из контекста базы данных данные хранятся во множестве таблиц, которые хранятся в виде «кластерной таблицы». В некоторых таблицах хранятся данные вашего списка, например клиенты и поставщики. В других таблицах хранятся ваши транзакции, такие как таблица заголовка чека и таблица подробного счета чека. В других таблицах хранятся объекты данных, которые работают с приложением QuickBooks, чтобы сделать его более плавным и обеспечить более быстрый доступ к данным. И да, некоторые таблицы отвечают за многие меры безопасности (обручи, через которые мы должны пройти), такие как пароли, чтобы получить доступ к нашим данным.
Хотя многие из вас, возможно, знакомы с ODBC, QODBC и функциями настраиваемой отчетности, которые обеспечивают доступ к информации QuickBooks, таблицы, к которым осуществляется доступ с помощью этих методов, являются «ограниченным» воспроизведением табличных данных в файле компании QuickBooks. Ни одно из этих приложений или методологий не имеет прямого доступа к таблицам и не касается лежащих в основе «реальных данных», поддерживаемых пользовательским интерфейсом QuickBooks.
По сути, без разбиения файла компании QuickBooks на части после его расшифровки, на рынке нет инструментов, которые «могут себе позволить» обычные пользователи, которые дадут им прямой доступ к фактической структуре таблицы.
Сторонние продукты, которые позволяют вам читать, записывать и иным образом изменять данные в файле QuickBooks, на самом деле взаимодействуют с одним из двух механизмов базы данных Sybase, просто передавая команды точно так же, как и сам пользовательский интерфейс QuickBooks. Только сервер базы данных предоставляет инструкции запроса, чтения, записи и добавления, влияющие на фактические данные.
Одной из причин кластерного подхода QuickBooks к вашим данным является «безопасность»: все данные, составляющие вашу «финансовую информацию», надежно объединены в один файл, доступность которого может быть ограничена.В целом файл ограничен шифрованием, предотвращающим несанкционированное проникновение во внутренние компоненты файла. Но, как мы увидим, на этом «шифрованная форма безопасности» в QuickBooks не останавливается.
На протяжении многих лет я открыто критиковал многие недостатки безопасности QuickBooks. В прошлом году я был одним из немногих, кто поддерживал усилия Intuit по реформированию и повышению безопасности за счет повышения требований к паролям.
Общественные протесты со стороны пользователей, которые, казалось бы, не заботятся о безопасности конфиденциальных данных, взрыва Intuit за требование паролей и, в частности, часто меняющие сложные пароли, привели к недавно пересмотренной реализации мер, которые, по-видимому, обошли прошлогоднее улучшение паролей.Я все еще беспокоюсь о недостатках, которые допускают потенциальную потерю данных, но эта статья не об этом.
Скорее, эта статья посвящена механизму номер один QuickBooks для защиты файлов, который основан на пароле администратора и связанных с ним «главных ключах» шифрования.
До прошлогодних обновлений безопасности вам не нужно было использовать пароли, даже если в вашем файле хранились конфиденциальные данные, такие как номера кредитных карт, если только вы не использовали Intuit Merchant Services.Вам предлагали включить защиту кредитной карты, но ничто не заставило вас это сделать. Без этих средств защиты вам даже не понадобился бы пароль администратора, хотя для вашего файла уже была настроена учетная запись администратора.
Но прежде чем мы продвинемся дальше, нам нужно обсудить фундаментальные принципы шифрования и дешифрования. Шифрование - это процесс кодирования информации таким образом, чтобы ее могли прочитать только авторизованные стороны. Шифрование не препятствует доступу или просмотру любой информации, оно просто запрещает доступ к информации посторонним лицам.
Если бы я дал вам закодированное сообщение, вы, вероятно, могли бы передать его всем, кого знаете, и я бы не переживал, что кто-то знает, что я на самом деле написал. Чтобы закодировать сообщение, я использую «ключ шифрования». Чтобы расшифровать сообщение, кто-то должен использовать тот же ключ, иначе они, скорее всего, никогда его не поймут.
Что, если моя подружка напишет сообщение с текстом 092 712 152 205 272 512 21 - вы хоть понимаете, что это значит? Что ж, вот что такое шифрование.
Если шифрование - это кодирование информации, то дешифрование - это декодирование информации. Как и в случае с процессом шифрования, ключевым моментом является «ключ шифрования». Без ключа шифрования у обеих сторон сообщение не достигает своей цели.
У меня должен быть ключ для шифрования данных, и тот, кто собирается читать данные, должен иметь ключ, чтобы раскрыть смысл. Без ключа никто не знает, что моя девушка написала: «Я тебя люблю».
Чтобы понять, как шифрование и дешифрование применяются в файле QuickBooks, мы должны посмотреть, как создаются и хранятся учетные записи пользователей и их пароли.
Первоначально, когда открывается QuickBooks и создается новый файл, отдельная учетная запись пользователя, постоянно называемая «Admin», автоматически заполняется в таблице с именем «ISYSUSER».
Хотя вы можете выбрать «переименовать» учетную запись в «Джон» в пользовательском интерфейсе, под ней по-прежнему остается «Admin», потому что не может быть файла QuickBooks без учетной записи пользователя-администратора, даже если вы этого не сделаете. знаю, что это есть.
До последних лет изменений в безопасности QuickBooks, связанных с соответствием PCI, пароль не требовался до тех пор, пока пользователь не выбрал вариант создания дополнительных пользователей и установки паролей.
Но даже до появления единственного нового пароля пользователя таблица ISYSUSER по-прежнему закодирована, потому что каждое имя пользователя QB становится шестнадцатеричной строкой. Таким образом, Admin фактически закодирован в шестнадцатеричной строке как (0x41 0x64 0x6D 0x69 0x6E), когда он хранится в таблице ISYSUSER. Фактически, каждое имя пользователя QuickBooks хранится в виде шестнадцатеричной строки, этот процесс известен как «хеширование». Имена пользователей - не единственный уровень безопасности, который мы создаем в QuickBooks. Если в наших файлах есть «конфиденциальные данные», мы также вводим пароли.Но прежде чем мы перейдем к паролям, давайте посмотрим, что мы подразумеваем под «конфиденциальными данными».
Конфиденциальные данные включают в себя такие вещи, как номера кредитных карт клиентов, номера социального страхования сотрудников, налоговые идентификационные номера поставщиков, идентификационные номера работодателей, номера банковских счетов и некоторые другие данные, которые Intuit теперь перечисляет как данные, позволяющие установить личность (PII):
- Номер социального страхования сотрудника и компании
- EIN компании
- Банковские реквизиты компании (номер маршрута, номер счета)
- Компания Счет по кредитной карте.№
- Счет прочих активов №
- Счет прочих оборотных активов №
- Счет займа / прочих текущих обязательств №
- Счет долгосрочной ответственности №
- Налоговый номер поставщика
- Счет поставщика №
Вы по-прежнему будете видеть «конфиденциальные данные» в таких местах, как QBWin.log, и это будет терминология, которую я использую в этой статье. Эти «конфиденциальные данные», как и имена пользователей и пароли, зашифрованы в QuickBooks, чтобы обеспечить дополнительный уровень безопасности.
Мы не просто вводим имена пользователей в QuickBooks, мы назначаем пароли, и самый первый пароль, который мы назначаем, - это наша учетная запись администратора пользователя. В таблице «ISYSUSER» значения пароля хранятся в поле «пароль».
Все последние версии QuickBooks имеют проверку пароля на основе SHA-256 (ранние версии QuickBooks используют собственный алгоритм хеширования). SHA-256 считается стандартным алгоритмом хеширования подписи. SHA-256 обеспечивает более высокий уровень безопасности и заменил SHA-1 и SHA-2 в качестве рекомендуемого алгоритма.
SHA-256 стал стандартом для всех сертификатов SSL. Обычно сертификаты SSL отображаются при подключении рабочего стола QuickBooks к стороннему приложению через протокол разрешений интегрированного приложения.
Ранее я писал, что этот пароль администратора пользователя является «ключом» к процессу шифрования / дешифрования, который использует QuickBooks. Поскольку эта информация очень важна, QuickBooks хранит все данные, захваченные в окне, показанном выше, во второй, даже более важной таблице, называемой таблицей ABMC_TSAFE.
В отличие от большинства таблиц QuickBooks, эта таблица имеет только одну строку данных, включающую имя ADMIN, хранящееся в виде шестнадцатеричной строки, контрольный вопрос пользователя Admin и ключ ADMIN, который представляет собой зашифрованный пароль администратора и ответ на контрольный запрос.
В следующий раз, во второй части этой серии, мы рассмотрим контроль входа в систему, взаимосвязь ролей и разрешений пользователей, а также проблемы нарушения безопасности, механизмы защиты конфиденциальных данных и формы повреждения, связанные с этими функциями безопасности. .
QuickBooks Desktop: пароли, шифрование, дешифрование ... Часть 2
В первой части своего мини-сериала, состоящего из двух частей, Мерф исследовал фундаментальную структуру файлов QuickBooks и концепции, используемые для защиты ваших данных. Он внимательно изучил принципы шифрования и дешифрования и посмотрел, как учетные записи пользователей и их пароли создаются и хранятся в QuickBooks.
Согласно справке «Справка QuickBooks», пользователи должны использовать окно входа в QuickBooks, чтобы открыть файл компании, защищенный паролем.Если окно входа в систему запрашивает только пароль, необходимо ввести пароль администратора.
Если окно входа в систему запрашивает и имя пользователя, и пароль, пользователи должны ввести свое имя пользователя и пароль, которые были установлены в файле. В справке говорится, что «имена пользователей и пароли создаются для файлов компании, а не для самого приложения QuickBooks».
Как мы обсуждали в прошлый раз, когда вводится пароль, он хешируется и сравнивается с проверочным значением. Если оба значения равны, пользователь входит в приложение и в файл компании.
Позвольте мне сказать, что существует ряд процедур SQL, хранящихся в различных «системных таблицах», которые используются для управления и изменения некоторых аспектов входа в систему (например, «LoginProc»).
Подобные хранимые процедуры - вот почему, если вы установили пароль, но не создали других пользователей, QuickBooks отображает окно входа в систему, которое обеспечивает только ввод пароля, а не ввод пользователя и пароля.
Несмотря на то, что вы можете подумать, даже несмотря на то, что QuickBooks использует методы внутреннего контроля доступа (например, детализированные роли пользователей на основе безопасности в Enterprise и гораздо более упрощенные права пользователей в Pro и Premier), что касается Sybase SQL Anywhere, все пользователи имеют равные права доступа.
Ни база данных, ни сервер базы данных «не интересуются» тем, к каким данным индивидуум должен или не должен получать доступ. Приложение QuickBooks является эксклюзивным средством контроля соответствия внутреннему контролю доступа, основанному на таблицах разрешений, содержащихся в файле компании.
Именно здесь я хочу обратить наше внимание на потерю пароля администратора и механизм Intuit для сброса пароля администратора QuickBooks.
До QuickBooks 2011 R6 и QuickBooks 2010 R12, если вы теряли пароль администратора, вам приходилось обращаться в службу поддержки QuickBooks и либо загружать, либо получать их помощь с помощью инструмента сброса пароля QuickBooks.
Поскольку эти версии QuickBooks содержат встроенный (внутренний) инструмент сброса пароля, вам больше не нужно загружать эту утилиту. И старый загруженный инструмент, и внутренний инструмент требуют «токена безопасности», который генерируется серверами Intuit на основе зарегистрированного номера лицензии QuickBooks:
.Еще в 2010 и 2011 годах я много писал о различных рисках безопасности, связанных с этой технологией. Я сказал, что любой, у кого есть лицензия QuickBooks, по сути, может получить токен для открытия любого «файла», поскольку реальной связи между файлами и лицензированием нет.
Это действительно никогда не менялось.
Что делает эту технологию сброса пароля возможной с помощью простого «токена», по сути, так это «функция бэкдора», встроенная в каждый файл QuickBooks. И этот бэкдор - наш старый друг, таблица «ABMC_TSAFE». Мы узнали о важности этой таблицы в первой части этой серии статей.
«Токен», загруженный из Intuit, представляет собой ключ дешифрования, который фактически «стирает» эту защищенную информацию, делая все другие меры безопасности бессмысленными.К сожалению, токен, даже если он связан с номером лицензии, зависит от постоянного ключа шифрования, согласованного в QuickBooks.
Это на самом деле представляет серьезную угрозу безопасности, потому что любой, кто когда-либо потратит время (для фактического выполнения необходимых вычислительных циклов) на расшифровку ключа шифрования, по сути, может сбросить файлы QuickBooks без выдачи токенов Intuit.
Возвращаясь к теме использования шифрования и дешифрования в файлах QuickBooks, хорошо известно, что распространенной проблемой в QuickBooks, особенно с 2014 года, были ошибки шифрования и дешифрования.
Повреждение учетных записей пользователей QuickBooks и связанных с ними главных ключей было очень разрушительным.
Проблемы такого характера могут повлиять как на пользователей, не являющихся администраторами, так и на учетную запись администратора, но уровень безопасности пользователя - не единственные данные, которые зашифрованы в QuickBooks.
Как упоминалось в Части 1, другие «конфиденциальные данные», такие как номера кредитных карт клиентов, номера социального страхования сотрудников, налоговые идентификационные номера поставщиков, идентификационные номера работодателей и номера банковских счетов, зашифрованы и могут быть повреждены при расшифровке:
Как показано в этом примере, получено из QBWin.log, произошел сбой ключа шифрования конкретного пользователя, поврежден номер социального страхования сотрудника, а также повреждены идентификационные данные нескольких банковских счетов:
Чтобы понять, как влияет такое разнообразие конфиденциальных данных, мы должны понимать, как конфиденциальные данные шифруются в QuickBooks.
Каждый элемент конфиденциальных данных защищен шифрованием, которое можно разблокировать, только применив соответствующий «главный ключ». Мастер-ключи хранятся в нескольких разных таблицах в каждом файле QuickBooks.
Один главный ключ основан на пароле пользователя Admin, вот пример таблицы ABMC_ADMIN_MASTER_KEY, содержащей главные ключи «Admin»:
Другой главный ключ основан на пароле каждого пользователя, не являющегося администратором. Эти данные хранятся в таблице ABMC_MASTER_KEY:
Это означает, что у каждого пользователя есть свой ключ, который должен использоваться для разблокировки каждой части конфиденциальных данных.
Фактические ключи, необходимые для дешифрования каждого элемента конфиденциальных данных, хранятся в таблице под названием ABMC_KEY_PERMISSIONS, которая определяет не только ключи, но и конкретный тип информации, для которого ключ является доступом:
Таким образом, пользователь-администратор или любой «другой пользователь» с соответствующим доступом (установленным ролями или разрешениями QB) к области, содержащей конфиденциальные данные, пытается использовать свой ключ для открытия зашифрованных данных, их ключ должен совпадать или «попарно» сопоставить "фактические ключи, необходимые для расшифровки защищенных записей:
QuickBooks расшифровывает данные и разрешает доступ только тогда, когда происходит требуемое «сопряжение» и «сопоставление».Если подумать, этот процесс похож на сейф в банке.
Перед тем, как сдать ящик в аренду, в банке хранятся два ключа. Они похожи на пользователя Admin в QuickBooks. Они могут открыть ящик, используя оба ключа, чтобы отпереть оба замка.
После того, как вы арендуете ящик, у банка будет один ключ, а у вас - другой. Вы идете в банк, предъявляете удостоверение личности, и вам дают доступ к сейфам.
Далее кто-то из банка приносит вам ключ от банка.Вы можете открыть коробку только после того, как были задействованы оба ключа.
Вы не можете открыть ящик без ключа банка, и банк не может открыть ящик без вашего ключа.
Концепции отраслевых стандартов «платежных карт» для шифрования конфиденциальных данных в значительной степени следуют этому шаблону. И это имеет смысл, если учесть, что на самом деле «индустрия платежных карт» состоит из «крупных банков», которые веками делали это с сейфами.
Эта система была разработана для обеспечения безопасности, но гибкости, позволяя пользователям (с разрешениями) получать доступ к их собственному главному ключу, чтобы получить доступ к уникальной копии ключа конфиденциальных данных для каждой части конфиденциальных данных.Это также означает, что любое изменение пароля пользователя требует обновления только одной записи в соответствующей таблице мастер-ключей.
В то же время этот механизм позволяет пользователю с правами администратора получить доступ ко всем главным ключам, так что пользовательские копии ключей конфиденциальных данных могут быть заменены, изменены или удалены, и / или для замены паролей пользователей вместе с соответствующими копиями зашифрованных отмычки
К сожалению, как известно большинству из нас, существует ряд ошибок, связанных с этой системой шифрования / дешифрования, и с внутренней или структурной точки зрения избыточные дополнительные таблицы создают риски, снижающие безопасность.
Механизмы безопасности в QuickBooks позволяют сообщать о повреждении номеров кредитных карт или других конфиденциальных данных под учетной записью одного пользователя QuickBooks, в то время как другой пользователь QuickBooks может получить доступ к тому же номеру кредитной карты без каких-либо признаков повреждения:
Повреждение заключается не в зашифрованных данных, а в главном ключе пользователя для доступа к этим данным. Таким образом, даже если у них есть разрешения в QuickBooks на доступ к данным, при возникновении проблем с шифрованием или расшифровкой их главного ключа данные будут отображаться в искаженном виде, потому что они все еще зашифрованы для них.
К счастью, с помощью подходящих инструментов специалисты по данным могут восстановить или заменить поврежденные ключи шифрования и даже зашифрованные ключи данных и данные. Но это тема для отдельной статьи.
Несмотря на прошлогодние усовершенствования требований к паролям для QuickBooks и недавние изменения, которые несколько «откатывают» некоторые из этих изменений безопасности, фундаментальный дизайн внутреннего пароля и защиты конфиденциальных данных согласуется с информацией, которую мы изложили в этих двух разделах. часть серии.
Intuit до сих пор не предпринял шагов, чтобы связать отдельные файлы QuickBooks с отдельными номерами лицензий QuickBooks. Это означает, что даже сейчас любой, кто может получить доступ к файлу компании, может открыть этот файл компании с помощью функции сброса пароля администратора в лицензированной версии QuickBooks, для которой у него есть номер лицензии, а также соответствующий номер телефона, связанный с регистрацией, и индекс.