电子装置以及该电子装置的操作方法
文献发布时间:2023-06-19 09:41:38
技术领域
本公开的一个或多个实施例总体上涉及用于使用安全开关保护个人信息的电子装置和方法。
背景技术
传统的电子装置可以包括用于存储用户个人信息的安全存储器。安全存储器可以在物理上与通用存储器分开,并且用户可以将安全数据存储在安全存储区域中,以增强数据的安全性。
以上信息仅作为背景信息呈现,以帮助理解本公开。关于以上任何内容是否可以用作关于本公开的现有技术,没有确定,也没有断言。
发明内容
上述电子装置可以指定允许访问安全存储器的一个或更多个应用,以防止未经授权或恶意的应用访问存储在安全存储器中的个人信息。然而,由于电子装置的处理器和安全存储器电连接,因此当恶意的应用利用操作系统的各种漏洞攻击操作系统时,存储在安全存储器中的个人信息可能被恶意的应用窃取。
因此,会需要一种使电子装置的处理器电连接到安全存储器的时间最小化的方法,以最小化存储在安全存储器中的个人信息可能被恶意的应用窃取的可能性。
在本文中要实现的技术问题不限于上述技术问题,并且本领域技术人员从以下描述可以清楚地理解未提及的其他技术问题。
根据实施例的电子装置可以包括:显示器;存储器,其被配置为存储加密信息;处理器;以及开关,其被配置为:在第一状态下将处理器与存储器电断开,在第二状态下将处理器与存储器电连接,其中,处理器被配置为:在开关处于第一状态的同时,接收用于将开关从第一状态切换到第二状态的用户输入,当开关从第一状态切换到第二状态以在存储器与处理器之间生成电路径时,通过第二执行环境的安全操作系统将存储在存储器中的加密信息提供到仅在第二执行环境中执行的安全应用,基于所述加密信息获取交易的签名信息,并且将基于加密信息获取的签名信息提供到签名请求应用。
根据实施例的电子装置的操作方法可以包括:在电子装置的开关处于第一状态的同时,接收用于将电子装置的开关切换到不同于第一状态的第二状态的用户输入,其中,在开关处于第一状态的同时,电子装置的处理器与电子装置的存储器电断开;当开关从第一状态切换到第二状态以在存储器与处理器之间生成电路径时,通过处理器的第二执行环境的安全操作系统将存储在存储器中的加密信息提供到仅在第二执行环境中执行的安全应用;基于加密信息获取交易的签名信息;以及将基于加密信息获取的签名信息提供到签名请求应用。
在本公开中可获得的效果不限于上述效果,并且本领域技术人员可以从下面的描述清楚地理解未提及的其他效果。
附图说明
从以下结合附图的描述,本公开的特定实施例的上述以及其他方面、特征和优点将更加明显,其中:
图1是示出根据实施例的网络环境中的电子装置的框图;
图2是示出根据实施例的电子装置的框图;
图3是示出根据实施例的电子装置的框图;
图4是示出根据实施例的电子装置的操作的流程图;
图5是示出根据实施例的电子装置的操作的流程图;
图6是示出根据实施例的电子装置的操作的流程图;
图7是示出根据实施例的电子装置的操作的流程图;
图8A是示出根据实施例的电子装置的安全开关的示图;
图8B是示出根据实施例的电子装置的安全开关的示图;
图9A是示出根据实施例的电子装置的安全开关的示图;
图9B是示出根据实施例的电子装置的安全开关的示图;
图10A是示出根据实施例的电子装置的安全开关的示图;
图10B是示出根据实施例的电子装置的安全开关的示图;
图11A是示出根据实施例的电子装置的示图;
图11B是示出根据实施例的电子装置的示图;
图12A是示出根据实施例的电子装置的示图;并且
图12B是示出根据实施例的电子装置的示图。
具体实施方式
根据在此公开的一个或更多个实施例的电子装置及其方法可以使电子装置的处理器和安全存储器彼此电连接的时间最小化,从而最小化存储在安全存储器中的个人信息可能被恶意的应用窃取的可能性。
图1是示出根据实施例的网络环境100中的电子装置101的框图。参照图1,网络环境100中的电子装置101可以经由第一网络198(例如,短距离无线通信网络)与电子装置102进行通信,或者经由第二网络199(例如,长距离无线通信网络)与电子装置104或服务器108进行通信。根据实施例,电子装置101可以经由服务器108与电子装置104进行通信。根据实施例,电子装置101可以包括处理器120、存储器130、输入装置150、声音输出装置155、显示装置160、音频模块170、传感器模块176、接口177、触觉模块179、相机模块180、电力管理模块188、电池189、通信模块190、用户识别模块(SIM)196或天线模块197。在一些实施例中,可以从电子装置101中省略所述部件中的至少一个(例如,显示装置160或相机模块180),或者可以将一个或多个其它部件添加到电子装置101中。在一些实施例中,可以将所述部件中的一些部件实现为单个集成电路。例如,可以将传感器模块176(例如,指纹传感器、虹膜传感器、或照度传感器)实现为嵌入在显示装置160(例如,显示器)中。
处理器120可以运行例如软件(例如,程序140)来控制电子装置101的与处理器120连接的至少一个其它部件(例如,硬件部件或软件部件),并可以执行各种数据处理或计算。根据示例实施例,作为所述数据处理或计算的至少部分,处理器120可以将从另一部件(例如,传感器模块176或通信模块190)接收到的命令或数据加载到易失性存储器132中,对存储在易失性存储器132中的命令或数据进行处理,并将结果数据存储在非易失性存储器134中。根据实施例,处理器120可以包括主处理器121(例如,中央处理器(CPU)或应用处理器(AP))以及与主处理器121在操作上独立的或者相结合的辅助处理器123(例如,图形处理单元(GPU)、图像信号处理器(ISP)、传感器中枢处理器或通信处理器(CP))。另外地或者可选择地,辅助处理器123可以被适配为比主处理器121耗电更少,或者被适配为具体用于指定的功能。可以将辅助处理器123实现为与主处理器121分离,或者实现为主处理器121的部分。
在主处理器121处于未激活(例如,睡眠)状态时,辅助处理器123可以控制与电子装置101(而非主处理器121)的部件之中的至少一个部件(例如,显示装置160、传感器模块176或通信模块190)相关的功能或状态中的至少一些,或者在主处理器121处于激活状态(例如,运行应用)时,辅助处理器123可以与主处理器121一起来控制与电子装置101的部件之中的至少一个部件(例如,显示装置160、传感器模块176或通信模块190)相关的功能或状态中的至少一些。根据实施例,可以将辅助处理器123(例如,图像信号处理器或通信处理器)实现为在功能上与辅助处理器123相关的另一部件(例如,相机模块180或通信模块190)的部分。
存储器130可以存储由电子装置101的至少一个部件(例如,处理器120或传感器模块176)使用的各种数据。所述各种数据可以包括例如软件(例如,程序140)以及针对与其相关的命令的输入数据或输出数据。存储器130可以包括易失性存储器132或非易失性存储器134。
可以将程序140作为软件存储在存储器130中,并且程序140可以包括例如操作系统(OS)142、中间件144或应用146。
输入装置150可以从电子装置101的外部(例如,用户)接收将由电子装置101的其它部件(例如,处理器120)使用的命令或数据。输入装置150可以包括例如麦克风、鼠标、键盘或数字笔(例如,手写笔)。
声音输出装置155可以将声音信号输出到电子装置101的外部。声音输出装置155可以包括例如扬声器或接收器。扬声器可以用于诸如播放多媒体或播放唱片的通用目的,接收器可以用于呼入呼叫。根据实施例,可以将接收器实现为与扬声器分离,或实现为扬声器的部分。
显示装置160可以向电子装置101的外部(例如,用户)视觉地提供信息。显示装置160可以包括例如显示器、全息装置或投影仪以及用于控制显示器、全息装置和投影仪中的相应一个的控制电路。根据实施例,显示装置160可以包括被适配为检测触摸的触摸电路或被适配为测量由触摸引起的力的强度的传感器电路(例如,压力传感器)。
音频模块170可以将声音转换为电信号,反之亦可。根据实施例,音频模块170可以经由输入装置150获得声音,或者经由声音输出装置155或与电子装置101直接(例如,有线地)连接或无线连接的外部电子装置(例如,电子装置102)的耳机输出声音。
传感器模块176可以检测电子装置101的操作状态(例如,功率或温度)或电子装置101外部的环境状态(例如,用户的状态),然后产生与检测到的状态相应的电信号或数据值。根据实施例,传感器模块176可以包括例如手势传感器、陀螺仪传感器、大气压力传感器、磁性传感器、加速度传感器、握持传感器、接近传感器、颜色传感器、红外(IR)传感器、生物特征传感器、温度传感器、湿度传感器或照度传感器。
接口177可以支持将用来使电子装置101与外部电子装置(例如,电子装置102)直接(例如,有线地)或无线连接的一个或更多个特定协议。根据实施例,接口177可以包括例如高清晰度多媒体接口(HDMI)、通用串行总线(USB)接口、安全数字(SD)卡接口或音频接口。
连接端178可以包括连接器,其中,电子装置101可以经由所述连接器与外部电子装置(例如,电子装置102)物理连接。根据实施例,连接端178可以包括例如HDMI连接器、USB连接器、SD卡连接器或音频连接器(例如,耳机连接器)。
触觉模块179可以将电信号转换为可以被用户经由他的触觉或动觉识别的机械刺激(例如,振动或运动)或电刺激。根据实施例,触觉模块179可以包括例如电机、压电元件或电刺激器。
相机模块180可以捕获静止图像或运动图像。根据实施例,相机模块180可以包括一个或更多个透镜、图像传感器、图像信号处理器或闪光灯。
电力管理模块188可以管理对电子装置101的供电。根据示例实施例,可以将电力管理模块188实现为例如电力管理集成电路(PMIC)的至少部分。
电池189可以对电子装置101的至少一个部件供电。根据实施例,电池189可以包括例如不可再充电的原电池、可再充电的蓄电池、或燃料电池。
通信模块190可以支持在电子装置101与外部电子装置(例如,电子装置102、电子装置104或服务器108)之间建立直接(例如,有线)通信信道或无线通信信道,并经由建立的通信信道执行通信。通信模块190可以包括能够与处理器120(例如,应用处理器(AP))独立操作的一个或更多个通信处理器,并支持直接(例如,有线)通信或无线通信。根据实施例,通信模块190可以包括无线通信模块192(例如,蜂窝通信模块、短距离无线通信模块或全球导航卫星系统(GNSS)通信模块)或有线通信模块194(例如,局域网(LAN)通信模块或电力线通信(PLC)模块)。这些通信模块中的相应一个可以经由第一网络198(例如,短距离通信网络,诸如蓝牙、无线保真(Wi-Fi)直连或红外数据协会(IrDA))或第二网络199(例如,长距离通信网络,诸如蜂窝网络、互联网、或计算机网络(例如,LAN或广域网(WAN)))与外部电子装置进行通信。可以将这些各种类型的通信模块实现为单个部件(例如,单个芯片),或可以将这些各种类型的通信模块实现为彼此分离的多个部件(例如,多个芯片)。无线通信模块192可以使用存储在用户识别模块196中的用户信息(例如,国际移动用户识别码(IMSI))识别并验证通信网络(诸如第一网络198或第二网络199)中的电子装置101。
天线模块197可以将信号或电力发送到电子装置101的外部(例如,外部电子装置)或者从电子装置101的外部(例如,外部电子装置)接收信号或电力。根据实施例,天线模块197可以包括天线,所述天线包括由导电材料或者形成在基板(例如,印刷电路板(PCB))中或上的导电图案构成的辐射元件。根据实施例,天线模块197可以包括多个天线。在这样的情况下,可以由例如通信模块190(例如,无线通信模块192)从所述多个天线选择适合于在通信网络(诸如第一网络198或第二网络199)中使用的通信方案的至少一个天线。随后可以经由所选择的至少一个天线在通信模块190和外部电子装置之间发送或接收信号或电力。根据实施例,除了辐射元件之外的另一部件(例如,射频集成电路(RFIC))可以另外形成为天线模块197的部分。
上述部件中的至少一些可以经由外设间通信方案(例如,总线、通用输入输出(GPIO)、串行外设接口(SPI)或移动工业处理器接口(MIPI))相互连接并在它们之间通信地传送信号(例如,命令或数据)。
根据实施例,可以经由与第二网络199连接的服务器108在电子装置101和外部电子装置104之间发送或接收命令或数据。电子装置102和电子装置104中的每一个可以是与电子装置101相同类型的装置,或者是与电子装置101不同类型的装置。根据实施例,将在电子装置101运行的全部操作或一些操作可以在外部电子装置102、外部电子装置104或服务器108中的一个或更多个运行。例如,如果电子装置101应该自动执行功能或服务或者应该响应于来自用户或另一装置的请求执行功能或服务,则电子装置101可以请求所述一个或更多个外部电子装置执行所述功能或服务中的至少部分,而不是运行所述功能或服务,或者电子装置101除了运行所述功能或服务以外,还可以请求所述一个或更多个外部电子装置执行所述功能或服务中的至少部分。接收到所述请求的所述一个或更多个外部电子装置可以执行所述功能或服务中的所请求的所述至少部分,或者执行与所述请求相关的另外功能或另外服务,并将执行的结果传送到电子装置101。电子装置101可以在对所述结果进行进一步处理的情况下或者在不对所述结果进行进一步处理的情况下将所述结果提供作为对所述请求的至少部分答复。为此,可以使用例如云计算技术、分布式计算技术或客户机-服务器计算技术。
根据实施例的电子装置可以是各种类型的电子装置之一。电子装置可以包括例如,非限制性的,便携式通信装置(例如,智能电话)、计算机装置、便携式多媒体装置、便携式医疗装置、相机、可穿戴装置或家用电器等。根据本公开的实施例,电子装置不限于以上所述的那些电子装置。
应该理解的是,本公开的实施例以及其中使用的术语并不意图将在此阐述的技术特征限制于具体实施例,而是包括针对相应实施例的各种改变、等同形式或替换形式。对于附图的描述,相似的参考标号可以用来指代相似或相关的元件。将理解的是,与术语相应的单数形式的名词可以包括一个或更多个事物,除非相关上下文另有明确指示。如这里所使用的,诸如“A或B”、“A和B中的至少一个”、“A或B中的至少一个”、“A、B或C”、“A、B和C中的至少一个”以及“A、B或C中的至少一个”的短语中的每一个短语可以包括在与所述多个短语中的相应一个短语中一起列举出的项的任何一个或所有可能组合。如这里所使用的,诸如“第1”和“第2”或者“第一”和“第二”的术语可以用于将相应部件与另一部件进行简单区分,并且不在其它方面(例如,重要性或顺序)限制所述部件。将理解的是,在使用了术语“可操作地”或“通信地”的情况下或者在不使用术语“可操作地”或“通信地”的情况下,如果一元件(例如,第一元件)被称为“与另一元件(例如,第二元件)结合”、“结合到另一元件(例如,第二元件)”、“与另一元件(例如,第二元件)连接”或“连接到另一元件(例如,第二元件)”,则所述一元件可以与所述另一元件直接(例如,有线地)连接、与所述另一元件无线连接、或经由第三元件与所述另一元件连接。
如这里所使用的,术语“模块”可以包括以硬件、软件或固件,或其组合实现的单元,并可以与其他术语(例如,“逻辑”、“逻辑块”、“部分”或“电路”)可以互换地使用。模块可以是被适配为执行一个或更多个功能的单个集成部件或者是该单个集成部件的最小单元或部分。例如,根据实施例,可以以专用集成电路(ASIC)的形式来实现模块。
可以将在此阐述的实施例实现为包括存储在存储介质(例如,内部存储器136或外部存储器138)中的可由机器(例如,电子装置101)读取的一个或更多个指令的软件(例如,程序140)。例如,在处理器的控制下,所述机器(例如,电子装置101)的处理器(例如,处理器120)可以在使用或无需使用一个或更多个其它部件的情况下调用存储在存储介质中的所述一个或更多个指令中的至少一个指令并运行所述至少一个指令。这使得所述机器能够操作用于根据所调用的至少一个指令执行至少一个功能。所述一个或更多个指令可以包括由编译器产生的代码或能够由解释器运行的代码。可以以非暂时性存储介质的形式来提供机器可读存储介质。其中,“非暂时性”存储介质是有形装置,并且可以不包括信号(例如,电磁波),但是该术语并不在数据被半永久性地存储在存储介质中与数据被临时存储在存储介质中之间进行区分。
根据实施例,可以在计算机程序产品中包括和提供根据本公开的实施例的方法。计算机程序产品可以作为产品在销售者和购买者之间进行交易。可以以机器可读存储介质(例如,紧凑盘只读存储器(CD-ROM))的形式来发布计算机程序产品,或者可以经由应用商店(例如,Play Store
根据实施例,上述部件中的每个部件(例如,模块或程序)可以包括单个实体或多个实体。根据实施例,可以省略上述部件中的一个或更多个部件,或者可以添加一个或更多个其它部件。可选择地或者另外地,可以将多个部件(例如,模块或程序)集成为单个部件。在这种情况下,根据实施例,该集成部件可以仍旧按照与所述多个部件中的相应一个部件在集成之前执行一个或更多个功能相同或相似的方式,执行所述多个部件中的每一个部件的所述一个或更多个功能。根据实施例,由模块、程序或另一部件所执行的操作可以顺序地、并行地、重复地或以启发式方式来执行,或者所述操作中的一个或更多个操作可以按照不同的顺序来运行或被省略,或者可以添加一个或更多个其它操作。
图2是示出根据实施例的电子装置201的框图200。在一个实施例中,电子装置201可以对应于图1的电子装置101。在一个实施例中,可以通过使用图1的电子装置101的组件来构成电子装置201。
在一个实施例中,电子装置201可以包括处理器210、安全开关220、安全元件230、生物特征传感器240、存储器250或其组合。在一个实施例中,处理器210、生物特征传感器240或存储器250可以分别对应于图1的处理器120、传感器模块176或存储器130。
在一个实施例中,处理器210可以提供需要一般安全级别的第一执行环境以及具有比第一执行环境高的安全级别的第二执行环境。在一个实施例中,第二执行环境可以是基于与分配给第一执行环境的资源不同的资源来操作应用的环境。在一个实施例中,当执行的应用在第二执行环境中不被允许时,处理器210可以不允许访问分配给第二执行环境的资源。在一个实施例中,在第二执行环境中操作的应用可以被称为可信应用(TA)。在一个实施例中,在第二执行环境中操作的应用可以被称为安全应用。在一个实施例中,在第一执行环境中操作的应用可以被称为通用应用。在一个实施例中,可以使用在物理上与第一执行环境的组件分开的组件来实现第一执行环境和第二执行环境(例如,当提供多个处理器210并且通过多个处理器210中的至少一个处理器210或其组合提供第二执行环境时,可以通过与处理器210不同的安全处理器来提供第二执行环境)。或者,第二执行环境可以仅在软件上与第一执行环境分开。或者,物理和软件分离可以一起使用。在一个实施例中,第一执行环境可以是由在处理器210上运行的通用操作系统(OS)提供的环境,第二执行环境可以是由在处理器210上运行的安全OS提供的环境。
处理器210可以包括微处理器或任何合适类型的处理电路,诸如,一个或更多个通用处理器(例如,基于ARM的处理器)、数字信号处理器(DSP)、可编程逻辑器件(PLD)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、图形处理单元(GPU)、视频卡控制器等。此外,将认识到,当通用计算机访问用于实现在此示出的处理的代码时,代码的执行将通用计算机转换为用于执行在此示出的处理的专用计算机。附图中提供的特定功能和步骤可以以硬件、软件或二者的组合来实现,并且可以在计算机的编程指令内全部或部分地执行。此外,技术人员理解并意识到“处理器”或“微处理器”可以是所要求保护的公开内容中的硬件。
在一个实施例中,处理器210可以响应于在第一执行环境中对交易的签名请求,在与第一执行环境不同的第二执行环境中使用加密信息来对交易进行签名。在一个实施例中,处理器210可以在第二执行环境中基于加密信息来识别密钥,并且可以基于所识别的密钥来对交易进行签名。在一个实施例中,加密信息可以是能够生成密钥的值。在一个实施例中,加密信息也可以称为根种子、主密钥或熵。在一个实施例中,用于交易的签名可以指针对将要包括在交易中的数据使用用户的私钥生成签名数据的操作。
在一个实施例中,处理器210可以响应于在第一执行环境中对交易的签名请求,通过显示装置(例如,图1的显示装置160)显示用于请求(或引导)从安全开关220的第一状态(例如,断开状态)到第二状态(例如,接通状态)的转变的画面。在一个实施例中,处理器210可以响应于安全开关220从第一状态到第二状态的转变,在第一执行环境中获取安全元件230中存储的加密信息。在一个实施例中,处理器210可以将在第一执行环境中获取的加密信息发送到第二执行环境,并且可以在第二执行环境中基于加密信息对交易进行签名。在一个实施例中,处理器210可以响应于获取存储在安全元件230中的加密信息,通过显示装置160显示用于请求(或引导)从安全开关220的第二状态(例如,接通状态)到第一状态(例如,断开状态)的转变的画面。在一个实施例中,安全开关220的断开状态可以是安全开关220将处理器210与安全元件230电断开的状态。在一个实施例中,安全开关220的接通状态可以是安全开关220将处理器210与安全元件230电连接的状态。在一个实施例中,断开状态可以被称为切断状态或断开连接状态。在一个实施例中,接通状态可以被称为连接状态。
在一个实施例中,处理器210可以响应于在第一执行环境中对交易的签名请求,基于使用生物特征传感器240获得的用户的生物特征信息来认证用户。在一个实施例中,生物特征传感器240可以包括指纹传感器、虹膜传感器、静脉传感器、面部识别传感器或其组合。
在一个实施例中,处理器210可以响应于在第一执行环境中对交易的签名请求,基于使用输入装置(例如,图1的输入装置150)获得的用户的认证信息来执行认证。在一个实施例中,用户认证信息可以包括密码、图案、个人识别码(PIN)或其组合。
在一个实施例中,处理器210可以响应于在第一执行环境中对交易的签名请求,在第二执行环境中基于用户的生物特征信息、用户的认证信息或其组合来执行认证。
在一个实施例中,处理器210可以响应于在第二执行环境中基于用户的生物特征信息、用户的认证信息或其组合对用户的认证,在第二执行环境中基于加密信息来对交易进行签名。
在一个实施例中,处理器210可以使用通信电路(例如,图1的通信模块190)来向电子装置(例如,图1的电子装置102和104以及服务器108)发送交易和用于交易的签名,其中,电子装置在第一执行环境中参与分布式网络(例如,区块链网络)。
在一个实施例中,安全开关220可以被实现为物理开关。在一个实施例中,安全开关220可以具有第一状态和第二状态。在一个实施例中,第一状态可以是安全开关220将处理器210与安全元件230电断开的状态,第二状态可以是安全开关220将处理器210与安全元件230电连接的状态。在一个实施例中,安全开关220可以基于诸如按钮、拨动开关、滚轮或旋转开关的至少一种类型的开关来实现。然而,这仅是示例,并且能够通过外力在第一状态与第二状态之间交替的任何配置可以被实现为安全开关220。在一个实施例中,安全开关220可以是具有常开状态的开关,该开关通过作用在安全开关220上的外力从第一状态改变为第二状态,并且当释放作用在安全开关220上的外力时从第二状态改变为第一状态。
在一个实施例中,安全元件230可以存储加密信息、密钥、私钥或其组合。在一个实施例中,安全元件230可以包括用户的指纹信息、虹膜信息、面部信息或其组合。在一个实施例中,安全元件230可以包括用户的密码(例如,用于登录网页的密码、用于登录应用的密码)、信用卡号或其组合。在一个实施例中,安全元件230可以存储要求安全性的信息。在一个实施例中,安全元件230也可以被称为存储器、安全存储器或安全电路。在一个实施例中,用于存储要求安全性的信息的任何组件可以被称为安全元件230。
在一个实施例中,安全元件230可以通过安全开关220电连接到处理器210或与处理器210电断开。
在一个实施例中,存储器250可以存储:用于提供第一执行环境的通用操作系统的数据,用于提供第二执行环境的安全操作系统的数据,适合于第一执行环境的操作系统、程序或应用的数据,以及适合于第二执行环境的安全操作系统、可信程序或可信应用的数据。
图3是示出根据实施例的电子装置301的框图300。在一个实施例中,图3的电子装置301可以对应于图1的电子装置101或图2的电子装置201。在一个实施例中,可以通过使用图1的电子装置101或图2的电子装置201的组件来构成图3的电子装置301。
在一个实施例中,电子装置301可以包括处理器310、安全开关320、安全元件330、生物特征传感器340和存储器350。在一个实施例中,处理器310、生物特征传感器340或存储器350可以分别对应于图1的处理器120、传感器模块176或存储器130。在一个实施例中,处理器310、安全开关320、安全元件330、生物特征传感器340或存储器350可以分别对应于图2的处理器210、安全开关220、安全元件230、生物特征传感器240或存储器250。
在一个实施例中,处理器310可以电连接到安全开关320、生物特征传感器340或存储器350。在一个实施例中,处理器310可以根据安全开关320的状态,电连接到安全元件330或与安全元件330电断开。
在一个实施例中,处理器310可以通过驱动通用操作系统(未示出)来提供富执行环境(以下称为“REE”)。在一个实施例中,处理器310可以通过驱动安全操作系统(未示出)来提供可信执行环境(以下,称为“TEE”)。在一个实施例中,TEE可以具有比REE高的安全级别。
在一个实施例中,处理器310的REE可以包括应用层314、框架层316或内核318。在一个实施例中,REE的应用层314可以是执行典型应用的层。在一个实施例中,可以在REE的应用层314中执行区块链交易签名应用311。在一个实施例中,REE的框架层316可以是用于处理从在应用层314中执行的应用接收的一个或更多个工作请求的层,并且可以对工作请求进行优先级排序。在一个实施例中,REE的内核318可以是软件模块,其控制或管理用于执行应用层314的应用、框架层316的程序或其组合所需的操作或功能的系统资源。在一个实施例中,区块链交易签名应用311可以对交易进行签名。
在一个实施例中,处理器310的TEE可以包括安全应用层315、安全框架层317或安全内核319。在一个实施例中,TEE的安全应用层315可以是执行具有比典型应用高的安全级的应用的层。在一个实施例中,在TEE中执行的应用可以被称为可信应用(TA)。在一个实施例中,可以在TEE的安全应用层315中执行区块链可信应用312或认证可信应用313。在一个实施例中,TEE的安全框架层317可以是用于处理从在安全应用层315中执行的TA接收的一个或更多个工作请求的层,并且可以对工作请求进行优先级排序。在一个实施例中,TEE的安全内核319可以是软件模块,其控制或管理用于执行安全应用层315的可信应用、安全框架层317的程序或其组合所需的操作或功能的系统资源。在一个实施例中,区块链可信应用312可以被称为签名安全应用。在一个实施例中,认证可信应用313可以被称为认证安全应用。
在一个实施例中,在REE的应用层314中执行的区块链交易签名应用311可以是用于针对交易的签名请求执行处理的应用。在一个实施例中,交易可以是在电子装置中生成的数据,并且可以通过区块链网络记录在区块中。在一个实施例中,交易可以由表示生成数据的部分和表示签名的部分组成。在一个实施例中,表示生成数据的部分可以包括关于随机数、交易的序列号、接收者的地址、要传输的加密货币量或其组合的信息。然而,这仅是示例,根据区块链的类型或协议的配置,交易可以包括不同的信息。在一个实施例中,表示签名的部分可以包括基于与用户账户相对应的私钥签名的数据。在一个实施例中,可以基于预定的签名算法(例如,椭圆曲线算法或Rivest-Shamir-Adleman(RSA)算法)来生成交易中包括的签名数据。在一个实施例中,可以基于预定的签名算法,使用表示交易的生成数据的部分和用户的私钥来生成签名数据。在一个实施例中,签名数据可以对应于基于以下代码生成的值:
Sig=sign(keccak256(rlp.encode(tx.raw)),privateKey)
在一个实施例中,sign(A,B)的函数可以是用于基于预定的加密算法使用输入B对输入A进行加密的函数。在一个实施例中,keccak256()的函数可以是用于对输入进行哈希加密的函数。在一个实施例中,rlp.encode()的函数可以是用于对输入进行递归长度前缀(RLP)编码的函数。在一个实施例中,tx.raw可以对应于表示交易的生成数据的部分。在一个实施例中,privateKey可以是用户的私钥。在一个实施例中,区块链网络的参与节点可以传输加密货币或可以执行与交易相对应的合同。
在一个实施例中,区块链交易签名应用311可以是能够访问TEE的应用。在一个实施例中,可以通过在REE中执行的另一应用来生成对交易的签名请求。
在一个实施例中,处理器310可以响应于对交易的签名请求,通过使用区块链交易签名应用311,从安全操作系统(未示出)请求执行区块链可信应用312。在一个实施例中,处理器310可以通过框架层316将对区块链可信应用312的执行请求发送到安全操作系统(未示出)。
在一个实施例中,处理器310可以响应于对区块链可信应用312的执行请求而在TEE中执行区块链可信应用312。在一个实施例中,处理器310可以响应于区块链可信应用312的执行,使用安全操作系统(未示出)通知区块链交易签名应用311区块链可信应用312正在被执行。
在一个实施例中,处理器310可以响应于该通知,通过使用区块链交易签名应用311从区块链可信应用312请求令牌。在一个实施例中,处理器310可以响应于该通知,通过框架层316、内核318、安全内核319或安全框架层317将对令牌的请求发送到区块链可信应用312。在一个实施例中,令牌可以是任意值。在一个实施例中,令牌也可以被称为随机数。在一个实施例中,令牌可以用于在TEE中执行的可信应用312和313之间的识别。在一个实施例中,令牌可以用于识别在TEE中执行的可信应用已经执行了在另一可信应用中指定的功能。在一个实施例中,处理器310可以基于与该另一可信应用相关联的识别信息(例如,该另一可信应用的应用ID)来包装令牌,使得只有该另一可信应用能够确认由该可信应用生成的令牌。在一个实施例中,当包装后的令牌被发送到该另一可信应用时,处理器310可以在该另一可信应用中执行该可信应用所请求的功能。在一个实施例中,处理器310可以基于与可信应用相关联的识别信息(例如,可信应用的应用ID)来包装令牌,使得只有该可信应用能够确认通过在该另一可信应用中执行根据该可信应用所请求的功能而获得的结果。在一个实施例中,当基于与该可信应用相关联的识别信息将包装后的令牌发送到该可信应用时,基于相应的令牌确定该可信应用已经执行了该另一可信应用所请求的功能。在一个实施例中,令牌的加密也可以被称为包装。在一个实施例中,加密令牌的解密可以被称为解包。
在一个实施例中,处理器310可以响应于对交易的签名请求,使用区块链交易签名应用311,从在TEE中执行的认证可信应用313请求用户的认证。在一个实施例中,在区块链交易签名应用311接收到令牌之后,处理器310可以使用区块链交易签名应用311从认证可信应用313请求用户的认证。
在一个实施例中,处理器310可以响应于对用户的认证请求而使用认证可信应用313来认证用户。在一个实施例中,处理器310可以使用认证可信应用313基于用户的生物特征信息、用户的认证信息或其组合来认证用户。在一个实施例中,处理器310可以通过使用认证可信应用313将指示认证结果的数据发送到区块链交易签名应用311。在一个实施例中,指示认证结果的数据可以包括通过对令牌进行加密而获得的加密令牌。在一个实施例中,令牌的加密也可以被称为包装。
在一个实施例中,处理器310可以响应于对交易的签名请求,通过显示装置160显示使用区块链交易签名应用311生成的第一画面。在一个实施例中,处理器310可以从安全操作系统(未示出)请求执行区块链可信应用312,并且同时可以在此之前或之后通过显示装置160显示第一画面。在一个实施例中,第一画面可以是向用户指示请求对安全开关320的切换输入的画面。在一个实施例中,处理器310可以响应于对交易的签名请求,通过显示装置160显示使用在TEE中执行的用户接口可信应用(未示出)生成的第一画面。
在一个实施例中,处理器310可以响应于安全开关320从第一状态(例如,电路图上的电断开状态)到第二状态(例如,电路图上的电接通状态)的转变,使用区块链交易签名应用311来获取存储在安全元件330中的加密信息。在一个实施例中,处理器310可以将通过区块链交易签名应用311获取的加密信息存储在存储器350的区域中的分配给区块链交易签名应用311的区域中。在一个实施例中,存储器350的分配给区块链交易签名应用311的区域可以是易失性存储器(例如,图1的易失性存储器132)的区域。
在一个实施例中,当获取了加密信息时,处理器310可以使用区块链交易签名应用311从区块链可信应用312请求交易签名。在一个实施例中,当加密信息被获取并且用户被认证时,处理器310可以使用区块链交易签名应用311从区块链可信应用312请求交易签名。在一个实施例中,对交易的签名请求可以包括指示交易的数据、加密信息、加密令牌、或其组合。
在一个实施例中,处理器310可以基于加密信息通过区块链可信应用312对交易进行签名。在一个实施例中,处理器310可以通过区块链可信应用312将指示交易签名的数据发送到区块链交易签名应用311。
在一个实施例中,当获取了加密信息时,处理器310可以通过显示装置160显示通过区块链交易签名应用311生成的第二画面。在一个实施例中,第二画面可以是向用户指示请求释放对安全开关320的切换输入的画面。
在一个实施例中,处理器310可以通过区块链交易签名应用311将指示交易签名的数据发送到参与分布式网络的电子装置(例如,电子装置102和104以及服务器108)。
图4是示出根据实施例的电子装置(例如,图2的电子装置201)的操作的流程图。在一个实施例中,可以使用图1的电子装置101、图2的电子装置201或图3的电子装置301的组件来进行图4的描述。
参照图4,在操作410中,电子装置(例如,图3的电子装置301)的处理器(例如,图3的处理器310)可以识别签名请求。在一个实施例中,处理器310可以识别对在第一执行环境(例如,REE)中正在执行的应用的交易的签名请求。在一个实施例中,处理器310可以响应于识别到对交易的签名请求而在第一执行环境中执行用于处理签名请求的应用(例如,图3的区块链交易签名应用311)。
参照图4,在操作420中,电子装置301的处理器310可以使用显示装置(例如,图1的显示装置160)来显示请求切换输入的画面。在一个实施例中,处理器310可以响应于签名请求使用显示装置160显示由区块链交易签名应用311生成的画面。
参照图4,在操作430中,处理器310可以确认改变安全开关(例如,图3的安全开关320)的状态的用户输入。在一个实施例中,处理器310可以确认用于将安全开关320的状态从第一状态(例如,断开状态)改变为第二状态(例如,接通状态)的用户输入。在一个实施例中,第一状态(例如,断开状态)可以是安全开关320将处理器310与安全元件(例如,图3的安全元件330)电断开的状态,第二状态(例如,接通状态)可以是安全开关320电连接处理器310和安全元件(例如,图3的安全元件330)的状态。
在一个实施例中,当在操作430中确认改变安全开关320的状态的用户输入时,处理器310可以执行操作440。在一个实施例中,当在操作430中未确认改变安全开关320的状态的用户输入时,处理器310可以保持在操作430。
参照图4,在操作440中,处理器310可以根据切换输入从电连接的安全元件330获取加密信息。在一个实施例中,处理器310可以使用区块链交易签名应用311获取存储在安全元件330中的加密信息。在一个实施例中,处理器310可以对用户进行认证(例如,生物特征认证),并且可以在用户的认证成功时从安全元件330获取加密信息。
参照图4,在操作450中,处理器310可以基于加密信息对要包括在交易中的第一数据(例如,表示交易的信息或有效载荷的部分)进行签名。在一个实施例中,处理器310可以通过将第一数据与通过对第一数据进行签名而生成的第二数据(例如,签名数据)进行组合来生成交易。在一个实施例中,处理器310可以将所生成的交易发送到参与区块链网络的电子装置(例如,图1的电子装置102和104以及服务器108)。在一个实施例中,参与区块链网络的电子装置可以生成包括交易的区块。在一个实施例中,当生成的区块被参与区块链网络的电子装置验证时,生成的区块可以被记录在区块链网络中。在一个实施例中,处理器310可以通过使用在第二执行环境(例如,TEE)中执行的签名应用(例如,图3的区块链可信应用312),基于加密信息来对交易进行签名。
图5是示出根据实施例的电子装置(例如,图2的电子装置201)的操作的流程图。在一个实施例中,图5的区块链交易签名应用501、安全元件503、区块链可信应用505、认证可信应用507或安全内核319可以分别对应于图3的交易签名应用311、安全元件330、区块链可信应用312或认证可信应用313。在一个实施例中,处理器(例如,图3的处理器310)可以在REE中执行区块链交易签名应用501,并且可以在TEE中执行区块链可信应用505或认证可信应用507。在一个实施例中,安全操作系统可以包括安全内核509和安全框架层(例如,图3中的安全框架层317)。在一个实施例中,由安全内核509执行的操作可以被理解为由安全操作系统执行。在一个实施例中,可以使用图1的电子装置101、图2的电子装置201或图3的电子装置301的组件来进行图5的描述。
参照图5,在操作510中,区块链交易签名应用501可以识别对交易的签名请求。在一个实施例中,区块链交易签名应用501可以识别对由在REE中正在执行的应用生成的交易的签名请求。
在一个实施例中,当识别到签名请求(“是”确定)时,区块链交易签名应用501可以执行操作520。在一个实施例中,当未识别到签名请求(“否”确定)时,区块链交易签名应用501可以保持在操作510。
在操作520中,区块链交易签名应用501可以从安全内核509请求执行区块链可信应用505。在一个实施例中,当识别到签名请求时,区块链交易签名应用501可以从安全内核509请求执行区块链可信应用505。
在一个实施例中,安全内核509可以响应于区块链交易签名应用501对执行区块链可信应用505的请求而在TEE中执行区块链可信应用505。
在操作525中,安全内核509可以通知区块链交易签名应用501区块链可信应用505已经被执行。
在操作531中,区块链交易签名应用501可以从区块链可信应用505请求令牌。在一个实施例中,区块链交易签名应用501可以响应于来自安全内核509的针对区块链可信应用505的执行通知而从区块链可信应用505请求令牌。
在操作535中,区块链可信应用505可以响应于来自区块链交易签名应用501的令牌请求来生成令牌,并且可以将所生成的令牌发送到区块链交易签名应用501。在一个实施例中,区块链可信应用505可以生成具有任意值的令牌。在一个实施例中,可以在用于认证用户的过程中使用由区块链可信应用505生成的令牌。
在操作539中,区块链交易签名应用501可以将令牌发送到认证可信应用507。在一个实施例中,区块链交易签名应用501可以通过将令牌发送到认证可信应用507来请求用户的认证。在一个实施例中,区块链交易签名应用501可以与将令牌发送到认证可信应用507分开地请求用户的认证。
在操作541中,区块链交易签名应用501可以显示指示来自用户的用户输入的请求的画面,该用户输入用于接通安全开关(例如,图3的安全开关320)。
在操作543中,区块链交易签名应用501可以识别安全开关320的切换输入。在一个实施例中,区块链交易签名应用501可以基于安全开关320从第一状态(例如,断开状态)到第二状态(例如,接通状态)的转变来识别切换输入。在操作543中,当识别到切换输入(“是”确定)时,区块链交易签名应用501可以执行操作545。在一个实施例中,当未识别到切换输入(“否”确定)时,区块链交易签名应用501可以保持在操作543。
在一个实施例中,在操作541中,用户可以通过屏幕进行用户输入(例如,触摸输入)等。在一个实施例中,当确定用户已经授权用户输入闭合或接通安全开关320时,处理器(例如,图3的处理器310)可以执行获取用户的认证信息(例如,生物特征信息或密码)的操作。
在操作545中,区块链交易签名应用501可以基于安全开关320从第一状态到第二状态的转变来获取存储在安全元件503中的加密信息。在一个实施例中,当在用户已经接通安全开关320的同时没有从安全元件503获取加密信息时,区块链交易签名应用501可以向用户显示指示请求再次接通安全开关320的用户输入的画面。在一个实施例中,加密信息可以是用于通过解包获得私钥的根种子。
在操作547中,区块链交易签名应用501可以响应于加密信息的获取,向用户显示指示请求释放对安全开关320的切换输入的屏幕。在一个实施例中,当用户释放安全开关320时,处理器310和安全元件503可以被电断开,使得区块链交易签名应用501不能从安全元件503获取加密信息。
在一个实施例中,在图5中,操作541、543和545被示出为在操作531、535和539之后执行,但这仅是示例,操作541、543和545可以在操作531、535和539之前执行,或者与操作531、535和539同时执行。
在操作551中,认证可信应用507可以响应于区块链交易签名应用501的认证请求来认证用户。在一个实施例中,认证可信应用507可以基于用户的生物特征信息、用户的认证信息或其组合来执行认证。在一个实施例中,认证可信应用507可以基于使用生物特征传感器(例如,图2的生物特征传感器240)获得的用户的生物特征信息来认证用户。在一个实施例中,生物特征传感器240可以包括指纹传感器、虹膜传感器、静脉传感器、面部识别传感器或其组合。在一个实施例中,认证可信应用507可以基于使用输入装置(例如,图1的输入装置150)获得的用户的认证信息来执行认证。在一个实施例中,用户的认证信息可以包括密码、图案、PIN或其组合。
在操作553中,当用户的认证完成时,认证可信应用507可以从安全内核509请求令牌的加密。在一个实施例中,令牌的加密也可以被称为包装令牌。
在操作555中,安全内核509可以对从认证可信应用507接收到的令牌进行加密,并且可以将加密令牌发送到认证可信应用507。
在操作557中,认证可信应用507可以将加密令牌发送到区块链交易签名应用501。在一个实施例中,区块链交易签名应用501可以基于加密令牌来识别用户的认证已经完成。
在一个实施例中,图5的操作541、543和545可以在操作551、553、555和557之前或之后执行,或者与操作551、553、555和557同时执行。
在操作571中,区块链交易签名应用501可以从区块链可信应用505请求交易的签名。在一个实施例中,区块链交易签名应用501可以向区块链可信应用505发送用于生成指示交易的数据、加密信息、加密令牌或其组合的签名请求,作为将要通过区块链网络发送的交易。
在操作572中,区块链可信应用505可以从安全内核509请求加密令牌的解密。在一个实施例中,加密令牌的解密也可以被称为加密令牌的解包。
在操作573中,安全内核509可以对从区块链可信应用505接收到的加密令牌进行解密,并且可以将解密后的令牌发送到区块链可信应用505。
在操作574中,区块链可信应用505可以从安全内核509请求加密信息的解密。在一个实施例中,区块链可信应用505可以在解密的令牌匹配由其自身在操作535中发行的令牌时,从安全内核509请求加密信息的解密。在一个实施例中,加密信息的解密可以是从根种子获得私钥。在一个实施例中,加密信息的解密也可以被称为加密信息的解包。
在操作575中,安全内核509可以对从区块链可信应用505接收到的加密信息进行解密,并且可以将解密的加密信息发送到区块链可信应用505。在一个实施例中,安全内核509可以基于接收到的加密信息获得用户的私钥(或者密钥)。在一个实施例中,安全内核509可以通过对接收到的加密信息进行解密来获得用户的私钥(或密钥)。在一个实施例中,安全内核509可以对接收到的加密信息进行解密,并且可以基于解密的加密信息来生成用户的私钥(或密钥)。在一个实施例中,安全内核509可以将生成的(或获得的)用户的私钥(或密钥)发送到区块链可信应用505。
在操作576中,区块链可信应用505可以对交易进行签名。在一个实施例中,区块链可信应用505可以基于加密信息来对交易进行签名。
在一个实施例中,区块链可信应用505可以使用解密的加密信息来对交易进行签名。
在操作577中,区块链可信应用505可以将通过对交易进行签名而获得的结果发送到区块链交易签名应用501。
在一个实施例中,区块链交易签名应用501可以向生成了对交易的签名请求的应用通知签名已经完成。在一个实施例中,区块链交易签名应用501可以将交易的签名结果发送到参与分布式网络的电子装置(例如,图1的电子装置102和104以及服务器108)。
图6是示出根据实施例的电子装置(例如,图2的电子装置201)的操作的流程图。在一个实施例中,图6的区块链交易签名应用601、安全元件603、区块链可信应用605或安全内核609可以分别对应于图5的区块链交易签名应用501、安全元件503、区块链可信应用505或安全内核509。在一个实施例中,处理器(例如,图3的处理器310)可以在REE中执行区块链交易签名应用601,并且可以在TEE中执行区块链可信应用605。在一个实施例中,安全操作系统可以包括安全内核609和安全框架层(例如,图3中的安全框架层317)。在一个实施例中,由安全内核609执行的操作可以被理解为由安全操作系统执行。在一个实施例中,可以使用图1的电子装置101、图2的电子装置201或图3的电子装置301的组件进行图6的描述。
在图6中,与图5相比较,与图5的用户的认证有关的操作531、535、539、551、553、555、557、572和573可以被省略。在一个实施例中,图6的操作610、620、625、641、643、645、647、671、674、675、676和677可以分别对应于图5的操作510、520、525、541、543、545、547、571、574、575、576和577。
在操作610中,区块链交易签名应用601可以识别对交易的签名请求。在一个实施例中,当识别到签名请求(“是”确定)时,区块链交易签名应用601可以执行操作620。在一个实施例中,当未识别到签名请求(“否”确定)时,区块链交易签名应用601可以保持在操作610。
在操作620中,区块链交易签名应用601可以从安全内核609请求执行区块链可信应用605。在一个实施例中,安全内核609可以在TEE中执行区块链可信应用605,并且可以通知区块链交易签名应用601区块链可信应用605已经被执行。
在操作625中,安全内核609可以通知区块链交易签名应用601区块链可信应用605已经被执行。
在操作641中,区块链交易签名应用601可以向用户显示指示请求对安全开关(例如,图3的安全开关320)的切换输入的屏幕。
在操作643中,区块链交易签名应用601可以识别对安全开关320的切换输入。在一个实施例中,区块链交易签名应用601可以基于安全开关320从第一状态(例如,断开状态)到第二状态(例如,接通状态)的转变来识别切换输入。根据本公开的一个实施例,识别安全开关320的状态转变的输入的应用或程序不限于区块链交易签名应用,并且可以由根据本公开的各种其他实施例的其他应用来执行该识别。
在操作643中,当识别到切换输入(“是”确定)时,区块链交易签名应用601可以执行操作645。在一个实施例中,当未识别到切换输入(“否”确定)时,区块链交易签名应用601可以保持在操作643。
在操作645中,区块链交易签名应用601可以基于安全开关320从第一状态到第二状态的转变来获取存储在安全元件603中的加密信息。在一个实施例中,在操作547,区块链交易签名应用601可以响应于加密信息的获取向用户显示指示请求释放对安全开关320的切换输入的屏幕。
在操作671中,区块链交易签名应用601可以从区块链可信应用605请求交易的签名。在一个实施例中,区块链交易签名应用601可以向区块链可信应用605发送对交易的签名请求,该交易包括指示交易的数据、加密信息、加密令牌或其组合。
在操作674中,区块链可信应用605可以从安全内核609请求加密信息的解密。在一个实施例中,加密信息的解密可以是从根种子获得私钥。在一个实施例中,加密信息的解密也可以被称为加密信息的解包。
在操作675中,安全内核609可以对从区块链可信应用605接收到的加密信息进行解密,并且可以将解密的加密信息发送到区块链可信应用605。在一个实施例中,安全内核609可以基于接收到的加密信息获得用户的私钥(或密钥)。在一个实施例中,安全内核609可以通过对接收到的加密信息进行解密来获得用户的私钥(或密钥)。在一个实施例中,安全内核609可以对接收到的加密信息进行解密,并且可以基于解密的加密信息生成用户的私钥(或密钥)。在一个实施例中,安全内核609可以将所生成的用户的私钥(或密钥)发送到区块链可信应用605。
在操作676中,区块链可信应用605可以对交易进行签名。在一个实施例中,区块链可信应用605可以基于加密信息来对交易进行签名。在一个实施例中,区块链可信应用605可以使用解密的加密信息来对交易进行签名。
在操作677中,区块链可信应用605可以将交易的签名的结果发送到区块链交易签名应用601。
在一个实施例中,区块链交易签名应用601可以向生成了对交易的签名请求的应用(可以是诸如Web应用、服务器应用的各种程序)通知签名已经完成。根据本公开的实施例,可以从外部机器获得对交易的签名请求。例如,经由网络连接到电子装置的第二电子装置可以从具有增强的安全性特征的电子装置请求签名请求,并且该电子装置可以将签名请求结果发送到第二电子装置。在一个实施例中,区块链交易签名应用601可以将交易的签名结果发送到参与分布式网络的电子装置(例如,图1的电子装置102和104以及服务器108)。
图7是示出根据实施例的电子装置(例如,图2的电子装置201)的操作的流程图。在一个实施例中,图7是示出其中生物特征传感器(例如,图1的传感器模块176、图2的生物特征传感器240或图3的生物特征传感器340)位于安全开关702的接触表面上的电子装置(例如,图2的电子装置201)的操作的流程图。在一个实施例中,安全开关702和生物特征传感器可以一体配置。
在一个实施例中,图7的区块链交易签名应用701、安全元件703、区块链可信应用705、认证可信应用707或安全内核709可以分别对应于图5的区块链交易签名应用501、安全元件503、区块链可信应用505、认证可信应用507或安全内核509。在一个实施例中,处理器(例如,图3的处理器310)可以在REE中执行区块链交易签名应用701,并且可以在TEE中执行区块链可信应用705或认证可信应用707。在一个实施例中,安全操作系统可以包括安全内核709和安全框架层(例如,图3中的安全框架层317)。在一个实施例中,由安全内核709执行的操作可以被理解为由安全操作系统执行。在一个实施例中,可以使用图1的电子装置101、图2的电子装置201或图3的电子装置301的组件来执行图7的描述。
与图5相比,在图7中,还可以包括图7的与用户的认证相关联的操作750。图7的操作710、720、725、731、735、739、741、743、745、747、751、753、755、757、771、772、773、774、775、776和777可以分别对应于图5的操作510、520、525、531、535、539、541、543、545、547、551、553、555、557、571、572、573、574、575、576和577。
在操作710中,区块链交易签名应用701可以识别对交易的签名请求。
在一个实施例中,当识别到签名请求(“是”确定)时,区块链交易签名应用701可以执行操作720。在一个实施例中,当未识别到签名请求(“否”确定)时,区块链交易签名应用701可以保持在操作710。
在操作720中,区块链交易签名应用701可以从安全内核709请求执行区块链可信应用705。在一个实施例中,安全内核709可以响应于来自区块链交易签名应用701的对区块链可信应用705的执行请求,在TEE中执行区块链可信应用705,并且可以通知区块链交易签名应用701区块链可信应用705已经被执行。
在操作725中,安全内核709可以通知区块链交易签名应用701区块链可信应用505已经被执行。
在操作731中,区块链交易签名应用701可以从区块链可信应用705请求令牌。在操作735中,区块链可信应用705可以响应于来自区块链交易签名应用701的令牌请求来生成令牌,并且可以将所生成的令牌发送到区块链交易签名应用701。
在操作739中,区块链交易签名应用701可以将令牌发送到认证可信应用707。在一个实施例中,区块链交易签名应用701可以通过将令牌发送到认证可信应用707来请求用户的认证。在一个实施例中,区块链交易签名应用701可以与将令牌发送到认证受信应用507分开地请求用户的认证。
在操作741中,区块链交易签名应用701可以通过向用户显示指示请求对安全开关702的切换输入的屏幕,从用户请求切换输入。
在操作743中,区块链交易签名应用701可以识别对安全开关702的切换输入。在一个实施例中,区块链交易签名应用701可以基于安全开关702从第一状态(例如,断开状态)到第二状态(例如,接通状态)的转变来识别切换输入。
在操作743中,当识别到切换输入(“是”确定)时,区块链交易签名应用701可以执行操作745。在一个实施例中,当未标识到切换输入(“否”确定)时,区块链交易签名应用701可以保持在操作743。
在一个实施例中,在操作741中,用户可以在显示屏上执行用户输入(例如,触摸输入)等。在一个实施例中,当确定用户已经授权用户输入打开安全开关320时,处理器(例如,图3的处理器310)可以进行获取用户的认证信息(例如,使用生物识别信息或密码)的操作。
在操作745中,区块链交易签名应用701可以基于安全开关702从第一状态到第二状态的转变来获取存储在安全元件703中的加密信息。在一个实施例中,当在用户已经接通安全开关702的同时没有从安全元件703获取加密信息时,区块链交易签名应用701可以向用户显示指示请求再次接通安全开关320的用户输入的画面。在一个实施例中,加密信息可以是用于通过解包获得私钥的根种子。
在操作747中,区块链交易签名应用701可以响应于加密信息的获取,向用户显示指示请求释放对安全开关702的切换输入的屏幕。在一个实施例中,当用户释放安全开关320上的按压时,处理器310和安全元件703可以被电断开,使得区块链交易签名应用701无法进一步从安全元件703获取加密信息。
在操作750中,当通过用户输入来切换安全开关702时,可以将由安全开关702生成的认证开始信号发送到认证可信应用707。在一个实施例中,当用户输入被施加到安全开关702时,位于安全开关702的接触表面上的生物特征传感器可以识别用户的接触,并且生物特征传感器可以响应于该识别而将所生成的认证开始信号发送到认证可信应用707。
在操作751中,认证可信应用707可以响应于区块链交易签名应用701的认证请求来认证用户。在操作751中,认证可信应用707可以基于认证开始信号来发起用户的认证。
在操作753中,当用户的认证完成时,认证可信应用707可以从安全内核709请求令牌的加密。在一个实施例中,令牌的加密也可以称为令牌的包装。
在操作755,安全操作系统709可以对从认证可信应用707接收到的令牌进行加密,并且可以将加密令牌发送到认证可信应用707。
在操作757中,认证可信应用707可以将加密令牌发送到区块链交易签名应用701。在一个实施例中,区块链交易签名应用701可以基于加密令牌识别到用户的认证已经完成。
在操作771中,区块链交易签名应用701可以从区块链可信应用705请求交易签名。
在操作772中,区块链可信应用705可以从安全内核709请求加密令牌的解密。在一个实施例中,加密令牌的解密也可以被称为对加密令牌的解包。
在操作773中,安全操作系统709可以对从区块链可信应用705接收到的加密令牌进行解密,并且可以将解密的令牌发送到区块链可信应用705。
在操作774中,区块链可信应用705可以从安全内核709请求加密信息的解密。在一个实施例中,加密信息的解密可以是从根种子获得私钥。在一个实施例中,加密信息的解密也可以被称为对加密信息的解包。
在操作775中,安全内核709可以对从区块链可信应用705接收到的加密信息进行解密,并将解密的加密信息发送到区块链可信应用705。在一个实施例中,安全内核509可以基于接收到的加密信息来获得用户的私钥(或密钥)。
在操作776中,区块链可信应用705可以对交易进行签名。
在操作777中,区块链可信应用705可以将通过对交易进行签名而获得的结果发送到区块链交易签名应用701。
在一个实施例中,区块链交易签名应用701可以向生成了对交易的签名请求的应用通知签名已经完成。在一个实施例中,区块链交易签名应用701可以将交易的签名结果发送到参与分布式网络的电子装置(例如,图1的电子装置102和104以及服务器108)。
图8A和图8B是示出根据实施例的电子装置(例如,图2的电子装置201或者图3的电子装置302)的安全开关820的示图。在一个实施例中,参照图8A和8B,安全开关820可以是按钮型开关。在一个实施例中,可以利用电子装置201的主按钮、音量按钮或其组合来实现安全开关820。在一个实施例中,安全开关820的至少一部分可以通过电子装置201的外壳(未示出)暴露于外部。根据本公开的实施例,安全开关820不限于物理开关,并且可以以各种其他实施方式来配置。例如,在一个实施例中,安全开关820可以被实现为逻辑开关以及物理开关。在一个实施例中,安全开关820还可以利用通过电子装置201的显示器(例如,图1的显示装置160)显示的开关图标来实现。在一个实施例中,当用户将输入(例如,触摸输入或拖动输入)施加到通过显示器(例如,图1的显示装置160)显示的开关图标时,电子装置201可以将对开关图标的输入识别为用于连接或断开处理器810与安全元件830的输入。在一个实施例中,可以通过形成或释放处理器810与安全元件830之间的逻辑路径来执行处理器810与安全元件830之间的经由逻辑开关的连接或断开。在一个实施例中,逻辑路径可以指可以由程序(例如,图1的程序140)提供或释放的路径。在一个实施例中,当对逻辑路径的访问权限和用于进入逻辑路径的安全门进行编码并且获得了与开关图标相对应的用户输入时,可以激活安全门代码,使得处理器810和安全元件830可以交互工作以操作逻辑路径。
参照图8A和8B,可以根据安全开关820的状态将处理器810和安全元件830电连接或断开。在一个实施例中,参照图8A和8B,安全开关820可以通过用户输入在第一状态(图8A中的状态,断开状态)与第二状态(图8B中的状态,接通状态)之间交替。在一个实施例中,安全开关820可以是具有第一状态为正常状态的常开开关。
参照图8A,当没有用户输入时,安全开关820可以处于第一状态(断开状态)。在一个实施例中,参照图8A,安全开关820可以将处理器810与安全元件830电断开。
在一个实施例中,参照图8A,处理器810可以不获取存储在安全元件830中的加密信息。
参照图8B,当进行了输入用户时,安全开关820可以处于第二状态(接通状态)。在一个实施例中,参照图8B,安全开关820可以电连接处理器810和安全元件830。
参照图8B,在一个实施例中,处理器810可以获取存储在安全元件830中的加密信息。
图9A和图9B是示出根据实施例的电子装置(例如,图2的电子装置201或者图3的电子装置302)的安全开关920的示图。在一个实施例中,参照图9A和9B,安全开关920可以是按钮型开关。在一个实施例中,参照图9A和9B,生物特征传感器940可以附接到安全开关920的接触表面。在一个实施例中,安全开关920可以利用电子装置的主按钮和音量按钮或其组合来实现。在一个实施例中,生物特征传感器940可以被实现为指纹传感器。在一个实施例中,安全开关920的至少一部分和/或生物特征传感器940的至少一部分可以通过电子装置201的壳体(未示出)暴露于外部。
参照图9A和9B,可以根据安全开关920的状态将处理器910和安全元件930电连接或断开。在一个实施例中,参照图9A和9B,安全开关920可以通过用户输入在第一状态(图9A中的状态,断开状态)与第二状态(图9B中的状态,接通状态)之间交替。在一个实施例中,安全开关920可以是具有第一状态为正常状态的常开开关。
参照图9A,当没有用户输入时,安全开关920可以处于第一状态(断开状态)。在一个实施例中,参照图9A,安全开关920可以将处理器910与安全元件930电断开。
在一个实施例中,参照图9A,处理器810可以不获取存储在安全元件930中的加密信息。在一个实施例中,参照图9A,由于没有对安全开关920的用户输入,因此处理器910不能通过位于安全开关920的接触表面上的生物特征传感器940获取关于用户的生物特征信息。
参照图9B,当存在用户输入时,安全开关920可以处于第二状态(接通状态)。在一个实施例中,参照图9B,安全开关920可以电连接处理器910和安全元件930。
在一个实施例中,参照图9B,处理器910可以获取存储在安全元件930中的加密信息。在一个实施例中,参照图9B,当进行对安全开关920的用户输入时,处理器910可以通过位于安全开关920的接触表面上的生物特征传感器940获取关于用户的生物特征信息。在一个实施例中,生物特征传感器940可以在利用用户输入使得传感器和用户的身体接触时,获取用户的生物特征信息。在一个实施例中,处理器910可以通过使用认证安全应用(例如,图3的认证可信应用313)基于所获得的生物特征信息来认证用户。
图10A和图10B是示出根据实施例的电子装置(例如,图2的电子装置201或者图3的电子装置302)的安全开关1020的示图。在一个实施例中,参照图10A和图10B,安全开关1020可以是旋转开关。在一个实施例中,安全开关1020可以被实现在诸如智能手表的可穿戴电子装置的边框中。
参照图10A和10B,可以根据安全开关1020的状态将处理器1010和安全元件1030电连接或断开。在一个实施例中,参照图10A和图10B,安全开关1020可以通过用户输入在第一状态(图10A中的状态,断开状态)与第二状态(图10B中的状态,接通状态)之间交替。
参照图10A,安全开关1020具有第一旋转状态(断开状态),其中安全开关1020不从可旋转区域1021接触处理器1010的电极1011和安全元件1030的电极1031。在一个实施例中,安全开关1020不接触处理器1010的电极1011和安全元件1030的电极1031的第一旋转状态可以被理解为第一状态(断开状态)。在一个实施例中,参照图10A,安全开关1020可以在第一状态下将处理器1010与安全元件1030电断开。
在一个实施例中,参照图10A,处理器1010不能够获取存储在安全元件1030中的加密信息。
参照图10B,通过用于旋转安全开关1020的用户输入,安全开关1020可以被设置在第二状态(接通状态)。参照图10B,通过用于旋转安全开关1020的用户输入,安全开关1020可以被设置在第二状态(接通状态),在该第二状态下,安全开关1020接触处理器1010的电极1011和安全元件1030的电极1031。在一个实施例中,参照图10B,安全开关1020可以电连接处理器1010和安全元件1030。
参照图10B,安全开关1020可以具有第二旋转状态(接通状态),其中,安全开关1020从可旋转区域1021接触处理器1010的电极1011和安全元件1030的电极1031。在一个实施例中,安全开关1020接触处理器1010的电极1011和安全元件1030的电极1031的第二旋转状态可以理解为第二状态(接通状态)。在一个实施例中,参照图10B,安全开关1020可以通过恢复到第一状态而将处于第二状态下的处理器1010与安全元件1030电断开。
在一个实施例中,参照图10B,处理器1010可以获取存储在安全元件1030中的加密信息。
图11A和图11B是示出根据实施例的电子装置1101的示图。在一个实施例中,图11A和图11B是示出从侧面观察根据实施例的电子装置1101的情况的示图。在一个实施例中,参照图11A和图11B,电子装置1101可以通过用户输入在非滑动状态(图11A中的状态)与滑动状态(图11B中的状态)之间交替。在一个实施例中,电子装置1101的非滑动状态可以是用于向用户提供第一用户环境的状态。在一个实施例中,电子装置1101的滑动状态可以是用于向用户提供不同于第一用户环境的第二用户环境的状态。
在一个实施例中,参照图11A,电子装置1101可以处于非滑动状态。
在一个实施例中,在电子装置1101的非滑动状态下,安全开关(例如,图2的安全开关220或图3的安全开关320)可以具有第一状态(断开状态),其中,安全开关将处理器(例如,图2的处理器210或图3的处理器310)与安全元件(例如,图2的安全元件230或图3的安全元件330)电断开。在一个实施例中,在电子装置1101的非滑动状态下,处理器(例如,图2的处理器210或图3的处理器310)不能够获取存储在安全元件(例如,图2的安全元件230或图3的安全元件330)中的加密信息。
参照图11B,电子装置1101可以处于滑动状态。在一个实施例中,参照图11B,当从上方观察电子装置1101时,电子装置1101可以具有第二部分1120的至少一部分对用户可见的状态。
在一个实施例中,在电子装置1101的滑动状态下,安全开关(例如,图2的安全开关220或图3的安全开关320)可以具有第二状态(接通状态),其中,安全开关将处理器(例如,图2的处理器210或图3的处理器310)和安全元件(例如,图2的安全元件230或图3的安全元件330)电连接。在一个实施例中,在电子装置1101的滑动状态下,处理器(图2中的处理器210或图3中的处理器310)可以获取存储在安全元件(例如,图2的安全元件330或图3的安全元件330)中的加密信息。
图12A和图12B是示出根据实施例的电子装置1201的示图。在一个实施例中,图12A和图12B是示出从底部观察根据实施例的电子装置1201的情况的示图。在一个实施例中,参照图12A和图12B,电子装置1201可以通过用户输入在折叠状态(图12A的状态)与展开状态(图12B的状态)之间交替。在一个实施例中,电子装置1201的折叠状态可以是用于向用户提供第一用户环境的状态。在一个实施例中,电子装置1201的展开状态可以是用于向用户提供不同于第一用户环境的第二用户环境的状态。
在一个实施例中,参照图12A,电子装置1201可以处于折叠状态。在一个实施例中,参照图12A,在折叠状态下,电子装置1201可以处于连接电子装置1201的第一部分1210和第二部分1220的第三部分1230弯曲的状态。在一个实施例中,参照图12A,在折叠状态下,电子装置1201可以处于电子装置1201的第一部分1210的第一表面与第二部分1220的第一表面彼此面对的状态。
在一个实施例中,在电子装置1201的折叠状态下,安全开关(例如,图2的安全开关220或图3的安全开关320)可以处于第一状态(断开状态),其中,安全开关将处理器(例如,图2的处理器210或图3的处理器310)与安全元件(例如,图2的安全元件230或图3的安全元件330)电断开。在一个实施例中,在电子装置1201的折叠状态下,处理器(例如,图2的处理器210或图3的处理器310)不能够获取存储在安全元件(例如,图2的安全元件230或图3的安全元件330)中的加密信息。
参照图12B,电子装置1101可以处于展开状态。在一个实施例中,参照图12B,在展开状态下,电子装置1201可以处于连接电子装置1201的第一部分1210和第二部分1220的第三部分1230的平坦状态。在一个实施例中,参照图12B,在展开状态下,电子装置1201可以处于电子装置1201的第一部分1210的第一表面与第二部分1220的第一表面在相同方向上彼此面对的状态。
在一个实施例中,在电子装置1201的展开状态下,安全开关(例如,图2的安全开关220或图3的安全开关320)可以处于第二状态(接通状态),其中,安全开关电连接处理器(例如,图2的处理器210或图3的处理器310)和安全元件(例如,图2的安全元件230或图3的安全元件330)。在一个实施例中,在电子装置1201的展开状态下,处理器(例如,图2的处理器210或图3的处理器310)可以获取存储在安全元件(例如,图2的安全元件230或图3的安全元件330)中的加密信息。
如上所述的电子装置201和方法可以通过经由安全开关220将处理器210和安全元件230电连接或断开而使电子装置201的处理器210和安全元件230彼此电连接的时间最小化,从而最小化存储在安全存储器中的个人信息可能被恶意的应用窃取的可能性。
根据实施例,电子装置可以包括:显示器;存储器,所述存储器被配置为存储加密信息;处理器;以及开关,所述开关被配置为:在第一状态下将所述处理器与所述存储器电断开,在第二状态下将所述处理器与所述存储器电连接,其中,所述处理器被配置为:在所述开关处于所述第一状态的同时,接收用于将所述开关从所述第一状态切换到所述第二状态的用户输入,当所述开关从所述第一状态切换到所述第二状态以在所述存储器与所述处理器之间生成电路径时,通过第二执行环境的安全操作系统将存储在所述存储器中的所述加密信息提供到仅在所述第二执行环境中执行的安全应用,基于所述加密信息获取交易的签名信息,并且将基于所述加密信息获取的所述签名信息提供到签名请求应用。
在一个实施例中,所述处理器可以被配置为:使用在所述第二执行环境中执行的认证安全应用来认证所述电子装置的用户;并且当所述电子装置的所述用户被认证时,通过使用所述安全应用,基于所述加密信息获取所述交易的所述签名信息。
在一个实施例中,所述开关可以包括用于生物特征认证的传感器,所述传感器与所述用户直接接触,并且所述处理器可以被配置为:在所述传感器根据所述用户输入与所述用户接触的同时,获取所述用户的生物特征信息,并且通过使用所述认证安全应用基于所获取的生物特征信息来认证所述电子装置的所述用户。
在一个实施例中,所述处理器可以被配置为通过所述认证安全应用基于生物特征认证、数据输入图案或他们的组合来认证所述用户。
在一个实施例中,所述处理器可以被配置为:通过使用所述签名请求应用接收对所述交易的签名请求;响应于接收到所述签名请求,将使用所述安全应用获得的用于对所述交易进行签名的令牌提供到所述签名请求应用;响应于将所述令牌提供到所述签名请求应用,通过使用所述签名请求应用将所述令牌提供到所述认证安全应用;当所述电子装置的所述用户被认证时,将使用所述认证安全应用获得的所述令牌的加密令牌提供到所述签名请求应用;并且当所述加密令牌对应于使用所述安全应用获得的所述令牌时,通过使用所述安全应用基于所述加密信息获取所述交易的所述签名信息。
在一个实施例中,所述处理器可以被配置为:当所述加密令牌对应于使用所述安全应用获得的所述令牌时,通过使用所述安全操作系统将所述加密信息的解包的加密信息提供到所述安全应用;并且通过使用所述安全应用基于所述解包的加密信息获取所述交易的所述签名信息。
在一个实施例中,所述处理器可以被配置为:响应于接收到对所述交易的所述签名请求,显示用于引导所述用户输入的画面。
在一个实施例中,所述处理器可以被配置为:响应于将所述加密信息提供到所述安全应用,识别所述开关是否处于所述第二状态,并且响应于识别到所述开关处于所述第二状态,通过使用所述签名请求应用显示用于引导释放所述用户输入的另一画面。
在一个实施例中,所述开关可以由物理按钮或物理滚轮中的至少一个组成。
在一个实施例中,所述处理器可以被配置为:通过所述签名请求应用向区块链网络发送包括所获取的签名信息的所述交易,从而将包括所获取的签名信息的所述交易记录在区块链的区块中。
根据实施例的电子装置的操作方法可以包括:在所述电子装置的开关处于第一状态的同时,接收用于将所述电子装置的所述开关切换到不同于所述第一状态的第二状态的用户输入,其中,在所述开关处于所述第一状态的同时,所述电子装置的处理器与所述电子装置的存储器电断开;当所述开关从所述第一状态切换到所述第二状态以在所述存储器与所述处理器之间生成电路径时,通过所述处理器的第二执行环境的安全操作系统将存储在所述存储器中的加密信息提供到仅在所述第二执行环境中执行的安全应用;基于所述加密信息获取交易的签名信息;以及将基于所述加密信息获取的所述签名信息提供到签名请求应用。
在一个实施例中,所述操作方法还可以包括:使用在所述第二执行环境中执行的认证安全应用来认证所述电子装置的用户;以及当所述电子装置的所述用户被认证时,通过使用所述安全应用,基于所述加密信息获取所述交易的所述签名信息。
在一个实施例中,所述开关可以包括用于生物特征认证的传感器,所述传感器与所述用户直接接触,并且所述操作方法还可以包括:在所述传感器根据所述用户输入与所述用户接触的同时,获取所述用户的生物特征信息,以及通过使用所述认证安全应用基于所获取的生物特征信息来认证所述电子装置的所述用户。
在一个实施例中,所述操作方法还可以包括:通过所述认证安全应用基于生物特征认证、数据输入图案或他们的组合来认证所述用户。
在一个实施例中,所述操作方法还可以包括:通过使用所述签名请求应用接收对所述交易的签名请求;响应于接收到所述签名请求,将使用所述安全应用获得的用于对所述交易进行签名的令牌提供到所述签名请求应用;响应于将所述令牌提供到所述签名请求应用,通过使用所述签名请求应用将所述令牌提供到所述认证安全应用;当所述电子装置的所述用户被认证时,将使用所述认证安全应用获得的所述令牌的加密令牌提供到所述签名请求应用;以及当所述加密令牌对应于使用所述安全应用获得的所述令牌时,通过使用所述安全应用基于所述加密信息获取所述交易的所述签名信息。
在一个实施例中,所述操作方法还可以包括:响应于接收到对所述交易的所述签名请求,显示用于引导所述用户输入的画面。
在一个实施例中,所述操作方法还可以包括:响应于将所述加密信息提供到所述安全应用,识别所述开关是否处于所述第二状态;以及响应于识别到所述开关处于所述第二状态,通过使用所述签名请求应用显示用于引导释放所述用户输入的另一画面。
在一个实施例中,所述开关可以由物理按钮或物理滚轮中的至少一个组成。
在一个实施例中,所述操作方法还可以包括:通过所述签名请求应用向分布式区块链系统发送包括所获取的签名信息的所述交易,从而将包括所获取的签名信息的所述交易记录在区块链的区块中。
根据实施例的电子装置可以包括:存储器,所述存储器被配置为存储加密信息;处理器;以及物理开关,所述物理开关被配置为:在第一状态下将所述处理器与所述存储器电断开,在第二状态下将所述处理器与所述存储器电连接,其中,所述处理器被配置为:识别通过来自用户的对所述物理开关的输入将所述物理开关切换到所述第二状态;通过在所述物理开关保持在所述第二状态的同时存在的所述存储器与所述处理器之间的电路径,通过使用在所述处理器的第一执行环境中执行的第一应用,读取存储在所述存储器中的所述加密信息;通过使用在所述处理器的第二执行环境中执行的第二应用,基于所述加密信息获取交易的签名信息,所述第二执行环境提供比所述第一执行环境高的安全性,其中,所述加密信息从所述第一应用提供到所述第二应用,并且基于所述加密信息将所获取的签名信息从所述第二应用提供到所述第一应用。
在一个实施例中,即使在对所述物理开关的所述用户输入被释放时,所述物理开关也可以保持第二状态。
在一个实施例中,可以通过所述用户的对所述物理开关的另一输入将所述物理开关从所述第二状态切换到所述第一状态。
在一个实施例中,当对所述物理开关的所述用户输入被释放时,所述物理开关可以从所述第二状态切换到所述第一状态。
在一个实施例中,所述物理开关可以由物理按钮或物理滚轮中的至少一个组成。
在一个实施例中,所述处理器可以被配置为:使用在所述第二执行环境中执行的第三应用来认证所述电子装置的所述用户,并且当所述电子装置的所述用户被认证时,通过使用所述第二应用基于所述加密信息来获取所述交易的签名信息。
在一个实施例中,所述物理开关可以包括用于生物特征认证的传感器,所述传感器与所述用户直接接触,并且所述处理器可以被配置为:在所述用户的对所述物理开关的所述输入被保持的同时,通过使用所述传感器获取所述用户的生物特征信息,并且通过使用所述认证安全应用基于所获取的生物特征信息来认证所述电子装置的所述用户。
在一个实施例中,所述处理器可以被配置为:通过使用所述第一应用接收对所述交易的签名请求;响应于接收到所述签名请求,将使用所述第二应用获得的用于对所述交易进行签名的令牌提供到所述第一应用;响应于将所述令牌提供到所述第一应用,通过使用所述第一应用将所述令牌提供到所述第三应用;当所述电子装置的所述用户被认证时,将使用所述第三应用获得的所述令牌的加密令牌提供到所述第一应用;并且当所述加密令牌对应于使用所述第二应用获得的所述令牌时,通过使用所述第二应用基于所述加密信息获取所述交易的所述签名信息。
在一个实施例中,所述处理器可以被配置为:当所述加密令牌对应于所获取的令牌时,将所述加密信息的解包的加密信息提供给所述第二应用,并且通过使用所述第二应用基于所述解包的加密信息来获取所述交易的所述签名信息。
在一个实施例中,所述处理器可以被配置为:通过所述第一应用向区块链网络发送包括所生成的签名信息的所述交易,从而包括所生成的签名信息的所述交易能够记录在区块链的区块中。
根据实施例的电子装置的操作方法可以包括:识别用户的所述电子装置的物理开关是否通过对所述物理开关的输入从第一状态切换到第二状态,其中,所述物理开关在所述第一状态下将所述电子装置的处理器与所述电子装置的存储器电断开,并且在所述第二状态下将所述处理器与所述存储器电连接;通过在所述物理开关保持在所述第二状态的同时存在的所述存储器与所述处理器之间的电路径,通过使用在所述处理器的第一执行环境中执行的第一应用来读取存储在所述存储器中的加密信息;将所述加密信息从所述第一应用提供到在所述处理器的第二执行环境中执行的第二应用,所述第二执行环境提供比所述第一执行环境高的安全性;通过使用所述第二应用,基于所述加密信息获取交易的签名信息;将基于所述加密信息获取的所述签名信息从所述第二应用提供到所述第一应用。
在一个实施例中,即使对所述物理开关的所述输入被释放,所述物理开关可以保持所述第二状态。
在一个实施例中,可以通过所述用户的对所述物理开关的另一输入将所述物理开关从所述第二状态切换到所述第一状态。
在一个实施例中,当对所述物理开关的所述输入被释放时,所述物理开关可以从所述第二状态切换到所述第一状态。
在一个实施例中,所述物理开关可以由物理按钮或物理滚轮中的至少一个组成。
在一个实施例中,所述操作方法还可以包括:使用在所述第二执行环境中执行的第三应用来认证所述电子装置的所述用户;以及当所述电子装置的所述用户被认证时,通过使用所述第二应用基于所述加密信息获取所述交易的所述签名信息。
在一个实施例中,所述操作方法还可以包括:在所述用户的对所述物理开关的所述输入被保持的同时,通过使用用于生物特征认证的传感器来获取所述用户的生物特征信息,所述传感器与所述用户可直接接触,所述传感器包括在所述物理开关中;以及通过使用所述认证安全应用基于所获取的生物信息来认证所述电子装置的所述用户。
在一个实施例中,获取签名信息还可以包括:通过使用所述第一应用接收对所述交易的签名请求;响应于接收到所述签名请求,将使用所述第二应用获取的用于对所述交易进行签名的令牌提供到所述第一应用;响应于将所述令牌提供到所述第一应用,通过使用所述第一应用将所述令牌提供给所述第三应用;当使用所述第三应用认证了所述电子装置的所述用户时,将使用所述第三应用获取的所述令牌的加密令牌提供到所述第一应用;以及当所述加密令牌对应于使用所述第二应用获取的所述令牌时,通过使用所述第二应用基于所述加密信息获取所述交易的所述签名信息。
在一个实施例中,所述操作方法还可以包括:当所述加密令牌对应于所获取的令牌时,将所述加密信息的解包的加密信息提供到所述第二应用;以及通过使用所述第二应用,基于所述解包的加密信息获取所述交易的所述签名信息。
在一个实施例中,所述操作方法还可以包括:通过所述第一应用向区块链网络发送包括所获取的签名信息的所述交易,从而可以将包括所获取的签名信息的所述交易记录在区块链的区块中。
根据本公开的实施例的方法可以以硬件、软件或者硬件和软件的组合来实现。
当通过软件实现所述方法时,可以提供用于存储一个或更多个程序(软件模块)的计算机可读存储介质。可以将存储在计算机可读存储介质中的一个或更多个程序配置为由电子装置内的一个或更多个处理器来执行。一个或更多个程序可以包括指令,所述指令使得电子装置执行根据由所附权利要求限定的和/或在此公开的根据本公开实施例的方法。
程序(软件模块或软件)可以存储在包括以下项的非易失性存储器中:随机存取存储器和闪存、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、磁盘存储装置、致密型光盘(CD-ROM)、数字多功能光盘(DVD)或其他类型的光学存储装置或磁带。它们中的一些的任意组合或全部可以形成存储程序的存储器。此外,在电子装置中可以包括多个这样的存储器。
此外,程序可以存储在可附接的存储装置中,可通过通信网络(例如,因特网、内联网、局域网(LAN)、广域网(WAN)和存储区域网(SAN)或它们的组合)访问所述可附接的存储装置。这样的存储装置可以经由外部端口访问电子装置。此外,通信网络上的单独的存储装置可以访问便携式电子装置。
在本公开的上述示例实施例中,根据呈现的示例实施例,本公开中包括的组件以单数或复数表示。然而,为了便于描述而选择单数形式或复数形式以适合于所呈现的情况,并且本公开的实施例不限于单个元件或其多个元件。此外,在描述中表达的多个元件可以被配置成单个元件,或者描述中的单个元件可以被配置成多个元件。
可以以硬件、固件或经由执行可以存储在记录介质(诸如,CD ROM、数字多功能光盘(DVD)、磁带、RAM、软盘、硬盘或磁光盘)中的软件或计算机代码、或者经由网络下载并存储在本地记录介质上的计算机代码(所述计算机代码最初存储在远程记录介质或非暂时性机器可读介质上),来实现本公开的上述特定实施例,从而可以使用通用计算机或专用处理器或者以可编程或专用硬件(例如,ASIC或FPGA)的形式经由存储在记录介质上的软件来渲染在此描述的方法。如本领域中将理解的,计算机、处理器、微处理器控制器或可编程硬件包括诸如RAM、ROM、闪存等的存储器组件,其可以存储或接收软件或计算机代码,当计算机访问并执行软件或计算机代码时,处理器或硬件实现在此描述的处理方法。
虽然已经参照本公开的示例实施例示出并描述了本公开,但是本领域技术人员将理解在不脱离本公开的实质精神和全部范围的情况下可以在形式和细节上进行各种改变。
- 一种电子装置的操作方法、电子装置和计算机存储介质
- 用于检测光信号的电子装置的操作方法与电子装置