具体实施方式
在本描述的上下文中,术语“连接”和“耦合”旨在分别描述直接或间接连接、或直接或间接耦合。
移动无线电终端装置由于其高市场渗透和其永久性与订户在一起的原因而趋向于变成通用工具。例如,今天,许多移动无线电终端装置已经用做个人数字助理,并且移动无线电终端装置用于管理地址、约会、便笺等。此外,电子商务领域和与其相关联的使用象现金卡等移动无线电终端装置的可能性目前已在许多地方进行测试或者已经投入使用以便支付例如公共汽车票或火车票的费用。
因此,如果可以通过移动无线电终端装置以改进方式解决又一日常任务将是期望的事。此任务就是实现验证。应用的范围经对购买酒、游戏、香烟或进入娱乐场所、录像店进行年龄验证,经因特网论坛的性别验证,扩展到例如在录像店机器的数字认证。
在这种情况下,可以区分两种类型的验证,即:关于是否应对某人或某实体执行验证,其中验证者已经与这个人或这个实体具有业务关系并且这个人或这个实体已经具有关于验证者的数据记录;或者关于它是否是对验证者完全未知的某人或实体的验证。在第二类型的验证中,应涉及双方均信任的第三人或实体。
此外,在此情况下,存在这两种类型的验证的区别。
如果它是对验证者已经与其具有业务关系的人或实体的验证,则通常使用从请求验证的实体发出的文档执行验证。在这种情况下,例如,录像店为客户提供客户身份识别卡,通过该卡,客户可在将来验证他或她的会员身份。客户身份识别卡与在录像店中编制的数据记录之间的链接规定要提供所需数据,例如关于客户的年龄是否准许客户租赁特定的电影。客户身份识别卡经常提供有另外的特征,这使得难以滥用。例如,可在卡上提供客户的图像,或者除了出示客户身份识别卡外,还要输入PIN(个人身份识别号),将其与客户数据记录进行比较。这些措施将防止有人通过拾得或盗窃的客户身份识别卡假冒他人。
因此,客户积累了许多不同的客户身份识别卡。这些卡可能与不同的PIN相关联。客户所面临的情况是,他不得不随身携带多张塑料卡或保留相应的正确的卡。
不同客户卡的安全性有很大的不同。在许多情况下,由于成本原因,安全性级别较低,并且客户卡通常不包括密码保护机制,并且经常也无生物特征信息。
这些卡可以实体方式获取,并且因而会被盗窃或以其他方式丢失。应提及的一个典型的示例是,洗衣服时一起洗了忘记放在衣服中的客户卡。
第三人可以用极为简单的方式查看这些卡。除了姓名之外,卡经常包含另外的数据,例如银行客户卡的帐号。如果整个身份识别卡公文包丢失,则会泄露有关其主人的许多信息,这使得盗窃身份识别变得更容易。
此类卡也易有磨损迹象。
卡与客户数据系统之间的数据传输可通过另外的方法(例如,使用磁条)实现。这些方法通常不是免接触的,这使得卡容易受到另外的磨损,并且卡要离手。由于卡上缺少数据处理电路,所以通常不会对通信加密,并且因此,通信易于受到操控。
此外,制造卡需要使用材料。
对于如上所述的客户数据记录的第一次编制以及对于对(当时)与其无业务关系的人或实体的每次验证,由可信实体发出的验证是必需的。以录像店为例,通常要求提供个人身份卡用来编制客户数据记录。从政府发出的这种验证包括姓名、居住地、出生日期、出生地及一些生物特征信息,如护照相片、体型和眼睛颜色等。
需要避免泄露对实际验证不是必需的很多信息。在销售香烟时,只需要年龄验证(例如,大于16岁),这时,商店中的收款人就不必知道购买者的姓名、出生日期和地址。
与常规的执行验证的两种类型相比,期望避免人参与的远距离(例如,因特网)操作,以便实现小得多的工作量和完全自动化。
图1示出根据一个实施例的布置100,该布置100包括通信终端装置102(在其它实施例中,可包括任何数量的通信终端装置)和通信装置106(在其它实施例中,可包括任何数量的通信装置)。通信装置106可集成在例如自动装置或另一装置中。根据此实施例的通信装置106包括用于生成发送到通信终端装置102的消息108的消息生成电路122。由通信终端装置102接收的消息108转发给在诸如微处理器或另一类型的可编程逻辑的处理单元104中执行的应用124,并通过应用124进行评估。处理单元104可以是通信终端装置102的固定组成部分,或者如图2A的示例所示,它可以是移动无线电终端装置218的诸如SIM卡的可拆卸卡202。
如果满足下面将进一步概述的前提条件,则包括至少一个处理器的处理器单元104中的应用124生成响应消息110,该响应消息110又发送到通信装置106,并且将由其中的本地处理器单元122评估。
通信装置106可以是例如自动装置的一部分,该自动装置为执行某个动作而要求提供有关用户的个人特征的已确认信息,以便获得执行此动作的许可。例如,自动装置可以是香烟自动售货机,它要求对想要在这台香烟自动售货机上购买一包烟的人进行年龄验证。通信装置106通过请求消息108将有关个人特征的请求发送到通信终端装置102。
根据一个实施例,验证作为数字验证消息从通信终端装置102发送到通信装置106,数字验证消息在响应消息中包括对请求的响应。
在本描述中,数字验证消息可以例如理解为是结构化数据,这些数据确认并验证用户以及公钥的其它特征。在一个实施例中,数字验证消息包括数字证书。通过数字证书,诸如RSA(缩写RSA表示发明者Ronald L.Rivest、Adi Shamir和Leonard Adleman)的非对称密码系统的用户可将公钥分配给某个身份(例如,属于某个人或IT系统),并且可确定其应用领域。因此,数字证书使得能够通过正确应用公钥来保护数据的机密性、真实性和完整性。根据一个实施例,数字证书包括用户的公钥和通过公钥的数字签名。
这样,例如确保了通过发出验证消息的装置(例如,通信终端装置102的处理器装置104中的应用)正确确定某人的年龄。根据一个实施例,在验证消息中使用数字签名以便确保验证消息及其中包含的用于例如年龄验证的证书(若适用)以不变的方式到达接收通信装置106,并且实际来源于对应用户,或者取决于验证消息中包含的结果(例如,肯定或否定)及关于所接收的消息是真实的判定,在例如自动装置上发生对应的反应。换而言之,这意味着,该消息实际上是对验证消息请求的响应,并且它一直未改变,并且包括验证消息的响应的发送者实际上是经授权那样做的装置,例如通信终端装置102的处理器单元104中的应用124。
此外,图1还示出验证消息请求消息108和响应消息110。这些消息包括不同的部分,在图1中分别由块112、114、116和118、120、122表示,下文将对它们做进一步更详细地描述。
根据一个实施例,通信装置106将包括验证请求112的消息108发送到通信终端装置102。图1中的消息108和110的块112到122应理解为只是象征意义。消息的可能格式的示例将参照图9到12在本描述的进一步过程中详细描述。
根据一个实施例,消息108可选地包括验证请求者的证书,其中包括例如第一数字签名。
在本文,数字签名可理解为是加密方法或通过加密方法生成的数字序列,该序列是根据特定的加密算法通过所谓的私钥从消息的所谓哈希值生成的,并且可再次使用所谓的公钥解密。可在消息的接收器中将解密后的值与从所接收的消息生成的哈希值进行比较。因此,可验证消息的发送者。此外,确定消息的完整性。根据一个实施例,在哈希函数中执行加密算法的应用。
哈希函数在本文中可理解为是通过例如生成校验和来为来自通常较大的源集的输入生成来自一般较小目标集的输出的函数。校验和用于检测数据变化,变化可能是由于技术寄生感应(technical parasiticinduction)或有意操控而引起的。然而,也可使用其它算法,这些算法生成例如交叉和、奇偶校验位、检查位、模函数或循环冗余检查,或例如根据以下常规方法工作:Adler-32、哈希表、Merkle的元方法或Salted哈希法。然而,哈希函数的使用确保了更高级别的安全性。产生此结果的原因是例如哈希函数满足另外的安全性要求。例如,哈希函数提供较少的冲突(若可能,两个不同的文本不应产生相同的哈希值)。此外,哈希函数确保不可对初始数据进行推断,并且响应基本数据的最轻微变化,哈希值发生有保证的变化。可在各种实施例中使用的密码术中的常规哈希算法有例如MD2、MD4、MD5、SHA、RIPEMD-160、Tiger、HAVAL或WHIRLPOOL。
数字签名的方法将在进一步描述中更详细地描述。
根据一个实施例,通信终端装置102包括在处理器装置104中执行的应用124。根据一个实施例,包括验证消息请求的消息108由处理器装置104接收,并由其应用124处理。正如下文将进一步详细描述的一样,根据一个实施例,应用124首先检查验证请求者的证书(如果有)和第一数字签名(如果有),以便确保消息的发送者是经授权这样做的通信装置106,并且消息在传输期间未被改变。请求消息108可包括可根据下文将进一步描述的实施例进行检查的其它字段。
根据另一个实施例,在成功检查第一数字签名之后,处理对信息的请求,并且将处理结果作为验证插入到由处理器装置104中的应用124生成的响应消息110中。然后,通信终端装置102将响应消息110发送到通信装置106。
为了使得通信装置106能够确保响应消息110实际上是由通信终端装置102发送并且收到时未改变,根据一个实施例,应用124在发送响应消息110之前自行将第二数字签名添加到响应消息110中。
图2A示出通信终端装置102的实施例,该装置是可移动的,例如,它在图2A中作为移动无线电终端装置218实现,该移动无线电终端装置218具有:天线208;近距离通信接口210;光接口212;包括显示器204、键盘206和扬声器216的人机接口;SIM卡202;以及在其上实现的应用124。根据一个实施例,通信终端装置102可包括其中存储应用124的数据存储器和用于执行应用124的处理器。
应用124也可至少部分地以硬件方式实现。
根据一个实施例,SIM卡可插入到移动通信终端装置102中,其中SIM卡可包括其中存储应用124的SIM卡存储器。
根据一个实施例,对于通信终端装置102,将以验证消息的形式为其生成验证,应用124可通过显示器204以视觉方式或通过扬声器216以听觉方式提示通信终端装置102的用户确认应生成验证消息并将其传送到通信装置106。
在通信终端装置102与通信装置106之间交换的消息108、110可经由诸如GSM(全球移动通信系统)、UMTS(通用移动电信系统)、FPLMTS(未来公共陆地移动电信系统)、CDMA 2000(码分多址2000)的移动无线电通信标准的数据接口传送,或经由面向分组的接口或诸如根据例如作为GSM的一部分的GPRS(通用分组无线电服务)或备选地使用UMTS的因特网接口传送。
根据又一实施例,通信终端装置102也可以是无线通信终端装置102,其中通过以下方式传送消息:经由诸如蓝牙的近距离通信标准的接口210;经由诸如IEEE 802.11、WiMax(全球微波接入互操作性)的无线通信系统的标准;经由诸如IrDA(红外线数据协会)的光数据接口212;或经由诸如条形码阅读器或相机的光扫描器;或经由其它无线标准。通信终端装置102可以是例如PDA(个人数字助理)、便携式计算机,或者也可以是具有数字通信能力的音乐播放器或另一便携式电子装置,其中实现了应用124所需的功能。例如,在光扫描器的情况下,可从通信装置106的显示器220(参见图2B)读入条形码。
此外,在备选实施例中,提供了经由数据电缆的有线接口。如果它是无线电连接,则接收和发送经由天线208执行,天线208可集成到通信终端装置102中,或备选地,也可从通信终端装置102中引出。
根据一个实施例,应用124可经由安全传输信道进行更新。例如,可以灵活的方式更改数据结构、可执行代码或数据。例如,在这种情况下,也可以通过例如另外的信息请求或请求的更改来改变应用领域。例如,在香烟自动售货机的示例中,可以简单的方式适应关于购买香烟的最低年龄的法律的可能更改。用于更新应用的安全传输信道可以是有线传输信道或无线传输信道。此外,用于更新应用的安全传输信道可以是电信传输信道,例如有线电信传输信道或无线电信传输信道。
根据一个实施例,本文描述的方法用于例如用数字解决方案替代客户卡并实现对当时与其不存在业务关系的实体的验证。
如果在上述实施例中,通信终端装置102是移动无线电终端装置218,则通过此移动无线电终端装置218执行验证。
根据此实施例,客户的移动无线电终端装置218安装有应用124。此应用124是可以信任的,即,一个实体明确安排应用124的存在并安排它保持不变。例如,如果应用124设置在终端上,即,例如设置在移动无线电终端装置218上,则此实体本身可以是移动无线电终端装置218的制造商。备选地,实体也可以是移动无线电网络提供商本身。说明性地,如下文将更详细地描述,提供对验证进行数字签名的可信实体。在移动无线电终端装置218的情况下,可信实体可以是移动无线电网络提供商本身,并且验证可以例如使用移动无线电网络提供商的秘密密钥(secret key)进行数字签名,该秘密密钥可存储在例如移动无线电终端装置218的用户的SIM卡中。
根据一个实施例,具有处理器和用于存储信息和可由处理器装置104的处理器执行的数据(这些数据形成应用)的数据存储器的处理器装置104可设置在通信终端装置102本身上,通信终端装置102可以是例如移动无线电终端装置218。
根据一个实施例,应用124可设置在包括至少一个数据存储器和/或一个处理器的电子卡上。根据一个实施例,处理器是可编程处理器,例如微控制器。此类电子卡的示例是移动无线电网络提供商的SIM卡(订户身份模块)202。
所谓的智能卡的实现中的SIM卡202具有例如以下特征:
-它包括处理单元(例如,微控制器)。
-它受到保护,以防止来自外部(换而言之,SIM卡的外部)的操控。
-该接口只可以定义的方式在授权后使用。
-与具有可能开放的操作系统和用于编程的接口的移动无线电终端装置相反,它表示处理数据的封闭式系统。
-它与人有关,并且在移动无线电终端装置更改后保持不变,这也迎合提供个人有关的验证的任务。
在所述第二种情况下,移动无线电网络提供商是可信实体,它可为第三方(例如,作为示例提到的录像店)提供其服务。
在这些前提条件下,验证发出实体因此有可能将由其自己生成的数字证书存放到可信实体的应用124中。此外,此实体有可能以由移动无线电网络提供商发出的数字证书的形式向应用124认证它自己。根据一个实施例,此证书替代常规客户卡。可信实体也可自行将有关移动无线电订户的信息存放到应用124中,该信息适用于验证。
根据一个实施例,随机数序列114可另外插入到由通信装置106发送的第一消息108中,其中随机数序列114也可插入到响应消息110中。随机数序列114的插入用于防止所谓的重放攻击。由于变化的数字序列,每个请求与之前的请求有所不同,因此简单重复传送之前生成的响应消息110会导致出现错误情况。
根据一个实施例,可在通信终端装置102中提供加密单元,该加密单元可以例如通过例如使用验证者的公钥将随机数序列加密,使得通信终端装置102可将加密的随机数序列插入到响应消息110中,由此增大认证的强度。
此外,根据一个实施例,可将日期和/或时间116插入到响应消息110中以便避免通过改变内部时钟而生成错误验证。
根据一个实施例,为了认证通信终端装置102的用户,通信装置106可提示从通信终端装置102的用户输入诸如PIN(个人身份识别号)的特征,用户可经由键盘206输入该特征。这确保用户是通信终端装置102或移动无线电终端装置218的实际授权用户。然而,也可使用其它方法进行认证,例如生物特征方法,如指纹、面部特征或虹膜特征的扫描、或话音识别等。
当应用124请求通信终端装置102的用户确认通信终端装置102应当生成包括对请求的响应的验证消息并且应当将该消息发送到通信装置时,用户保持对过程和关于是否应当传送消息的问题的控制。
应当通过生成验证消息来回答的请求可以是例如有关移动无线电终端装置218的用户的个人特征的信息,如年龄或关于特定年龄是不够还是超出、客户号码或性别,这里只是提几个示例。
图2B示出对应于通信终端装置102的通信装置106的实施例。
根据此实施例,通信装置106包括生成请求消息108并将它发送到通信终端装置102的处理器装置224。请求消息108至少包括验证请求和第一数字签名。请求消息108中的数字签名确保并非任何人都可请求验证。然而,应提及的是,第一数字签名是可选的。如下文将参照图9进一步描述,请求消息108也可包括其它数据,如随机数、当前日期和时间以及消息报头。根据一个实施例,请求是指有关通信终端装置102的用户的信息。
根据一个实施例,通信装置106还可将有关所请求的验证的类型的信息插入到消息中。
根据一个实施例,响应请求消息108的发送,处理器装置104从通信终端装置102接收响应消息110并检查其内容。根据一个实施例,响应消息110包括例如由通信终端装置102生成的第二数字签名、所请求的验证、回送的可能加密的随机数序列、日期和时间、以及消息报头。示范响应消息110将在稍后参照图12进行描述。
根据一个实施例,通信装置106也包括人机接口,其具有例如显示器220和诸如一个或多个输入旋钮、键盘或触控式显示器的机械或电输入装置。通信装置106还包括对应于通信终端装置102的一个或多个接口226、228。这些接口可相应地是移动无线电通信接口、无线通信接口或光通信接口中的一种或多种接口。如果经由移动无线电连接传送消息,则根据一个实施例,通信装置包括至少一根天线。根据一个实施例,处理单元224生成请求消息108,请求消息108经由接口之一并且可能经由天线230传送到通信终端装置102。沿反方向,将可能经由天线230和接口226、228之一传送的响应消息110转发到处理单元224,处理单元224最终评估响应消息110的内容并触发对应的动作,例如在香烟自动售货机示例中弹出一包香烟。
在图3的图300中,示出根据一个实施例在诸如移动无线电订户的验证生成者想要向实体306识别他或她自己时在实体之间的以下消息流。
下面将参照图9到图12进一步详细地描述在实体302、304、306之间传送的消息。
1.根据一个实施例,请求验证的实体306在308中生成验证消息请求消息108,并经由诸如蓝牙的近距离通信、诸如IrDA的光通信或经由另一信息传送系统(例如,因特网)以数字方式通过此验证消息请求消息108向移动无线电订户304的通信终端装置102寄送请求。在通信终端装置102处,将把验证消息请求消息108转发到图3所示的SIM 302。在备选实施例中,提供其它传输路径,例如在其中读取例如在验证请求实体306的显示器处呈现的条形码(例如,二维码)的光传输、或经由移动无线电网络本身的传输。
在这种情况下,例如,验证消息请求消息108中可包括以下信息:
-请求实体306的证书;
-验证的二进制编码类型(例如,客户号码的匹配、“是否大于X岁?”、“是否是男性?”);
-随机数序列。
2.根据此实施例,验证消息请求消息108被转发到SIM卡202中的应用124。
3.根据此实施例,移动无线电订户304在其移动无线电终端装置218处通过使用消息“ack”316响应请求“ack_request”314来确认,他想使用其移动无线电终端装置218将此验证提供到经授权的实体306。
4.根据此实施例,在应用124中检查请求实体306的证书,并且在肯定验证的情况下,将进一步处理验证消息请求消息108中包含的请求。在否定的情况下,输出错误消息,并在此阶段取消方法。
5.此外,根据此实施例,移动无线电订户现在向应用124认证他或她自己。这可例如通过消息对“auth_request”320和“auth”322、通过输入用户为SIM卡202选择的PIN以及随后的检查324来执行。这用于确保验证无法由非法得到移动无线电终端装置218的所有权的人执行。要注意的是,此认证是可选的。
6.应用124在326中检查要验证的特征。如果请求例如验证移动无线电订户304是16岁或更大,则从存储的出生日期和当前日期生成是或否响应。
7.对于验证是肯定的情况,应用撰写响应,该响应包括在验证消息请求消息“certificate_request”108中传送的随机数序列、当前日期、和存放或存储的证书、或在第6项中计算得出的响应,并且应用使用移动无线电网络提供商的签名对所撰写的响应进行数字签名。下文将参照图14和图15进一步说明数字签名的原理。将在图3中称为“证书”消息110的由此生成的响应消息110传送到验证请求实体306。如果在上述示例中,订户不是16岁或更大,则不生成响应,或者为了利于改进的可用性而生成否定响应,即,不满足要验证的特征的响应。
8.根据此实施例的发展,请求实体306通过使用由移动无线电网络提供商提供的公钥来进行关于应用124的响应消息110的数字签名是否有效的检查。如果它有效,则可以信任验证。在无法验证签名的情况下,这产生错误消息。需要时,可重复过程。
也可在ack_request消息314之前执行证书的检查。这样做的效果是,例如,在错误的情况下,就不要求验证生成者304进行认证。另一方面,证书的检查需要计算机能力,使得使用经常传送的“certificate_request”消息108可发生DoS(拒绝服务)攻击。由于可通过使用订户偏好来使认证得到极大的自动化(而无需验证者304的参与),因此,在一个实施例中,提供如此处概述的顺序。
下面将参照图9到图12更详细地描述根据实施例使用的消息。
在下文中,将详细说明消息流程图中示出的过程。
图4示出根据一个实施例用于生成308验证消息请求消息(certificate_request消息)108的流程图。首先,在400中开始过程之后,在402中,生成随机数序列,随后,在404中,将包括例如年龄验证请求的实际请求插入到验证消息请求消息108中。最后,在406中,对消息进行数字签名。这可通过例如使用如上所述熟知的方法执行。随后,在408中完成过程。
图5以流程图示出根据一个实施例通过通信终端装置102(例如,移动无线电终端装置218)的处理器装置104(例如,SIM卡202)中的应用124检查318验证请求者306的证书。为此,在500中开始过程之后,在502中,对所接收的消息108计算哈希值,直至(排除的(exclusive))消息字段“消息认证”914,此字段914将在下面的图9中更详细地描述(在图5中用512表示)。在504中,将以加密方式在消息字段“消息认证”914(在图5中用514表示)中传送的哈希值解密。在506中,将这两个值相互比较。在肯定匹配(在506中为“是”)的情况下,在508中继续进行用户认证;在否定匹配(在506中为“否”)的情况下,在510中生成错误消息,并且在516中取消过程。
图6示出根据一个实施例的用户认证324的流程图。在600中开始过程之后,在602中,提示用户输入PIN。在604中,将输入的PIN与存储的PIN 610进行比较。在肯定匹配(在604中为“是”)的情况下,在606中进一步继续进行验证过程;在否定匹配(在604中为“否”)的情况下,在608中生成错误消息,并在612中取消过程。然而,也可使用其它方法,例如使用生物特征方法进行认证。
图7示出根据一个实施例用于在通信终端装置102中检查要验证的特征的流程图。在700中开始过程之后,在702中,将存储的值(在图7中用708表示)与所请求的验证(在图7中用710表示)进行比较。例如,在年龄验证的示例的延续中,这是关于用户是否具有最低年龄的实际检查。在结果肯定(在702中为“是”)的情况下,在704中,生成发送到验证请求实体306的消息“证书”110。在结果否定(在702中为“否”)的情况下,在706中生成错误消息。随后,在712中完成过程。
图8示出根据一个实施例用于检查332“证书”消息110的流程图。类似于“证书请求”消息108的进程,在800中开始过程之后,在802中,首先对消息110计算哈希值,这将在下面在图12中进一步详细说明,直至(排除的)字段“消息认证”1212(参见图12)(在图8中用814表示),并且在804中,将以加密方式传送的消息字段“消息认证”1212(在图8中用814表示)中的值解密。在806中,将这两个值相互比较。在结果否定(在806中为“否”)的情况下,在812中生成错误消息,并且在818中取消过程。如果比较是肯定的(在806中为“是”),则在808中,将执行的验证(在图8中用820表示)与请求的验证(在图8中用822表示)进行比较。此时,例如,验证请求实体306因此进行关于是否已实现年龄验证的检查。在结果肯定(在808中为“是”)的情况下,验证请求实体306可通过消息或信号执行进一步动作,例如输出消息或在香烟自动售货机的示例中弹出一包香烟。换而言之,在结果肯定(在808中为“是”)的情况下,在810中实现了验证。在结果否定(在808中为“否”)的情况下,在812中生成错误消息,并且在818中完成过程。
在下文中,将更详细地描述根据实施例的消息。
图9示出“certificate_request”消息108,消息108又称为验证消息请求消息108,根据一个实施例,该消息可包括:
-消息报头902:
根据一个实施例,消息报头902包括例如地址、发送者、消息类型(在此情况下,消息类型为“certificate_request”)及可选的“消息ID”(消息的唯一标识)。为此,也可使用随机数序列(RAND)。通过将“消息ID”引入到消息报头902中,可更轻松并且因此更快地处理与随机数序列相比更小的“消息ID”。
-随机数序列RAND 904:
随机数序列904表示用于在验证消息请求消息(又称为“certificate_request”消息)108与“证书”消息110之间分配并用于认证验证者304的随机数序列。
-日期和时间906:
此字段在此消息108中是可选的。引入此字段的效果可表现在,避免了由于验证请求者306与验证者304的时钟之间的偏差而发生的错误。最后,对于验证的计算,应使用验证请求者306的日期和时间。如果将传送这些值并接管这些值用于计算,则可因此消除可能的错误源。又一效果在于,这使得重放攻击更难以进行,在重放攻击中,攻击者向验证者304重放之前截获并记录的消息。
-验证类型908:
此消息字段包括所请求的验证的类型。它进行例如有关它是以前存放的验证(已经存在的业务关系)还是以匿名方式动态生成的验证的确定。
-验证参数910:
验证参数910要依赖字段“验证类型”908来理解。视请求的验证的类型而定,例如要验证最低年龄,此字段包括与请求的验证相关联的参数。
-X.509证书912:
这是验证请求者306的证书。这可以例如遵循ITU-X.509标准,或者可另外以另一预定义结构存在。下面将进一步描述X.509标准。
-消息认证914:
此字段包括验证请求者306对验证消息请求消息108的数字签名。此字段确保验证消息请求消息108的完整性。如果消息的字段发生改变,则“消息认证”字段914将不再与验证消息请求消息108的其余部分匹配,并且会丢弃验证消息请求消息108而不做进一步处理。
根据一个实施例,消息“certificate_request”108可以用二进制编码和/或经过压缩以将带宽降到最低。
根据其它实施例,验证消息请求消息108也可包括比在图9中作为示例列出的字段更多或更少的字段。
图10示出“ack_request”消息314,根据一个实施例,该消息314包括以下字段:
-消息报头1002:
根据一个实施例,消息报头1002至少包括消息类型(在这种情况下,消息类型为“ack_request”)。
-消息类型1004:
此消息字段包括所请求的验证的类型。关于内容,这是在“certificate_request”108中传送的条目。它有助于验证者304做出关于他或她是否想要同意此类型验证的决定。
-验证参数1008:
还提供所请求的验证的参数以用于由验证者304进行的认证。关于内容,这些是在“certificate_request”108中传送的条目。
根据一个实施例,消息“ack_request”314可以用二进制编码和/或经过压缩以将带宽降到最低。
根据其它实施例,消息ack_request 314也可包括比在图10中作为示例列出的字段更多或更少的字段。
图11示出“ack”消息316,根据一个实施例,该消息316包括以下字段:
-消息报头1102:
根据此实施例,消息报头1102至少包括消息类型(在这种情况下,消息类型为“ack”)。
-Ack值1104:
根据一个实施例,此字段将对ack_request消息314中的认证请求的答复返回给SIM 202。字段“Ack值”包括至少一个布尔表达式(真/假)。在备选实施例中,也可能是错误代码或拒绝代替所请求的验证而递送的备选验证的原因。
根据一个实施例,消息“ack”可以用二进制编码和/或经过压缩以将带宽降到最低。
图12示出“证书”消息110,根据一个实施例,该消息110包括以下字段:
-消息报头1202:
消息报头1202包括例如地址、发送者、消息类型(在此情况下,消息类型为“证书”)及可选的“消息ID”。“消息ID”与“certificate_request”消息108相同,并且只在“certificate_request”消息108中有“消息ID”的情况下才包括在内。
-随机数序列(RAND)1204:
随机数序列1204表示在“certificate_request”消息108中传送的随机数序列。提供它是为了在“certificate_request”消息108与“证书”消息110之间实现唯一分配。由于整个消息110签了名(“消息认证”1212),所以随机数序列1204用于避免在以后的时间点再次将之前截获的“证书”消息110作为对当前“certificate_request”消息108的响应发送回。随机数序列因而确保了响应的及时性。该方法的安全性可通过对随机数序列1204进行强非对称加密来增加。在这种情况下,将使用验证者304的公钥(适用于已经与验证者304存在业务关系的情况)或使用认证实体(例如,移动无线电网络运营商或提供商)的公钥来加密随机数序列1204。如果随后以非加密方式传送此随机数序列或者使用验证请求者306的公钥加密此随机数序列,则确保验证304拥有对应的秘密密钥,该秘密密钥显著增大了验证者304的认证强度。
-日期和时间1206:
此消息字段包括SIM 202中的日期和对应时间,它是用于计算验证的基础。这可以是终端装置的日期和时间,或者是在“certificate_request”消息108中传送的值。
-验证类型1208:
此消息字段是可选的,并且包括已请求的验证的类型。此字段(若有)与对应“certificate_request”消息108的字段相对应。重复验证类型的一个效果在于,将确保在传送验证请求期间没有发生传输错误,并且响应实际上包括请求的验证,而不是错误地包括没有正确理解的验证。要注意的是,在出现传输错误的情况下,签名将不匹配,并且SIM202中的评估可以信任。
-验证1210:
此字段包括已请求的实际验证。如果已发出关于验证者是否至少18岁的请求,则关于内容,此字段包括“验证者大于18岁”的响应。这也可按照X.509标准来执行,或者可包括另一预定或预定义的数据结构。
-“消息认证”1212:
此字段包括验证者304对消息的数字签名。此字段确保消息110的完整性。如果消息的字段发生改变,则“消息认证”字段1212将不再与消息110的其余部分匹配,并且处理将产生错误情况。在这种情况下,不能接受提出的验证。
根据一个实施例,消息“证书”110可以用二进制编码和/或经过压缩以将带宽降到最低。
根据其它实施例,消息“证书”110可包括比在图12中作为示例列出的字段更多或更少的字段。
图9到图12中的消息表示实施例,技术人员可以适合的方式更改这些实施例,或者可使这些实施例适用于特定的应用情况。例如,只要所有三方都知道,消息字段的顺序便可改变。用于进一步优化的另外字段也是可能的。
替代在SIM卡202中生成的响应消息110,存储的预生成的验证消息也可作为响应发送回。使用此消息的意义在于在SIM卡202中复杂度更低的处理或无SIM卡202的安全存储。它将造成的影响是,只能传送预生成的验证消息,并且这些消息无法动态地生成。然而,具体而言,在并不少发生的年龄验证中,动态生成可能是有益的。此外,在这种情况下,系统将相当容易受到上面第7项提及的重放攻击。尤其在经由被认为是不安全的介质(如因特网)传送验证所需的信息时,情况更是如此。
图13A示出根据一个实施例通信终端装置102实现数字验证的方法1300。
在1302中,通信终端装置102接收第一消息108,该消息108至少包括验证请求和第一数字签名及对描述用户的信息的请求。
根据一个实施例,除了请求和数字签名之外,消息108还可包括其它信息,例如在图9中所示的信息。此信息可以包括例如随机数序列904、日期和时间906、验证类型908、验证参数910和与例如根据X.509标准的结构(参见图14)或根据另外预定义的结构的数字签名有关的信息912、914。如以上描述中已经概述的一样,数字签名可包括例如根据哈希函数对消息计算得出的哈希值。
有关用户的个人信息可以是例如准许某人进行诸如年龄验证的特定动作的数据。
根据一个实施例,通信终端装置102可以是移动通信终端装置,如移动无线电终端装置、个人数字助理(PDA)、便携式计算机或具有数字通信能力的另一便携式装置。
根据一个实施例,消息108的接收可通过以下方式执行:经由诸如蓝牙的近距离通信标准的接口210;经由诸如IEEE 802.11、WiMax的无线通信系统的标准;经由诸如IrDA的光数据接口112;或通过诸如条形码阅读器的光扫描器;或经由另一无线标准的接口。例如,在光扫描器的情况下,可从通信装置206的显示器204(参见图2)读入条形码。
在1304中,通信终端装置102检查数字签名,并在成功检查后生成响应消息110,该响应消息110包括验证和对请求中的请求的响应。根据一个实施例,这可由应用124执行,应用124存储在通信终端装置102的数据存储器中,并由通信终端装置102中的处理器执行。
根据一个实施例,通信终端装置102将第二数字签名插入到响应消息110中,其中第二数字签名是对例如响应消息110的字段1202到1210进行计算得出的。
根据一个实施例,通信终端装置102可通过例如提示用户304输入其PIN而另外检查用户304的真实性。然而,也可使用诸如生物征征方法的其它方法进行认证。根据一个实施例,生成验证的过程只在成功确定了用户的真实性的情况下才继续。
此外,根据本方法的一个实施例,可经由通信终端装置102的人机接口交互式地询问用户是否同意生成和传送响应消息110,该响应消息110包括验证和对描述用户的信息的请求的响应。
在移动通信终端装置根据移动无线电标准通信的情况下,应用124也可以存储在SIM卡202上。
在1306中,通信终端装置102将响应消息110发送到例如通信装置106。
图13B示出根据一个实施例通信装置106实现数字验证的方法1310。
在1312中,根据一个实施例,通信装置106生成第一消息108,该消息108至少包括验证请求和第一数字签名及对描述用户的信息的请求。根据一个实施例,除了请求和数字签名之外,消息108还可包括其它信息,例如在图9中所示的信息。此信息可包括随机数序列904、日期和时间906、验证类型908、关于所请求的验证的验证参数910、以及关于例如根据X.509标准的结构(参见图14)或根据另外预定义的结构的数字签名的信息912、914。如以上描述中已经概述的一样,数字签名可以是例如根据哈希函数对消息进行计算得出的哈希值。
个人信息可以是例如准许某人进行诸如年龄验证的特定动作的数据。
在1314中,通信装置106将消息108发送到通信终端装置102。根据一个实施例,通信装置106可以是移动通信装置,如移动无线电终端装置(例如,移动无线电话)218、PDA、便携式计算机,或者也可以是具有数字通信能力的数字音乐播放器或另一便携式电子装置,其中通过例如应用124实现了执行该方法所需的功能。
根据一个实施例,消息108的发送可通过以下方式执行:经由诸如蓝牙的近距离通信标准的接口210;经由诸如IEEE 802.11、WiMax的无线通信系统的标准;经由诸如IrDA的光数据接口112;或经由诸如条形码阅读器的光扫描器;或经由另一无线标准的接口。例如,在光扫描器的情况下,可从通信装置206的显示器204(参见图2)读入条形码。
在1306中,通信装置106接收包括含对请求中的问题的答复的验证(例如,包括第二数字证书)的响应消息110,并检查第二数字证书和/或第二数字签名,使得通信装置可确保它获得对其请求的问题的真实响应。
由于根据实施例的数字验证,与物理身份卡相比,可实现例如以下效果:
-数字验证可在远距离实现而无任何问题。只有这样才能使诸如因特网或视频点播的数字服务的验证成为可能。
-验证易于自动化,并且可在没有人为互操作的情况下进行操作,这在诸如香烟自动售货机或录像租赁自动装置等应用中很重要。
-与常规方法相比,由于随后使用强大的加密,所以数字验证的安全性要高得多。
-通过使用通信终端装置102,数据和诸如加密密钥等安全性相关组件的更新可以便宜的方式远距离实现。因此,可确保数据的安全性(安全性上下文的频繁更改)和及时性,而无需生成新验证,也无需撤消旧验证。
-由于要在应用124处执行验证者304的认证,所以更难以将验证分配给其它人,并且防止了第三方的非法使用。
-在一个实施例中,为所有验证执行共同认证,使得验证者304不用再记住许多不同的密码和PIN。
-第三者无法看到验证所需的数据。验证只包括要验证的信息,除此之外无其它信息。例如,这可以是匿名年龄验证,而不会有任何问题。
-数字验证不受任何磨损的影响。它们可更容易地传送到其它装置。
-通过使用通信终端装置102作为验证的载体,在客户数据系统与验证者304之间的数字数据传输得以自动实现,并且不产生另外的成本。也可能不但存储一个客户号码,而且还立即存储加密客户密钥,该密钥可用于使双方之间的通信实现加密。
-数字验证也可包括生物特征数据,例如象常规身份卡或客户卡那样包括订户的图像或照片。因此,机器可读生物特征数据(面部图案、指纹)也是可能的。这些增加了安全性级别,并且也可在全自动化应用中使用。
-数字验证的生成不使用材料。
此外,应提及用于实现数字验证的方法的效果:
-可通过使用已证明是日常生活中验证者304的永久性伴随品的中央装置来实现所有验证。
-由于使用非对称加密术,所以所有参与实体(请求实体306、移动无线电订户304、应用124和数据提供商)都可使用数字证书来相互认证,而无需在实体之间执行永久性或极频繁的通信。只要在初始时间点分发公钥。通过定期更改密钥,可增大安全性级别,并且例如在会计时间段截止后排除各个实体。
-验证者304对他或她要验证自己并因此透露的信息有最终控制权。
-可生成动态验证。因此,订户可在例如他满18岁生日后立即验证他的当前年龄,而无需更改任何证书,也不会泄露他的生日。
-通过插入或组合随机数序列(例如,在询问-响应方法中),提供了防止重放攻击的强有力的实现。
-通过插入或绑定日期和/或时间,避免了通过更改内部时钟的操控,并且不需要只能通过详尽的通信实现的可信系统时间。
-通过使用可选的错误消息,可通知所有参与者有关验证失败的原因。
下文将描述三个示例。
在香烟自动售货机上购买香烟过程中的匿名年龄验证
前提条件:
香烟自动售货机制造商参与经由移动无线电装置的验证程序,该程序由全国移动无线电网络运营商或提供商联盟提供。
移动无线电网络运营商或提供商的公钥存储在制造商的自动装置中。
此外,制造商为其自动装置提供用于与移动无线电终端装置进行无线通信的蓝牙接口和内部时钟。
一名17岁的移动无线电订户304使用上述公司的自动装置购买香烟。根据德国法律,只允许至少16岁的青少年购买香烟。为此,在收到钱后,自动装置经蓝牙发出年龄验证请求。根据原则造成的到自动装置的空间接近性可导致自动装置放弃对验证实现应用124的认证。在订户确认年龄验证“大于或等于16岁”并输入SIM卡202的PIN之后,SIM卡202中的应用124使用由移动无线电网络运营商或提供商存储的订户的出生日期和当前日期计算订户的当前年龄,并将它与验证中要求的条件进行比较。将与请求一起由自动装置递送的随机数序列、由移动无线电终端装置中包括的内部时钟提供的当前日期和实际验证“订户是16岁或更大”汇编成消息110,通过使用位于SIM卡202中的秘密密钥对其进行数字签名,并将其发送回自动装置。自动装置使用存储在自动装置中的这一个或多个移动无线电网络运营商或提供商的公钥检查响应消息110的数字签名;如果接收到的随机数序列对应于之前发送的随机数序列,并且如果接收到的日期和/或时间在预设容限内对应于由自动装置的内部时钟提供的日期和/或时间,则在消息110经论证没有改变的情况下,交付所需的香烟。
因特网少女论坛
前提条件:
适合年龄在12岁到15岁之间少女的因特网中的通信平台的提供商参与经由移动无线电终端装置218的验证程序,该程序由全国移动无线电网络运营商或提供商联盟提供。
全国移动无线电网络运营商或提供商的公钥存储在全国移动无线电网络运营商或提供商的系统中。
由全国移动无线电网络运营商或提供商为平台提供商生成的密钥以数字方式递送到平台提供商,并且也存储在系统中。
一名13岁的女性移动无线电订户304尝试访问该提供商的平台。在门户网站上申请期间,提示订户304提供有关年龄和性别的验证。有多种方法可供选择。
女性订户304选择使用其移动无线电终端装置212中包括的相机读入二维码(二维条形码)的选项。在其移动无线电终端装置212中包括的应用124中由应用124将该代码解码,并将如此解码的数据转发到设置在SIM卡202上的应用124。由于根据原则造成的到平台提供商的空间距离,提供商的名称和当前日期及时间905也包括在请求108中。整个消息108通过平台提供商的秘密密钥进行数字签名。在女性订户304确认验证“女性且年龄大于或等于12岁并且小于16岁”之后,检查平台提供商的数字签名914。在检查完签名914之后,要求女性订户304通过输入SIM卡202的PIN来认证她自己。使用存储在移动无线电网络运营商或提供商的SIM卡202上的该女性订户304的出生日期和由内部时钟提供的当前日期,计算女性订户304的当前年龄,并将它与验证中要求的条件进行比较。此外,使用应用124,将存储在移动无线电提供商的SIM卡202上的女性订户304的性别与验证中要求的条件进行比较。将与请求一起从提供商递送的随机数序列904、由移动无线电终端装置218的内部时钟提供的当前日期及实际验证“订户是女性且年龄在12岁到15岁之间”一起汇编成一条消息110,通过位于SIM卡202中的移动无线电网络运营商或提供商的秘密密钥对其进行数字签名,并且显示在移动无线电终端装置218的显示器204上。在经键盘206输入消息(经蓝牙传送数据也是可能的)之后,平台提供商使用存储在系统中的移动无线电网络运营商或提供商的公钥检查响应消息110的数字签名1212;并且如果随机数序列1204对应于之前发送的随机数序列904,并且如果日期1206和/或时间在预设容限内对应于由系统的内部时钟提供的日期和/或时间(适用时,提供到UTC(协调世界时)的转换),则在消息110经论证未更改的情况下,允许匿名访问门户。在备选实施例中,对于日期和/或时间已与请求一起发送的情况,可规定将该日期和/或时间与内部时钟进行比较,并且仅在它们在预定限度内匹配时才继续处理。匹配可在证书传输后执行(如果也传送有日期和/或时间),然而,这样将可能通过多个请求接近出生日期。
数字录像店卡
前提条件:
录像店提供商参与经由移动无线电终端装置218的验证程序,该程序由全国移动无线电网络运营商或提供商联盟提供。
全国移动无线电网络运营商或提供商的公钥存储在全国移动无线电网络运营商或提供商的系统中。
此外,制造商为其录像店系统提供用于与移动无线电终端装置218进行无线通信的蓝牙接口210和内部时钟。
一名17岁的移动无线电订户304注册使用录像店。为此,他提供其个人身份卡以便验证存储在客户数据库中的数据,如姓名、地址和出生日期。他参与“电子录像店卡”的活动。因此,在注册期间,生成包括订户304的客户号码的数字证书,并将其存储在SIM卡202上用于进行数字验证的应用124中。这可经由移动无线电网络运营商或提供商执行,或者在认证了与用于数字验证的应用124直接通信的录像店之后执行。根据德国法律,只有年满18岁的成年人才可允许进入录像店的成人区域。如果订户304想要租借电影,则录像店的收银系统经蓝牙发出客户请求108。请求108同样包括随机数序列904。由于根据原则造成的到收银系统的空间接近性,放弃录像店对验证实现应用124的认证。随后是订户304确认客户验证,并输入SIM卡202的PIN。将与请求一起从系统递送的随机数序列904和存储的客户号码汇编在一起,通过位于SIM卡202中的移动无线电网络运营商或提供商的秘密密钥进行数字签名,并将其发送回系统。系统使用存储的移动无线电网络运营商或提供商的公钥检查响应消息110的数字签名1212,并且如果随机数序列1204对应于之前发送的随机数序列904,则在消息110经论证未更改的情况下,检索客户的数据记录。对进入成人区域的年龄验证也可以此方式实现。另外,录像店提供租赁自动装置,这些装置也可在正常的营业时间以外的时间使用。如此示例中所述,无需人员参与便可执行客户的认证。电影的提供将在客户数据记录中包括的客户的年龄考虑在内,并将在自动装置上租借的电影记录和存储在客户数据记录中。
图14示出ITU-T X.509证书的示范结构。
图15示出与数字签名有关的图。一方面,在接收器1526侧,使用哈希函数1520,以非加密方式从原始信息1502计算哈希值1522。另一方面,在发送者1524侧,使用哈希函数1504,从原始信息1502计算哈希值1406,然而,在1508中使用秘密密钥1516将哈希值1406加密。这生成数字签名1510,在1512中在接收器侧使用公钥1518将该签名1510再次解密。将由此生成的解密的数字签名1514与未加密的哈希值1522进行比较。
在数字个人身份卡或护照中可明白各种实施例的另一应用领域,其中实现了如上所述的验证实现功能。
虽然参照特定实施例特别示出和描述了本发明,但本领域的技术人员应理解,在不脱离如随附权利要求定义的本发明的精神和范围的情况下,可在形式和细节上进行各种更改。因此,本发明的范围由随附权利要求指示,并且在权利要求等效物的意义和范围内的所有更改因此要涵盖在内。