用于提供密码签署的命令的方法

文档序号:5830241阅读:263来源:国知局
专利名称:用于提供密码签署的命令的方法
技术领域
本发明涉及信息技术,尤其是在移动导航领域。
背景技术
对移动导航装置的日益增加的需求强加了若干约束条件,所述约束条件涉及(例如) 管理导航内容(导航项目,例如路线选择信息、交通信息、地图信息等)、向导航装置 提供(例如)用户专用导航内容、操作导航装置或管理安装(例如)在导航装置上的可 执行程序。
然而,导航装置日益增加的复杂性和对信息的增加的需求牵涉到与核实特定计算机 命令是否已经由信任的实体提供相关联的问题。

发明内容
本发明的目标是来提供具有减小的额外开销的可密码核实的命令,例如计算机命令。
通过独立权利要求项的特征来实现此目标。
本发明是基于发现在(例如,可执行)计算机命令包括命令名称和一个或一个以上 命令自变量(例如,命令自变量列表)的情况下,那么可在(例如)自动签署命令名称 且使用(经签署的)命令名称和其密码签名作为额外自变量来构成可核实计算机命令时, 获得具有减小的额外开销的可密码核实的计算机命令。
一实施例提供一种用于提供密码签署的命令的方法,所述命令包括命令名称和至少 一个命令自变量。所述方法包括产生命令名称的密码签名;以及使用命令名称、签名 和至少一个命令自变量来构成密码签署的命令。
根据另一实施例,所述方法包括包括连结命令名称、命令名称的密码签名和至少一 个命令自变量,以构成密码签署的命令。
根据另一实施例,所述方法包括基于不对称密码算法(具体来说,RSA (Rivest-Shamir-Adleman)算法)或基于数字签名算法而产生命令名称的密码签名。
根据另一实施例,命令名称指示确定到达由至少一个命令自变量确定的目的地的导
航路线,且/或指示提供由至少一个命令自变量所指示的地址数据确定的导航地图,或使 用至少一个命令自变量来执行计算机程序。
另一实施例提供一种基于密码签署的命令而提供密码核实的命令的方法,所述密码 签署的命令包括命令名称、命令名称的密码签名和至少一个命令自变量。所述方法所述 方法包括对密码签名进行解密,以获得第一密码值;处理命令名称以获得第二密码值; 将第一密码值与第二密码值进行比较以获得比较结果;以及依据所述比较结果而提供或 执行命令名称和至少一个命令自变量作为密码核实的命令。
根据另一实施例,第一密码值包括密码签名的散列值,且第二密码值包括命令名称 的散列值。
根据另一实施例,所述方法包括如果第一和第二密码值相等,那么提供或执行密码 核实的命令。举例来说,所述方法进一步包括比较所述散列值。
另一实施例提供用于提供密码签署的命令的装置,所述命令包括命令名称和至少一 个命令自变量。所述装置包括产生器,其用于产生命令名称的密码签名;以及构成器, 其用于使用命令名称、签名和至少一个命令自变量来构成(例如,连结)密码签署的命 令。
优选的是,所述装置(或其元件)经配置以执行上述方法步骤,以便提供密码签署 的命令。
另一实施例提供一种用于基于密码签署的命令而提供密码核实的命令的装置,所述 密码签署的命令包括命令名称、命令名称的密码签名和至少一个命令自变量。所述装置 包括解密器,其用于对密码签名进行解密以获得第一密码值;处理器,其用于处理命 令名称以获得第二密码值;比较器,其用于比较第一与第二密码值以获得比较结果;以 及提供器,其用于依据所述比较结果而提供或执行命令名称和至少一个命令自变量作为 密码核实的命令。优选的是,所述装置(或其元件)经配置以执行上述方法步骤,以便 提供密码核实的命令。
根据另一方面,可通过编程来设置的实体可通过传输或请求传输用于将另一可通过 编程来设置的实体控制到不存在的网络地址(即控制到虚设网络地址)的特定命令来控 制另一实体。所述传输或对传输的请求可能被额外的可通过编程来设置的(例如,控制) 实体拦截,所述实体向另一可通过编程来设置的实体提供特定命令。因此,所述命令间 接被分发,这减小了额外复杂性。在这点上,术语"可通过编程来设置的实体"可指代 可通过编程来设置的构件,或指代能够在计算机上运行的计算机程序。
一实施例提供一种通信装置,其具有可通过编程来设置的第一构件、可通过编程来
设置的第二构件和可通过编程来设置的第三构件。所述可通过编程来设置的第一构件可 经配置以请求所述可通过编程来设置的第二构件将特定命令传输到不存在的网络地址, 例如虚设地址。所述可通过编程来设置的第二构件可经配置以将对传输特定命令的请求 通知所述可通过编程来设置的第三构件。响应于指示所述请求的信息,所述可通过编程 来设置的第三构件可执行所述特定命令。因此,所述可通过编程来设置的第一构件可间 接控制所述可通过编程来设置的第三构件,即使可通过编程来设置的第一构件不能直接 与可通过编程来设置的第三构件交互。
根据另一实施例,可通过编程来设置的第二构件可执行提供虚拟机的第二计算机程 序,所述虚拟机为另一程序提供(例如)主机或环境。因此,可通过编程来设置的第一 构件可在虚拟机上执行第一计算机程序。因此,第一计算机程序在由第二计算机程序提 供的虚拟机上运行,使得第二计算机程序可监督第一计算机程序,且(例如)俘获所述 请求。
根据另一实施例,所述第一计算机程序包括不可执行脚本。此外,第二计算机程序 可在执行时提供网络浏览功能性,例如网页浏览器。另外,第三计算机程序可在执行时 提供用户应用程序,例如用户环境(例如,主应用程序)。
另一实施例提供一种通信装置,其经配置以执行第一计算机程序、第二计算机程序 和第三计算机程序,所述第一计算机程序请求所述第二计算机程序将特定命令传输到不 存在的网络地址,所述第二计算机程序将对传输所述特定命令的请求通知所述第三计算 机程序,所述第三计算机程序响应于指示所述请求的信息而执行所述特定命令。因此, 当执行时,所述第一计算机程序可间接控制第三计算机程序,即使(例如)第一计算机 程序不包括用于直接与第三计算机程序交互的可执行例行程序。
根据另一实施例,第二计算机程序可在执行时提供虚拟机,其中第一计算机程序可 在由第二计算机程序提供的虚拟机上运行。因此,当(例如)在e计算机上执行时,第 一计算机程序依靠虚拟机来提供环境,所述环境使得能监督第一计算机程序,并俘获所 述请求,且间接地俘获所述特定命令。
根据另一实施例,第一计算机程序可提供不可执行脚本,第二计算机程序可提供网
络浏览功能性,例如网页浏览器,且第三计算机程序可提供用户应用程序,例如用户环 境。
举例来说,特定命令指示(例如)通过第三计算机程序经由通信网络建立到远程网 络实体的网络连接。
另一实施例提供一种通信方法,其包括通过第二计算机程序请求第一计算机程序
将特定命令传输到不存在的网络地址;向第三计算机程序提供指示所述请求的信息;以 及响应于指示对传输特定命令的请求的信息,由第三计算机程序来执行所述特定命令。
另一实施例提供一种计算机程序,其包括第一计算机程序、第二计算机程序和第三 计算机程序,第一计算机程序当在计算机上运行时,请求第二计算机程序将特定命令传 输到不存在的网络地址,第二计算机程序当在计算机上运行时,将对传输特定命令的请 求通知第三计算机程序,第三计算机程序当在计算机上运行时,响应于关于所述请求的 信息而执行所述特定命令。
根据另一方面,由多种程序或可通过编程来设置的实体提供的标准统一资源识别符 字段(URI)可形成用于(例如)与计算机程序或与可通过编程来设置的实体间接交互 的接口。因此,已经存在的资源得到有效开发。
一实施例提供一种处理装置,其用于在表示统一资源识别符的字符串中检测特定计 算机命令,所述特定命令包括预定义的命令标头,所述命令标头的后面是命令名称,其 来自多个预定义的命令名称。所述处理装置包括确定器,其用于确定所述字符串是否包 括预定义的命令标头,其中如果所述字符串包括预定义的命令标头,那么所述确定器可 进一步确定命令标头后面的子字符串是否包括命令名称。所述处理装置进一步包括提供 器,如果命令标头包括命令名称作为特定计算机命令,那么所述提供器提供预定义的命 令标头和命令名称。包括预定义的命令标头和在所述命令标头后面的命令名称的命令结 构允许URI中的特定命令的低复杂性识别。
根据另一实施例,如果所述命令标头后面的所述子字符串包括命令名称,那么所述 确定器可确定命令名称后面的另一子字符串是否包括至少一个命令自变量。此外,所述 确定器可确定所述至少一个命令自变量是否对应于特定命令的预定参数。如果所述至少 一个命令自变量对应于预定参数,那么所述提供器可提供预定义的命令标头、命令名称 和至少一个命令自变量作为特定计算机命令。因此,所述特定计算机命令是在URI中的
检测到的命令部分的基础上构成,且可(例如)由(例如)处理器执行。
根据另一实施例,处理装置可包括(例如)可通过编程来设置的处理器,其用于执 行特定命令。
另一实施例提供一种用于在表示统一资源识别符的字符串中检测特定计算机命令 的方法,所述特定命令包括预定义的命令标头,所述命令标头的后面是命令名称,其来 自多个预定义的命令名称。所述方法包括确定所述字符串是否包括预定义的命令标头; 如果所述字符串包括预定义的名称标头,那么确定命令标头后面的子字符串是否包括命 令名称;以及如果命令标头包括命令名称作为特定计算机命令,那么提供预定义的命令标头和命令名称。
根据另一实施例,命令名称的后面是一个或一个以上命令自变量,且所述方法包括 如果命令标头后面的子字符串包括命令名称,那么确定命令名称后面的另一子字符串是 否包括至少一个命令自变量;以及如果命令名称后面的另一子字符串包括至少一个命令 自变量,那么提供预定义的命令标头、命令名称和至少一个命令自变量作为特定计算机 命令。
根据另一实施例,所述方法包括如果命令标头后面的子字符串包括命令名称,那 么确定命令名称后面的另一子字符串是否包括至少一个命令自变量;确定所述至少一个 命令自变量是否对应于特定命令的预定参数;以及如果所述至少一个命令自变量对应于 特定参数,那么提供预定义的命令标头、命令名称和至少一个命令自变量作为特定计算 机命令。
根据另一实施例,预定参数使命令名称与另一命令自变量分离,且所述方法进一步 包括提供预定义的命令标头、命令名称和至少一个命令自变量以及所述另一命令自变量 作为特定计算机命令。
根据另一实施例,特定命令指示经由通信网络建立到远程网络实体的网络连接,以 用于获得用户专用信息。
根据另一实施例,所述方法包括可编程地执行特定计算机程序。
根据另一方面,可使用另一程序来仿真导航装置的行为,如果所述另一程序仿真安 装在导航装置上的装置固件。因此,所述另一程序可安装为(例如)另一装置上的嵌入 式仿真器,且经执行以用于仿真导航装置。然而,在仿真导航装置之前,必须确保所述 另一程序对应于所述装置固件,例如所述另一程序的源代码对应于装置固件的源代码的 源代码。因此,用户可使用仿真程序与导航装置一起工作,即使导航装置被关闭了。
实施例提供一种通信装置,其用于响应于执行安装在导航装置上的装置固件程序而 仿真导航装置的行为。优选的是,所述通信装置包括提供器,用于提供与装置固件程 序有关的信息;确定器,用于确定安装在通信装置上的当前固件程序是否对应于安装在 导航装置上的装置固件程序;以及处理器,用于在当前固件程序对应于装置固件的情况 下,执行通信装置上的当前固件程序,以便仿真导航装置的行为。
根据另一实施例,所述处理器可经由通信网络建立到远程网络实体的网络连接,以 在当前固件程序不对应于装置固件程序的情况下,获得当前固件程序的经更新版本。此 外,所述处理器可执行当前固件程序的经更新版本,以仿真导航装置的行为。
根据另一实施例,所述提供器可连接到导航装置,以用于检索指示装置固件程序的
根据另一实施例,所述确定器可确定基于包括指示装置固件程序的信息的内容文件 的表,或基于包括指示当前固件程序的信息的内容文件的表,来确定安装在通信装置上 的当前固件程序是否对应于装置固件。
根据另一实施例,所述处理器可基于对导航装置的行为的仿真而控制所述导航装置。
另一实施例提供一种用于响应于执行安装在导航装置上的装置固件程序而仿真导 航装置的行为的方法。所述方法包括提供与来自导航装置的装置固件程序有关的信息; 确定当前固件程序是否对应于安装在导航装置上的装置固件;以及如果当前固件程序对 应于装置固件,那么在通信装置上执行当前固件程序,以便仿真导航装置的行为。
根据另一实施例,所述方法包括包括经由通信网络建立到远程网络实体的网络连 接,以在当前固件程序不对应于装置固件程序的情况下获得当前固件程序的经更新版 本;以及执行当前固件程序的经更新版本,以仿真导航装置的行为。
根据另一实施例提供,所述方法包括连接到导航装置,以检索指示装置固件程序的 信息。
根据另一实施例,所述方法包括基于包括指示装置固件程序的信息的内容文件的表 或基于包括指示当前固件程序的信息的内容文件的表,来确定当前固件程序是否对应于 装置固件程序。
另一实施例提供可通过编程来设置的通信装置,其用于响应于执行安装在导航装置 上的装置固件程序而仿真导航装置的行为。所述可通过编程来设置的通信装置可执行第 一计算机程序,以提供与装置固件程序有关的信息;执行第二计算机程序,以用于确定 可用于可通过编程来设置的通信装置的当前固件程序是否对应于安装在导航装置上的 装置固件程序;且在通信装置上执行当前固件程序,以便在当前固件程序对应于装置固 件程序的情况下,仿真导航装置的行为。
优选的是,所述可通过编程设置的通信装置经配置以执行上述方法的步骤。 根据另一方面,可在响应于向远程服务器提供的对特定信息的请求时及时提供特定 信息,而不是传输特定信息,提供时间信息,所述时间信息指示再次连接到远程服务器 以获得特定信息的时刻。因此,避免了与由(例如)用户管理或评估过时信息相关联的 问题。
一实施例提供用于从另一网络实体(例如,网络服务器)向网络实体(例如,通信 装置)提供特定信息的方法。所述方法包括经由通信网络将对特定信息的请求从网络实
体传输到另一网络实体,以及经由所述通信网络将时间信息从所述另一网络实体传输到 所述网络实体,所述时间信息指示连接到所述另一网络实体以用于获得所述特定信息的 特定时刻。
根据另一实施例,所述方法包括在特定时刻,在网络实体与另一网络实体之间建 立网络连接;以及经由通信网络将特定信息从所述另一网络实体传输到所述网络实体。
根据另一实施例,所述方法包括在特定时刻,在网络实体与另一网络实体之间建 立连接;经由通信网络将特定信息从所述另一网络实体传输到所述网络实体;以及通过 所述网络实体来显示所述特定信息。
根据另一实施例,所述方法包括通过所述网络实体来接收对所述特定信息的请求。 根据另一实施例,所述特定信息包括与用户专用导航路线有关的交通信息。 根据另一实施例,所述方法包括将所述请求存储在所述另一网络实体中。 另一实施例提供一种网络实体,其用于经由通信网络从另一网络实体获得特定信 息。所述网路实体可经由通信网络将对所述特定信息的请求传输到所述另一网络实体, 且经由所述通信网络从所述另一网络实体接收时间信息,所述时间信息指示连接到所述 另一网络实体以获得所述特定信息的特定时刻。
根据另一实施例,所述网络实体根据可在所述特定时刻连接到所述另一网络实体以 获得所述特定信息。
另一实施例提供一种网络实体,其用于响应于对可由另一通信实体经由通信网络而 传输的特定信息的请求而经由所述通信网络向所述另一网络实体提供所述特定信息,所 述网络实体经配置以经由所述通信网络来传输时间信息,所述时刻指示连接到所述网络 实体以获得所述特定信息的时刻。
根据另一实施例,所述网络实体可在另一网络实体已建立到所述网络实体的网络连 接的情况下,在特定时刻向所述另一网络实体传输特定信息。
根据另一方面,可在可经由通信网络接入的远程服务器上有效地管理导航内容(其 可为用户专用的)。优选的是,所述远程服务器依据(例如)当前安装在导航装置上的 导航内容、用户或装置权限或其它参数来提供导航内容。因此,可在远程服务器处定制 经更新的导航内容,这减小了导航装置或管理导航装置的计算机程序的复杂性。
一实施例提供--种通信装置,其用于更新存储在导航装置中的当前导航内容。所述 通信装置包括检索元件,其用于从导航装置检索指示当前导航内容的信息;传输器, 其用于经由通信网络向远程网络装置传输指示当前导航内容的信息;接收器,其用于从 远程通信装置接收经更新的导航内容;以及处理器,其用于显示与经更新的导航内容有
关的信息,或用于将经更新的导航内容安装在导航装置上。
根据另一实施例,检索元件可从导航装置检索指示装置识别或用户识别的信息,其 中传输器可向远程通信装置传输用户识别的装置。
根据另一实施例,传输器可传输指示当前导航内容的信息,以作为元数据或作为内 容文件的表。
根据另一实施例,检索元件可连接到导航装置,以用于从导航装置获得当前导航内 容。举例来说,检索元件或通信装置可无线连接到导航装置。根据另一实施例,导航装 置或通信装置可经由电线连接到检索元件,使得检索元件可起始到导航装置的有线连接 (或反之亦然)。
另一实施例提供一种用于更新存储在导航装置中的当前导航内容的方法。优选的 是,所述方法包括从导航装置检索指示当前导航内容的信息;经由通信网络向远程网 络装置传输指示当前导航内容的信息;从远程通信装置接收经更新的导航内容;以及显 示与经更新的导航内容有关的信息,或将经更新的导航内容安装在导航装置上。
根据另一实施例,所述方法包括从导航装置检索指示装置识别或用户识别的信息, 或向远程通信装置传输用户识别的装置。
根据另一实施例,所述方法包括传输指示当前导航内容的信息,以作为元数据或作 为内容文件的表。
根据另一实施例,所述方法包括核实与导航装置相关联的用户的权限,或核实用于 获得特定经更新导航内容的导航装置的权限。
根据另一实施例,所述导航内容或经更新的导航内容包括指示路线选择信息或经更 新的固件或地图信息的信息。
根据另一实施例,指示经更新的导航内容的信息包括指示特定导航内容比另一导航 内容具有较高优先权的优先权信息。
另一实施例提供一种计算机程序,其用于当所述计算机程序在计算机上运行时执行 发明性方法中的至少一者。


将相对于下图来描述本发明的其它实施例,其中 图1展示通信装置的框图; 图2展示处理装置的框图; 图3展示通信装置的框图4说明用于提供特定信息的方法;
图5说明用于提供密码签署的命令的方法;
图6展示用于更新导航内容的通信装置的框图;以及
图7展示通信情境的框图。
具体实施例方式
图1展示通信装置的框图,所述通信装置包括可通过编程来设置的第一构件101、 连接到可通过编程来设置的第一构件101的可通过编程来设置的第二构件103、以及连 接到可通过编程来设置的第一构件105的可通过编程来设置的第三构件105。
可通过编程来设置的第一构件101请求可通过编程来设置的第二构件将特定命令传 输到不存在的网络地址,即传输到不存在的HTTP地址。响应于此,可通过编程来设置 的第二构件103将传输所述特定命令的请求通知可通过编程来设置的第三构件105。响 应于指示所述请求的信息,可通过编程来设置的第三构件105响应于指示所述请求的信 息而执行特定命令。
可通过编程来设置的第一构件101可(例如)在可由可通过编程来设置的第二构件 103执行的第二计算机程序(例如,网页浏览器)所提供的环境内执行包括不可执行脚 本(例如,Java脚本)的第一程序。
可通过编程来设置的第三构件103优选执行第三计算机程序,例如用户应用程序(主 应用程序),其接收命令,因为第一计算机程序要求其在其中运行的环境(网页浏览器, 且连带地,用户应用程序)代表第一计算机程序发送命令。提供所述网页浏览器(第二 计算机程序),因为Java脚本存在于网页上,且不能直接与第三计算机程序通信。
举例来说,可使用上述概念来管理导航内容,例如路线选择信息或路线选择地图。 举例来说,第一计算机程序可起始(例如)远程服务器(包括例如活动页)与第三计算 机程序(提供主客户端应用程序)之间的通信。举例来说,主应用程序(或远程服务器) 含有在线(网店)商店,其出售语音、地图等。优选使用集成的网页浏览器来实施此网 店。主应用程序指令嵌入式浏览器下载表示所述商店的网页。此外,网店页面可含有Java 脚本,因此下载的页面可使用(例如)所谓的AJAX技术与远程服务器通信。然而,在 某一点处,页面上的Java脚本必须向主应用程序客户端给出特定命令。在用户已经在网 店中购买了语音之后,示实例性命令为"下载此语音"。虽然Java脚本可实施信用卡处 理,但其不能实际下载和安装到(例如)导航装置,因此其发送命令或请求发送所述命 令。
通过首先制作特殊请求(例如在JavaScript中,在商店中的网页上)且接着将请求 发送到不存在的地址(例如http:/m.ds),将命令发送到希望应用程序客户端。(例如,嵌 入式)网页浏览器将所述请求通知其主机、主客户端应用程序。主客户端知道不存在例 如http:/Zttds的地址,所以主客户端(例如)提取所述命令并执行所述命令。为了加速进 一步的处理,接着可取消对http://ttds的虚设请求。
举例来说,除下载(例如)导航内容(如地图和语音)之外,还可指令主客户端(由 第三计算机程序提供)打开更多的网页(例如,第二商店页面)或关闭它们、展示弹出 消息、切换到主应用程序内的特定窗口 (例如,安装到装置面板,其在下载了语音之后 有用)、检查新的主应用程序版本、检査对装置固件的更新、检查对导航内容的更新、 检查对仿真导航装置的仿真器的更新或要求并发送用户证书。
图2展示处理装置的框图,所述处理装置用于在表示统一资源识别符(URI)的字 符串中检测特定的计算机命令。所述特定命令可包括预定义的命令标头,其后面是来自 多个预定义命令名称的命令名称,且视情况后面是一个或一个以上命令自变量。所述处 理装置包括确定器201,其用于确定所述字符串是否包括预定义的命令标头,如果所 述字符串包括预定义的标头,那么所述确定器进一步经配置以确定命令标头后面的子字 符串是否包括命令名称;以及提供器203,其连接到确定器201,如果命令标头包括命 令名称作为特定的计算机命令,那么提供器203提供预定义的命令标头和命令名称。
例如,还可使用(可执行的)计算机程序来实施图2中描绘的概念。此外,与URI 有关的描述内容还适用于URL (统一资源识别符)。
关于URI,还可将同一 URI用作网页上或电子邮件中的超链接的"目标"。在这种 情况下,可通过(例如)在此超链接上点击来激活URI。进一步可能的是使用来自嵌入 在网页上的Java脚本程序的URI。然而,本地安装在(例如)计算机上的其它程序也可 使用此URI。举例来说,电子邮件地址簿插件可使用此URI将来自电子邮件程序的地址 发送到安装在(例如)PC上的主应用程序。
举例来说,主应用程序(例如,管理导航内容)提供其自身的UI。然而,可将其它 内容用于存储在主应用程序外部的导航目的。举例来说,电子邮件程序含有地址簿,其 和万维网一样包括多个地址。如果主客户端可利用那些地址,那么这将是有用的。其它 方可能(例如)对以允许由可实施定制<标头>:〃/ URI方案(其允许此接入)的主应用 程序进行安装的格式在万维网上提供导航内容感兴趣。
由RFC 3986定义的URI方案定义可在其中实施多个协议的框架。现代操作系统允 许应用程序用给定协议将其自身注册为URI的指定处理程序。(例如)由上文所提及的
thirs计算机程序提供的主应用程序(主客户端)将其自身注册为以<标头>:///开始的URI 的处理程序。
将URI的剩余部分用作主客户端中的命令列表。通过使用此方法,可(例如)将地 址(如,"阿姆斯特丹,林布兰(Rembrandtplein) 35")编码为<标头>:〃/地址?阿姆斯特 丹&林布兰&35。
在这点上,字符"?"和"&"是可选的,且可由其它预定义的字符或字符串代替。
除支持URI的主客户端之外的任何应用程序可在遇到此URI时,要求操作系统(OS) 来解决所述URI。 OS又将通知主客户端用户希望使用"地址?阿姆斯特丹&林布兰&35"。 主客户端接着向用户提供选择列表,所述列表显示应对所述地址做些什么。然而,地址 可用于多个导航任务。
通过使用同一方法,且假定"http:〃shop.〈web address〉/voices/dutch/bram.toc"为荷 兰语音,那么有可能创建以下URI: <header>:〃/lnstall http%3a%2f%2fshop.<web address>%2fvoices%2fdutch%2fbram.toc。如果此URI将出现在网页上,且用户对其点击, 那么网页浏览器可要求OS对其进行转发。OS将要求主客户端采取 lnstall http%3a%2f%2fshop.<web address>%2fvoices%2fdutch%2fbram.toc所暗示的动作, 所述动作在此情况下是从给定地址下载bram.toc (内容的表)
在下文中,将描述命令的格式规范。
参看一般URI格式(其可与RFC 3986相容),命令可具有以下结构-
<标头>:///命令列表
其中
命令列表 =命令['#'命令]+
命令 =命令名称' '自变量列表
命令名称 =(所支持的命令的名称,见下文)
自变量列表 Url编码(自变量)['&'自变量列表]+
自变量 . 二UTF8串
参看传统URL格式,命令可将具有以下结构
<标头>://传统命令列表
其中
传统命令列表 =传统命令['&'传统命令]+
传统命令 =命令名称'('传统自变量列表')'
传统自变量列表 -Url编码(自变量)[','传统自变量列表]+
传统URL不能含有字符"?",而合适的URL总是含有字符"?"。这使区分上述两 者成为可能。应注意,这些URL与RFC不相容。许多URL处理实体将在处理期间改变 它们。具体来说,许多Windows网页浏览器将添加额外的7",试图使URL—致。 一些 网页浏览器根本不支持它们。主应用程序尝试解译具有mal形式的URL,以应付广泛的 具URL功能的应用程序,但使用传统URL格式使所述方法更加复杂。
命令可具有以下结构和自变量
结构电子邮件联系?文件夹ID&条目ID
自变量电子邮件联系ID。
主应用程序将从电子邮件程序检索联系数据,并询问用户应对所述数据做些什么 (展示在地图上、导航到、添加为收藏等)
结构地址?城市&街道&编号 自变量地址数据。
主应用程序将询问用户应对所述地址做些什么(展示在地图上、导航到、添加为收 藏等)。
结构展示在地图上 城市&街道&编号 自变量地址数据
城市或街道中的至少一者必须是非空的。 结构导航到?城市&街道&编号 自变量地址数据。
城市或街道中的至少一者必须是非空的。 结构添加收藏?收藏名称&城市&街道&编号 自变量收藏的名称和地址数据。 城市或街道中的至少一者必须是非空的。
安装?URL
自变量对要下载且在装置连接时安装的项目的TOC描述的HTTP URL。 由URL指示的资源具有MIME类型"文本/xml"
TOC (内容的表)格式可由(例如)文件"TOC格式.xsd"中的XML模式来指定。 以下类型的项目可由用户(例如,第三方)安装POI (关注点)数据组、语音、 色彩方案。
结构执行?URL
自变量含有实际命令列表的文本文件的HTTPURL。
由URL指示的资源具有MIME类型"文本/无格式"。
(例如)如果传递所述命令作为URL的一部分将产生过长的URL,那么可使用此命令。
当在传统命令中使用执行()命令名称时,URL可响应于此而提供传统命令列表。
结构切换标签 标签名称
自变量服务器创建的标签的名称。
主应用程序将切换到此标签(如果存在的话)。如果此标签不存在,那么主应用程 序将记住所述名称,并切换到服务器曾经创建的标签。主应用程序将只记住一个名称;
第二切换标签命令将代替第一切换标签命令。
结构〈用户或主机名称〉页面?标签名称&主机名称&URL路径&锚
自变量新创建的标签的标签名称、主机名称、路径(相对于主机名称)和URL锚。
主应用程序首先检査具有给定标签名称的标签是否存在,否则主应用程序创建一个
标签。此标签的URL接着被设置为http:〃hostname.〈web address>/URL-path#anchor
主应用程序可拒绝具有非字母数字字符的主机名称,这防止了名称注入。举例来说, 可拒绝主机名称"badguys.com/ignore",因为"."禾B "〃'是无效的。
如下文将解决,命令可具备允许核实所述命令的密码签名。举例来说,可使用以下 命令结构
结构 <公开密钥识别符> 命令列表&签名 自变量命令列表和签名。
此命令用于执行只能由用户执行的命令列表。所述签名确认命令列表的真实性
签名=签名<私用密钥>(命令列表)
应注意,任何人都能核实签名(使用公开密钥)。
签名<私用密钥>(命令列表)可如下实施
命令列表为UTF-8串,且因此可表达为字节序列。当用作签名<私用密钥>的输入时, 命令列表不应经URL编码。
参考编码方案,计算此字节序列的SHA-256散列H (256个位)。此外,通过使用 私用密钥(Q,M),计算签名值(QH模M)。将所述签名存储为经64进制编码的小端 (little-endian)字节序列(既不需要也不添加填充符,以保持URL较短)。像所有自变量 一样,命令列表和签名自变量将经URL编码。当在传统命令中使用<公开密钥识别符>() 命令名称时,第一自变量优选应为传统命令列表。
解密是反向过程主应用程序保存公开密钥(P,M)。计算命令列表(在URL编码之 后)的SHA-256散列H (256个位)。使用公开密钥(P, M)来计算会签(pH模M)。所述 签名经64进制解码,以获得(QH模M),其中计算乘积(pH QH)模M。如果所述签名 与会签匹配(这意味着(PH QH)模M等于1),那么接受所述签名。
如果命令自变量不存在,那么上述概念也是可适用。此外,命令名称可包括将语义 指配给自变量的许多参数。举例来说,每一自变量可以两种可能方式与参数匹配,所述 两种可能方式在下文中被称为位置方法和命名方法,这类似于编程语言中的函数调用语 法。
根据位置语法,如果命令名称具有(例如)三个参数,且提供三个自变量,那么第
一参数与第一自变量匹配,等等。举例来说,地址命令具有三个参数城市、街道和门
牌号。实际URI于是将含有三个自变量,其中第一自变量被解译为城市名称,等等。
或者,可支持以下语法
地址?街道=林布兰&城市=阿姆斯特丹。
在此情况下,每一自变量都包含参数名称。因此,这些自变量被称为"命名"自变
此外,上文所提及的参数可被指定为强制性参数。这意味着必须存在匹配自变量。 可使用其它参数代替(例如)"?"来指示命令名称与命令自变量之间的分隔。此外,还 可采用如强制要求固定长度的命令名称(其暗示所述位置后的第一字母开始第一命令自 变量)的其它机制。
一般来说,〈标头x〃/URI可含有一个或一个以上命令。因此,可使用字符"弁"(或 任何其它字符,例如"和")来连结命令。
图3展示用于响应于执行安装在导航装置上的装置固件程序而仿真导航装置的行为 的通信装置的框图。所述通信装置包括提供器301,其用于提供与装置固件程序有关 的信息;连接到提供器301的确定器303,其用于确定安装在通信装置上的当前固件程 序是否对应于安装在导航装置上的装置固件程序;以及连接到确定器303的处理器305, 其用于在当前固件程序对应于装置固件的情况下在通信装置上执行当前固件程序,以便 仿真导航装置的行为。
所述通信装置可以可编程方式来设置,且经配置以执行上文所提及的可控制仿真过 程的主应用程序。
仿真概念进一步支持导航装置的便携性和可用性。通常,(便携式)导航装置具有 (例如)较小的屏幕,所述屏幕还充当导航装置的输入。相反,(例如)(台式)计算机
(例如,PC)具有大得多的屏幕以及更高级的输入方法。因此,如果导航装置由可(例 如)连接到导航装置的计算机控制,那么更容易进行许多可在导航装置上执行的任务。 另外,计算机的处理器(例如,CPU)更快。
此外,所述仿真概念可经可编程地实施,且(例如)嵌入到主应用程序中,以有效 地启用(例如)计算机(代表通信装置的实施例)而使用更有能力的计算机资源来控制 导航装置。
当导航装置连接到主客户端(或连接到通信装置)时,确定安装在导航装置上的固 件版本。如果主客户端具有固件的计算机等效版本,那么启动所述固件。如果没有等效 版本可用,但网络连接(例如,因特网连接)可用,那么主客户端可询问主服务器等效 版本是什么,以及可在哪里下载所述等效版本。
图4说明用于将特定信息从另一网络实体提供到网络实体的方法。所述方法包括 经由通信网络将对特定信息的请求从所述网络实体传输(401)到所述另一网络实体 以及经由所述通信网络将时间信息从所述另一网络实体传输(403)到所述网络实体, 所述时间信息指示连接到所述另一网络实体以获得特定信息的特定时刻。所述方法可 (例如)以软件形式实施(例如,作为主应用程序),所述软件在被执行时执行所述方法 步骤。
举例来说,用户可询问主应用程序,以获得特定道路上的每日交通报告(特定或用 户专用信息)。主应用程序接着将(例如,每日在所请求的时间)展示对所请求的道路 上的交通堵塞和突发事件的报告。当在主客户端中做出交通报告请求时,所述客户端(例 如)立即将所述请求转发给服务器。将请求数据存储在服务器上,以用于给定用户。响 应于所述请求,服务器发送回主客户端应轮询主服务器的时间。而且,每当同一用户再 次登录时,主服务器就将告诉主客户端何时轮询服务器。,服务器发送实际的交通报告 以对轮询报告作出反应。主应用程序(例如)出于显示目的而对所述交通报告进行格式 化。结果是所有数据都存储在服务器侧,但连接仍由客户端起始。这允许主客户端在执 行为计算机上的软件程序时展示交通警告,而不管防火墙或弹出视窗阻挡程序。
为了确定用户信息以便获得(例如)用户专用信息,可开发由用户手动输入的登录 证书。或者,主客户端可能早先已经存储了所述登录证书。总之,如果主客户端具有登 录证书,那么每当由软件程序提供的主客户端被执行时,主客户端就可自动发送所述登 录证书。如果主客户端尚未具有所述证书,那么用户可手动起始登录。在这种情况下, 主客户端将针对证书给予提示,立即将所述证书发送到远程服务器,且还存储所述证书 以供将来使用。
图5说明一种用于提供密码签署的命令的方法,所述命令包括命令名称和至少一个 命令自变量。所述方法包括产生(501)命令名称的密码签名;以及使用命令名称、 签名和至少一个命令自变量来构成(503)(例如,连结)密码签署的命令。
举例来说,可采用结合图2的实施例而描述的加密和解密方案来提供和核实数字签名。
举例来说,已验证的URI可包括具有两个自变量的命令;第一自变量是字符串(其
为命令)。第二自变量是第一自变量的"数字签名"。优选的是,采用标准公开密钥密码 学,以使用提供数字签名的私用密钥来签署第一自变量。举例来说,具有匹配公开密钥 的主客户端可会签第一自变量。如果且只有当所述密钥相等时,签名和会签才是互补的。 如果情况是这样的话。主客户端信任第一命令,且将执行所述第一命令,即使第一自变 量中的命令将被认为是危险的。
还可使用上文的已验证的URI机制来更新导航装置上的固件。优选的是,可允许复 制或更新命令,然而,这是在不改变所述命令的情况下进行的。因此,(例如)用错误 的固件来更新导航装置可能对导航装置导致不可挽回的损害。
根据实施例,接着将经签署的命令用作另一命令(密码签署的命令)中的第一自变
量,其中将签名用作(例如)第二自变量。密码签署的命令的结构可如下
核实一命令(命令名称l(自变量1 ,自变量2,自变量3),签名)
可通过将(例如)私用(机密)密钥应用于应被验证的命令来产生三个签名(第二 自变量到外部命令),艮P:
命令名称1 (自变量1,自变量2,自变量3)+私用_密钥=签名
为了产生会签,可使用类似的算法
命令名称l(自变量1,自变量2,自变量3)+公开—密钥=会签。
如果签名和会签彼此对应,那么所述命令被核实。优选的是,可采用标准公开密钥
密码学方法(例如,RSA或DSA算法)来用于签名目的。 举例来说,考虑到命令
< 标 头 >:///< 公 开 密 钥 识 别 符 > Install%3fhttp%3a%2f%2fintranet%2fplus%2fdocuments%2ftemp%2fnavcore—6,522.7709 .go510-go710.toc&JYrSIQ,
其中<公开密钥识别符>是用于由用户验证的命令的实际命令名称。第一自变量为
Install%3fhttp%3a%2f%2fintranet%2fplus%2fdocuments%2ftemp%2fnavcore—6.522.77 09.go510-go710.toc
这是嵌入式命令。实际命令名称是安装,将"?"编码为呢3f,且剩余部分是安装命 令的自变量。用户用其私用密钥签署安装命令,且得出的签名为JYrSIQ。为了核实所述 命令,可产生会签。如果所述命令被正确地签署,那么会签将匹配。
如果另 一 个用户尝试编辑所述命令,例如 < 标头>:///<公开密钥识别符 > Install%3fhttp%3a%2f%evil.com%2fnavcore_6. 522.7709.go510-go710,toc&JYrSIQ,那 么将计算与签名不匹配的不同会签。因此,将拒绝来自evil.com的内容的安装。
图6展示用于更新存储在导航装置中的当前导航内容的通信装置。所述通信装置包 括检索元件601,其用于检索指示来自导航装置的当前导航内容的信息;连接到所述 检索元件的传输器603,其用于经由通信网络将指示当前导航内容的信息传输到远程网 络装置;接收器605,其用于从远程通信装置接收经更新的导航内容;以及处理器607, 其用于显示与经更新的导航内容有关的信息,或用于将经更新的导航内容安装在导航装 置上。
指示当前或经更新的导航内容的信息可作为指示(例如)内容类型、内容名称、内 容大小或内容版本的内容文件的表而传输。此外,可传输与装置识别或用户识别有关的
{曰息。
远程通信装置(例如,服务器)可包括存储(例如)可用导航项目(例如,地图、 路线选择信息、GPS定位等)的列表的数据库。此外,在传输经更新的内容之前,远程 服务器可检查用户的权限(归因于(例如)预订状态)或导航装置的权限(归因于(例 如)装置识别)。
如上文所提及,可在TOC文件(内容表)中汇总内容信息。下文列出示范性TOC 文件
<程序>
<Id>13214</Id> <版本>1.2< /版本> <目标>目标</目标> <名称>项目名称</名称>
〈予页览〉http:〃 download.<download—addressWsomepreview.exe </预览>
〈位置〉http:〃 http:〃download.<web address>/someitem.cab </位置>
<大小>546484</大小>
</程序>
<地图>
<Id>8977</Id>
<版本>1.2</版本>
<目标>此目标</目标>
<名称>比荷卢三国</名称><类别>类别</类别>
〈予页览〉http:〃 download.<download—address>/mappreview.png </预览> 〈位置〉http:〃download. <download—address>/mapdownload.cab </位置> 〈图标〉http:〃download. <download—address>/mapicon.png </图标> <大小>46464987</大小> <安装限制装置Id="35265252"/> </地图>
<语音语言="英语"性别="男性"> <Id>4657</Id> <版本>1.1</版本> <名称>用户—名称</名称>
〈予页览〉http:〃download. <download—address〉/voicepreview.mp3〈/予页览〉 〈位置〉http:〃download. <download—address>/voicedownload.cab </位置> <大小>46879794623]<7大小>
<图片〉http:〃〈download—address〉/voicepicture.png〈/图片>
〈图标〉http:〃 <download—address〉/voiceicon.png〈/图标〉
< /语音>
<色彩方案>
<Id>98797</Id>
<版本〉1.1</版本>
<名称>亮黑色</名称>
〈位置〉http:〃download. <download—address〉/colordownload.cab </位置> <大小>6464</大小>
</色彩方案> <Poi>
<Id>65446</Id>
<版本>1.3</版本>
<名称>Wifi热点</名称>
<类别>连接性</类别>
〈位置〉http:〃download. 〈download—address〉/poidownload.cab </位置>
<大小>54567</大小>
</Poi>
</Toc>
字段<安装限制装置Id^'35265252"/>指定对此项目(除<目标〉元素之外)的可安 装性的限制。所述字段不具有内容。可选属性为装置Id (串),其表示所述项目只能 安装在具有此装置ID的装置上;以及最小导航器版本(串),其表示针对此待安装的项 目必须安装的导航器程序的最小版本。
图7展示具有(例如)在计算机上运行的可执行应用程序701 (甜点应用程序,主 应用程序)的通信情境的框图,所述计算机经由通信网络703与远程服务器705通信以 互换信息,如图7中所描绘。服务器707可提供在气球消息707或在(例如)由应用程 序701提供的浏览器组件中显露的消息。
上文所描述的实施例中的元件和特征的特定组合只是示范性的;在此申请案和以引 用的方式并入本文中的专利/申请案中还明确涵盖这些教示与其它教示的互换和代替。如 所属领域的技术人员将认识到,在不脱离所主张的本发明的精神和范围的情况下,所属 领域的技术人员可对本文所描述的内容进行改变、修改以及使用其它实施方案。因此, 前面的描述内容只是作为实例,且无意作为限制。在所附权利要求书及其均等物中界定 本发明的范围。此外,描述内容和权利要求书中所使用的参考标记并不限制所主张的本 发明的范围。
权利要求
1. 一种用于提供密码签署的命令的方法,所述命令包括命令名称和至少一个命令自变量,所述方法包括产生(501)所述命令名称的密码签名;以及使用所述命令名称、所述签名和所述至少一个命令自变量来构成(503)所述密码签署的命令。
2. 根据权利要求1所述的方法,其包括连结所述命令名称、所述命令名称的所述密码签名和所述至少一个命令自变量,以构成(503)所述密码签署的命令。
3. 根据权利要求1或2所述的方法,其包括基于不对称密码算法,具体来说,RSA 算法,或基于数字签名算法而产生(503)所述命令名称的所述密码签名。
4. 根据权利要求1到3中任一权利要求所述的方法,所述命令名称指示确定到达由 所述至少一个命令自变量确定的目的地的导航路线,或提供由所述至少一个命令自 变量所指示的地址数据确定的导航地图,或使用所述至少一个命令自变量来执行计 算机程序。
5. —种用于基于密码签署的命令提供密码核实的命令的方法,所述密码签署的命令包括命令名称、所述命令名称的密码签名和至少一个命令自变量,所述方法包括 对所述密码签名进行解密以获得第一密码值; 处理所述命令名称以获得第二密码值;将所述第一密码值与所述第二密码值进行比较以获得比较结果;以及 依据所述比较结果而提供或执行所述命令名称和所述至少一个命令自变量,以作 为所述密码核实的命令。
6. 根据权利要求5所述的方法,所述第一密码值包括所述密码签名的散列值,且所述 第二密码值包括所述命令名称的散列值。
7. 根据权利要求5或6所述的方法,其包括在所述第一密码值与所述第二密码值相等 的情况下,提供或执行所述密码核实的命令。
8. —种用于提供密码签署的命令的装置,所述命令包括命令名称和至少一个命令自变 量,所述装置包括产生器,其用于产生所述命令名称的密码签名;以及构成器,其用于使用所述命令名称、所述签名和所述至少一个命令自变量来构成 所述密码签署的命令。
9. 一种用于基于密码签署的命令提供密码核实的命令的装置,所述密码签署的命令包 括命令名称、所述命令名称的密码签名和至少一个命令自变量,所述装置包括解密器,其用于对所述密码签名进行解密以获得第一密码值; 处理器,其用于处理所述命令名称以获得第二密码值;比较器,其用于将所述第一密码值与所述第二密码值进行比较以获得比较结果; 以及提供器,其用于依据所述比较结果而提供或执行所述命令名称和所述至少一个命 令自变量,以作为所述密码核实的命令。
10. —种可通过编程设置的装置,其经配置以执行根据权利要求1到7中任一权利要求 所述的方法。
11. 一种计算机程序,其用于在所述计算机程序在计算机上运行时执行根据权利要求1 到7中任一权利要求所述的方法。
全文摘要
本发明提供一种用于通过以下方式提供包括命令名称和至少一个命令自变量的密码签署的命令的方法产生(501)命令名称的密码签名并使用所述命令名称、所述签名和至少一个命令自变量构成(503)密码签署的命令。
文档编号G01C21/00GK101395441SQ200780007083
公开日2009年3月25日 申请日期2007年3月8日 优先权日2006年3月8日
发明者戴维·韦斯曼斯, 米希尔·萨尔特斯, 詹姆斯·泰比特 申请人:通腾科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1