首页 / 专利库 / 人工智能 / 相似性得分 / 用来俘获、存储、传送和认证手写签名的方法和系统

用来俘获、存储、传送和认证手写签名的方法和系统

阅读:103发布:2021-06-25

专利汇可以提供用来俘获、存储、传送和认证手写签名的方法和系统专利检索,专利查询,专利分析的服务。并且一种基于计算机的方法和系统,用来俘获和验证一个手写签名。该手写签名可以与一个文件,如一个 电子 存储的文件有关。显示该文件的一个图像,并俘获该手写签名(4)。确定一组关于该手写签名的测量结果,并存储在一个签名包(10)中。可选择地,能确定该文件的一个校验和,并将其存储在该签名包中。还可以把该签字人的 声明 身份存储在该签名包中。加密该签名包(104)。可以把该签名包传给另一个应用程序或计算机平台(2b),或存储起来用于以后验证。解密该签名包,并把存储在该签名包中的该测量结果组与已知的手写签名测量结果组相比较,以验证签字人的身份(6)。该系统包括存储验证的签名信息的诸签名模板的一个 数据库 (12)。把验证的签名测量结果组与存储在该签名包中的测量结果组相比较,以得到一个 相似性得分 。本 发明 包括一个重要性提示特征(22),以在文件的本质、严重性和/或内容方面警告该签字人。也可以把该重要性提示(22)存储在该签名包中作为该签名记录的部分。,下面是用来俘获、存储、传送和认证手写签名的方法和系统专利的具体信息内容。

1.一种基于计算机的方法,用来产生涉及电子文件的手写签名的电 子表示,并在此后验证手写签名,该方法包括步骤:
在一个第一计算机处理器处,电子地显示一个文件的一个图像;
在该第一计算机处理器处,通过电子俘获一个签字人的手写签名签 署该文件;
在该第一计算机处理器处,在一个签名包中存储关于该手写签名的 一组测量结果。
在该第一计算机处理器处,建立该文件的一个校验和;
在该第一计算机处理器处,把该校验和存储在该签名包中;
在该第一计算机处理器处,把该签名者的一个声明身份存储在该签 名包中;
在该第一计算机处理器处,把该签名包加密以建立一个加密的签名 包;
把该加密的签名包传送给一个第二计算机处理器;
在该第二计算机处理器处,解密该加密的签名包;
在该第二计算机处理器处,检索一个人的手写签名一组经验证的测 量结果,该人具有在该签名包中存储的声明身份;及
在该第二计算机处理器处,把验证的该测量结果组与存储在该签名 包中的测量结果组相比较,以得到一个相似性得分
2.根据权利要求1所述的方法,还包括把加密的签名包存储在一个 存储装置中的步骤。
3.根据权利要求1所述的方法,其中,测量结果组包括平均笔画长 度。
4.根据权利要求1所述的方法,其中,测量结果组包括平均下笔时 间。
5.根据权利要求1所述的方法,其中,测量结果组包括加速和减速 最大值的数目。
6.根据权利要求1所述的方法,其中,测量结果组包括在每一笔画 中最慢点的位置之和。
7.根据权利要求1所述的方法,还包括在第一处理器处把签字的时 间和日期存储在签名包中的步骤。
8.根据权利要求1所述的方法,还包括在第一处理器处把代表第一 处理器标识的指示符存储在签名包中的步骤。
9.根据权利要求1所述的方法,还包括在第一处理器处把手写签名 图像的压缩表示存储在签名包中的步骤。
10.根据权利要求1所述的方法,还包括把相似性得分传输给第一 计算机处理器的步骤。
11.根据权利要求1所述的方法,还包括把相似性得分传输给第三 计算机处理器的步骤。
12.根据权利要求1所述的方法,包括如下步骤:
在该第二处理器处,建立一个电子文件的一个第二校验和;及
把该第二校验和与存储在签名包中的校验和相比较,以判定电子文 件是否是在第一计算机处理器处签署的文件的真实表示。
13.一种基于计算机的方法,用来产生一个电子文件的手写签名的 电子表示,该方法包括如下步骤:
在一个第一计算机处理器处,电子地显示一个第一文件的图像;
在该第一计算机处理器处,通过电子地俘获签字人的手写签名来签 署该第一文件;
在该第一计算机处理器处,把一组关于该手写签名的测量结果存储 于在一个签名包中;
在该第一计算机处理器处,建立该第一文件的第一校验和;
在该第一计算机处理器处,把该第一校验和存储在该签名包中;
在该第一计算机处理器处,把该签名包加密,以建立一个加密的签 名包;
把该加密的签名包传送给一个第二计算机处理器;
在该第二计算机处理器处,解密该加密的签名包;
在该第二计算机处理器处,建立一个第二文件的第二校验和;及
把该第二校验和与存储在签名包中的第一校验和相比较,以判定第 二文件是否是第一文件的真实表示。
14.一种基于计算机的方法,用来建立电子文件的手写签名的电子 表示,该方法包括如下步骤:
在一个第一计算机处理器处,电子地显示一个第一文件的图像;
在该第一计算机处理器处,通过电子地俘获一个签字人的手写签名 来签署该第一文件;
在该第一计算机处理器处,把关于该手写签名的一组测量结果存储 于在签名包中;
在该第一计算机处理器处,建立该第一文件的第一校验和;
在该第一计算机处理器处,把该第一校验和存储在该签名包中;
在该第一计算机处理器处,把该签字人的一个指示存储在该签名包 中;
在该第一计算机处理器处,加密该签名包以建立一个加密的签名 包;
把该加密的签名包传送给一个第二计算机处理器;
在该第二计算机处理器处,解密该加密的签名包;
在该第二计算机处理器处,验证这个手写签名是否是该签字人的手 写签名;
在该第二计算机处理器处,建立一个第二文件的第二校验和;及
在该第二计算机处理器处,把该第二校验和与存储在签名包中的第 一校验和相比较,以判定该第二文件是否是第一文件的一个真实表示。
15.一种基于计算机的方法,用来建立一个文件的手写签名的一个 电子表示,该方法包括如下步骤:
电子显示一个第一文件的图像;
通过电子地俘获一个签字人的手写签名来签署该第一文件;
把一组关于该手写签名的测量结果存储在一个签名包中;
建立该第一文件的第一校验和;
把该第一校验和存储在该签名包中;
把该签字人的一个指示存储在该签名包中;
加密该签名包,以建立一个加密的签名包;
把该加密的签名包存储在存储器中;
解密该加密的签名包;
验证这个手写签名是否是该签字人的手写签名;
建立一个第二文件的第二校验和;及
把该第二校验和与存储在签名包中的第一校验和相比较,以判定该 第二文件是否是该第一文件的一个真实表示。
16.一种基于计算机的方法,用来俘获关于一个文件的一个手写签 名的一个电子表示,并在此后验证该手写签名,该方法包括如下步骤:
通过电子俘获一个签字人的一个手写签名签署一个文件;
把一组关于该手写签名的测量结果存储在一个签名包中;
建立该文件的一个校验和;
把该校验和存储在该签名包中;
把该签字人的一个声明身份存储在该签名包中;
加密该签名包以创建一个加密的签名包;
把该加密的签名包存储在存储器中;
解密该加密的签名包;
从存储器中检索一个人的签名模板,这个人具有存储在该签名包中 的声明身份,该签名模板包括所述人经验证的手写签名的一组验证的测 量结果;及
把存储在该签名模板中的验证测量结果组与存储在该签名包中的测 量结果组相比较,以得到代表在签署文件时俘获的手写签名与验证的手 写签名之间的相似程度的相似性得分。
17.根据权利要求16所述的方法,还包括如下步骤:
建立一个电子文件的第二校验和;及
把该第二校验和与存储在该签名包中的校验和相比较,以判定该电 子文件是否是早先签署的文件的一个真实表示。
18.一种基于计算机的方法,用来俘获和验证一个文件的手写签名 的电子表示,该方法包括如下步骤:
在第一计算机处理器处,电子显示第一文件的图像;
在该第一处理器处,电子显示一个概括该第一文件的提示;
在该第一计算机处理器处,通过电子俘获一个签名人的手写签名来 签署该第一文件;
在该第一计算机处理器处,把一组关于该手写签名的测量结果存储 于在一个签名包中;
在该第一计算机处理器处,把该签名的一个指示存储在该签名包 中;
在该第一计算机处理器处,把该提示存储在该签名包中;
在该第一计算机处理器处,加密该签名包以建立一个加密的签名 包;
把该加密的签名包传送给一个第二计算机处理器;
在该第二计算机处理器处,解密该加密的签字包;
在该第二计算机处理器处,验证这个手写签名是否是该签字人的手 写签名,及
在该第二计算机处理器处,从该签名包中检索该提示。
19.根据权利要求18所述的方法,还包括显示该提示的步骤。
20.根据权利要求18所述的方法,还包括如下步骤:
在该第一计算机处理器处,建立该第一文件的第一校验和;
在该第一计算机处理器处,把该第一校验和存储在该签名包中;
在该第二计算机处理器处,创建第二文件的第二校验和;及
在该第二计算机处理器处,把该第二校验和与存储在该签名包中的 第一校验和相比较,以判定该第二文件是否是该第一文件的一个真实表 示。
21.一种基于计算机的方法,用来建立和验证一个文件的手写签名 的电子表示,该方法包括如下步骤:
电子显示第一文件的图像;
电子显示一个重要性提示,该重要性提示标识该第一文件的本质;
通过电子俘获一个签字人的手写签名来签署该第一文件;
把一组关于该手写签名的测量结果存储于在一个签名包中;
把该签字人的声明身份的指示存储在该签名包中;
把该重要性提示存储在该签名包中;
加密该签名包以建立一个加密的签名包;
此后,解密该加密的签名包;
验证这个手写签名是否是该签名人的手写签名;及
从该签名包中检索该重要性提示,以肯定通知签字人的信息是关于 该第一文件的本质。
22.根据权利要求21所述的方法,还包括显示该重要性提示的步 骤。
23.根据权利要求21所述的方法,其中,验证该手写签名是否是该 签字人的手写签名的步骤还包括如下步骤:
从存储器中检索一个人的签名模板,这个人具有在该签名包中存储 的签字人的声明身份,该签名模板包括所述签名人的一个验证手写签名 的一组验证的测量结果;
确定代表在签署第一文件时俘获的手写签名与验证的手写签名之间 的相似性程度的一个相似性得分。
24.根据权利要求23所述的方法,还包括根据一个客户应用程序的 请求把该相似性得分传送给该客户应用程序的步骤。
25.根据权利要求23所述的方法,还包括如下步骤:
把该相似性得分传送给一个客户应用程序;及
把该重要性提示传送给客户应用程序。
26.根据权利要求21所述的方法,还包括如下步骤:
建立该第一文件的第一校验和;
把该第一校验和存储在该签名包中;
把该签名包存储在存储器中;
建立一个第二文件的第二校验和;及
把该第二校验和与存储在该签名包中的第一校验和相比较;以判定 该第二文件是否是该第一文件的一个真实表示。
27.在带有客户应用程序、签名俘获应用程序和签名验证应用程序 的计算机系统中,一种基于计算机的方法,用来俘获和验证一个文件的 手写签名的电子表示,该方法包括如下步骤:
在该客户应用程序的控制下,
a、显示第一文件的图像,
b、请求该签名俘获应用程序俘获一个手写签名,及
c、把一个重要性提示传送给该签名俘获应用程序,该重要性提示 是关于该第一文件的信息;
在该签名俘获应用程序的控制下,
d、显示一个签名俘获窗口;
e、显示该重要性提示,
f、通过电子俘获一个用户的手写签名,使该用户签署该第一文件,
g、把一组关于该手写签名的测量结果存储于在一个签名包中,
h、把该用户的声明身份的一个指示存储在该签名包中,
I、把该重要性提示存储在该签名包中,
j、加密该签名包以建立一个加密的签名包,及
k、把该加密的签名包传给该客户应用程序;
在该客户应用程序的控制下,
l、把加密的签名包传送给该签名验证应用程序;及
在签名验证应用程序的控制下,
m、解密该加密的签名包,
n、从一个数据库中检索包括对应于该用户的验证手写签名的一组 验证的测量结果的一个模板,该用户的声明身份存储在该签名包中,
o、把存储在该签名包中的测量结果组与该模板中的验证测量结果 组相比较,以得到一个相似性得分,
p、从该签名包中检索该重要性提示,及
q、把该重要性提示和该相似性得分传给该客户应用程序。
28.根据权利要求27所述的方法,还包括如下步骤:
在签名俘获应用程序的控制下,建立该第一文件的第一校验和,并 把该第一校验和存储在该签名包中;及
在该签名验证应用程序的控制下,建立一个第二文件的第二校验 和,并把该第二校验和与储存在该签名包中的第一校验和相比较,以判 定该第二文件是否是该第一文件的一个真实表示。
29.根据权利要求27所述的方法,其中,该签名俘获应用程序在一 个第一计算机处理器上执行,而该签名验证应用程序在一个第二计算机 处理器上执行。
30.根据权利要求27所述的方法,其中,该测量结果组包括平均笔 画长度。
31.根据权利要求27所述的方法,其中,该测量结果组包括平均下 笔时间。
32.根据权利要求27所述的方法,其中,该测量结果组包括加速和 减速最大值的数目。
33.根据权利要求27所述的方法,其中,该测量结果组包括每一笔 画中的最慢点的位置之和。
34.根据权利要求27所述的方法,还包括步骤:在该签名俘获应用 程序的控制下,把签名的时间和日期存储在该签名包中。
35.根据权利要求27所述的方法,还包括步骤:在该签名俘获应用 程序的控制下,把一个代表一个计算机处理器的标识的指示符存储在该 签名包中,该计算机处理器正在执行该客户应用程序。
36.根据权利要求27所述的方法,还包括步骤:在该签名俘获应用 程序的控制下,把该手写签名的一个图像的压缩表示存储在该签名包 中。
37.根据权利要求27所述的方法,还包括步骤:在该签名俘获应用 程序的控制下,把该手写签名的一个图像的压缩位图表示存储在该签名 包中。
38.在带有客户应用程序、签名俘获应用程序和签名验证应用程序 的计算机系统中,一种基于计算机的方法,用来俘获和验证手写签名的 电子表示,该方法包括如下步骤:
在该客户应用程序的控制下:
a、请求该签名俘获应用程序俘获一个手写签名;
在该签名俘获应用程序的控制下,
b、使一个用户能电子输入一个手写签名,
c、电子俘获该用户的手写签名,
d、计算一组关于该手写签名的测量结果,
e、把关于该手写签名的测量结果组存储于在一个签名包中,
f、把该用户的声明身份的一个指示存储在该签名包中,
g、加密该签名包以建立一个加密的签名包,及
h、把该加密的签名包传送给该客户应用程序,
在该客户应用程序的控制下,
I、把该加密的签名包传送给该签名验证应用程序;及
在该签名验证应用程序的控制下,
j、解密该加密的签名包,
k、从一个数据库中检索一个包括一组验证的对应于该用户的经验 证手写签名的测量结果的模板,该用户的声明身份存储在该签名包中,
l、把存储在该签名包中的测量结果组与该模板中的验证测量结果组 相比较,以得到一个相似性得分,及
m、把该相似性得分传送给该客户应用程序。
39.根据权利要求38所述的方法,还包括步骤:在该客户应用程序 的控制下,利用该相似性得分判定该用户是否能访问一个计算机系统中 的一个或多个应用程序和数据。
40.根据权利要求38所述的方法,还包括步骤:在该客户应用程序 的控制下,利用该相似性得分判定该用户是否能赊购商品。
41.根据权利要求38所述的方法,其中,该签名俘获应用程序在一 个第一计算机处理器上执行,而该签名验证应用程序在一个第二计算机 处理器上执行。
42.根据权利要求38所述的方法,其中,该测量结果组包括平均笔 画长度。
43.根据权利要求38所述的方法,其中,该测量结果组包括平均下 笔时间。
44.根据权利要求38所述的方法,其中,该测量结果组包括加速和 减速最大值的数目。
45.根据权利要求38所述的方法,其中,该测量结果组包括在每一 笔画中的最慢点的位置之和。
46.根据权利要求38所述的方法,还包括步骤:在该签名俘获应用 程序的控制下,把签名的时间和日期存储在该签名包中。
47.根据权利要求38所述的方法,还包括步骤:在该签名俘获应用 程序的控制下,把代表一个计算机处理器的标识的指示符存储在该签名 包中,该计算机处理器正在执行该客户应用程序。
48.根据权利要求38所述的方法,还包括步骤:在该签名俘获应用 程序的控制下,把该手写签名的一个图像的压缩表示存储在该签名包 中。
49.根据权利要求38所述的方法,还包括步骤:在该签名俘获应用 程序的控制下,把该手写签名的一个图像的压缩位图表示存储在该签名 包中。
50.在带有客户应用程序、签名俘获应用程序和签名验证应用程序 的计算机系统中,一种基于计算机的方法,用来俘获和验证电子文件上 的手写签名的电子表示,该方法包括如下步骤:
在该客户应用程序的控制下,
a、显示一个文件的图像,
b、请求该签名俘获应用程序俘获一个手写签名;
在该签名俘获应用程序的控制下,
c、使用户能电子输入一个手写签名,
d、电子俘获该用户的该手写签名,
e、计算一组与该手写签名有关的测量结果,
f、把关于该手写签名的测量结果组存储在一个签名包中,
g、把该用户的声明身份的一个指示存储在该签名包中,
h、建立该文件的校验和,
I、把该校验和存储在该签名包中,
j、加密该签名包以建立一个加密的签名包,及
k、把该加密的签名包传送给该客户应用程序,
在该客户应用程序的控制下,
l、把该加密的签名包传送给该签名验证应用程序;及
在该签名验证应用程序的控制下,
m、解密该加密的签名包,
n、从一个数据库中检索包括一组经验的对应于该用户的验证手写 签名的测量结果的一个模板,该用户的声明身份存储在该签名包中,
o、把存储在该签名包中的测量结果组与在该模板中的验证测量结 果组相比较,以得到一个相似性得分,及
p、把该相似性得分传送给该客户应用程序。
51.在带有客户应用程序、签名俘获应用程序和签名验证应用程序 的计算机系统中,一种基于计算机的方法,用来俘获和验证电子文件上 的手写签名的一个电子表示,该方法包括如下步骤:
在该客户应用程序的控制下:
a、显示第一文件的图像,
b、请求该签名俘获应用程序俘获一个手写签名,
在该签名俘获应用程序的控制下,
c、使用户能电子输入手写签名,
d、电子俘获该用户的该手写签名,
e、计算一组关于该手写签名的测量结果,
f、把关于该手写签名的测量结果组存储在一个签名包中,
g、建立该第一文件的第一校验和,
h、把该第一校验和存储在该签名包中,
I、加密该签名包以建立一个加密的签名包,及
j、把该加密的签名包传送给该客户应用程序;
在该客户应用程序的控制下,
k、把该加密的签名包传送给该签名验证应用程序;及
在该签名验证应用程序的控制下,
l、解密该加密的签名包,
m、建立第二文件的第二校验和,
n、把存储在该签名包中的该第一校验和与该第二校验和相比较, 以查明该第一文件是否与该第二文件相同,及
o、把该第一文件是否与该第二文件相同通知该客户应用程序。
52.根据权利要求51所述的方法,其中,该签名俘获应用程序在第 一计算机处理器上执行,而该签名验证应用程序在第二计算机处理器上 执行。
53.根据权利要求51所述的方法,其中,该测量结果组包括平均笔 画长度。
54.根据权利要求51所述的方法,其中,该测量结果组包括平均下 笔时间。
55.根据权利要求51所述的方法,其中,该测量结果组包括加速和 减速最大值的数目。
56.根据权利要求55所述的方法,其中,该测量结果组包括在每一 笔画中的最慢点的位置之和。
57.根据权利要求51所述的方法,还包括步骤:在该签名俘获应用 程序的控制下,把签名的时间和日期存储在该签名包中。
58.根据权利要求51所述的方法,还包括步骤:在该签名俘获应用 程序的控制下,把代表一个计算机处理器的一个身份标识的指示符存储 在该签名包中,该计算机处理器正在执行该客户应用程序。
59.根据权利要求58所述的方法,还包括步骤:在该签名俘获应用 程序的控制下,把该手写签名的一个图像的压缩表示存储在该签名包 中。
60.根据权利要求51所述的方法,还包括步骤:在该签名俘获应用 程序的控制下,把该手写签名的一个图像的压缩位图表示存储在该签名 包中。
61.在带有第一客户应用程序、第二客户应用程序、签名俘获应用 程序和签名验证应用程序的计算机系统中,一种基于计算机的方法,用 来俘获和验证一个手写签名的电子表示,该方法包括如下步骤:
在该第一客户应用程序的控制下,
a、请求该签名俘获应用程序俘获一个手写签名,
在该签名俘获应用程序的控制下,
b、使用户能电子输入一个手写签名,
c、电子俘获该用户的该手写签名,
d、计算一组关于该手写签名的测量结果,
e、把关于该手写签名的测量结果组存储在一个签名包中,
f、把该用户的声明身份的一个指示存储在该签名包中,
g、加密该签名包以建立一个加密的签名包,及
h、把该加密的签名包传送给该第一客户应用程序;
在第一客户应用程序的控制下,
I、把该加密的签名包传送给该第二客户应用程序;
在该第二客户应用程序的控制下,
j、把该加密的签名包传送给该签名验证应用程序;及
在该签名验证应用程序的控制下,
k、解密该加密的签名包,
l、从一个数据库中检索包括一组验证的对应于该用户的验证手写签 名的测量结果的模板,该用户的声明身份存储在该签名包中,
m、把存储在该签名包中的该测量结果组与在该模板中的验证测量 结果组相比较,以得到一个相似性得分,及
n、把该相似性得分传给该第二客户应用程序。
62.根据权利要求61所述的方法,还包括步骤:在该第二客户应用 程序的控制下,利用该相似性得分判定该用户是否能访问计算机系统中 的一个或多个应用程序和数据。
63.根据权利要求61所述的方法,还包括步骤:在该第二客户应用 程序的控制下,利用该相似性得分判定该用户是否能赊购商品。
64.根据权利要求61所述的方法,其中,该签名俘获应用程序在第 一计算机处理器上执行,而该签名验证应用程序在第二计算机处理器上 执行。
65.根据权利要求61所述的方法,其中,该第一客户应用程序在第 一计算机处理器上执行,而该第二客户应用程序在第二计算机处理器上 执行。
66.根据权利要求65所述的方法,其中,该第一计算机处理器根据 第一操作系统操作,而该第二计算机处理器根据第二操作系统操作。
67.根据权利要求65所述的方法,其中,该签名俘获应用程序在该 第一计算机处理器上执行,而该签名验证应用程序在该第二计算机处理 器上执行。
68.根据权利要求65所述的方法,其中,该签名俘获应用程序在一 个第三计算机处理器上执行,而该签名验证应用程序在一个第四计算机 处理器上执行。
69.一种基于计算机的系统,用来建立一个电子文件的手写签名的 电子表示,该系统包括如下装置:
用来通过电子俘获一个签字人的手写签名使该签字人能签署一个第 一文件的装置;
用来把一组关于该手写签名的测量结果存储在一个签名包中的装 置;
用来建立该第一文件的第一校验和的装置;
用来把该第一校验和存储在该签名包中的装置;
用来把该签字人的一个指示存储在该签名包中的装置;及
用来加密该签名包以建立一个加密的签名包的装置。
70.根据权利要求69所述的系统,还包括:
用来解密该加密的签名包的装置;
用来验证存储在该签名包中的手写签名是否是该签字人的手写签名 的装置;
用来建立一个第二文件的第二校验和的装置;及
用来把该第二校验和与存储在该签名包中的第一校验和相比较,以 判定该第二校验和是否是该第一文件的一个真实表示的装置。
71.根据权利要求70所述的系统,还包括用来把加密的签名包存储 在存储器中的装置。
72.一种签名验证局(bureau)系统,包括:
多个第一处理器;用来俘获手写签名,多个第一处理器的每一个包 括:
用来使一个签字人能把一个手写签名电子地输入到该第一处理器中 的装置,
用来电子俘获该签字人的手写签名的装置,
用来把一组关于该手写签名的测量结果存储在一个签名包中的装 置,
用来输入该签字人的声明身份的装置,
用来把该签字人的声明身份存储在该签名包中的装置,
用来加密该签名包以建立一个加密的签名包的装置,及
用来把该加密的签名包传送给一个远程签名验证局的装置,及
一个签名验证局,用来验证诸手写签名,相对于该多个第一处理器 的每一个位于远程但与这些处理器电子耦合,该签名验证局受第二处理 器控制,该第二处理器耦合到诸签名模板的一个数据库上,该第二处理 器包括:
用来从诸第一处理器中的一个中接收加密的签名包的装置,
用来解密该加密的签名包的装置,
用来访问该数据库以检索一个对应于该签字人的声明身份的签名模 板的装置,每个签名模板包括一组验证的签名测量结果,
用来通过把存储在该签名包中的测量结果组与验证的签名测量结果 组相比较来验证这个手写签名的装置,
用来确定一个代表在存储在该签名包中的测量结果组与验证的签名 测量结果组之间的相似性的相似性得分的装置,
用来把该相似性得分传送给诸第一处理器的这一个的装置。
73.一种签名验证局系统,包括:
多个第一处理器,用来俘获诸手写签名,该多个第一处理器的每一 个包括:
用来使一个签字人能把一个手写签名以电子方式输入到该第一处理 器中的装置,
用来以电子方式俘获该签字人的手写签名的装置,
用来把一组关于该手写签名的测量结果存储在一个签名包中的装 置,
用来输入该签字人的声明身份的装置,
用来把签字人的声明身份存储在该签名包中的装置,
用来加密该签名包以建立一个加密的签名包的装置,及
用来把该加密的签名包传给一个远程签名验证局的装置;
一个中央数据库,用来存储包括多个签名模板的验证手写签名数 据,每个签名模板由签字人的身份索引并包括用于所述签字人的一组验 证的签名测量结果,
一个签名验证局,用来验证诸手写签名,相对于该多个第一处理器 的每一个位于远程但与这些处理器电子耦合,该签名验证局受一个耦合 到中央数据库上第二处理器控制,该第二处理器包括:
用来从诸第一处理器中的一个接收该加密的签名包的装置,
用来解密该加密的签名包的装置,
用来访问该中央数据库以检索一个对应于该签字人的声明身份的签 名模板的装置,
用来通过把存储在该签名包中的测量结果组与验证的签名测量结果 组相比较来验证这个手写签名的装置,
用来确定一个代表存储在该签名包中的测量结果组与验证的签名测 量结果组之间的相似性的相似性得分的装置,
用来把该相似性得分传给诸第一处理器的这一个的装置。

说明书全文

发明涉及以电子格式存储手写签名的方法和系统,准确地说,涉 及一种能够在多个平台上验证电子存储的手写签名和有关文件的方法和 系统。

专利文件公开的一部份包含受到版权保护的材料。当出现在专利 商标局、专利文件或资料中时,版权所有人不反对与专利文件或专利公 开有关的任何人员进行传真复制,然而在其他任何方面都保留全部版 权。

许多计算机系统,无论是固定的还是可携带的,都设计成用户可以 利用笔或数字化仪输入数据。已有能够把手写体翻译成所识别的标准文 本的软件。已有许多能够利用笔输入的应用程序。笔输入有利于那些对 计算机键盘不熟悉或不能熟练使用键盘的人员使用计算机。此外,通过 使用基于笔的计算机和以数字形式存储与传送信息,获得了重要的经济 效益-减少或消除了纸张的使用。

数字化仪一般对笔尖的位置每秒取样约一百次,并且对七十分之一 英寸的运动都很敏感。因而,能够非常准确地记录人手的运动。计算机 签名验证不仅通过分析签名的可见形状而且还通过分析诸如速度和节奏 之类的动态状况来利用这一特点。

存在能采用基于笔的输入(如手写签名)、确定基于笔的输入的基 本特征,并以电子格式表示基于笔的输入的特征的方法。还存在能判定 电子格式的手写签名是否是同一个人的方法。例如,参见美国专利No. 5,109,426(英国申请No.9024383.3)、美国专利No.4,495,644和英国 申请No.1480066,它们作为本申请的参考资料。

签名验证对计算机安全性做出了非常重要的贡献,因为所有其他的 安全性机制都取决于一个人所知道的(例如:口令)或拥有的(例如, 机械钥匙)。而根据不能被偷去或泄密的生理行为的一个方面,签名验 证在用户的真实身份方面提供了可靠证据。

至今,主要把签名验证用于访问安全性的地方,其目的是在让用户 访问计算机系统的全部或一部分之前验证个人的身份。

然而,通常采用写在一张纸上的签名来证实签署的合同或遗嘱中上 下文的意图,并在签署汇款单时作为防止拒付的保证。

当今在许多地方,尽管可以利用计算机化的文件,但仍依靠纸上的 文件,因为对签名有法律或文化的要求。

因而,情况经常是对于同样的数字或电子格式的文件,最好有一份 硬拷贝文件。例如,在大多数管辖区,法律都要求转让土地的遗嘱或合 同是书写的,并且要包括文件诸方和证人的原始手写签名。当文件是电 子形式的时,因为操作文件的内容比较容易,所以经常不能肯定后来看 到的文件是否与原始建立的文件相同。尽管使用笔输入设备所俘获的手 写签名能包括在这类文件的文本中,但根本无法肯定后来看到的文件就 是原前“电子”签署的文件。

因此,希望把手写签名俘获和验证科学用于比安全性访问机理更广 的上下文中。特别是,在证实意图的地方(例如,签署法律文件时)需 要一种可靠签名俘获和验证的方法,该方法使签署的文件与签名人的签 名有关。

现有的系统集中在,是否在产生签名之后签名的电子版本已被操 作,以及是否与电子文件有关的签名的电子版本在相关的处理时被俘 获。例如,授予Kapp等人的美国专利No.5,195,133描述了一种机制, 该机制试图保证:主旨在于同意商业契约的签名在有疑问的处理时将被 俘获并且不是在其他时刻获得的并混进处理的数字记录中的真实签名。 Kapp等人专利的设备建立处理的数字记录,在该处理时俘获签名的数字 表示,并随后使用该处理的数字记录,加密签名的数字表示。这种方法 的目的在于保证签名的表示是在所说的制成时刻制成的。然而,这样一 种系统不能验证使用数字俘获的手写签名所签署的文件是否已在后来被 修改。此外,诸如Kapp等人的系统需要一种处理,并且在签名要在与 处理无关的环境中被俘获和验证的场合不能操作。

现有的手写体俘获和验证系统设计成在单个平台上使用。经常以这 样一种方式编码手写签名,从而使其他的应用程序不能利用该手写签名 的电子形式。由于当今先进的计算机与计算机通信(包括在互联网络上 的通信),所以许多应用程序不要求在同一机器上或在签名动作本身的 同一时刻进行验证。例如,要求系统能使手写签名在一个装置上被电子 地俘获,存储,并电子地传输到另一个计算机平台上的另一个装置,以 后再验证。因此,需要一种综合的跨平台签名验证系统。特别是,需要 一种不预先假定任何特定支承硬件、并且设计成能跨过不同类型计算机 和操作系统移动的系统。

许多商业和政府部经常要求人们签署文件。例如,当用支票或信 用卡购买物品时,当签署汽车租赁协议时。当申请驾驶执照或其他政府 执照时,在选举日或考试中验证参加人时。要求签名的人常常不认识被 要求签名的人,并且没有让签名人的真正签名与被要求的签名进行比 较。此外,即使真实的签名可用于比较,要求签名的人经常不能熟练地 判定两个签名是否来自同一个人。因此,需要一种系统,该系统使签名 在一个地方被电子地俘获,电子地传输到已经记录了许多个人经验证的 签名特点的中央位置,并返回签名人身份的指示。

在某些情形下,已经签署一份合同或法律文件的人试图通过在以后 声称他或她不理解签名文件的实质或者声称他或她在签署该文件时被误 导,来终结他的或她的职责。此外,在多窗口计算环境中,以电子方式 签署文件的个人可能不能确认他或她实际签署了存储在计算机上的哪个 文件。如果在签名时记录(可在以后检索)签名人在签署文件时被告知 了什么,以及在签名之前被警告了什么,如正在签署的文件的类别、属 性和重要程度。

总之,需要这样一种系统,通过使手写签名俘获和验证技术用于需 要签名俘获的各种上下文中,来增加利用这些基于笔的输入装置的可用 性。

本发明提供了一种综合的方法和系统,用来电子俘获手写签名、以 电子形式存储手写签名、电子传送所捕获的手写签名、以及认证所俘获 的手写签名。

当用在这里时,术语“签名”是指人所做的表示人的意向或赞同的 手写标记。它包括通常被认为是一个人的亲笔的东西。术语“签署”具 有相应的意思,并且包括被具有现有意图的当事人所签发的或通过的, 以认证手迹的任何符号,此处这种手迹可以是电子形式的。应该注意到, 这里使用的术语“签名”不包括在计算机科学领域已成为已知的“数字 签名”,“数字签名”即是用来建立产生或发送电子文件的人的身份的 电子码。“数字签名”具有替换手写签名的作用,把秘密的字母数字“密 钥”提供给已知的个人,随后必须保密。与此不同,本发明的目的在于 电子地俘获和操作个人的手写签名。

在代表性的实施例中,本发明利用已知的基于笔的硬件来电子地俘 获手写签名。

本发明的代表性实施例包括一个签名俘获模、一个签名验证模块 以及一个模板数据库

该签名俘获模块俘获人的签名,并创建一个代表(或记录)签名行 为的签名包(Signature envelope)。该签名包以电子形式存储某些与俘 获的签名的手迹有关的数据,例如在基于笔的计算机的计算机屏幕上。 一般地,所谓的签名俘获模块由一个客户应用程序所控制并与之通信。

例如,客户应用程序可以要求一个用于文件的手写签名。客户应用 程序调用签名俘获模块,该模块把一个签名俘获窗口显示在屏幕上并要 求用户把他的或她的签名(例如,用一支电子指示笔)写到计算机屏幕 上的这个窗口中。该客户应用程序可以把签署文件的标志和/或签署文件 的原因(或其重要性)提供给签名俘获模块。这一信息,称作重要性提 示,能通过签名俘获模块在签名俘获窗口中显示给用户。这就使用户确 认正在签署的文件是用户认为他或她正在签署的文件,此外还警告用户 签署行为的原因和重要性。

当用户签署文件时,(例如,通过在屏幕上移动笔或指示笔),出 现一个跟踪指示笔运动的图像。因而,把用户的签名(或手迹)显示给 用户。在签署时,签名俘获模块测量签署动作的某些特征,例如,象曲 线、图、线、点交叉的大小、形状和相对位置及所写签名的其他特征, 以及透露特征的相对速度。这些测量可以称作“签署动作统计”。

在本发明的代表性实施例中,签名俘获模块可以创建一个所签署文 件的校验和。该文件校验和在以后能用来验证声称已经签署的文件就是 所签署的文件,而且对该文件没有进行任何变更。

在代表性实施例中,文件校验和不是原始文件的完整陈述,从文件 校验和不能导出原始文件。文件校验和载有文件的数学关系。如果文件 被改变,那么在数学上就不能与该校验和匹配。

在另一个实施例中,除了文件校验和外,或作为另一种选择,可以 建立所签署文件的压缩表示。

签名俘获模块对表示内部别名、签署动作统计、签字的时间和日期, 签名人声称的身份、出现在重要性提示中的词、文件校验和的数据,以 及可选择的表示签名的图形图像的数据进行加密。签名俘获模块创建一 个包括这种加密数据的签名包。在代表性的实施例中,签名包是一个加 密的数据串。因此,签名包是一种表示手写动作的可靠方法。

根据该代表性实施例,客户应用程序不能解密或改变包含在签名包 中的信息。

签名验证模块报告具体签名是真实的概率。签名验证模块可以使用 模板数据库。模板数据库存储多个模板。每个模板包括用于一个人的签 署动作统计和这个人的已知身份。每个模板都是在受控的登记过程期间 创建的,并存储在模板数据库中以便以后访问。

在代表性的实施例中,签名验证模块和模板数据库可以位于远程位 置,可由多个客户应用程序访问。例如,签名验证模块和模板数据库可 以位于中央独立的签名验证局处。在另一个实施例中,签名验证模块和 模板数据库位于本地系统上,必要时可由客户应用程序访问。

当客户应用程序希望验证签名时,客户应用程序就把代表要验证的 签名的签名包转到签名验证模块。应该注意到,每个客户应用程序可能 已经验证了由该客户应用程序创建的、或由其他的应用程序在早先创建 的签名。

例如,签名俘获模块可以驻留在多台计算机上,例如,象多台可携 带的基于笔的计算机,而签名验证模块可以驻留在单个的主机上。可携 带计算机在所有时间都可以俘获多个签名(并由此产生多个签名包), 并把他们发送给主机以便验证。

当把一个具体的签名包提供给签名验证模块时,该模块能直接估计 该签名包是否是属于在签名包中识别的用户签名的真实手迹的产物。该 签名验证模块能解密该签名包,并把其中的信息与存储在模板数据库中 的签名模板相比较。根据这一比较,签名验证模块能确定一个签名匹配 百分比(例如78%),并把这一百分比和存储在签名包中的其他信息报 告给客户应用程序。

因此,本发明能够使电子俘获的手写签名用于与常规纸张签名相同 的上下文中。根据本发明俘获的签名通过使用计算机技术而有利于检测 和防止伪造和欺骗,从而超过了常规签名的“性能”。

本发明设计成可结合现有的软件程序使用,例如,作为由其他计算 机程序激活的软件组成部分。本发明可以用作允许用户访问计算机网络 的安全性程序的一部分,用作字处理程序的一部分、或用作电子邮件(e -mail)程序的一部分(例如,验证电子邮件信息发送人的身份)。本 发明特别用于与签名俘获和验证相关的处理。(正如在这里使用的那样, 利用本发明模块服务的程序称为“客户程序”。)

因而,客户程序可以使用本发明俘获用于各类目的的签各。本发明 能使指示同意的常规方式(手写签名)被推进到新的技术环境中,同时 避免了对纸张的需要。例如,可以使本发明的签名俘获模块驻留在装有 数字化仪的有线电视转换器单元(有时称作“顶置盒”(SetHtop box))。 从而使用本发明能使观众授权提供各种物品和服务。这样俘获的签名可 以沿线送回到供应者的系统,在这里可以在发货之前提交给签名验证模 块,然后再作为事件的记录存档。这种方法的一个优点在于可以适于家 庭成员的个别需要(例如,父母、孩子等),而不要求他们带有和拿有 个人卡,或向他们提供“秘密”号码等。通过在装有适当触敏数字化仪, 例如,在其相反侧的手持遥控单元的范围内实现签名俘获模块,能容易 地提高本发明的性能。

另一个例子是在汽车交易市场申请贷款购买车辆。通过签名俘获模 块能够俘获手写的签名。然后把生成的签名包提交给独立的签名验证 局。随后,在允许申请人拥有一辆车辆之前,可以把返回的验证记分算 入整个信用评估中。

还可以俘获既不要求也不可能进行以后验证的签名,这里个人向签 名接收器提供的签名是第一个样品。这些例子包括由新娘和新郎签名的 结婚证誓词、客人签署的旅馆登记、及接收人签署的包裹递送单。

因此,例如,能在允许访问远程计算机系统之前,把签名传输到用 来验证的远程场合;或者可以简单地把签名储存在计算机档案中,作为 一个具体人批准了一个具体文件或处理的记录;或者为了决定是否允许 用户访问一个具体的电子文件,可能希望立即验证签名。所以,本发明 为客户程序提供了大范围的功能。

本发明不允许签名数据(特别是签名包)受欺骗的误用。客户程序 除以加密形式外,不能访问签名数据,也不能获得可能是有助于未来的 伪造者的材料的信息。

本发明的独特安全性特征在于:特征抽取是在俘获完成时进行的, 而不是把原始签名数据传输给检验机(即,不允许签名俘获模块把原始 签名数据传输给签名验证模块)。原始签名数据,在代表性的实施例中, 不存储在签名包中,而且在任何阶段对客户程序都是不可用的。这就使 得通过检验签名包重新创建原始签名数据并在以后把该原始签名数据重 新注入系统是不可能的。这还减少了在验证之前要传输或存档的信息 量。

本发明可以用来帮助检测电子文件的未授权修改。如上所述,从组 成文件的字符码计算出文件校验和,并把该校验和作为签名包的部分远 离这一文件存储。由修改的文件得到的文件校验和是不同的,因而能检 测更改。本发明使用一种先进的求校验和的方法把签名包绑在文件 上,以便支持一种完全的电子隐喻,就好象墨干在了纸上。与重要性 提示一起,这有助于为每个签字动作保持单一的预期用途,从而使在一 个文件上提交的签名不能用在另一个文件上。

图1是方块图,表明根据本发明的一般系统构造。

图2是方块图,表示所用的根据本发明的一般系统构造,其中在一 个平台上俘获签名而在一个第二平台上验证。

图3表示一个用来俘获手写签名的窗口和一个有重要性提示的例 子。

图3A表示有重要性提示的另一个例子。

图4是签名包寿命周期的流程图

图5是流程图,表示在一个签名俘获过程中的一般步骤。

图6是流程图,表示用于本发明的模板软件对象的一般寿命周期。

图7是流程图,表示在模板登记过程中的一般步骤。

图8是本发明的对象的对象关系图。

图9是表示代表一个人的软件对象的寿命周期的示意图。

现在转向附图,先从图1开始,这里以方块图的形式表示利用本发 明的组或部分的一个典型系统。

图1表示一种结构,其中在同一装置上完成签名俘获和验证功能。 一个客户应用程序2请求俘获签名。客户应用程序把要求的信息呈交给 一个签名俘获模块4(也称作签名俘获服务),模块4又要求用户使用 适当的硬件装置,例如,象笔/数字化仪和显示器8的组合,签上他的或 她的签名。签名俘获模块4创建一个签名包10,正如在下文中详细解释 的那样,并且把签名包转到(或使之可用)客户应用程序2。

当客户应用程序2希望验证签名时,就把签名包10转到一个签名验 证模块6(也称作签名验证服务)。签名验证模块6访问一个包含签名 信息和与签名的“所有人”有关的信息的各模板的模板数据库(也称作 签名数据库)12,并把签名匹配百分比返给客户应用程序2。

图2表示一种结构,其中在装有笔的计算机上俘获签名,但在一个 远程系统上验证。在图2中,有两上客户应用程序2a和2b。在这个实 施例中,客户应用程序2a驻留在一台装有笔的计算机上。客户应用程序 2a请求俘获签名。签名俘获模块4俘获签名,并把一个签名包10返给 客户应用程序2a。可以把这一签名包10传送到其他的客户应用程序, 例如,客户应用程序2b。客户应用程序2b可能希望具有一个由验证的 签名包10代表的签名。如果是这样,则客户应用程序2b把签名包10转 给签名验证模块6,签名验证模块6验证该签名。

应该注意到,本发明的开放式构造可以供多种变化的结构之用。例 如,签名验证模块6和模板数据库12可以驻留在单一的计算机系统上。 另外,他们可以是驻留在不同平台上的签名验证模块6,都能够访问位 于远程的模板数据库12。

签名俘获模块4和签名验证模块6利用一组API(应用程序接口) 使签名俘获和验证并入多个不同的应用程序中,例如,2a和2b。应用 程序能确定用于每个签名的上下文和用于签名验证阈值的标准。

在代表性的实施例中,本发明是在国际商用机器公司(IBM)用于 OS/2(带有C++接口)的笔上和微软公司用于笔计算(带有C++和可 视基本接口)的Windows上实现的。签名俘获模块4和签名验证模块6 设计成可并入其他的计算机程序或者由其他的计算机程序激活。因而应 该认为他们是自包含的软件组成部分。

在代表性的实施例中,签名俘获模块4要求既可用图形显示装置又 可用数字化仪。在用于笔计算的Windows和用于OS/2笔的情况下,可 以使用由操作系统支持的任何图形显示装置,例如,Wacom、 Calcomp、Kurta等。此外,计算机处理器可以是支持这些操作系统的 任何一个的任何基于笔的计算机,例如,象Compaq的Concerto计算机 或IBM的P系列Thinkpad计算机。

签名验证模块6不需要专用硬件,并且可以在任何计算机操作系统 的条件下实施,在代表性的实施例中,计算机操作系统支持C++编译程 序或交叉编译程序。

可以认为本发明具有三个可分离的子系统,即:

a、签名俘获模块4,用来记录签字动作和创建签名包10;

b、签名验证模块6,用来相对于个人的签名概貌,即,相对于“模 板”,测量一个签名包;以及

c、模板数据库12。

为了说明这三个子系统的用途,考虑一个简单的、控制对计算机系 统访问的签名验证应用程序。在这一实例中的客户程序2希望俘获签名 并随后验证它,以便接收与计算机用户的身份有关的证据。在这种情况 下,随后的步骤是: - 建立用户声明的身份。 - 与签署的时间和日期一起,俘获他的签名和适于该应用程序的提示。 - 用他的声明身份,定位他的签名模板。 - 确定该签名是否与该用户的模板匹配。

在该三个子系统的范围中可以把这些步骤描述成如下: - 在建立了该用户的声明身份之后,构造装有这个用户的标识符的空签   名包10。 - 使签名俘获模块4把签名数据以及时间和日期及签名原因的文本表现   一起收集进签名包10中。 - 通过在模板数据库12中的搜索,使签名验证模块6找出与签字人有   关的模板,该签字人的身份已存储在签名包10中。 - 使签名验证模块6相对于找到的模板验证签名包10。

在代表性实施例中,签名验证模块6按如下工作。计算每次签名测 量之差(从签名包10获得)和平均值(从模板获得),并除以这次测量 的标准偏差,正如在登记期间计算的那样。存储最高的生成值,并且把 所有值加起来并且平均。然后,通过两个因数改变最高值和平均值的比 例以给出可比较的值,并保持这些值的最大值。如果该最大值小于一个 给定(较小)值M,则返回最大得分100。类似地,如果该最大值大于 一不给定(较大)值,则返回最小得分。否则,从M+1上减去这一结 果,并把差值乘以100,以给出包括在0至100范围内的一个值。然后, 把这个值返回给客户应用程序2。

把得分返回给客户应用程序2就允许客户应用程序2判定,在对于 具体处理的上下文中签名是通过还是失败。例如,如果签署的文件是一 份贷款1,000美元的文件,则应用程序2可能要求75的得分或更高作为 通过得分。然而,如果签署的文件是从行帐户提走200,000美元的提款 单,那么客户应用程序2可能要求95的得分或更高作为通过得分。

利用这种结构,本发明使手写签名的俘获和验证发生在不同的平台 上。本发明创建了一种记录签名动作的可移植数据类型,并且该数据类 型能够连接(或“捆绑”)到一个文件上。

通过参考这三个子系统的特征、允许在他们上面进行的操作、以及 为其交互提供的机理,能够更好地理解本发明。 1.签名包10

可以认为签名包10是一个复杂的加密数据群,它代表签字物理动作 的数字记录。

然而,不能认为签字动作是单纯的物理动作:实际上它不可能脱离 上下文,如签字人的意图、日期和时间、签署的文件等等。签名包10还 包含与这些基本的伴随情况有关的数据。

在俘获签名之前,通常从客户应用程序2,提供给签名俘获模块4 如下信息: - 签字时用户的意图摘要(以一篇短文的形式)。这一摘要由签名俘获   模块4以清晰的方式在靠近计算机显示器上显示用户签名的区域显   示。这篇短文称为“重要性提示”,因为它指明了签字行为的重要性。   例如,重要性提示可以读作“我同意付给Geoge Beale 49.50美元”   或“我同意把我的住房以23,000卖给Fred Denning”或“你正在签   署文件名称为‘信’的文件,文件名Lef.wp”或“签字同意贷款协   议”; - 可选择的,参考代表用户要签字的文件的计算机文件; - 是否应该把签名的可视表现存储在签名包10中; - 可选择的,用于生成整体性校验和的一个关键字。

当开始签名俘获过程时,一个表或窗口20(类似于图3中所示的) 显示在计算机屏幕上,并由签名俘获模块4显示重要性提示22。(在图 3中,重要性提示读作“登记未完成-签名登记”。这一重要性提示用于 创建一个模板时的登记过程,在下文将更详细地描述,并通知用户他正 在签字创建一个模板。)用户可以在任何时刻通过用他的笔轻敲显示在 表上的“取消”控制24激活它,选择取消处理。

用户也可以以类似的方式,通过激活一个“清除”控制26重新启动 签名俘获(例如,假设他的手臂被摇动。如果用户激活一个“OK”控 制28,那么就完成签名俘获,但受如下限制: - 签名必须用一定的时间完成; - 所画的线的长度必须大于某一最小值; - 签名数据必须呈现一定的复杂性; - 笔静止不得超过2秒。

如果违犯了这些限制的任何一条,那么就向签字人显示一条信息, 拒绝该签名(就象用户已经操作了“清除”控制26一样)并且系统准备 其本身以接收另一次签名。

这时,签名俘获模块4把如下信息存储到签名包10中: - 签字动作的日期和时间 - 重要性提示 - 签字人声明的身份 - 其上俘获签名的机器的标识 - 代表启动签名俘获的计算机程序的标识符,即,客户应用程序2 - 与签名有关的测量和统计,例如,形状、笔画的数目、签字所用的全   部时间等 - 可选择的,由计算机文件或文档计算出的校验和,其标准被原始规定   为俘获的签名与之有关计算机文件或文档 - 可选择的,压缩的向量形式的签名图像表示 - 一个整体性较验和

在已经俘获签名之后,本发明不允许对签名包10进行任何变动。在 加密之前对保持在签名包10中的数据求出校验和,从而能检测任何未经 授权的修改。

如在图3A中所示,客户应用程序2可以向签名俘获模块4提供一 个签署文件的标识和/或签署该文件的原因(或重要性)。这一信息就是 重要性提示22。在该代表性的实施例中,在签名俘获窗20中向用户显 示重要性提示22。这就使用户确信签署的文件是用户认为他或她正在签 署的文件,此外,还警告用户注意原因和签署行为的重要性。在该代表 性的实施例中,重要性提示22存储在签名包10中。因而,重要性提示 22能在以后阶段由其他的应用程序(这些程序可能正在其他的平台上运 行)检索和显示。如在图3A中所示,签署的文件是五页的用户贷款申请, 其一部分显示在窗口30中。通过客户应用程序2把签署的文件名称显示 在用于文件的名称条32中。重要性提示22作“签字同意贷款协定”。 这里,客户应用程序2把文本“签字同意贷款协定”提供给签名俘获模 块4-这个文本存储在签名包10中。图3A中的签名俘获窗口20显示在 包含签署文件的整个窗口30上。

当客户应用程序2请求时,与签名包10有关,本发明(在代表性实 施例中,签名验证模块6将完成这些功能)提供了如下功能: - 公开签字人声明的身份 - 公开签字行为的日期和时间 - 如果在俘获签名时使用求文件校验和的选择,则给出指示,代表一个   文件的计算机文件是否与原始求过校验和的那个文件一样 - 如果在俘获签名时使用存储签名的可视表现的选择,则有助于把签名   显示在计算机的屏幕上 - 如果在俘获签名时使用存储签名的可视表现的选择,则有助于以位图   形式产生含有可视表现的标准格式磁盘文件 - 相对于一个模板验证。

另外,本发明能完成与签名包10有关的如下功能: - 从存储器编码成数据块,以便存档或传输到一个远程系统 - 由从档案检索的或经电子数据传输的数据块,在存储器中建立签名包   10。

从存储器检索的数据块是一个加密的存储块,该存储块包含有足够 的数据,以便重新建立一个与原始写出的对象相同的对象。实际上,该 数据块是一个加密的,可携带的信息块,该信息块保存了源对象的整个 状态并且使它能够在相同的或一个远程的系统上重新建立。

这些数据块用来在档案中保存对象,或者用来把对象的拷贝传输给 一个远程系统。基本上数据块包含与原始对象相同的信息,但表示为高 结构化的形式,从而在以后的日期能由相同的数据块重新构成该数据对 象。

在该代表性的实施例中,签名包10封装成一个软件对象。一个典型 的签名包软件对象的表现如下: 数据

签名包版本号

机器序号

机器引导时间

机器类型(一个号)

声明的ID(一个识别签字人的字符序列,由俘获应用程序辨别)

标题文本(可变长度的ASCII文本)

签名外观的压缩表现

文件校验和

键控的用于整体性的内部校验和 方法

capture                显示UI组成部分和收集签名

render                 在显示器上画出俘获的签名的图像

write-tiff-file        把图像以TIFF格式写到文件上

write-win-bmp-file     把图像以Windowns位图格式写到文件上

write-OS2-bmp-file     把图像以OS/2位图格式写到文件上

is-captured            返回签名包10是否包含签名

has-image              返回签名包10是否包含图像

mc-sno                 返回俘获机器的序列号

mc-type                返回俘获机器的类型

time-signed            返回俘获的日期/时间

claimed-id             返回声明的ID串

gravity-prompt         返回重要性提示

verify-file            相对于存储的校验和检查文件的内容

import                 填入来自加密的数据块的数据

export                 把加密的内部数据填入数据块

用于本发明的签名包对象的典型寿命周期以流程图的形式概括在图 4中,并在下面详细讨论。 创建(步骤100)

当创建软件对象时,把它初始化到能启动签名俘获的状态。 俘获/输入 俘获(步骤102)

在俘获过程中的事件顺序更详细地表示在图5中。俘获步骤 (102)在该代表性实施例中由签名俘获模块4完成。

如果以前俘获了签名包10的对象,则拒绝俘获请求。客户程序规定 了要显示的重要性提示,及是否要保存签名图像,和是否要计算文件的 校验和而用于文件捆绑。

如果文件是要计算校验和,则细读存储文件的计算机文件并建立一 个校验和。本发明的代表性实施例使用消息摘要(Message Digest)技 术求文件的校验和,如由RSA Inc.公布的技术。

然后,用户接口组成部分以有区别的方式显示在计算机的图形屏幕 上,以便警告用户这一事实,即可靠的且捆绑的签名就要被俘获(例如, 见图1)。

如果用户操作“取消”控制24,那么就把适当的状态返给客户程序 (步骤202和204)。

如果用户操作“清除”控制26(步骤206),那么就放弃以前收集 的任何笔数据,并且从屏幕上清除放弃的签名的图像(步骤208)。

如果用户在签名俘获区域操作笔(步骤210),则在存储器中收集 和存储代表笔运动的数据(步骤212)。

如果用户操作“OK”控制28(步骤214),那么签名俘获模块4 就分析俘获的笔数据并记录某些测量。在该代表性实施例中,由签名俘 获模块4进行的测量如下:

M0        笔画数目

M1        总的时间

M2        下笔时间

M23       总的线长度

M23/M0    平均笔画长度

M2/M0     下笔时间/笔画数目

M1/M23    平均速度

          在每一笔画中最慢各点的时间之和

          在每一笔画中最快各点的时间之和

M34       在每一笔画中最慢各点的位置之和

M35       在每一笔画中最快各点的位置之和

M36       下笔位置之和

M37       抬笔位置之和

M38       加速和减速最大值(“事件”)的数目

M40       事件的位置之和

M41       事件的时间之和

          平均下笔时间

          平均抬笔时间

M35/M1    最快点时滞

M37/M23   比例缩放的抬笔位置之和

M23/M38   平均加速/减速距离

M39/M23   事件持续时间之和/总的线长

M40/M1    事件时滞

M41/M38   事件平均时间

           -ve/+vd Y距离

           +ve/-ve X距离

           Y距离/X距离

           最大X/最大Y

           Y距离/(最大Y+1)

           Y转弯的数目,幅值>0.8mm

           净面积

           各速度之差Δ之和

可选择地,为了把签名的图像提供计算机显示屏幕或位图文 件,压缩、向量化和存储没有时间信息的笔数据。还存储了签名的 日期和时间、机器细节以及重要性提示。然后,产生该数据块的校 验和以防止以后的变更(步骤216)

本发明包括内部的完整性检验,该完整性检验在下面解释。在 加密之前,利用同求文件的校验和技术相同的技术,对签名包10 的内容以及由客户应用程序2提供的密钥求校验和。如果在原始客 户应用程序2导致建立签名包10时不知道原始客户应用程序2所 用的密钥,则修改签名包10和产生满意的校验和是不实际的。通 过在进行完整性检验时提供正确的密钥,客户应用程序2能保证(如 果该密钥没有泄密)签名包2不会被解密、修改和再加密。 输入(步骤104)

以前俘获的签名数据从存储块中被解密并被适当地存入数据 结构。 数据存取(步骤106)

在代表性的实施例中,由签名验证模块6完成数据存取功能。 输出

在签名包10中的数据被存储在存储块中并被加密。 使签名图像呈现在计算机显示器上

如果原始俘获签名包的客户程序2没有请求签名图像,那么就 把错误状态返回给客户请求再现者。

否则,就显示,适当地缩放的签名图像。 位图文件生成

用标准的图像文件格式创建位图文件。如下格式是由本发明的 代表性实施例使用的候选格式:

TIFF

OS/2位图

Windows位图

响应来自客户程序的请求,本发明的系统把关于下面的加密信 息放到存储器中,以便于由客户程序存取:

声明的ID

签名的日期和/或时间

输出的数据块的大小

签名包10是否包含一个俘获的签名

签名包10是否包含一个签名图像

其上俘获签名的机器的序号

代表其上俘获了签名的机器类型的一个号码

重要性提示

内部完整性检验是成功还是失败

当俘获了签名时,给定文件是否与原始求校验和的文件相同。 破坏(步骤108)

破坏相关的数据分配。 2、模板

各模板不直接由客户程序2处理,而是通过实施模板数据库的 软件组成部分的媒体存取。

当初台创立时,模板是空白的。本发明允许客户程序2检测这 一点和用签名包10的一个系列“填充”该模板。这一过程称作“登 记”,可以比作一个学习过程,在学习过程期间,能确定签名的典 型行为和他的签名行为最一致的各方面。

在登记阶段,接收的签名包10之间的类似性程度将影响最终 模板的质量。如果签名包的差别足够大,那么验证就成为不可能 的,并且要重新启动登记过程。否则,当考虑到检证得分时,就能 查明在登记期间接收的签名包的相关程序:相关性越高,验证过程 的可靠性越高。

因为模板的完整性对于有安全性意识的应用程序是至关重要 的,所以模板包含有关于“拥有”应用程序的信息。只有模板的所 有人才能在模板上进行某些敏感的操作。

模板存储如下信息: - 用于签名测量和统计的平均值 - 这些统计的可变性指示器 - 登记状态和质量的指示器 - 验证的最新签名包10的日期和时间 - 性能指示器 - “拥有”程序的ID - 创建的日期和时间 - 唯一标识符

本发明提供了与模板有关的如下功能: - 公开创建的数据 - 公开登记的状态和质量 - 登记签名包10(反拥有程序) - 强制重新登记(仅拥有程序) - 验证签名包10

验证过程的目的在于,以得分形式给客户程序2一个伪造可 能性指示。这一得分,或许连同关于登记质量的信息,使客户程序 能根据其自己的标准做出关于签名准许的决定。

因为整个时间历程上个人的签名将经受逐渐变化,所以本发明 将在某些环境下“弯曲”签名包10,以支持签字人行为的一致变 化。这种“弯曲”受某些内部检验的支配而发生,并且可选择地由 客户应用程序抑制。如果验证的签包10比成功验证的最新签名包 10旧,那么“弯曲”不再发生。(见图6的步骤318,在以下详细 讨论。)

在本发明的代表性实施例中,每个模板作为一个软件对象实 现。模板软件对象的典型寿命周期以流程图的形式概括在图6中, 并在下面详细描述。 创建(步骤302)

当创建一个模板软件对象时,把它初始化到能启动登记、输入 或输出的状态。 登记(步骤310)

只有在模板处于无登记的条件下时,本发明才允许模板登记。

登记过程以流程图的形式概括在图7中。

在本发明的系统试图完成登记之前,必须提供预定的最少签名 数量。直到达到这一点为止,来自连续签名包10的数据与初期的 模板一起一直存储着(步骤402)。

一旦已经接收到了签名包的最小数目(步骤406),本发明就 进行某些检验,以判定提供的签名包是否一致得足以生成一个模 板。如果不行,则清除所有的签名包,并把模板复位到其初始状态 (步骤414和420)。另外,如果提供的签名包是一致的,那么就 生成模板统计(步骤408),就废除存储的签名包,并把该模板标 记为登记过的。

然而,如果已经接收到了最小数目的签名包,而模板易被修改 (步骤416),那么就接收更多的签名包直到预定的最大值。保存 最一致的一组,直到能建立一个良好的登记,或者直到达到最大数 量,这要看哪一个较早。 输入(步骤304)

以前编译的模板数据从一个存储块中被解密,并被适当地存入 数据结构中。 输出(例如,步骤320)

把模板数据加密成一个存储块以便存档或传输到一个远程系 统。 验证(步骤314)

只有在模板处于登记的条件下时,签名验证模块6才允许相对 于模板验证签名包10。

在签名俘获过程期间取得的并存储在签名包10中的测量结果 与存储在模板中的平均数值相比较。要考虑在登记过程期间所观察 到的用户的可变性。生成两个数值:一个指示同平均值的平均误 差,而另一个指示同平均值的最大偏差。然后,用这两个值的函数 产生一个在范围0…100内的得分,其中0表示签名包与模板之间 的不匹配,而100表示签名包与模板之间的紧密匹配。上面详细讨 论了签名验证模块的这一方面。

当客户应用程序提供一个用于验证的签名包10时,还提供一 个作为用于模板更新的较低阈值的得分。模板更新(或“弯曲”) - 见步骤318-受如下条件支配而发生: - 验证得分不小于阈值; - 验证数值离平均值既不太近也不太远; - 签名包10比最近验证的签名包更新; - 验证得分高于客户程序2提供的阈值。

如满足这些条件(在步骤316),那么就对存储在模板中的平 均值进行校正,从而在整个时间上模板将适应签字人行为的一致偏 移或趋势。当更新发生时,就把模板打上时间标记以利于管理模板 的多个拷贝或远程拷贝。 清除(步骤312)

本发明能将模板置于可被重登记的条件下。保存创建日期/时 间,并把模板更新日期/时间设置为当前日期/时间。 数据存取(步骤306) 登记状态

响应是否登记模板的询问,系统完成信息块(如下面所示), 并使这个信息块可由客户程序2检查。

在代表性的实施例中,该信息块包括:

*update-time    时间和统计是最近更新的

*backup-time    时间和模板是最近备份的

*count          完成登记使用的签名数目

*enroll-status  指示登记相关性的数目

*enroll-flag    如果登记完成不为零 3、模板数据库12

签名模板对个人是唯一的。一旦已经建立了模板,就能用它来 验证这个人的身份,以及用来鉴定用户用本发明的系统签署的文 件。显然,一个单个的个人签名可能对多于一个的客户程序2是重 要的,或者甚至对多于一个的组织是重要的。模板数据库12设计 成使诸模板适用于一个以上的应用程序2,并因而使模板的“所有 人”通过使模板适用于为了验证目的的其他客户,从拥有一个登记 模板获得商业益处。

模板数据库12的数据库结构支持如下的目的: - 在使用数据库服务之前,客户应用程序2必须利用系统产生的   专用标识符向本发明的系统标识自己。 - 当一个应用程序用本发明的系统登记时,产生该专用标识符。

在客户应用程序能创建诸模板之前,需要登记。 - 当创建模板时,还创建包含个人的姓名和唯一用户标别号(例   如,该号可能是国家保险号或社会保险号)的数据库记录,并   且该数据库记录以后是不能修改的。使用这一记录来支持客户   应用程序的不同标识符与同一个人的匹配。 - 为了支持身份与模板的相关性,本发明的系统支持检索用于任  何匹配数据组合的模板数据库12。 - 当创建模板,或者与专用检索模式相匹配时,本发明的系统就   给客户应用程序2提供登记用于该个人的应用程序唯一标识   符的能;以后客户仅需要提供其最佳标识符。这就可以识别   出这样的事实:客户程序2将总是具有关于其签名要验证的个   人的唯一标识符的索引。 - 在客户设备具有适当的许可证许可的情况下,本发明的系统将   支持把模板记录转换成加密的数据块,以便分开存档或传输。

本发明的结构支持签名验证局的新颖概念,向任何数目不同的 客户2提供一个远程的或网络的验证服务。

它还支持诸签名模板的远程维护和管理。这在需要把中央位置 中装的模板分配给用于独立于中央数据库的“脱机”验证的远程处 理器的场合,是特别重要的。这些例子包括使用智能卡,或使用一 “队”小型便携式笔操作计算机,其中,为了处理现场设备的失效 和用正确的安全性配置迅速进行替换,则必须将签名模板集中存 储。

模板数据库12用于存储应用程序(例如2b)需要的所有模板。 然而,数据库12的独特结构有助于:以不同应用程序能够共享一 单个模板的方式,使个人的模板适用于一个以上的应用程序。

这通过在任何数据库功能成为可用的之前,强迫客户应用程序 2开始数据库会话来实现。当开始会话时,客户应用程序2必须宣 布其身份。

数据库12使用人的概念表示模板以及唯一标识信息。在数据 库12中存储的所有模板属于各个人,并且可以用任何一个应用程 序登记任何人。任何一个应用程序可以有多个用它登记的人,并且 可以用几个应用程序登记任何一个人。这一点用图8中对象关系图 表明。

起初,在任何其他的数据库服务成为可用的之前,客户应用程 序2必须使其本身为系统所知。当应用程序2开始会话时,它宣布 一个公共名称以描述它自己,借此它将为所有其他的应用程序所 知。它还提供一个秘密的加密密钥。本发明用这个密钥来为应用程 序产生一个唯一的ID,称作AID。同时,它还提供了关于唯一标 识符长度的信息,它提出在存取各个人的模板时用该标识符来标识 各个人。

当客户应用程序2需要创建模板时,它可以首先为用其他应用 程序已经登记的各个人扫描数据库12。当登记一个人时,就创建 一个模板,并且还存储其他的信息(姓、名、中名、用户身份号)。 因而,使用这些标准的应用程序能够确定是否已经用另一个应用程 序2登记了有疑问的人。

如果没有发现相匹配的人,则可以创建一个新的人并加到数据 库12中。

在代表性的实施例中,用一个软件对象代表一个人。这个人软 件对象的寿命周期表示在图9中。数据库12代表客户应用程序2 通过人员对象上的操作进行所有的模板操作。

认为一个人以及对应的模板被创建它的应用程序2“拥有”。 在模板上的某些操作,包括模板的登记和清除,仅能由拥有的应用 程序2来执行。然而,拥有的应用程序可以通过规定一个其他应 用程序能用来解模板的口令,使登记适用于其他的应用程序。

与一个人有联系的姓名和唯一用户身份号被唯一地用来在所 有应用程序之间识别这个人。因此,这些数据是不可改变的。 用一个应用程序对人员进行登记

一旦应用程序2已经创建了或查出了一个人,应用程序2可以 用其本身登记这个人。这通过提供应用程序的唯一人员标识符(一 般为这个应用程序识别这个人所用的一个唯一密钥)来实现。当应 用程序2用数据库12第一次登记时,应用程序2就宣布该唯一密 钥的长度。这一标识符称作应用程序的唯一标识符(AUID)。此 后,这个应用程序将使用AUID来识别一个人和/或他的模板。

在登记时,本发明建造一个新的包含AUID的数据库记录,并 且通过这个应用程序把该新记录与任何以前的登记交叉相接,还通 过其他的应用程序与用于这个人的任何以前的登记交叉相接。

一个应用程序可以扫描该数据库: - 对于所有应用程序 - 对于用这个应用程序登记的所有人 - 对于没有用这个应用程序登记的所有人 - 对于符合匹配标准的所有人。

当用户的签名随时间变化时,本发明将“修改”个人的签名模 板,如在上文中图6步骤318讨论的那样。例如,签名人在多于或 小于两秒钟内签署他的姓名。这在约十分之一秒的范围内变化,所 以,如果他的签名时间是,比方说,2.1或1.9秒,则签名验证模 块6不能“把他记下”(即,并不减小他的签名匹配百分比)。但 在几个月之后(或许是由于熟悉了他正在使用的设备),用户的签 名趋向于1.9秒的目标。因为所有的其他数据几乎与他的登记一 致,所以签名验证模块6稍微“弯曲”他的签名模板,以跟踪他的 签字行为变化的模式。一年之后,他一贯地以1.8秒签名,有时为 1.7,有时为1.9。到这时,平均值已经仿效了他的行为,因而现 在把平均值设定为1.8。(如果现在重新提交在签名包10中俘获 的他的原始签名之一,并且它具有2.1秒的持续时间,则这可能会 导致报告失败。) 软件对象

如上所述,使用面向对象的程序设计技术实现本发明的代表性 实施例。如下是在本发明的实施中使用的代表性对象: 4.1签名包对象。

这被用来封装签名的动作。在内部它使用如下子对象:

4.1.1一个代表签名图像的对象。这一对象包含图像数据及输 入和输出这些数据的方法;这一对象还代表位图形式的、或动态显 示在显示装置上的数据。

4.1.2从签名的上下文脱离的、代表签名本身动作的对象。这 一对象包含签名测量和关于每个个别笔画的辅助数据。这一对象的 主要目的是表示验证功能使用的测量。这一对象又可以与俘获时使 用的临时对象有关,该临时对象存储原始笔数据。

4.1.3一个对象,表示原始笔数据并对这些数据进行初步分 析,例如,笔画数目、点数目等,以提供对原始笔数据的存取,从 而使4.1.2中的对象能产生测量。 4.2签名模板对象

这一对象包含签名包10中的测量平均值,以及这些测量的标 准偏差。它具有两个方面的功能,即,从一组签名包“学习”或“登 记”的能力,第二个方面是在用签名包10登记之后有效进行比较 的能力,这就是验证功能本身。除了最近签名的包的创建日期和时 间外,该对象不包含专门涉及任何给定签名包10的任何数据。使 这一信息适用于客户应用程序2,从而能判定是否正在验证一个无 序的包。 4.3模板数据库对象。

存在的这一对象主要利用存储的便利装置,通过加密向客户应 用程序2提供与签字人的ID有关的模板。

它包含两个主要的子对象,这些是:

4.3.1一个对象,保存关于人们的基本信息,并把这些信息与 涉及这些人的诸应用程序交叉相接。它通过维护诸应用程序的一个 数据库和诸人员的一个数据库、以及连接的两个数据库来做到这一 点。一个数据库把每一个应用程序连接到所有的人们,对于这些人 该数据库需要进行查阅(这个数据库还包含用于这个人的应用程序 自己的专用ID,如在使用字符时那样);另一个数据库把每个人 连接到与这个人有关的所有应用程序上。

因而,这个对象的主要目标是以最适于多个不同应用程序的目 的的方式使一个人能被这些应用程序查阅。

4.3.2一个对象,把实际模板保存在用每一个人一个唯一标识 符索引的数据库中。

这两个数据库对象都使用诸辅助对象,来管理最适合于专用任 务的文件的类型和组织。例如,有索引文件、顺序文件和包含多个 项序列的链接表文件。

在俘获和验证签名之外的生物信息时,也可以使用本发明的结 构。例如,本发明的结构可以用来创建和验证包括指纹信息、眼图 信息和声波纹信息。

例子

如上所述,在本发明的代表性实施例中,签名俘获模块4能产 生已签署文件的校验和。在以后的日期,可以使用该文件校验和, 来验证声称已经签署的文件是否是早先签署的文件,以及进一步验 证有没有对这个进行过修改。在代表性的实施例中,文件校验和不 是原始文件的完整陈述,并且不能从文件校验和导出原始文件。文 件校验和载有与文件有关的数学关系。如果文件被改变,那么文件 在数学上就已不能与校验和相匹配。本发明的这一特性可以称为签 名捆绑。如下是一个根据本发明的签名捆绑特征的操作的例子:

给出如下样本文件:

“I am glad I was born in Borneo(我很高兴我出生在 Borneo)”这相当于ASCII码的如下数据: 49 20 61 6D 20 67 6C 61 64 20 49 20 77 61 73 2062 6F 72 6E 20 69 6E 20 42 6F 72 6E 65 6F 2E 0D 0A

使用信息摘要算法(例如,象RSA MD4或MD5算法)生成 校验和,以产生,例如,象如下的文件校验和(十六进制):

89F 32145AB 321AF 7C411F B76543F0CFC。

签名包包含如下信息:

版本号(整数)

机器序列号(整数)

机器引导时间(整数)

机器和操作系统类型(整数)

签字人声明的ID(可变长度,字符)

重要性提示(可变长度,字符)

签名测量顺序(整数)

签名的日期/时间(整数)

签名图像(可变长度)

文件校验和(字符)

包校验和(字符)

当输出给一个加密的数据块时,这一信息用如下的长度信息补 充:

它的总长度(整数)

签字人声明的ID的长度(整数)

重要性提示的长度(整数)

签名图像的长度(整数)(如果没有图像为零)

详细地,签名图像按如下存储:

起始坐标

前一个与下一个坐标之差的序列。

这些数据项的每一个以如下方式组成:

如果当看作一个整数时的下一个字符是负的,那么在这个字符 中的剩余位就被用作标志以指示如下的条件: - 笔画的结束 - 下一个值在长度上是两个字符 - 隔一个值在长度上是两个字符 - 下一个值正在改变符号(负到正或相反) - 隔一个值正在改变符号 - 下一个值是一个重复计数(总是正的)

例如,如果签名从几何上准确的字母‘V’开始,则图像可 以按如下表示: 1、给出Y坐标为20的正字符 2、给出X坐标为0的零字符 3、带有设置为指示重复记数的位的负字符 4、具有值10的字符 5、带有设置为指示Y变负的位的负字符 6、给出Y差值为2(即-2)的正字符 7、给出X差值为1的正字符 8、带有设置为指示重复计数的位的负字符 9、具有值10的字符 10、带有设置为指示Y变正的位的负字符 11、给出Y差值为2(现在是+2)的字符 12、给出X差值为1的字符 13、带有设置为指示笔画结束的位的负字符。

假定一个客户应用程序2希望俘获签名,并希望把该签名连接 到Borneo文件上。在OS/2操作系统的条件下,它将准备如下信息: - 用于窗口(例如,图3A的30)的OS/2标识符,在该窗口中   将插入签名俘获窗口20; - 一个识别该签字人的零终止字符序列; - 一个给出重要性提示的零终止字符序列; - 一个具有非零值的整数,如果希望俘获签名的图像; - 一个给出用于完整性校验和的秘密应用程序密钥的字符序 列; - 一个给出密钥的长度的整数; - 一个给出文件名的零终止字符序列,在该文件中存储要求校验 和的文件。

然后,签名俘获组成部分将显示载有适当的重要性提示22和 签字人声明的ID的签名俘获窗口20。该签名俘获组成部分还将遍 历指定的文件并产生校验和。当用户在签名俘获窗20上移动笔的 同时,笔数据以X和Y运动值及时间差的形式在内部存储。然后, 如果用户激活了“OK”控制28,则把这些运动值缩放成代表绝 对距离,并在随后被分析以产生签名测量。最后,如果需要签名的 图像,就把笔数据转化成图像序列(放弃所有的时序信息)。

这时,通过数字代码把交互结果通知客户应用程序2,该数字 代码是: 0、成功地创建了包 1、丢弃签名一用户激活了“消除”控制 3、无效的(例如,零长度)声明ID 4、无效的(例如,零长度)重要性提示 5、读文件错误,该文件是已经求过校验和的。

高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈