CN108345801A - 一种面向密文数据库的中间件动态用户认证方法及系统 - Google Patents

一种面向密文数据库的中间件动态用户认证方法及系统 Download PDF

Info

Publication number
CN108345801A
CN108345801A CN201810133545.8A CN201810133545A CN108345801A CN 108345801 A CN108345801 A CN 108345801A CN 201810133545 A CN201810133545 A CN 201810133545A CN 108345801 A CN108345801 A CN 108345801A
Authority
CN
China
Prior art keywords
user
data consumer
middleware
authentication information
ciphertext database
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.)
Granted
Application number
CN201810133545.8A
Other languages
English (en)
Other versions
CN108345801B (zh
Inventor
杨庚
宋天煜
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.)
Nanjing Post and Telecommunication University
Nanjing University of Posts and Telecommunications
Original Assignee
Nanjing Post and Telecommunication University
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 Nanjing Post and Telecommunication University filed Critical Nanjing Post and Telecommunication University
Priority to CN201810133545.8A priority Critical patent/CN108345801B/zh
Publication of CN108345801A publication Critical patent/CN108345801A/zh
Application granted granted Critical
Publication of CN108345801B publication Critical patent/CN108345801B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0891Revocation or update of secret information, e.g. encryption key update or rekeying

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Databases & Information Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Storage Device Security (AREA)

Abstract

本发明公开了一种面向密文数据库的中间件动态用户认证方法,实现对密文数据库用户的安全管理。本发明主要包括获取数据使用者身份属性,计算其权限、获取数据使用者的认证信息,判断认证信息是否一致、更新认证信息、根据数据使用者权限创建密文数据库临时用户、数据使用者退出时,中间件销毁数据库临时用户五个步骤。通过这五个步骤,可以有效防止非法用户使用重放攻击进入密文数据库以及合法用户的越权操作,从而在用户管理方面保证了密文数据库的安全性。本发明还提出一种面向密文数据库支持动态用户管理的中间件系统。

Description

一种面向密文数据库的中间件动态用户认证方法及系统
技术领域
本发明涉及一种面向密文数据库的中间件动态用户认证方法及系统,属于信息安全技术领域。
背景技术
为了保障数据库中数据的机密性,防止非法用户恶意探查、泄露和篡改隐私数据的发生,对敏感数据加密后存入数据库是一种有效的方法。目前常用的数据库加密方法是在DBMS外层对数据进行加密,DBMS外层实现加密的优点是不会加重数据库服务器的负担,但是加密功能可能会受到一定的限制,并且与数据库管理系统的耦合性较差。因此,很多用户使用中间件来实现明文数据的加密操作,中间件系统部署在数据库客户端与服务器端之间,可以在保证数据安全性的同时灵活调整加解密算法,在不修改上层应用的同时实现与数据库服务器的松耦合。
虽然现有的数据库中间件可以在一定程度上保证数据的机密性,但是对数据使用者不能进行很好的管理,一旦有非法用户通过重放攻击获得进入密文数据库的权限,便可以通过使用中间件查看、恶意篡改和删除密文数据库中的数据,而且合法用户也可能进行越权操作。因此不对访问密文数据库的用户进行有效的管理将会影响到数据的机密性、完整性和可用性。
发明内容
目的:为了克服现有技术中存在的不足,本发明提供一种面向密文数据库的中间件动态用户认证方法及系统。
技术方案:为解决上述技术问题,本发明采用的技术方案为:
一种面向密文数据库的中间件动态用户认证方法,包括如下步骤,
步骤一:获取数据使用者身份属性,计算其权限;
中间件获取数据使用者的若干个身份属性,通过权限访问模型计算数据使用者的权重值,并判断用户权限,最后把数据使用者的用户名、身份属性和权限存入用户属性表中,其中用户属性表用于保存数据使用者的身份属性和权限;
步骤二:获取数据使用者认证信息,判断认证信息是否一致;
数据使用者对密文数据库进行第i+1次访问,i≥1,对数据使用者拥有的认证信息进行加密,并将加密的认证信息Eni传递给中间件;
数据使用者通过对密钥进行更新,保存新的密钥ki+1,其中表示对的哈希函数;
中间件通过Dei=D(ki,Eni)对Eni进行解密,将Dei与用户认证表中的认证信息进行比较,如果相同则认证成功并进入步骤三,否则提示数据使用者认证失败;
步骤三:更新认证信息;
中间件更新密钥ki+1,生成新的认证信息ci+1,并对用户认证表中的信息进行更新;
使用新密钥ki+1对ci+1进行加密,得到新的加密认证信息Eni+1,中间件将新的加密认证信息发送给数据使用者;
数据使用者使用密钥ki+1对加密的认证信息Eni+1解密,保存新的认证信息ci+1
步骤四:根据数据使用者权限创建密文数据库临时用户;
中间件读取步骤一中获取的用户权限,根据用户权限在密文数据库中创建临时用户,临时用户的用户名为数据使用者的用户名,密码为新的认证信息ci+1,数据使用者通过用户名和密码进入密文数据库中进行相应的操作;
步骤五:数据使用者退出时,中间件销毁步骤四中创建的数据库临时用户;
数据使用者退出密文数据库后,中间件对密文数据库发出销毁临时数据库用户的命令;若数据使用者需再次访问密文数据库,则必须重新进行步骤二到四的用户认证。
进一步地,所述权限访问模型包括权重函数及门限值,并将权重函数计算出来的权重值与门限值进行比较从而判断用户权限;所述权重函数计算公式如式一所示,
式一:
其中ω为权重函数,atti为身份属性,ai为每个身份属性的权值,0﹤i≤n,若ω≥T,则用户满足权限访问模型。
进一步地,所述步骤二中,加密的认证信息其中ki为加密密钥,ci表示数据使用者拥有的认证信息,ti表示数据使用者认证的次数,表示异或操作。
进一步地,所述步骤三中,中间件通过更新密钥,生成新的认证信息得到新的加密认证信息
一种面向密文数据库的中间件动态用户认证系统,包括加解密模块、密钥管理模块、用户管理模块及数据传输模块。
进一步地,所述用户管理模块,用于对用户权限分析和用户身份的动态认证,为通过认证的数据使用者在密文数据库中创建临时用户,并在数据使用者操作结束后销毁临时用户。
有益效果:本发明提供的用户认证方法解决了非法用户进入密文数据库及合法用户越权操作的问题,有效提高密文数据库的安全性。
附图说明
图1为本发明的结构示意图;
图2为动态用户认证流程示意图。
具体实施方式
下面结合附图及实施例对本发明作更进一步的说明。
支持动态用户认证体系结构如图1所示,本发明针对中间件系统在用户管理方面的安全问题,提出一种面向密文数据库的中间件动态用户认证方法。该方法通过对访问密文数据库的用户身份进行认证,防止非法用户通过重放攻击进入密文数据库。
如图2所示,该方法包括以下步骤:
步骤一、获取数据使用者身份属性,计算权限;
本实施例中,数据提供者设置的用户属性为职位、年龄和入职时间,中间件创建用户属性表。如表1所示,数据使用者Tom、John和Amy首次访问密文数据库时,向中间件系统提供自己的身份属性atti(0<i≤n)。通过使用权重门限访问模型,设定身份属性的权重分别为10、5和7,中间件利用以下公式一计算出用户的权重值;
表1用户属性表
式一:
ω(Tom)=10*(CEO)*+5*(40)*+7*(1997)*=37;
ω(John)=10*(Manager)*+5*(35)*+7*(2005)*=27;
ω(Amy)=10*(ProjectLeader)*+5*(27)*+7*(2014)*=15;
设置门限值为T1=20,T2=30,设定权重值小于T1将无权访问密文数据库,权重值在T1与T2之间将只能查看密文数据库中的数据,权重值大于T2的用户可以对密文数据库中的数据进行查看、修改和更新操作。通过比较权重值与门限值可以看到:
T2<ω(Tom) auth=Top Authority
T1<ω(John)<T2 auth=Second Authority
ω(John)<T1 auth=Third Authority
Tom权重值最大拥有最高的权限,John具有第二级的权限,Amy的权限最低。判断出数据使用者的权限后,将数据使用者的用户名userName、身份属性at和计算出的权限Auth存入用户属性表中。
步骤二:获取数据使用者认证信息,判断认证信息是否一致;
用户John对密文数据库进行第i+1次访问,认证过程主要包括以下三步:
(1)John使用加密密钥ki对认证信息进行AES加密获得加密的认证信息Eni。其中ci表示John现在拥有的认证信息,ti表示John认证的次数,加密完成后将Eni传递给中间件。
(2)John使用以下公式二对加密密钥进行更新,并保存密钥ki+1,其中表示对的哈希函数;
式二:
(3)中间件使用密钥ki对Eni进行解密Dei=D(ki,Eni),解密获得的Dei与用户认证表中的信息进行比较,如果相同则认证成功并进入步骤三,否则提示John认证失败。
步骤三:更新认证信息;
中间件对密钥进行更新计算新的认证信息更新John在用户认证表中的信息。然后使用密钥ki+1对ci+1加密,得到新的加密认证信息中间件将新的加密认证信息发送给John。John使用密钥ki+1对加密的认证信息Eni+1进行解密Dei+1=D(ki+1,Eni+1),并保存新的认证信息ci+1
步骤四:根据数据使用者权限创建密文数据库临时用户;
中间件首先从用户属性表中获取John的权限,John的权限为SecondAuthority,所以只能查看密文数据库中的数据,因此中间件向密文数据库发送创建用户命令”CREATEUSER'John'@'host'IDENTIFIED BY'ci+1';”和授权命令”GRANT SELECT ONdatabasename.tablename TO'John'@'host'”在密文数据库中创建一个只能查看数据的临时用户,临时用户的用户名为John,密码为ci+1,John使用该临时用户进入密文数据库。
步骤五:数据使用者退出时,中间件销毁数据库临时用户;
当John完成对数据库的操作,退出密文数据库时,中间件会对密文数据库发出销毁临时数据库用户的命令”DROP USER'John'@'host';”。当John再一次想要访问密文数据库时,需要进行重新认证,完成认证后才能获得登录密文数据库临时用户的密码。
综上所述,本发明提出了一种面向密文数据库的中间件动态用户认证方法,通过对用户持有的加密信息进行认证并生成新的认证信息,使用新的认证信息在密文数据库中创建临时用户并在数据使用者访问完数据库后销毁临时用户,从而达到对密文数据库使用者有效管理的要求。
应用前述的中间件动态用户认证方法,提出一种面向密文数据库且支持动态用户认证的系统,该系统包括加解密模块、密钥管理模块、用户管理模块及数据传输模块。
其中,加解密模块,用于对SQL语句重写和对数据库客户端和服务器端交互的数据进行加解密操作。
密钥管理模块,用于数据提供者主密钥的生成与管理和对加解密工作密钥的管理。
用户管理模块,用于对用户权限分析和用户身份的动态认证,为通过认证的数据使用者在密文数据库中创建临时用户,并在数据使用者操作结束后销毁临时用户。
数据传输模块,用于连接数据库客户端和服务器端,可以获取从数据库客户端和服务器端发出的数据,并能保证数据的传输安全。
以上所述仅是本发明的优选实施方式,应当指出:对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (6)

1.一种面向密文数据库的中间件动态用户认证方法,其特征在于:包括如下步骤,
步骤一:获取数据使用者身份属性,计算其权限;
中间件获取数据使用者的若干个身份属性,通过权限访问模型计算数据使用者的权重值,并判断用户权限,最后把数据使用者的用户名、身份属性和权限存入用户属性表中,其中用户属性表用于保存数据使用者的身份属性和权限;
步骤二:获取数据使用者认证信息,判断认证信息是否一致;
数据使用者对密文数据库进行第i+1次访问,i≥1,对数据使用者拥有的认证信息进行加密,并将加密的认证信息Eni传递给中间件;
数据使用者通过对密钥进行更新,保存新的密钥ki+1,其中表示对的哈希函数;
中间件通过Dei=D(ki,Eni)对Eni进行解密,将Dei与用户认证表中的认证信息进行比较,如果相同则认证成功并进入步骤三,否则提示数据使用者认证失败;
步骤三:更新认证信息;
中间件更新密钥ki+1,生成新的认证信息ci+1,并对用户认证表中的信息进行更新;
使用新密钥ki+1对ci+1进行加密,得到新的加密认证信息Eni+1,中间件将新的加密认证信息发送给数据使用者;
数据使用者使用密钥ki+1对加密的认证信息Eni+1解密,保存新的认证信息ci+1
步骤四:根据数据使用者权限创建密文数据库临时用户;
中间件读取步骤一中获取的用户权限,根据用户权限在密文数据库中创建临时用户,临时用户的用户名为数据使用者的用户名,密码为新的认证信息ci+1,数据使用者通过用户名和密码进入密文数据库中进行相应的操作;
步骤五:数据使用者退出时,中间件销毁步骤四中创建的数据库临时用户;
数据使用者退出密文数据库后,中间件对密文数据库发出销毁临时数据库用户的命令;若数据使用者需再次访问密文数据库,则必须重新进行步骤二到四的用户认证。
2.根据权利要求1所述的认证方法,其特征在于:所述权限访问模型包括权重函数及门限值,并将权重函数计算出来的权重值与门限值进行比较从而判断用户权限;所述权重函数计算公式如式一所示,
式一:
其中ω为权重函数,atti为身份属性,ai为每个身份属性的权值,0﹤i≤n,若ω≥T,则用户满足权限访问模型。
3.根据权利要求1所述的认证方法,其特征在于:所述步骤二中,加密的认证信息其中ki为加密密钥,ci表示数据使用者拥有的认证信息,ti表示数据使用者认证的次数,表示异或操作。
4.根据权利要求1所述的认证方法,其特征在于:所述步骤三中,中间件通过更新密钥,生成新的认证信息得到新的加密认证信息
5.根据权利要求1~4任一项所述的认证方法,提出一种面向密文数据库的中间件动态用户认证系统,其特征在于:包括加解密模块、密钥管理模块、用户管理模块及数据传输模块。
6.根据权利要求5所述的认证系统,其特征在于:所述用户管理模块,用于对用户权限分析和用户身份的动态认证,为通过认证的数据使用者在密文数据库中创建临时用户,并在数据使用者操作结束后销毁临时用户。
CN201810133545.8A 2018-02-09 2018-02-09 一种面向密文数据库的中间件动态用户认证方法及系统 Active CN108345801B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810133545.8A CN108345801B (zh) 2018-02-09 2018-02-09 一种面向密文数据库的中间件动态用户认证方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810133545.8A CN108345801B (zh) 2018-02-09 2018-02-09 一种面向密文数据库的中间件动态用户认证方法及系统

Publications (2)

Publication Number Publication Date
CN108345801A true CN108345801A (zh) 2018-07-31
CN108345801B CN108345801B (zh) 2021-09-28

Family

ID=62959380

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810133545.8A Active CN108345801B (zh) 2018-02-09 2018-02-09 一种面向密文数据库的中间件动态用户认证方法及系统

Country Status (1)

Country Link
CN (1) CN108345801B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110032862A (zh) * 2019-04-01 2019-07-19 中科天御(苏州)科技有限公司 一种防撞库攻击的数据动态防护方法及装置

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1889081A (zh) * 2006-08-01 2007-01-03 中国工商银行股份有限公司 一种数据库安全访问方法和系统
CN102571754A (zh) * 2011-12-05 2012-07-11 北京交通大学 一种对可视化信息系统进行安全防护的方法
CN103152179A (zh) * 2013-02-07 2013-06-12 江苏意源科技有限公司 一种适用于多应用系统的统一身份认证方法
US20140164776A1 (en) * 2012-02-20 2014-06-12 Lock Box Pty Ltd Cryptographic method and system
US20150089270A1 (en) * 2013-09-20 2015-03-26 Oracle International Corporation User-directed diagnostics and auto-correction
CN104866316A (zh) * 2015-06-02 2015-08-26 雷虹 数据中心中间件系统
CN104881280A (zh) * 2015-05-13 2015-09-02 南京邮电大学 一种支持多查询的密文数据库中间件的设计方法
CN104899817A (zh) * 2015-06-26 2015-09-09 中国人民解放军第四五四医院 一种移动互联网医院安全交互的方法
CN105207970A (zh) * 2014-06-12 2015-12-30 中兴通讯股份有限公司 基于公有云的认证方法、安全认证中间件及云计算资源池
CN107426169A (zh) * 2017-05-24 2017-12-01 阿里巴巴集团控股有限公司 一种基于权限的业务处理方法及装置

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1889081A (zh) * 2006-08-01 2007-01-03 中国工商银行股份有限公司 一种数据库安全访问方法和系统
CN102571754A (zh) * 2011-12-05 2012-07-11 北京交通大学 一种对可视化信息系统进行安全防护的方法
US20140164776A1 (en) * 2012-02-20 2014-06-12 Lock Box Pty Ltd Cryptographic method and system
CN103152179A (zh) * 2013-02-07 2013-06-12 江苏意源科技有限公司 一种适用于多应用系统的统一身份认证方法
US20150089270A1 (en) * 2013-09-20 2015-03-26 Oracle International Corporation User-directed diagnostics and auto-correction
CN105207970A (zh) * 2014-06-12 2015-12-30 中兴通讯股份有限公司 基于公有云的认证方法、安全认证中间件及云计算资源池
CN104881280A (zh) * 2015-05-13 2015-09-02 南京邮电大学 一种支持多查询的密文数据库中间件的设计方法
CN104866316A (zh) * 2015-06-02 2015-08-26 雷虹 数据中心中间件系统
CN104899817A (zh) * 2015-06-26 2015-09-09 中国人民解放军第四五四医院 一种移动互联网医院安全交互的方法
CN107426169A (zh) * 2017-05-24 2017-12-01 阿里巴巴集团控股有限公司 一种基于权限的业务处理方法及装置

Non-Patent Citations (7)

* Cited by examiner, † Cited by third party
Title
RICCARDO MURRI, ET AL.: "GridCertLib: A Single Sign-on Solution for Grid Web Applications and Portals", 《J GRID COMPUTING》 *
SAROJ KAUSHIK, ET AL.: "Reducing Dependency on Middleware for Pull Based Active Services in LBS Systems", 《INSTITUTE FOR COMPUTER SCIENCES, SOCIAL INFORMATICS AND TELECOMMUNICATIONS ENGINEERING 2011》 *
于泽源 等: "基于中间件的C/S模式下的身份认证", 《计算机工程与设计》 *
宋天煜 等: "面向密文数据库的中间件系统设计与实现", 《计算机应用》 *
汪海伟 等: "可搜索数据库加密系统的设计与实现", 《计算机技术与发展》 *
淡蓝色的风RED: "安全中间件技术分析", 《HTTPS://BLOG.CSDN.NET/CHENSHAORED/ARTICLE/DETAILS/6118355》 *
肖统民: "具有数据库更新通知功能的数据库中间件", 《现代计算机》 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110032862A (zh) * 2019-04-01 2019-07-19 中科天御(苏州)科技有限公司 一种防撞库攻击的数据动态防护方法及装置
CN110032862B (zh) * 2019-04-01 2022-12-16 中科天御(苏州)科技有限公司 一种防撞库攻击的数据动态防护方法及装置

Also Published As

Publication number Publication date
CN108345801B (zh) 2021-09-28

Similar Documents

Publication Publication Date Title
US11496310B2 (en) Methods and systems for universal storage and access to user-owned credentials for trans-institutional digital authentication
US11329980B2 (en) System and method for biometric protocol standards
US10536454B2 (en) System and method for biometric protocol standards
EP2731040B1 (en) Computer system for storing and retrieval of encrypted data items, client computer, computer program product and computer-implemented method
CN110489996B (zh) 一种数据库数据安全管理方法及系统
US9558366B2 (en) Computer system for storing and retrieval of encrypted data items, client computer, computer program product and computer-implemented method
US9092614B2 (en) Preventing impersonation of a computer system user
EP3338157B1 (en) System and method for biometric protocol standards
EP3652887A1 (en) Method and system for data security within independent computer systems and digital networks
CN111954211B (zh) 一种移动终端新型认证密钥协商系统
CN107733933A (zh) 一种基于生物识别技术的双因子身份认证的方法及系统
Said et al. A multi-factor authentication-based framework for identity management in cloud applications
EP2920732B1 (en) Computer system for storing and retrieval of encrypted data items, client computer, computer program product and computer-implemented method
CN111538973A (zh) 基于国密算法的个人授权访问控制系统
CN108345801A (zh) 一种面向密文数据库的中间件动态用户认证方法及系统
Hasan et al. Interaction provenance model for unified authentication factors in service oriented computing
Iftekhar et al. Implementation of blockchain for secured criminal records
Sirisha et al. ’Protection of encroachment on bigdata aspects’
CN109284615A (zh) 移动设备数字资源安全管理方法
Othman et al. The Horcrux Protocol: A Distributed Mobile Biometric Self-sovereign Identity Protocol
Singla et al. Hybrid Algorithm for Cloud Data Security
CN113454968A (zh) 用于安全交易的方法和系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant