RU2013135237A - Способ загрузки кода по меньшей мере одного программного модуля - Google Patents

Способ загрузки кода по меньшей мере одного программного модуля Download PDF

Info

Publication number
RU2013135237A
RU2013135237A RU2013135237/08A RU2013135237A RU2013135237A RU 2013135237 A RU2013135237 A RU 2013135237A RU 2013135237/08 A RU2013135237/08 A RU 2013135237/08A RU 2013135237 A RU2013135237 A RU 2013135237A RU 2013135237 A RU2013135237 A RU 2013135237A
Authority
RU
Russia
Prior art keywords
code
main memory
operating system
processor
main
Prior art date
Application number
RU2013135237/08A
Other languages
English (en)
Other versions
RU2557459C2 (ru
Inventor
Венсан АМОН
Original Assignee
Виаксесс
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Виаксесс filed Critical Виаксесс
Publication of RU2013135237A publication Critical patent/RU2013135237A/ru
Application granted granted Critical
Publication of RU2557459C2 publication Critical patent/RU2557459C2/ru

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/575Secure boot
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • G06F21/54Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by adding security routines or objects to programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4406Loading of operating system
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/418External card to be used in combination with the client device, e.g. for conditional access
    • H04N21/4181External card to be used in combination with the client device, e.g. for conditional access for conditional access

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mathematical Physics (AREA)
  • Storage Device Security (AREA)
  • Stored Programmes (AREA)

Abstract

1. Способ загрузки кода по меньшей мере одного программного модуля в главную память посредством процессора системы безопасности, характеризующийся тем, что исполняют посредством процессора системы безопасности:код загрузки, осуществляющий загрузку (156) кода главного загрузчика в главную память и затем запускающий (162) исполнение этого главного загрузчика из главной памяти, причем код загрузки записан в энергонезависимом постоянном запоминающем устройстве процессора, начиная с первого адреса, на который указывает порядковый счетчик процессора сразу же после сброса процессора,код главного загрузчика для загрузки (180) в главную память кода многозадачной операционной системы, выполненного с возможностью использования только одного уменьшенного диапазона адресов в главной памяти и для последующего запуска исполнения операционной системы из главной памяти,операционную систему для планирования одновременного исполнения нескольких пользовательских программ указанного процессором,при этомглавный загрузчик также осуществляет загрузку (170) в главную память кода указанного программного модуля перед запуском исполнения операционной системы в диапазон адресов главной памяти, находящийся вне диапазона адресов главной памяти, используемого операционной системой, апосле запуска операционная система переадресует (194) обращение к этому программному модулю из пользовательской программы по адресу в главной памяти, по которому был загружен код программного модуля перед запуском исполнения операционной системы, с использованием особой файловой системы операционной системы, которая автоматически ассоциирует

Claims (15)

1. Способ загрузки кода по меньшей мере одного программного модуля в главную память посредством процессора системы безопасности, характеризующийся тем, что исполняют посредством процессора системы безопасности:
код загрузки, осуществляющий загрузку (156) кода главного загрузчика в главную память и затем запускающий (162) исполнение этого главного загрузчика из главной памяти, причем код загрузки записан в энергонезависимом постоянном запоминающем устройстве процессора, начиная с первого адреса, на который указывает порядковый счетчик процессора сразу же после сброса процессора,
код главного загрузчика для загрузки (180) в главную память кода многозадачной операционной системы, выполненного с возможностью использования только одного уменьшенного диапазона адресов в главной памяти и для последующего запуска исполнения операционной системы из главной памяти,
операционную систему для планирования одновременного исполнения нескольких пользовательских программ указанного процессором,
при этом
главный загрузчик также осуществляет загрузку (170) в главную память кода указанного программного модуля перед запуском исполнения операционной системы в диапазон адресов главной памяти, находящийся вне диапазона адресов главной памяти, используемого операционной системой, а
после запуска операционная система переадресует (194) обращение к этому программному модулю из пользовательской программы по адресу в главной памяти, по которому был загружен код программного модуля перед запуском исполнения операционной системы, с использованием особой файловой системы операционной системы, которая автоматически ассоциирует адрес программного модуля в пространстве виртуальной памяти пользовательской программы с физическим адресом программного модуля в главной памяти.
2. Способ по п.1, в котором перед запуском исполнения главного загрузчика код загрузки, исполняемый процессором, проверяет (158) аутентичность кода главного загрузчика на основе сигнатуры кода и криптографического ключа и запускает исполнение главного загрузчика только в случае аутентичности кода.
3. Способ по п.2, в котором:
в процессе исполнения главный загрузчик конфигурирует (176) сопроцессор безопасности, имеющийся в составе интегральной схемы процессора, причем сопроцессор проверяет аутентичность кода программного модуля на основе сигнатуры, предоставляемой вместе с кодом указанного модуля, и криптографического ключа,
после запуска исполнения системы эксплуатации сопроцессор безопасности автоматически проверяет (178) через заданные интервалы аутентичность загруженного кода программного модуля, так что исполнение программного модуля не допускается в случае его неаутентичности, при этом указанный сопроцессор использует для этой цели собственное энергонезависимое запоминающее устройство и собственное запоминающее устройство с произвольной выборкой для исполнения без обращения к главной памяти проверки аутентичности кода программного модуля, причем указанные энергонезависимое запоминающее устройство и запоминающее устройство с произвольной выборкой доступны исключительно для сопроцессора безопасности.
4. Способ по п.2, в котором:
главный загрузчик конфигурирует (168) сопроцессор безопасности, имеющийся в интегральной схеме, составляющей процессор, для сокрытия команд, записанных в первом диапазоне адресов главной памяти, куда загружен код программного модуля, причем указанное сокрытие состоит в сохранении в зашифрованном виде, с использованием криптографического ключа Koc1, команд кода программного модуля, записанного в указанном диапазоне адресов, и
после запуска исполнения системы эксплуатации указанный сопроцессор безопасности автоматически расшифровывает с использованием ключа Koc1 каждую команду, считанную из указанного первого диапазона адресов, перед исполнением команды процессором, причем указанный сопроцессор использует для этой цели собственное энергонезависимое запоминающее устройство и собственное запоминающее устройство с произвольной выборкой для исполнения без обращения к главной памяти указанной расшифровки с применением ключа Koc1, причем указанное энергонезависимое запоминающее устройство и указанное запоминающее устройство с произвольной выборкой доступны исключительно для указанного сопроцессора безопасности.
5. Способ по п.4, в котором записывают исполняемый код программного модуля в зашифрованном с использованием ключа Koc1 виде в энергонезависимое запоминающее устройство, а главный загрузчик осуществляет загрузку указанного кода программного модуля, зашифрованного с применением ключа Koc1, непосредственно в главную память.
6. Способ по п.2, в котором:
главный загрузчик конфигурирует (168) сопроцессор безопасности, имеющийся в интегральной схеме процессора для сокрытия данных, записанных во втором диапазоне адресов главной памяти, причем указанное сокрытие заключается в шифровании указанных данных, а затем
в процессе выполнения (194), после запуска операционной системы, программный модуль записывает данные во второй диапазон адресов и
в ответ на это сопроцессор безопасности шифрует каждый сегмент данных, подлежащий записи во второй диапазон адресов, перед передачей указанного сегмента данных в шину данных, соединяющую процессор с главной памятью, и расшифровывает каждый сегмент данных, считанный процессором из второго диапазона адресов, при получении указанного сегмента данных процессором из шины данных перед использованием указанного сегмента данных процессором, так что каждый сегмент данных, записанный во втором диапазоне адресов главной памяти, находится вне интегральной схемы, составляющей процессор, исключительно в зашифрованном виде, при этом указанный сопроцессор использует для этой цели собственное энергонезависимое запоминающее устройство и собственное запоминающее устройство с произвольной выборкой для исполнения, без использования ресурсов главной памяти, указанного шифрования и указанной расшифровки, причем указанное энергонезависимое запоминающее устройство и указанное запоминающее устройство с произвольной выборкой доступны исключительно для указанного сопроцессора безопасности.
7. Способ по п.2, в котором:
в процессе исполнения главный загрузчик конфигурирует (182) сопроцессор безопасности, имеющийся в интегральной схеме процессора, с тем, чтобы сопроцессор проверил аутентичность загруженного кода операционной системы на основе сигнатуры, предоставленной вместе с кодом этой операционной системы, и криптографического ключа,
при этом после запуска исполнения операционной системы сопроцессор безопасности автоматически и через заданные промежутки времени проверяет аутентичность кода операционной системы и не допускает выполнения операционной системы в случае неаутентичности кода, причем сопроцессор использует для этой цели собственное энергонезависимое запоминающее устройство и собственное запоминающее устройство с произвольной выборкой для выполнения без использования ресурсов главной памяти указанной проверки аутентичности кода операционной системы, при этом указанное энергонезависимое запоминающее устройство и указанное запоминающее устройство с произвольной выборкой доступны исключительно для указанного сопроцессора безопасности.
8. Способ по любому из пп.1-7, в котором главный загрузчик осуществляет загрузку (170) кода программного модуля в непрерывный диапазон адресов главной памяти, не разбитый операционной системой на страницы.
9. Способ по любому из п.п.1-7, в котором код главного загрузчика прекращает выполняться после запуска операционной системы и не выполняется до тех пор, пока не произойдет сброс процессора системы безопасности.
10. Способ по любому из пп.1-7, в котором операционная система после запуска устанавливает механизм виртуальной памяти между выделенной пользователю подсекцией главной памяти и одним или более запоминающими устройствами большой емкости.
11. Способ по любому из пп.1-7, в котором программный модуль включает в себя сегменты данных или код библиотеки условного доступа, причем указанные сегменты данных или указанный код позволяют расшифровать криптограмму управляющего слова, имеющуюся в сообщении ЕСМ (сообщение управления правами).
12. Способ приема контента мультимедиа, скремблированного с использованием управляющих слов CWi,t, содержащий этапы, на которых:
принимают (200) сообщение ЕСМ (сообщение управления правами), содержащее криптограмму C W i , t
Figure 00000001
управляющего слова CWi,t;
загружают программный модуль в главную память приемного терминала, причем программный модуль выполнен с возможностью расшифровки криптограммы C W i , t
Figure 00000002
для получения управляющего слова CWi,t при исполнении программного модуля процессором, соединенным с главной памятью посредством шины данных;
исполняют указанный программный модуль процессором для расшифровки (200) криптограммы C W i , t
Figure 00000001
;
дескремблируют контенты мультимедиа, скремблированные с использованием управляющего слова CWi,t в открытой форме; и
загружают указанный программный модуль в соответствии со способом по любому из пп.1-7.
13. Носитель записи информации (78, 94, 102), содержащий команды для реализации способа по любому из пп.1-7 при исполнении указанных команд электронным процессором системы безопасности.
14. Терминал, оснащенный:
главной памятью (92)
процессором системы безопасности (90), имеющим вид интегральной схемы, в которой реализованы микропроцессор (99), выполненный с возможностью исполнять команды, записанные в главной памяти, сопроцессор безопасности (100), энергонезависимое запоминающее устройство (102) и запоминающее устройство с произвольной выборкой (103), доступные исключительно для указанного сопроцессора безопасности, причем указанный процессор соединен с главной памятью посредством шины данных,
кодом (128) многозадачной операционной системы, выполненной с возможностью при исполнении процессором операционной системы планировать одновременное выполнение нескольких пользовательских программ,
кодом (104) главного загрузчика, выполненного с возможностью при исполнении процессором главного загрузчика, загружать в главную память код многозадачной операционной системы, выполненной с возможностью использования только одного уменьшенного диапазона адресов в главной памяти, и затем запускать выполнение операционной системы из главной памяти,
командами кода загрузки, который при исполнении указанных команд процессором, выполнен с возможностью загружать код главного загрузчика в главную память, причем указанные команды записаны в энергонезависимое запоминающее устройство (102) сопроцессора, начиная с первого адреса, на который указывает порядковый счетчик процессора сразу после каждого сброса процессора,
одним или несколькими энергонезависимыми запоминающими устройствами (73, 74), содержащими код (125) программного модуля,
при этом главный загрузчик (104) дополнительно выполнен с возможностью при исполнении процессором загружать код программного модуля в главную память прежде запуска исполнения операционной системы в диапазон адресов главной памяти, расположенный вне диапазона адресов, используемого операционной системой, и
после запуска операционная система (128) выполнена с возможностью при исполнении микропроцессором переадресовывать обращение к указанному программному модулю от пользовательской программы по адресу в главной памяти, по которому был загружен код программного модуля до запуска выполнения операционной системы, с использованием особой файловой системы операционной системы, причем указанная файловая система автоматически ассоциирует адрес программного модуля в пространстве виртуальной памяти пользовательской программы с физическим адресом программного модуля в главной памяти.
15. Терминал по п.14, характеризующийся тем, что:
содержит приемник сообщений ЕСМ (70),
причем программный модуль (126) выполнен с возможностью при его исполнении процессором принимать сообщение ЕСМ, расшифровывать криптограмму C W i , t
Figure 00000001
для получения управляющего слова CWi,t, содержащегося в сообщении ЕСМ,
при этом терминал содержит блок дескремблирования, выполненный с возможностью дескремблировать контент мультимедиа, скремблированный с использованием управляющего слова CWi,t, расшифрованного программным модулем.
RU2013135237/08A 2010-12-29 2011-12-16 Способ загрузки кода по меньшей мере одного программного модуля RU2557459C2 (ru)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
FR1061340 2010-12-29
FR1061340A FR2970099B1 (fr) 2010-12-29 2010-12-29 Procede de chargement d'un code d'au moins un module logiciel
PCT/EP2011/073144 WO2012089541A2 (fr) 2010-12-29 2011-12-16 Procede de chargement d'un code d'au moins un module logiciel

Publications (2)

Publication Number Publication Date
RU2013135237A true RU2013135237A (ru) 2015-02-10
RU2557459C2 RU2557459C2 (ru) 2015-07-20

Family

ID=44227970

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2013135237/08A RU2557459C2 (ru) 2010-12-29 2011-12-16 Способ загрузки кода по меньшей мере одного программного модуля

Country Status (8)

Country Link
EP (1) EP2659360B8 (ru)
CN (1) CN103282913B (ru)
ES (1) ES2701030T3 (ru)
FR (1) FR2970099B1 (ru)
PL (1) PL2659360T3 (ru)
RU (1) RU2557459C2 (ru)
TW (1) TWI490724B (ru)
WO (1) WO2012089541A2 (ru)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2632141C2 (ru) * 2015-06-30 2017-10-02 Общество С Ограниченной Ответственностью "Яндекс" Способ и компьютерное устройство для динамической индексации и загрузки кодов модулей

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104573522B (zh) * 2013-10-21 2018-12-11 深圳市腾讯计算机系统有限公司 一种漏洞分析方法和装置
US10235303B2 (en) * 2015-09-10 2019-03-19 Qualcomm Incorporated Secure entry and exit for software modules protected by controlled encryption key management
US10754829B2 (en) * 2017-04-04 2020-08-25 Oracle International Corporation Virtual configuration systems and methods
CN109211239B (zh) * 2018-08-30 2022-09-16 中体彩科技发展有限公司 一种关联产品定位系统
CN109684089B (zh) * 2018-12-18 2020-08-18 创新奇智(广州)科技有限公司 一种基于预测模型的任务调度方法、系统及电子设备
TWI791244B (zh) * 2019-04-07 2023-02-01 新唐科技股份有限公司 監控系統開機之安全裝置及其方法
CN112069506B (zh) * 2020-09-16 2024-02-23 地平线(上海)人工智能技术有限公司 一种安全启动方法和装置
CN112270010B (zh) * 2020-11-17 2024-04-12 上海好连网络科技有限公司 可执行文件远程安全加载的方法

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE60228027D1 (de) * 2001-07-06 2008-09-18 Texas Instruments Inc Sicherer Bootloader zum Sichern digitaler Geräte
FR2862397A1 (fr) * 2003-11-13 2005-05-20 St Microelectronics Sa Demarrage securise d'un appareil electronique a architecture smp
US7620179B2 (en) 2004-01-29 2009-11-17 Comcast Cable Holdings, Llc System and method for security processing media streams
US7974253B2 (en) * 2005-03-08 2011-07-05 Qualcomm Incorporated Methods and apparatus for implementing and using a rate indicator
US20060211490A1 (en) * 2005-03-17 2006-09-21 Falvey Grahame M Security for gaming devices
US9177176B2 (en) * 2006-02-27 2015-11-03 Broadcom Corporation Method and system for secure system-on-a-chip architecture for multimedia data processing
EP1868127A1 (en) * 2006-06-15 2007-12-19 Thomson Telecom Belgium Device comprising a public and a private area and a method for securely initializing the device
TW200912634A (en) * 2007-09-07 2009-03-16 Inventec Corp Error-detecting system and method
US20090193230A1 (en) * 2008-01-30 2009-07-30 Ralf Findeisen Computer system including a main processor and a bound security coprocessor
US8150039B2 (en) * 2008-04-15 2012-04-03 Apple Inc. Single security model in booting a computing device
US8838924B2 (en) * 2008-05-24 2014-09-16 Via Technologies, Inc. Microprocessor having internal secure memory

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2632141C2 (ru) * 2015-06-30 2017-10-02 Общество С Ограниченной Ответственностью "Яндекс" Способ и компьютерное устройство для динамической индексации и загрузки кодов модулей
US10346182B2 (en) 2015-06-30 2019-07-09 Yandex Europe Ag Method and system for dynamic indexation and loading of module codes
US10528364B2 (en) 2015-06-30 2020-01-07 Yandex Europe Ag Method and system for dynamic indexation and loading of module codes

Also Published As

Publication number Publication date
WO2012089541A2 (fr) 2012-07-05
FR2970099B1 (fr) 2013-01-11
EP2659360B1 (fr) 2018-09-05
WO2012089541A3 (fr) 2012-08-23
ES2701030T3 (es) 2019-02-20
PL2659360T3 (pl) 2019-02-28
EP2659360B8 (fr) 2018-11-14
TW201234210A (en) 2012-08-16
CN103282913B (zh) 2015-11-25
FR2970099A1 (fr) 2012-07-06
CN103282913A (zh) 2013-09-04
TWI490724B (zh) 2015-07-01
RU2557459C2 (ru) 2015-07-20
EP2659360A2 (fr) 2013-11-06

Similar Documents

Publication Publication Date Title
RU2013135237A (ru) Способ загрузки кода по меньшей мере одного программного модуля
US11816230B2 (en) Secure processing systems and methods
US9177152B2 (en) Firmware authentication and deciphering for secure TV receiver
US7058818B2 (en) Integrated circuit for digital rights management
US20120060039A1 (en) Code Download and Firewall for Embedded Secure Application
US20070180271A1 (en) Apparatus and method for providing key security in a secure processor
JP2004164491A (ja) プログラム更新方法およびサーバ
US8412903B2 (en) Method and system for managing secure code loading in PC-slave devices
US20090187769A1 (en) System and method for an autonomous software protection device
KR20070022062A (ko) 보안 모듈 컴포넌트
US20100153667A1 (en) Method, computer program and electronic device
TW201007454A (en) Security module for audio/video data processing unit
EP2028579B1 (en) Information processing apparatus and method for installing an encrypted program in a key implemented system
JP2007141044A (ja) 情報処理装置、及びプログラム実行制御方法
KR101266251B1 (ko) 디지털 콘텐츠의 보안유지 방법 및 장치
US11556673B2 (en) Method for managing an instance of a class
CN106326782A (zh) 一种信息处理方法及电子设备
EP3292504B1 (en) Secure element with shared memories, for a multi-image owner device
US11770246B2 (en) Securely transferring key materials between processors in a multi-processor device
US9740837B2 (en) Apparatus and method for preventing cloning of code
US20240160433A1 (en) Control device and control system
KR101271479B1 (ko) 모바일 콘텐츠 보호를 위한 탈착형 메모리를 이용한 보안 시스템 및 그 제어방법
Ruan et al. Breaking the Boundaries with Dynamically Loaded Applications

Legal Events

Date Code Title Description
MM4A The patent is invalid due to non-payment of fees

Effective date: 20201217