CN104094257A - 用外部代码认证来降低Web浏览开销 - Google Patents

用外部代码认证来降低Web浏览开销 Download PDF

Info

Publication number
CN104094257A
CN104094257A CN201380006540.4A CN201380006540A CN104094257A CN 104094257 A CN104094257 A CN 104094257A CN 201380006540 A CN201380006540 A CN 201380006540A CN 104094257 A CN104094257 A CN 104094257A
Authority
CN
China
Prior art keywords
signature
execution
processor
web page
page content
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201380006540.4A
Other languages
English (en)
Inventor
L·西泽
G·C·卡希瓦尔
M·H·瑞沙迪
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Qualcomm Inc
Original Assignee
Qualcomm Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Qualcomm Inc filed Critical Qualcomm Inc
Publication of CN104094257A publication Critical patent/CN104094257A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/123Applying verification of the received information received data contents, e.g. message integrity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/957Browsing optimisation, e.g. caching or content distillation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/51Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems at application loading time, e.g. accepting, rejecting, starting or inhibiting executable software based on integrity or source reliability

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Data Mining & Analysis (AREA)
  • Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Information Transfer Between Computers (AREA)
  • Stored Programmes (AREA)
  • Storage Device Security (AREA)

Abstract

用于使用嵌入到预处理代码中的签名/认证来实现使用或重用预处理代码以避免对在web页面内容内执行一些操作或执行一些脚本的需求的方法、服务器和系统。可在web页面内容中的可执行脚本内执行一个或多个操作并且以可用于验证浏览器可跳过相应操作的方式来对操作结果签名。接收经签名的预处理代码的浏览器可使用签名验证过程来确定该浏览器是否能绕过执行web页面内容中的相应脚本或者执行替换操作。可由离线工具预执行各操作并且结果可由离线工具签名并包括在web页面内容中。操作结果可连同签名存储在存储器中,从而操作结果可在将来被重用。

Description

用外部代码认证来降低Web浏览开销
相关申请
本申请要求2012年1月26日提交的题为“Reducing Web BrowsingOverheads with External Code Certification(用外部代码认证来降低Web浏览开销)”的美国临时申请No.61/591141的权益,该临时申请通过援引全部纳入于此。
背景
尽管浏览器技术中有许多新近的进步,但web浏览器一般仍旧缺少执行复杂计算密集型任务的能力。为了解决这一以及其他限制,一些web浏览器可将其任务/处理中的一些或全部卸载至远程服务器。例如,一些web浏览器(例如,OperaTM Mini)可被配置成向服务器请求web页面,该服务器在将这些web页面发送给浏览器之前处理并将该web页面压缩成图像文件。在此类系统上,浏览器简单地接收和呈现该图像,依赖于服务器来执行与显示图像有关的几乎全部处理/任务。
其他web浏览器(例如,Amazon silk)可使用其中仅一些任务/处理被卸载至服务器的拆分架构。然而,这一拆分架构一般要求使用预定义服务器和专有浏览器。此外,web浏览器(无论是否专有)并非总是被通知已经执行的全部任务,或者预处理结果是否是当前的(鉴于对内容的新近更新/改变等)。没有用于确保预处理代码的有效性的机制,浏览器不能确定该代码是否已经被高效编码和/或能另行被信任以按呈现相关联的页面所要求的那样执行。
概述
各种方面包括在浏览器中处理内容的方法,包括在浏览器中接收包括一个或多个预执行操作的内容,每个操作与签名相关联,使用签名验证过程来验证与至少一个预执行操作相关联的签名,当签名验证过程确认与预执行操作相关联的签名时执行第一操作,以及当该签名验证过程不确认与预执行操作相关联的签名时执行第二操作。
在一方面,执行第一操作包括结合预执行操作。在进一步方面,执行第一操作包括跳过与预执行操作相关联的浏览器操作。在进一步方面,执行第一操作包括更改与预执行操作相关联的浏览器操作。在进一步方面,执行第二操作包括执行与预执行操作相关联的浏览器操作。在进一步方面,使用签名验证过程来验证与预执行操作相关联的签名包括确定与预执行操作相关联的浏览器操作是否可被跳过或不同地执行以达成更好的结果。在进一步方面,该方法包括对与web页面内容对应的代码执行工具操作以生成至少一个预执行操作,并对该预执行操作签名。在进一步方面,对与web页面内容对应的代码执行工具操作以生成至少一个预执行操作包括在浏览器内执行工具操作。在进一步方面,接收包括各自与签名相关联的一个或多个预执行操作的内容包括从正在其上执行浏览器的计算设备的存储器中检索经签名预处理代码。在进一步方面,该方法包括将第一或第二操作的结果存储在计算设备的存储器中。在进一步方面,对与web页面内容对应的代码执行工具操作以生成至少一个预执行操作包括在离线工具中执行工具操作,该方法进一步包括将经签名预执行操作发送给浏览器。在进一步方面,对与web页面内容对应的代码执行工具操作以生成至少一个预执行操作包括在服务器中执行工具操作,该方法进一步包括将经签名预执行操作发送给正在其上执行浏览器的计算设备。在进一步方面,对与web页面内容对应的代码执行工具操作以生成至少一个预执行操作包括生成JavaScript。在进一步方面,对与web页面内容对应的代码执行工具操作以生成至少一个预执行操作包括生成级联样式表。在进一步方面,对与web页面内容对应的代码执行工具操作以生成至少一个预执行操作包括执行源对源变换。在进一步方面,对与web页面内容对应的代码执行工具操作包括标记级联样式表的未使用的各部分。在进一步方面,对与web页面内容对应的代码执行工具操作以生成至少一个预执行操作包括对与web页面内容中的可执行脚本对应的代码执行工具操作以生成至少一个预执行操作。在进一步方面,对与web页面内容中的可执行脚本对应的代码执行工具操作以生成至少一个预执行操作包括预处理该web页面内容的一部分。在进一步方面,该方法进一步包括将代码的经签名预处理部分包括在web页面内容内,并将该内容发送给正在其上操作浏览器的计算设备。在进一步方面,对预处理代码签名由验证器来完成。在进一步方面,对预处理代码签名包括提供证实预处理操作中已经遵循某些规则的签名。
进一步方面包括计算设备,其包括用于接收包括各自与签名相关联的一个或多个预执行操作的内容的装置、用于使用签名验证过程来验证与至少一个预执行操作相关联的签名的装置、用于在该签名验证过程确认与预执行操作相关联的签名时执行第一操作的装置、以及用于在该签名验证过程不确认与预执行操作相关联的签名时执行第二操作的装置。在一方面,用于执行第一操作的装置包括用于结合预执行操作的装置。在进一步方面,用于执行第一操作的装置包括用于跳过与预执行操作相关联的浏览器操作的装置。在进一步方面,用于执行第一操作的装置包括用于更改与预执行操作相关联的浏览器操作的装置。在进一步方面,用于执行第二操作的装置包括用于执行与预执行操作相关联的浏览器操作的装置。在进一步方面,用于使用签名验证过程来验证与预执行操作相关联的签名的装置包括用于确定与预执行操作相关联的浏览器操作是否可被跳过或不同地执行以达成更好的结果的装置。在进一步方面,该设备进一步包括用于对与web页面内容对应的代码执行工具操作以生成至少一个预执行操作的装置,以及用于对该预执行操作签名的装置。在进一步方面,用于对与web页面内容对应的代码执行工具操作以生成至少一个预执行操作的装置包括用于在该计算设备上执行的浏览器应用内执行工具操作的装置。在进一步方面,用于接收包括各自与签名相关联的一个或多个预执行操作的内容的装置包括用于从存储器中检索经签名预处理代码的装置。在进一步方面,该计算设备包括用于将第一或第二操作的结果存储在存储器中的装置。在进一步方面,用于对与web页面内容对应的代码执行工具操作以生成至少一个预执行操作的装置包括用于生成JavaScript的装置。在进一步方面,用于对与web页面内容对应的代码执行工具操作以生成至少一个预执行操作的装置包括用于生成级联样式表的装置。在进一步方面,用于对与web页面内容对应的代码执行工具操作以生成至少一个预执行操作的装置包括用于用于执行源对源变换的装置。在进一步方面,用于对与web页面内容对应的代码执行工具操作的装置包括用于标记级联样式表的未使用的各部分的装置。在进一步方面,用于对与web页面内容对应的代码执行工具操作以生成至少一个预执行操作的装置包括用于对与web页面内容中的可执行脚本对应的代码执行工具操作以生成至少一个预执行操作的装置。在进一步方面,用于对与web页面内容中的可执行脚本对应的代码执行工具操作以生成至少一个预执行操作的装置包括用于预处理该web页面内容的一部分的装置。在进一步方面,用于对预处理代码签名的装置包括用于在计算设备上执行的验证器应用中对预处理代码签名的装置。在进一步方面,用于对预处理代码签名的装置包括用于生成证实预处理操作中已经遵循某些规则的签名的装置。
进一步方面包括服务器,其包括用于接收web页面内容的装置、用于对与该web页面内容的各部分对应的代码执行工具操作以生成至少一个预执行操作的装置、用于对所生成的预执行操作签名的装置、用于将经签名预处理操作包括在web页面内容中的装置、以及用于将web页面内容发送给计算设备的装置。在一方面,用于对与web页面内容对应的代码执行工具操作以生成至少一个预执行操作的装置包括用于生成JavaScript的装置。在进一步方面,用于对与web页面内容对应的代码执行工具操作以生成至少一个预执行操作的装置包括用于生成级联样式表的装置。在进一步方面,用于对与web页面内容对应的代码执行工具操作以生成至少一个预执行操作的装置包括用于执行源对源变换的装置。在进一步方面,用于对与web页面内容对应的代码执行工具操作的装置包括用于标记级联样式表的未使用的各部分的装置。在进一步方面,用于对与web页面内容对应的代码执行工具操作以生成至少一个预执行操作的装置包括用于对与web页面内容中的可执行脚本对应的代码执行工具操作以生成至少一个预执行操作的装置。在进一步方面,用于对预处理代码签名的装置包括用于提供证实预处理操作中已经遵循某些规则的签名的装置。
进一步方面包括计算设备,其包括存储器以及耦合至该存储器的处理器,其中该处理器被配置有处理器可执行指令以执行包括以下的操作:接收包括各自与签名相关联的一个或多个预执行操作的内容、使用签名验证过程来验证与至少一个预执行操作相关联的签名、在该签名验证过程确认与预执行操作相关联的签名时执行第一操作、以及在该签名验证过程不确认与预执行操作相关联的签名时执行第二操作。在一方面,处理器被配置有处理器可执行指令以执行操作以使得执行第一操作包括结合预执行操作。在进一步方面,处理器被配置有处理器可执行指令以执行操作以使得执行第一操作包括跳过与预执行操作相关联的浏览器操作。在进一步方面,处理器被配置有处理器可执行指令以执行操作以使得执行第一操作包括更改与预执行操作相关联的浏览器操作。在进一步方面,处理器被配置有处理器可执行指令以执行操作以使得执行第二操作包括执行与预执行操作相关联的浏览器操作。在进一步方面,处理器被配置有处理器可执行指令以执行操作以使得使用签名验证过程来验证与预执行操作相关联的签名包括确定与预执行操作相关联的浏览器操作是否可被跳过或不同地执行以达成更好的结果。在进一步方面,处理器被配置有处理器可执行指令以执行操作进一步包括对与web页面内容对应的代码执行工具操作以生成至少一个预执行操作,并对该预执行操作签名。在进一步方面,处理器被配置有处理器可执行指令以执行操作以使得对与web页面内容对应的代码执行工具操作以生成至少一个预执行操作包括在计算设备上执行的浏览器内执行工具操作。在进一步方面,处理器被配置有处理器可执行指令以执行操作以使得接收包括各自与签名相关联的一个或多个预执行操作的内容包括从存储器中检索经签名预处理代码。在进一步方面,处理器被配置有处理器可执行指令以执行操作进一步包括将第一或第二操作的结果存储到存储器中。在进一步方面,处理器被配置有处理器可执行指令以执行操作以使得对与web页面内容对应的代码执行工具操作以生成至少一个预执行操作包括生成JavaScript。在进一步方面,处理器被配置有处理器可执行指令以执行操作以使得对与web页面内容对应的代码执行工具操作以生成至少一个预执行操作包括生成级联样式表。在进一步方面,处理器被配置有处理器可执行指令以执行操作以使得对与web页面内容对应的代码执行工具操作以生成至少一个预执行操作包括执行源对源变换。在进一步方面,处理器被配置有处理器可执行指令以执行操作以使得对与web页面内容对应的代码执行工具操作包括标记级联样式表的未使用的各部分。在进一步方面,处理器被配置有处理器可执行指令以执行操作以使得对与web页面内容对应的代码执行工具操作以生成至少一个预执行操作包括对与web页面内容中的可执行脚本对应的代码执行工具操作以生成至少一个预执行操作。在进一步方面,处理器被配置有处理器可执行指令以执行操作以使得对与web页面内容对应的代码执行工具操作以生成至少一个预执行操作包括预处理web页面内容的一部分。在进一步方面,处理器被配置有处理器可执行指令以执行操作以使得对预处理代码签名包括在计算设备上执行的验证器中对预处理代码签名。在进一步方面,处理器被配置有处理器可执行指令以执行操作以使得对预处理代码签名包括提供证实预处理操作中已经遵循某些规则的签名。
进一步方面包括服务器,其包括存储器和耦合至该存储器的处理器,其中该处理器被配置有处理器可执行指令以执行包括以下的操作:接收web页面内容、对与该web页面内容的各部分对应的代码执行工具操作以生成至少一个预执行操作、对所生成的预执行操作签名、将经签名预处理操作包括在web页面内容中、以及将包括经签名预处理操作的web页面内容发送给计算设备。在一方面,处理器被配置有处理器可执行指令以执行操作以使得对与web页面内容对应的代码执行工具操作以生成至少一个预执行操作包括生成JavaScript。在进一步方面,处理器被配置有处理器可执行指令以执行操作以使得对与web页面内容对应的代码执行工具操作以生成至少一个预执行操作包括生成级联样式表。在进一步方面,处理器被配置有处理器可执行指令以执行操作以使得对与web页面内容对应的代码执行工具操作以生成至少一个预执行操作包括执行源对源变换。在进一步方面,处理器被配置有处理器可执行指令以执行操作以使得对与web页面内容对应的代码执行工具操作包括标记级联样式表的未使用的各部分。在进一步方面,处理器被配置有处理器可执行指令以执行操作以使得对与web页面内容对应的代码执行工具操作以生成至少一个预执行操作包括对与web页面内容中的可执行脚本对应的代码执行工具操作以生成至少一个预执行操作。在进一步方面,处理器被配置有处理器可执行指令以执行操作以使得对预处理代码签名包括生成证实预处理操作中已经遵循某些规则的签名。
进一步方面包括具有存储其上的处理器可执行软件指令的非瞬态计算机可读存储介质,该处理器可执行软件指令使处理器执行用于处理浏览器中的内容的操作,该操作包括接收包括各自与签名相关联的一个或多个预执行操作的内容、使用签名验证过程来验证与至少一个预执行操作相关联的签名、在该签名验证过程确认与预执行操作相关联的签名时执行第一操作、以及在该签名验证过程不确认与预执行操作相关联的签名时执行第二操作。在一方面,所存储的处理器可执行软件指令被配置成使处理器执行操作以使得执行第一操作包括结合预执行操作。在进一步方面,所存储的处理器可执行软件指令被配置成使处理器执行操作以使得执行第一操作包括跳过与预执行操作相关联的浏览器操作。在进一步方面,所存储的处理器可执行软件指令被配置成使处理器执行操作以使得执行第一操作包括更改与预执行操作相关联的浏览器操作。在进一步方面,所存储的处理器可执行软件指令被配置成使处理器执行操作以使得执行第二操作包括执行与预执行操作相关联的浏览器操作。在进一步方面,所存储的处理器可执行软件指令被配置成使处理器执行操作以使得使用签名验证过程来验证与预执行操作相关联的签名包括确定与预执行操作相关联的浏览器操作是否可被跳过或不同地执行以达成更好的结果。在进一步方面,所存储的处理器可执行软件指令被配置成使处理器执行操作进一步包括对与web页面内容对应的代码执行工具操作以生成至少一个预执行操作,并对该预执行操作签名。在进一步方面,所存储的处理器可执行软件指令被配置成使处理器执行操作以使得对与web页面内容对应的代码执行工具操作以生成至少一个预执行操作包括在浏览器内执行工具操作。在进一步方面,所存储的处理器可执行软件指令被配置成使处理器执行操作以使得接收包括各自与签名相关联的一个或多个预执行操作的内容包括从正在其上执行浏览器的计算设备的存储器中检索经签名预处理代码。在进一步方面,所存储的处理器可执行软件指令被配置成使处理器执行操作进一步包括将第一或第二操作的结果存储到计算设备的存储器中。在进一步方面,所存储的处理器可执行软件指令被配置成使处理器执行操作以使得对与web页面内容对应的代码执行工具操作以生成至少一个预执行操作包括生成JavaScript。在进一步方面,所存储的处理器可执行软件指令被配置成使处理器执行操作以使得对与web页面内容对应的代码执行工具操作以生成至少一个预执行操作包括生成级联样式表。在进一步方面,所存储的处理器可执行软件指令被配置成使处理器执行操作以使得对与web页面内容对应的代码执行工具操作以生成至少一个预执行操作包括执行源对源变换。在进一步方面,所存储的处理器可执行软件指令被配置成使处理器执行操作以使得对与web页面内容对应的代码执行工具操作包括标记级联样式表的未使用的各部分。在进一步方面,所存储的处理器可执行软件指令被配置成使处理器执行操作以使得对与web页面内容对应的代码执行工具操作以生成至少一个预执行操作包括对与web页面内容中的可执行脚本对应的代码执行工具操作以生成至少一个预执行操作。在进一步方面,所存储的处理器可执行软件指令被配置成使处理器执行操作以使得对与web页面内容中的可执行脚本对应的代码执行工具操作以生成至少一个预执行操作包括预处理web页面内容的一部分。在进一步方面,所存储的处理器可执行软件指令被配置成使处理器执行操作以使得对预处理代码签名包括在正在其上执行验证器的计算设备中对预处理代码签名。在进一步方面,所存储的处理器可执行软件指令被配置成使处理器执行操作以使得对预处理代码签名包括提供证实预处理操作中已经遵循某些规则的签名。
进一步方面包括具有存储其上的服务器可执行软件指令的非瞬态计算机可读存储器介质,该服务器可执行软件指令使服务器执行包括以下的操作:接收web页面内容、对与该web页面内容的各部分对应的代码执行工具操作以生成至少一个预执行操作、对所生成的预执行操作签名、将经签名预处理操作包括在web页面内容中、以及将包括经签名预处理操作的web页面内容发送给计算设备,以及该服务器处理器被配置有服务器可执行指令以执行包括对与该web页面内容对应的代码执行工具操作以生成至少一个预执行操作并对预执行操作签名的操作。
在一方面,所存储的服务器可执行软件指令被配置成使服务器执行操作以使得对与web页面内容对应的代码执行工具操作以生成至少一个预执行操作包括生成JavaScript。在进一步方面,所存储的服务器可执行软件指令被配置成使服务器执行操作以使得对与web页面内容对应的代码执行工具操作以生成至少一个预执行操作包括生成级联样式表。在进一步方面,所存储的服务器可执行软件指令被配置成使服务器执行操作以使得对与web页面内容对应的代码执行工具操作以生成至少一个预执行操作包括执行源对源变换。在进一步方面,所存储的服务器可执行软件指令被配置成使服务器执行操作以使得对与web页面内容对应的代码执行工具操作包括标记级联样式表的未使用的各部分。在进一步方面,所存储的服务器可执行软件指令被配置成使服务器执行操作以使得对与web页面内容中的可执行脚本对应的代码执行工具操作以生成至少一个预执行操作包括对与web页面内容中的可执行脚本对应的代码执行工具操作以生成至少一个预执行操作。在进一步方面,所存储的服务器可执行软件指令被配置成使服务器执行操作以使得对预处理代码签名包括提供证实预处理操作中已经遵循某些规则的签名。
进一步方面包括系统,其包括包含客户端存储器和耦合至该客户端存储器的客户端处理器的客户端设备以及包含服务器存储器和耦合至该服务器存储器的服务器处理器的服务器,其中客户端处理器被配置有处理器可执行指令以执行包括以下的操作:接收包括各自与签名相关联的一个或多个预执行操作的内容、使用签名验证过程来验证与至少一个预执行操作相关联的签名、在该签名验证过程确认与预执行操作相关联的签名时执行第一操作、以及在该签名验证过程不确认与预执行相关联的签名时执行第二操作。在一方面,客户端处理器被配置有处理器可执行指令以执行操作以使得执行第一操作包括结合预执行操作。在进一步方面,客户端处理器被配置有处理器可执行指令以执行操作以使得执行第一操作包括跳过与预执行操作相关联的浏览器操作。在进一步方面,客户端处理器被配置有处理器可执行指令以执行操作以使得执行第一操作包括更改与预执行操作相关联的浏览器操作。在进一步方面,客户端处理器被配置有处理器可执行指令以执行操作以使得执行第二操作包括执行与预执行操作相关联的浏览器操作。在进一步方面,客户端处理器被配置有处理器可执行指令以执行操作以使得使用签名验证过程来验证与预执行操作相关联的签名包括确定与预执行操作相关联的浏览器操作是否可被跳过或不同地执行以达成更好的结果。在进一步方面,服务器处理器被配置有服务器可执行指令以使得对与web页面内容对应的代码执行工具操作以生成至少一个预执行操作包括生成JavaScript。在进一步方面,服务器处理器被配置有服务器可执行指令以使得对与web页面内容对应的代码执行工具操作以生成至少一个预执行操作包括生成级联样式表。在进一步方面,服务器处理器被配置有服务器可执行指令以使得对与web页面内容对应的代码执行工具操作以生成至少一个预执行操作包括执行源对源变换。在进一步方面,服务器被配置有服务器可执行指令以使得对与web页面内容对应的代码执行工具操作包括标记级联样式表的未使用的各部分。在进一步方面,服务器处理器被配置有服务器可执行指令以使得对与web页面内容对应的代码执行工具操作以生成至少一个预执行操作包括对与web页面内容中的可执行脚本对应的代码执行工具操作以生成至少一个预执行操作。在进一步方面,服务器处理器被配置有服务器可执行指令以使得对预处理代码签名包括生成证实预处理操作中已经遵循某些规则的签名。在进一步方面,服务器处理器被配置有服务器可执行指令以执行操作进一步包括将经签名预处理操作包括在web页面内容内以及将包括经签名预处理操作的web页面内容发送给客户端设备。在进一步方面,客户端处理器被配置有处理器可执行指令以执行操作以使得接收包括各自与签名相关联的一个或多个预执行操作的内容包括从服务器接收包括经签名预处理操作的web页面内容。
附图简述
纳入本文且构成本说明书一部分的附图解说了本发明的示例性方面,并与以上给出的一般描述和下面给出的详细描述一起用来解释本发明的特征。
图1是解说适于实现各种方面的示例网络中的逻辑组件和流程的组件框图。
图2A-B是用于用外部代码认证来降低web浏览开销的一方面方法的过程流程图。
图3是用于用外部代码认证来降低web浏览开销的另一方面方法的过程流程图。
图4是适于与各种方面联用的示例移动设备的解说。
图5是适于与各种方面联用的示例个人计算机的解说。
详细描述
将参照附图详细描述各个方面。在任何可能的地方,相同附图标记用于在附图中通篇指代相同或类似部分。对特定示例和实现所作的引用是用于解说性的目的,而无意限定本发明或权利要求的范围。
术语“计算设备”本文一般用于指以下各项中的任何一项或全部:服务器、个人计算机、移动设备、蜂窝电话、个人数据助理(PDA)、掌上计算机、无线电子邮件接收器(例如,设备)、有因特网能力的多媒体蜂窝电话(例如,Blackberry)、全球定位系统(GPS)接收机、无线游戏控制器、个人计算机、以及包括配置有web浏览器类型应用的可编程处理器的类似个人电子设备。尽管各种方面对于具有有限处理功率的移动设备(诸如蜂窝手机)特别有用,但这些方面在执行以动态和/或脚本语言编写的脚本和应用的任何计算设备中都普遍有用。
本文一般使用术语“签名”和“认证”并且该术语可指对代码、脚本、数据或内容进行编码或标记以使得客户端(例如,web浏览器)能确定该代码/脚本/数据/内容由离线工具或验证器预处理,和/或另行符合客户端的要求的任何方法。
在本申请中一般使用术语“脚本语言”并且该术语可指任何动态语言、脚本语言、标记语言、样式表,或用于编写在运行时解释和/或编译的程序(本文为“代码”或“脚本”)的任何解释语言。因此,出于本申请的目的,术语“脚本语言”不应被限定于从源代码或字节码解释的语言,或者连同传统地编译成本机代码的程序执行的那些语言。本申请范围内的脚本语言的示例包括,例如JavaScript、级联样式表、HTML、Python和Ruby,以及Java和可能在将来开发的其它语言。
本文使用JavaScript和相关技术作为可被各种实施例使用或处理的脚本语言的方便示例描述了各种方面。然而,应理解,本文与JavaScript和对JavaScript语言的其它参考有关的示例仅是出于解说目的,并不旨在用于将描述或各实施例限定于特定类型的动态脚本语言。因此,权利要求的范围不应被解读为要求JavaScript,除非特别声明。
应理解,术语“代码”和“脚本”本文可一般和互换地使用,并且涵盖了可被应用使用或呈现的数据和内容。还应理解,本文公开的各种方面可应用于应用(例如浏览器)的任何方面,包括代码和内容两者。
在各种方面中,浏览器操作可被分为两个部分(离线工具部分和浏览器部分),从而某些浏览器操作与其它浏览器操作在时间和空间两者中分离(即,提前执行,由不同机器执行)。签名/认证可被用于确保这两个部分的结果可在运行时间被安全组合。
如上所提及的,尽管浏览器技术中有许多最近的进步,但web浏览器一般仍旧缺少执行复杂计算密集型任务的能力。各种方面通过使一些任务提前执行、使用与web浏览器本身分离的外部或“离线”工具来克服了这一以及其它限制。例如,浏览器可被配置成允许由离线/外部工具提前进行某些变换、最优化、计算和/或分析,其结果可由浏览器接收并在运行时间用于改善浏览器的性能。离线/外部工具可通过例如标记有效载荷期间不使用的级联样式表(CSS)的各部分来预处理数据,从而浏览器能容易地标识未使用的各部分。离线/外部工具还可执行源对源变换(例如,获取JavaScript并生成最优化的JavaScript),并且所生成/经变换的代码(例如JavaScript)可与内容嵌在一起以供浏览器处理、执行和/或显示。
因为原始代码和随后生成的代码可以是相同格式的(例如,两者都是JavaScript),所以web浏览器并非完全被通知已经由外部/离线工具执行的任务,预处理任务是否仍是当前的(例如,鉴于对内容的近期更新/改变等),或者预执行任务是否按不导致因例如不兼容假定而造成的故障或违反(例如,不正确执行、不受约束的故障等)的方式来执行的。
出于这些和其它原因,可要求浏览器执行数个操作以在执行之前验证所生成代码的有效性。这一验证过程可要求在浏览器与离线工具之间传递大量的补充信息(例如,任务和版本信息、所支持的浏览器、预处理方法体系等)、和/或在接收到的代码的整个主体上执行字节码验证(例如,如在加载Java类时强制的)。传递大量补充信息增加了对浏览器的开销。验证开销可能不仅是执行所有阶段并忽略预处理数据。额外开销可能抵消运行离线工具的益处。
各种方面提供了利用与一个或多个预处理脚本/代码/数据/内容(本文统称为“脚本”或“代码”)相关联的签名或认证的框架,从而web浏览器能验证、确认和/或信任该脚本并通过依赖于由浏览器先前生成或由离线/外部工具提供并存储在存储器中的代码来跳过对相关联脚本的进一步处理。
各种方面按以下方式验证、编码并传递预处理代码给浏览器:使该浏览器能确定已经被预处理的任务(例如,变换、最优化、编译、计算、分析等),并且从而该浏览器能相信该预处理器代码是值得信任的(即,该预处理代码将正确执行),而无需执行额外处理。
在各种方面,由离线/外部工具生成并与web页面的其余部分包括在一起的代码/数据可被嵌入有“经验证戳”或“签名”。该签名可标识(例如,经由验证标识符)已经完成的任务。该签名还可使浏览器能确认该代码已经被高效编码并且可被执行而无需额外处理或浏览器验证。因此,在一方面,取代将大量补充信息传递给浏览器,所生成的代码可用嵌入到代码中(例如,在标注、注释等中)的签名来签名,从而客户端应用(例如浏览器)能容易地标识哪些任务已经完成并信任该代码对于执行是安全的。在一方面,该签名可以是良好定义的、结构化的和高效编码的补充信息。
通过将“经验证戳”或“签名”嵌入到代码中,各种方面消除了浏览器执行任何额外操作以验证预处理代码的需要,从而降低了web浏览开销并改善了性能。
在一方面,使用签名来确认和验证先前处理的代码还可被web浏览器在将处理web网页的结果存储到存储器中时使用。在这一方面,当浏览器处理web页面脚本同时呈现web页面时,经处理的脚本可被存储在存储器中以供下次呈现该页面时重用。因为web页面频繁变化,所以处理器可能常规上必须显著地处理页面脚本以便确定该页面是否与先前呈现的相同。各方面使web浏览器能在已经处理了存储器所保存的代码后对其签名。浏览器可以随后使用该签名来确定所保存的代码是否可信以正确地呈现页面。例如,如果web页面内容从上次被web浏览器呈现以来已经改变,则验证该签名的过程可将内容的改变通知浏览器,在这种情形中,浏览器可选择执行脚本而非重用从存储器中检索的先前代码。
在预处理代码中嵌入戳/签名/认证可在外部/离线工具与浏览器之间提供高效通信协议,使浏览器能确认接收到的代码的安全性或值得信任的本质(即,没有不恰当的存储器存取、自生成该代码以来没有显著改变、该代码将不会导致故障等)。
如上所提及的,浏览器操作可被分为两个部分(离线工具部分和浏览器部分),从而某些浏览器操作与其它操作在时间和空间两者中分离(即,提前执行,由不同机器执行)。在一方面,离线工具(例如,执行静态和/或动态分析的工具)可生成预处理代码,签名该代码以认证该代码遵循某些规则,以及将经签名代码嵌入到浏览器中。在一方面,预处理代码可由外部验证器来验证,该外部验证器可对离线工具的结果(即,预处理代码)签名。该结果可用私钥或通过包括标记、属性、格式化标注等形式的已知关键字来签名。浏览器可使用密码证书来确定该代码是否被已知外部/离线工具处理,该代码是否是当前的,和/或该代码是否是安全或值得信任的。例如,浏览器可使用验证器公钥来验证嵌入的签名以确定该代码是否事实上由获信任的验证器或其期望版本处理过。如果浏览器验证了该代码中的签名,则浏览器可信任该代码对于执行是安全的,而无需浪费任何额外开销,请求额外信息或执行代码验证通常要求的任何额外处理/分析。这一过程使浏览器能够依赖并使用预处理代码,由此降低了客户端设备中的处理开销并改善了性能。
在web浏览器存储经处理代码并使用所嵌入的签名来验证所存储的代码是否是值得信任的方面中,该过程以类似方式进行,除了浏览器自身用作验证器。
图1解说了根据各种方面的可被用于用外部代码认证来降低web浏览开销的示例网络100。网络100可包括经由因特网104将内容递送给客户机106的web/内容服务器102。客户机106可包括网络接口模块108、显示模块116、存储器118、和web浏览器110。浏览器110可包括用于解释和执行JavaScript的JavaScript引擎112。
网络100还可包括配置成执行浏览器操作的离线/外部工具114。外部/离线工具114可在网络100的任何地方实现,诸如在web服务器102、单独服务器、代理上,或者在客户机106上。外部/离线工具114可实现为单独过程或作为浏览器110的一部分。外部/离线工具114可被配置成生成代码(例如,可以是预处理器)或者将静态的预处理代码(例如,由开发人员提供的代码、浏览器的先前执行会话的结果等)发送给浏览器110。
浏览器110可被配置成将某些浏览器操作(例如,变换、最优化等)卸载至离线/外部工具114,从而经卸载的操作与其它操作在时间和/或空间中分离(即,提前执行,由不同机器执行)。外部/离线工具114可编译JavaScript,生成用于一个或多个平台(例如android等)的代码,以及用签名来签名所生成的代码。由离线/外部工具114所生成的代码可以是与由浏览器使用的代码相同类型的(即,执行源对源变换)。例如,离线工具可将JavaScript代码作为输入并生成最优化的(以及经签名的)JavaScript代码作为其输出。所生成的代码可以是经编译的可执行代码(例如,一系列完全编译的函数)。签名的存在允许浏览器110直接调用所生成的代码并信任其执行将导致与由浏览器110本身生成JavaScript代码(例如,经由JavaScript引擎112)的情况完全相同的操作。此举有效地消除了基本上从浏览器/用户角度的所有JavaScript编译成本。
一方面,外部/离线工具114可以是浏览器110的一部分,并包括在客户机106检测到它连接至电源和/或处于空闲时预处理脚本的预处理器。
在一方面,外部/离线工具114可将经预处理的代码签名并存储在存储器中以供稍后使用。
在一方面,签名可被嵌入到所生成的代码中,从而它们不会影响不支持这些签名的浏览器。在一方面,离线/外部工具可被配置成嵌入代码,从而所嵌入的代码可被未修改的JavaScript引擎忽略并由经修改以理解所嵌入代码的JavaScript引擎来处理。一方面,离线/外部工具可被配置成将该代码嵌入到评注或注释中。
图2A解说了通过使用外部代码认证来降低web浏览开销的方法的一方面200。在框202,浏览器操作可被分为离线工具部分和浏览器部分。在框204,离线工具在浏览器执行代码之前执行离线工具部分并且生成预处理代码。在框206,离线工具可通过将签名嵌入到代码中来签名预处理代码。在一方面,作为框206的一部分,预处理代码可由验证器来验证,该验证器可用散列类型签名操作中使用的私钥或其它可验证密钥来对离线工具的结果(即,预处理代码)签名。各种已知签名过程的任何一种可用于基于经处理代码的内容来生成签名。通过对经处理代码签名,接收机设备能够通过在接收到代码时对其执行相同或类似过程来验证签名。替换地,该签名可基于预处理代码。在框208,经签名预处理代码可连同web内容的其余部分被发送给浏览器。
在框210,浏览器可接收经签名代码连同web页面内容的其余部分。在框212,浏览器可评估接收到的代码中的签名。例如,作为框212的一部分,浏览器可使用验证器公钥来验证该代码是否事实上由获信任的验证器处理过。同样或者替换地,浏览器可对web页面中已经被预处理的脚本执行散列函数以获得该代码的散列值特性。这一验证过程能确认预处理代码对应于web页面中的未处理脚本以及预处理由值得信任的离线工具执行这两者。
在确定框214中,浏览器可确定该签名是否匹配。如果浏览器确定所生成和嵌入的签名匹配(即,确定框214=“是”),则在框216,浏览器可在运行时间组合客户端部分和离线工具部分并执行经签名代码(信任该代码的安全性)。如果浏览器确定该签名不匹配(即,确定框214=“否”),则在框218,浏览器可通过执行脚本来呈现页面,如同未曾提供过预处理代码。因此,签名的嵌入通过使浏览器能信任该代码是安全的(例如,正确操作、没有未授权存储器存取等)确保某些浏览器操作与其它操作的结果能在运行时间被安全组合来允许这两部分在时间和空间两者上分离(即,提前执行、由不同机器执行)。
图2B解说了通过使用外部代码认证来降低web浏览开销的方法的另一方面250。在框252中,浏览器可接收来自离线工具部分的输入。在框254,浏览器可接收经签名预处理代码/内容。在确定框256中,浏览器可确定在接收到的经签名预处理代码/内容中存在任何有效签名(例如,经由确定所生成和嵌入的签名匹配)。如果确定没有有效签名(即,确定框256=“否”),则在框258,浏览器可通过对所有接收到的代码(例如,对于每个阶段)执行完全操作来呈现页面,如同未曾提供过预处理代码。如果确定有有效签名(即,确定框256=“是”),则在框260,浏览器可通过执行预处理代码并且仅执行该代码/内容的未签名部分的完全验证来呈现页面。在可任选框262,浏览器可可任选地为下一组执行生成签名和结果,并将其存储在本地或远程以供稍后检索。各种已知签名过程的任何一种可用于生成签名,这可基于经处理代码的内容。通过对经处理代码签名,接收机设备能够通过在从存储器访问代码或作为所访问的web页面的一部分接收代码时对该代码执行相同或类似过程来验证签名。
图3解说了通过使用代码签名方法以便按允许浏览器稍后在呈现相同页面时确定是否可重用经处理代码的方式来存储该经处理代码以降低web浏览开销的另一方面方法300。在框302,浏览器可接收访问特定web站点的请求。在确定框304中,浏览器可确定在给定时间窗中该站点是否被首次访问。如果浏览器确定是首次访问(即,确定框304=“是”),则在框306,浏览器可使用常规方法来处理web页面内容。在框308,浏览器可对经处理代码签名并包括或嵌入所生成的签名。在框310,经签名的经处理代码可被存储在正在其上运行web浏览器的设备的存储器中。
如果浏览器确定不是首次访问web页面(即,确定框304=“否”),则在框312,可从存储器检索经签名代码。在框314,浏览器可验证包括在或嵌入在代码中的签名。这一过程可涉及对web页面内容内对应的脚本执行签名过程(例如,散列函数)以生成另一签名。在确定框316中,浏览器可确定该签名是否匹配。如果该签名是基于web页面内经预处理的脚本来生成的,则比较该签名将使浏览器能快速确认所存储的先前处理的代码是否是通过执行与当前下载的web页面中相同的脚本来生成的。如果浏览器确定该签名匹配(即,确定框316=“是”),则在框320,浏览器可执行经签名代码,该经签名代码已经验证所存储的先前处理的代码是通过处理与当前web页面内容中相同的脚本来生成的。因此,签名匹配使浏览器能信任先前存储的代码的执行将正确地呈现当前web页面。如果浏览器确定该签名不匹配(即,确定框316=“否”),则在框318,浏览器可在框306进行执行脚本以呈现web页面的操作,如同存储器中没有存储先前处理的代码。
在进一步方面,方法300的操作可与方法200的那些操作组合,从而web浏览器用web页面内容验证并使用由离线工具提供的预处理代码,存储用签名处理web页面脚本的结果,以及在其相关联的签名被验证时重用先前存储的代码。
各种方面可被配置成使得代码中不存在签名向JavaScript引擎指示web页面中的脚本尚未被处理并且因此必须由浏览器处理。在一方面,该签名可向浏览器指示已经使用可用语言特征的仅服从于最优化的受限子集来生成该代码并且该代码的执行将不会导致正使用的某些特征。在一方面,该签名可向浏览器指示已经利用该可用语言特征的扩增子集(例如,类型检查)来生成代码并且浏览器能放弃执行类似操作。
一方面,离线/外部工具可以是预编译代码的编译器。
应理解,各种方面不涉及安全性,但是确保先前操作或最优化的有效性。各种方面的方法不仅关注可执行代码和代码,并且可被应用于浏览器的任何部分(代码和内容两者)。
各种方面可将工具(例如,JavaScript编译器、解析器、CSS处理器、布局引擎等)划分为离线和在线部分。离线部分可对代码执行一组操作并生成捕捉所执行操作的一个或多个签名。在线部分可检查(各)签名并决定是否可跳过某个操作、可以按简化或近似形式执行、可不同地执行以达成更好的结果、和/或客户端是否可另行利用预先验证的代码。若非如此,在线部分可再次对输入(代码或内容)执行相同操作(潜在地更少优化的)。
由各种方面提供的一个益处是使用签名作为确定是否可在在线部分中跳过或简化某些操作的廉价方式。离线部分可在服务器或在客户端上实现。在一方面,离线部分可在客户端上实现并在计算设备正空闲时执行。
各种方面可以在各种计算设备的任何一个计算设备上实现。图4中解说了移动计算设备的示例,而图5中解说了笔记本计算机的示例。典型的移动计算设备400将具有图4中所解说的共有组件。例如,移动计算设备400可包括耦合至内部存储器402的处理器401以及触摸表面输入设备/显示器403。触摸屏显示器403,诸如,诸如电阻感测式触摸屏、电容感测式触摸屏、红外感测式触摸屏、声学/压电感测式触摸屏,或诸如此类。各种方面不限于任何特定类型的触摸屏显示器403或触摸板技术。另外,计算设备400可具有用于发送和接收电磁辐射的天线404,该天线404与耦合至处理器401的无线数据链路和/或蜂窝电话收发机405相连接。计算设备400还可包括用于接收用户输入的物理按钮408。
尽管各种方面可为移动计算设备提供显著的性能增强,但其它形式的计算设备,包括个人计算机和膝上型计算机还可从动态语言脚本的预解析中获益。此类计算设备一般包括图5中解说的组件,图5解说了示例个人膝上型计算机500。此种个人计算机500一般包括耦合至易失性存储器502和大容量非易失性存储器(诸如盘驱动器503)的处理器501。计算机500还可包括耦合至处理器501的压缩盘(CD)和/或DVD驱动器504。计算机设备500还可包括耦合至处理器401的用于建立数据连接或接收外部存储器设备的数个连接器端口,诸如用于将处理器401耦合至网络的网络连接电路505。计算机500可进一步耦合至键盘508、定点设备(诸如鼠标510)和显示器509,如计算机领域中公知的。
各种方面还可实现在各种市售的服务器设备中的任何服务器设备上,诸如图6中解说的服务器600。此种服务器600一般包括处理器601并且可包括多个处理器系统611、621、631,其中一个或多个可以是或包括多核处理器。处理器601可耦合至易失性存储器602和大容量非易失性存储器(诸如盘驱动器603)。服务器600还可包括耦合至处理器601的软盘驱动器、压缩盘(CD)或DVD盘驱动器606。服务器600还可包括耦合至处理器601的用于建立与网络605(诸如耦合到其他广播系统计算机和服务器的局域网络)的数据连接的网络接入端口604。
处理器401、501、601可以是能通过软件指令(应用)配置以执行包括本文所述各种方面的功能在内的各种功能的任何可编程微处理器、微型计算机或一个或多个多处理器芯片。在一些移动设备中,可提供多个处理器401、501、601,诸如一个处理器专用于无线通信功能并且一个处理器专用于运行其他应用。通常,在软件应用被访问并被加载到处理器401、501、601中之前,这些软件应用可被存储在内部存储器402、502、602中。在一些移动设备中,处理器401、501、601可包括足以存储应用软件指令的内部存储器。在一些移动设备中,安全存储器可以在耦合至处理器401、501、601的单独存储器芯片中。内部存储器402、502、602可以是易失性或非易失性存储器(诸如闪存),或这两者的混合。出于本说明书的目的,对存储器的一般性引述是指可由处理器401、501、601访问的所有存储器,包括内部存储器402、502、602、插入移动设备的可移动存储器、以及处理器401、501、601自身内的存储器。
上述方法描述和过程流程图仅作为解说性示例提供,且并非旨在要求或暗示各种方面的框必须按所给出的次序来执行。如将由本领域技术人员领会的,前述各方面中的步骤次序可按任何次序来执行。诸如“其后”、“随后”、“接着”等的措辞并非旨在限定框的次序;这些措辞仅是简单地用以指引读者遍历方法的描述。进一步地,对单数形式的权利要求元素的任何引述,例如使用冠词“一”、“某”或“该”的引述不应解释为将该元素限定为单数。
结合本文中所公开的各方面来描述的各种解说性逻辑框、模块、电路、和算法步骤可实现为电子硬件、计算机软件、或这两者的组合。为清楚地解说硬件与软件的这一可互换性,各种解说性组件、块、模块、电路、和步骤在上面是以其功能性的形式作一般化描述的。此类功能性是被实现为硬件还是软件取决于具体应用和施加于整体系统的设计约束。技术人员对于每种特定应用可用不同的方式来实现所描述的功能性,但这样的实现决策不应被解读成导致脱离了本发明的范围。
用以实现结合本文中公开的方面描述的各种例示性逻辑、逻辑框、模块、以及电路的硬件可利用通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其他可编程逻辑器件、分立的门或晶体管逻辑、分立的硬件组件、或其设计成执行本文中描述的功能的任何组合来实现或执行。通用处理器可以是微处理器,但在替换方案中,处理器可以是任何常规的处理器、控制器、微控制器、或状态机。处理器还可以被实现为计算设备的组合,例如DSP与微处理器的组合、多个微处理器、与DSP核心协同的一个或多个微处理器、或任何其他此类配置。替代地,一些步骤或方法可由专用于给定功能的电路系统来执行。
在一个或多个示例性方面中,所描述的功能可在硬件、软件、固件或其任何组合中实现。如果在软件中实现,则各功能可以作为一条或多条指令或代码存储在非易失计算机可读或处理器可读存储介质上或藉其进行传送。本文中公开的方法或算法的步骤可在处理器可执行软件模块中实施,该处理器可执行软件模块可驻留在非瞬态计算机可读或处理器可读存储介质上。非瞬态处理器可读和计算机可读存储介质可以是能被计算机或计算设备的处理器访问的任何可用介质。作为示例而非限定,此类非瞬态处理器可读或计算机可读介质可包括RAM、ROM、EEPROM、CD-ROM或其它光盘存储、磁盘存储或其它磁存储设备、或者可用于携带或存储指令或数据结构形式的期望程序代码且可由计算机或计算设备的处理器访问的任何其它介质。如本文中所使用的盘和碟,包括压缩碟(CD)、激光碟、光碟、数字通用碟(DVD)、软盘和蓝光碟,其中盘(disk)往往以磁的方式再现数据而碟(disc)利用激光以光学方式再现数据。以上的组合也应被包括在非瞬态计算机可读介质的范围内。另外,方法或算法的操作可作为一条代码和/或指令或者代码和/或指令的任何组合或集合而驻留在可被纳入计算机程序产品中的非瞬态处理器可读介质和/或非瞬态计算机可读介质上。
提供了以上对所公开的方面的描述是为了使得本领域任何技术人员皆能够制作或使用本发明。对这些方面的各种修改容易为本领域技术人员所显见,并且在此所定义的普适原理可被应用于其它方面而不会脱离本发明的精神或范围。由此,本发明并非旨在限定于本文中示出的方面,而是应被授予与所附权利要求和本文中公开的原理和新颖性特征一致的最广义的范围。

Claims (109)

1.一种用于处理浏览器中的内容的方法,包括:
在所述浏览器中接收包括一个或多个预执行操作的内容,每个预执行操作与一签名相关联;
使用签名验证过程来验证与所述预执行操作的至少一个相关联的所述签名;
当所述签名验证过程确认所述签名与所述预执行操作相关联时执行第一操作;以及
当所述签名验证过程不确认所述签名与所述预执行操作相关联时执行第二操作。
2.如权利要求1所述的方法,其特征在于,执行第一操作包括结合所述预执行操作。
3.如权利要求1所述的方法,其特征在于,执行第一操作包括跳过与所述预执行操作相关联的浏览器操作。
4.如权利要求1所述的方法,其特征在于,执行第一操作包括更改与所述预执行操作相关联的浏览器操作。
5.如权利要求1所述的方法,其特征在于,执行第二操作包括执行与所述预执行操作相关联的浏览器操作。
6.如权利要求1所述的方法,其特征在于,使用签名验证过程来验证与所述预执行操作相关联的签名包括确定与所述预执行操作相关联的浏览器操作是否可被跳过或不同地执行以达成更好的结果。
7.如权利要求1所述的方法,其特征在于,进一步包括:
对与web页面内容对应的代码执行工具操作以生成至少一个预执行操作;以及
对所述预执行操作签名。
8.如权利要求7所述的方法,其特征在于,对与web页面内容对应的代码执行工具操作以生成至少一个预执行操作包括在离线工具中执行工具操作,所述方法进一步包括:
将经签名的预执行操作发送给所述浏览器。
9.如权利要求7所述的方法,其特征在于,对与web页面内容对应的代码执行工具操作以生成至少一个预执行操作包括在服务器中执行工具操作,所述方法进一步包括:
将经签名的预执行操作发送给正在其上执行所述浏览器的计算设备。
10.如权利要求7所述的方法,其特征在于,对与web页面内容对应的代码执行工具操作以生成至少一个预执行操作包括生成JavaScript。
11.如权利要求7所述的方法,其特征在于,对与web页面内容对应的代码执行工具操作以生成至少一个预执行操作包括生成级联样式表。
12.如权利要求7所述的方法,其特征在于,对与web页面内容对应的代码执行工具操作以生成至少一个预执行操作包括执行源对源变换。
13.如权利要求7所述的方法,其特征在于,对与web页面内容对应的代码执行工具操作包括标记级联样式表的未使用的各部分。
14.如权利要求7所述的方法,其特征在于,对与web页面内容对应的代码执行工具操作以生成至少一个预执行操作包括对与所述web页面内容中的可执行脚本对应的代码执行工具操作以生成至少一个预执行操作。
15.如权利要求7所述的方法,其特征在于,对所述预处理代码签名由验证器来完成。
16.如权利要求7所述的方法,其特征在于,对所述预处理代码签名包括提供证实所述预处理操作中已经遵循某些规则的签名。
17.如权利要求7所述的方法,其特征在于,对与web页面内容对应的代码执行工具操作以生成至少一个预执行操作包括在所述浏览器内执行工具操作。
18.如权利要求17所述的方法,其特征在于,接收包括各自与签名相关联的一个或多个预执行操作的内容包括从正在其上执行所述浏览器的计算设备的存储器中检索经签名的预处理代码。
19.如权利要求18所述的方法,其特征在于,进一步包括将所述第一或第二操作的结果存储在所述计算设备的所述存储器中。
20.如权利要求17所述的方法,其特征在于,对与所述web页面内容中的可执行脚本对应的代码执行工具操作以生成至少一个预执行操作包括预处理所述web页面内容的一部分。
21.如权利要求20所述的方法,其特征在于,进一步包括:
将所述代码的所述经签名的预处理部分包括在web页面内容中;以及
将所述web页面内容发送给正在其上操作所述浏览器的计算设备。
22.一种计算设备,包括:
用于接收包括一个或多个预执行操作的内容的装置,每个预执行操作与一签名相关联;
用于使用签名验证过程来验证与所述预执行操作的至少一个相关联的所述签名的装置;
用于当所述签名验证过程确认所述签名与所述预执行操作相关联时执行第一操作的装置;以及
用于当所述签名验证过程不确认所述签名与所述预执行操作相关联时执行第二操作的装置。
23.如权利要求22所述的计算设备,其特征在于,用于执行第一操作的装置包括用于结合所述预执行操作的装置。
24.如权利要求22所述的计算设备,其特征在于,用于执行第一操作的装置包括用于跳过与所述预执行操作相关联的浏览器操作的装置。
25.如权利要求22所述的计算设备,其特征在于,用于执行第一操作的装置包括用于更改与所述预执行操作相关联的浏览器操作的装置。
26.如权利要求22所述的计算设备,其特征在于,用于执行第二操作的装置包括用于执行与所述预执行操作相关联的浏览器操作的装置。
27.如权利要求22所述的计算设备,其特征在于,用于使用签名验证过程来验证与所述预执行操作相关联的签名的装置包括用于确定与所述预执行操作相关联的浏览器操作是否可被跳过或不同地执行以达成更好的结果的装置。
28.如权利要求22所述的计算设备,其特征在于,进一步包括:
用于对与web页面内容对应的代码执行工具操作以生成至少一个预执行操作的装置;以及
用于对所述预执行操作签名的装置。
29.如权利要求28所述的计算设备,其特征在于,用于对与web页面内容对应的代码执行工具操作以生成至少一个预执行操作的装置包括用于生成JavaScript的装置。
30.如权利要求28所述的计算设备,其特征在于,用于对与web页面内容对应的代码执行工具操作以生成至少一个预执行操作的装置包括用于生成级联样式表的装置。
31.如权利要求28所述的计算设备,其特征在于,用于对与web页面内容对应的代码执行工具操作以生成至少一个预执行操作的装置包括用于执行源对源变换的装置。
32.如权利要求28所述的计算设备,其特征在于,用于对与所述web页面内容对应的代码执行工具操作的装置包括用于标记级联样式表的未使用的各部分的装置。
33.如权利要求28所述的计算设备,其中用于对所述预处理代码签名的装置包括用于在所述计算设备上执行的验证器应用中对所述预处理代码签名的装置。
34.如权利要求28所述的计算设备,其特征在于,用于对所述预处理代码签名的装置包括用于生成证实所述预处理操作中已经遵循某些规则的签名的装置。
35.如权利要求28所述的计算设备,其特征在于,用于对与web页面内容对应的代码执行工具操作以生成至少一个预执行操作的装置包括用于在所述计算设备上执行的浏览器应用内执行工具操作的装置。
36.如权利要求35所述的计算设备,其特征在于,用于接收包括各自与签名相关联的一个或多个预执行操作的内容的装置包括用于从存储器中检索经签名的预处理代码的装置。
37.如权利要求36所述的计算设备,其特征在于,进一步包括用于存储所述第一或第二操作的结果的装置。
38.如权利要求28所述的计算设备,其特征在于,用于对与web页面内容对应的代码执行工具操作以生成至少一个预执行操作的装置包括用于对与所述web页面内容中的可执行脚本对应的代码执行工具操作以生成至少一个预执行操作的装置。
39.如权利要求38所述的计算设备,其特征在于,用于对与所述web页面内容中的可执行脚本对应的代码执行工具操作以生成至少一个预执行操作的装置包括用于预处理所述web页面内容的一部分的装置。
40.一种服务器,包括:
用于对与web页面内容的各部分对应的代码执行工具操作以生成至少一个预执行操作的装置;
用于对所生成的预执行操作签名的装置;
用于将经签名的预处理操作包括在所述web页面内容中的装置;以及
用于将所述web页面内容发送给计算设备的装置。
41.如权利要求40所述的服务器,其特征在于,用于对与web页面内容对应的代码执行工具操作以生成至少一个预执行操作的装置包括用于生成JavaScript的装置。
42.如权利要求40所述的服务器,其特征在于,用于对与web页面内容对应的代码执行工具操作以生成至少一个预执行操作的装置包括用于生成级联样式表的装置。
43.如权利要求40所述的服务器,其特征在于,用于对与web页面内容对应的代码执行工具操作以生成至少一个预执行操作的装置包括用于执行源对源变换的装置。
44.如权利要求40所述的服务器,其特征在于,用于对与web页面内容对应的代码执行工具操作的装置包括用于标记级联样式表的未使用的各部分的装置。
45.如权利要求40所述的服务器,其特征在于,用于对与web页面内容对应的代码执行工具操作以生成至少一个预执行操作的装置包括用于对与所述web页面内容中的可执行脚本对应的代码执行工具操作以生成至少一个预执行操作的装置。
46.如权利要求40所述的服务器,其特征在于,用于对所述预处理代码签名的装置包括用于提供证实所述预处理操作中已经遵循某些规则的签名的装置。
47.一种计算设备,包括:
存储器;以及
耦合至所述存储器的处理器,其中所述处理器配置有处理器可执行指令以执行包括以下操作的操作:
接收包括一个或多个预执行操作的内容,每个预执行操作与一签名相关联;
使用签名验证过程来验证与所述预执行操作的至少一个相关联的所述签名;
当所述签名验证过程确认所述签名与所述预执行操作相关联时执行第一操作;以及
当所述签名验证过程不确认所述签名与所述预执行操作相关联时执行第二操作。
48.如权利要求47所述的计算设备,其特征在于,所述处理器配置有处理器可执行指令以执行操作以使得执行第一操作包括结合所述预执行操作。
49.如权利要求47所述的身佩式计算设备,其特征在于,所述处理器用处理器可执行指令配置成执行操作以使得执行第一操作包括跳过与所述预执行操作相关联的浏览器操作。
50.如权利要求47所述的计算设备,其特征在于,所述处理器配置有处理器可执行指令以执行操作以使得执行第一操作包括更改与所述预执行操作相关联的浏览器操作。
51.如权利要求47所述的计算设备,其特征在于,所述处理器配置有处理器可执行指令以执行操作以使得执行第二操作包括执行与所述预执行操作相关联的浏览器操作。
52.如权利要求47所述的计算设备,其特征在于,所述处理器配置有处理器可执行指令以执行操作以使得使用签名验证过程来验证与所述预执行操作相关联的签名包括确定与所述预执行操作相关联的浏览器操作是否可被跳过或不同地执行以达成更好的结果。
53.如权利要求47所述的计算设备,其特征在于,所述处理器配置有处理器可执行指令以执行进一步包括以下操作的操作:
对与web页面内容对应的代码执行工具操作以生成至少一个预执行操作;以及
对所述预执行操作签名。
54.如权利要求53所述的计算设备,其特征在于,所述处理器被配置有处理器可执行指令以执行操作以使得对与web页面内容对应的代码执行工具操作以生成至少一个预执行操作包括生成JavaScript。
55.如权利要求53所述的计算设备,其特征在于,所述处理器被配置有处理器可执行指令以执行操作以使得对与web页面内容对应的代码执行工具操作以生成至少一个预执行操作包括生成级联样式表。
56.如权利要求53所述的计算设备,其特征在于,所述处理器被配置有处理器可执行指令以执行操作以使得对与web页面内容对应的代码执行工具操作以生成至少一个预执行操作包括执行源对源变换。
57.如权利要求53所述的计算设备,其特征在于,所述处理器被配置有处理器可执行指令以执行操作以使得对与web页面内容对应的代码执行工具操作包括标记级联样式表的未使用的各部分。
58.如权利要求53所述的计算设备,其特征在于,所述处理器配置有处理器可执行指令以执行操作以使得对所述预处理代码签名包括在正在所述计算设备上执行的验证器中对所述预处理代码签名。
59.如权利要求53所述的计算设备,其特征在于,所述处理器被配置有处理器可执行指令以执行操作以使得对所述预处理代码签名包括提供证实所述预处理操作中已经遵循某些规则的签名。
60.如权利要求53所述的计算设备,其特征在于,所述处理器被配置有处理器可执行指令以执行操作以使得对与web页面内容对应的代码执行工具操作以生成至少一个预执行操作包括在所述计算设备上执行的浏览器内执行工具操作。
61.如权利要求60所述的计算设备,其特征在于,所述处理器被配置有处理器可执行指令以执行操作以使得接收包括各自与签名相关联的一个或多个预执行操作的内容包括从所述存储器中检索经签名的预处理代码。
62.如权利要求61所述的计算设备,其特征在于,所述处理器被配置有处理器可执行指令以执行进一步包括将所述第一或第二操作的结果存储在所述存储器中的操作。
63.如权利要求53所述的计算设备,其特征在于,所述处理器被配置有处理器可执行指令以执行操作以使得对与web页面内容对应的代码执行工具操作以生成至少一个预执行操作包括对与所述web页面内容中的可执行脚本对应的代码执行工具操作以生成至少一个预执行操作。
64.如权利要求63所述的计算设备,其特征在于,所述处理器被配置有处理器可执行指令以执行操作以使得对与所述web页面内容中的可执行脚本对应的代码执行工具操作以生成至少一个预执行操作包括预处理所述web页面内容的一部分。
65.一种服务器,包括:
存储器;以及
耦合至所述存储器的处理器,其中所述处理器配置有处理器可执行指令以执行包括以下操作的操作:
对与web页面内容的各部分对应的代码执行工具操作以生成至少一个预执行操作;
对所生成的预执行操作签名;
将经签名的预处理操作包括在所述web页面内容中;以及
将包括所述经签名的预处理操作的所述web页面内容发送给计算设备。
66.如权利要求65所述的服务器,其特征在于,所述处理器配置有处理器可执行指令以执行操作以使得对与web页面内容对应的代码执行工具操作以生成至少一个预执行操作包括生成JavaScript。
67.如权利要求65所述的服务器,其特征在于,所述处理器被配置有处理器可执行指令以执行操作以使得对与web页面内容对应的代码执行工具操作以生成至少一个预执行操作包括生成级联样式表。
68.如权利要求65所述的服务器,其特征在于,所述处理器被配置有处理器可执行指令以执行操作以使得对与web页面内容对应的代码执行工具操作以生成至少一个预执行操作包括执行源对源变换。
69.如权利要求65所述的服务器,其特征在于,所述处理器被配置有处理器可执行指令以执行操作以使得对与web页面内容对应的代码执行工具操作包括标记级联样式表的未使用的各部分。
70.如权利要求65所述的服务器,其特征在于,所述处理器配置有处理器可执行指令以执行操作以使得对与web页面内容对应的代码执行工具操作以生成至少一个预执行操作包括对与所述web页面内容中的可执行脚本对应的代码执行工具操作以生成至少一个预执行操作。
71.如权利要求65所述的服务器,其特征在于,所述处理器被配置有处理器可执行指令以执行操作以使得对所述预处理代码签名包括生成证实所述预处理操作中已经遵循某些规则的签名。
72.一种其上存储有处理器可执行软件指令的非瞬态计算机可读存储介质,所述处理器可执行软件指令被配置成使处理器执行操作,所述操作包括:
接收包括一个或多个预执行操作的内容,每个预执行操作与一签名相关联;
使用签名验证过程来验证与所述预执行操作的至少一个相关联的所述签名;
当所述签名验证过程确认所述签名与所述预执行操作相关联时执行第一操作;以及
当所述签名验证过程不确认所述签名与所述预执行操作相关联时执行第二操作。
73.如权利要求72所述的非瞬态计算机可读存储介质,其特征在于,所存储的处理器可执行软件指令被配置成使处理器执行操作以使得执行第一操作包括结合所述预处理操作。
74.如权利要求72所述的非瞬态计算机可读存储介质,其特征在于,所存储的处理器可执行软件指令被配置成使处理器执行操作以使得执行第一操作包括跳过与所述预处理操作相关联的浏览器操作。
75.如权利要求72所述的非瞬态计算机可读存储介质,其特征在于,所存储的处理器可执行软件指令被配置成使处理器执行操作以使得执行第一操作包括更改与所述预处理操作相关联的浏览器操作。
76.如权利要求72所述的非瞬态计算机可读存储介质,其特征在于,所存储的处理器可执行软件指令被配置成使处理器执行操作以使得执行第二操作包括执行与所述预处理操作相关联的浏览器操作。
77.如权利要求72所述的非瞬态计算机可读存储介质,其特征在于,所存储的处理器可执行软件指令被配置成使处理器执行操作以使得使用签名验证过程来验证与预执行操作相关联的签名包括确定与预执行操作相关联的浏览器操作是否可被跳过或不同地执行以达成更好的结果。
78.如权利要求72所述的非瞬态计算机可读存储介质,其特征在于,所存储的处理器可执行软件指令被配置成使处理器执行进一步包括以下操作的操作:
对与web页面内容对应的代码执行工具操作以生成至少一个预执行操作;以及
对所述预执行操作签名。
79.如权利要求78所述的非瞬态计算机可读存储介质,其特征在于,所存储的处理器可执行软件指令被配置成使处理器执行操作以使得对与web页面内容对应的代码执行工具操作以生成至少一个预执行操作包括生成JavaScript。
80.如权利要求78所述的非瞬态计算机可读存储介质,其特征在于,所存储的处理器可执行软件指令被配置成使处理器执行操作以使得对与web页面内容对应的代码执行工具操作以生成至少一个预执行操作包括生成级联样式表。
81.如权利要求78所述的非瞬态计算机可读存储介质,其特征在于,所存储的处理器可执行软件指令被配置成使处理器执行操作以使得对与web页面内容对应的代码执行工具操作以生成至少一个预执行操作包括执行源对源变换。
82.如权利要求78所述的非瞬态计算机可读存储介质,其特征在于,所存储的处理器可执行软件指令被配置成使处理器执行操作以使得对与web页面内容对应的代码执行工具操作包括标记级联样式表的未使用的各部分。
83.如权利要求78所述的非瞬态计算机可读存储介质,其特征在于,所存储的处理器可执行软件指令被配置成使处理器执行操作以使得对所述预处理代码签名包括在正在其上执行验证器的计算设备中对所述预处理代码签名。
84.如权利要求78所述的非瞬态计算机可读存储介质,其特征在于,所存储的处理器可执行软件指令被配置成使处理器执行操作以使得对所述预处理代码签名包括提供证实预处理操作中已经遵循某些规则的签名。
85.如权利要求78所述的非瞬态计算机可读存储介质,其特征在于,所存储的处理器可执行软件指令被配置成使处理器执行操作以使得对与web页面内容对应的代码执行工具操作以生成至少一个预执行操作包括在浏览器内执行工具操作。
86.如权利要求85所述的非瞬态计算机可读存储介质,其特征在于,所存储的处理器可执行软件指令被配置成使处理器执行操作以使得接收包括各自与签名相关联的一个或多个预执行操作的内容包括从正在其上执行所述浏览器的计算设备的存储器中检索经签名的预处理代码。
87.如权利要求86所述的非瞬态计算机可读存储介质,其特征在于,所存储的处理器可执行软件指令被配置成使处理器执行进一步包括以下操作的操作:
将所述第一或第二操作的结果存储在所述计算设备的所述存储器中。
88.如权利要求78所述的非瞬态计算机可读存储介质,其特征在于,所存储的处理器可执行软件指令被配置成使处理器执行操作以使得对与web页面内容对应的代码执行工具操作以生成至少一个预执行操作包括对与所述web页面内容中的可执行脚本对应的代码执行工具操作以生成至少一个预执行操作。
89.如权利要求88所述的非瞬态计算机可读存储介质,其特征在于,所存储的处理器可执行软件指令被配置成使处理器执行操作以使得对与web页面内容中的可执行脚本对应的代码执行工具操作以生成至少一个预执行操作包括预处理所述web页面内容的一部分。
90.一种其上存储有服务器可执行软件指令的非瞬态计算机可读存储介质,所述服务器可执行软件指令被配置成使服务器执行操作,所述操作包括:
对与web页面内容的各部分对应的代码执行工具操作以生成至少一个预执行操作;
对所生成的预执行操作签名;
将经签名的预处理操作包括在所述web页面内容中;以及
将包括所述经签名的预处理操作的所述web页面内容发送给计算设备。
91.如权利要求90所述的非瞬态计算机可读存储介质,所存储的服务器可执行软件指令被配置成使所述服务器执行操作以使得对与web页面内容对应的代码执行工具操作以生成至少一个预执行操作包括生成JavaScript。
92.如权利要求90所述的非瞬态计算机可读存储介质,其特征在于,所存储的服务器可执行软件指令被配置成使所述服务器执行操作以使得对与web页面内容对应的代码执行工具操作以生成至少一个预执行操作包括生成级联样式表。
93.如权利要求90所述的非瞬态计算机可读存储介质,其特征在于,所存储的服务器可执行软件指令被配置成使所述服务器执行操作以使得对与web页面内容对应的代码执行工具操作以生成至少一个预执行操作包括执行源对源变换。
94.如权利要求90所述的非瞬态计算机可读存储介质,其特征在于,所存储的服务器可执行软件指令被配置成使所述服务器执行操作以使得对与web页面内容对应的代码执行工具操作包括标记级联样式表的未使用的各部分。
95.如权利要求90所述的非瞬态计算机可读存储介质,其特征在于,所存储的服务器可执行软件指令被配置成使所述服务器执行操作以使得对与web页面内容对应的代码执行工具操作以生成至少一个预执行操作包括对与所述web页面内容中的可执行脚本对应的代码执行工具操作以生成至少一个预执行操作。
96.如权利要求90所述的非瞬态计算机可读存储介质,其特征在于,所存储的服务器可执行软件指令配置成使所述服务器执行操作以使得对所述预处理代码签名包括提供证实预处理操作中已经遵循某些规则的签名。
97.一种系统,包括:
客户端设备,包括客户端存储器和耦合至所述客户端存储器的客户端处理器;以及
服务器,包括服务器存储器和耦合至所述服务器存储器的服务器处理器,
其中所述客户端处理器配置有处理器可执行指令以执行包括以下操作的操作:
接收包括一个或多个预执行操作的内容,每个预执行操作与一签名相关联;
使用签名验证过程来验证与所述预执行操作的至少一个相关联的所述签名;
当所述签名验证过程确认所述签名与所述预执行操作相关联时执行第一操作;以及
当所述签名验证过程不确认所述签名与所述预执行操作相关联时执行第二操作,以及
其中所述服务器处理器配置有服务器可执行指令以执行包括以下操作的操作:
对与web页面内容对应的代码执行工具操作以生成至少一个预执行操作;
对所述预执行操作签名;
将经签名的预处理操作包括在所述web页面内容中;以及
将包括所述经签名的预处理操作的所述web页面内容发送给所述计算设备。
98.如权利要求97所述的系统,其特征在于,所述客户端处理器配置有处理器可执行指令以执行操作以使得接收包括各自与签名相关联的一个或多个预执行操作的内容包括从所述服务器接收包括所述经签名的预处理操作的web页面内容。
99.如权利要求97所述的系统,其特征在于,所述客户端处理器配置有处理器可执行指令以执行操作以使得执行第一操作包括结合所述预执行操作。
100.如权利要求97所述的系统,其特征在于,所述客户端处理器配置有处理器可执行指令以执行操作以使得执行第一操作包括跳过与所述预执行操作相关联的浏览器操作。
101.如权利要求97所述的系统,其特征在于,所述客户端处理器配置有处理器可执行指令以执行操作以使得执行第一操作包括更改与所述预执行操作相关联的浏览器操作。
102.如权利要求97所述的系统,其特征在于,所述客户端处理器配置有处理器可执行指令以执行操作以使得执行第二操作包括执行与所述预执行操作相关联的浏览器操作。
103.如权利要求97所述的系统,其特征在于,所述客户端处理器配置有处理器可执行指令以执行操作以使得使用签名验证过程来验证与所述预执行操作相关联的签名包括确定与所述预执行操作相关联的浏览器操作是否可被跳过或不同地执行以达成更好的结果。
104.如权利要求97所述的系统,其特征在于,所述服务器处理器配置有服务器可执行指令以使得对与web页面内容对应的代码执行工具操作以生成至少一个预执行操作包括生成JavaScript。
105.如权利要求97所述的系统,其特征在于,所述服务器处理器配置有服务器可执行指令以使得对与web页面内容对应的代码执行工具操作以生成至少一个预执行操作包括生成级联样式表。
106.如权利要求97所述的系统,其特征在于,所述服务器处理器配置有服务器可执行指令以使得对与web页面内容对应的代码执行工具操作以生成至少一个预执行操作包括执行源对源变换。
107.如权利要求97所述的系统,其特征在于,所述服务器处理器被配置有服务器可执行指令以使得对与web页面内容对应的代码执行工具操作包括标记级联样式表的未使用的各部分。
108.如权利要求97所述的系统,其特征在于,所述服务器处理器配置有服务器可执行指令以使得对与web页面内容对应的代码执行工具操作以生成至少一个预执行操作包括对与所述web页面内容中的可执行脚本对应的代码执行工具操作以生成至少一个预执行操作。
109.如权利要求97所述的系统,其特征在于,所述服务器处理器被配置有服务器可执行指令以使得对所述预处理代码签名包括生成证实所述预处理操作中已经遵循某些规则的签名。
CN201380006540.4A 2012-01-26 2013-01-08 用外部代码认证来降低Web浏览开销 Pending CN104094257A (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201261591141P 2012-01-26 2012-01-26
US61/591,141 2012-01-26
US13/399,126 US9819687B2 (en) 2012-01-26 2012-02-17 Reducing web browsing overheads with external code certification
US13/399,126 2012-02-17
PCT/US2013/020613 WO2013112278A1 (en) 2012-01-26 2013-01-08 Reducing web browsing overheads with external code certification

Publications (1)

Publication Number Publication Date
CN104094257A true CN104094257A (zh) 2014-10-08

Family

ID=48871424

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201380006540.4A Pending CN104094257A (zh) 2012-01-26 2013-01-08 用外部代码认证来降低Web浏览开销

Country Status (7)

Country Link
US (1) US9819687B2 (zh)
EP (1) EP2807586A1 (zh)
JP (1) JP6121447B2 (zh)
KR (1) KR101823016B1 (zh)
CN (1) CN104094257A (zh)
IN (1) IN2014CN04737A (zh)
WO (1) WO2013112278A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109462585A (zh) * 2016-01-08 2019-03-12 北京京东尚科信息技术有限公司 一种自动过滤网络运营商嵌入http响应内容的方法和装置

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8984598B2 (en) * 2012-06-27 2015-03-17 International Business Machines Corporation Web-based security proxy for computing system environment scanning
CN103942137B (zh) * 2013-01-23 2017-08-25 腾讯科技(深圳)有限公司 浏览器兼容性测试方法及装置
EP2767905A1 (en) * 2013-02-15 2014-08-20 Samsung Electronics Co., Ltd Terminal apparatus, server, browser of terminal apparatus operating system and method of operating browser
US9178904B1 (en) * 2013-09-11 2015-11-03 Symantec Corporation Systems and methods for detecting malicious browser-based scripts
US9614900B1 (en) * 2014-06-19 2017-04-04 Amazon Technologies, Inc. Multi-process architecture for a split browser
CN104572837B (zh) 2014-12-10 2019-07-26 百度在线网络技术(北京)有限公司 在网页上提供认证信息的方法及装置
US9436449B1 (en) 2015-06-02 2016-09-06 Microsoft Technology Licensing, Llc Scenario-based code trimming and code reduction
US10305874B2 (en) 2017-06-16 2019-05-28 Microsoft Technology Licensing, Llc Multi-factor execution gateway
CN108306937B (zh) * 2017-12-29 2022-02-25 五八有限公司 短信验证码的发送方法、获取方法、服务器及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101102187A (zh) * 2007-08-09 2008-01-09 上海格尔软件股份有限公司 一种实现自动签名/验证签名功能的方法
US20110239288A1 (en) * 2010-03-24 2011-09-29 Microsoft Corporation Executable code validation in a web browser

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1091276A1 (en) 1999-10-06 2001-04-11 Alcatel Authentication of hypertext kind of resources through signature handling protocol
US7747866B1 (en) 2000-08-24 2010-06-29 Jpmorgan Chase Bank, N.A. System and method providing improved error detection related to transmission of data over a communication link
JP3730498B2 (ja) * 2000-09-19 2006-01-05 株式会社東芝 署名用記憶媒体
US6910128B1 (en) 2000-11-21 2005-06-21 International Business Machines Corporation Method and computer program product for processing signed applets
US8392827B2 (en) 2001-04-30 2013-03-05 International Business Machines Corporation Method for generation and assembly of web page content
US7873706B2 (en) 2003-03-19 2011-01-18 Cgi Communications, Inc. System and method for seamlessly providing video content to client systems over a network
JP2005267593A (ja) 2004-02-16 2005-09-29 Shuji Sonoda ブラウザ装置及びそのプログラム及びブラウジングシステム
US7398433B2 (en) 2004-03-31 2008-07-08 Microsoft Corporation System and method of preventing a web browser plug-in module from generating a failure
US7971194B1 (en) 2005-06-16 2011-06-28 Sap Portals Israel Ltd. Programming language techniques for client-side development and execution
JP2008098795A (ja) 2006-10-10 2008-04-24 Seiko Epson Corp 議事録生成システム
US8549472B1 (en) * 2007-06-12 2013-10-01 Fair Isaac Corporation System and method for web design
JP4997070B2 (ja) 2007-10-31 2012-08-08 京セラドキュメントソリューションズ株式会社 電気機器、画像表示制御方法、及び、画像表示制御プログラム
US8812853B1 (en) * 2008-03-18 2014-08-19 Avaya Inc. Traceability for threaded communications
US20100037317A1 (en) 2008-08-06 2010-02-11 Jeong Wook Oh Mehtod and system for security monitoring of the interface between a browser and an external browser module
US20100037062A1 (en) * 2008-08-11 2010-02-11 Mark Carney Signed digital documents
US8291230B2 (en) 2009-01-20 2012-10-16 International Business Machines Corporation Method and system for signing JavaScript object notation (JSON) messages
US8850211B2 (en) * 2009-04-27 2014-09-30 Qualcomm Incorporated Method and apparatus for improving code and data signing
US9424236B2 (en) * 2011-04-26 2016-08-23 Oracle International Corporation Filtered Stylesheets

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101102187A (zh) * 2007-08-09 2008-01-09 上海格尔软件股份有限公司 一种实现自动签名/验证签名功能的方法
US20110239288A1 (en) * 2010-03-24 2011-09-29 Microsoft Corporation Executable code validation in a web browser

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109462585A (zh) * 2016-01-08 2019-03-12 北京京东尚科信息技术有限公司 一种自动过滤网络运营商嵌入http响应内容的方法和装置

Also Published As

Publication number Publication date
JP6121447B2 (ja) 2017-04-26
IN2014CN04737A (zh) 2015-09-18
WO2013112278A1 (en) 2013-08-01
US20130198612A1 (en) 2013-08-01
KR20140114446A (ko) 2014-09-26
KR101823016B1 (ko) 2018-01-29
US9819687B2 (en) 2017-11-14
JP2015515657A (ja) 2015-05-28
EP2807586A1 (en) 2014-12-03

Similar Documents

Publication Publication Date Title
CN104094257A (zh) 用外部代码认证来降低Web浏览开销
AU2020215026B2 (en) Using on-demand applications to generate virtual numbers for a contactless card to securely autofill forms
CN111311251B (zh) 绑定处理方法、装置及设备
CN110784450A (zh) 一种基于浏览器的单点登录方法和装置
CN112966196A (zh) 一种网页聚合支付的跳转控制方法、装置、系统及介质
CN101226569A (zh) 在虚拟机中验证代码模块的方法及装置
US20140172741A1 (en) Method and system for security information interaction based on internet
US9065806B2 (en) Internet based security information interaction apparatus and method
CN102664874B (zh) 一种安全登陆的方法和系统
CN111625782B (zh) 源码的访问权限控制方法、装置、计算机设备和存储介质
CN112434348B (zh) 数据的验证处理方法、装置及设备
CN111788801B (zh) 用于数据访问的多级机器人架构
CN111770072B (zh) 一种单点登录接入功能页面的方法和装置
CN101080695B (zh) 允许安全使用程序模块的方法与设备
US7020872B1 (en) Method for verifying code transformers for an incorporated system, in particular in a chip card
CN108885651B (zh) 凭证许可服务
CN113672750A (zh) 基于区块链的数据处理方法及装置
KR20230094701A (ko) 스마트 컨트랙트와 서면 계약서 간의 동등성을 증명하는 방법 및 장치
CN113378549A (zh) 单证校验方法、装置、计算机设备及存储介质
CN114398068A (zh) 渠道接入的方法、系统、电子装置及存储介质
CN117313069A (zh) 基于页面公共头的单点登录方法、系统、设备和存储介质
CN117318934A (zh) 芯片灌装数据的生成方法、装置、电子设备及介质
WO2024102539A1 (en) Near-field communication functionality for partial applications accessed over a network
CN115664699A (zh) 标识编码的生成和校验方法、设备、介质和计算机程序产品
CN111027042A (zh) 一种行为验证码的校验方法、装置和存储介质

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20141008

WD01 Invention patent application deemed withdrawn after publication