Windows CE操作系统安全机制综述

时间:2022-05-27 08:02:17

Windows CE操作系统安全机制综述

摘要:Windows CE是一个应用非常广泛的嵌入式操作系统,其安全机制对于它在各个领域中的应用起着非常重要的作用,文章着重在建立信任环境、密码技术和USB KEY认证手段等方面对Windows CE的安全服务体系和架构进行了充分的论述。

关键词:WinCE操作系统;信任环境;安全;密码技术;认证

中图分类号:TP316文献标识码:A文章编号:1009-3044(2008)16-21208-02

Synthetically Treatise of Security Mechanism of Embedded Operating System Windows CE

WU Xiao-chun

(Graduate School of Navy Compute Technique Peking,Beijing 100841,China)

Abstract:Windows CE is an application extremely widespread embedded operating system, its safety mechanism regarding it in each domain application extremely vital role, the article emphatically in the establishment trust environment, the password technology and USB aspects and so on KEY authentication method has carried on the full elaboration to the Windows CE safe service system and the construction.

Key words:Windows CE Embedded Systems;dependable environment;security;technology of cryptogram;attestation

1 前言

目前,嵌入式设备在很多领域得到非常广泛的应用,但是在高端嵌入式应用中,微软的Windows CE系统一直占据领先地位。而随着嵌入式网络的的迅猛发展,嵌入式系统的安全性问题日渐突显。Windows CE是一个面向嵌入式应用的通用操作系统平台,由于Windows CE的通用性和易开发性,在应用安全方面的问题就显得尤其重要。本文阐述了Windows CE的安全机制,并对其服务体系结构加以描述。

2 安全需求

从嵌入式设备安全角度考虑,信息的发送、接收、处理各个环节都要进行保护,提供有效的安全认证和密码体制,避免不安全应用程序的加载,确保信息的隐密性,过滤和限制来自外界的存取、创建一个被普遍信任的安全环境是操作系统要考虑的重要因素。能够提供安全服务是一个完善的操作系统的核心,从网络架构、系统管理以及用户终端的服务都要有灵活、强大的安全系统作保障。Windows CE正是这样一个拥有一套完整的安全服务功能的操作系统,它可保护使用者在网络世界中安全地交流和开展业务。Windows CE内部建立了一整套安全机制,包括网络通信安全机制、数据存储安全和认证机制。概况起来,使用了信任管理器、局部认证子系统、密码技术和证书机制、存储保护、安全套接字层、安全支持提供接口、智能卡以及可信环境模式等机制来增强对设备和应用的安全性支持。

3 Windows CE的安全服务体系及架构

Windows CE拥有自己的安全服务体系及架构,通过安全支持提供者接口(SSPI),提供了对用户授权、信任等级管理和消息保护等的支持。通过OEM(Original Equipment Manufacture)可以定制自己的安全包,使用自己特定的加密与解密算法或授权与认证方法,将它加入系统注册表,然后通过应用程序去调用。比较新的Windows CE版本还为用户提供了对VPN和防火墙的支持。

3.1 通过OEM层创建信任环境

通过OEM(Oriqinal Equipment Manufacture)层创建一个信任环境,防止加载未知模块、限制对系统 API 的访问、并禁止对系统注册表的某些部分执行写入操作。在内核加载之前通过OEM CertifyModule和OEM CertifyModuleInit函数可以对将要加载的模块进行检查。它验证应用程序是否包含有效的签名,且仅当应用程序包含有数字签名时Windows CE平台才予以加载。OEM必须对所有第三方驱动程序进行数字签名, 否则加载驱动程序时将失败。

OEMCertifyModule函数对加载模块进行验证,返回值为:OEM_CERTIFY_TRUST,表示该模块可信任,可以加载;OEM_CERTIFY_RUN,表示该模块可以信任,可以加载,但不能调用特权函数;OEM_CERTIFY_FALSE,表示该模块不可信任,不允许加载。

Windows CE中的安全注册表体系结构只允许已经识别的”可信任应用程序”修改注册表中的键和值,对于”不信任的应用程序”,将予以拒绝,从而避免了不安全应用程序的加载。

3.2 通过SSPI提供安全保护

在 Secur32.dll 模块中提供的安全性支持提供者接口 (SSPI) 是一个严格定义的通用 API,用于获取进行身份验证、消息的完整性检查和消息加密的集成安全服务。它在应用程序层协议和安全性协议之间提供了一个抽象层。因为不同的应用程序在网络上传输数据时所采用的识别或验证用户身份的方法,以及加密数据的方法各不相同,因此 Windows CE SSPI 提供了访问包含各种身份验证和数据加密方案的动态连接库(DLL)。这些被DLL引导的、提供安全服务的数据包被称作安全性支持提供者 (SSP)。SSP可以有一种或多种安全机制对应用程序提供支持,应用程序并不需要了解这些安全机制的细节。

SSPI 包括以下的API 功能组: a.信任管理API。提供对信任数据(如口令等)的调用;b.信任关系管理API,提供用于建立和使用信任关系的支持;c.消息支持API,提供通信的完整性和保密;d.数据包管理API,提供为不同格式的数据打包安全封装服务。

3.3 Windows CE中的密码技术

密码技术可以使实体间的通信更加安全可靠。在Windows CE中,通过 CryptoAPI 提供的服务,应用程序开发人员可以添加定制数据加解密方案、使用数字证书进行身份验证、为基于 Win32 的应用程序进行 ASN.1 的编码或解码操作。应用程序开发人员可以使用 CryptoAPI 中的函数而无需了解内部的实现细节。

Windows CE密码系统由应用程序、操作系统(OS)和密码服务提供者(CSP)这三层组件组成(如图2). 应用程序通过CAPI与操作系统交换信息, 操作系统通过密码服务提供者接口(CSPI)与CSP通信。

图1 SSPI Secur32.dll、Winsock、WinInet 之间的关系图2 应用程序、操作系统和CSP的关系图

上一篇:基于J2EE的网上商城系统的设计 下一篇:嵌入式操作系统μC/OS-II的特点及移植应用研究