Win8 KMS 激活原理详解

  Windows 8批量激活

  Windows8面向企业提供两种批量激活方式:KMS和MAK。MAK的激活服务由微软的公共平台受理,适合于50台计算机以下的中小型企业;KMS需要企业提供一台受理该项服务的服务器,适用于50台计算机以上的大型企业。

  KMS 激活原理(Key Management Service)

  KMS采用客户端-服务器拓扑结构,个人电脑只需通过本地网络即可获得授权服务。 KMS客户端计算机通过DNS域名系统或者静态配置连接至KMS主机,KMS主机通过RPC远程过程调用发放授权。 KMS主机可以在安装Windows Server 2003及以上系统的物理机或者虚拟机中运行。

  KMS 激活流程

  部署KMS激活的第一步是安装Windows KMS Host key并激活KMS主机,KMS主机激活完成后,KMS将在DNS服务器中使用SRV(服务资源记录)存储KMS主机位置。KMS主机默认情况下会自动通过动态DNS (Dynamic DNS)发布,KMS客户端(使用 KMS激活的Win8)通过发布的信息查找和连接KMS主机。

  KMS主机会保存一个“激活计数”作为激活Windows 8 客户端的条件之一。初次部署时,每当一台新的Windows 8客户端成功连接到KMS主机后,该激活计数会增加。当激活计数达到阈值25时,所有Windows 8客户端都会被自动激活。该激活计数将由KMS主机进行维护,KMS主机将自动移除超过30天CMID记录。


  1. KMS主机安装Windows 8 KMS Host key

  2. 通过Internet或者电话激活KMS主机

  3. KMS服务每次启动时都会在DNS中添加SRV record服务资源记录

  4. KMS客户端每次向DNS查询KMS服务信息时,将从DNS提供的服务资源记录列表随机选择一个KMS主机。如果选择的KMS主机没有响应,KMS客户端计算机将从它的SRV记录列表中删除该KMS主机记录,同时随机从列表中选择一个新的KMS主机。

  5. 客户端计算机通过TCP匿名远程过程调用连接到KMS主机,默认端口为1688。在客户端计算机和KMS主机建立TCP会话之后,客户端计算机会产生CMID客户端标识 然后向KMS主机发送请求记录。这条请求记录会用AES加密算法做签名。已经激活的客户端会每7天发发送一次请求刷新激活记录,未激活的 Windows 8 客户端每2小时发送一次请求进行激活。

  注意:如果缓存KMS主机无法响应后续的激活状态更新,KMS客户端计算机将会通过DNS中KMS SRV记录重新查找新的KMS主机。

  6. KMS主机会将客户端标识(CMID)保存在KMS主机上的一张表中。每个激活请求在该表中的存留时间为30天。当某个Windows 8 客户端刷新它的激活,那么该客户端的缓存CMID将从表中删除,同时创建一个新的记录,存留周期重新变为30天。如果某个KMS客户端没有在30天之内刷新它的激活,那么相对应的CMID将会从表中删除同时激活计数减1。

  7. KMS主机将激活计数返回给客户端, 客户端将激活计数的值与授权策略对比,如果满足激活阈值,则进行激活。默认情况下Windows 8 客户端每周自动进行一次激活。

时间: 2024-08-31 23:10:07

Win8 KMS 激活原理详解的相关文章

正版Win8系统激活步骤详解

Windows8是微软现在最新的桌面操作系统,它在Win7的基础上进一步深化和开发,采用了更先进的6.2内核,并加入了全新的"开始"屏幕和应用程序,支持触控操作等一系列新的设计和理念.不过要体验完整的Win8,我们首先需要的就是必须激活系统.本期的<Win8公开课>第一讲我们就将介绍如何来激活你的系统. 购买后立即激活 正常情况下我们会使用官方的"Win8升级助手"来安装我们的Windows8系统,通过这一工具我们需要经过检测当前电脑.购买序列号到安装系

Win8激活方式详解

Windows的用户恐怕都绕不开一个问题,那就是激活.最近,尝鲜Win8的用户越来越多,但漂在屏幕上的激活提醒实在让人看了很不爽,因此关于Win8激活的问题又开始成为了网上热门的话题. 今天笔者就将详细地介绍一下Win8的激活方法,大家只要照着步骤一步步进行操作,相信都可以完成Win8的激活. 网络常规激活 Win8的激活方法目前有两种较为方便的,一种为联网激活,还有一种为电话激活,主要应对在断网环境下激活系统.首先我们来看看联网激活. 在Win7和之前的XP版本中,我们一般会右击"我的电脑&q

java RMI原理详解

[本文转载自java RMI原理详解] 定义 RMI(Remote Method Invocation)为远程方法调用,是允许运行在一个Java虚拟机的对象调用运行在另一个Java虚拟机上的对象的方法. 这两个虚拟机可以是运行在相同计算机上的不同进程中,也可以是运行在网络上的不同计算机中. Java RMI:Java远程方法调用,即Java RMI(Java Remote Method Invocation)是Java编程语言里,一种用于实现远程过程调用的应用程序编程接口.它使客户机上运行的程序

MVC系列(7) WebActivator的实现原理详解

上篇文章,我们分析如何动态注册HttpModule的实现,本篇我们来分析一下通过上篇代码原理实现的WebActivator类库,WebActivator提供了3种功能,允许我们分别在HttpApplication初始化之前,之后以及ShutDown的时候分别执行指定的代码,示例如下: [assembly: WebActivator.PreApplicationStartMethod(typeof(A.InitClass1), "PreStart")] [assembly: WebAct

KVC/KVO原理详解及编程指南(转)

作者:wangzz 原文地址:KVC/KVO原理详解及编程指南 本文只转载KVC部分讲解,KVO部分可到原博客查看. 本人在阅读过程中也进行了一些勘误修改. 前言 1.本文基本不讲KVC/KVO的用法,只结合网上的资料说说对这种技术的理解. 2.由于KVO内容较少,而且是以KVC为基础实现的,本文将着重介绍KVC部分. 一.简介 KVC/KVO是观察者模式的一种实现,在Cocoa中是以被万物之源NSObject类实现的NSKeyValueCoding/NSKeyValueObserving非正式

jQuery中getJSON跨域原理详解

jQuery中getJSON跨域原理详解  前几天我再开发一个叫 河蟹工具条 的时候,其中有个功能就是获取本页面的短网址. 这个想法是好的,可是在我付诸于行动的时候,发现这个需要跨域. 起初我的想法就是,跨域的最简单的方法就是增加一个script标签,因为script标签是允许跨域的. 但是问题又来了,对方的API返回的是个json对象,用script标签只能执行,却不能获取到里面的东西,也就是说返回的东西是不可控的. 随后我就想到了jQuery中的getJSON的方法,学习了一下,没想到里面的

AngularJS入门教程之数据绑定原理详解_AngularJS

本文实例讲述了AngularJS数据绑定原理.分享给大家供大家参考,具体如下: 注 这篇文章主要是写给新手的,是给那些刚刚开始接触Angular,并且想了解数据帮定是如何工作的人.如果你已经对Angular比较了解了,那强烈建议你直接去阅读源代码. Angular用户都想知道数据绑定是怎么实现的.你可能会看到各种各样的词汇:$watch,$apply,$digest,dirty-checking...它们是什么?它们是如何工作的呢?这里我想回答这些问题,其实它们在官方的文档里都已经回答了,但是我

HTTPS 加密算法原理详解

本文讲的是HTTPS 加密算法原理详解, 前言 HTTPS(全称:HyperText Transfer Protocol over Secure Socket Layer),其实 HTTPS 并不是一个新鲜协议,Google 很早就开始启用了,初衷是为了保证数据安全. 近两年,Google.Baidu.Facebook 等这样的互联网巨头,不谋而合地开始大力推行 HTTPS, 国内外的大型互联网公司很多也都已经启用了全站 HTTPS,这也是未来互联网发展的趋势. 为鼓励全球网站的 HTTPS 实

SSL/TLS 原理详解

本文大部分整理自网络,相关文章请见文后参考. SSL/TLS作为一种互联网安全加密技术,原理较为复杂,枯燥而无味,我也是试图理解之后重新整理,尽量做到层次清晰.正文开始. 1. SSL/TLS概览 1.1 整体结构 SSL是一个介于HTTP协议与TCP之间的一个可选层,其位置大致如下: tls-ssl-_tcp-ip_protocol.png SSL:(Secure Socket Layer,安全套接字层),为Netscape所研发,用以保障在Internet上数据传输之安全,利用数据加密(En