专利名称:一种智能电视应用的授权方法、系统及智能电视的制作方法
技术领域:
本发明涉及数字电视领域,特别是涉及一种智能电视应用的授权方法、系统及智能电视。
背景技术:
随着计算机芯片技术和互联网技术的迅速发展,智能电视已经成为新的市场热点,搭载了高性能处理器和宽带互联网接口的电视机,不仅能够接收传统的电视节目,还可以内置或安装各种应用软件。智能电视和计算机越来越同质化,但是智能电视与计算机还是有着明显的区别,首先,智能电视仍然以电视为主,有着类似于数字电视有条件接入的授权需求,只有通过厂家和服务商授权的用户允许使用服务,对于非法用户和恶意欠费用户要能实现停机封号;其次,智能电视对系统的稳定性要求比计算机更高,不运行用户随意安 装应用,只允许安装经过厂家授权的应用,所以相对计算机来说较为封闭;再次,一个厂家可能有多个不同的应用提供商,厂家要保证应用提供商的利益,必须要对所有应用进行授权控制,保证只有通过认证的应用才能下载和安装到智能电视上,以及应用只提供给已授权的用户使用。目前市场上对智能电视应用的授权功能,没有形成一个系统、规范的做法。许多厂家使用生产时在电视上固化授权文件的方式进行授权,该方法需要在生产时管理每台及其的授权文件,导致了生产流程的繁琐和效率地下,并且非常容易出错,难以管理,同时授权文件固化后无法更改,容易被盗用。
发明内容
本发明主要解决的技术问题是提供一种智能电视应用的授权方法,还提供相应的系统和智能电视,能够将智能电视的机器授权和应用授权相结合,形成一个规范的授权系统,对智能电视的机器授权和应用授权进行灵活地管理,也解决了现阶段在智能电视的授权机制中授权文件固化后无法更改,容易被盗用的问题。为解决上述技术问题,本发明采用的一个技术方案是提供一种智能电视应用的授权方法,包括应用启动,智能电视判断是否保存有机器授权信息;若保存有机器授权信息,则智能电视查找该应用对应的用户证书,其包括有效期终止时间;若查找到所述用户证书,则读取所述用户证书;以及根据所述有效期终止时间判断所述用户证书是否有效,若所述用户证书有效,则启动所述应用。其中,所述方法还包括若没有查找到所述用户证书,则向服务器发送用户证书请求消息,服务器根据该请求消息返回用户证书后,智能电视接收并保存该用户证书,其中,所述用户证书由所述智能电视从服务器端请求授权取得并保存在智能电视中。其中,所述方法还包括若没有机器授权信息,则从服务器获取所述机器授权信
肩、O其中,所述从服务器获取所述机器授权信息的步骤包括向所述服务器发送机器授权请求消息,该请求消息包括有设备的硬件唯一标识和设备所属厂商信息;接收服务器根据所述设备的硬件唯一标识和设备所属厂商信息返回的机器授权信息。为解决上述技术问题,本发明采用的另一个技术方案是提供一种智能电视,所述智能电视包括第一判断模块,用于在应用启动时,智能电视判断是否保存有机器授权信息;查找模块,用于在保存有机器授权信息时,智能电视查找所述应用对应的用户证书,所述用户证书包括有效期终止时间;读取模块,用于在查找到所述用户证书时,读取所述用户证书;第二判断模块,用于根据所述有效期终止时间判断所述用户证书是否有效;以及启动模块,用于在所述用户证书有效时,启动所述应用。其中,所述智能电视还包括发送模块,用于在没有查找到所述用户证书时,向服务器发送用户证书请求消息;接收模块,用于在所述服务器根据所述用户证书请求消息返回用户证书后,接收并保存该用户证书。 其中,所述智能电视还包括机器授权信息获取模块,用于在没有机器授权信息时,从服务器获取所述机器授权信息,其中,所述机器授权信息保存在非挥发性记忆体中。其中,所述机器授权信息获取模块包括发送单元,用于向所述服务器发送机器授权请求消息,该请求消息包括有设备的硬件唯一标识和设备所属厂商信息;接收单元,用于接收所述服务器根据所述设备的硬件唯一标识和设备所属厂商信息返回的机器授权信息。为解决上述技术问题,本发明采用的又一个技术方案是提供一种智能电视应用的授权系统,所述系统包括智能电视和服务器,所述智能电视在应用启动时,首先判断是否保存有机器授权信息,如果保存有机器授权信息,查找所述应用对应的用户证书,该用户证书包括有效期终止时间,如果查找到所述用户证书,再读取所述用户证书,并根据所述有效期终止时间判断该用户证书是否有效,如果所述用户证书有效,则启动所述应用;如果没有机器授权信息,则所述智能电视向所述服务器发送机器授权请求消息,所述机器授权请求消息包括设备的硬件唯一标识和设备所属厂商信息,所述智能电视接收所述服务器根据所述设备的硬件唯一标识和设备所属厂商信息返回的机器授权信息;所述服务器,用于接收所述智能电视发送的机器授权请求消息,并根据所述设备的硬件唯一标识和所述设备所属厂商信息判断保存在本地的与所述设备所属厂商信息对应的硬件标识库中是否存在设备的硬件唯一标识,如果存在,则向所述智能电视发送机器授权信息,如果不存在,则向所述智能电视发送授权失败信息。其中,所述智能电视还用于在没有查找到所述用户证书时,向服务器发送用户证书请求消息,在向服务器发送用户证书请求消息后,接收并保存所述服务器返回的用户证书,所述用户证书请求消息包括智能电视的机器授权请求消息和所述应用的唯一标识,所述机器授权请求消息包括所述智能电视的标识码;所述服务器还用于接收所述用户证书请求消息,并根据已接收的用户证书请求消息中携带的机器授权请求消息判断是否允许所述智能电视使用所述应用,如果允许所述智能电视使用所述应用,再根据所述应用的唯一标识判断对应的应用是否为免费,如果不是免费,再判断服务器中是否保存有与所述机器授权请求消息中携带的智能电视标识码相同的标识码,如果所述应用为免费或者服务器中保存有与所述机器授权请求消息中携带的智能电视标识码相同的标识码,则向所述智能电视发送用户证书;如果不允许所述智能电视使用所述应用,则向所述智能电视发送错误信息。其中,所述服务器还用于在判断出所述智能电视没有购买所述应用时,向所述智能电视发送应用购买提示;所述智能电视还用于在接收所述应用购买提示时,接收用户输入的确认购买信息,并通过支付接口扣费,扣费成功后再次向所述服务器发送用户证书请求消息。本发明的有益效果是本发明通过以机器授权作为一个统一的开关,应用授权建立在机器授权的基础上,对智能电视上不同的应用进行授权;如果机器授权不合法,所有应用都无法使用了 ;但如果机器授权合法,也可能某些应用因为厂商合作策略的不同,这些应用要另外授权才能使用;如此将机器授权和应用授权两者结合起来,形成一个规范的授权系统,对智能电视的机器授权和应用授权进行灵活地管理,同时也解决了现阶段在智能电视的授权机制中授权文件固化后无法更改,容易被盗用的问题。
图I是本发明智能电视应用的授权方法实施例智能电视端的数据流程图;图2是本发明智能电视应用的授权方法实施例服务器端的数据流程图;图3是本发明智能电视应用的授权方法实施例服务器端的另一数据流程图;图4是本发明智能电视的逻辑结构示意图;图5是本发明智能电视应用的授权系统实施例的数据流程图。
具体实施例方式请参阅图I至图3,本发明智能电视应用的授权方法包括如下步骤步骤101、应用启动时,智能电视判断本地是否保存有机器授权信息;一个应用需要启动,首先本智能电视必须是经过授权的,经过授权的智能电视在本地的指定地址保存有机器授权信息,所以在应用启动时,首先需要判断本地是否保存有机器授权信息;步骤102、向服务器发送机器授权请求消息;如果应用启动时,在本地的指定地址没有保存机器授权信息,则需要向服务器申请机器授权,即向服务器发送机器授权请求消息,该授权请求消息包括本智能电视的设备硬件唯一标识、设备所属厂商信息、设备的机器型号特征信息、按照某个特定加密算法生成的机器编码等等,这些数据都是以高级加密标准AES加密方式提交;这些数据通过HTTP的POST方式提交给服务器,POST请求体内增加自定义的请求头段,存放请求体内数据的签名信息、时间戳信息、AES密钥的种子以及协议版本号等等;步骤103、接收服务器返回的机器授权信息;服务器返回机器授权信息后,智能电视接收该机器授权信息;具体的智能电视接收到HTTP响应后,根据接收的不同信息进行不同的处理,如果服务器返回的是请求错误信息,则提示出错;如果服务器返回的是授权失败信息,如本智能电视的状态是已授权但是状态不正常如停机,则将以前获得的机器授权信息清理,如未授权,则返回未授权提示给用户;如果服务器返回的是机器授权信息,则按本次请求时的密钥解密该机器授权信息和MD5摘要,分析该机器授权信息内容,记录该机器授权信息中携带的授权号到本地;步骤104、查找应用对应的用户证书;
如果查找到本地保存有机器授权信息,说明本设备已经经过服务器的授权,再查找待启动的应用对应的用户证书;步骤105、判断是否查找到该用户证书;判断是否查找到该用户证书,如果本地保存有该应用对应的用户证书,则执行步骤108 ;如果本地没有该应用对应的用户证书,则执行步骤106 ;步骤106、向服务器发送用户证书请求消息;如果判断出本地没有该应用对应的用户证书,则需要向服务器申请用户证书,SP以HTTP协议的POST方式向服务器发送用户证书请求消息,该用户证书请求消息包括本设备经机器授权的授权号、该应用的唯一标识、设备的机器型号特征信息等数据,并对这些数据进行签名;步骤107、接收并保存服务器返回的用户证书; 服务器返回该应用对应的用户证书后,智能电视接收并保存该用户证书;步骤108、读取该用户证书;如果查找到该应用对应的用户证书或者向服务器端请求到该应用对应的用户证书,则从保存的地址读取该用户证书;步骤109、根据有效期终止时间判断用户证书是否有效;根据用户证书中的有效期终止时间判断该用户证书是否处于有效状态,如果处于有效状态,则执行步骤110 ;如果该用户证书已经超过有效期,则执行步骤111 ;步骤110、启动该应用;如果该应用对应的用户证书还处于有效状态,则启动该应用;步骤111、提示错误;如果该应用对应的用户证书已经失效,则提示错误,结束流程;其中,服务器接收智能电视发送的机器授权请求消息后的执行流程如图2所示,具体的步骤201、服务器接收智能电视发送的机器授权请求消息;步骤202、解析机器授权请求消息;服务器接收到智能电视发送的机器授权请求消息后,先按照机器授权请求消息的头文件中自定义请求头段传递的AES密钥的种子,然后按照协议版本号规定的算法还原出AES加密用密钥,再对数据进行解密和签名验证,解密的数据有设备硬件唯一标识、设备所属厂商信息、设备的机器型号特征信息等等;步骤203、判断该请求是否合法;如果服务器能根据机器授权请求消息解析出需要的信息,说明该请求是合法的,再执行步骤205 ;如果根据机器授权请求消息不能解析出需要的信息或者解析出错误的信息,则判定该请求不合法,执行步骤204 ;步骤204、向智能电视返回请求错误信息;如果步骤203判断出智能电视的请求不合法,则向智能电视返回请求错误信息;步骤205、判断本地是否有相匹配的设备硬件唯一标识码;如果步骤203判断出智能电视的请求合法,则再判断本地是否有相匹配的设备硬件唯一标识码,具体的,首先根据设备所属厂商信息查找对应的硬件标识表,该硬件标识表中记录了所有该厂商提供的智能电视的设备硬件唯一标识,再根据从机器授权请求消息中解析出的设备硬件唯一标识在该硬件标识表中查找是否有相同的设备硬件唯一标识,如果查找到有相同的设备硬件唯一标识,则执行步骤206 ;如果没有查找到有相同的设备硬件唯一标识,则说明该智能电视的设备硬件唯一标识是冒充的,该厂商并未生产与该设备硬件唯一标识对应的智能电视,执行步骤207 ;进一步的,为了确保授权的安全性,防止不法盗取设备所属厂商信息和设备硬件唯一标识等注册信息,在在该硬件标识表中查找到有相同的设备硬件唯一标识后,再进一步地根据从机器授权请求消息中解析出来的设备的机器型号特征信息与预先保存在服务器本地的与该设备硬件唯一标识对应的设备的机器型号特征信息进行比较,如果一致,则执行步骤206 ;如果从机器授权请求消息中解析出来的设备的机器型号特征信息与预先保存在服务器本地的与该设备硬件唯一标识对应的设备的机器型号特征信息不一致,则说明该智能电视的设备硬件唯一标识是冒充的,该厂商并未生产与该设备硬件唯一标识对应的智能电视,执行步骤207 ;
步骤206、判断该智能电视的状态是否正常;如果步骤205中判断出有相匹配的设备硬件唯一标识码,则再判断该智能电视的状态是否正常,例如该智能电视如果为不准入网状态,或者是已经停机等等,则说明该智能电视的状态不正常,如果不正常,则执行步骤207,如果该智能电视的状态正常,则执行步骤208 ;步骤207、向智能电视返回授权失败消息;如果步骤205中判断出在服务器本地没有相匹配的设备硬件唯一标识码,或者步骤206中判断出该智能电视的状态为非正常状态,则向智能电视返回授权失败信息;步骤208、向智能电视返回机器授权信息;如果步骤206中判断出该智能电视的状态为正常,则向智能电视返回机器授权信息,该机器授权信息包括一个授权号和一个消息摘要算法第五版MD5摘要,并米用AES加密的方式,在HTTP相应体中返回;MD5摘要确保了机器授权信息中的授权号确实是分配给该智能电视的;其中,服务器接收智能电视发送的用户证书请求消息后的执行流程如图3所示,具体的步骤301、服务器接收智能电视发送的用户证书请求消息;步骤302、解析用户证书请求消息;服务器接收到智能电视发送的用户证书请求消息后,先解析出该用户证书请求消息携带的数据,例如授权号、该应用的唯一标识、设备的机器型号特征信息、签名等数据,先进行验证,具体的判断解析的参数是否是正确的,签名是否于该智能电视在请求机器授权时提交的签名一致,根据应用的唯一标识判断该应用是否存在等等,如果验证不通过则直接返回错误信息;如果验证通过,则继续执行步骤303 ;步骤303、判断是否允许该智能电视使用该应用;如果用户证书请求消息解析完毕,并且解析的数据通过验证后,再判断是否允许该智能电视使用该应用,如果允许该智能电视使用该应用,则执行步骤305 ;如果不允许该智能电视使用该应用,则执行步骤304 ;
步骤304、向智能电视返回错误信息;如果步骤303中判断出不允许该智能电视使用该应用,则向智能电视返回错误信息;步骤305、判断该应用是否免费;如果步骤303中判断出允许该智能电视使用该应用,再判断该应用是否免费,如果该应用是免费的,则执行步骤308,如果该应用不是免费的,则执行步骤306 ;步骤306、判断该智能电视是否已经购买该应用;如果步骤305判断出被请求的应用为收费应用,再判断是否已经对该应用进行购买,如果已经购买,并且没有超过用户已经发放证书的智能电视总数的限制,则执行步骤 308 ;如果已经购买,但是已经超过了用户发放证书的智能电视总数的限制,比如用户购买了一次,已经给5个智能电视发放了用户证书,且系统设置最大总数为5个,则如果下次请求的智能电视不在这5个的范围内,就认为是非法的请求,拒绝发放用户证书,返回错误信息;如果没有购买该应用,即从未购买过或者购买已经过期,则执行步骤307 ;步骤307、向智能电视返回应用的购买提示;如果智能电视没有购买该应用,则返回一个流水交易号和一个付费地址给该智能电视,智能电视提示用户是否购买,用户如果不选择购买,则流程终止,如果选择购买,则会自动打开浏览器,访问返回的付费地址,并提交流水交易号、购买应用编号等信息;用户选择付费方式、付费渠道进行支付,如果用户中途关闭浏览器不继续付费,则流程自动终止;如果付费失败,提示错误,流程终止;如果付费成功,则提示付费成功,用户可以重新启动应用,应用重新启动后,该智能电视会再次向服务器发送用户证书请求消息;步骤308、向智能电视返回该应用对应的用户证书;如果判断出该应用为免费的,或者已经购买该应用,则向智能电视返回该应用对应的用户证书;用户证书记录了当前应用授权给当前智能电视的相关信息,采用了标准的X509证书结构的Version3,并增加了自定义属性部分,以完成应用授权相关的功能,一个完整的证书结构包括I、证书版本由于需要支持自定义扩展字段,我们需要使用版本3 ;2、序列号每个证书都有一个序列号;3、签名算法标识符指明证书签名的算法,一般用RSA加密算法;4、签发人姓名签发证书的实体的X. 500名称;5、有效期指定证书本身的生效时间和失效时间;6、主体名证书可以识别其公钥的实体名;此名称使用X. 500标准,因此在Internet中应是唯一的。它是实体的特征名(DN),例如,CN=Java Duke,OU=Java SoftwareDivision, O=Sun Microsystems Inc, C=US (这些指主体的通用名、组织单位、组织和国家);7、主体公钥信息这是被命名实体的公钥,同时包括指定该密钥所属公钥密码系统的算法标识符及所有相关的密钥参数;8、证书签名信息对证书内容的签名。该签名信息为证书内容的MD5摘要值,再用RSA算法的私钥进行加密得到的加密串;RSA加密算法密钥对,使用现有的widget server采用的密钥对,不记录在文档中(保密);
9、自定义属性段是本证书最关键的,和业务相关的部分,包括如下自定义属性a)拥有证书的应用的编号表不该证书是属于哪个应用;b)拥有证书的电视的授权号表示证书只发给该电视使用;c)拥有证书的用户号保留给那些一台电视多个账户的情况下,填入用户账号;d)终端厂商号表示证书只发给该厂商的终端,如果设置为空,表示不限制厂商,多个厂商号以竖线分隔;e)证书拥有者型号特征码表示该证书只发给该型号特征码的电视使用;f)本应用购买权限类型0免费I按次2包时段;
g)有效期开始时间等同于购买时间;h)有效期终止时间免费时表示失效时间,按次这里是允许应用运行的次数,包时段是包时段到期时间;进一步的,由于本实施例中的授权模式需要在线方式进行,用户购买智能电视后如果不联网,则无法完成授权;所以该授权模式产生出一种变化,就是离线预置证书模式,具体的该模式情况下,由服务器给同型号智能电视统一发放一个默认的内置证书,对同型号的智能电视,其机器授权信息都是一样的,所有的内置应用的用户证书也都是一样的,证书内没有指定发放给哪台智能电视,只指定发放给指定厂商的指定智能电视型号;当用户永不联网的情况下,可以使用内置的不需要联网的应用,如果用户联网了,则默认内置证书会自动通过网络发送到服务器,更新为正式的用户证书;在本实施例中,在应用启动时,先判断本地是否有机器授权信息和该应用对应的用户证书,如果有机器授权信息和用户证书,并且该用户证书有效,才启动该应用;正因为机器授权和应用授权结合,机器授权给每台智能电视分配了唯一的授权码,应用授权才能够根据该唯一的授权码控制这个业务是否能在这台机器上进行,而对应用的控制则通过服务端发放证书的方式进行,通过服务端的控制逻辑,灵活定各个应用的制授权业务,比如应用的用户证书能够控制到该应用能允许哪些厂商使用,允许厂商的哪些智能电视使用,使用是控制次数,还是控制时间等等;通过这种方式,能够非常灵活地控制各个智能电视的机器授权以及各个智能电视中各个应用的授权,易于管理,并且避免了授权文件固化后无法更改容易被盗的情况。请参阅图4,本发明智能电视的实施例包括第一判断模块401,用于当应用启动时,智能电视判断本地是否保存有机器授权信息;查找模块402,用于在保存有机器授权信息时,智能电视查找与该应用对应的用户证书,其中,用户证书包括有效期终止时间;读取模块403,用于当查找模块402查找到用户证书时,读取该用户证书;第二判断模块404,用于根据用户证书中的有效期终止时间判断该用户证书是否有效;以及启动模块405,用于当用户证书有效时,启动该用户证书对应的应用;进一步的,本实施例中的设备还包括发送模块406,用于当没有查找到该应用对应的用户证书时,向服务器发送用户证书请求消息,其中,该用户证书请求消息包括本设备经机器授权的授权号、该应用的唯一标识、设备的机器型号特征信息等数据,并对这些数据进行的签名;接收模块407,用于当服务器根据用户证书请求消息返回用户证书后,接收并保存该用户证书;进一步的,本实施例中的设备还包括机器授权信息获取模块408,用于当第一判断模块401判断出本地没有机器授权信息时,从服务器获取该机器授权信息,其中,该机器授权信息保存在非挥发性记忆体中;进一步的,机器授权信息获取模块408包括发送单元,用于向服务器发送机器授权请求消息,其中,该机器授权请求消息包括本设备的硬件唯一标识、本设备所属厂商信息、设备的机器型号特征信息、按照某个特定加密算法生成的机器编码等等;
接收单元,用于接收服务器根据本设备的硬件唯一标识和本设备所属厂商信息返回的机器授权信息,其中,该机器授权信息包括一个授权号和一个消息摘要算法第五版MD5摘要,并采用AES加密的方式,在HTTP相应体中返回;MD5摘要确保了机器授权信息中的授权号确实是分配给该智能电视的;在本实施例中,以机器授权作为一个统一的开关,应用授权建立在机器授权的基础上,对智能电视上不同的应用进行授权;如此将机器授权和应用授权两者结合起来,形成一个规范的授权系统,对智能电视的机器授权和应用授权进行灵活地管理,同时也解决了现阶段的授权机制中授权文件固化后无法更改,容易被盗用的问题。请参阅图5,本发明智能电视应用的授权系统的实施例包括本实施例中的智能电视应用授权系统包括智能电视和服务器,在服务器端,首先需要各个厂商按照规定提供所生产的智能电视的硬件唯一标识码列表,例如MAC地址列表;再将该硬件唯一标识码列表导入服务器的数据库保存,其中,厂商和硬件唯一标识码列表是对应的,每个厂商提供的硬件唯一标识码列表中的硬件唯一标识码不能重复;导入硬件唯一标识码列表后,再批量地将硬件唯一标识码列表中的硬件唯一标识码进行授权,具体的可以根据硬件唯一标识码逐条生成数据到授权信息表,但状态为未激活;上述为机器授权中的预授权,授权激活需要智能电视向服务器进行申请,以用户新买一台智能电视后对该智能电视进行机器授权和相关的业务授权为例进行具体说明步骤I、智能电视向服务器发送机器授权请求消息;如果应用启动时,在本地的指定地址没有保存机器授权信息,则需要向服务器申请机器授权,即向服务器发送机器授权请求消息,该授权请求消息包括本智能电视的设备硬件唯一标识、设备所属厂商信息、设备的机器型号特征信息、按照某个特定加密算法生成的机器编码等等,这些数据都是以高级加密标准AES加密方式提交;这些数据通过HTTP的POST方式提交给服务器,POST请求体内增加自定义的请求头段,存放请求体内数据的签名信息、时间戳信息、AES密钥的种子以及协议版本号等等;步骤2、服务器解析机器授权请求消息;服务器接收到智能电视发送的机器授权请求消息后,先按照机器授权请求消息的头文件中自定义请求头段传递的AES密钥的种子,然后按照协议版本号规定的算法还原出AES加密用密钥,再对数据进行解密和签名验证,解密的数据有设备硬件唯一标识、设备所属厂商信息、设备的机器型号特征信息等等;步骤3、判断是否向智能电视返回机器授权信息;服务器解析机器授权请求消息后,再根据解析的数据判断是否向智能电视返回机器授权信息,具体的首先判断该智能电视的请求是否合法,如果请求合法,再判断本地是否有相匹配的设备硬件唯一标识码,具体的,首先根据设备所属厂商信息查找对应的硬件标识表,该硬件标识表中记录了所有该厂商提供的智能电视的设备硬件唯一标识,再根据从机器授权请求消息中解析出的设备硬件唯一标识在该硬件标识表中查找是否有相同的设备硬件唯一标识,如果查找到有相同的设备硬件唯一标识,再判断该智能电视的状态是否正常,如果该智能电视的状态正常,则执行步骤4. 2 ;如果判断出该智能电视的请求不合法,则执行步骤4. I向智能电视返回请求错误
信息;如果判断出在服务器本地没有相匹配的设备硬件唯一标识码,则说明该智能电视的设备硬件唯一标识是冒充的,该厂商并未生产与该设备硬件唯一标识对应的智能电视,执行步骤4. I向智能电视返回授权失败消息;如果判断出该智能电视的状态不正常,例如该智能电视如果为不准入网状态,或者是已经停机等等,则说明该智能电视的状态不正常,执行步骤4. I向智能电视返回授权失败消息;步骤4. I、向智能电视返回请求错误信息或者授权失败信息;步骤4. 2、向智能电视返回机器授权信息;如果服务器判断出可以向智能电视返回机器授权信息,则向智能电视返回机器授权信息,该机器授权信息包括一个授权号和一个消息摘要算法第五版MD5摘要,并米用AES加密的方式,在HTTP相应体中返回;MD5摘要确保了机器授权信息中的授权号确实是分配给该智能电视的;步骤5、智能电视向服务器发送与当前应用对应的用户证书请求消息;智能电视接收到HTTP响应后,根据接收的不同信息进行不同的处理,如果服务器返回的是请求错误信息,则提示出错;如果服务器返回的是授权失败信息,如本智能电视的状态是已授权但是状态不正常如停机,则将以前获得的机器授权信息清理,如未授权,则返回未授权提示给用户;如果服务器返回的是机器授权信息,则按本次请求时的密钥解密该机器授权信息和MD5摘要,分析该机器授权信息内容,记录该机器授权信息中携带的授权号到本地;完成机器授权后,还需要对应用进行授权,首先,智能电视向服务器发送与当前应用对应的用户证书请求消息,具体的,以HTTP协议的POST方式向服务器发送用户证书请求消息,该用户证书请求消息包括本设备经机器授权的授权号、该应用的唯一标识、设备的机器型号特征信息等数据,并对这些数据进行签名;步骤6、服务器解析用户证书请求消息;服务器接收智能电视发送的用户证书请求消息后,先解析出该用户证书请求消息携带的数据,例如授权号、该应用的唯一标识、设备的机器型号特征信息、签名等数据,先进行验证,具体的判断解析的参数是否是正确的,签名是否于该智能电视在请求机器授权时提交的签名一致,根据应用的唯一标识判断该应用是否存在等等,如果验证不通过则直接返回错误信息;如果验证通过,再执行步骤7 ;步骤7、判断是否向智能电视返回该应用对应的用户证书;如果用户证书请求消息解析完毕,并且解析的数据通过验证后,再判断是否允许该智能电视使用该应用,如果允许该智能电视使用该应用,再判断该应用是否免费,如果该应用是免费的,或者该应用是收费的但是已经对该应用进行购买,并且没有超过用户已经发放证书的智能电视总数的限制,执行步骤8. 2 ;如果判断出不允许该智能电视使用该应用,执行步骤8. I ;如果判断出该应用不是免费的,并且未购买,则提示用户进行购买,具体的返回一个流水交易号和一个付费地址给该智能电视,智能电视提示用户是否购买,用户如果不选择购买,则流程终止,如果选择购买,则会自动打开浏览器,访问返回的付费地址,并提交流水交易号、购买应用编号等信息;用户选择付费方式、付费渠道进行支付,如果用户中途 关闭浏览器不继续付费,则流程自动终止;如果付费失败,提示错误,流程终止;如果付费成功,则提示付费成功,用户可以重新启动应用,应用重新启动后,该智能电视会再次向服务器发送用户证书请求消息;如果判断出该应用不是免费的,且已经购买,但是已经超过了用户发放证书的智能电视总数的限制,比如用户购买了一次,已经给5个智能电视发放了用户证书,且系统设置最大总数为5个,则如果下次请求的智能电视不在这5个的范围内,就认为是非法的请求,拒绝发放用户证书,执行步骤8. I ;步骤8. I、向智能电视返回错误信息;步骤8. 2、向智能电视返回用户证书;如果判断出可以向智能电视返回该应用对应的用户证书,则向智能电视返回用户证书,其中,用户证书记录了当前应用授权给当前智能电视的相关信息,采用了标准的X509证书结构的Version3,并增加了自定义属性部分,以完成应用授权相关的功能,完整的证书结构具体的请参阅智能电视应用的授权方法实施例中的描述,此处不做赘述;总之,本发明以机器授权作为一个统一的开关,应用授权建立在机器授权的基础上,如果机器授权不合法,所有应用都无法使用;如果机器授权合法,应用也要另外授权才能使用;通过这种方式,将机器授权和应用授权两者结合起来,形成一个规范的授权系统,实现对智能电视的机器授权和应用授权的灵活管理,同时也解决了现阶段在智能电视的授权机制中授权文件固化后无法更改,容易被盗用的问题。以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
权利要求
1.一种智能电视应用的授权方法,其特征在于,包括如下步骤 应用启动,智能电视判断是否保存有机器授权信息; 若保存有机器授权信息,则智能电视查找该应用对应的用户证书,其包括有效期终止时间; 若查找到所述用户证书,则读取所述用户证书;以及 根据所述有效期终止时间判断所述用户证书是否有效,若所述用户证书有效,则启动所述应用。
2.根据权利要求I所述的方法,其特征在于,所述方法还包括 若没有查找到所述用户证书,则向服务器发送用户证书请求消息,服务器根据该请求消息返回用户证书后,智能电视接收并保存该用户证书,其中,所述用户证书由所述智能电视从服务器端请求授权取得并保存在智能电视中。
3.根据权利要求I所述的方法,其特征在于,所述方法还包括 若没保存有机器授权信息,则从服务器获取所述机器授权信息。
4.根据权利要求3所述的方法,其特征在于,所述从服务器获取所述机器授权信息的步骤包括 向所述服务器发送机器授权请求消息,该请求消息包括有设备的硬件唯一标识和设备所属厂商信息; 接收服务器根据所述设备的硬件唯一标识和设备所属厂商信息返回的机器授权信息。
5.一种智能电视,其特征在于,包括 第一判断模块,用于在应用启动时,智能电视判断是否保存有机器授权信息; 查找模块,用于在保存有机器授权信息时,查找所述应用对应的用户证书,所述用户证书包括有效期终止时间; 读取模块,用于在查找到所述用户证书时,读取所述用户证书; 第二判断模块,用于根据所述有效期终止时间判断所述用户证书是否有效;以及 启动模块,用于在所述用户证书有效时,启动所述应用。
6.根据权利要求5所述的智能电视,其特征在于,所述智能电视还包括 发送模块,用于在没有查找到所述用户证书时,向服务器发送用户证书请求消息; 接收模块,用于在所述服务器根据所述用户证书请求消息返回用户证书后,接收并保存该用户证书。
7.根据权利要求5所述的智能电视,其特征在于,所述智能电视还包括 机器授权信息获取模块,用于在没有机器授权信息时,从服务器获取所述机器授权信息,其中,所述机器授权信息保存在非挥发性记忆体中。
8.根据权利要求7所述的智能电视,其特征在于,所述机器授权信息获取模块包括 发送单元,用于向所述服务器发送机器授权请求消息,该请求消息包括有设备的硬件唯一标识和设备所属厂商信息; 接收单元,用于接收所述服务器根据所述设备的硬件唯一标识和设备所属厂商信息返回的机器授权信息。
9.一种智能电视应用的授权系统,所述系统包括智能电视和服务器,其特征在于 所述智能电视在应用启动时,首先判断是否保存有机器授权信息,如果保存有机器授权信息,则查找所述应用对应的用户证书,该用户证书包括有效期终止时间,如果查找到所述用户证书,则读取所述用户证书,并根据所述有效期终止时间判断该用户证书是否有效,如果所述用户证书有效,则启动所述应用;如果没有机器授权信息,则所述智能电视向所述服务器发送机器授权请求消息,所述机器授权请求消息包括设备的硬件唯一标识和设备所属厂商信息,所述智能电视接收所述服务器根据所述设备的硬件唯一标识和设备所属厂商信息返回的机器授权信息; 所述服务器用于接收所述智能电视发送的机器授权请求消息,并根据所述设备的硬件唯一标识和所述设备所属厂商信息判断与所述设备所属厂商信息对应的硬件标识库中是否存在设备的硬件唯一标识,如果存在,则向所述智能电视发送机器授权信息,如果不存在,则向所述智能电视发送授权失败信息。
10.根据权利要求9所述的系统,其特征在于 所述智能电视还用于在没有查找到所述用户证书时,向服务器发送用户证书请求消息,在向服务器发送用户证书请求消息后,接收并保存所述服务器返回的用户证书,所述用户证书请求消息包括智能电视的机器授权请求消息和所述应用的唯一标识,所述机器授权请求消息包括所述智能电视的标识码; 所述服务器还用于接收所述用户证书请求消息,并根据已接收的用户证书请求消息中携带的机器授权请求消息判断是否允许所述智能电视使用该应用,如果允许所述智能电视使用该应用,再根据该应用的唯一标识判断对应的应用是否为免费,如果不是免费,再判断服务器中是否保存有与所述机器授权请求消息中携带的智能电视标识码相同的标识码,如果所述应用为免费或者服务器中保存有与所述机器授权请求消息中携带的智能电视标识码相同的标识码,则向所述智能电视发送用户证书;如果不允许所述智能电视使用所述应用,则向所述智能电视发送错误信息。
11.根据权利要求10所述的系统,其特征在于 所述服务器还用于在判断出所述智能电视没有购买所述应用时,向所述智能电视发送应用购买提示; 所述智能电视还用于在接收所述应用购买提示时,接收用户输入的确认购买信息,并通过支付接口扣费,扣费成功后再次向所述服务器发送用户证书请求消息。
全文摘要
本发明实施例公开了一种智能电视应用的授权方法,还公开了相应的系统和智能电视。在本发明中,在应用启动时,先判断是否保存有机器授权信息,如果保存有机器授权信息,再查找该应用对应的用户证书,如果查找到该用户证书,说明该应用是经过授权的,只有经过服务器授权的应用才能启动;本发明中对智能电视中的应用的授权管理更加规范和灵活,更便于管理,解决了采用固化授权文件方式进行授权导致的无法更改,容易被盗用的问题。
文档编号H04N21/6334GK102833593SQ20121024735
公开日2012年12月19日 申请日期2012年7月17日 优先权日2012年7月17日
发明者郑仁圳, 杨晓宇, 陈接无 申请人:晨星软件研发(深圳)有限公司, 深圳市彪骐数码科技有限公司