当移动设备和其他嵌入式系统与其他系统和组件进行互操作时,安全性是一个重要的考虑因素。未经授权的访问、窃听、会话劫持和其他安全威胁可能会导致不可逆转的损害,例如数据丢失、知识产权盗窃和故障。
数据管理安全性是为嵌入式系统开发的应用程序的基本要求。从工业自动化和医疗设备到太阳能逆变器,甚至家庭娱乐系统,数据都必须在设备上的静态和通信过程中得到保护。但谁对数据安全负责呢?所有设备组件都必须采用注重安全的设计,从应用程序和嵌入式数据库到硬件。
保护嵌入式数据
嵌入式应用程序开发变得越来越复杂,开发人员有兴趣学习如何在嵌入式系统开发的所有阶段安全地管理数据。无论工程师是构建移动设备、太阳能逆变器、医疗设备还是任何其他嵌入式系统,数据安全都是设计中最危险的部分。
身份验证和加密技术对于保护数据存储和分发至关重要,但是嵌入式开发人员需要了解哪些知识来保护嵌入式数据库?随着保护数据变得越来越重要,监管机构和消费者要求认真保护数据,应用程序开发人员可能会问:如何确保我的应用程序安全?应该在应用程序级别还是在数据库级别保护数据?能否通过简单地组合正确的技术组合来实现安全性?
只要数据保留在没有通信层的嵌入式系统的本地,安全管理就不是很复杂。但是,随着TCP/IP等通信协议被添加到设计中,安全监督变得更加成问题,开发人员必须了解各种选项,例如保护套接字层,以便可以安全地访问数据。
在应用程序级别保护数据
数据库和应用程序可以提供安全的避风港,使数据安全。开发人员可以在数据离开应用程序并到达数据库之前对其进行加密,但这仅适用于不可搜索的数据。例如,管理门安全性的嵌入式系统将具有员工及其凭据(如 PIN 或密码)的列表。凭据应由应用程序加密,以便可以单独验证。但是,用于标识或列出工作人员的任何信息不得由应用程序加密。
物理安全也很重要。门安全系统不应将数据存储在可移动的闪存介质上,这些介质可以很容易地更换以规避安全性。但是,即使数据存储在内部,对设备具有物理访问权限的专用攻击者也几乎总是可以访问存储在其中的数据。在这种情况下,存储级加密对于保护敏感数据是必需的。
在数据库级别保护数据
加密是一种公认的安全方法,其中数据使用特定的加密密钥进行编码,并且只能通过提供相同的密钥来读取相同的数据。文件加密是一种保持数据安全的方法,因为它将阻止对每个数据库文件的访问,直到应用程序提供正确的密钥。此方法可在发生媒体盗窃时保护数据,并且只要对数据的访问仅限于本地连接,就是提供安全性的首选方法。
过去,在数据离开系统之前对其进行加密是管理和保护数据的常用方法。但是,这种方法可能会使分析数据和搜索个人信息变得困难。
保护远程访问和数据分发
对于关注数据机密性、完整性和可用性的开发人员来说,数据库安全性非常重要。虽然为最终用户访问创建过程等步骤可能会限制物理访问,但数据库安全性需要特别注意,并且极大地影响了嵌入式系统的风险管理。如果网络上的恶意系统或恶意软件应用程序拦截对机密数据的访问,则任务关键型应用程序和商业智能系统的开发人员会遇到严重的安全漏洞。
开发人员如何防止未经授权的会话进行远程访问?远程访问需要防止未经授权的访问,以及窃听和会话劫持。这些故障可能是由于数据管理和数据分发缺乏安全性造成的。
当消费者远程访问数据时,他们可能会在未经授权的情况下连接到数据库,从而允许任何人在线访问此数据。因此,有必要实现授权令牌,以便使用者可以使用密码访问数据库。这可以保护通信,以防止未经授权的一方直接访问数据库。
嵌入式数据库安全功能
某些应用程序在本地收集数据,并定期将该数据发布到 Internet 上的服务器。如果该连接未加密,则 Internet 或本地网络上的其他计算机可以观察或篡改该连接。开发人员经常在嵌入式数据库中寻找安全性和身份验证功能,以提供解决这些问题的灵活数据安全技术。使用数据库安全功能,开发人员可以通过加密网络通信和存储介质来实现嵌入式应用程序中的数据安全性。
ITTIA DB SQL 是一个用于移动设备和其他嵌入式系统的数据库软件库,可提供安全的文件存储、远程访问和复制(参见图 1)。无论数据库文件是仅本地访问还是通过公共 TCP/IP 网络共享,ITTIA DB SQL 提供的加密功能都能确保数据免受未经授权的访问、窃听和会话劫持。
图 1:ITTIA DB SQL 嵌入式关系数据库管理系统提供安全的文件存储、远程访问和复制。
要保护设备上的静态数据,可以使用 AES-128 或 AES-256 密钥对每个数据库文件进行加密。高级加密标准 (AES) 是美国政府和全球其他管理机构采用的数据加密规范。即使从设备中删除数据库,如果没有加密密钥,也无法读取或修改该数据库。因此,敏感数据可以存储在消费者移动设备上的可移动媒体上或备份到可移动媒体上,而不会影响安全性。
当嵌入式设备可以与其他设备和后端系统共享数据时,安全性变得更加令人担忧。无论数据是通过主动客户端/服务器连接还是通过被动复制共享,都应使用不需要通过网络传输数据库密码的 Salted 质询响应身份验证机制 (SCRAM) 等协议对通信进行身份验证。这可确保只有经过授权的参与方才能启动连接并修改嵌入式数据库。
通过公共网络(如 Internet)的连接还应使用传输层安全性 (TLS) 或其前身安全套接字层 (SSL) 来保护通信通道。这可以防止从网络上的其他设备进行窃听和中间人攻击,例如会话劫持,即使在建立经过身份验证的连接后,会话劫持也会危及安全性。
无论应用程序是面向 Windows、Linux、Android、ThreadX、QNX,还是嵌入式设备中常见的许多其他操作系统之一,软件开发人员都必须考虑数据共享和存储的安全隐患。选择提供所需功能的嵌入式数据库对于安全应用程序的规范和设计至关重要。虽然最终由应用程序来实施足够的安全措施,但为管理安全性提供基础知识的嵌入式数据库对于保护嵌入式设计至关重要。
审核编辑:郭婷
全部0条评论
快来发表一下你的评论吧 !