CN1955971B - 一种适用于Java应用程序的安全安装方法 - Google Patents
一种适用于Java应用程序的安全安装方法 Download PDFInfo
- Publication number
- CN1955971B CN1955971B CN200510114785A CN200510114785A CN1955971B CN 1955971 B CN1955971 B CN 1955971B CN 200510114785 A CN200510114785 A CN 200510114785A CN 200510114785 A CN200510114785 A CN 200510114785A CN 1955971 B CN1955971 B CN 1955971B
- Authority
- CN
- China
- Prior art keywords
- java application
- personal digital
- digital assistant
- assistant device
- mobile phone
- 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.)
- Expired - Fee Related
Links
Landscapes
- Mobile Radio Communication Systems (AREA)
- Telephone Function (AREA)
- Storage Device Security (AREA)
Abstract
本发明涉及一种适用于Java应用程序的安全安装方法。该方法可以在通过串口方式将Java应用程序安装到手机的过程中,仍然实现对Java应用程序的版权保护。为此,首先采用数字签名方式对Java应用程序提供基本的保护,然后,利用手机中的IMSI信息对Java应用程序进行绑定,从而实现转发过程中的版权保护。本发明所提供的方法一方面解决了内容提供商开发的应用程序在测试终端上测试难的问题;另一方面也解决了现有串口安装方式所带来的版权漏洞问题。
Description
技术领域
本发明涉及一种针对J2ME架构下的Java应用程序(简称为MIDlets),使其在复制、安装到移动信息终端如手机的过程中仍然实现版权保护机制的方法,属于数字版权管理(DRM)技术领域。
背景技术
移动通信服务日益普及,各类移动信息终端如手机的功能也不断增强。在此背景下,为了进一步拓宽移动通信的服务领域和服务内容,中国联通推出了新的增值业务-Unjia。该业务支持某些性能上符合要求的手机下载、使用MIDlets。
MIDlets是在JAVA上的用于移动电话和嵌入式平台的小应用程序。在Unjia业务中,各种MIDlets都是由不同的内容提供商(ContentProvider,简称CP)开发完成,再由联通统一提供给用户下载。根据用户下载和使用的情况,CP可以获得对应的报酬。因此在Unjia业务开展的过程中,DRM机制的实施将是至关重要的一环。
参照图1所示,在现有的Unjia机制中,为了实现版权保护,MIDletes只能通过空中下载((Over-The-Air,简称OTA)机制安装到手机终端上。由于在现有的OTA下载安装流程中,MIDletes在下载安装之前要经过DRM服务器进行打包,并经过OTA服务器进行签名验证;在安装过程之中,也要进行证书和签名验证,同时解析DRM包中的使用权限,因此现有OTA方式能够很好地解决安全和版权问题。但是在OTA方式下,CP自身也无法将自己开发的MIDletes上传到手机终端进行内部测试,只能提交到联通指定的测试中心进行测试。这样就会使得CP的开发周期延长、成本提高,从而影响其开发的积极性。
目前,也存在一种快速而简便地将应用程序安装到手机上进行测试的方法,即通过手机的串口进行复制、安装。通过这种方法,普通用户在取得手机终端串口数据线的情况下,就可以把JAVA应用上传到手机终端并运行。但是,这种方法存在一个致命的缺陷,就是会带来一定的安全漏洞,使DRM权限保护机制在此不能发挥作用。这是CP最不愿意看到的。现在,许多手机厂商为了解决这个安全漏洞问题,把串口复制的功能屏蔽掉,这样虽然解决了安全性问题,但CP也就无法方便地进行有关应用程序的测试工作。
发明内容
鉴于上述的两难问题,本发明的目的是提供一种针对Java应用程序,能够使其在复制、安装到移动信息终端如手机的过程中仍然实现版权保护机制的方法。
为实现上述的发明目的,本发明采用下述的技术方案:
一种适用于Java应用程序的安全安装方法,用于将Java应用程序从服务器安装到移动信息终端之中,其特征在于:
(1)所述服务器与特定的移动信息终端通过通信接口建立连接;
(2)所述服务器下载并安装数字证书,并将公钥分配给所述移动信息终端;
(3)所述服务器利用私钥对所述Java应用程序进行加密,所述移动信息终端下载加密后的Java应用程序;
(4)所述移动信息终端通过公钥对下载的Java应用程序进行解密,安装解密后的Java应用程序;
(5)所述Java应用程序在安装过程中,首先获取所述移动信息终端的身份识别信息,生成包含该身份识别信息的验证文件;
(6)所述Java应用程序在运行时,利用所述验证文件判断该移动信息终端是否有权运行该应用程序;
(7)如果所述移动信息终端有权使用,则所述Java应用程序继续运行,否则拒绝运行。
其中,在所述步骤(6)中,所述Java应用程序在运行时,首先获取所在的移动信息终端的身份识别信息,将其与所述验证文件中的身份识别信息进行比对,两者一致则判断该移动信息终端有权运行该程序。
或者,在所述步骤(6)中,所述Java应用程序在运行时如果找不到所述验证文件,则判断所在的移动信息终端无权运行该程序。
所述移动信息终端上安装有Java虚拟机。
所述通信接口为串口、USB接口、ISDN接口或红外线接口中的任意一种。
所述移动信息终端为手机、PDA、掌上电脑中的任意一种。
所述移动信息终端为手机时,所述身份识别信息为国际移动用户识别码或国际移动设备识别码或手机号码中的任意一种。
所述移动信息终端为手机时,在手机的串口复制功能被屏蔽的情况下,所述手机与服务器之间以PPP方式进行通信。
本发明所述的适用于Java应用程序的安全安装方法具有如下的优点:
1.解决了内容提供商开发的应用程序在测试终端上测试难的问题;
2.解决了现有串口安装方式所带来的版权漏洞问题,非受信应用程序和盗版应用程序将无法通过串口方式安装和使用;
3.不用访问手机终端的文件系统就可以把本地应用程序上传到手机上,保证了手机终端的安全。
附图说明
下面结合附图和具体实施方式对本发明作进一步的说明。
图1为MIDlets的现有安装过程示意图。
图2为本发明所述的适用于Java应用程序的安全安装方法的详细流程示意图。
图3为图2所示方法的实施示意图。
具体实施方式
下面,以手机作为移动信息终端的一个例子,安装方式为通过手机串口方式进行安装为例展开说明。
实施本发明所述方法的手机应该为具有较大存储容量、可以安装Java VM(Java虚拟机)的手机.由于现有的中高端手机如三星的X859、LG的W800等,基本上都能支持照相、MP3等功能,其必然要配备有较大容量的内存,因此也能够支持Java VM。
图2所示为本发明所述方法的基本流程。作为实现版权保护机制的第一步,本发明采用数字签名方式对MIDletes提供基本的保护,具体而言,CP在开发完成某一个新的MIDletes之后,如果需要在手机上进行测试,则首先要申请数字安全证书。该数字证书应该符合X.509标准。在参予测试的手机中,首先使用串口线,通过串口通信方式从PC机中获得公钥,以便用它来进行解密和签名。在作为下载服务器的PC机中,同时设定一把私钥,用于加密和验证签名。
PC机对每一个要进行测试的MIDletes利用私钥进行数据加密(应用签名)。在手机与PC机连接,并提出串口安装请求之后,PC机就会将加密后的MIDletes发送到该手机。在手机中则使用自己的公钥对该MIDletes进行解密(证书和签名验证)。如果该手机是被授权下载的手机,私钥与公钥相匹配,则MIDletes能够被解密,从而为该手机所安装、使用。否则的话,手机下载的只是一堆无用的加密数据,无法使用。
数字签名方式的实现细节是本领域一般技术人员都很熟悉的内容,在此就不详细解释了。利用数字签名方式,可以对MIDletes的安装和使用进行有效的控制,没有经过数字签名的MIDletes不可能被安装和使用,从而有效地避免MIDletes的下载和安装失去控制。
上述的数字签名方式只是实现版权保护的第一步。在实践中,还有可能出现这样的情况,即手机用户将解密后的MIDletes相互转发。由于MIDletes已经被解密,因此这种转发行为将会导致MIDletes脱离有效的版权保护机制,损害内容提供商的利益。
为了避免这种情况,本发明的第二步是利用手机中的IMSI信息对MIDletes进行绑定。IMSI是国际移动用户识别码的简称,该码与某一个特定的手机相绑定,在全球范围内都具有唯一性,因此是辨别不同手机的有力工具。在本发明中,MIDletes在通过数字签名解密之后,会面临一个安装的问题。因此,MIDletes在安装过程中要获取手机的IMSI信息,一方面生成一个独立存储该信息的验证文件,另一方面在产生的执行文件中也保存此IMSI信息。验证文件与MIDletes是相对独立的,MIDletes被转发时,验证文件并不会被转发。这样,执行文件在运行时,首先要获取手机中的IMSI信息,并将其与验证文件中的IMSI信息进行比对,如果没有验证文件或者验证文件中的IMSI信息与手机中的不一致,则执行文件拒绝运行。这样就有效解决了合法的手机用户通过转发的方式破坏MIDletes的版权保护机制的问题。
在实践中,也可以利用其它的手机识别信息来实现转发过程中的版权保护,如IMEI(国际移动设备识别码)也是用于辨别手机唯一性的有效手段。另外,基于手机号码进行版权保护也是可行的思路。由于手机号码保存在SIM卡中,该卡在通常情况下都具有唯一性,因此采用上述的转发保护步骤,通过执行文件运行过程中对号码信息的验证过程,也能够有效地避免MIDletes在转发过程中丧失版权保护的问题。
前面已经提到,现在有许多手机厂商为了避免串口安装所带来的安全漏洞,往往会将串口复制的功能屏蔽掉。这种做法通常只是使PC机端看不到手机内的文件夹,从而无法完成复制工作,但手机与PC之间的串口通信并不会受此影响。针对这种做法,本发明巧妙地利用了PPP通信机制,可以实现手机与PC机连接之后,自动进行数字证书的安装以及MIDletes的复制、安装。其具体操作步骤是这样的:
1.将手机的驱动安装到PC上;
2.建立PPP连接:
在PC端设置->网络和拨号连接->新建连接->接受传入的连接(让其他计算机使用电话线,Internet或用电缆直接连接到我的计算机)->选择“两台计算机间的通讯电缆”->不允许虚拟专用连接->新建允许连接用户(与手机PPP发起连接的用户名及密码设置相同)->设置->完成Internet协议(TCP/IP)->TCP/IP地址分配->指定TCP/IP地址->指定两个相邻近的两个。
上述是基于现有的Windows操作系统而提出的具体操作步骤。对于非Windows用户,有关的操作是熟悉计算机操作的普通技术人员能够轻易实现的,在此不一一列举。
3.设置手机端:首先手机端是支持有线PPP连接的,在设置拨入主机、用户名、密码时与PC端设置相一致。
4.将手机与PC机直接通过数据线进行连接;
5.将手机设为Client端,向PC(Server)端发起连接,建立PPP连接。
通过上述的步骤,手机端与PC端就建立起了PPP连接,我们接下来就可以利用TCP/IP协议建立通讯。此过程中不需要在PC机端展示手机内的文件,从而有效解决了串口复制功能被屏蔽的问题。
在实现上述操作的过程中,需要在PC机一端配置必要的串口安装程序。该程序主要用于监听手机端的HTTP请求,建立HTTP连接,完成手机与PC之间的通讯和数据传输。
另外,在手机所在的一端,也需要加载对应的串口安装程序。该程序主要完成以下几方面的工作:
1.设置PC端的IP地址和端口号
2.拼装URL:将地址:端口号(例如:166.111.60.60:3128)和PC端约定好的下载应用文件名拼装成一个正确的URL。
3.以拼装好的URL为参数,启动安装流程
后续的安装流程与正常安装流程一致。
在上述的PC端串口安装程序中,还可以加上证书模块,其包含与手机内置公钥相对应的私钥,对所选应用程序进行签名;DRM模块,其对应用程序进行使用权限上的限制,例如使下载到手机端的应用程序只具有1个月的使用期限等。同时,在手机中的串口安装程序中对应增设DRM代理(agent)和内容管理器。这样,手机可以调用DRMagent解析下载的文件。如果是受DRM机制保护的文件,则可以进一步分离出权限和内容,把原始内容交给内容管理器,权限存储在权限信息库。需要使用文件对象的时候,先由内容管理器判断文件是否受DRM保护,有必要时再调用DRM代理对该内容的权限进行判断;如果有权限,可以使用内容,如果没有权限,则拒绝用户使用媒体内容。
利用DRM agent,可以实现针对MIDletes的限时、限次使用管理,实现权限合并、更新等操作。关于这一点,可以参考本申请人在先的专利申请“一种面向移动信息终端的数字版权保护方法”(专利申请号:200510012012.7,专利申请日:2005年6月24日)。其具体的实现步骤在该专利文件中有详细的记载,在此就不重复了。
根据本发明所介绍的方法编写上述的串口安装程序是计算机领域一般技术人员都能胜任的工作,本文不予赘述。
以上以手机为例对本发明作了详细的说明。但本发明并不限于使用手机,实际上具有独立存储空间、能够运行Java应用程序的其它移动信息终端,如PDA、Pocket PC(掌上电脑)等,都可以应用本发明所提供的方法。
另外,鉴于一般的手机都具有串口(COM口)通信功能,能够直接与PC机进行连接,所以本发明主要以串口安装为例进行说明。但是,串口只是手机上通信接口的一个具体例子。有的手机还具有USB接口或者红外线接口等通信接口,它们所起的作用与串口是一致的,因此,本发明完全适用于USB接口、ISDN接口或红外线接口等其它类型通信接口的情况。
对本领域的一般技术人员而言,在不背离本发明实质精神的前提下对它所做的任何显而易见的改动,都将构成对本发明专利权的侵犯,将承担相应的法律责任。
Claims (8)
1.一种适用于Java应用程序的安全安装方法,用于将Java应用程序从服务器安装到移动信息终端之中,其特征在于:
(1)所述服务器与特定的移动信息终端通过通信接口建立连接;
(2)所述服务器下载并安装数字证书,并将公钥分配给所述移动信息终端;
(3)所述服务器利用私钥对所述Java应用程序进行加密,所述移动信息终端下载加密后的Java应用程序;
(4)所述移动信息终端通过公钥对下载的Java应用程序进行解密,安装解密后的Java应用程序;
(5)所述Java应用程序在安装过程中,首先获取所述移动信息终端的身份识别信息,生成包含该身份识别信息的验证文件;
(6)所述Java应用程序在运行时,利用所述验证文件判断该移动信息终端是否有权运行该应用程序;
(7)如果所述移动信息终端有权使用,则所述Java应用程序继续运行,否则拒绝运行。
2.如权利要求1所述的适用于Java应用程序的安全安装方法,其特征在于:
所述步骤(6)中,所述Java应用程序在运行时,首先获取所在的移动信息终端的身份识别信息,将其与所述验证文件中的身份识别信息进行比对,两者一致则判断该移动信息终端有权运行该程序。
3.如权利要求1所述的适用于Java应用程序的安全安装方法,其特征在于:
所述步骤(6)中,所述Java应用程序在运行时如果找不到所述验证文件,则判断所在的移动信息终端无权运行该程序。
4.如权利要求1所述的适用于Java应用程序的安全安装方法,其特征在于:
所述移动信息终端上安装有Java虚拟机。
5.如权利要求1所述的适用于Java应用程序的安全安装方法,其特征在于:
所述通信接口为串口、USB接口、ISDN接口或红外线接口中的任意一种。
6.如权利要求1所述的适用于Java应用程序的安全安装方法,其特征在于:
所述移动信息终端为手机、PDA、掌上电脑中的任意一种。
7.如权利要求1或6所述的适用于Java应用程序的安全安装方法,其特征在于:
所述移动信息终端为手机时,所述身份识别信息为国际移动用户识别码或国际移动设备识别码或手机号码中的任意一种。
8.如权利要求5或6所述的适用于Java应用程序的安全安装方法,其特征在于:
所述移动信息终端为手机时,在手机的串口复制功能被屏蔽的情况下,所述手机与服务器之间以PPP方式进行通信。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200510114785A CN1955971B (zh) | 2005-10-27 | 2005-10-27 | 一种适用于Java应用程序的安全安装方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200510114785A CN1955971B (zh) | 2005-10-27 | 2005-10-27 | 一种适用于Java应用程序的安全安装方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1955971A CN1955971A (zh) | 2007-05-02 |
CN1955971B true CN1955971B (zh) | 2010-05-05 |
Family
ID=38063292
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200510114785A Expired - Fee Related CN1955971B (zh) | 2005-10-27 | 2005-10-27 | 一种适用于Java应用程序的安全安装方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN1955971B (zh) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101256611B (zh) * | 2008-04-03 | 2011-04-20 | 中兴通讯股份有限公司 | 一种在Java应用中实现数字版权管理保护的方法 |
CN101505339B (zh) * | 2009-02-26 | 2011-06-15 | 浙江大学 | 从电脑直接部署手机应用程序到手机上的实现方法 |
US9798529B2 (en) * | 2009-05-29 | 2017-10-24 | Oracle America, Inc. | Java store |
CN101923875B (zh) * | 2009-06-17 | 2013-06-12 | 联发科技(新加坡)私人有限公司 | 控制蓝光光盘Java安全的方法、影音播放装置及控制系统 |
CN102117395A (zh) * | 2009-12-31 | 2011-07-06 | 英华达(上海)电子有限公司 | 电子数字信息的版权保护方法和系统、电子终端 |
CN101883122B (zh) * | 2010-07-30 | 2012-12-05 | 迈普通信技术股份有限公司 | 安全连接创建方法以及用于创建安全连接的客户端设备 |
CN102034059B (zh) * | 2010-12-02 | 2013-09-04 | 东莞宇龙通信科技有限公司 | 应用程序管理方法、装置以及终端 |
CN102801688B (zh) * | 2011-05-23 | 2015-11-25 | 联想(北京)有限公司 | 一种数据访问的方法、装置及支持数据访问的终端 |
CN102222199B (zh) * | 2011-06-03 | 2013-05-08 | 奇智软件(北京)有限公司 | 应用程序身份识别方法及系统 |
CN102736978B (zh) * | 2012-06-26 | 2015-09-30 | 北京奇虎科技有限公司 | 一种检测应用程序的安装状态的方法及装置 |
CN103020501B (zh) * | 2012-11-14 | 2017-02-15 | 无锡城市云计算中心有限公司 | 用户数据的访问控制方法和装置 |
CN104331657B (zh) * | 2014-09-29 | 2017-03-22 | 飞天诚信科技股份有限公司 | 一种支持数据签名的java卡实现方法 |
CN107368714A (zh) * | 2017-07-30 | 2017-11-21 | 安徽云帮邦网络技术有限公司 | 一种电脑程序的版权保护方法 |
CN107358070A (zh) * | 2017-07-30 | 2017-11-17 | 安徽云帮邦网络技术有限公司 | 一种以智能手机作为密钥装置的电脑程序的安装方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1496628A (zh) * | 2002-01-16 | 2004-05-12 | ������������ʽ���� | 内容分配系统 |
CN1611088A (zh) * | 2001-11-05 | 2005-04-27 | 诺基亚有限公司 | 响应加密请求消息向网络传递移动台操作和自我性能测试结果 |
CN1647052A (zh) * | 2002-04-12 | 2005-07-27 | 沃达方集团有限公司 | 用于在移动网络中分发加密数据的方法和系统 |
-
2005
- 2005-10-27 CN CN200510114785A patent/CN1955971B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1611088A (zh) * | 2001-11-05 | 2005-04-27 | 诺基亚有限公司 | 响应加密请求消息向网络传递移动台操作和自我性能测试结果 |
CN1496628A (zh) * | 2002-01-16 | 2004-05-12 | ������������ʽ���� | 内容分配系统 |
CN1647052A (zh) * | 2002-04-12 | 2005-07-27 | 沃达方集团有限公司 | 用于在移动网络中分发加密数据的方法和系统 |
Also Published As
Publication number | Publication date |
---|---|
CN1955971A (zh) | 2007-05-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1955971B (zh) | 一种适用于Java应用程序的安全安装方法 | |
CN100484159C (zh) | 便携式信息终端和数据保护方法 | |
JP4145118B2 (ja) | アプリケーション認証システム | |
KR100783446B1 (ko) | 유에스비 디바이스를 이용한 데이터 보안 시스템, 장치 및방법 | |
CN103514000B (zh) | 浏览器插件安装方法和装置 | |
CN101064604B (zh) | 远程访问方法、系统及设备 | |
CN101226575B (zh) | 应用程序的锁定方法 | |
JP4816975B2 (ja) | アプリケーション認証システム | |
US8959659B2 (en) | Software authorization system and method | |
ZA200406810B (en) | Controlling access levels in phones by certificates | |
CN109598104B (zh) | 基于时间戳和秘密鉴权文件的软件授权保护系统及其方法 | |
CN101201884A (zh) | 软件组件、软件组件管理方法以及软件组件管理系统 | |
CN104992082B (zh) | 软件授权方法、装置及电子设备 | |
CN105843653A (zh) | 一种安全应用配置方法及装置 | |
Zdziarski | Identifying back doors, attack points, and surveillance mechanisms in iOS devices | |
CN101989988A (zh) | 电子书在线阅读版权保护系统及方法 | |
US20070098175A1 (en) | Security enabler device and method for securing data communications | |
CN103051456A (zh) | 一种管理智能sd卡内应用程序的方法及系统 | |
CN104683299A (zh) | 一种软件注册的控制方法、认证服务器及终端 | |
EP1561301B1 (en) | Software integrity test in a mobile telephone | |
CN103592927A (zh) | 一种通过license绑定产品服务器及业务功能的方法 | |
KR102585405B1 (ko) | 데이터 보안 장치 | |
CN103024734A (zh) | 防止Apk被非授权手机安装的加密、解密方法及装置 | |
JP4409497B2 (ja) | 秘密情報送信方法 | |
CN109842600B (zh) | 一种实现移动办公的方法、终端设备及mdm设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20100505 Termination date: 20111027 |