Использование микросхем специальной памяти для обеспечения защиты ПЛИС FPGA от копирования

№ 12’2008
PDF версия
В статье описывается метод защиты проектов в ПЛИС FPGA от копирования, называемый «определение — друг или враг» (Identification Friend or Foe, IFF). Суть его заключается в том, что функционирование проекта вПЛИС FPGA не разрешается до тех пор, пока не произойдет совпадения хэш-последовательностей, вычисленных специальным блоком внутри FPGA и во внешней микросхеме специальной памяти. При этом проект остается защищенным даже при перехвате конфигурационного потока, поскольку выделить блок расчета хэш/последовательности в этом случае практически невозможно, а в микросхеме специальной памяти доступ к блоку расчета хэш-последовательности заблокирован. Таким образом, микросхему специальной памяти можно использовать как дополнительную защитную микросхему для ПЛИС FPGA.

Введение

Большинство семейств СБИС программируемой логики с архитектурой FPGA (Field of Programmable Gate Arrays) выпускаются по технологии статического ОЗУ и требуют конфигурирования после включения питания (для этого служат специализированные внешние ПЗУ). При этом проекты, реализованные на FPGA, уязвимы для копирования, поскольку конфигурационный поток данных может быть перехвачен и использован недобросовестными людьми для несанкционированного повторения проекта. Некоторые семейства FPGA могут использовать кодированный конфигурационный поток для защиты проектов от копирования. Но для этого нужна дополнительная операция программирования декодирующего ключа в энергонезависимую память FPGA, как правило, с использованием дополнительного оборудования. К тому же микросхемы, поддерживающие кодированную конфигурацию, довольно дороги. Большинство семейств FPGA не имеет возможности использования кодированного конфигурационного потока. Для таких семейств эффективным средством защиты проектов от копирования является использование микросхем специальной памяти.

Реализация

Концепция IFF требует специальной дополнительной микросхемы, в которой реализован хэш–алгоритм. На рис. 1 представлена реализация IFF с использованием микросхемы специальной памяти DS28E01.

Рис. 1. Реализация концепции IFF
Рис. 1. Реализация концепции IFF

Микросхема DS28E01 фирмы Dallas Semiconductor (в настоящее время данным брендом владеет фирма Maxim Integrated Products, Inc.) содержит 1024 бит EEPROM и специальный блок для аппаратного определения хэшпоследовательности в соответствии с алгоритмом SHA–1 (Secure Hash Algorithm, стандарт ISO/IEC 10118–3). Хэш–последовательность представляет собой 160–битный аутентификационный код (Message Authentication Code, MAC). Модуль SHA–1 в микросхеме DS28E01 аппаратно вычисляет MAC для массива случайных чисел, cгенерированного специальным модулем в FPGA и записанного в область данных EEPROM. Для вычисления MAC применяется 64–битный ключ, заранее сохраненный в секретной области EEPROM микросхемы DS28E01.

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

В микросхеме DS28E01[1] реализован однопроводной интерфейс 1–Wire, поэтому для подключения ее к FPGA нужна всего одна линия ввода/вывода. В соответствии со спецификацией 1–Wire эта линия ввода/вывода FPGA должна быть двунаправленной, и ее выходной каскад должен представлять собой буфер с открытым стоком. Для обеспечения уровня логической единицы линия подтягивается внешним резистором к напряжению питания соответствующего банка ввода/вывода.

Компания Altera предлагает пример разработки (Reference Design), в котором используется концепция IFF для защиты проектов в FPGA семейства Cyclone III от несанкционированного копирования (проект CIII_ Design_Security_Enabler). На рис. 2 представлена блок–схема этого примера разработки.

Рис. 2. Блок-схема примера разработки с реализацией защиты проектов в FPGA от копирования
Рис. 2. Блок–схема примера разработки с реализацией защиты проектов в FPGA от копирования

В этом примере пользовательский проект представляет собой обычный 8–разрядный двоичный счетчик с входом разрешения. Применяя данный пример разработки в качестве шаблона, пользователь может заменить этот счетчик своим проектом.

В FPGA кроме пользовательского проекта располагается блок аутентификации, реализующий проверку IFF (SHA–1 IFF Engine). Структура этого блока представлена на рис. 3.

Рис. 3. Структура блока аутентификации (SHA-1 IFF Engine)
Рис. 3. Структура блока аутентификации (SHA–1 IFF Engine)

Блок аутентификации состоит из трех модулей:

  • RNG_8bits.vhd — 8–разрядный генератор случайных чисел;
  • small_micro_32.vhd — модуль, вычисляющий MAC сгенерированного массива случайных чисел в соответствии с алгоритмом SHA–1 и сравнивающий его с MAC, считанным из микросхемы специальной памяти DS28E01;
  • One_Wire.vhd — модуль, реализующий однопроводной интерфейс между FPGA и микросхемой DS28E01.

Блок имеет следующие порты ввода/вывода:

  • Clock_In — входной тактовый сигнал;
  • Resetn_In — входной асинхронный сигнал сброса/перезапуска;
  • One_Wire — двунаправленный сигнал для обмена данными по однопроводному интерфейсу с микросхемой DS28E01;
  • Enable — выходной сигнал, который разрешает или запрещает работу пользовательского проекта.

Пользователь может задавать следующие параметры:

  • SECRET_KEY — секретный ключ для вычисления MAC массива случайных чисел. Этот ключ должен совпадать с тем, который записан в микросхему DS28E01.
  • SYSCLOCK — частота входного тактового сигнала Clock_In (задается в Гц). Этот параметр используется для обеспечения временных требований стандарта 1–Wire. Максимальное значение SYSCLOCK — 100 МГц.

Блок аутентификации занимает примерно 800 логических элементов и один блок встроенного ОЗУ M9K в микросхеме семейства Cyclone III. По методике, описанной в данной статье, пользователь может разработать свой собственный, более компактный блок аутентификации (например, можно использовать компактное процессорное ядро для программной реализации как алгоритма SHA–1, так и протокола 1–Wire).

После включения питания микросхема FPGA конфигурируется потоком данных, содержащим проект пользователя и блок аутентификации. После завершения конфигурирования SHA–1 IFF Engine запрещает работу пользовательского проекта и начинает процесс аутентификации:

  • генерирует массив случайных чисел, сохраняет его в памяти FPGA и по однопроводному интерфейсу записывает его в область данных EEPROM микросхемы DS28E01;
  • считывает уникальный идентификационный номер из микросхемы специальной памяти;
  • выдает команду микросхеме специальной памяти на вычисление MAC для сохраненного в EEPROM DS28E01 массива случайных чисел;
  • считывает МАС из микросхемы DS28E01 и вычисляет свой MAC для сохраненного в памяти FPGA массива случайных чисел.

Работа пользовательского проекта разрешается только в том случае, если считанный из микросхемы DS28E01 и рассчитанный блоком SHA–1 IFF Engine коды совпадают.

На рис. 4 показан алгоритм работы блока проверки при реализации концепции IFF.

Рис. 4. Алгоритм работы блока аутентификации при реализации концепции IFF*
Рис. 4. Алгоритм работы блока аутентификации при реализации концепции IFF*

После разрешения работы пользовательского проекта блок SHA–1 IFF Engine выключается для снижения потребляемой микросхемой FPGA мощности. Пользователь может повторно запустить блок аутентификации, организовав управление по входу Reset c помощью внешних цепей или управляющего автомата.

Как уже упоминалось, для расчета хэшпоследовательности в микросхеме DS28E01 используется ключ, заранее записанный в секретную область памяти. Для записи секретного ключа в DS28E01 в описываемом примере разработки компании Altera имеется специально предназначенный для этого проект CIII_Design_Security_Load. Этот проект аналогичен уже рассмотренному CIII_Design_Security_Enabler, за исключением того, что блок SHA–1 IFF Engine после завершения конфигурирования FPGA записывает секретный ключ в микросхему DS28E01. Алгоритм работы проекта CIII_Design_Security_Load показан на рис. 5.

Рис. 5. Алгоритм работы проекта программирования секретного ключа
Рис. 5. Алгоритм работы проекта программирования секретного ключа

Проект CIII_Design_Security_Load рекомендуется для программирования небольших партий микросхем DS28E01.

Для обеспечения массового производства можно заказать у фирмы–производителя партию микросхем DS28E01 с запрограммированнымна на фабрике секретным ключом.

Литература

  1. www.maxim-ic.com/DS28E01
xosotin chelseathông tin chuyển nhượngcâu lạc bộ bóng đá arsenalbóng đá atalantabundesligacầu thủ haalandUEFAevertonxosofutebol ao vivofutemaxmulticanaisonbetbóng đá world cupbóng đá inter milantin juventusbenzemala ligaclb leicester cityMUman citymessi lionelsalahnapolineymarpsgronaldoserie atottenhamvalenciaAS ROMALeverkusenac milanmbappenapolinewcastleaston villaliverpoolfa cupreal madridpremier leagueAjaxbao bong da247EPLbarcelonabournemouthaff cupasean footballbên lề sân cỏbáo bóng đá mớibóng đá cúp thế giớitin bóng đá ViệtUEFAbáo bóng đá việt namHuyền thoại bóng đágiải ngoại hạng anhSeagametap chi bong da the gioitin bong da lutrận đấu hôm nayviệt nam bóng đátin nong bong daBóng đá nữthể thao 7m24h bóng đábóng đá hôm naythe thao ngoai hang anhtin nhanh bóng đáphòng thay đồ bóng đábóng đá phủikèo nhà cái onbetbóng đá lu 2thông tin phòng thay đồthe thao vuaapp đánh lô đềdudoanxosoxổ số giải đặc biệthôm nay xổ sốkèo đẹp hôm nayketquaxosokq xskqxsmnsoi cầu ba miềnsoi cau thong kesxkt hôm naythế giới xổ sốxổ số 24hxo.soxoso3mienxo so ba mienxoso dac bietxosodientoanxổ số dự đoánvé số chiều xổxoso ket quaxosokienthietxoso kq hôm nayxoso ktxổ số megaxổ số mới nhất hôm nayxoso truc tiepxoso ViệtSX3MIENxs dự đoánxs mien bac hom nayxs miên namxsmientrungxsmn thu 7con số may mắn hôm nayKQXS 3 miền Bắc Trung Nam Nhanhdự đoán xổ số 3 miềndò vé sốdu doan xo so hom nayket qua xo xoket qua xo so.vntrúng thưởng xo sokq xoso trực tiếpket qua xskqxs 247số miền nams0x0 mienbacxosobamien hôm naysố đẹp hôm naysố đẹp trực tuyếnnuôi số đẹpxo so hom quaxoso ketquaxstruc tiep hom nayxổ số kiến thiết trực tiếpxổ số kq hôm nayso xo kq trực tuyenkết quả xổ số miền bắc trực tiếpxo so miền namxổ số miền nam trực tiếptrực tiếp xổ số hôm nayket wa xsKQ XOSOxoso onlinexo so truc tiep hom nayxsttso mien bac trong ngàyKQXS3Msố so mien bacdu doan xo so onlinedu doan cau loxổ số kenokqxs vnKQXOSOKQXS hôm naytrực tiếp kết quả xổ số ba miềncap lo dep nhat hom naysoi cầu chuẩn hôm nayso ket qua xo soXem kết quả xổ số nhanh nhấtSX3MIENXSMB chủ nhậtKQXSMNkết quả mở giải trực tuyếnGiờ vàng chốt số OnlineĐánh Đề Con Gìdò số miền namdò vé số hôm nayso mo so debach thủ lô đẹp nhất hôm naycầu đề hôm naykết quả xổ số kiến thiết toàn quốccau dep 88xsmb rong bach kimket qua xs 2023dự đoán xổ số hàng ngàyBạch thủ đề miền BắcSoi Cầu MB thần tàisoi cau vip 247soi cầu tốtsoi cầu miễn phísoi cau mb vipxsmb hom nayxs vietlottxsmn hôm naycầu lô đẹpthống kê lô kép xổ số miền Bắcquay thử xsmnxổ số thần tàiQuay thử XSMTxổ số chiều nayxo so mien nam hom nayweb đánh lô đề trực tuyến uy tínKQXS hôm nayxsmb ngày hôm nayXSMT chủ nhậtxổ số Power 6/55KQXS A trúng roycao thủ chốt sốbảng xổ số đặc biệtsoi cầu 247 vipsoi cầu wap 666Soi cầu miễn phí 888 VIPSoi Cau Chuan MBđộc thủ desố miền bắcthần tài cho sốKết quả xổ số thần tàiXem trực tiếp xổ sốXIN SỐ THẦN TÀI THỔ ĐỊACầu lô số đẹplô đẹp vip 24hsoi cầu miễn phí 888xổ số kiến thiết chiều nayXSMN thứ 7 hàng tuầnKết quả Xổ số Hồ Chí Minhnhà cái xổ số Việt NamXổ Số Đại PhátXổ số mới nhất Hôm Nayso xo mb hom nayxxmb88quay thu mbXo so Minh ChinhXS Minh Ngọc trực tiếp hôm nayXSMN 88XSTDxs than taixổ số UY TIN NHẤTxs vietlott 88SOI CẦU SIÊU CHUẨNSoiCauVietlô đẹp hôm nay vipket qua so xo hom naykqxsmb 30 ngàydự đoán xổ số 3 miềnSoi cầu 3 càng chuẩn xácbạch thủ lônuoi lo chuanbắt lô chuẩn theo ngàykq xo-solô 3 càngnuôi lô đề siêu vipcầu Lô Xiên XSMBđề về bao nhiêuSoi cầu x3xổ số kiến thiết ngày hôm nayquay thử xsmttruc tiep kết quả sxmntrực tiếp miền bắckết quả xổ số chấm vnbảng xs đặc biệt năm 2023soi cau xsmbxổ số hà nội hôm naysxmtxsmt hôm nayxs truc tiep mbketqua xo so onlinekqxs onlinexo số hôm nayXS3MTin xs hôm nayxsmn thu2XSMN hom nayxổ số miền bắc trực tiếp hôm naySO XOxsmbsxmn hôm nay188betlink188 xo sosoi cầu vip 88lô tô việtsoi lô việtXS247xs ba miềnchốt lô đẹp nhất hôm naychốt số xsmbCHƠI LÔ TÔsoi cau mn hom naychốt lô chuẩndu doan sxmtdự đoán xổ số onlinerồng bạch kim chốt 3 càng miễn phí hôm naythống kê lô gan miền bắcdàn đề lôCầu Kèo Đặc Biệtchốt cầu may mắnkết quả xổ số miền bắc hômSoi cầu vàng 777thẻ bài onlinedu doan mn 888soi cầu miền nam vipsoi cầu mt vipdàn de hôm nay7 cao thủ chốt sốsoi cau mien phi 7777 cao thủ chốt số nức tiếng3 càng miền bắcrồng bạch kim 777dàn de bất bạion newsddxsmn188betw88w88789bettf88sin88suvipsunwintf88five8812betsv88vn88Top 10 nhà cái uy tínsky88iwinlucky88nhacaisin88oxbetm88vn88w88789betiwinf8betrio66rio66lucky88oxbetvn88188bet789betMay-88five88one88sin88bk88xbetoxbetMU88188BETSV88RIO66ONBET88188betM88M88SV88Jun-68Jun-88one88iwinv9betw388OXBETw388w388onbetonbetonbetonbet88onbet88onbet88onbet88onbetonbetonbetonbetqh88mu88Nhà cái uy tínpog79vp777vp777vipbetvipbetuk88uk88typhu88typhu88tk88tk88sm66sm66me88me888live8live8livesm66me88win798livesm66me88win79pog79pog79vp777vp777uk88uk88tk88tk88luck8luck8kingbet86kingbet86k188k188hr99hr99123b8xbetvnvipbetsv66zbettaisunwin-vntyphu88vn138vwinvwinvi68ee881xbetrio66zbetvn138i9betvipfi88clubcf68onbet88ee88typhu88onbetonbetkhuyenmai12bet-moblie12betmoblietaimienphi247vi68clupcf68clupvipbeti9betqh88onb123onbefsoi cầunổ hũbắn cáđá gàđá gàgame bàicasinosoi cầuxóc đĩagame bàigiải mã giấc mơbầu cuaslot gamecasinonổ hủdàn đềBắn cácasinodàn đềnổ hũtài xỉuslot gamecasinobắn cáđá gàgame bàithể thaogame bàisoi cầukqsssoi cầucờ tướngbắn cágame bàixóc đĩaAG百家乐AG百家乐AG真人AG真人爱游戏华体会华体会im体育kok体育开云体育开云体育开云体育乐鱼体育乐鱼体育欧宝体育ob体育亚博体育亚博体育亚博体育亚博体育亚博体育亚博体育开云体育开云体育棋牌棋牌沙巴体育买球平台新葡京娱乐开云体育mu88qh88

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

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