3. Cấu trúc luận văn
4.2.4 Lưu trữ và tính toán trong đám mây:
Sau khi đã có được đầy đủ dữ liệu đầu vào được mã hóa, tôi tiến hành lưu trữ vào Google Cloud Platform. Tại đây chúng tôi tạo một dự án mới mang tên LVTN2021 như hình 4.7.
48
Hình 4.7: Tạo một dự án mới
Dữ liệu được lưu trữ sẽ được đặt tên theo mã định danh đối với từng người bệnh dưới dạng mã căn cước công dân. Sau đó các file đã được mã hóa sẽ được lưu trữ trên dự án.
4.2.5 Quản lý lưu trữ trong đám mây
Dữ liệu được mã hóa được đẩy lên đám mây như hình dưới:
Hình 4.8: Lưu trữ dữ liệu trên đám mây
Đây là bản gốc của dữ liệu của người tham gia vào khảo sát. Mã định danh của các dữ liệu này chính là số chứng minh thư, căn cước công dân của các tình nguyện viên tham gia vào chương trình này. Ngoài thư mục lưu trữ bản gốc dưới dạng .docx và dưới dạng mã hóa AES, còn hai phân vùng lưu trữ khác đó chính là khu vực lưu trữ dữ liệu FHE, là bản sao được mã hóa bằng FHE của dữ liệu AES gốc, chỉ dành cho một số bản ghi nhất định và Khu vực bộ đệm tính toán
49 FHE, là kết quả được tính toán trước cho các phần của bộ đệm dữ liệu FHE.
Các dữ liệu này cũng được lưu trữ dưới dạng các chuỗi file *.json và bản ghi trong MogonDB.
Cấu trúc dữ liệu lưu trong file JSON của 1 người tham gia chương trình: { "domain": "LVTN2021", "Ma_ID": "001094015732", "Ho_Ten": "Blue-Exchange ", "Ngay_sinh": "03081994", "Sex": "Nam", "Mo_ta": """, "created_time": 1557595717790, "So_lan_hien_mau": [ "1", "2", "3", "4" ], "Thoi_gian_hien_mau": [ 23092012, 14012013, 16082013, 15012014 ], "Nhom_mau": "O", "Ket_qua_xet_nghiem": [ "", "", "", "" ] } Trong đó:
STT Tên trường Mô tả
1 Ma_ID Số CMT/CCCD
2 created_time Thời gian bản ghi này được tạo
3 Domain Tên dự án
50
5 Ho_ten Họ và tên người tham gia
6 Ngay_sinh Ngày tháng năm sinh
7 Mo_ta Giới thiệu sơ bộ về người tham gia
8 Sex Giới tính
9 So_lan_hien_mau Các thông số liên quan tới hiến máu của người tham gia
10 Nhom_mau Nhóm máu của người tham gia
11 Ket_qua_xet_nghiem Thông tin các kết quả xét nghiệm của người tham gia
12 Thoi_gian_hien_mau Mảng thời gian hiến máu tương ứng.
Sau quá trình mã hóa, quá trình tạo file .json cũng được làm hoàn toàn tự động, với đầu vào là thông tin của người tham gia chương trình. Sau đó với mỗi dữ liệu được trả về từ chuỗi JSON thông qua hàm GET, chúng tôi tiến hành kiểm tra đối chiếu với file mã hóa đã được đẩy lên driver, sau khi thông tin được xác thực, file thông tin được cập nhật và đẩy ngược trở lại driver theo quá trình mã hóa, chuyển đổi và lưu trữ.
Đối với một phép toán, ở đây chúng tôi sử dụng phép toán truy vấn, quy trình hoạt động của hệ thống mà chúng tôi xây dựng như sau:
p thông tin tra u: tên, CCCD ng a ng u p o i u i file c nh nh danh ng m tra nh danh i u u o, truy t i file ê o ng i t u không i thông o c n
Hình 4.9: Phép toán truy vấn
51
Hình 4.10: Nhập thông tin truy vấn
Hệ thống tiến hành thực thi thao tác sau đó trả về thông tin bệnh án của người bệnh như hình 4.11, tại đây chúng ta có thể bổ sung, cập nhật kết quả cho đối tượng chúng ta đang tra cứu.
Hình 4.11: Kết quả trả về
Sau đó chúng tôi tiến hành chỉnh sửa, cập nhật thông tin, và hệ thống sẽ cập nhật theo mã định danh đã truy xuất trước đó, sau khi thông tin được xác thực, file thông tin được cập nhật và đẩy ngược trở lại driver theo quá trình mã hóa, chuyển đổi mã hóa mà không cần phải thực hiện lại các bước như đối với dữ liệu mới.
52
4.3 Nhận xét đánh giá
Kết quả của chương trình đó chính là những thông tin của người bệnh trước khi được cập nhật, ghi đè đã được so sánh với những thông tin trong khu vực chứa bộ đệm tính toán FHE, và sẽ được lưu trữ ở đây trước khi quá trình xác thực giữa bản đệm và khu vực bản sao, sau đó mới được cập nhật vào khu vực lưu trữ bản gốc. Điều này đã nâng cao khả năng đảm bảo dữ liệu của người dùng không bị thay đổi hay phá hủy. Tuy nhiên thời gian cho quá trình này cũng tốn nhiều thời gian hơn so với các cách lưu trữ và sử dụng thông thường. Nguyên nhân đó chính là quá trình mã hóa và giải mã của chương trình chúng tôi đề xuất chưa được tối ưu, điều này chúng tôi sẽ khắc phục trong những nghiên cứu tiếp theo của bản thân.
53
KẾT LUẬN VÀ ĐỊNH HƯỚNG PHÁT TRIỂN
Với hiệu quả thu được ban đầu, thông tin dữ liệu của người tham gia chương trình đã được bảo vệ, hệ thống bước đầu đã tạo nên được cơ chế kiểm soát, đảm bảo tính toàn vẹn và minh bạch cho dữ liệu của người sử dụng khi tham gia vào hệ thống.
Trong luận văn này, chúng tôi đã trình bày về mã hóa đồng cấu, một số hệ mã hóa đồng cấu đầy đủ, điện toán đám mây và ứng dụng của điện toán đám mây vào vấn đề kiểm soát sức khỏe, chúng tôi cũng đã xây dựng một hệ thống kiểm soát hồ sơ theo dõi sức khỏe cộng đồng an toàn mà ở đó, nhiệm vụ đảm bảo tính toàn vẹn và minh bạch của dữ liệu người dùng được đặt lên hàng đầu. Bên cạnh đó, luận văn này sẽ là cơ sở lý thuyết phục vụ cho các môn học thuộc lĩnh vực an toàn thông tin và đặc biệt là mã hóa dữ liệu hệ thống theo dõi sức khỏe an toàn sẽ giúp cho người sử dụng được an toàn khi thông tin cá nhân của mình được bảo đảm toàn vẹn.
Hiện tại trên thế giới chưa có một hệ thống nào kiểm soát an toàn phục vụ nhu cầu theo dõi sức khỏe. Với hiệu quả trước mắt, việc đầu tư nghiên cứu, phát triển và hoàn thiện hệ thống là điều cần làm và chắc chắn có tương lai.
Từ những nghiên cứu được đề cập trong luận văn, chúng tôi có thể hình dung ra hướng phát triển liên quan tới nội dung này còn rất rộng lớn, ví dụ như xây dựng một hệ thống phân tích, đánh giá, đưa ra dự báo bệnh tật hỗ trợ cho y bác sĩ điều trị, mà ở đó toàn bộ dữ liệu được xử lý trên dữ liệu đã được mã hóa. Đây là một hướng mà chúng tôi sẽ tiếp tục nghiên cứu trong thời gian tới để phát triển thêm nghiên cứu này của chúng tôi.
54
TÀI LIỆU THAM KHẢO
[1]. Quyết định 4888/QĐ-BYT ngày 18/10/2019 của Bộ Trưởng Bộ Y tế về việc “Phê duyệt đề án Ứng dụng và Phát triển Công nghệ thông tin Y tế thông minh giai đoạn 2019 -2025”.
[2]. Craig Gentry. A Fully Homomorphic Encryption Scheme. PhD thesis, Stanford, September 2009.
[3]. Zvika Brakerski, Craig Gentry, and Vinod Vaikuntanathan. “(Leveled) Fully Homomorphic Encryption Without Bootstrapping”. In: ACM Trans. Comput. Theory 6.3 (July 2014), 13:1–13:36. issn: 1942-3454. doi: 10. 1145/2633600. url: http://doi.acm.org/10.1145/2633600.
[4]. R. Rivest, A. Shamir and L. Adleman, “A method for obtaining digital signatures and public-key cryptosystems”, Communications of the ACM, 21 (1978), 120-126.
[5]. Wang (2012). "Enterprise cloud service architectures". Information Technology and Management. 13 (4): 445–454. doi:10.1007/s10799-012-0139-4. S2CID 8251298 [6]. "Arthur Clarke's 2001 Diary". visual-memory. Archived from the original on 10 May 2015. Retrieved 2 July 2015.
[7]. Evaluating 2-dnf formulas on ciphertexts. In Theory of Cryptography, Second Theory of Cryptography Conference, TCC 2005, Cambridge, MA, USA, February 10- 12, 2005, Proceedings, pages 325-341.
[8]. Christof Paar and Jan Pelzl. Understanding Cryptography. Springer-Verlag, second edition, 2010
[9]. Kristin Lauter. Practical applications of homomorphic encryption, 2015
[10]. Arjan Jeckmans, Andreas Peter, and Pieter H. Hartel. Efficient privacyenhanced familiarity-based recommender system. In Jason Crampton et al., editors, Computer Security - ESORICS 2013, volume 8134 of Lecture Notes in Computer Science, pages 400 - 417. Springer, 2013
[11]. Frederik Armknecht and Thorsten Strufe. An efficient distributed privacypreserving recommendation system. In The 10th IFIP Annual Mediterranean Ad Hoc Networking Workshop, Med-Hoc-Net 2011, pages 65-70. IEEE, 2011
[12]. Michael Naehrig, Kristin E. Lauter, and Vinod Vaikuntanathan. Can homomorphic encryption be practical? In Christian Cachin and Thomas Ristenpart, editors, Proceedings of the 3rd ACM Cloud Computing Security Workshop, CCSW, pages 113-124. ACM, 2011.
[13]. Handbook of Research on Cloud Infrastructures for Big Data Analytics. Chapter: Medical Data Analytics in the Cloud Using Homomorphic Encryption. Publisher: IGI Global. Editors: Pethuru Raj Chelliah, Ganesh Deka. Page 472-488, 2014
[14]. HealthDL - Một hệ thống thu thập, lưu trữ dữ liệu y tế lớn, Phan Tân, Trần Việt Trung, Nguyễn Hữu Đức, Nguyễn Thanh Tùng. Khoa học Kỹ thuật và Công nghệ, 2017.
[15]. Mohammed Ikram, Farookh Khadeer Hussain, Software as a Service (SaaS) Service Selection based on Measuring the Shortest Distance to the Consumer's
55
Preferences, Cloud computing service selection and service composition (Software as a Service - SaaS level) (2019).
[16]. Serena Pastore, The Platform as a Service (PaaS) Cloud Model: Opportunity or Complexity for a Web Developer? November 2013, International Journal of Computer Applications 81(18):29-37. DOI: 10.5120/14225-2435
[17]. Sonia Shahzadi, Muddesar Iqbal, Zia Ul Qayyum, Tasos Dagiuklas, Infrastructure as a Service (IaaS): A Comparative Performance Analysis of Open-
Source Cloud Platforms, 22nd IEEE International Workshop on Computer Aided Modeling and Design of Communication Links and Networks (CAMAD), 2017, DOI: 10.1109/CAMAD.2017.8031522
[18]. Abbas Acar, Hidayet Aksu, A. Selcuk Uluagac, and Mauro Conti, 2018. A survey on homomorphic encryption schemes: theory and implementation. ACM Comput. Surv. 1, 1, Article 1 (January 2018), 35 pages.
[19]. Daniele Micciancio and Oded Regev. 2009. Lattice-based cryptography. In Post- quantum cryptography. Springer, 147–191.
[20]. Hermann Minkowski. 1968. Geometrie der zahlen. Vol. 40.
[21]. Miklós Ajtai. 1996. Generating hard instances of lattice problems. In Proceedings of the twenty-eighth annual ACM symposium on Theory of computing. ACM, 99–108. [22]. Chris Peikert. 2015. A decade of lattice cryptography. Technical Report. Cryptology ePrint Archive, Report 2015/939.
[23]. Oded Goldreich, Shafi Goldwasser, and Shai Halevi. 1997. Public-key cryptosystems from lattice reduction problems. In Advances in Cryptology— CRYPTO’97. Springer, 112–131.
[24]. Arjen Klaas Lenstra, Hendrik Willem Lenstra, and László Lovász. 1982. Factoring polynomials with rational coefficients. Math. Ann. 261, 4 (1982), 515–534.
[25]. O. Regev on lattices, learning with errors, random linear codes, and cryptography. J. ACM 56(6):1-40, 2009. Preliminary version in STOC, 2005.
[26]. C. Peikert and B. Waters. Lossy trapdoor functions and their applications. STOC, pages 187-196, 2008.
[27]. Craig Gentry. A Fully Homomorphic Encryption Scheme. PhD thesis, Stanford, September 2009.
[28]. Oded Regev. “The Learning with Errors Problem”. Proceedings of the 25th
Annual IEEE Conference on Computational Complexity, CCC 2010, Cambridge, Massachusetts, June 9-12, 2010.
[29]. Federico Bergami. “Lattice-Based Cryptography”. ALGANT Master's Thesis - 20 July, 2016.
[30]. Goldreich, Oded; Goldwasser, Shafi; Halevi, Shai, "Public-key cryptosystems from lattice reduction problems". CRYPTO ’97: Proceedings of the 17th Annual International Cryptology Conference on Advances in Cryptology. London: Springer- Verlag. pp. 112–131, 1997.
56
in IEEE Transactions on Information Theory, vol. 48, No. 8, pp. 2201-2214, Aug. 2002, doi: 10.1109/TIT.2002.800499.
[32]. Zhaofei Tian, B.Sc. “GGH Cryptosystem and Lattice Reduction Algorithms”. Master of Science (2011) McMaster University (Computing & Software) Hamilton, Ontario, Canada.
[33]. M. Bessenyei. The Hermite-Hadamard inequality on simplices. Amer. Math. Monthly, 115(4):339-345, 2008.
[34]. J. Hoffstein, J.C. Pipher, and J.H. Silverman. An introduction to mathematical cryptography. Undergraduate texts in mathematics. Springer, 2008
[35]. Joan Daemen, Vincent Rijmen. The Rijndael Block Cipher AES Proposal, 1999
[36]. Joan Daemen, Vincent Rijmen. The Design of Rijndael AES—The Advanced Encryption Standard, 2001.
[37]. Payal V. Parmar, Shraddha B. Padhar, Shafika N. Patel, Niyatee I. Bhatt, Rutvij H. Jhaveri, Survey of Various Homomorphic Encryption algorithms and Schemes, International Journal of Computer Applications (0975 – 8887), Volume 91 – No.8, April 2014
[38]. Jacob Jonsson, RSA Laboratories Europe, Stockholm, Security proofs for the RSA-PSS Signature Scheme and Its Variants-Draft 1.1, July 3, 2001.
[39]. RSA laboratories, PKCS #1 v2.1: RSA Cryptography Standard, June 14, 2002. [40]. [BGV12] Zvika Brakerski, Craig Gentry, and Vinod Vaikuntanathan. (Leveled) Fully Homomorphic Encryption without Bootstrapping. In Shafi Goldwasser, editor,
ITCS 2012, pages 309–325, Cambridge, MA, USA, January 8–10, 2012. ACM Press.
[41]. [Bon98] Dan Boneh. The Decision Diffie-Hellman Problem. In Joe P. Buhler, editor, ANTS-III, volume 1423, pages 48–63, Portland, Orgeon, USA, June, 21– 25 1998.
[42]. [Bra12] Zvika Brakerski. Fully Homomorphic Encryption without Modulus Switching from Classical GapSVP. Technical Report 2012/078, February 19, 2012. Available at http://eprint.iacr.org/2012/078.
[43]. [BV11] Zvika Brakerski and Vinod Vaikuntanathan. Efficient Fully Homomorphic Encryption from (Standard) LWE. In Ostrovsky [Ost11],
[44]. [DFH12] Ivan Damg˚ard, Sebastian Faust, and Carmit Hazay. Secure Two-Party Computation with Low Communication. In Ronald Cramer, editor, TCC 2012, volume 7194, pages 54–74, Taormina, Sicily, Italy, March, 19–22 2012.
[45]. [FV12] Junfeng Fan and Federik Vercauteren. Somewhat Practical Fully Homomorphic Encryption. Technical Report 2012/144, March 17, 2012. Available at http://eprint.iacr.org/2012/144, last version retrieved from March 22, 2012.
[46]. [Gam84] Taher El Gamal. A Public Key Cryptosystem and a Signature Scheme Based on Discrete Logarithms. In G. R. Blakley and David Chaum, editors, CRYPTO 1984, volume 196, pages 10–18, Santa Barbara, California, USA, August, 19– 22 1984. [47]. Khuất Thanh Sơn, Nguyễn Trường Thắng, Lê Phê Đô, Bùi Trọng A Đam, Nghiên cứu một số hệ mật lattice trong họ mã hóa đồng cấu đầy đủ. Kỷ yếu Hội nghị KHCN
57
Quốc gia lần thứ XIV về Nghiên cứu cơ bản và ứng dụng Công nghệ thông tin (FAIR), TP. HCM, ngày 23-24/12/2021 DOI: 10.15625/vap.2021.00104
[48]. Ronald L Rivest, Len Adleman, and Michael L Dertouzos. 1978a. On data banks and privacy homomor-phisms. Foundations of secure computation 4, 11 (1978), 169– 180.
[49]. Whitfield Diffie and Martin E Hellman. 1976. New directions in cryptography. Information Theory, IEEE Transactions on 22, 6 (1976), 644–654.
[50]. Ronald L Rivest, Adi Shamir, and Len Adleman. 1978b. A method for obtaining digital signatures and public-key cryptosystems. Commun. ACM 21, 2 (1978), 120–126.
[51]. Peter L Montgomery. 1994. A survey of modern integer factorization algorithms.
CWI quarterly 7, 4 (1994), 337–366.
[52]. Shafi Goldwasser and Silvio Micali. 1982. Probabilistic encryption & how to play mental poker keeping secret all partial information. In Proceedings of the fourteenth annual ACM symposium on Theory of computing. ACM, 365–377.
[53]. Burt Kaliski. 2005. Quadratic Residuosity Problem. Springer US, Boston, MA, 493–493. DOI:http://dx.doi.org/10.1007/0-387-23483-7 336
[54]. Taher ElGamal. 1985. A public key cryptosystem and a signature scheme based on discrete logarithms. In Advances in cryptology. Springer, 10–18.
[55]. S McCURLEY Kevin. 1990. The discrete logarithm problem. Cryptology and computational number theory 42 (1990), 49.
[56]. Josh Benaloh. 1994. Dense probabilistic encryption. In Proceedings of the workshop on selected areas of cryptography. 120–128.
[57]. ABBAS ACAR, HIDAYET AKSU, and A. SELCUK ULUAGAC, A Survey on Homomorphic Encryption Schemes: Theory and Implementation, ACM Computing Surveys, Volume 51, Issue 4, July 2019, Article No.: 79, pp 1–35, https://doi.org/10.1145/3214303