11. 用户端凭证与数位签名

本章重点
 

介绍用户端凭证与数位签名,包含申请用户端凭证、CA核发用户端凭证、安装用户端凭证、汇出用户端凭证、启用用户端凭证、将用户端凭证对应到使用者帐户、使用数位签名等。

用户端凭证(Client Certificate)
 

用户端凭证包含用户端个人资讯,用於数位签名与登入Web站台身份辨识别之用。数位签名以确保不可否认性与验证内容是否被篡改,Web站台可以要求使用者使用用户端凭证登入,用户端凭证可以对应到使用者帐户。

如何向Microsoft Certificate Services所扮演的CA(凭证授权单位)申请用户端凭证(Client Certificate)呢 ?

步骤如下:

  1.  要求用户端凭证: 使用Internet Explorer浏览器中连线到Microsoft Certificate Services申请。
  2.  核发用户端凭证: 由MMC之 凭证授权单位 核发所申请之用户端凭证。
  3.  安装用户端凭证: 使用Internet Explorer浏览器中连线到Microsoft Certificate Services安装用户端凭证。
  4.  汇出用户端凭证: 用於数位签名或用户端凭证对应到使用者帐户的一对一对应时,须汇出用户端凭证。

说明

向Certificate Services之企业CA要求用户端凭证时,使用MMC 凭证要求精灵 ,将可以自动完成要求凭证、核发凭证、安装用户端凭证叁个步骤。


本章有关用户端凭证的主题如下:

11-1 如何申请用户端凭证呢?
 

Windows 2000中可以使用两种方式要求凭证,如下:

  1. 由MMC 凭证要求精灵 要求凭证,MMC 凭证要求精灵 要求凭证时,将自动完成从要求凭证、核发凭证、安装凭证叁个步骤。
  2.  Windows 2000凭证服务 网页(http://servername/certsrv,servername为CA的Windows 2000伺服器名称)要求凭证,另须手动完成安装凭证的步骤。

说明

向Certificate Services之企业CA要求用户端凭证时,可以使用MMC 凭证要求精灵 以及连线到CA的 Windows 2000凭证服务 网页申请;向独立CA要求凭证时,只可以连线到CA的 Windows 2000凭证服务 网页申请。


由MMC凭证要求精灵要求凭证
 

  1. 方法为开启 凭证 的MMC主控台,於树状目录中按一下 凭证-目前使用者 ,以滑鼠右键按下 个人 (或 目的 )选择 所有工作 / 要求新凭证 ,如下:
     

  2. 如此将启动 凭证要求精灵 ,如下:
     

  3. 按下 下一步 按钮後,在 凭证范本 选择 使用者 ,并勾选 进阶选项 ,如下:
     

  4. 按下 下一步 按钮後,选择一个密码编译服务提供者(CSP),如下:
     


    若勾选启用加强私密金钥保护,表示於每一次使用私密金钥时,都会提示您输入密码。

  5. 按下 下一步 按钮後,选择一个CA,如下:
     

  6. 按下 下一步 按钮後,输入好记的名称及描述,如下:
     

  7. 按下 下一步 按钮後,确认如下:
     

  8. 按下 完成 按钮後,出现要求结果如下:
     

  9. 成功完成 凭证要求精灵 之後,按一下 安装凭证 ,如下:
     

  10. 即显示结果,如下:
     

  11. 您可由申请者浏览器之 内容 标签页,按 认证 按钮,检视刚才所核发的用户端凭证,如下:
     

之後若需做为数位签名之用,须汇出用户端凭证,请参阅 11-4〈如何汇出用户端凭证呢 ? 〉 以汇出用户端凭证。

由Windows 2000凭证服务网页要求凭证
 

  1. 使用Internet Explorer浏览器中连线到 Windows 2000凭证服务 网页(http://servername/certsrv),其中servername为Microsoft Certificate Services凭证授权单位(CA)所在位置的网站伺服器名称,请选择 要求凭证 选项,如下:
     

  2. 按下 下一步 按钮,选取 使用者凭证要求  使用者凭证 ,如下:
     

  3. 按下 下一步 按钮,输入凭证要求的识别资讯,或显示已收集到所有必须的识别资讯,如下:
     

  4. 按下 其他选项 按钮以及 进阶凭证要求 超连结,输入进阶凭证要求的资讯,注意勾选 将金钥标示成可汇出 ,才可汇出私密金钥,做为数位签名档案之用,如下:
     


     

    进阶凭证要求的资讯,说明如下:

    •  CSP: 密码编译服务提供者。
       
    •  金钥使用方式: 使用私密金钥之方式。「交换」表示可以使用私密金钥来交换资讯。「签章」表示使用私密金钥来建立数位签章。「两者皆是」表示使用私密金钥来交换,和签章。
       
    •  金钥大小: 公开金钥长度(以位元表示),长度越长越安全。
       
    •  建立新的金钥组或使用现存的金钥组: 使用保存在电脑上的现存金钥组(公开及私密金钥)、或建立新的金钥组(公开及私密金钥)。
       
    •  启用加强式私密金钥保护: 勾选此选项表示每次需要使用私密金钥时都会提示您输入密码。
       
    •  将金钥标记成可汇出: 勾选此选项表示可以将公开及私密金钥组储存到PKCS #12档案。
       
    •  存放在本机机器: 存放在本机电脑存放区,勾选此选项表示凭证会发给电脑而不是发给个人。
       
    •  杂凑演算法: 杂凑演算方法。
       
    •  将要求储存成PKCS #10档案: CA(凭证授权单位)无法在线上处理凭证要求时勾选此选项。
       
  5. 设定完後按下 提交 按钮,将出现凭证搁置,如下:
     

企业CA会立即处理此凭证要求,独立CA预设会搁置此要求直到CA的系统管理员批准或驳回要求,也可能会立即处理此要求。

您学会了吗 ?

11-2 CA如何核发用户端凭证呢?
 

使用Microsoft 2000 Microsoft Certificate Services 2.0核发用户端凭证,须先将 凭证授权单位 新增至MMC。於 凭证授权 中,选取待核发之用户端凭证申请,并选择发行,即可核发所申请之用户端凭证。

申请者向独立CA提出凭证要求时,独立CA预设会搁置此要求直到CA的系统管理员批准或驳回要求,也可能会立即处理此要求。

申请者向企业CA提出凭证要求时,企业CA会立即处理此凭证要求,而不会搁置。企业CA不需使用本节所介绍的CA核发用户端凭证方法。

因此向Certificate Services独立CA提出凭证要求时,才需使用本节所介绍的CA核发用户端凭证方法。

  1. 首先,由可用的嵌入式管理单元选取 凭证  凭证授权单位 ,将 凭证授权单位 加入MMC主控台当中,由MMC之 凭证授权单位 核发所申请之用户端凭证。方法为按下 开始 / 执行 ,并输入『MMC』,如下:
     

  2. 如此将开启一个MMC主控台,请从 主控台 功能表中选取 新增/移除嵌入式管理单元 ,如下:
     

  3. 按下 新增 按钮,如下:
     

  4. 由可用的嵌入式管理单元选取 凭证 ,如下:
     

  5. 按一下 新增 ,选取 我的使用者帐户 选项,再按 完成 ,如下:
     

  6. 主控台会出现 凭证-目前的使用者 ,如下:
     

  7.  REQUEST/凭证 可看到申请中之用户端凭证,如下:
     

重覆以上步骤,由可用的嵌入式管理单元选取 凭证授权单位 ,将 凭证授权单位 加入MMC主控台当中。

 凭证授权 / 搁置要求 中,选取待核发之用户端凭证申请,按下滑鼠右键选择 所有工作 / 发行 ,即可核发所申请之用户端凭证,如下:


 

您学会了吗 ?

11-3 如何安装用户端凭证呢?
 

  1. CA核发用户端凭证後,如何安装用户端凭证呢 ? 方法为使用Internet Explorer浏览器中连线到 Windows 2000凭证服务 网页(http://servername/certsrv),其中servername为Microsoft Certificate Services凭证授权单位(CA)所在位置的网站伺服器名称,选择 检查搁置的凭证 ,如下:
     

  2.  下一步 按钮後,请选取您要检查的凭证要求,按 下一步 按钮後,显示检查搁置的凭证要求的结果为仍在搁置中、已发出、拒绝,如下:
     

  3. 若已经核准发出用户端凭证,则按下 安装这个凭证 超连结後,将显示安装结果,如下:
     

  4. 您可由浏览器之 内容 标签页,按 认证 按钮,如下:
     

  5. 检视所核准发出之用户端凭证,如下:
     

您学会了吗 ?

11-4 如何汇出用户端凭证呢?
 

汇出用户端凭证的用途为:

  1. IIS要将用户端凭证对应到使用者帐户的一对一对应中,必须先汇出用户端凭证(多对一对应中不须汇出用户端凭证)。
  2. 数位签名也可能必须先汇出用户端凭证才能再使用。
  3. 汇出用户端凭证可以建立备份凭证。

说明

汇出用户端凭证时,若用在用户端凭证对应到使用者帐户的一对一对应中,须先汇出用户端凭证成一个.CER档案,选取 不要汇出私密金钥及Base-64 encoded X.509(.CER) ,储存成.CER档案。


若用於数位签名时,须先汇出用户端凭证成一个.PFX档案,汇出用户端凭证选取 要汇出私密金钥 ,设定密码後,储存成.PFX档案。

若要汇出用户端凭证,请於Internet Explorer 4.0以上版本之浏览器中,按下 检视  Internet选项 ,选择 内容 ,按下 个人 (Internet Explorer 4.0版)或 凭证 ,再选择 个人 标签页(Internet Explorer 5.0),按 汇出 按钮後,如下:


 

如此将开启使用凭证汇出精灵,如下:


 

 下一步 按钮後,用於数位签名请选取汇出私密金钥,用於一对一对应请选取不要汇出私密金钥,如下:


 

以下将分为用於数位签名时与用於一对一对应各别介绍其步骤。

用於数位签名时
 

若用於数位签名时,汇出用户端凭证选取 汇出私密金钥 ,设定密码後,储存成.PFX档案。

  1.  下一步 按钮後,请选取汇出格式,用於一对一对应请选取 Base-64 encoded X.509(.CER) ,用於数位签名请选取如下:
     

  2.  下一步 按钮後,请输入密码,如下:
     

  3.  下一步 按钮後,请输入汇出的.PFX档案名称,如下:
     

  4.  下一步 按钮後,确认如下:
     

  5.  完成 按钮後,显示汇出结果如下:
     

用於用户端凭证一对一对应到使用者帐户
 

汇出用户端凭证时,若用於用户端凭证对应到使用者帐户的一对一对应中,请选取 不要汇出私密金钥及Base-64 encoded X.509(.CER) ,储存成.CER档案。

  1. 用於一对一对应汇出用户端凭证时,首先请选取不要汇出私密金钥,如下:
     

  2.  下一步 按钮後,请选取汇出格式,用於一对一对应请选取 Base-64 encoded X.509(.CER) ,如下:
     

  3.  下一步 按钮後,请输入汇出的.CER档案名称,如下:
     

  4.  下一步 按钮,待确认後按 完成 按钮,即可显示汇出结果。

您学会了吗 ?

11-5 如何启用用户端凭证呢?
 

Web站台可以要求使用者使用用户端凭证登入。

在收到用户端凭证时,请使用Web浏览器的安全功能来安装用户端凭证。

请注意,使用用户端凭证前,必须先取得伺服器凭证并使用SSL安全通道连线。

为了让使用用户端凭证可以确保安全,建议您使用用户端凭证时,也使用下列其中一项:

  1. 采用「基本验证」、「摘要式验证」、或「整合的Windows验证」。
  2. 为每一个用户端凭证,建立一个Windows帐户对应。

启用用户端凭证
 

  1. 启用用户端凭证前,必须先取得伺服器凭证。取得伺服器凭证後,执行 Internet服务管理员 ,选取一个Web站台、虚拟目录、或档案,按下滑鼠右键开启 内容 ,如下:
     

  2. 选取 目录安全设定  档案安全设定 标签页後,於 安全通讯 中按下 编辑 按钮,如下:
     

  3. 勾选 必须使用安全通道(SSL) 选项,如下:
     

 用户凭证 下,选取启用用户端凭证验证的方式:

  •  接受用户端凭证: 使用者可以使用用户端凭证以存取资源,但是并不一定须使用用户端凭证。
     
  •  需要用户端凭证: 使用者必须使用用户端凭证才可以存取资源。
     
  •  略过用户端凭证: 所有使用者都可以存取,不论是否有用户端凭证。
     

您学会了吗 ?

11-6 如何将用户端凭证对应到使用者帐户?
 

如何对应凭证
 

可以将用户端凭证和Windows使用者帐户对应在一起,之後每次使用者使用用户端凭证登入时,Web伺服器便会自动地验证使用用户端凭证登入的使用者,而不需使用 基本验证  摘要式验证  整合的Windows验证 方式。

您可以将一个用户端凭证对应到一个Windows使用者帐户,或将多个用户端凭证对应到同一个Windows帐户。

将用户端凭证和Windows使用者帐户对应时,伺服器须先取得伺服器凭证,第一次使用须设定凭证信任清单(CTL)。

用户端凭证如何对应到使用者帐户呢 ? 为:

  1.  一对一对应关系: 将一个用户端凭证对应到一个使用者帐户上。
  2.  一对多对应关系: 使用万用字元比对等,将所有符合用户端的凭证包含特定资料之规则,对应到一个使用者帐户上。为确保对应规则的变更有作用,变更设定後须重新启动Web站台。

说明

IIS的一对一对应中必须先汇出用户端凭证,而在多对一对应关系中则不必事先汇出用户端凭证。


汇出用户端凭证时,若用於用户端凭证对应到使用者帐户的一对一对应中,须先汇出用户端凭证成一个.CER档案,请参阅 11-4〈如何汇出用户端凭证呢 ? 〉 一节,选取 不要汇出私密金钥及Base-64 encoded X.509(.CER) ,储存成.CER档案。

要启动凭证对应功能,必须先在伺服器上安装伺服器凭证。

用户端凭证一对一对应到使用者帐户
 

  1. 一对一对应关系中使用的凭证必须事先汇出。在 Internet服务管理员 中,选取Web站台,按下滑鼠右键开启 内容 ,选择 目录安全设定 标签页,按下 安全通讯 下的 编辑 按钮,如下:
     

  2. 确定已经勾选 启用用户端凭证对应 ,按下旁边之 编辑 按钮,如下:
     

  3.  帐户对应  一对一 标签页上,按下 新增 按钮加入新的凭证,如下:
     

  4. 开启凭证档案(事先先将该用户端凭证汇出.CER档案),如下:
     

  5.  对应到帐户 中,输入此对应关系的对应名称、此凭证对应之使用者帐户和密码,如下:
     

  6. 按一下 确定 按钮,即显示这个凭证对应的对应名称、对应到之使用者帐户,如下:
     

重复以上步骤,以新增加其他凭证和其他帐户之对应关系。

用户端凭证多对一对应到使用者帐户
 

多对一对应关系中使用的凭证不必事先汇出。

  1. 请在 Internet服务管理员 中,选取Web站台,按下滑鼠右键开启 内容 ,选择 目录安全设定 标签页,按下 安全通讯 下的 编辑 按钮,按下 启用用户端凭证对应 旁边之 编辑 按钮,於 帐户对应  多对一 标签页上,按下 新增 按钮加入新的凭证,如下:
     

  2. 输入此规则的名称,如下:
     

  3. 按一下 下一步 按钮後,按下 新增 按钮,如下:
     

  4. 选取适当的规则,用户端凭证包含例如:公司名称、位置、或电子邮件位址等资讯,以「栏位」及「子栏位」的形式排列。如下:
     


     

    •  必须符合英文大小写: 规则若要区分大小写,请选取 必须符合英文大小写 选项。
       
    •  凭证栏位: 凭证栏位名称表示一般的资讯类别,由包含特定的识别资讯之子栏位所构成。
       
    •  子栏位: 包含特定的识别资讯,如下:

       
      • O:公司或企业。
         
      • ISO:注册的第一级组织或公司名称。
         
      • OU:公司的部门。
         
      • CN:伺服器的网域名称。
         
      • C :两个字母的ISO国码(地区码),例如:US、TW等等。
         
      • S:州或省的全名。
         
      • L:公司所在城市的全名。
         

      规则编辑器亦支援以下非标准的子栏位,包括:

      • I:凭证拥有人之缩写名称。
         
      • GN:凭证拥有人之姓名。
         
      • T:凭证拥有人之职称。
         
      • Email:凭证拥有人之电子邮件地址。
         
    •  符合条件: 指定栏位及子栏位资讯的相符条件,可以使用万用字元。如下:
       
  5. 完成之後,按下 确定 按钮,如下:
     

  6. 按下 下一步 按钮,输入此规则对应之Windows使用者帐户(对应帐户名称必须写成 电脑的名称\使用者名称 和密码,如下:
     

  7. 按下 确定 按钮,重复以上步骤来定义其他的对应规则,利用 上移  下移 按钮,可设定规则的先後套用顺序,如下:
     

为确保对应规则的变更有作用,变更设定後须重新启动Web站台。

11-7 如何使用数位签名呢?
 

数位签名可确保不可否认性与验证内容是否被篡改。

数位签名的步骤:

  1. 每一位使用者须向认证中心(CA)取得个别的用户端凭证。
  2. 每一位使用者由浏览器汇出用户端凭证。汇出时须选取汇出私密金钥,储存成一个数位签名档案。
  3. 使用数位签名时,选取此数位签名档案,使用私密金钥将资料做签名,下一关接收到的人将使用公开金钥验证资料为何人使用数位签名者所填写,并验证内容是否被篡改。

说明

若用於数位签名时,须先汇出用户端凭证成一个.PFX档案,请参阅 11-4〈如何汇出用户端凭证呢 ? 〉 一节,汇出用户端凭证选取 汇出私密金钥 ,设定密码後,储存成.PFX档案。


您可以试用本书所附的WeFlow软体,来体验数位签名的功能。首先您必须启用一个表单 数位签名 的功能。

如何在表单中加入使用数位签名功能
 

  1. 在表单中加入使用 数位签名 的功能,方法为规划者於 制作规划 中选择一个表单流程,进入 基本资料 ,勾选 数位签名 。步骤为点选 制作规划 ,如下:
     

  2. 选择任一表单及版本,如下:
     

  3. 於基本资料中勾选 数位签名 後按 确定 ,如下:
     

  4. 再按下 确定  另存版本 即可,如下:
     

表单使用数位签名
 

  1. 填妥已启用 数位签名 功能的表单後,按下 申请 键 ,如下:
     

  2. 询问是否要使用数位签名,如按 取消 即代表不使用数位签名而送出,如下:
     

  3. 如在上一步骤中选 确定 则出现选择数位签名档案的视窗,请选择您个人的数位认证档案(可使用\webflow\help\test.pfx做测试),如下:
     

  4. 选择後请填入您汇出数位签名时所输入的密码(test.pfx密码为123123)後,按 确定 键,如下:
     

  5. 如密码正确则出现如下画面,按 确定 即可送出,如下:
     

下一关接收到的人使用公开金钥验证资料为何人使用数位签名者所填写,并验证内容是否被篡改。若偷偷去资料库篡改资料,将显示「验证文件内容确为以下数位签名者所填写,但是内容已被篡改」,如下:


 

有趣吗 ?