RU2012106610A - Энтропийные пулы для виртуальных машин - Google Patents

Энтропийные пулы для виртуальных машин Download PDF

Info

Publication number
RU2012106610A
RU2012106610A RU2012106610/08A RU2012106610A RU2012106610A RU 2012106610 A RU2012106610 A RU 2012106610A RU 2012106610/08 A RU2012106610/08 A RU 2012106610/08A RU 2012106610 A RU2012106610 A RU 2012106610A RU 2012106610 A RU2012106610 A RU 2012106610A
Authority
RU
Russia
Prior art keywords
entropy
computing device
operating system
program
entropy pool
Prior art date
Application number
RU2012106610/08A
Other languages
English (en)
Other versions
RU2589348C2 (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 RU2012106610A publication Critical patent/RU2012106610A/ru
Application granted granted Critical
Publication of RU2589348C2 publication Critical patent/RU2589348C2/ru

Links

Classifications

    • 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/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/58Random or pseudo-random number generators
    • G06F7/588Random number generators, i.e. based on natural stochastic processes
    • 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/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45579I/O management, e.g. providing access to device drivers or storage
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/58Random or pseudo-random number generators
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/58Random or pseudo-random number generators
    • G06F7/582Pseudo-random number generators
    • G06F7/584Pseudo-random number generators using finite field arithmetic, e.g. using a linear feedback shift register

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Computational Mathematics (AREA)
  • Debugging And Monitoring (AREA)
  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
  • Information Transfer Between Computers (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Feedback Control In General (AREA)
  • Operation Control Of Excavators (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

1. Вычислительное устройство, содержащее:процессор; имашиночитаемый носитель, имеющий сохраненные на нем команды для программы, управляемой программой управления виртуальной машиной, которая при выполнении процессором предписывает процессору:осуществлять доступ к энтропийному пулу программы, причем энтропийный пул сгенерирован на основании, по меньшей мере частично, каждого из одного или более компонентов аппаратного обеспечения вычислительного устройства, в то время как программа выполняется; ииспользовать энтропийный пул как основу для генерации случайного числа.2. Вычислительное устройство по п.1, в котором энтропийный пул получается из главной операционной системы на вычислительном устройстве.3. Вычислительное устройство по п.2, в котором, по меньшей мере, часть энтропийного пула отображается в пространство памяти программы управления виртуальной машиной главной операционной системой.4. Вычислительное устройство по п.2, в котором энтропийный пул получается из главной операционной системы через таблицу базовой системы ввода/вывода (BIOS) программы.5. Вычислительное устройство по п.2, в котором команды дополнительно предписывают процессору:запрашивать дополнительную энтропию из главной операционной системы;принимать из главной операционной системы дополнительные энтропийные данные; ивстраивать дополнительные энтропийные данные в энтропийный пул программы.6. Вычислительное устройство по п.2, в котором команды дополнительно предписывают процессору:принимать дополнительные энтропийные данные из главной операционной системы через конкретные интервалы; ивстраивать дополнительные энтропийные да�

Claims (15)

1. Вычислительное устройство, содержащее:
процессор; и
машиночитаемый носитель, имеющий сохраненные на нем команды для программы, управляемой программой управления виртуальной машиной, которая при выполнении процессором предписывает процессору:
осуществлять доступ к энтропийному пулу программы, причем энтропийный пул сгенерирован на основании, по меньшей мере частично, каждого из одного или более компонентов аппаратного обеспечения вычислительного устройства, в то время как программа выполняется; и
использовать энтропийный пул как основу для генерации случайного числа.
2. Вычислительное устройство по п.1, в котором энтропийный пул получается из главной операционной системы на вычислительном устройстве.
3. Вычислительное устройство по п.2, в котором, по меньшей мере, часть энтропийного пула отображается в пространство памяти программы управления виртуальной машиной главной операционной системой.
4. Вычислительное устройство по п.2, в котором энтропийный пул получается из главной операционной системы через таблицу базовой системы ввода/вывода (BIOS) программы.
5. Вычислительное устройство по п.2, в котором команды дополнительно предписывают процессору:
запрашивать дополнительную энтропию из главной операционной системы;
принимать из главной операционной системы дополнительные энтропийные данные; и
встраивать дополнительные энтропийные данные в энтропийный пул программы.
6. Вычислительное устройство по п.2, в котором команды дополнительно предписывают процессору:
принимать дополнительные энтропийные данные из главной операционной системы через конкретные интервалы; и
встраивать дополнительные энтропийные данные в энтропийный пул программы.
7. Вычислительное устройство по п.1, в котором программа содержит гостевую операционную систему.
8. Вычислительное устройство по п.1, в котором команды дополнительно предписывают процессору:
получать первое значение счетчика команд для программы; и
сохранять случайное число и первое значение счетчика команд для программы.
9. Вычислительное устройство по п.8, в котором команды дополнительно предписывают процессору:
принимать запрос на использование случайного числа;
получать сохраненное первое значение счетчика команд;
получать второе значение счетчика команд для программы, когда запрос принят;
сравнивать второе значение счетчика команд с первым значением счетчика команд;
если первое значение счетчика команд и второе значение счетчика команд одинаковы, тогда использовать случайное число;
если первое значение счетчика команд и второе значение счетчика команд не одинаковы, тогда:
повторно генерировать энтропийный пул программы,
генерировать новое случайное число на основании повторно сгенерированного энтропийного пула, и
использовать новое случайное число.
10. Способ в вычислительном устройстве, состоящий в том, что:
собирают энтропийные данные на основании, по меньшей мере частично, каждого из одного или более компонентов аппаратного обеспечения вычислительного устройства, в то время как работает гостевая операционная система;
обновляют энтропийный пул на основании, по меньшей мере частично, собранных энтропийных данных; и
предоставляют данные из энтропийного пула гостевой операционной системе, работающей как виртуальная машина вычислительного устройства.
11. Способ по п.10, дополнительно содержащий предоставление данных из энтропийного пула гостевой операционной системе в ответ на запрос дополнительной энтропии от гостевой операционной системы.
12. Способ по п.10, дополнительно состоящий в том, что:
собирают дополнительные энтропийные данные на основании, по меньшей мере частично, каждого из одного или более компонентов аппаратного обеспечения устройства; и
обновляют энтропийный пул на основании, по меньшей мере частично, дополнительных собранных энтропийных данных.
13. Способ по п.10, дополнительно содержащий предоставление данных из энтропийного пула гостевой операционной системе, когда гостевая операционная система загружается.
14. Способ по п.13, в котором предоставление данных из энтропийного пула гостевой операционной системе, когда гостевая операционная система загружается, содержит включение, по меньшей мере, части энтропийного пула в пространство памяти виртуальной машины, в котором хранится таблица базовой системы ввода/вывода (BIOS), используемая гостевой операционной системой.
15. Способ по п.10, причем способ реализуют в главной операционной системе вычислительного устройства.
RU2012106610/08A 2009-08-24 2010-08-13 Энтропийные пулы для виртуальных машин RU2589348C2 (ru)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/546,167 US9495190B2 (en) 2009-08-24 2009-08-24 Entropy pools for virtual machines
US12/546,167 2009-08-24
PCT/US2010/045474 WO2011028391A2 (en) 2009-08-24 2010-08-13 Entropy pools for virtual machines

Publications (2)

Publication Number Publication Date
RU2012106610A true RU2012106610A (ru) 2013-08-27
RU2589348C2 RU2589348C2 (ru) 2016-07-10

Family

ID=43606324

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2012106610/08A RU2589348C2 (ru) 2009-08-24 2010-08-13 Энтропийные пулы для виртуальных машин

Country Status (9)

Country Link
US (1) US9495190B2 (ru)
EP (1) EP2470989B1 (ru)
JP (1) JP5745518B2 (ru)
KR (1) KR101761950B1 (ru)
CN (1) CN102473098B (ru)
BR (1) BR112012004052A2 (ru)
CA (1) CA2768062A1 (ru)
RU (1) RU2589348C2 (ru)
WO (1) WO2011028391A2 (ru)

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9286182B2 (en) * 2011-06-17 2016-03-15 Microsoft Technology Licensing, Llc Virtual machine snapshotting and analysis
US9965250B2 (en) * 2011-12-07 2018-05-08 Quintessencelabs Pty Ltd. Integrated quantum-random noise generator using quantum vacuum states of light
CN102609441B (zh) * 2011-12-27 2014-06-25 中国科学院计算技术研究所 基于分布熵的局部敏感哈希高维索引方法
US8954723B2 (en) 2012-05-09 2015-02-10 International Business Machines Corporation Anonymization of data within a streams environment
GB2502541A (en) 2012-05-30 2013-12-04 Ibm Balancing consumption of random data using multiple sources with different levels of entropy
US9086936B2 (en) 2012-07-31 2015-07-21 International Business Machines Corporation Method of entropy distribution on a parallel computer
TWI601063B (zh) 2012-09-19 2017-10-01 聯想企業解決方案(新加坡)有限公司 使用亂數產生器的電腦系統與資料處理方法
US8763085B1 (en) * 2012-12-19 2014-06-24 Trend Micro Incorporated Protection of remotely managed virtual machines
EP2962441B1 (en) * 2013-02-28 2020-04-22 Amazon Technologies, Inc. Configurable-quality random data service
US9819727B2 (en) * 2013-02-28 2017-11-14 Amazon Technologies, Inc. Computing infrastructure for configurable-quality random data
DE102013209915A1 (de) * 2013-05-28 2014-12-04 Siemens Aktiengesellschaft Verfahren und Vorrichtung zur Bereitstellung von Zufallsbitfolgen in einer virtuellen Ausführungsumgebung eines Rechnersystems
US9495544B2 (en) * 2013-06-27 2016-11-15 Visa International Service Association Secure data transmission and verification with untrusted computing devices
US10275268B2 (en) * 2013-08-26 2019-04-30 Red Hat, Inc. Providing entropy to a guest operating system
GB2519115A (en) * 2013-10-10 2015-04-15 Ibm Providing isolated entropy elements
US9436529B2 (en) * 2014-12-26 2016-09-06 Red Hat, Inc. Providing random data to a guest operating system
KR101646689B1 (ko) * 2015-01-29 2016-08-08 국민대학교산학협력단 상대적 독립성을 이용한 누적 엔트로피 평가 장치 및 방법
US20170063550A1 (en) * 2015-04-23 2017-03-02 Keith J Brodie Secure Digital Signature Apparatus and Methods
US9658832B2 (en) 2015-05-18 2017-05-23 Red Hat Israel, Ltd. Multi-factor entropy sourcing for random number generators
US9913137B2 (en) * 2015-09-02 2018-03-06 Huawei Technologies Co., Ltd. System and method for channel security
DE102016223695A1 (de) * 2016-11-29 2018-05-30 Continental Teves Ag & Co. Ohg Verfahren zur Bereitstellung von Zufallszahlen für Steuereinheiten eines Fahrzeugnetzwerks sowie Fahrzeugnetzwerk zur Durchführung dieses Verfahrens
US10333987B2 (en) * 2017-05-18 2019-06-25 Bank Of America Corporation Security enhancement tool for a target computer system operating within a complex web of interconnected systems
US10481872B2 (en) * 2017-08-29 2019-11-19 Colossio, Inc. Cryptographically secure random number generator
US10623183B2 (en) * 2017-11-01 2020-04-14 International Business Machines Corporation Postponing entropy depletion in key management systems with hardware security modules
CN107943450A (zh) * 2017-11-17 2018-04-20 上海众人网络安全技术有限公司 随机数生成方法、装置、计算机设备及计算机可读介质
KR20190028330A (ko) 2018-09-06 2019-03-18 (주) 퓨전데이타 풀 그룹화를 이용한 가상 데스크탑 시스템 및 서비스 방법
US11048477B2 (en) * 2018-09-25 2021-06-29 International Business Machines Corporation Entropy server for random number generation
SG11202104633WA (en) * 2018-11-09 2021-06-29 Visa Int Service Ass Distributed entropy system and method
US11030065B2 (en) * 2018-11-14 2021-06-08 Arm Limited Apparatus and method of generating random numbers
CN112380069B (zh) * 2020-12-04 2022-05-17 海光信息技术股份有限公司 一种虚拟机容错系统及其容错方法

Family Cites Families (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB0013349D0 (en) 2000-06-01 2000-07-26 Tao Group Ltd Pseudo-random number generator
US6986052B1 (en) * 2000-06-30 2006-01-10 Intel Corporation Method and apparatus for secure execution using a secure memory partition
US20060072747A1 (en) 2001-03-30 2006-04-06 Wood Matthew D Enhancing entropy in pseudo-random number generators using remote sources
JP2003051819A (ja) 2001-08-08 2003-02-21 Toshiba Corp マイクロプロセッサ
US20030076956A1 (en) 2001-10-17 2003-04-24 Shackleford J. Barry Software implementation of cellular automata based random number generators
US7103771B2 (en) 2001-12-17 2006-09-05 Intel Corporation Connecting a virtual token to a physical token
US7085933B2 (en) 2002-06-11 2006-08-01 Lenvo (Singapore) Pte, Ltd. Computer system apparatus and method for improved assurance of authentication
US7296294B2 (en) * 2003-03-03 2007-11-13 Microsoft Corporation System for binding secrets to a computer system having tolerance for hardware changes
US7222062B2 (en) 2003-12-23 2007-05-22 Intel Corporation Method and system to support a trusted set of operational environments using emulated trusted hardware
US20060184936A1 (en) * 2005-02-11 2006-08-17 Timothy Abels System and method using virtual machines for decoupling software from management and control systems
US7370190B2 (en) * 2005-03-03 2008-05-06 Digimarc Corporation Data processing systems and methods with enhanced bios functionality
US8281362B2 (en) * 2005-07-14 2012-10-02 Panasonic Corporation Verification method, verification program, recording medium, information processor, and integrated circuit
US8019802B2 (en) * 2005-08-24 2011-09-13 Qualcomm Incorporated Cryptographically secure pseudo-random number generator
US20070061535A1 (en) * 2005-09-12 2007-03-15 Microsoft Corporation Processing unit enclosed operating system
US20070174429A1 (en) * 2006-01-24 2007-07-26 Citrix Systems, Inc. Methods and servers for establishing a connection between a client system and a virtual machine hosting a requested computing environment
US7693811B2 (en) 2006-02-28 2010-04-06 International Business Machines Corporation Generating unique identifiers for logical partitions
US7894602B2 (en) * 2006-03-31 2011-02-22 Sap Ag System and method for generating pseudo-random numbers
RU2313125C1 (ru) 2006-06-05 2007-12-20 ВОЕННАЯ АКАДЕМИЯ СВЯЗИ имени С.М. Буденного Генератор случайной последовательности
US9098347B2 (en) * 2006-12-21 2015-08-04 Vmware Implementation of virtual machine operations using storage system functionality
US9026638B2 (en) 2007-02-05 2015-05-05 Novell, Inc. Stealth entropy collection
US8112753B2 (en) * 2007-02-27 2012-02-07 Red Hat, Inc. Delaying initiation of virtual machine support process by random delay value generated based on unique ID associated with the virtual machine
US8856782B2 (en) * 2007-03-01 2014-10-07 George Mason Research Foundation, Inc. On-demand disposable virtual work system
JP4903071B2 (ja) * 2007-03-15 2012-03-21 株式会社リコー 情報処理装置、ソフトウェア更新方法及び画像処理装置
US7930332B2 (en) * 2007-03-23 2011-04-19 Microsoft Corporation Weighted entropy pool service
US8949827B2 (en) * 2007-06-22 2015-02-03 Red Hat, Inc. Tracking a virtual machine
WO2009013673A2 (en) 2007-07-20 2009-01-29 Nxp B.V. Device with a secure virtual machine
US8307443B2 (en) 2007-09-28 2012-11-06 Microsoft Corporation Securing anti-virus software with virtualization
US20090204964A1 (en) * 2007-10-12 2009-08-13 Foley Peter F Distributed trusted virtualization platform
US8555081B2 (en) * 2007-10-30 2013-10-08 Vmware, Inc. Cryptographic multi-shadowing with integrity verification
US8250127B2 (en) * 2008-01-07 2012-08-21 Aruba Networks, Inc. Harvesting entropy from trusted cryptographic sources
US9262194B2 (en) * 2008-06-10 2016-02-16 Apple Inc. Virtual machine communications
US20100088698A1 (en) * 2008-10-03 2010-04-08 Ravishankar Krishnamurthy Techniques for managing communication sessions
US9026571B2 (en) * 2008-10-27 2015-05-05 Microsoft Technology Licensing, Llc Random number generation failure detection and entropy estimation
US8370835B2 (en) * 2009-03-12 2013-02-05 Arend Erich Dittmer Method for dynamically generating a configuration for a virtual machine with a virtual hard disk in an external storage device
US8478801B2 (en) * 2009-05-20 2013-07-02 Vmware, Inc. Efficient reconstruction of virtual disk hierarchies across storage domains

Also Published As

Publication number Publication date
RU2589348C2 (ru) 2016-07-10
CA2768062A1 (en) 2011-03-10
WO2011028391A2 (en) 2011-03-10
WO2011028391A3 (en) 2011-06-30
JP5745518B2 (ja) 2015-07-08
EP2470989B1 (en) 2018-01-10
US9495190B2 (en) 2016-11-15
KR101761950B1 (ko) 2017-08-04
CN102473098A (zh) 2012-05-23
EP2470989A4 (en) 2013-01-23
EP2470989A2 (en) 2012-07-04
US20110047545A1 (en) 2011-02-24
CN102473098B (zh) 2016-11-16
KR20120065335A (ko) 2012-06-20
BR112012004052A2 (pt) 2016-03-29
JP2013502665A (ja) 2013-01-24

Similar Documents

Publication Publication Date Title
RU2012106610A (ru) Энтропийные пулы для виртуальных машин
EP4310685A3 (en) Gpu virtualisation
Ahmad et al. Tarazu: optimizing mapreduce on heterogeneous clusters
Wang et al. Selective hardware/software memory virtualization
RU2009115656A (ru) Виртуализация для диверсифицированной защиты от несанкционированного вмешательства
MX2016007844A (es) Metodo de procesamiento de recursos, sistema operativo y dispositivo.
GB2523280A (en) Controlling access to groups of memory pages in a virtualized environment
GB2502751A (en) Dynamic memory management in a virtualized computing environment
JP2011507112A5 (ru)
WO2016118033A3 (en) Systems and methods for exposing a result of a current processor instruction upon exiting a virtual machine
US20160196157A1 (en) Information processing system, management device, and method of controlling information processing system
SI2223203T1 (sl) Izvajanje spremembe virtualne topologije konfiguracije
RU2012147699A (ru) Средство виртуализации функций для запроса функции процессора
BRPI0417727A (pt) aparelho, sistema e método para controle sob demanda de recursos de sistema de grade
RU2015121749A (ru) Компилятор, генерирующий безоператорный код
GB2520856A (en) Enabling Virtualization of a processor resource
US20160253193A1 (en) Dynamic virtual machine function enabling
MX2021010584A (es) Inicio de un invitado seguro utilizando un mecanismo de carga de programa inicial.
GB2489080A (en) Transactional updating in dynamic distributed workloads
WO2016118031A3 (en) Computer security systems and methods using hardware-accelerated access to guest memory from below the operating system
Coppola et al. From embedded multi-core socs to scale-out processors
RU2013118640A (ru) Аппаратно-вычилистельный комплекс виртуализации и управления ресурсами в среде облачных вычислений
KR100975747B1 (ko) 마이크로 프로세서 시스템
CN102096594A (zh) 使用内存中系统资源的方法、虚拟机管理器及计算机
Laurenzano et al. A static binary instrumentation threading model for fast memory trace collection

Legal Events

Date Code Title Description
HZ9A Changing address for correspondence with an applicant
MM4A The patent is invalid due to non-payment of fees

Effective date: 20190814