本发明主要涉及计算机软件领域,尤其涉及一种应用程序的认证方法及装置。
背景技术:
1、随着工业物联网的发展,硬件(例如智能网关)逐步同质化,真正的核心技术是运行在智能网关中的应用程序。硬件中存储器上存储的应用程序的数据一旦被盗取,将会导致核心技术的泄露。出于对自身利益的保护,应用程序的防拷贝或自主独立认证成为迫切需求。
2、一种方式是通过设备联网,同授权服务器判别设备唯一性后加以授权,然而一旦设备的序列号被盗取,将会导致应用程序被拷贝,安全性不高;另一种方式是使应用程序通过设备网卡的mac地址进行绑定,然而一旦mac地址被改写,应用程序也会被拷贝出来,安全性亦不佳;还有一种方式是在设备上插入加密狗(usb dongle)实时为应用程序授权,但是,一旦加密狗被窃取,应用程序也能够被拷贝出来。
技术实现思路
1、为了解决上述技术问题,本发明提供一种应用程序的认证方法及装置,以提高应用程序认证的安全性。
2、为实现上述目的,本发明提出了一种应用程序的认证方法,所述认证方法包括:在应用程序部署到电子设备时获取所述电子设备的第一序列号;采用加密算法将所述第一序列号进行加密获得第一密文信息,写入所述第一密文信息至一文件的指定位置中,并将所述文件存放至指定路径下;在应用程序运行时获取运行设备的第二序列号,采用所述加密算法对所述第二序列号进行加密获得第二密文信息;读取所述指定路径下所述文件的指定位置中的第一密文信息,比较所述第二密文信息与所述第一密文信息,若所述第二密文信息与所述第一密文信息一致,则正常运行所述应用程序,否则异常运行所述应用程序。为此,通过使用了电子设备的序列号,该序列号是不可更改的,并对该序列号进行了加密和文件混淆,进行了多重保护,在本地即可完成,无需远端和外部硬件参与认证,避免了文件信息被篡改和伪造,提升了应用程序认证的安全性。
3、可选地,在应用程序部署到电子设备时获取所述电子设备的第一序列号包括:获取所述电子设备cpu和/或磁盘的第一序列号。为此,使用了电子设备cpu和/或磁盘的第一序列号,该序列号是不可更改的,提高了认证的安全性。
4、可选地,所述加密算法为md5加密算法。为此,通过使用md5加密算法,实现了对序列号的加密,提高了认证的安全性。
5、可选地,异常运行所述应用程序包括:空跑所述应用程序。为此,通过空跑应用程序,不会实际运行应用程序,使盗用者无法发现问题所在,提高了认证的安全性。
6、可选地,所述电子设备为智能网关。为此,提高了智能网关上运行的应用程序的安全性。
7、本发明还提出了一种应用程序的认证装置,所述认证装置包括:第一获取模块,在应用程序部署到电子设备时获取所述电子设备的第一序列号;存放模块,采用加密算法将所述第一序列号进行加密获得第一密文信息,写入所述第一密文信息至一文件的指定位置中,并将所述文件存放至指定路径下;第二获取模块,在应用程序运行时获取运行设备的第二序列号,采用所述加密算法对所述第二序列号进行加密获得第二密文信息;认证模块,读取所述指定路径下所述文件的指定位置中的第一密文信息,比较所述第二密文信息与所述第一密文信息,若所述第二密文信息与所述第一密文信息一致,则正常运行所述应用程序,否则异常运行所述应用程序。
8、可选地,所述第一获取模块在应用程序部署到电子设备时获取所述电子设备的第一序列号包括:获取所述电子设备cpu和/或磁盘的第一序列号。
9、可选地,所述加密算法为md5加密算法。
10、可选地,异常运行所述应用程序包括:空跑所述应用程序。
11、可选地,所述电子设备为智能网关。
12、本发明还提出了一种电子设备,包括处理器、存储器和存储在所述存储器中的指令,其中所述指令被所述处理器执行时实现如上所述的方法。
13、本发明还提出了一种计算机可读存储介质,其上存储有计算机指令,所述计算机指令在被运行时执行如上所述的方法。
1.一种应用程序的认证方法(100),其特征在于,所述认证方法(100)包括:
2.根据权利要求1所述的认证方法(100),其特征在于,在应用程序部署到电子设备时获取所述电子设备的第一序列号包括:获取所述电子设备cpu和/或磁盘的第一序列号。
3.根据权利要求1或2所述的认证方法(100),其特征在于,所述加密算法为md5加密算法。
4.根据权利要求1所述的认证方法(100),其特征在于,异常运行所述应用程序包括:空跑所述应用程序。
5.根据权利要求1所述的认证方法(100),其特征在于,所述电子设备为智能网关。
6.一种应用程序的认证装置(200),其特征在于,所述认证装置(200)包括:
7.根据权利要求6所述的认证装置(200),其特征在于,所述第一获取模块在应用程序部署到电子设备时获取所述电子设备的第一序列号包括:获取所述电子设备cpu和/或磁盘的第一序列号。
8.根据权利要求6或7所述的认证装置(200),其特征在于,所述加密算法为md5加密算法。
9.根据权利要求6所述的认证装置(200),其特征在于,异常运行所述应用程序包括:空跑所述应用程序。
10.根据权利要求6所述的认证装置(200),其特征在于,所述电子设备为智能网关。
11.一种电子设备(300),包括处理器(310)、存储器(320)和存储在所述存储器(320)中的指令,其中所述指令被所述处理器(310)执行时实现如权利要求1-5任一项所述的方法。
12.一种计算机可读存储介质,其上存储有计算机指令,所述计算机指令在被运行时执行根据权利要求1-5中任一项所述的方法。