CN111095251B - 电子设备及其控制方法 - Google Patents

电子设备及其控制方法 Download PDF

Info

Publication number
CN111095251B
CN111095251B CN201880060263.8A CN201880060263A CN111095251B CN 111095251 B CN111095251 B CN 111095251B CN 201880060263 A CN201880060263 A CN 201880060263A CN 111095251 B CN111095251 B CN 111095251B
Authority
CN
China
Prior art keywords
cache
input
input address
input value
address
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
CN201880060263.8A
Other languages
English (en)
Other versions
CN111095251A (zh
Inventor
金东煜
朴镇范
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
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 Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of CN111095251A publication Critical patent/CN111095251A/zh
Application granted granted Critical
Publication of CN111095251B publication Critical patent/CN111095251B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1416Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights
    • G06F12/145Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being virtual, e.g. for virtual blocks or segments before a translation mechanism
    • 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/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • 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
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/04Addressing variable-length words or parts of words
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0866Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
    • G06F12/0871Allocation or management of cache space
    • 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/55Detecting local intrusion or implementing counter-measures
    • G06F21/556Detecting local intrusion or implementing counter-measures involving covert channels, i.e. data leakage between processes
    • 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
    • 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
    • G06F21/75Protecting 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 by inhibiting the analysis of circuitry or operation
    • 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/45583Memory management, e.g. access or allocation
    • 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/45587Isolation or security of virtual machine instances
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1016Performance improvement
    • G06F2212/1021Hit rate improvement

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Virology (AREA)
  • Mathematical Physics (AREA)
  • Storage Device Security (AREA)

Abstract

公开了一种电子设备及其控制方法。根据本公开的电子设备包括存储器和处理器,所述处理器包括缓存存储器和CPU,并且所述处理器通过使用存储在存储器中的程序来控制电子设备,其中,CPU监视在缓存存储器中访问输入值的输入地址,并且当在缓存存储器中访问输入值的输入地址变为预置模式时,改变输入地址。

Description

电子设备及其控制方法
技术领域
本公开涉及一种电子设备及其控制方法,更具体地,涉及一种用于防止缓存计时攻击的电子设备及其控制方法。
背景技术
随着电子技术的发展,正在开发和分布各种类型的电子设备。此外,由于通信技术的发展,各种电子设备正在向经由有线网络或无线网络连接的用户提供各种服务。随着各种电子设备的发展,已经提出了用于提高电子设备的安全性的各种方法。例如,最近,使用通过各种加密方法生成的代码来保护电子设备,并且保护其他各种信息。
然而,随着加密技术的发展,用于解密代码的技术也在发展。最近,已经提出了使用物理攻击方法(例如,边信道攻击)来找出加密密钥或密码的方法。
边信道攻击包括缓存计时攻击、功率分析攻击、电磁分析攻击(EM攻击)等。具体地,上述方法可以通过分析用于各种计算的输出值的输出时间、用于各种计算的功耗、或用于各种计算而产生的磁波来分析代码。
边信道攻击可以与暴力破解方法一起使用。暴力破解是指用所有可能的值来解密特定代码的攻击方法。
为了防止诸如上面所述的边信道攻击和暴力破解,传统上已经讨论了通过修改加密算法本身来改***件的物理特征的各种方法。
发明内容
技术问题
已经设计了本公开来解决上述问题,并且目的在于通过检测攻击者的攻击意图来在不修改加密算法的情况下防止攻击。
技术方案
根据用于解决上述问题的本公开的实施例,电子设备包括存储器和处理器,所述处理器包括缓存存储器和中央处理单元(CPU),并且所述处理器通过使用存储在存储器中的程序来控制电子设备,其中,CPU监视在缓存存储器中访问输入值的输入地址,并且当在缓存存储器中访问输入值的输入地址变为预置模式时,改变输入地址。
CPU可以基于通过特定输入地址在缓存存储器中访问输入值预定次数,监视在缓存存储器中访问输入值的输入地址。
CPU可以确定在缓存存储器中通过特定输入地址访问的输入值是缓存命中还是缓存未命中,并且基于在缓存未命中发生预定次数或更多次之后发生缓存命中,监视在缓存存储器中访问输入值的输入地址。
预置模式可以包括在缓存存储器中访问输入值的输入地址以预置地址增加或减少的模式。
CPU可以选择性地以在正常操作***(OS)中操作的正常环境和在安全OS中操作的安全环境中的一个来操作,并且在以正常环境操作时,监视在缓存存储器中访问输入值的输入地址。
CPU可以控制多个虚拟操作***的管理程序模式操作,并且以管理程序模式监视在缓存存储器中访问输入值的输入地址。
缓存存储器可包括包含多个字的多个缓存组,且CPU可基于在多个字中的一个字中访问输入值的输入地址改变为预置模式,将访问输入值的输入地址改变为包括所述一个字的缓存组的第一字的输入地址。
根据解决上述问题的本公开的另一实施例,电子设备的控制方法包括:基于在缓存存储器中访问输入值,监视访问输入值的输入地址,以及基于访问输入值的输入地址变为预置模式,改变输入地址。
监视可以包括基于通过特定输入地址在所述缓存存储器中访问输入值预定次数,监视访问输入值的输入地址。
监视还可以包括确定在缓存存储器中通过特定输入地址访问的输入值是缓存命中还是缓存未命中,以及基于在缓存未命中发生预定次数或更多次之后发生缓存命中,监视在缓存存储器中访问输入值的输入地址。
预置模式包括在缓存存储器中访问输入值的输入地址以预置地址增加或减少的模式。
监视还可以包括选择性地以在正常操作***(OS)中操作的正常环境和在安全OS中操作的安全环境中的一个来操作,以及在以正常环境操作时监视在缓存存储器中访问输入值的输入地址。
监视还可以包括以控制多个虚拟操作***的管理程序模式操作,以及以管理程序模式监视在缓存存储器中访问输入值的输入地址。
缓存存储器可以包括多个包含多个字的缓存组,并且所述改变可以基于在多个字中的一个字中访问输入值的输入地址改变为预置模式,将访问输入值的输入地址改变为包括所述一个字的缓存组的第一字的输入地址。
根据解决上述问题的又一实施例,一种包括用于控制电子设备的程序的计算机可读记录介质,所述电子设备的控制方法包括:基于在缓存存储器中访问输入值,监视访问输入值的输入地址;以及基于访问输入值的输入地址变为预置模式,改变输入地址。
发明的效果
根据如上所述的本公开的各种实施例,电子设备可以通过检测攻击者的攻击来在不修改加密算法的情况下防止攻击者的缓存计时攻击。
附图说明
图1a和图1b是用于描述通过常规计时攻击找到加密密钥的方法的示例性视图;
图2是用于描述根据本公开的实施例的对缓存存储器的缓存计时攻击的示例性视图;
图3是用于简要示出根据本公开的实施例的用于防止缓存计时攻击的电子设备的配置的框图;
图4是用于详细示出根据本公开的实施例的电子设备300的配置的框图;
图5是用于描述根据本公开的实施例的用于防止缓存计时攻击的方法的示例性视图;
图6是用于描述根据本公开的实施例的预置模式的示例性视图;
图7是用于描述根据本公开的实施例的TrustZone中的缓存监视器的操作的示例性视图;
图8是用于描述根据本公开的实施例的虚拟机中的缓存监视器的操作的示例性视图;
图9a和图9b是用于描述可应用根据本公开的安全方法的多种实施例的示例性视图;以及
图10是用于描述根据本发明实施例的电子设备的操作的流程图。
具体实施方式
在描述本公开时,将简要描述本文使用的术语,并且将更详细地描述本公开。
在实施例中使用的术语是广泛使用的通用术语,其是在已经考虑了本文中的功能的情况下被选择的,但是可以根据相关领域技术人员的意图或司法先例、新技术的出现等而变化。在特定情况下,可以存在由申请人任意选择的术语,并且在这种情况下,该术语的含义将在详细描述的相应部分中详细公开。因此,本文所用的术语应基于术语的含义和贯穿本公开的整体内容来定义而不是基于术语的简单名称来定义。
可以对各种实施例进行各种修改,并且由此可以产生各种类型的实施例。因此,具体实施例可以在附图中示出,并且在详细描述中更详细地描述。然而,应当注意,各种实施例不是用于将本公开的范围限制为特定实施例,并且应当被解释为包括包含在本文公开的思想和技术范围中的实施例的所有修改、等同或替换。在描述实施例时,基于确定相关已知技术的详细描述可能混淆本公开的要点,可以省略其详细描述。
诸如第一、第二等的术语可用于描述各种元件,但该元件不应受到这些术语的限制。这些术语可以仅用于将一个元件与另一个元件区分开的目的。
除非在上下文中另有明确说明,否则单数表述可以包括复数表述。应当理解,本文使用的诸如“包括”或“由……组成”的术语是指特征、数字、步骤、操作、元件、组件或其组合的存在,而不排除一个或多个其它特征、数字、步骤、操作、元件、组件或其组合的存在或添加的可能性。
在本文的实施例中使用的术语“模块”或“部分”执行至少一个功能或操作,并且可以实现为硬件或软件、或硬件和软件的组合。此外,除了需要实现至特定硬件的‘模块’或‘部分’之外,多个‘模块’或‘部分’可以被集成到至少一个模块并且在至少一个处理器(未示出)中实现。
在实施例中,当某一部件被称为“连接到”另一部件时,不仅是指部件“直接连接”的情况,而且还是指部件通过在其间***另一元件而“电连接”的情况。此外,当某个部分被称为“包括”某个元件时,除非另有说明,否则这可意味着可以进一步包括其他元件,而不是排除其他元件。
下面参考附图更详细地描述详细描述,以使本公开所属技术领域的普通技术人员能够容易地实践本公开。然而,本发明可实施为各种不同形式且不限于本文所述的实施例。为了清楚地描述本公开,省略了与描述无关的部件,并且在整个说明书中将相同的附图标记赋予相同的部件。
此外,根据一个实施例,:“应用程序”指的是被设计成执行特定任务的一组计算机程序。在实施例中,应用程序可以变化。例如,应用程序可以包括游戏应用程序、视频回放应用程序、地图应用程序、备忘录应用程序、日历应用程序、电话簿应用程序、广播应用程序、锻炼支持应用程序、支付应用程序、图像文件夹应用程序、医疗器械控制应用程序、用于在多个医疗器械中提供用户界面的应用程序等,但不限于此。
根据实施例的电子设备300可以被实现为智能电话,但是这仅是一个实施例,并且可包括智能电话、平板个人计算机(PC)、移动电话、视频电话、电子书阅读器、台式PC、膝上型PC、上网本计算机、工作站、服务器、个人数字助理(PDA)、便携式多媒体播放器(PMP)、MP3播放器、移动医疗设备、照相机或可佩戴设备中的至少一个。根据各种实施例,可佩戴装置可包括附件类型(例如:手表、戒指、手镯、脚镯、项链、一副眼镜、一对隐形眼镜、或头戴装置(HMD))、织物或衣服嵌入型(例如:电子衣服)、身体可附着类型(例如:皮肤垫或纹身)或生物可植入类型(例如:可植入电路)。
根据另一实施例,电子设备300可以是家用电器。家用电器可以包括例如电视、数字视频盘(DVD)播放器、音频、冰箱、空调、真空吸尘器、烤箱、微波炉、洗衣机、空气净化器、机顶盒、家庭自动化控制面板、安全控制面板、电视盒子(例如:三星HomeSyncTM、Apple TVTM或Google TVTM)、游戏控制台(例如:XboxTM、PlayStationTM)、电子词典、电子钥匙、可携式摄像机或电子相框。
根据又一实施例,电子设备300可以包括多种医疗设备(例如:各种便携式医疗测量设备(血糖计、心率计、血压计、温度测量设备等)、磁共振血管造影术(MRA)、磁共振成像(MRI)、计算机断层摄影(CT)、摄影装置、超声波装置等)、导航设备全球导航卫星***(GNSS)、事件数据记录器(EDR)、飞行数据记录器(FDR)、车辆信息娱乐设备、船舶电子设备(例如:船舶导航设备、陀螺仪等)、航空电子设备、安全装置、车头单元、工业或家用机器人、无人机、金融机构的自动柜员机(ATM)、商店销售点、或物联网(IoT)设备(例如:灯泡、各种传感器、电或燃气表、喷洒器装置、火警报警器、恒温器、路灯、烤箱、健身设备、热水箱、加热器、锅炉等)中的至少一种。
根据又一实施例,电子设备300可包括家具或建筑物/结构的一部分、电子板、电子签名接收设备、投影仪或各种测量设备(例如:水、电、气体或无线电波测量设备等)中的至少一个。
图1a和图1b是用于描述用于通过常规计时攻击找到加密密钥的方法的示例性视图。
如图1a所示,基于被输入到用于执行特定的加密算法的处理器(例如,微处理器)的输入值0001和密钥1101,输出值可以在经过了时间2a之后被输出。如图1b所示,基于被输入到用于执行与图1a中相同的加密算法的微处理器的输入值0001和密钥1100,输出值可以在经过时间3a之后被输出。基于要输入的密钥是正确的密钥,用于输出输出值的时间可以是2a,并且基于要输入的密钥是不正确的密钥,用于输出输出值的时间可以是3a。在这种情况下,试图攻击加密算法的攻击者可以识别在图1a和1b中执行的加密算法的密钥是1101。也就是说,攻击者可以在不理解加密算法结构的情况下随机输入多个密钥值,并且使用与输入密钥值相关的输出时间来获得加密算法的密钥。
图2是用于描述根据本公开实施例的对缓存存储器的缓存计时攻击的示范性视图。
如图2所示,缓存存储器可以由第一缓存组210和第二缓存组220组成。此外,第一缓存组210可由第一字211到第四字214组成,且第二缓存组220可由第五字221到第八字224组成。
CPU可以读取缓存组单元中的加密算法,并输出结果。也就是说,基于加密算法程序的大小是大的,由于通过读取加载存储器中的所有数据来执行程序的加密算法程序是低效的,所以缓存存储器可以读取缓存组单元中的加密算法并输出结果。因此,基于加载到第一缓存组210的数据正确的,CPU可读取加载到第二缓存组220的数据。然而,基于加载到第一缓存组210的数据是不正确的,可能不需要读取加载到第二缓存组220的数据。攻击者可以使用该特征来执行计时攻击。下面将更详细地描述具体的攻击方法和防止攻击的方法。
图3是用于简要说明根据本公开实施例的用于防止缓存计时攻击的电子设备的配置的框图。具体地,电子设备300可以包括存储器310和处理器320。
存储器310可以存储在电子设备300的操作中所需的各种程序和数据。存储器310可以实现为非易失性存储器、易失性存储器、闪存、硬盘驱动器(HDD)、固态驱动器(SSD)等。
存储器310可以由处理器320访问,并且获取/记录/校正/删除/更新数据等可以由处理器320执行。本公开中的术语“存储器”可以包括可连接到存储器310和电子设备300的存储卡(未示出)(例如,微型SD卡、记忆棒)。
处理器320可以包括缓存存储器321和CPU 322。缓存存储器321是指用于提高处理器320的处理速度的高速存储设备或缓冲存储器。缓存存储器321可以包括各种类型,例如CPU缓存、缓冲缓存、磁盘缓存等,但是在本公开中,作为示例描述了为CPU缓存的缓存存储器321。缓存存储器321可位于CPU 322附近,但不限于此,且可包含在CPU 322内。
如上所述,缓存存储器321可以包括多个缓存组。缓存组可以是由多个字组成的单元。缓存组可包括四个字,但不限于此。此外,一个字的大小可以是16字节,但是该大小可以改变8字节、12字节、14字节、32字节等。
CPU 322可以控制电子设备300的整体操作。具体来说,CPU 322可读取加载到缓存存储器321的数据,并执行与所加载的数据相关的功能。
例如,CPU 322可以通过执行存储在存储器310中的程序来执行用于控制电子设备300的各种功能。
此外,CPU 322可以监视输入地址,其中,通过该输入地址在缓存存储器321中访问输入值。具体地,基于CPU 322能够访问缓存存储器321的特定地址,CPU 322可以监视正被访问的输入地址。
基于要访问的输入地址改变为预置模式,CPU 322可以将要访问的输入地址改变为任意不同的地址。也就是说,基于要访问的输入地址被改变为预置模式,CPU 322可以将相应的访问识别为由攻击者做出,并且可以任意地改变要访问的输入地址。
例如,基于CPU 322检测到预置模式,可以将访问输入值的输入地址改变为缓存存储器321的初始起始地址。然而,本发明不限于此实施例,且CPU 322可将访问输入值的输入地址改变为缓存存储器321的任意地址。此外,CPU 322可以将与访问输入值的输入地址对应的字改变为包括与输入地址对应的字的缓存组的初始起始字地址。
预置模式可以是在缓存存储器321中访问输入值的输入地址增加或减少的模式。例如,基于以240、214、198和182(当1个字由16个字节组成时)的顺序递减或递增的待监视的输入地址,CPU 322可以改变输入输入值的输入地址。
CPU 322可以在通过输入地址在缓存存储器321中访问输入值预定次数时开始监视输入地址,其中,在缓存存储器321中通过该输入地址访问输入值。也就是说,基于攻击者通常通过暴力破解方法访问缓存存储器321,可以通过相同的输入地址访问缓存存储器321中的多个输入值。因此,基于通过相同的输入地址访问缓存存储器321中的不同输入值预定次数或更多次,CPU 322可以将相应的访问确定为由攻击者访问并开始监视。可以根据代码和加密密钥的类型和长度来不同地设置所确定的次数。
CPU 322可以确定由缓存存储器321的特定输入地址访问的输入值是缓存存储器命中还是缓存存储器未命中。基于在缓存未命中发生预定次数或更多次之后发生的缓存命中,CPU 322可以将相应的访问确定为攻击者的访问并开始监视。
电子设备300可以选择性地与在正常OS中操作的正常环境和在安全OS中操作的安全环境中的一个一起操作。CPU 322可以在正常环境中操作时监视在缓存存储器321中访问输入值的输入地址。
根据另一实施例,电子设备300可以在能够控制多个虚拟操作***的管理程序模式下操作。CPU 322可以在***管理程序模式下监视在缓存存储器321中访问输入值的输入地址。
图4是用于详细说明根据本公开实施例的电子设备300的配置的框图。如图4所示,除了存储器310和处理器320之外,电子设备300还可以包括显示器330、输入器340和通信器350。然而,本公开不限于此,根据需要可以添加或省略一些元件。
如上所述的存储器310可以存储在电子设备300的操作中所需的各种程序和数据。
显示器330可以在显示区域中显示各种屏幕。例如,显示器330可以显示诸如应用执行屏幕、图像、视频图像和文本的内容。
显示器330可以实现为各种形式的显示面板。例如,显示面板可以通过各种显示技术来实现,例如,液晶显示(LCD)、有机发光二极管(OLED)、有源矩阵有机发光二极管(AM-OLED)、硅上液晶(LCOS)或数字光处理(DLP)。
此外,显示器330可以以柔性显示器形式联接到电子设备300的前表面区域、侧表面区域和后表面区域中的至少一个。
输入器340可以包括触摸面板341、笔传感器342、按键343和麦克风344,以接收各种输入。可以通过将显示器330与触摸传感器(未示出)组合来配置触摸面板341,并且触摸传感器可以使用电容型、电阻型、红外方法或超声波方法中的至少一种方法。触摸面板不仅可以包括显示功能,还可以包括检测触摸输入的位置、触摸区域和触摸输入的压力的功能。此外,触摸面板不仅可以包括检测真实触摸的功能,而且还可以包括检测接近触摸的功能。笔传感器342可以被实现为触摸面板341的一部分,或者可以包括用于识别的单独的薄片。按键343可以包括物理按钮、光学按键或键盘。麦克风344可以包括内置麦克风或外部麦克风中的至少一个。
具体地,输入器340可以从各种上述配置接收外部指令,并将其发送到处理器320。处理器320可产生对应于所接收的输入的控制信号并控制电子设备300。
通信器350可以执行与外部设备的通信。具体地,通信器350可以包括各种通信芯片,例如Wi-Fi芯片351、蓝牙芯片352、无线通信芯片353和近场通信(NFC)芯片354。Wi-Fi芯片351,蓝牙芯片352和NFC芯片354可以通过LAN方法、Wi-Fi方法、蓝牙方法和NFC方法执行通信。基于使用Wi-Fi芯片351或蓝牙芯片352,可以首先发送和接收诸如服务集标识符(SSID)和会话密钥的各种连接信息,并且在使用它们建立通信连接之后,可以发送和接收各种信息。无线通信芯片353可以指根据诸如IEEE、Zigbee、第三代(3G)、第三代合作伙伴计划(3GPP)和长期演进(LTE)的各种通信标准执行通信的芯片。
处理器320可以使用存储在存储器310中的各种程序来控制电子设备300的整体操作。
除了缓存存储器321和CPU 322之外,处理器320可以包括随机存取存储器(RAM)323、只读存储器(ROM)324、图形处理器325、第一接口326-1到第n接口326-n以及总线327。缓存存储器321、CPU 322、RAM 323、ROM 324、图形处理器325、第一至第n接口326-1至326-n等可以通过总线327互连。
图5是用于描述根据本公开实施例的用于防止缓存计时攻击的方法的示例性视图。
具体而言,图5中的第一缓存存储器531到第四缓存存储器534用于描述攻击者可以访问缓存存储器并尝试基于代码abcde来学习代码的方法。
具体地,在第一缓存存储器531的情况下,攻击者可以从第四字顺序地输入值“bcbda”,以学习代码abcde。基于在第四字处输入的‘b’不同于作为代码的第一个字母的‘a’,CPU可以不加载第二缓存组520。
在几次尝试之后,攻击者可以如在第二缓存存储器532中那样在第四字处输入值“a”。基于‘a’与作为代码的第一个字母的‘a’相同,CPU可以加载第二缓存组520。攻击者可以基于第二缓存组520被加载,分析第一缓存组510和第二缓存组520被加载的情况与仅第一缓存组510被加载的情况之间的时间差,并获悉代码的第一个字母是a。
基于利用上述方法学习代码的第一个字母,攻击者可以以恒定的速率修改代码的输入地址。也就是说,如第三缓存存储器533所示,攻击者可以从第一字顺序输入“acbda”。基于第四字处的‘c’输入不同于第二代码‘b’,CPU可以不加载第二缓存组520。
在另外几次尝试之后,攻击者可以如在第四缓存存储器534中所示在第三字处输入“a”而在第四字处输入“b”。基于输入代码与实际代码相同,CPU可加载第二缓存组520。攻击者可以基于加载第二缓存组520来获知代码的第一个字母是a,并且代码的第二个字母是b。通过重复上述方法,攻击者可以算出实际的代码。
然而,基于攻击者通过上述方法获得代码,可以根据设置的模式来修改在缓存存储器321中访问输入值的输入地址。
例如,可以假设第一字到第八字是16字节,并且第一字的起始地址是192。如上所述,在从输入地址240输入密文之后,攻击者可以确定文本是否被加载到每个缓存组中,并且学习代码a。使用相同的方法,攻击者可以通过改变密文输入地址来确定密文是否被加载到每个缓存组,从而将代码b应用到输入地址224,将代码c应用到输入地址208,将代码d应用到输入地址192,以及将代码e应用到输入地址176,来学习密文。
即,基于攻击者尝试通过上述方法学习密文,用于输入密文以便学习密文的输入地址可以根据预置模式改变(即,在上述实施例中,输入地址以16字节减少)。然而,基于如上所述的第一字的大小是8字节、12字节、14字节、32字节,输入地址可以由每个字的大小改变。
也就是说,基于根据图6所示的预置模式改变用于输入密文的输入地址,CPU 322可以确定缓存存储器321正在被攻击,并且可以任意改变其后输入的输入地址。
然而,CPU 322不仅可以检测输入地址减少的模式,而且可以检测输入地址增加的模式,以及根据检测到的模式改变在缓存存储器中访问输入值的输入地址。即,预置模式可以是输入地址增加的情况下的模式。
此外,如图6所示,预置模式可以是不仅减少一个字(由16字节组成)的模式,而且可以是输入地址增加或减少预定数量的字的模式。
在一些情况下,预置模式可以是基于特定进程(例如,算法进程、几何进程等)增加或减少字地址的模式。
此外,在图6中,已经基于根据时间的输入地址改变确定预置模式,但是在一些情况下,也可以基于根据输入的数量的输入地址改变来确定预置模式。
返回参考图5,基于攻击者如图5所示的第一缓存存储器531至第四缓存存储器534中那样攻击缓存存储器321并且CPU 322检测到攻击者的攻击,CPU 322可以如第五缓存存储器535和第六缓存存储器536中所示任意改变输入地址。
具体地,基于攻击者利用第四缓存存储器534获得代码a、b,攻击者可以从第二字顺序地输入abXXX以找到第三代码(这里,X可以是任意字母)。然而,如第五缓存存储器353或第六缓存存储器536中所示,基于CPU 322将输入值的访问地址任意改变为第一字511或第四字,攻击者不再能够根据输入来分析输出值的输出时间并找到代码。
第五缓存存储器535是CPU 322已将输入地址改变为第一字的实施例,所述第一字是第一缓存组510的初始起始地址,而第六缓存存储器536是CPU 322已将输入地址改变为第四字的实施例,所述第四字是第一缓存组510的最后地址。然而,另外,CPU 322可以将输入地址改变到各种位置。例如,基于确定缓存存储器321正在被攻击,CPU 322可以将此后要被访问的输入的输入地址改变为所确定的时间点的输入地址。具体地,CPU 322可以基于检测到对第三缓存存储器533中的缓存存储器321的攻击,将此后将被访问的所有输入的输入地址固定到第三字。
也就是说,CPU 322可以考虑攻击者不能访问期望地址的输入值的各种情况来改变输入地址。
图7和图8是用于描述应用图3至图6的方法的各种实施例的示例性视图。
图7是描述在选择性地操作正常环境和安全环境之一的环境中的攻击检测方法的示例性视图。
安全环境是指具有安全性的数据处理架构,而正常环境是指一般的数据处理架构。
根据实施例,处理器320可以使用“ARMTrustZone架构”。对于“ARMTrustZone架构”,公开了一种运行时间架构,它是用于由ARM Holdings划分为两个的***的微处理器。如上所述的运行时间架构包括两种类型的运行时间环境。第一个可以是非安全运行时间环境,其可以被指定为“正常区域”或“正常环境”。非安全运行时间环境可以由正常操作***控制。其他运行时间环境可以是安全运行时间环境,其可以被指定为“TrustZone”、“信任环境”或“安全环境”。安全运行时间环境可以由安全操作***控制。
正常操作***可以是传统的操作***,例如,Android、Windows Phone或Symbian,并且安全操作***可以是嵌入有安全内核的操作***,该安全内核与现有操作***(例如,MOBICORE,RedCastle等)内的安全功能集成在一起。根据ARMTrustZone,上述非安全运行时间环境和安全运行时间环境可以被定义为虚拟运行环境。
如上所述,正常环境710和安全环境720可以被选择性地操作,并且因此,TrustZone架构可以提供监视模式730来管理正常环境710和安全环境720之间的改变。监视模式730的软件可以在安全环境720中操作。
具体地,基于从正常环境710到安全环境720的改变或从安全环境720到正常环境710的改变,监视模式730可以存储当前正在执行的环境的硬件上下文并恢复新环境的上下文。例如,基于从正常环境710到安全环境720的变化,正常环境710的执行环境可以被存储在监视模式730中。因此,基于在安全环境720中操作以及此后在正常环境710中的再次操作,可以在先前存储的正常环境710的环境中执行程序。
如图7所示,基于正常环境710和安全环境720由监视模式730控制,由处理器320产生的各种指令或中断可以通过监视模式传送到每个环境。例如,可以使用安全监视调用(SMC)指令连接正常环境内核模式或安全环境内核模式。
也就是说,处理器320可以使用SMC指令进入监视模式730,并且处理器320可以使用SMC指令将当前执行的模式改变为监视模式730。本公开描述了在实施例中使用SMC指令,但是本公开不限于此。也就是说,除了使用SMC指令之外,处理器320可以使用中断请求(IRQ)或快速中断请求(FIQ)来将当前正在执行的模式改变为监视模式。通常,IRQ可以用作正常环境710的中断,而FIQ可以用作安全环境720的中断。
如图7所示,正常环境710的内核模式还可以包括缓存监视器740。缓存监视器740可配置为监视所访问的输入地址中的变化。具体地,缓存监视器740可以以软件的形式存储在存储器310中,并且如果需要,处理器320可以访问加载有缓存监视器软件的存储器310并执行必要的功能。然而,在图7中,出于描述的方便,将上述的一系列操作描述为由缓存监视器740执行。
缓存监视器740可监视共享存储器750以用于转换正常环境710和安全环境720的操作。共享存储器750可以是缓存存储器321。
处理器320可控制缓存监视器740以初始化缓存监视器740。处理器320可以通过缓存监视器740的预置策略来设置监视所需的时间单位、安全强化策略和进行监视的TA。
基于正在发生的SMC指令,TZ驱动器可以将关于SMC指令的发送器和接收器的信息传送到缓存监视器740。缓存监视器740可以监视共享存储器750的输入地址是否改变为预置模式。也就是说,缓存监视器740可以监视受监视的共享存储器的起始地址不是缓存对准而是以恒定速率改变的趋势。
具体而言,缓存监视器740可基于通过共享存储器750的特定地址访问SMC指令的次数为预定次数或更多次数,监视相应SMC指令的输入地址。
基于根据预置模式改变的对应SMC指令的输入地址,缓存监视器740可确定攻击者已生成SMC指令。预置模式可以指在预定时间内不断增加或减少的输入地址的改变,但不限于此。
基于所确定的攻击者生成的SMC指令此后在共享存储器750中被访问,处理器320可以改变所访问的输入地址。可以根据上述方法改变要改变的输入地址。
处理器320可基于SMC指令返回来刷新关于所监视的共享存储器750的缓存。
图8是用于描述根据本公开实施例的虚拟机中的缓存监视器的操作的示例性视图。
通常,虚拟化技术是用于使用管理程序软件层来生成虚拟机的技术,其中,在所述虚拟机中,多个操作***看起来在实际***硬件中操作。也就是说,如图8所示,管理程序位于硬件和操作***之间,以防止虚拟机直接连接到硬件,并且可以通过将虚拟机彼此分离来增强安全性。
如图8所示,缓存监视器820可以在管理程序上操作。如图7所描述的那样,缓存监视器820可以以软件的形式存储在存储器310中,并且如果需要,处理器320可以访问加载有缓存监视器软件的存储器310以执行必要的功能。
域0和域1可以使用管理程序调用(HVC)指令连接。因此,缓存监视器820可以监视HVC指令以检测攻击者的攻击。
具体地,处理器320可以控制缓存监视器820并初始化缓存监视器820。处理器320可以通过缓存监视器820的预置策略来设置监视所需的时间单位、安全强化策略和进行监视的TA。
处理器320可基于生成HVC指令将关于HVC指令的发射器和接收器的信息传送到缓存监视器820。缓存监视器820可以监视共享存储器810的输入地址是否改变为预置模式。也就是说,缓存监视器820可以监视受监视的共享存储器810的起始地址的不是缓存对准而是以恒定速率改变的趋势。
具体地,缓存监视器820可以基于通过共享存储器810的特定地址访问HVC指令的次数是预定的次数或更多来监视相应的HVC指令的输入地址。
基于根据预置模式改变的对应的HVC指令的输入地址,缓存监视器820可以确定攻击者已经生成了HVC指令。预置模式可以指在预定时间内不断增加或减少的输入地址的改变,但不限于此。
基于所确定的攻击者生成的HVC指令此后在共享存储器810中被访问,处理器320可以改变所访问的输入地址。处理器320可基于HVC指令返回来刷新关于所监视的共享存储器810的缓存。
图9a和9b是用于描述可应用根据本公开的安全方法的各种实施例的示例性视图。
如图9a所示,攻击者可以通过缓存计时攻击来黑客攻击电子设备300的设置口令。具体地,攻击者可以在电子设备300中安装恶意应用程序或恶意代码,而不管用户意图如何。攻击者可以尝试使用安装的应用程序或恶意代码来学习可接近程序的密码。也就是说,攻击者可以使用安装的应用程序或恶意代码来执行缓存计时攻击。
电子设备300可以使用如上所述的缓存监视方法来监视输入值的地址的改变,并且基于输入值的地址根据预置模式改变来改变输入地址以防止攻击者的攻击。
对于用于黑客攻击诸如图9a中所示程序的设置密码以及用于黑客攻击加密密钥的缓存计时攻击,可以应用相同的方法。加密密钥可以是指在各种方法的加密算法中使用的加密密钥。例如,攻击者可以通过缓存计时攻击来黑客攻击各种类型的加密密钥,例如高级加密标准(AES)算法的对称密钥或Rivest-Shamir-Adleman(RSA)算法的密钥。也就是说,攻击者可以黑客攻击各种类型的加密密钥,而不管加密算法的类型。
在如图9b所示的实施例中,基于用户从电子设备300的内容服务应用910和920下载加密内容,攻击者可以使用预先安装的恶意应用或恶意程序来执行缓存计时攻击。攻击者可以通过缓存计时攻击来黑客攻击用于解密存储在电子设备300的安全区域中的内容的密钥。因此,电子设备300可以使用如上所述的缓存监视方法来监视输入值的地址的改变,并且基于输入值的地址根据预置模式改变来改变输入地址以防止攻击者的攻击。
然而,本公开不限于图9a和9b的实施例,本公开的方法可以应用于接近要求安全性的数据的各种实施例。也就是说,基于攻击者通过缓存计时攻击来黑客攻击特定数据,电子设备300可以通过缓存监视器来检测和防止攻击者的攻击。
图10是用于描述根据本发明实施例的电子设备的操作的流程图。
CPU 322可以访问缓存存储器321中的输入值(S1010)。
CPU 322可以基于输入值在缓存存储器321中被访问来监视访问输入值的输入地址(S1020)。如上所述,CPU 322可以根据特定条件开始监视缓存存储器321。例如,基于相同地址以预定次数或更多次访问输入值,当在预定次数或更多次的缓存未命中之后产生缓存命中时,CPU 322可以开始监视缓存存储器321。
CPU 322可以确定访问输入值的输入地址是否改变为预置模式(S1030)。预置模式可以是这样一种模式,在该模式在,访问缓存存储器321中的输入值的输入地址以预置地址增加或减少。
基于访问输入值的输入地址未改变为预置模式(S1030-N),CPU 322可以继续监视缓存存储器321。
基于访问输入值的输入地址改变为预置模式(S1030-Y),CPU 322可以改变在缓存存储器321中访问输入值的输入地址(S1040)。可以通过各种方法来确定要改变的输入地址。例如,CPU 322可以将输入地址改变为包括输入地址的缓存组的初始第一字或最后一个字,或者改变为在确定了预定模式时所访问的输入值的输入地址。
根据各种实施例的设备(例如:模块或电子设备300)或方法(例如:操作)可以通过至少一个计算机(例如:处理器320)执行包括在例如由计算机可读存储介质维护的程序中的至少一个程序中的指令(或多个指令)来执行。
基于由计算机(例如:处理器320)执行指令,所述至少一个计算机可以执行对应于该指令的功能。计算机可读存储介质例如可以是存储器310。
程序可以包括在计算机可读存储介质中,例如,硬盘、软盘、磁介质(例如:磁带)、光学介质(例如:光盘只读存储器(CD-ROM))、数字多功能盘(DVD)、磁光介质(例如:光碟)或硬件设备(例如:只读存储器(ROM))、随机存取存储器(RAM)、闪存等)。存储介质通常可以被包括作为电子设备300的配置的一部分,可以通过电子设备300的端口安装,或者可以被包括在电子设备300的位于外部的外部设备(例如,云服务器或不同的电子设备)中。此外,程序可以被划分并存储在多个存储介质中,并且多个存储介质的至少一部分可以位于电子设备300的外部设备中。
指令不仅可以包括由编译器创建的机器语言代码,还可以包括可由计算机使用解释器等执行的高级语言代码。上述硬件装置可配置为操作一个或多个软件模块以执行各种实施例的操作,且反之亦然。
虽然已经参考本公开的各种实施例说明和描述了本公开,但是本公开不限于所描述的具体实施例。本领域技术人员将理解,在不脱离本公开的精神和范围的情况下,可以在形式和细节上进行各种改变。

Claims (13)

1.一种电子设备,包括:
存储器;以及
处理器,所述处理器包括缓存存储器和中央处理单元,并且配置为使用存储在所述存储器中的程序来控制所述电子设备,
其中,所述中央处理单元配置为:
基于在缓存未命中发生预定次数或更多次之后发生缓存命中,监视在所述缓存存储器中访问输入值的输入地址;以及
基于在所述缓存存储器中访问所述输入值的输入地址改变为预置模式,改变所述输入地址,
其中,所述预置模式包括在所述缓存存储器中访问输入值的输入地址以预置地址增加或减少的模式。
2.根据权利要求1所述的电子设备,其中,所述中央处理单元配置为:基于通过特定输入地址在所述缓存存储器中访问输入值预定次数,监视在所述缓存存储器中访问所述输入值的输入地址。
3.根据权利要求1所述的电子设备,其中,所述中央处理单元配置为:
确定在所述缓存存储器中通过特定输入地址访问的输入值是缓存命中还是缓存未命中。
4.根据权利要求1所述的电子设备,其中,所述中央处理单元配置为:
选择性地以在正常操作***中操作的正常环境和在安全操作***中操作的安全环境中的一个来操作;以及
在以所述正常环境操作时,监视在所述缓存存储器中访问输入值的输入地址。
5.根据权利要求1所述的电子设备,其中,所述中央处理单元配置为:
以控制多个虚拟操作***的管理程序模式操作;以及
以所述管理程序模式监视在所述缓存存储器中访问输入值的输入地址。
6.根据权利要求1所述的电子设备,其中,所述缓存存储器包括多个缓存组,所述缓存组包含多个字,以及
中央处理单元配置为:
基于在所述多个字中的一个字中访问输入值的输入地址改变为所述预置模式,将访问所述输入值的输入地址改变为包括所述一个字的缓存组的初始起始字的输入地址。
7.一种电子设备的控制方法,包括:
基于在缓存存储器中访问输入值以及在缓存未命中发生预定次数或更多次之后发生缓存命中,监视访问所述输入值的输入地址;以及
基于访问所述输入值的输入地址变为预置模式,改变所述输入地址,
其中,所述预置模式包括在所述缓存存储器中访问输入值的输入地址以预置地址增加或减少的模式。
8.根据权利要求7所述的方法,其中,所述监视包括:
基于通过特定输入地址在所述缓存存储器中访问输入值预定次数,监视访问所述输入值的输入地址。
9.根据权利要求7所述的方法,其中,所述监视还包括:
确定在所述缓存存储器中通过特定输入地址访问的输入值是缓存命中还是缓存未命中。
10.根据权利要求7所述的方法,其特征在于,所述监视还包括:
选择性地以在正常操作***中操作的正常环境和在安全操作***中操作的安全环境中的一个来操作;以及
在以正常环境操作时,监视在缓存存储器中访问输入值的输入地址。
11.根据权利要求7所述的方法,其中,所述监视还包括:
以控制多个虚拟操作***的管理程序模式操作;以及
以所述管理程序模式监视在缓存存储器中访问输入值的输入地址。
12.根据权利要求7所述的方法,其中,所述缓存存储器包括多个缓存组,所述缓存组包括多个字
其中,所述改变包括:
基于在所述多个字中的一个字中访问输入值的输入地址改变为所述预置模式,将访问所述输入值的输入地址改变为包括所述一个字的缓存组的第一字的输入地址。
13.一种非暂存性的计算机可读记录介质,包括用于执行电子设备的控制方法的程序,其中,所述电子设备的控制方法包括:
基于在缓存存储器中访问输入值以及在缓存未命中发生预定次数或更多次之后发生缓存命中,监视访问所述输入值的输入地址;以及
基于访问所述输入值的输入地址变为预置模式,改变所述输入地址,
其中,所述预置模式包括在所述缓存存储器中访问输入值的输入地址以预置地址增加或减少的模式。
CN201880060263.8A 2017-09-28 2018-09-12 电子设备及其控制方法 Active CN111095251B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
KR1020170125929A KR102411884B1 (ko) 2017-09-28 2017-09-28 전자 장치 및 그의 제어 방법
KR10-2017-0125929 2017-09-28
PCT/KR2018/010657 WO2019066317A1 (ko) 2017-09-28 2018-09-12 전자 장치 및 그의 제어 방법

Publications (2)

Publication Number Publication Date
CN111095251A CN111095251A (zh) 2020-05-01
CN111095251B true CN111095251B (zh) 2023-09-01

Family

ID=65902516

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201880060263.8A Active CN111095251B (zh) 2017-09-28 2018-09-12 电子设备及其控制方法

Country Status (4)

Country Link
US (1) US11366766B2 (zh)
KR (1) KR102411884B1 (zh)
CN (1) CN111095251B (zh)
WO (1) WO2019066317A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022092498A1 (ko) * 2020-10-30 2022-05-05 재단법인대구경북과학기술원 캐시 부 채널 공격 탐지 방법 및 장치

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1133991A (zh) * 1995-04-19 1996-10-23 联华电子股份有限公司 使用进出数据不同可读写存储装置的软件保护装置及方法
CN1723448A (zh) * 2002-11-18 2006-01-18 Arm有限公司 用于保护以防恶意程序的安全存储器
WO2014075891A1 (en) * 2012-11-14 2014-05-22 Gemalto Sa Method to counter side channel attack on sensitive data
CN106788974A (zh) * 2016-12-22 2017-05-31 深圳国微技术有限公司 掩码s盒、分组密钥计算单元、装置及对应的构造方法

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070150530A1 (en) 2005-12-13 2007-06-28 Intel Corporation Resisting cache timing based attacks
US8549208B2 (en) * 2008-12-08 2013-10-01 Teleputers, Llc Cache memory having enhanced performance and security features
KR101418962B1 (ko) 2009-12-11 2014-07-15 한국전자통신연구원 부채널 공격 방지를 위한 보안 장치 및 방법
US8990582B2 (en) * 2010-05-27 2015-03-24 Cisco Technology, Inc. Virtual machine memory compartmentalization in multi-core architectures
JP2012023618A (ja) 2010-07-15 2012-02-02 Laurel Bank Mach Co Ltd 暗号装置及び暗号プログラム
JP5840160B2 (ja) 2013-02-27 2016-01-06 日本電信電話株式会社 暗号演算装置、暗号演算方法、およびプログラム
US9813235B2 (en) 2013-03-11 2017-11-07 Indian Institute of Technology Kharagpur Resistance to cache timing attacks on block cipher encryption
KR101455293B1 (ko) 2013-03-28 2014-10-31 고려대학교 산학협력단 캐시 공격 탐지 장치 및 방법
WO2015084344A1 (en) 2013-12-04 2015-06-11 Empire Technolgy Development, Llc Detection of side channel attacks between virtual machines
US9436603B1 (en) * 2014-02-27 2016-09-06 Amazon Technologies, Inc. Detection and mitigation of timing side-channel attacks
US10382410B2 (en) * 2016-01-12 2019-08-13 Advanced Micro Devices, Inc. Memory operation encryption
KR102028657B1 (ko) 2016-12-20 2019-10-04 고려대학교 산학협력단 부채널 공격에 대한 방어대책을 갖는 모바일 장치
US10706147B1 (en) * 2017-05-19 2020-07-07 Amazon Technologies, Inc. Mitigating side-channel attacks via shared cache

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1133991A (zh) * 1995-04-19 1996-10-23 联华电子股份有限公司 使用进出数据不同可读写存储装置的软件保护装置及方法
CN1723448A (zh) * 2002-11-18 2006-01-18 Arm有限公司 用于保护以防恶意程序的安全存储器
WO2014075891A1 (en) * 2012-11-14 2014-05-22 Gemalto Sa Method to counter side channel attack on sensitive data
CN106788974A (zh) * 2016-12-22 2017-05-31 深圳国微技术有限公司 掩码s盒、分组密钥计算单元、装置及对应的构造方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
New Cache Designs for Thwarting Software Cache-based side channel attacks;zhenghong wang et al.;《ACM》;第2-4节 *

Also Published As

Publication number Publication date
KR20190036706A (ko) 2019-04-05
KR102411884B1 (ko) 2022-06-22
WO2019066317A1 (ko) 2019-04-04
US20200250106A1 (en) 2020-08-06
US11366766B2 (en) 2022-06-21
CN111095251A (zh) 2020-05-01

Similar Documents

Publication Publication Date Title
US10979901B2 (en) Electronic device and method for processing data in electronic device
US10735427B2 (en) Method and apparatus for managing program of electronic device
KR102564267B1 (ko) 전자 장치 및 그 동작 방법
KR102485830B1 (ko) 보안 정보의 처리
US10237269B2 (en) Method of providing information security and electronic device thereof
CN105653084B (zh) 屏幕配置方法、电子设备和存储介质
US10187359B2 (en) Secure message transmission apparatus and processing method thereof
KR102291719B1 (ko) 애플리케이션 보호 방법 및 장치
EP3012770B1 (en) Method for unlocking device based on touch size, shape, number of touches pattern
US20170132399A1 (en) Method for user authentication and electronic device implementing the same
KR20160036927A (ko) 고스트 터치 저감을 위한 방법 및 그 전자 장치
KR20150135837A (ko) 디스플레이 운용 전자장치 및 방법
KR20180046149A (ko) 인증을 수행하기 위한 전자 장치 및 방법
US20170078269A1 (en) Method for managing application and electronic device supporting the same
KR102253155B1 (ko) 사용자 인터페이스를 제공하는 방법 및 이를 위한 전자 장치
KR20140114263A (ko) 어플리케이션 인증 방법 및 이를 구현하는 전자 장치
KR20140112399A (ko) 어플리케이션 접근 제어 방법 및 이를 구현하는 전자 장치
US10936057B2 (en) System and method for natural three-dimensional calibration for robust eye tracking
CN111095251B (zh) 电子设备及其控制方法
KR20160045428A (ko) 잠금 해제 방법 및 장치
EP3662399B1 (en) Electronic device and control method thereof
KR102489918B1 (ko) 전자 장치 및 이의 제어 방법
KR20200106483A (ko) 화면 구성 방법, 전자 장치 및 저장 매체
KR20200058147A (ko) 전자 장치 및 그의 제어 방법

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant