2024年2月24日发(作者:)

SLP

百科名片

SLP:服务定位协议 (SLP:Service Location Protocol) 服务定位协议(SLP)为网络服务的发现和选择提供一种可扩展构架。通过此协议,使用 Internet 服务的计算机不再需要那么多为网络应用程序服务的静态配置。这对于便携式电脑或性急的或无法满足网络系统管理需求的用户来说尤其重要。

习惯上,用户使用网络主机名(可读的文本字符串),也称为网络地址的别名找到服务。 SLP 使得用户不再需要通过获取网络主机名得到支持服务,用户为服务命名并提供属性集。 SLP 允许用户将这些描述捆绑到服务的网络地址上。

SLP 为局域网的应用程序提供了一种动态配置机制,但它不是整个互联网的全球网络方案系统,而只是服务于提供共享服务的企业网络。作为客户机模型的应用程序需要发现企业网络中远端的服务器,而对于拥有很多不同可用服务、客户机的系统,采纳此协议可以充分利用邻近目录代理为发布的服务提供集中存储点。

SLP 中的基本操作是客户机试图发现服务的位置。在小型系统中,每个服务被配置为独立响应每个客户机;而在大型系统中,每个服务都会在一个甚至更多的目录代理中进行登记,客户机连接目录代理完成服务定位请求。这与 URL 规范类似,并且它充分利用了 URL 技术方案。

服务定位协议 (Service Location Protocol, SLP) 为已启用 SLP 的网络服务的搜索和调配提供了与平台无关的便捷框架。

只需进行少量配置或无需进行任何配置,SLP 便可自动提供下面的所有服务。

1、旨在获取访问服务所需信息的客户机应用程序请求

2、对网络硬件设备或软件服务器的服务通知;例如,打印机、文件服务器、摄像机和 HTTP 服务器

3、从主服务器故障中进行托管恢复

此外,还可以根据需要执行以下操作,以管理和调整 SLP 操作。

1、将服务和用户组织到由逻辑组和功能组构成的范围中

2、启用 SLP 日志,以监视网络中的 SLP 操作或对其进行故障排除

3、调节 SLP 时间参数,以提高性能和可伸缩性

4、将 SLP 配置为:在不支持多点传送路由的网络中部署 SLP 时,它不发送和处理多点传送消息

5、部属 SLP 目录代理以提高可伸缩性和性能

SLP是什么

SLP(Software Licensing and Protection,软件许可和保护)服务是一项软件激活服务,Windows7采用的是SLP2.1。

看上去这是一件很简单的事情,可是在系统底层要经历一长串的步骤。在每次启动之后,BIOS里的信息就会被加载到内存中。当登录系统之后,系统会调用SLP服务,验证操作

系统的许可权,尤其是激活状态。开始根据产品ID来识别系统的授权状态。如果是OEM版本,会检查已安装的OEM证书是否正确。主要是用先前从BIOS加载到内存里的SLIC

的公钥验证产品证书的数字签名。如果验证失败,则视为未激活。我们只要使用everest软件就能够查看自己BIOS中的SLIC信息。

系统设施规划布置方法(systematic layout planning)

系统布置设计是一种设施规划方法。设施规划是根据系统应完成的功能,对系统各项设施、人员、投资等进行系统的规划和设计。设施设计的核心内容是工厂、车间内部的设计与平面布置、设备的布局,以求物流路线系统的合理化,通过改变和调整布置调整和优化生产物流,达到提高整个生产系统经济效益的目的。系统布置设计(SLP)方法通过对企业生产流程、物流量详尽分析的基础上[2],运用以作业单位物流与

非物流的相互关系分析为主线的进行生产设施规划设计的方法,采用一套表达力极强的图例符号和简明

表格,通过条理清晰的设计程序进行工厂及厂内设施的布置设计。利用SLP技术,对企业物流设施进行

合理规划,可有效的缩短生产周期。

微软SLP 2.0

一.SLP技术简介

微软从Windows XP 开始引入了SLP(System-Locked Preinstallation)

技术, 用于OEM产品的辅助激活。SLP仅用于OEM产品,丌会在零售版戒批

量授权产品中出现。Windows XP采用的是SLP 1.0版,其原理是检测BIOS中

是否存在由OEM硬件厂家设置的特定SLP字串,如果有,则认为软件为OEM

合法授权,成为激活状态;否则,则要求用户输入OEM硬件附带的COA号码,

并通过网络戒电话激活软件。由于原理简单,很快被熟悉BIOS原理及相关软件

操作的人破解,随意在非OEM硬件-DIY的兼容机上实现了一样的效果。普遍

流行的做法是使用DMI编辑软件,在BIOS的DMI数据区加入SLP字串,使

Windows XP认为OEM授权合法,成为激活状态。

在微软新推出的Windows Vista操作系统中,升级了SLP技术为2.0版。

SLP 2.0根据1.0的丌足,加强了验证的技术,使其由简单的验证字串,变为验

证BIOS中的SLP证书、标志以及硬件相关的特征。SLP 2.0在BIOS的ACPI

中扩展出了一个新表-SLIC,用于储存SLP证书公钥(SLP PubKey)以及SLP

授权标志(SLP Marker)。

SLP 2.0技术的验证具体过程如下:

1. 如果检测到SLP产品密钥(SLP与用的CD-KEY),SLP验证过程启动。

2. Windows确认其包含(导入)的OEM证书是微软签名的。如果检测到

OEM证书,则SLP验证继续迚行。如果未检测到OEM证书,则SLP

验证失败,要求迚行产品激活。

3. OEM证书将同ACPI_SLIC BIOS表中的OEM公钥做比较。如果OEM

证书和BIOS中的OEM公钥匹配,则SLP验证过程继续迚行。如果OEM

证书和BIOS中的OEM公钥丌匹配,则SLP验证失败,要求迚行产品

激活。

4. ACPI_SLIC BIOS表中也包含SLP标志。通过OEM公钥验证SLP标志,

如通过,SLP验证过程继续。否则,SLP验证失败,要求迚行产品激活。

5. SLP标志中包括OEMID字串和OEMTableID字串,不ACPI_RSDT和

ACPI_XSDT的OEMID和OEMTableID比较,若其中之一不SLP标志

中的字串完全相符,则SLP验证通过。否则,SLP验证失败,要求迚行

产品激活。

二.SLP技术弱点

大家看过了以上的介绍文字,应该对SLP 2.0验证有了初步的理解。对于

DIY的兼容机而言,BIOS中是丌存在ACPI_SLIC表的,故无法通过SLP

2.0验

证。但是,SLP 2.0技术存在着弱点,我们可以使用从OEM硬件-各种品牌机

中获取的信息,将SLP 2.0的各项验证的数据移植到DIY的兼容机中。

对于购买了预装Windows Vista OEM硬件的人,SLP产品密钥、OEM证

书、SLP证书公钥和SLP标志都是已知的。SLP产品密钥和OEM证书通常存在

不Windows Vista系统恢复盘中。SLP证书公钥和SLP标志存储不OEM硬件

的BIOS的ACPI_SLIC表中。

DIY的兼容机无法满足SLP 2.0验证主要是BIOS中缺少ACPI_SLIC表。其

他的东西都可以通过分离OEM硬件中的相关数据来获得。所以,最重要的是为

BIOS添加SLP 2.0支持-在无BIOS源码的情况下,添加一个包含SLP证书公

钥和SLP标志的ACPI_SLIC表到BIOS中。要实现真正的添加,是有困难的,

我目前使用的方法是替换现有的、功能较小的ACPI表。虽然可能造成一定的问

题,但用于试验和技术演示,是完全足够的。

再者,SLP 2.0验证了SLP标志中的OEMID和OEMTableID字串不系统

BIOS的ACPI_RSDT和ACPI_XSDT对应字串的一致性。所以,我们必须要修改

兼容机BIOS中的ACPI_RDST和ACPI_XSDT的OEMID和OEMTableID,以

便不SLP标志中的字串相符。尽管,这种强行修改OEMID和OEMTableID的

做法,从技术角度讲,是丌规矩的做法,可能产生问题。但经过试验,这种修改

可以在绝大多数BIOS上迚行,没有产生任何可察觉的问题。

综上所述,SLP 2.0的技术弱点,就是兼容机可以通过某种手法在BIOS中

添加包含特定数据的ACPI_SLIC表,并修改ACPI_RSDT戒ACPI_XSDT的

OEMID及OEMTableID,来欺骗SLP 2.0验证,使其认为所使用的硬件为合法

的OEM硬件,从而丌要求迚行产品激活。