KR20240009363A - 보안 삭제 검증 가능한 저장 장치 및 그것의 동작 방법 - Google Patents
보안 삭제 검증 가능한 저장 장치 및 그것의 동작 방법 Download PDFInfo
- Publication number
- KR20240009363A KR20240009363A KR1020230088747A KR20230088747A KR20240009363A KR 20240009363 A KR20240009363 A KR 20240009363A KR 1020230088747 A KR1020230088747 A KR 1020230088747A KR 20230088747 A KR20230088747 A KR 20230088747A KR 20240009363 A KR20240009363 A KR 20240009363A
- Authority
- KR
- South Korea
- Prior art keywords
- data
- nand flash
- flash memory
- memory
- verification
- Prior art date
Links
- 230000037430 deletion Effects 0.000 title claims abstract description 73
- 238000012217 deletion Methods 0.000 title claims abstract description 72
- 238000003860 storage Methods 0.000 title claims abstract description 49
- 238000011017 operating method Methods 0.000 title description 2
- 238000000034 method Methods 0.000 claims abstract description 109
- 238000012795 verification Methods 0.000 claims abstract description 71
- 238000013503 de-identification Methods 0.000 description 47
- 239000000872 buffer Substances 0.000 description 34
- 238000007726 management method Methods 0.000 description 31
- 238000010586 diagram Methods 0.000 description 25
- 238000005201 scrubbing Methods 0.000 description 22
- 238000005516 engineering process Methods 0.000 description 21
- 238000012937 correction Methods 0.000 description 18
- 238000011160 research Methods 0.000 description 18
- 238000012545 processing Methods 0.000 description 17
- 238000013507 mapping Methods 0.000 description 14
- 230000006870 function Effects 0.000 description 12
- 230000008569 process Effects 0.000 description 12
- 238000004422 calculation algorithm Methods 0.000 description 11
- 238000013461 design Methods 0.000 description 10
- 238000011084 recovery Methods 0.000 description 5
- 230000004044 response Effects 0.000 description 5
- 238000009826 distribution Methods 0.000 description 4
- 241000692052 Basilia Species 0.000 description 3
- 238000013459 approach Methods 0.000 description 3
- 230000006399 behavior Effects 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 3
- 230000006866 deterioration Effects 0.000 description 3
- 238000011012 sanitization Methods 0.000 description 3
- 101000682328 Bacillus subtilis (strain 168) 50S ribosomal protein L18 Proteins 0.000 description 2
- 108091006146 Channels Proteins 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 2
- 238000007405 data analysis Methods 0.000 description 2
- 238000012517 data analytics Methods 0.000 description 2
- 238000013523 data management Methods 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000005055 memory storage Effects 0.000 description 2
- 230000000116 mitigating effect Effects 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 238000013519 translation Methods 0.000 description 2
- 206010010071 Coma Diseases 0.000 description 1
- 241000077989 Hiradonta chi Species 0.000 description 1
- 101000694017 Homo sapiens Sodium channel protein type 5 subunit alpha Proteins 0.000 description 1
- 241001313099 Pieris napi Species 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000012512 characterization method Methods 0.000 description 1
- CXOXHMZGEKVPMT-UHFFFAOYSA-N clobazam Chemical compound O=C1CC(=O)N(C)C2=CC=C(Cl)C=C2N1C1=CC=CC=C1 CXOXHMZGEKVPMT-UHFFFAOYSA-N 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000006378 damage Effects 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 238000007418 data mining Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000013524 data verification Methods 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 238000009795 derivation Methods 0.000 description 1
- 238000002224 dissection Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000009545 invasion Effects 0.000 description 1
- 238000011835 investigation Methods 0.000 description 1
- 230000033001 locomotion Effects 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 230000000873 masking effect Effects 0.000 description 1
- 238000013508 migration Methods 0.000 description 1
- 230000005012 migration Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012806 monitoring device Methods 0.000 description 1
- 229940044442 onfi Drugs 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000003909 pattern recognition Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000002040 relaxant effect Effects 0.000 description 1
- 238000013468 resource allocation Methods 0.000 description 1
- 238000012552 review Methods 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000008685 targeting Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000009966 trimming Methods 0.000 description 1
- 238000009827 uniform distribution Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0891—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches using clearing, invalidating or resetting means
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting 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
- G06F21/6245—Protecting personal data, e.g. for financial or medical purposes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2143—Clearing memory, e.g. to prevent the data from being stolen
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Bioethics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Databases & Information Systems (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
본 발명에 따른 비휘발성 메모리 장치와 상기 비휘발성 메모리 장치를 제어하는 제어기를 갖는 저장 장치의 동작 방법은, 외부 장치로부터 무효화 동작 요청을 수신하는 단계, 상기 무효화 동작에 따라 타겟 데이터에 대한 보안 삭제 동작을 수행하는 단계, 셀 카운터를 이용하여 상기 타겟 데이터가 상기 비휘발성 메모리 장치에 존재하는 지를 검증하는 단계, 및 상기 검증 결과를 상기 외부 장치로 출력하는 단계를 포함할 수 있다.
Description
본 발명은 보안 삭제 검증 가능한 저장 장치 및 그것의 동작 방법에 관한 것이다.
일반적으로, 개인 정보의 비식별화는 빅 데이터 생태계[1]-[3]에서 중요한 문제이다. 개인 정보 보호를 강화하기 위해서는 재식별 위협을 줄이기 위한 비식별 기술이 필요하다[4]. 이에 대해 특히 단일 출력, 연결 가능성, 추론 및 구별 불가능성을 둘러싼 활발한 논의가 있다[5]. 단일 출력은 전체 데이터 세트[6]에서 특정 개인에 해당하는 세트를 식별할 수 있는 정도를 나타낸다. 연계성이란 개별화된 정보가 다른 정보와의 연계를 통해 특정 개인의 정보로 검증되는 정도를 말한다[7]. 추론 가능성이란 특정 개인이 특정 정보의 속성값을 통해 추론되는 정도를 말한다 [8]. 구별가능성이란 특정 정보가치가 특정 집단이나 소속에 포함된 특정 개인과 구별되는 정도를 말한다[9]. 일반적으로, 비식별화 기술은 마스킹, 가명화, 익명성, 다양성, 유사성, 샘플링 및 집계와 같은 다양한 방식으로 도입된다 [10], [11]. 유럽 연합은 빅 데이터의 개인 정보 보호를 설계하기 위해 데이터 컬렉션, 데이터 분석, 데이터 저장 및 데이터 사용의 4단계에 적합한 요구사항을 제시하다 [12].
1. K. Patel and G. B. Jethava, "Privacy preserving techniques for big data: A survey", Proc. 2nd Int. Conf. Inventive Commun. Comput. Technol. (ICICCT), pp. 194-199, Apr. 2018.
2. M. Shamila, K. Vinuthna and A. K. Tyagi, "A review on several critical issues and challenges in IoT based e-healthcare system", Proc. Int. Conf. Intell. Comput. Control Syst. (ICCS), pp. 1036-1043, May 2019.
3. B. Alabdullah, N. Beloff and M. White, "Rise of big data―Issues and challenges", Proc. 21st Saudi Comput. Soc. Nat. Comput. Conf. (NCC), pp. 1-6, Apr. 2018.
4. K. El Emam, "Risk-based de-identification of health data", IEEE Secur. Privacy Mag. , vol. 8, no. 3, pp. 64-67, May 2010.
5. A. Kassem, G. Acs, C. Castelluccia and C. Palamidessi, "Differential inference testing: A practical approach to evaluate sanitizations of datasets", Proc. IEEE Secur. Privacy Workshops (SPW), pp. 72-79, May 2019.
6. Q. N. Hong, N. N. Tuan, T. T. Quang, D. N. Tien and C. V. Le, "Deep spatio-temporal network for accurate person re-identification", Proc. Int. Conf. Inf. Commun. (ICIC), pp. 208-213, Jun. 2017.
7. J. R. Pinto, M. V. Correia and J. S. Cardoso, "Secure triplet loss: Achieving cancelability and non-linkability in end-to-end deep biometrics", IEEE Trans. Biometrics Behav. Identity Sci. , vol. 3, no. 2, pp. 180-189, Apr. 2021.
8. M. Mendieta, C. Neff, D. Lingerfelt, C. Beam, A. George, S. Rogers, et al. , "A novel application/infrastructure co-design approach for real-time edge video analytics", Proc. SoutheastCon, pp. 1-7, Apr. 2019.
9. J. Soria-Comas and J. Domingo-Ferrer, "Probabilistic K-anonymity through microaggregation and data swapping", Proc. IEEE Int. Conf. Fuzzy Syst. , pp. 1-8, Jun. 2012.
10. P. Silva, E. Monteiro and P. Simoes, "Privacy in the cloud: A survey of existing solutions and research challenges", IEEE Access, vol. 9, pp. 10473-10497, 2021.
11. S. Niksefat, P. Kaghazgaran and B. Sadeghiyan, "Privacy issues in intrusion detection systems: A taxonomy survey and future directions", Comput. Sci. Rev. , vol. 25, pp. 69-78, Aug. 2017.
12. N. Mehta, A. Pandit and M. Kulkarni, "Elements of healthcare big data analytics", Big Data Analytics in Healthcare, vol. 66, pp. 23-43, 2020.
13. C. Park, J. -U. Kang, S. -Y. Park and J. -S. Kim, "Energy-aware demand paging on NAND flash-based embedded storages", Proc. Int. Symp. Low Power Electron. Design, pp. 338-343, Aug. 2004.
14. S. -Y. Kim and S. -I. Jung, "A log-based flash translation layer for large NAND flash memory", Proc. 8th Int. Conf. Adv. Commun. Technol. , pp. 1641-1644, 2006.
15. N. -Y. Ahn and D. Hoon Lee, "Duty to delete on non-volatile memory", arXiv:1707. 02842, 2017.
16. A. Nisbet and R. Jacob, "TRIM wear levelling and garbage collection on solid state drives: A prediction model for forensic investigators", Proc. 18th IEEE Int. Conf. Trust Secur. Privacy Comput. Commun. /13th IEEE Int. Conf. Big Data Sci. Eng. (TrustCom/BigDataSE), pp. 419-426, Aug. 2019.
17. N. Y. Ahn and D. H. Lee, "Schemes for privacy data destruction in a NAND flash memory", IEEE Access, vol. 7, pp. 181305-181313, 2019.
18. M. Gibson, N. Medina and Z. Nail, "SSD forensics: Evidence generation and analysis" in Digital Forensic Education, Cham, Switzerland:Springer, vol. 61, pp. 203-218, 2020.
19. W. -C. Wang, C. -C. Ho, Y. -M. Chang and Y. -H. Chang, "Challenges and designs for secure deletion in storage systems", Proc. Indo-Taiwan 2nd Int. Conf. Comput. Anal. Netw. (Indo-Taiwan ICAN), pp. 181-189, Feb. 2020.
20. N. Y. Ahn and D. H. Lee, "Forensics and anti-forensics of a NAND flash memory: From a copy-back program perspective", IEEE Access, vol. 9, pp. 14130-14137, 2021.
21. N. Y. Ahn and D. H. Lee, "Forensic issues and techniques to improve security in SSD with flex capacity feature", IEEE Access, vol. 9, pp. 167067-167075, 2021.
22. W. Zhou, Y. Jia, A. Peng, Y. Zhang and P. Liu, "The effect of IoT new features on security and privacy: New threats existing solutions and challenges yet to be solved", IEEE Internet Things J. , vol. 6, no. 2, pp. 1606-1616, Apr. 2019.
23. O. B. Sezer, E. Dogdu and A. M. Ozbayoglu, "Context-aware computing learning and big data in Internet of Things: A survey", IEEE Internet Things J. , vol. 5, no. 1, pp. 1-27, Feb. 2018.
24. Y. Zhao, W. Tong, J. Liu, D. Feng and H. Qin, "CeSR: A cell state remapping strategy to reduce raw bit error rate of MLC NAND flash", Proc. 35th Symp. Mass Storage Syst. Technol. (MSST), pp. 161-171, May 2019.
25. P. Huang, P. Subedi, X. He, S. He and K. Zhou, "FlexECC: Partially relaxing ECC of MLC SSD for better cache performance", Proc. USENIX ATC, pp. 489-500, 2014.
26. B. Salami, E. B. Onural, I. E. Yuksel, F. Koc, O. Ergin, A. Cristal Kestelman, et al. , "An experimental study of reduced-voltage operation in modern FPGAs for neural network acceleration", Proc. 50th Annu. IEEE/IFIP Int. Conf. Dependable Syst. Netw. (DSN), pp. 138-149, Jun. 2020.
27. A. Agnesina, D. E. Shim, J. Yamaguchi, C. Krutzik, J. Carson, D. Nakamura, et al. , "A fault-tolerant and high-speed memory controller targeting 3D flash memory cubes for space applications", Proc. IEEE 38th Int. Conf. Comput. Design (ICCD), pp. 425-432, Oct. 2020.
28. Y. Lee, J. Park, J. Ryu and Y. Kim, "AxFTL: Exploiting error tolerance for extending lifetime of NAND flash storage", IEEE Trans. Comput. -Aided Design Integr. Circuits Syst. , vol. 39, no. 11, pp. 3239-3249, Nov. 2020.
29. K. Missimer and R. West, "Partitioned real-time NAND flash storage", Proc. IEEE Real-Time Syst. Symp. (RTSS), pp. 185-195, Dec. 2018.
30. M. Qin, R. Mateescu, Q. Wang, C. Guyot, D. Vucinic and Z. Bandic, "Garbage collection algorithms for meta data updates in NAND flash", Proc. IEEE Int. Conf. Commun. (ICC), pp. 1-5, May 2019.
31. S. Wang, Y. Zhou, J. Zhou, F. Wu and C. Xie, "An efficient data migration scheme to optimize garbage collection in SSDs", IEEE Trans. Comput. -Aided Design Integr. Circuits Syst. , vol. 40, no. 3, pp. 430-443, Mar. 2021.
32. S. -H. Hwang and J. W. Kwak, "RbWL: Recency-based static wear leveling for lifetime extension and overhead reduction in NAND flash memory systems", IEICE Trans. Inf. Syst. , vol. 101, no. 10, pp. 2518-2522, Oct. 2018.
33. J. Shey, J. A. Blanco, O. Walker, T. W. Tedesso, H. T. Ngo, R. Rakvic, et al. , "Monitoring device current to characterize trim operations of solid-state drives", IEEE Trans. Inf. Forensics Security, vol. 14, no. 5, pp. 1296-1306, May 2019.
34. W. -C. Wang, C. -C. Ho, Y. -H. Chang, T. -W. Kuo and P. -H. Lin, "Scrubbing-aware secure deletion for 3-D NAND flash", IEEE Trans. Comput. -Aided Design Integr. Circuits Syst. , vol. 37, no. 11, pp. 2790-2801, Nov. 2018.
35. M. M. Hasan and B. Ray, "Data recovery from `scrubbed' NAND flash storage: Need for analog sanitization", Proc. 29th USENIX Secur. Symp. , pp. 1399-1408, 2020.
36. P. -H. Lin, Y. -M. Chang, Y. -C. Li, W. -C. Wang, C. -C. Ho and Y. -H. Chang, "Achieving fast sanitization with zero live data copy for MLC flash memory", Proc. Int. Conf. Comput. -Aided Design, pp. 1-8, Nov. 2018.
37. M. Wang, J. Xiong, R. Ma, Q. Li and B. Jin, "A novel data secure deletion scheme for mobile devices", Proc. 27th Int. Conf. Comput. Commun. Netw. (ICCCN), pp. 1-8, Jul. 2018.
38. J. Xiong, L. Chen, M. Z. A. Bhuiyan, C. Cao, M. Wang, E. Luo, et al. , "A secure data deletion scheme for IoT devices through key derivation encryption and data analysis", Future Gener. Comput. Syst. , vol. 111, pp. 741-753, Oct. 2020.
39. S. Ribaric, A. Ariyaeeinia and N. Pavesic, "De-identification for privacy protection in multimedia content: A survey", Signal Process. Image Commun. , vol. 47, pp. 131-151, Sep. 2016.
40. K. Brkic, I. Sikiric, T. Hrkac and Z. Kalafatic, "I know that person: Generative full body and face de-identification of people in images", Proc. IEEE Conf. Comput. Vis. Pattern Recognit. Workshops (CVPRW), pp. 1319-1328, Jul. 2017.
41. D. Kim, H. Kim, S. Yun, Y. Song and J. Kim, " 13. 1 A 1Tb 4b/cell NAND flash memory with tPROG+2ms tR=110 \$mu\$ s and 1. 2Gb/s High-Speed IO Rate ", IEEE Int. Solid-State Circuits Conf. (ISSCC) Dig. Tech. Papers, pp. 218-220, Feb. 2020.
42. Y. Cai, S. Ghose, E. F. Haratsch, Y. Luo and O. Mutlu, "Error characterization mitigation and recovery in flash-memory-based solid-state drives", Proc. IEEE, vol. 105, no. 9, pp. 1666-1704, Sep. 2017.
43. Y. Cai, S. Ghose, E. F. Haratsch, Y. Luo and O. Mutlu, "Reliability issues in flash-memory-based solid-state drives: Experimental analysis mitigation recovery" in in Inside Solid-State Drives (SSDs), Singapore:Springer, 2018.
44. T. Ojo, H. Chi, J. Elliston and K. Roy, "Secondhand smart IoT devices data recovery and digital investigation", Proc. SoutheastCon, pp. 640-648, Mar. 2022.
45. US Patent 11,288,001, "Self-clearing data move assist (DMA) engine", Mar. 2022.
46. Y. Wang, Z. Qin, R. Chen, Z. Shao and L. T. Yang, "An adaptive demand-based caching mechanism for NAND flash memory storage systems", ACM Trans. Des. Automat. Electron. Syst. , vol. 22, no. 1, pp. 18, Dec. 2016.
47. Y. Guan, G. Wang, C. Ma, R. Chen, Y. Wang and Z. Shao, "A block-level log-block management scheme for MLC NAND flash memory storage systems", IEEE Trans. Comput. , vol. 66, no. 9, pp. 1464-1477, Sep. 2017.
본 발명의 목적은 보안 삭제 검증이 가능한 저장 장치 및 그것의 동작 방법을 제공하는데 있다.
본 발명의 실시 예에 따른 비휘발성 메모리 장치와 상기 비휘발성 메모리 장치를 제어하는 제어기를 갖는 저장 장치의 동작 방법은, 외부 장치로부터 무효화 동작 요청을 수신하는 단계; 상기 무효화 동작에 따라 타겟 데이터에 대한 보안 삭제 동작을 수행하는 단계; 셀 카운터를 이용하여 상기 타겟 데이터가 상기 비휘발성 메모리 장치에 존재하는 지를 검증하는 단계; 및 상기 검증 결과를 상기 외부 장치로 출력하는 단계를 포함할 수 있다.
본 발명의 실시 예에 따른 저장 장치 및 그것의 동작 방법은, 보안 삭제를 수행한 후에, 보안 삭제의 성공 혹은 실패를 검증할 수 있다.
이하에 첨부되는 도면들은 본 실시 예에 관한 이해를 돕기 위한 것으로, 상세한 설명과 함께 실시 예들을 제공한다.
도 1은 NAND 플래시 메모리의 개인 데이터 수명에서 얻은 원본 데이터, 프로그램 동작 중의 원본 데이터 및 읽기 동작 중의 원본 데이터를 보여주고 도면이다.
도 2는 에러가 없는 원본 데이터와 에러를 수정할 수 있는 원본을 예시적으로 보여주는 도면이다.
도 3은 일반적인 메모리 블록을 예시적으로 보여주는 도면이다.
도 4는 블록 관리 동작을 예시적으로 보여주는 도면이다.
도 5는 무효 영역의 관리되지 않는 블록에서 디지털 포렌식 대상을 예시적으로 보여주는 도면이다.
도 6은 낸드 플래시 메모리 기반의 IoT 장치의 해킹 위험을 예시적으로 보여주는 도면이다.
도 7은 낸드 플래시 메모리 기반의 저장 장치에서 비식별화 과정을 예시적으로 보여주는 도면이다.
도 8은 스크러빙 기술을 이용한 보안 삭제를 예시적으로 보여주는 도면이다.
도 9는 일반적인 낸드 플래시 메모리의 메모리 코어를 예시적으로 보여주는 도면이다.
도 10은 셀 카운터들을 이용하여 보안 삭제를 위한 검증 로직을 예시적으로 보여주는 도면이다.
도 11a 및 도 11b는 보안 삭제의 검증 실패 및 검증 성공을 예시적으로 보여주는 도면들이다.
도 12는 보안 삭제 기법의 성능을 비교하는 도면이다.
도 13은 본 발명의 실시 예에 따른 저장 장치를 예시적으로 보여주는 도면이다.
도 1은 NAND 플래시 메모리의 개인 데이터 수명에서 얻은 원본 데이터, 프로그램 동작 중의 원본 데이터 및 읽기 동작 중의 원본 데이터를 보여주고 도면이다.
도 2는 에러가 없는 원본 데이터와 에러를 수정할 수 있는 원본을 예시적으로 보여주는 도면이다.
도 3은 일반적인 메모리 블록을 예시적으로 보여주는 도면이다.
도 4는 블록 관리 동작을 예시적으로 보여주는 도면이다.
도 5는 무효 영역의 관리되지 않는 블록에서 디지털 포렌식 대상을 예시적으로 보여주는 도면이다.
도 6은 낸드 플래시 메모리 기반의 IoT 장치의 해킹 위험을 예시적으로 보여주는 도면이다.
도 7은 낸드 플래시 메모리 기반의 저장 장치에서 비식별화 과정을 예시적으로 보여주는 도면이다.
도 8은 스크러빙 기술을 이용한 보안 삭제를 예시적으로 보여주는 도면이다.
도 9는 일반적인 낸드 플래시 메모리의 메모리 코어를 예시적으로 보여주는 도면이다.
도 10은 셀 카운터들을 이용하여 보안 삭제를 위한 검증 로직을 예시적으로 보여주는 도면이다.
도 11a 및 도 11b는 보안 삭제의 검증 실패 및 검증 성공을 예시적으로 보여주는 도면들이다.
도 12는 보안 삭제 기법의 성능을 비교하는 도면이다.
도 13은 본 발명의 실시 예에 따른 저장 장치를 예시적으로 보여주는 도면이다.
아래에서는 도면들을 이용하여 본 발명의 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시 할 수 있을 정도로 본 발명의 내용을 명확하고 상세하게 기재할 것이다.
NAND 플래시 메모리 기반 IoT (Internet of Things) 장치는 데이터가 삭제되더라도 원래의 개인 데이터를 여전히 유효하지 않은 영역에 남길 수 있다. 본 발명에서는 NAND 플래시 메모리로 인해 관리되지 않는 블록에 남아 있는 원본 데이터의 법적 문제를 제기하고 잘못된 영역에서 이러한 데이터를 안전하게 삭제하는 방법을 소개하다. 또한 블록에 저장된 개인 데이터와 데이터 간의 비트 차이를 나타내는 셀 카운트 정보를 기반으로 수행되는 보안 삭제를 위한 검증 기법을 제안한다. 셀 카운트 정보에 따른 검증 기법의 성공/실패는 에러 정정 능력을 고려하여 결정된다. 빅 데이터 산업에서 비식별화라는 포렌식 문제가 중요한 주제가 되고 있는 가운데, 심각한 개인 정보 침해의 위협과 이러한 공격을 방지하기 위한 당사의 제안이 결합되어 향후 중요한 기술적 필요성이 입증될 것이다.
데이터 은닉
NAND 플래시 메모리는 저전력 소비와 고성능 읽기/쓰기 동작의 특징을 가진 비휘발성 메모리이다 [13]. 이러한 이유로 스마트폰, IoT 기기, SSD(Solid State Drive)와 같은 저장 장치에서 NAND 플래시 메모리의 사용이 폭발적으로 증가하고 있다. NAND 플래시 메모리에서 쓰기 동작(혹은 프로그램 동작)과 이레이즈 동작의 단위는 근본적으로 다르다. 또한, 일반적으로 NAND 플래시 메모리는 덮어쓸 수 없다고 알려져 있다 [14]. 이러한 이유로 NAND 플래시 메모리는 다양한 내부 동작을 수행하여 수명을 연장하고 성능을 향상시킨다. 이러한 내부 조치와 관련하여, 포렌식의 위험성에 대한 연구가 최근 제기되었다 [15]-[21].
본 발명에서는 NAND 플래시 메모리 기반 IoT 기기에서 비식별화 처리 동작을 수행할 때 포렌식 가능성, 보안 삭제 및 보안 삭제를 검증하는 방법에 대해 논의하다. 에러 정정 기능을 통해 NAND 플래시 메모리의 원본 데이터를 정의하는 방법을 설명하고, NAND 플래시 메모리의 포렌식 대상에 대해 설명하다. 4장에서는 NAND 플래시 기반 저장 장치의 비식별화에 대한 포렌식 문제를 다룬다. 비식별화 처리 동작을 처리한 후에도 관리되지 않는 블록에 존재하는 개인 데이터에 대해 자세히 설명하다. 따라서 비식별화 동작으로 인해 관리되지 않는 블록에 존재하는 개인 데이터를 완전히 삭제한 후 이러한 보안 삭제를 위한 검증 방법을 제안한다. 제안된 검증 방식은 블록에 저장된 데이터와 개인 데이터를 일대일로 매칭하여 비교하는 방식이다. 마지막으로 상술 된 검증 기법에 따른 보안 삭제의 성공과 실패의 결과를 보여준다. 본 발명에서는 처음으로 NAND 플래시 메모리 기반 저장 장치의 비식별화 처리 동작으로 인한 원본 데이터의 잔존 문제를 제기한다. 또한 완전한 비식별화 처리 동작을 수행하려면 이러한 잔여 데이터의 보안 삭제에 대한 검증이 필요하다는 것을 검증하다.
IoT 환경은 매우 편리하지만, 동시에 심각한 개인 정보 침해를 초래할 수도 있다 [22], [23], [44]. 본 발명은 NAND 플래시 메모리를 기반으로 한 IoT 장치에 대한 포렌식 문제를 제기하다. 또한, 보안 삭제를 위해 현실적인 검증 기법을 도입함으로써, 칩 제조업체와 사용자가 앞으로 발생하거나 이미 발생하는 문제에 대한 답을 찾는 데 큰 도움이 될 것이다.
NAND 플래시 메모리의 원본 데이터
디지털 포렌식은 디지털 증거를 분석하여 조사하는 데 사용되는 포렌식 기술의 총칭이다. 최근 IoT 장치와 관련하여 NAND 플래시 메모리에 대한 디지털 포렌식에 대한 연구가 풍부하여 NAND 플래시 메모리의 디지털 포렌식 대상이 무엇인지에 대한 새로운 의문이 제기되고 있다[15]-[21]. 그러나 이를 정의하기 전에 먼저 원본 데이터가 무엇인지에 대한 개념을 디지털 방식으로 파악해야 하다.
도 1은 NAND 플래시 메모리의 개인 데이터 수명에서 얻은 원본 데이터, 프로그램 동작 중의 원본 데이터 및 읽기 동작 중의 원본 데이터를 보여주고 도면이다.
도 1을 참조하면, NAND 플래시 메모리에 데이터를 저장하는 과정은 다음과 같다. 제어기의 NAND 플래시 메모리에 저장된 개인 데이터는 도 1과 같이 바이너리 코드로 변환된다. 그 후 변환된 이진 코드는 랜덤(스크램블) 알고리즘(혹은 암호화 알고리즘)을 기반으로 랜덤화(혹은 스크램블)된다. 그 후, 랜덤화된 데이터는 상태 매핑되어 NAND 플래시 메모리에 저장된다 [17], [24]. 상태 매핑 상태에 해당하는 문턱 전압 Vth가 NAND 플래시 메모리에 프로그래밍된다. 예를 들어, 개인 데이터 "BASILIA"에 해당하는 이진 코드는 0100001000001010011010010100110001000001이다. 바이너리 코드는 원본 데이터입니까?이 이진 코드는 57비트로 랜덤화(혹은 스크램블)되어 10110101101000000101101101101110001100110011011001100110011001100110011001100001이다. 그렇다면, 이 랜덤 데이터는 원본 데이터입니까?
위에서 설명한 57비트 랜덤 데이터에 해당하는 매핑 상태는 P7-P7-P1-P7-P3-P3-P7-P7-P7-P5-P5-P2이다. 즉, 프로그램 동작을 통해 19개의 메모리 셀 각각은 대응하는 상태의 문턱 전압 Vth를 갖다. 그렇다면, 19개의 플래시 메모리 셀에 각각 프로그래밍 된 상태는 원래 데이터입니까? 디지털 포렌식을 위해 메모리 셀의 모든 개인 데이터, 이진 코드, 랜덤 데이터 및 매핑 상태를 원본 데이터로 정의해야 하다. 현실에서 개인 데이터 "BASILIA"는 메모리 셀 P7-P7-P1-P7-P3-P3-P7-P7-P5-P6-P5-P7-P5-P5-P1의 매핑 상태이다. ASCII 코드 변환 알고리즘, 랜덤 알고리즘 및 매핑 테이블과 관련하여, 데이터 "BASILIA"는 메모리 셀의 매핑 상태이며, 이는 P7-P7-P1-P1-P7-P7-P7-P7-P5-P6-P7-P5-P5-P5-P1-P3-P2와 동일하다. 또한, NAND 플래시 메모리는 기본적으로 내부적으로 에러 정정 회로를 포함하거나 외부 제어기에서 에러 정정 동작을 수행하므로, 등가 메모리 셀의 매핑 상태 수는 에러 정정이 가능한 비트 수만큼 크게 증가할 수 있다. 이 문제를 해결하려면 NAND 플래시 메모리에 원본 데이터를 별도로 정의해야 하다. 즉, 에러 정정이 가능한 데이터라도 원본 데이터로 인식하는 것이 적절하다.
일반적으로 NAND 플래시 메모리의 읽기 동작에서는 에러 정정 회로를 기반으로 미리 결정된 비트 수만큼의 에러가 존재하더라도 원래 데이터를 복원할 수 있다. 이러한 이유로 메모리 셀의 매핑 상태가 정확하게 일치하지 않더라도 개인 데이터를 복원할 수 있다면 이러한 매핑 상태를 동등한 원본 데이터로 인식해야 하다.
도 2는 에러가 없는 원본 데이터와 에러를 수정할 수 있는 원본을 예시적으로 보여주는 도면이다. 도 2를 참조하면, 1비트 혹은 2비트의 에러가 있고 에러 정정이 가능한 경우 이러한 데이터 조각은 모두 에러 정정이 가능한 원본 데이터이다. 기존에는 원본 데이터의 개념이 정확히 일치하는 비트로 정의되었지만, 앞으로는 NAND 플래시 메모리에 저장된 원본 데이터를 다르게 정의할 필요가 있다. NAND 플래시 메모리에서 원본 데이터는 온/오프 칩 에러 정정 회로에 의해 에러가 수정될 수 있는 다른 데이터를 저장하는 데이터로 정의할 수 있다 [25], [26]. 그러나 문제는 NAND 플래시 메모리에 이러한 에러 정정 가능한 데이터가 다수 있을 수 있다는 것이다.
NAND 플래시 메모리의 포렌식 대상
일반적으로, NAND 플래시 메모리는, 도 3에 도시된 바와 같이, 복수의 메모리 블록들을 포함하며, 이러한 복수의 메모리 블록들 중에는, 관리되는 메모리 블록들과 관리되지 않는 메모리 블록들이 모두 포함되어 있다. 각 메모리 블록은 워드라인에 대응하는 페이지들을 포함하고, 각 페이지는 해당 워드라인에 연결된 복수의 메모리 셀들을 포함한다. 각 메모리 셀은 적어도 하나의 비트를 저장하도록 구현된다. 일반적으로 프로그램/읽기 동작은 한 페이지 단위로 수행되며, 이레이즈 동작은 한 블록 단위로 수행된다. 프로그램/읽기 동작과 이레이즈 동작의 단위가 다르다 [13]. 또한 NAND 플래시 메모리는 기본적으로 덮어쓸 수 없는 것으로 알려져 있다 [14]. 이러한 기능은 블록 관리의 복잡성을 증가시킨다 [27], [28].
A. 안정성을 위한 블록 관리
NAND 플래시 메모리에서는 블록의 신뢰성과 수명을 향상시키기 위해 내부적으로 다양한 블록 관리 동작을 수행하다. 도 4는 블록 관리 동작을 예시적으로 보여주는 도면이다. 도 4를 참조하면, 대표적으로, 이러한 블록 관리 동작에는 웨어 레벨링 동작 및 가비지 컬렉션 동작이 포함된다(도 4, [29]-[31]). 웨어 레벨링이란 블록의 웨어 레벨을 일정 수준까지 관리하는 동작을 말한다. 각 메모리 블록은 PE 사이클에 의해 웨어 레벨이 조정된다 [29]. 여기서, PE 사이클은 프로그램 동작과 이레이즈 동작이 수행된 횟수를 의미하다. 웨어 레벨링은 한 블록의 PE 사이클이 일정 수준을 초과할 때 해당 블록을 프리 블록으로 교체하는 동작을 말한다. 웨어 레벨링에서 무효화 블록은 여유 공간에서 자유 블록으로 대체될 수 있다.
블록은 복수의 페이지를 포함한다. 각 페이지는 유효하거나 유효하지 않은 데이터일 수 있다. 가비지 컬렉션에는 여러 블록의 유효한 페이지를 컬렉션하고 새 블록을 생성하는 동작이 포함된다 [30]. 이때 원래 블록 A와 B는 무효화된다. 가비지 컬렉션 동작에서 원본 데이터를 저장하는 블록 A와 B는 일반적으로 오버 프로비저닝(over provisioning) 영역 OP로 간주된다 [32]. 사용자는 OP 원본 블록에 액세스할 수 없다. 제어기의 플래시 변환 계층은 호스트에서 수신한 어드레스를 기반으로 관리되는 메모리 블록에 대한 액세스를 관리한다. 또한 제어기는 관리되지 않는 메모리 블록에 대해 잘못된 블록 관리를 수행하지만 호스트에서 수신한 어드레스를 기반으로 액세스할 수 없다. 따라서 NAND 플래시 메모리 사용자는 관리되지 않는 블록에 액세스할 수 없다. 그러나 맵 테이블 정보와 불량 블록 정보를 확보한 해커는 간단한 방법으로 관리되지 않는 블록에 액세스할 수 있다.
B. 트림 동작 제한
TRIM 동작은 사용자가 데이터 [16], [33]을 삭제할 때 저장 장치 내부에서 수행되며 논리적으로 유효하지 않은 파일의 페이지를 정확하게 지울 수 있다. 그러나, TRIM 동작은 기본적으로 블록 이레이즈 동작을 사용하기 때문에, 메모리 블록의 열화 특성을 약화시키고, 추가 이레이즈 동작으로 인한 전력 소모 등 관리 측면에서 바람직하지 않다. 일반적으로 이레이즈 동작은 프로그램/읽기 동작에 비해 상대적으로 많은 전력을 소비하는 것으로 알려져 있다. 보증으로 1,000번의 삭제 주기를 보장하고자 하는 NAND 칩 제조업체는 이 TRIM 동작을 자주 수행하지 않도록 설계하기만 하면 된다. 따라서, 저장 장치의 원래 데이터가 사용자에 의해 삭제되거나 업데이트되더라도, 이전의 원본 데이터가 적어도 하나의 NAND 플래시 메모리 블록에 여전히 존재할 가능성이 매우 높다.
C. 스크러빙/부분 프로그래밍
NAND 플래시 메모리의 보안 삭제의 필요성은 연구자들 사이에서 지속적으로 논의되고 있는 주제이며, NAND 플래시 메모리 기반의 보안 삭제 기술은 2017년에 처음 도입되었다 [15]. 이 획기적인 연구에서, Ahn는 NAND 플래시 메모리에서 삭제 의무를 적용할 필요성을 제안했다. 기존 NAND 플래시 메모리는 덮어쓸 수 없지만, 멀티비트 프로그램 동작에서 부분적으로 덮어쓸 수 있는 상태도 있는 것으로 알려져 있다. Ahn는 랜덤 데이터를 부분적으로 이러한 상태로 프로그래밍하는 삭제 기술을 제안했다. 이 부분 프로그램을 이용한 삭제 기법은 블록 이레이즈를 기반으로 하는 기존 TRIM 기법에 비해 비용 면에서 유리하다. 2018년, Wang 등은 스크러빙 기술을 이용한 클린 이레이즈 기술을 제안했다 [34]. 여기서 스크러빙 기법은 열화된 메모리 셀의 문턱 전압을 일정 수준 이상으로 강제한다. 예를 들어, 메모리 셀의 모든 문턱 전압은 모든 데이터에 영향을 미치는 일종의 프로그램 동작에 의해 특정 수준 이상으로 프로그래밍된다(예: '1' 비트). 그러나, 2020년에 Hasan 등은 이 스크러빙 기술이 부분적으로 복구 가능하다고 밝혔다 [35]. 보안 삭제를 위해 스크러빙 기법에서 부분 프로그램 동작을 수행할 것을 제안한다. 2019년, Ahn 등은 보안 삭제를 위한 세 가지 기법을 제안했다: 부분 프로그램 기법, 다운비트 프로그램 기법, 그리고 삭제 펄스 기법. 2020년, 안 교수는 보안 삭제 기법에 따라 인접 페이지의 피해자를 최소화하기 위한 복구 동작을 언급했다 [20]. Line 등은 제로 라이브 데이터를 사용한 빠른 성소화를 도입했다 [36]. 한편, 암호화 기법을 사용하여 보안 삭제를 달성하기 위한 연구도 진행 중이다 [37], [38].
D. NAND 플래시 메모리의 포렌식 대상
도 5는 무효 영역의 관리되지 않는 블록에서 디지털 포렌식 대상을 예시적으로 보여주는 도면이다. 도 5를 참조하면, 디지털 포렌식의 대상은 도 5를 참조하여 무효 영역의 관리되지 않는 블록에 저장된 원본 데이터일 수 있다. 여기서 관리되지 않는 블록은 유효한 데이터를 저장하지만 사용자가 액세스할 수 없는 블록, 유효하지 않은 데이터를 저장하지만 사용자가 액세스할 수 있는 블록 혹은 데이터가 유효한지 여부에 관계없이 사용자가 액세스할 수 없는 블록이다. 또한 여기서 유효하지 않은 데이터는 단순한 기법을 사용하여 원래 데이터로 복원할 수 있는 데이터를 말한다. 이러한 관리되지 않는 블록은 사용자 공간 혹은 OP 공간에 존재할 수 있다. 이 시점에서 제어기는 관리되지 않는 블록의 물리적 어드레스를 알고 있다. 즉, 제어기가 언제든지 관리되는 블록으로 대체할 수 있다. 따라서 현재 관리되지 않는 블록에 저장된 원래 데이터를 언제든지 제어기에서 검색할 수 있다. 일반적으로 관리되는 블록의 원본 데이터만 포렌식 대상으로 간주되며, 이는 절반의 답변이다. NAND 플래시 메모리에는 효율적인 관리 및 성능 향상을 위해 관리되지 않는 블록이 다수 포함되어 있다. 통합이 증가하고 신뢰성이 낮은 메모리 셀의 수가 증가함에 따라 이러한 관리되지 않는 블록의 수는 지속적으로 증가할 것이다. 관리되지 않는 블록에 저장된 원본 데이터의 포렌식 대상에 대한 자세한 연구가 필요한 시점이다.
NAND 플래시 메모리에 저장된 원본 데이터가 하나만 있는 것이 아니라는 것을 검증했다. 실제로 관리되지 않는 블록에 저장된 원본 데이터는 필연적으로 존재하다. Ahn와 Lee는 카피백 프로그램 운영에 따라 관리되지 않는 블록에 남아 있는 원본 데이터와 관련해 가비지 컬렉션으로 인해 원래 데이터가 관리되지 않는 블록에 남아 있을 것을 제안했다. 이러한 동작 외에도 NAND 플래시 메모리는 다양한 내부 동작 혹은 백그라운드 동작을 수행하여 데이터 신뢰성을 향상시킨다. 이러한 동작은 데이터의 신뢰성을 향상시키지만 관리되지 않는 원본 데이터의 수가 증가하고 있다는 것을 의미하다. 특히 최근 저장 기기의 성능을 향상시키기 위해서는 비교적 많은 부분의 OP 공간을 사용해야 하다.
NAND 플래시 메모리에 대한 이전 법적 연구는 관리되는 블록에 저장된 메모리에 초점을 맞췄다. Hassan 등은 스크러빙 동작을 통해 데이터가 삭제되더라도 데이터를 복원할 수 있다고 언급했다. 그러나, Ahn와 Lee의 이전 연구에서 알 수 있듯이, 관리되지 않는 블록의 원래 데이터 문제는 치명적일 수 있다. 관리되지 않는 블록은 저장 장치 사용자가 볼 수 없는 유일한 영역이다. 이는 맵 테이블을 제어기에서 자유롭게 조정할 수 있는 경우 관리되지 않는 블록에 대한 무단 액세스가 매우 쉬우며 포렌식은 이러한 매핑되지 않은 블록에 포함된 원래 데이터를 대상으로 하기 때문이다. 제어기에서 NAND 플래시 메모리를 분리하지 않고도 관리되지 않는 블록에 대한 포렌식이 가능하며, 이는 제어기를 해킹하여 NAND 플래시 메모리에서 포렌식을 쉽게 수행할 수 있음을 의미하기 때문에 더욱 치명적일 수 있다. 또한 해커는 물리적 액세스 없이 IoT 네트워크를 통해 IoT 장치의 원본 데이터를 읽을 수 있다.
도 6은 낸드 플래시 메모리 기반의 IoT 장치의 해킹 위험을 예시적으로 보여주는 도면이다. 도 6을 참조하면, IoT 장치 제어기를 제어할 수 있는 해커는 언제든지 NAND 플래시 메모리의 관리되지 않는 블록에서 개인 정보를 훔칠 수 있다. 사용자는 IoT 장치에서 개인 정보를 완전히 지웠다고 생각할 수 있다. 하지만 해커들은 사용자의 이해할 수 있는 순진함에도 불구하고 개인 정보를 얻을 수 있다. 비록 우리가 지금 이 문서에서 이 사실을 다루고 있을 뿐이지만, 해커들은 이미 중대하고 심각한 문제가 있는 그러한 악의적인 행위를 수행하고 있을 수 있다. NAND 플래시 메모리 기반의 저장 장치는 IoT 장치에서 필수적인 구성 요소이다. IoT 환경은 거대한 생태계이며, 악의적인 행위자들은 이러한 생태계로부터 개인 정보를 불법적으로 획득하고 획득한 데이터를 이용하여 더 심각한 범죄를 저지를 수 있는 잠재력을 가지고 있다.
SSD의 비식별화에 대한 포렌식 문제
비식별화는 개인정보가 노출되는 것을 방지하기 위해 사용되는 과정으로, 이 과정은 데이터 개인정보 보호 관점에서 중요하다. 비식별화 동작은 통신, 멀티미디어, 생체 인식, 빅 데이터, 클라우드 컴퓨팅, 데이터 마이닝 및 소셜 네트워크 오디오-비디오 감시에 사용된다 [39], [40]. 최근, 비식별 정보는 법적 판례가 있는 한 개인정보로 분류되고 있다 [12]. 이러한 구속력 있는 가능성을 고려한 비식별화 기법에 대한 활발한 논의와 연구가 이루어지고 있다는 점에 유의해야 한다 [4]-[10]. 일반적으로 비식별화 기법은 암호화 기법, 삭제 기법, 가명화 기법, 해부 기법, 랜덤화 기법 등으로 구분된다.
현재 우리가 관심을 가지고 있는 점은 비식별화 동작을 수행하는 물리적 저장 장치이다. NAND 플래시 기반 저장 장치를 사용하는 데이터베이스에서, 현재의 비식별화 동작은 매우 위험한 처리 동작이다. NAND 플래시에 원본 데이터가 남아 있는 문제가 너무 많기 때문이다. 비식별화 동작은 일반적으로 저장 장치에 저장된 개인 정보를 읽는다. 그런 다음, 판독된 개인 정보는 비식별화 기술을 사용하여 비식별화 된다. 마지막으로, 식별되지 않은 정보는 저장 장치에 다시 저장된다. 안타깝게도, 식별되지 않은 데이터가 저장 장치에 업데이트되더라도 기존의 개인 정보는 장치에서 자동으로 삭제되지 않는다. 현재 개인정보가 저장되는 블록과 비식별화 데이터가 저장되는 블록이 모두 존재할 가능성이 높다. 이는 비식별화된 데이터가 기존 블록의 개인 정보로 덮어쓰지 않고 새 블록으로 프로그래밍되기 때문이다. 비식별화 동작을 통해 개인정보 노출을 최소화하려는 시도가 있었지만, 개인정보의 원래 형태는 저장장치 어딘 가에 남아 있다.
A. 비식별화 동작의 잔여 데이터 문제
도 7은 낸드 플래시 메모리 기반의 저장 장치에서 비식별화 과정을 예시적으로 보여주는 도면이다. 도 7에 도시된 바와 같이, 개인정보는 여전히 제1블록에 저장되고, 비식별화 데이터는 제2블록에 저장된다. 저장 장치에 개인 정보가 저장되는 블록이 있지만, 사용자는 매핑 테이블로 액세스할 수 없다. 그러나 매핑 테이블은 언제든지 활성화될 수 있다. 따라서, 개인 정보는 비식별화 된다고 하지만, 실제로는 저장 장치 내에서 전혀 비식별화 되지 않는다. 따라서, NAND 플래시 메모리 기반의 저장 장치에서는, 비식별화 동작에서 식별할 수 없는 개인 정보에 대한 추가 동작이 필요하다.
B. 스크러빙을 이용한 개인정보의 보안 삭제
개인 정보는 비식별화되고 비식별화된 데이터는 저장 장치에 저장되지만 비식별화 동작은 여기서 끝나지 않다. 기존 블록에 저장된 개인정보를 완전히 삭제하기 위해서는 기존 블록에 대한 삭제 동작 혹은 기존 블록의 개인정보가 있는 페이지에 대한 부분 삭제 동작 등의 단계가 더 필요하다. 부분 삭제에 대한 자세한 동작은 이미 Ahn와 Lee[17], [20], [21]에 의해 소개되었다. 일반적으로 NAND 플래시 메모리는 업데이트 동작을 지원하지 않는다. 기존의 비식별화 기술을 적용하더라도 원천적인 개인정보 취급 문제가 있다는 뜻이다. 따라서, 이러한 독창적인 개인 정보 취급 문제가 없는 비식별화 기술을 제안한다. 비식별 기술은 개념이 약간 다르다는 점을 제외하고는 업데이트 동작과 유사하다. 도 8은 스크러빙 기술을 이용한 보안 삭제를 예시적으로 보여주는 도면이다. 도 8을 참조하여, 개인정보 원본이 포함된 페이지에 스크러빙 동작을 수행하다. 이 스크러빙 동작을 통해 페이지에 저장된 데이터가 랜덤 데이터로 완전히 변경되어 복원이 불가능하다.
C. 보안 삭제를 위한 검증의 필요성
NAND 플래시 메모리의 보안 삭제 기술은 최근 [34]-[38]의 인기 있는 연구 주제이지만, 보안 삭제 문제는 칩 제조업체가 추가로 고려해야 할 문제이다. 그러나 검증해야 할 가장 중요한 항목은 보안 삭제 동작이 성공적으로 완료되는지 여부이다. 바보처럼 보이는 방법 같지만, 가장 신뢰할 수 있는 검증 방법은 모든 물리적 블록에 저장된 데이터를 읽고, 읽은 데이터 중에 식별 가능한 개인 정보가 있는지 여부를 판단하는 것이다. 그러나 검증 동작에 소요되는 시간과 비용이 막대하기 때문에 이러한 접근 방식은 현실적으로 결코 권장될 수 없다. NAND 플래시 메모리 기반 저장 장치의 고유한 특성을 이용하여 저비용으로 단시간에 검증을 수행할 수 있는 방법에 대한 연구가 절실히 요구되고 있다. 즉, 보안 삭제를 위한 효율적인 검증 기법이 절실히 필요하다. 이러한 검증은 제어기에서 자유롭게 가능해야 하며, 모든 물리적 블록에 대해 실시간 검증이 가능해야 하다.
보안 삭제 검증 기법
보안 삭제 검증 방법을 소개하기 전에 NAND 플래시 메모리의 핵심에 대해 설명하겠다. 이는 제안된 보안 삭제 검증을 이해하는 데 도움이 된다. 도 9는 일반적인 낸드 플래시 메모리의 메모리 코어를 예시적으로 보여주는 도면이다. 이 코어는 복수의 워드라인에 대응하는 복수의 페이지와 각각의 페이지에 비트라인으로 연결된 복수의 페이지 버퍼로 구성된다. 도 9를 참조하면, 메모리 셀들은 워드라인들 WL1 내지 WL9 및 비트라인들 BL1 내지 BL16의 교차점에 배치된다. 복수의 비트라인들 각각(BL1 내지 BL16)에서, 상기 복수의 페이지 버퍼들은 읽기 동작에서 PB1 내지 PB16 감지 데이터 혹은 프로그램 동작에서 프로그래밍 될 저장 데이터. 각각의 페이지 버퍼(PB1 내지 PB16)는 프로그램 동작에서 데이터를 프로그래밍하기 위한 데이터를 메모리 셀에 임시적으로 저장하거나, 읽기 동작에서 메모리 셀로부터 감지된 데이터를 임시적으로 저장한다. 각 페이지 버퍼 PB1 내지 PB16은 해당 비트라인의 전압에 따라 데이터의 비트를 결정한다. 각각의 페이지 버퍼(PB1 내지 PB16)는 센싱 데이터를 저장하는 래치, 프로그래밍 될 데이터를 저장하는 래치, 및 동작에 필요한 데이터를 임시로 저장하는 적어도 하나의 래치를 포함한다.
일반적으로, 프로그램/읽기 동작은 선택된 워드라인에 연결된 메모리 셀들로 구성된 페이지 단위로 수행된다. 하나의 페이지는 복수의 섹터로 구성될 수 있다. NAND 플래시 메모리는 또한 섹터 단위로 프로그램/읽기 동작을 수행할 수 있다. 보안 삭제를 위해 제안된 검증 동작은 페이지 단위 혹은 섹터 단위로 수행될 수 있다. 비교할 개인정보의 크기에 따라 검증 단위가 달라질 수 있다.
A. 페이지 버퍼의 일대일 매칭 비교
각 페이지 버퍼는 복수의 래치를 포함한다. 상기 페이지 버퍼는, 앞서 설명한 바와 같이, 메모리 셀로부터 감지된 데이터를 저장하는 래치와, 외부로부터 수신된 데이터를 저장하는 래치를 포함한다. 페이지 버퍼는 검증 대상 블록의 메모리 셀에서 판독된 데이터와 외부로부터 수신된 개인 정보에 해당하는 데이터를 1:1 매칭으로 비교할 수 있다. 페이지 버퍼는 센싱 데이터와 수신 데이터를 비교하여 비교 결과에 대응하는 비트를 출력할 수 있다.
B. 동등한 것과 동등하지 않는 것을 결정
복수의 페이지 버퍼로부터 출력되는 비교 비트의 값이 모두 동일한 경우, 개인 정보에 해당하는 데이터는 여전히 블록에 저장된다. 따라서 페이지 버퍼에서 출력되는 모든 비트 값이 동일하더라도 개인 정보가 더 이상 존재하지 않는다고 판단할 수 없다. 앞서 언급했듯이 일부 비트가 다르지만 에러를 수정할 수 있는 경우 동일하지는 않지만 동일한 것으로 간주해야 한다. 보안 삭제 검증 동작은 에러 정정 기능을 근본적으로 고려해야 하다. 이는 ECC 회로에 의해 수정 가능한 경우 동등한 것으로 결정되어야 하기 때문이다. 따라서 검증을 결정하는 기준은 동일한 것이 아니라 동등한지 여부이다.
C. 셀 카운터
NAND 플래시 메모리에는 일반적으로 읽기 전압[41]에 대응하여 채널에서 전류 경로를 형성하는 메모리 셀의 수를 카운트하는 셀 카운터가 존재한다. 이러한 셀 카운트 정보는 프로그램 동작의 성공 여부를 판단하거나 셀의 열화 상태를 검증하는 데 사용된다. 이 셀 카운터는 제안된 보안 삭제를 검증하는 데 사용할 수 있다.
도 10은 셀 카운터들을 이용하여 보안 삭제를 위한 검증 로직을 예시적으로 보여주는 도면이다. 도 10을 참조하면, 셀 카운터는 단순히 페이지 버퍼의 제어 신호를 변경함으로써, 감지된 데이터와 수신된 개인 데이터에 대응하는 데이터의 XOR 계산값을 계산할 수 있다. XOR 연산 값의 카운트 정보를 사용하여 블록에 저장된 데이터와 개인 정보가 동일한지 여부를 판단할 수 있다. 즉, 이 카운트 정보는 개인 데이터와 블록에 저장된 데이터를 비교할 때 얼마나 많은 비트가 다른지 나타낸다. 카운트 정보가 수정 가능한 에러 수보다 작거나 같으면 블록에 저장된 데이터는 개인 데이터이다. 이 경우 비식별화 동작이 실패한 것으로 판단된다. 반면에 카운트 정보가 에러 정정 가능한 수준 수보다 클 경우 블록에 저장된 데이터는 개인 데이터가 아닙니다. 이 경우 비식별화 동작이 성공적으로 수행된 것으로 간주된다.
D. XOR 로직이 있는 페이지 버퍼
위에서 언급한 검증 기법은 기존 페이지 버퍼에 XOR 로직을 추가해야 하다. 기본적으로 XOR 로직은 서로 다른 입력 값을 출력한다. 예를 들어, 메모리 셀에서 감지된 데이터 비트와 개인 데이터에 대응하는 비트가 서로 다른 경우, XOR 로직은 데이터 "1"을 출력하고, 메모리 셀에서 감지된 데이터 비트와 개인 데이터에 대응하는 비트가 동일한 경우, XOR 로직은 데이터 "0"을 출력하다. 각 페이지 버퍼에 XOR 논리를 추가하는 것은 영역 부담이 될 수 있다. 그러나 이 XOR 로직은 프로그램 동작, 이레이즈 동작 및 읽기 동작의 복잡한 래치 동작을 단순한 XOR 로직으로 대체할 수 있다. 이 논의는 차세대 연구자들에게 맡겨져야 할 것이다. 제안된 검증 기법은 셀 카운터의 카운트 정보만을 이용하여 블록 내에서 보안 삭제의 성공 여부를 신속하게 검증할 수 있다.
E. 비식별화 동작의 실패/성공
비식별화 동작 후 보안 삭제가 가능한지 여부를 검증해야 하다. NAND 플래시 메모리는 하나 이상의 원본 데이터를 포함할 수 있다. 따라서 NAND 플래시 메모리는 보안 삭제 기술을 적용한 후 검증 동작을 수행해야 하다. 비식별화 동작의 성공 여부는 관리되지 않는 블록의 보안 삭제 성공 여부에 따라 결정된다. 제안된 검증 기법은 도 10을 참조하여 XORing 섹터 데이터와 개인 데이터의 연산을 사용하며, 페이지의 섹터로부터 읽어낸 데이터와 개인 데이터에 대해 XOR 연산을 수행하며, 실행 결과에 따라 비트 수 "1"을 계산한다. 카운트 된 값이 미리 결정된 값보다 클 경우 보안 삭제 동작은 통과된 것으로 결정된다. 여기서, 상기 소정 값은 상기 오차 보정 회로의 오차 보정 능력에 따라 달라질 수 있다. 도 10에 도시된 바와 같이, 페이지의 8개 섹터에 대해 XOR 연산이 순차적으로 수행되며, 그 결과에 따라 비트 "1"의 카운팅 값에 따라 완전 이레이즈 기술의 성공 여부가 결정될 수 있다.
요약하면, 비식별화 프로세스에는 저장 장치에서 개인 데이터 읽기, 읽기 개인 데이터의 비식별화, 비식별화된 데이터 저장 및 개인 데이터의 보안 삭제가 포함된다. 상기 저장 장치가 NAND 플래시 메모리 기반 저장 장치인 경우, 상기 검증 동작은 보안 삭제 후 수행되는 것을 특징으로 한다. 여기서 보안 삭제는 스크러빙 기법, 부분 덮어쓰기 기법, 다운비트 프로그램 기법 등 다양한 방식으로 적용될 수 있다. 보안 삭제가 검증 결과로 통과되지 않을 경우 동일한 삭제 방법을 적용하여 보안 삭제를 수행할 수 있다. 한편, 보안 삭제가 검증 결과로 통과되지 않을 경우, 다른 삭제 기법을 적용하여 보안 삭제를 수행할 수 있다. 제안된 검증 기법은 비식별화 동작에 사용된다. 그러나 이 검증 기법은 이 동작에만 국한된다. 일반적인 삭제 동작에는 제한된 검증 기법을 사용할 수 있다. 즉, 사용자가 삭제한 파일이 NAND 플래시 메모리에 존재하는지 여부를 검증하는 데 사용할 수 있다. 이 보안 삭제 검증 기술은 안티포렌식 응용 프로그램으로 개발될 수 있다. 위에서 설명한 바와 같이, 안티포렌식 요청 혹은 안티포렌식 명령을 수신하는 NAND 플래시 메모리는 XOR가 모든 물리적 블록 내의 개인 데이터를 스캔하여 결과를 출력할 수 있다. 즉, 개인 데이터의 존재 여부를 검증하는 데 적용할 수 있다.
빅데이터 운영에 사용하기 위한 개인 정보의 비식별화는 필수 요건이다. NAND 플래시 메모리 기반의 저장 장치는 비식별화 과정에서 개인 정보가 완전히 삭제되었는지 검증해야 한다. 본 발명은 이러한 요구에 대한 첫 번째 답이며, 비록 그것이 대부분의 문제를 다루지만, 여전히 개선이 필요한 부분이 있다.
F. 셀 카운트 정보를 이용한 XOR 로직 및 검증이 없는 페이지 버퍼
위에서 설명한 보안 삭제를 위한 검증 기법은 개인 데이터를 비교 대상으로 사용하다. 하지만 엄밀히 말하면 개인 데이터를 직접 비교하지 않고도 보안 삭제 결과를 검증할 수 있다. 일반적으로 NAND 플래시 메모리에서 페이지당 셀 카운트 수는 정상적인 프로그램 동작 중에 균등하게 분배된다. 예를 들어, 3비트 프로그램 동작에서는 8개의 문턱 전압 분포가 있으며, 페이지당 8개의 문턱 전압 분포의 수는 균일하게 프로그래밍된다 [42], [43]. 이러한 가정을 고려할 때, 보안 삭제는 이러한 정상적인 프로그램 동작과 다른 형태이기 때문에, NAND 플래시 메모리는 균일한 분포 특성을 나타내지 않는 셀 카운트를 출력할 수 있다. 이러한 가정이 맞다면, 개인 데이터를 직접 비교하지 않고도 셀 수 정보를 이용하여 보안 삭제를 위한 검증 동작을 쉽게 완료할 수 있다. 즉, 개인 정보를 파괴하는 보안 삭제는 불균일한 셀 수 정보를 출력하는 것에 해당하기 때문이다.
반면, 개인 정보가 남아 있는 삭제는 균일한 셀 수 정보를 출력할 것이다. 검증 통과 여부의 기준이 되는 셀 카운트 정보는 칩 제조업체에서 결정할 수 있다. 이 시나리오는 기존 NAND 플래시 메모리의 구조를 변경하지 않고도 보안 삭제 검증을 완료할 수 있다는 점에서 유리하다.
G. IoT 장치의 향후 보안 삭제
개인정보의 비식별화는 기본적으로 보안 삭제를 포함한다. 예를 들어 IoT 기기에 대한 비식별화 동작은 예외 없이 기본적으로 보안 삭제 알고리즘을 장착해야 하다. 위에서 설명한 바와 같이 보안 삭제를 검증하려면 많은 시간과 노력이 필요하며, 검증 과정에서 많은 문제가 해결되어야 하다. 따라서 IoT 제품에 바로 적용하기는 어려울 것으로 예상된다. 하지만, 이것들은 언젠가는 적용되어야 하는 문제들이다. 실시간 트림 동작을 적용하여 기존 제품에서 삭제를 보장하는 것이 가장 현실적인 해결책이 될 것이다. 실시간 트림 동작은 비식별화 동작을 수행하는 동안 원본 데이터의 보안 삭제가 실시간으로 수행됨을 의미한다. 이 실시간 트림 동작은 기존 프로토콜을 몇 가지 수정하고 간단한 프로세스로 즉시 적용할 수 있는 것으로 공개되었다. 따라서 적용 가능한 실시간 트림 동작에 대한 후속 연구를 계속해야 하다.
최근의 논문[44]에서, 그것은 실제로 휴대폰에서 삭제되었지만, 여전히 포렌식 IoT 장치의 문제를 공개하고 있다. IoT 장치의 보안 필요성은 이제 막 시작되었다 [44], [45]. 이러한 필요성을 방치하면 가까운 미래에 매우 심각한 문제가 될 가능성이 높다. 따라서 본 발명에 따른 보안 삭제 검증은 더 긴급하고, 더 중요하며, 더 유용하다. 실시간 트림 동작이 보안에 가장 좋지만 성능 저하 문제가 있다. 성능 최적화 측면에서는 실시간 트림 동작이 필수가 아닌 선택적 혹은 선택적으로 적용되는 방식으로 기술이 발전할 것으로 예상된다. 분명한 것은 NAND 플래시 메모리는 필연적으로 무효화 영역의 관리가 필요하다는 것이다. 이러한 관리에 대한 심층적인 연구와 노력이 현장에서 더욱 더 필요하다. 본 발명에서는 비식별화에 따른 보안 삭제를 검증하는 방법을 제시한다. 이는 하나의 예에 불과하며, 가까운 미래에 다양한 방법으로 검증에 대한 연구가 이루어져야 한다. 특히 SSD의 성능을 극대화하는 수요 기반 캐싱 기법과 관련하여, 실시간 트림 기법과의 상관관계를 조사하는 것이 좋은 연구 주제가 될 것이다 [46], [47].
검증 결과 및 성능 평가
도 11a 및 도 11b는 보안 삭제의 검증 실패 및 검증 성공을 예시적으로 보여주는 도면들이다. 아래에서는 XOR 비교에 따른 검증 동작 결과를 설명하다. 설명의 편의를 위해 64비트 감지 데이터와 개인 데이터를 비교했다. 64비트는 섹터 단위라고 가정한다. 도 11(a)는 보안 삭제 기법의 검증 실패를 개념적으로 보여준다. 감지된 데이터와 개인 데이터의 XOR 동작 결과, 비트 "1"의 카운트 값은 5이다. 감지 데이터와 개인 데이터를 비교하면 5비트가 다르다는 것을 의미하다. 이 경우 NAND 플래시 메모리 내부의 에러 정정 회로 혹은 NAND 플래시 메모리 외부의 에러 정정 회로가 에러 정정될 가능성이 있다. 따라서 보안 삭제 기법은 검증 실패를 나타내야 하다. 이후, 보안 삭제 기법을 다시 적용하여 해당 페이지에 대한 삭제 동작을 수행해야 하다.
도 11(b)는 보안 삭제 기법이 완전히 수행되었음을 보여준다. 감지 데이터 및 개인 데이터를 XOR링한 결과, 비트 "1"의 수는 21이 된다. 이 경우 에러 정정 회로에 의한 수정 가능성은 희박하다. 따라서 보안 삭제 동작은 검증 통과로 간주된다. 검증 동작의 성공/실패는 한 섹터에 대한 셀 카운트 값 1에 따라 결정된다. 카운트 '1'개가 기준 값보다 많으면 보안 삭제가 성공적으로 수행되었다. 즉, 메모리 블록에 남아 있는 개인 데이터가 없다는 뜻이다. 반면 1의 카운터 수가 기준 값보다 적으면 보안 삭제가 제대로 수행되지 않아 메모리 블록 내부에 개인 데이터가 여전히 존재하다. 이 경우 새로운 보안 삭제 기법을 사용하거나 동일한 기법을 다시 사용하여 개인 데이터를 삭제해야 하다.
제안한 검증 기술은 실시간으로 동작하다. 보안 삭제 동작을 수행한 후 제안된 검증 동작을 즉시 수행할 수 있다. 일반적으로 NAND 플래시 메모리에 랜덤화 기법이 적용된 데이터는 프로그램 동작에 의해 저장된다. 셀 카운트의 분포 특성만으로 보안 삭제 동작에 의해 삭제된 데이터의 검증을 쉽게 수행할 수 있다. 따라서 셀 카운트의 분포가 균일하지 않으면 보안 삭제가 완료된다. 따라서, XOR 연산을 사용하지 않는 기술은 간단한 셀 카운트 정보만으로 보안 삭제 검증을 가능하게 한다. 이 검증은 읽기 동작을 통해서만 수행할 수 있다. 이 읽기 동작의 결과에 따른 카운트 정보가 기준 값보다 훨씬 클 경우 보안 삭제가 성공한 것으로 간주된다. 반면, 이 읽기 동작의 결과에 따른 카운트 정보가 기준 값 근처에 존재하는 경우, 보안 삭제는 실패한 것으로 간주된다.
앞서 언급했듯이, 우리가 관심을 갖고 논리를 개발한 부분은 비식별화 동작으로 인해 관리되지 않는 블록에 저장된 원본 데이터였다. 그러나 실제로 오버 프로비저닝 동작 영역에 저장된 데이터에 대한 포렌식은 좋은 연구 주제가 될 수 있다. NAND 플래시 메모리를 포함한 모든 유형의 메모리에는 성능 향상을 위한 오버 프로비저닝 영역이 포함되어 있다. 더 빠른 처리를 위해 원래 데이터는 초과 프로비저닝 영역에 남겨질 가능성이 높다. 본 발명의 포렌식 연구는 미래 연구 관심사의 일부이다.
도 12는 보안 삭제 기법의 성능을 비교하는 도면이다. 도 12를 참조하면, 보안 삭제 기법의 성능 비교는 다음과 같다. 기본적으로 보안 기법은 덮어쓰기를 기반으로 하므로 랜덤 데이터를 생성해야 한다. 스크러빙 방식은 가장 중요한 비트, 즉 0비트를 생성하다. 부분 덮어쓰기 방식에서는 다단계 셀에 따라 프로그래밍 된 데이터의 상태와 비교하여 프로그래밍 가능한 상태의 임의 데이터를 생성해야 한다. 다운비트 프로그래밍 방식은 다단계 셀 데이터를 단일 레벨 셀로 변환하여 데이터를 생성해야 한다. 이 경우 다운비트 프로그램 방법은 저장 용량이 변경되지 않도록 별도의 관리가 필요하다. 삭제 펄스 적용 방식은 표준화된 데이터를 프로그래밍하는 대신 복수의 삭제 펄스를 인가한다. 이 방식은 다른 온칩 보안 삭제 방식에 비해 데이터 생성에 필요한 시간을 줄일 수 있다.
다음으로 내구성과 관련된 지수를 다음과 같이 비교하다. 스크러빙 방식은 가장 높은 상태로 프로그래밍 되므로 셀의 웨어율이 크게 증가할 수밖에 없다. 자주 스크러빙 방식을 사용하는 것보다 블록 단위로 이레이즈 동작을 수행하는 것이 내구성 측면에서 더 나을 수 있다. 부분 덮어쓰기 방식, 다운비트 프로그래밍 방식 및 삭제 펄스 적용 방식에는 내구성 문제가 없다. 이러한 보안 삭제 기법은 기본적으로 덮어쓰기를 기반으로 수행되므로 필연적으로 프로그램 장애가 발생한다. 스크러빙 방식은 가장 높은 상태에서 데이터를 쓰기 때문에 더 높은 프로그램 수준으로 진행할 수밖에 없다. 따라서 스크러빙 방식은 상대적으로 높은 프로그램 교란을 일으킬 수 있다. 인접한 유효 페이지의 데이터 관리가 추가로 수행될 가능성이 높다. 스크러빙 방식과 유사하게 부분 덮어쓰기 방식은 상대적으로 높은 수준에서 프로그램을 진행할 가능성이 있으므로 필연적으로 프로그램 장애를 유발한다. 그러나 부분 덮어쓰기 방식은 스크러빙 방식의 가장 높은 상태에 있는 데이터가 아니기 때문에 중간 정도의 프로그램 장애를 유발한다. 다운비트 프로그래밍 방식 및 삭제 펄스 적용 방식은 스크러빙 방식 및 부분 덮어쓰기 방식에 비해 상대적으로 낮은 프로그램 교란을 발생시킨다.
마지막으로, 제안된 보안 삭제 방식은 선택적으로 상기 스크러빙, 부분 덮어쓰기, 다운비트 프로그래밍 및 삭제 펄스 애플리케이션 중 적어도 하나를 사용할 수 있다. 제안된 보안 삭제는 기존 보안 삭제 기법에 검증 기법을 추가한다. 따라서 제안된 기법의 데이터 생성, 내구성 및 프로그램 교란은 선택적으로 선택된 보안 삭제 기법에 따라 달라질 수 있다.
기본적으로 덮어쓰기 및 프로그램 동작에는 대상 데이터를 페이지 버퍼에 로드하고 프로그램 동작이 제대로 수행되는지 검증하는 동작이 포함된다. 따라서 검증 동작 결과에 따라 부분 덮어쓰기 및 다운비트 프로그래밍을 보고할 수 있다. 그러나 이 검증 동작은 유효한 영역에 대해서만 수행된다. 기존 스크러빙 및 삭제 펄스 애플리케이션은 검증 동작을 수행하는 데 대해 침묵한다. 즉, 보안 삭제 결과 검증 결과를 다시 가져올 수 없다. 한편, 제안된 보안 삭제 방식은 물리적 영역에서 읽은 데이터를 원본 데이터와 비교하고, 비교 결과에 따라 검증 결과를 보고할 수 있다. 이러한 삭제 기법은 유효한 영역과 유효하지 않은 영역 모두에 적용된다.
또한 제안된 보안 삭제 기법은 트림(TRIM)과 같은 기존 보안 삭제를 검증할 수 있다. 미래에는 이 기술 기능을 통해 데이터 서버의 저장 장치에 실시간 트림을 사용할 수 있다. 또한, 제안된 기법은 사용자의 요청에 따라 저장 장치 내의 원본 데이터의 존재 여부를 임의로 검증하는 데 사용될 수 있다. 최근 인텔, 데이터 이동에 따른 데이터 보호구역 DMA 알고리즘 기술은[45], 이러한 데이터 인증 알고리즘을 평가하는 데 사용할 수 있다.
NAND 플래시 메모리 장치를 기반으로 IoT 장치에서 비식별화 동작을 수행할 때 관리되지 않는 블록에 불가피하게 남아 있는 개인 데이터의 존재를 검증하다. 완전한 비식별화 동작을 수행하려면 다양한 기술을 사용하여 이 개인 데이터를 안전하게 삭제해야 한다. NAND 플래시 메모리는 데이터 신뢰성 향상을 위한 에러 정정 기능이 있으며, 이 기능은 특히 보안 삭제를 위한 검증 동작이 필요하다. 보안 삭제를 위해 제안된 검증 기법은 관리되지 않는 블록에서 감지된 개인 데이터와 데이터를 1:1 매칭으로 비교하고, 셀 수 정보를 사용하여 비교 결과와 구별한다. 이 방법을 사용하면 NAND 플래시 메모리의 구조를 크게 변경하지 않고도 실시간으로 완벽하게 검증 동작을 수행할 수 있다. IoT 환경이 더욱 확장됨에 따라 원본 데이터의 존재 여부에 따라 NAND 플래시 메모리의 법적 문제가 동시에 증가할 것이다. 이 연구는 사생활 침해 세력에 맞서 싸우는 사람들에게 작지만 매우 유용한 도움이 될 것으로 기대된다. 가까운 미래에 이 연구 주제에 대한 더 자세한 분석과 실험 연구가 필요할 것이다.
도 13은 본 발명의 실시 예에 따른 저장 장치(1000)를 예시적으로 보여주는 도면이다. 도 1을 참조하면, 저장 장치(1000)는 적어도 하나의 비휘발성 메모리 장치(NFM(s), 1100) 및 제어기(CTRL, 1200)를 포함할 수 있다.
적어도 하나의 비휘발성 메모리 장치(1100)는 데이터를 저장하도록 구현될 수 있다. 비휘발성 메모리 장치(1100)는 낸드 플래시 메모리(NAND flash memory), 수직형 낸드 플래시 메모리, 노아 플래시 메모리(NOR flash memory), 저항성 램(resistive random access memory; RRAM), 상변화 메모리(phase-change memory; PRAM), 자기저항 메모리(magnetoresistive random access memory; MRAM), 강유전체 메모리(ferroelectric random access memory; FRAM), 스핀주입 자화반전 메모리(spin transfer torque random access memory; STT-RAM) 등이 될 수 있다.
비휘발성 메모리 장치(NFM(s), 1100)는 복수의 플레인들을 포함할 수 있다. 각 플레인은 메모리 셀 어레이(1100), 로우 디코더(1120), 페이지 버퍼 회로(1130), 및 제어 로직(1140)을 포함할 수 있다.
메모리 셀 어레이(1100)는 워드라인들 혹은 선택 라인들을 통해 로우 디코더(1120)에 연결될 수 있다. 메모리 셀 어레이(1100)는 비트라인들을 통해서 페이지 버퍼 회로(1130)에 연결될 수 있다. 메모리 셀 어레이(1100)는 복수의 셀 스트링들(cell strings)을 포함할 수 있다. 셀 스트링들의 각각의 채널은 수직 혹은 수평 방향으로 형성될 수 있다. 셀 스트링들의 각각은 복수의 메모리 셀들을 포함할 수 있다. 여기서, 복수의 메모리 셀들은 비트라인이나, 워드라인으로 제공되는 전압에 의해서 프로그램 되거나, 이레이즈 되거나, 읽혀질 수 있다.
로우 디코더(1120)는 어드레스에 응답하여 메모리 셀 어레이(1100)의 메모리 블록들 중 어느 하나를 선택하도록 구현될 수 있다. 로우 디코더(1120)는 어드레스에 응답하여 선택된 메모리 블록의 워드라인들 중 어느 하나를 선택할 수 있다. 로우 디코더(1120)는 선택된 메모리 블록의 워드라인에 동작 모드에 대응하는 워드라인 전압을 전달할 수 있다. 프로그램 동작시 로우 디코더(1120)는 선택 워드라인에 프로그램 전압과 검증 전압을 인가하고, 비선택 워드라인에 패스 전압을 인가할 수 있다. 리드 동작시 로우 디코더(1120)는 선택 워드라인에 리드 전압을 인가하고, 비선택 워드라인에 리드 패스 전압을 인가할 수 있다.
페이지 버퍼 회로(1130)는 쓰기 드라이버로 혹은 감지 증폭기로 동작하도록 구현될 수 있다. 프로그램 동작시, 페이지 버퍼 회로(1130)는 메모리 셀 어레이(1100)의 비트라인들로 프로그램 될 데이터에 대응하는 비트라인 전압을 인가할 수 있다. 리드 동작 혹은 검증 리드 동작시, 페이지 버퍼 회로(1130)는 선택된 메모리 셀에 저장된 데이터를 비트라인을 통해서 감지할 수 있다. 페이지 버퍼 회로(1130)에 포함되는 복수의 페이지 버퍼들의 각각은 적어도 하나의 비트라인에 연결될 수 있다.
한편, 비휘발성 메모리 장치(1100)는 입출력 회로를 더 포함할 수 있다. 입출력 회로는 외부에서 제공되는 데이터를 페이지 버퍼 회로(1130)로 제공할 수 있다. 입출력 회로는 외부에서 제공되는 커맨드를 제어 로직(1140)에 제공할 수 있다. 입출력 회로는 외부에서 제공된 어드레스를 제어 로직(1140)이나 로우 디코더(1120)에 제공할 수 있다. 더불어, 입출력 버퍼 회로는 페이지 버퍼 회로(1130)에 의해서 센싱 및 래치된 데이터를 외부로 출력할 수 있다.
한편, 비휘발성 메모리 장치(1100)는 전압 발생기를 더 포함할 수 있다. 전압 발생기는 제어 로직(1140)의 제어에 따라 각각의 워드라인들로 인가될 다양한 종류의 워드라인 전압들, 메모리 셀들이 형성된 벌크(예를 들어, 웰 영역)로 공급될 웰 전압을 생성하도록 구현될 수 있다. 각각의 워드라인들로 인가되는 워드라인 전압들은, 프로그램 전압, 패스 전압, 리드 전압, 리드 패스 전압들 등을 포함할 수 있다. 실시 예에 있어서, 전압 발생기는 플레인별로 구비될 수 있다. 다른 실시 예에 있어서, 플레인들은 전압 발생기를 공유할 수 있다.
메모리 블록들의 각각에 포함되는 복수의 메모리 낸드 스트링들은 상기 기판과 수직한 방향으로 형성될 수 있다. 메모리 블록은 비트라인들과 공통 소스 라인 사이에 연결되는 복수의 메모리 낸드 스트링들을 포함할 수 있다. 복수의 메모리 낸드 스트링들의 각각은 스트링 선택 트랜지스터, 복수의 메모리 셀들, 및 접지 선택 트랜지스터를 포함할 수 있다. 스트링 선택 트랜지스터는 대응하는 스트링 선택 라인에 연결될 수 있다. 복수의 메모리 셀들은 각각 대응하는 워드라인들에 해당할 수 있다. 접지 선택 트랜지스터는 대응하는 접지 선택 라인에 연결될 수 있다. 스트링 선택 트랜지스터는 대응하는 비트라인에 연결되고, 접지 선택 트랜지스터는 공통 소스 라인에 연결될 수 있다.
제어기(CTRL; 1200)는 제어 신호들(예를 들어, CE(s), WE, RE, 등)을 전송하는 복수의 제어 핀들을 통하여 적어도 하나의 비휘발성 메모리 장치(1100)에 연결될 수 있다. 또한, 제어 신호들(CE(s), WE, RE 등)을 이용하여 비휘발성 메모리 장치(1100)를 제어하도록 구현될 수 있다. 예를 들어, 비휘발성 메모리 장치(1100)는 커맨드(CMD) 혹은 어드레스(ADD)를 래치 함으로써, 프로그램 동작/리드 동작/이레이즈 동작을 수행 할 수 있다. 예를 들어, 리드 동작시 칩 활성화 신호(CE)는 활성화 되고, RE는 데이터 신호 라인(DQ)을 통해 데이터가 전송되는 구간에서 토글링될 수 있다. 데이터 스트로브 신호(DQS)는 데이터 입출력 속도에 대응하는 주파수로 토글링 할 수 있다. 리드 데이터는 데이터 스트로브 신호(DQS)에 동기화되어 순차적으로 전송될 수 있다.
또한, 제어기(1200)는 저장 장치(1000)의 전반적인 동작을 제어하도록 구현될 수 있다. 제어기(1200)는 캐시/버퍼 관리, 펌웨어 관리, 가비지 컬렉션 관리, 웨어 레벨링 관리, 데이터 중복 제거 관리, 리드 리프레쉬/리클레임 관리, 배드 블록 관리, 멀티-스트림 관리, 호스트 데이터와 비휘발성 메모리의 맵핑 관리, QoS(quality of service) 관리, 시스템 리소스 할당 관리, 비휘발성 메모리 큐(queue) 관리, 리드 레벨 관리, 이레이즈/프로그램 관리, 핫/콜드 데이터 관리, 전력 손실 보호 관리, 동적 열관리, 초기화 관리, RAID(redundant array of inexpensive disk) 관리 등과 같은 다양한 관리 동작들을 수행할 수 있다.
제어기(1200)는 호스트 인터페이스 회로, 휘발성 메모리 인터페이스 회로, 적어도 하나의 프로세서, 버퍼 메모리, 에러 정정 회로(1230), 플래시 변환 계층 매니저, 패킷 매니저, 및 암호 장치를 포함할 수 있다. 호스트 인터페이스 회로는 호스트와 패킷(packet)을 송수신하도록 구현될 수 있다. 호스트로부터 호스트 인터페이스 회로로 전송되는 패킷은 커맨드(command) 혹은 비휘발성 메모리 장치(1100)에 쓰여 질 데이터를 포함할 수 있다. 호스트 인터페이스 회로로부터 호스트로 전송되는 패킷은 커맨드에 대한 응답(response) 혹은 비휘발성 메모리 장치(1100)로부터 읽혀진 데이터를 포함할 수 있다.
메모리 인터페이스 회로는 비휘발성 메모리 장치(1100)에 쓰여질 데이터를 비휘발성 메모리 장치(1100)로 송신하거나, 비휘발성 메모리 장치(1100)로부터 읽혀진 데이터를 수신할 수 있다. 이러한 메모리 인터페이스 회로는 JEDEC Toggle 혹은 ONFI와 같은 표준 규약을 준수하도록 구현될 수 있다.
플래시 변환 계층 매니저는 어드레스 맵핑(address mapping), 웨어-레벨링(wear-leveling), 가비지 콜렉션(garbage collection)과 같은 여러 기능을 수행할 수 있다. 어드레스 맵핑 동작은 호스트로부터 수신한 논리 어드레스(logical address)를, 비휘발성 메모리 장치(1100) 내에 데이터를 실제로 저장하는 데 사용되는 물리 어드레스(physical address)로 바꾸는 동작이다. 웨어-레벨링은 비휘발성 메모리 장치(1100) 내의 블록들이 균일하게 사용되도록 하여 특정 블록의 과도한 열화를 방지하기 위한 기술로, 예시적으로 물리 블록(physical block)들의 이레이즈 카운트들을 밸런싱하는 펌웨어 기술을 통해 구현될 수 있다. 가비지 콜렉션은, 블록의 유효 데이터를 새 블록에 복사한 후 기존 블록을 이레이즈(erase)하는 방식을 통해 비휘발성 메모리 장치(1100) 내에서 사용 가능한 용량을 확보하기 위한 기술이다.
패킷 매니저는 호스트와 협의된 인터페이스의 프로토콜에 따른 패킷을 생성하거나, 호스트로부터 수신된 패킷으로부터 각종 정보를 파싱(phasing) 할 수 있다. 또한, 버퍼 메모리는 비휘발성 메모리 장치에 기록될 데이터 혹은 비휘발성 메모리 장치(1100)로부터 읽혀진 데이터를 임시로 저장할 수 있다. 실시 예에 있어서, 버퍼 메모리는 제어기(1200) 내에 구비되는 구성일 수 있다. 다른 실시 예에 있어서, 버퍼 메모리는 제어기(1200)의 외부에 배치될 수도 있다.
암호 장치는, 제어기(1200)로 입력되는 데이터에 대한 암호화(encryption) 동작과 복호화(decryption) 동작 중에서 적어도 하나를, 대칭 키 알고리즘(symmetric-key algorithm)를 이용하여 수행할 수 있다. 암호 장치)는 AES(Advanced Encryption Standard) 알고리즘을 이용하여 데이터의 암호화 및 복호화를 수행할 수 있다. 암호 장치는 암호화 모듈 및 복호화 모듈을 포함할 수 있다. 실시 예에 있어서, 암호 장치는 하드웨어적/소프트웨어적/펌웨어적으로 구현될 수 있다. 암호 장치는 SED(Self Encryption Disk) 기능 혹은 TCG(Trusted Computing Group) 보안 기능을 수행할 수 있다. SED 기능은 암호 알고리즘을 이용하여 비휘발성 메모리 장치(1100)에 암호화된 데이터를 저장하거나, 비휘발성 메모리 장치(1100)로부터 암호화된 데이터를 복호화 할 수 있다. 이러한 암/복호화 동작은 내부에서 생성된 암호화키를 사용하여 수행될 수 있다. TCG 보안 기능은 저장 장치(1100)의 사용자 데이터에 대한 접근 제어를 가능하게 하는 메커니즘을 제공할 수 있다. 예를 들어, TCG 보안 기능은 외부 장치와 저장 장치(1100) 사이의 인증 절차를 수행할 수 있다. 실시 예에 있어서, SED 기능 혹은 TCG 보안 기능은 옵션적으로 선택 가능하다.
이상에서 설명된 장치는 하드웨어 구성요소, 소프트웨어 구성요소, 및/혹은 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시 예에서 설명된 장치 및 구성요소는, 프로세서, 제어기, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 혹은 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 혹은 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 어플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 혹은 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 혹은 하나의 프로세서 및 하나의 제어기를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 혹은 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 혹은 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/혹은 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 혹은 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상장치(virtual equipment), 컴퓨터 저장 매체 혹은 장치에 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.
한편, 상술된 본 발명의 내용은 발명을 실시하기 위한 구체적인 실시 예들에 불과하다. 본 발명은 구체적이고 실제로 이용할 수 있는 수단 자체뿐 아니라, 장차 기술로 활용할 수 있는 추상적이고 개념적인 아이디어인 기술적 사상을 포함 할 것이다.
1000: 저장 장치
1100: 비휘발성 메모리 장치
1110: 메모리 셀 어레이
1120: 로우 디코더
1130: 페이지 버퍼 회로
1140: 제어 로직
1200: 제어기
1100: 비휘발성 메모리 장치
1110: 메모리 셀 어레이
1120: 로우 디코더
1130: 페이지 버퍼 회로
1140: 제어 로직
1200: 제어기
Claims (1)
- 비휘발성 메모리 장치와 상기 비휘발성 메모리 장치를 제어하는 제어기를 갖는 저장 장치의 동작 방법에 있어서,
외부 장치로부터 무효화 동작 요청을 수신하는 단계;
상기 무효화 동작에 따라 타겟 데이터에 대한 보안 삭제 동작을 수행하는 단계;
셀 카운터를 이용하여 상기 타겟 데이터가 상기 비휘발성 메모리 장치에 존재하는 지를 검증하는 단계; 및
상기 검증 결과를 상기 외부 장치로 출력하는 단계를 포함하는 방법.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR20220086034 | 2022-07-13 | ||
KR1020220086034 | 2022-07-13 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20240009363A true KR20240009363A (ko) | 2024-01-22 |
Family
ID=89716605
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020230088747A KR20240009363A (ko) | 2022-07-13 | 2023-07-09 | 보안 삭제 검증 가능한 저장 장치 및 그것의 동작 방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR20240009363A (ko) |
-
2023
- 2023-07-09 KR KR1020230088747A patent/KR20240009363A/ko unknown
Non-Patent Citations (47)
Title |
---|
1. K. Patel and G. B. Jethava, "Privacy preserving techniques for big data: A survey", Proc. 2nd Int. Conf. Inventive Commun. Comput. Technol. (ICICCT), pp. 194-199, Apr. 2018. |
10. P. Silva, E. Monteiro and P. Simoes, "Privacy in the cloud: A survey of existing solutions and research challenges", IEEE Access, vol. 9, pp. 10473-10497, 2021. |
11. S. Niksefat, P. Kaghazgaran and B. Sadeghiyan, "Privacy issues in intrusion detection systems: A taxonomy survey and future directions", Comput. Sci. Rev. , vol. 25, pp. 69-78, Aug. 2017. |
12. N. Mehta, A. Pandit and M. Kulkarni, "Elements of healthcare big data analytics", Big Data Analytics in Healthcare, vol. 66, pp. 23-43, 2020. |
13. C. Park, J. -U. Kang, S. -Y. Park and J. -S. Kim, "Energy-aware demand paging on NAND flash-based embedded storages", Proc. Int. Symp. Low Power Electron. Design, pp. 338-343, Aug. 2004. |
14. S. -Y. Kim and S. -I. Jung, "A log-based flash translation layer for large NAND flash memory", Proc. 8th Int. Conf. Adv. Commun. Technol. , pp. 1641-1644, 2006. |
15. N. -Y. Ahn and D. Hoon Lee, "Duty to delete on non-volatile memory", arXiv:1707. 02842, 2017. |
16. A. Nisbet and R. Jacob, "TRIM wear levelling and garbage collection on solid state drives: A prediction model for forensic investigators", Proc. 18th IEEE Int. Conf. Trust Secur. Privacy Comput. Commun. /13th IEEE Int. Conf. Big Data Sci. Eng. (TrustCom/BigDataSE), pp. 419-426, Aug. 2019. |
17. N. Y. Ahn and D. H. Lee, "Schemes for privacy data destruction in a NAND flash memory", IEEE Access, vol. 7, pp. 181305-181313, 2019. |
18. M. Gibson, N. Medina and Z. Nail, "SSD forensics: Evidence generation and analysis" in Digital Forensic Education, Cham, Switzerland:Springer, vol. 61, pp. 203-218, 2020. |
19. W. -C. Wang, C. -C. Ho, Y. -M. Chang and Y. -H. Chang, "Challenges and designs for secure deletion in storage systems", Proc. Indo-Taiwan 2nd Int. Conf. Comput. Anal. Netw. (Indo-Taiwan ICAN), pp. 181-189, Feb. 2020. |
2. M. Shamila, K. Vinuthna and A. K. Tyagi, "A review on several critical issues and challenges in IoT based e-healthcare system", Proc. Int. Conf. Intell. Comput. Control Syst. (ICCS), pp. 1036-1043, May 2019. |
20. N. Y. Ahn and D. H. Lee, "Forensics and anti-forensics of a NAND flash memory: From a copy-back program perspective", IEEE Access, vol. 9, pp. 14130-14137, 2021. |
21. N. Y. Ahn and D. H. Lee, "Forensic issues and techniques to improve security in SSD with flex capacity feature", IEEE Access, vol. 9, pp. 167067-167075, 2021. |
22. W. Zhou, Y. Jia, A. Peng, Y. Zhang and P. Liu, "The effect of IoT new features on security and privacy: New threats existing solutions and challenges yet to be solved", IEEE Internet Things J. , vol. 6, no. 2, pp. 1606-1616, Apr. 2019. |
23. O. B. Sezer, E. Dogdu and A. M. Ozbayoglu, "Context-aware computing learning and big data in Internet of Things: A survey", IEEE Internet Things J. , vol. 5, no. 1, pp. 1-27, Feb. 2018. |
24. Y. Zhao, W. Tong, J. Liu, D. Feng and H. Qin, "CeSR: A cell state remapping strategy to reduce raw bit error rate of MLC NAND flash", Proc. 35th Symp. Mass Storage Syst. Technol. (MSST), pp. 161-171, May 2019. |
25. P. Huang, P. Subedi, X. He, S. He and K. Zhou, "FlexECC: Partially relaxing ECC of MLC SSD for better cache performance", Proc. USENIX ATC, pp. 489-500, 2014. |
26. B. Salami, E. B. Onural, I. E. Yuksel, F. Koc, O. Ergin, A. Cristal Kestelman, et al. , "An experimental study of reduced-voltage operation in modern FPGAs for neural network acceleration", Proc. 50th Annu. IEEE/IFIP Int. Conf. Dependable Syst. Netw. (DSN), pp. 138-149, Jun. 2020. |
27. A. Agnesina, D. E. Shim, J. Yamaguchi, C. Krutzik, J. Carson, D. Nakamura, et al. , "A fault-tolerant and high-speed memory controller targeting 3D flash memory cubes for space applications", Proc. IEEE 38th Int. Conf. Comput. Design (ICCD), pp. 425-432, Oct. 2020. |
28. Y. Lee, J. Park, J. Ryu and Y. Kim, "AxFTL: Exploiting error tolerance for extending lifetime of NAND flash storage", IEEE Trans. Comput. -Aided Design Integr. Circuits Syst. , vol. 39, no. 11, pp. 3239-3249, Nov. 2020. |
29. K. Missimer and R. West, "Partitioned real-time NAND flash storage", Proc. IEEE Real-Time Syst. Symp. (RTSS), pp. 185-195, Dec. 2018. |
3. B. Alabdullah, N. Beloff and M. White, "Rise of big data―Issues and challenges", Proc. 21st Saudi Comput. Soc. Nat. Comput. Conf. (NCC), pp. 1-6, Apr. 2018. |
30. M. Qin, R. Mateescu, Q. Wang, C. Guyot, D. Vucinic and Z. Bandic, "Garbage collection algorithms for meta data updates in NAND flash", Proc. IEEE Int. Conf. Commun. (ICC), pp. 1-5, May 2019. |
31. S. Wang, Y. Zhou, J. Zhou, F. Wu and C. Xie, "An efficient data migration scheme to optimize garbage collection in SSDs", IEEE Trans. Comput. -Aided Design Integr. Circuits Syst. , vol. 40, no. 3, pp. 430-443, Mar. 2021. |
32. S. -H. Hwang and J. W. Kwak, "RbWL: Recency-based static wear leveling for lifetime extension and overhead reduction in NAND flash memory systems", IEICE Trans. Inf. Syst. , vol. 101, no. 10, pp. 2518-2522, Oct. 2018. |
33. J. Shey, J. A. Blanco, O. Walker, T. W. Tedesso, H. T. Ngo, R. Rakvic, et al. , "Monitoring device current to characterize trim operations of solid-state drives", IEEE Trans. Inf. Forensics Security, vol. 14, no. 5, pp. 1296-1306, May 2019. |
34. W. -C. Wang, C. -C. Ho, Y. -H. Chang, T. -W. Kuo and P. -H. Lin, "Scrubbing-aware secure deletion for 3-D NAND flash", IEEE Trans. Comput. -Aided Design Integr. Circuits Syst. , vol. 37, no. 11, pp. 2790-2801, Nov. 2018. |
35. M. M. Hasan and B. Ray, "Data recovery from `scrubbed' NAND flash storage: Need for analog sanitization", Proc. 29th USENIX Secur. Symp. , pp. 1399-1408, 2020. |
36. P. -H. Lin, Y. -M. Chang, Y. -C. Li, W. -C. Wang, C. -C. Ho and Y. -H. Chang, "Achieving fast sanitization with zero live data copy for MLC flash memory", Proc. Int. Conf. Comput. -Aided Design, pp. 1-8, Nov. 2018. |
37. M. Wang, J. Xiong, R. Ma, Q. Li and B. Jin, "A novel data secure deletion scheme for mobile devices", Proc. 27th Int. Conf. Comput. Commun. Netw. (ICCCN), pp. 1-8, Jul. 2018. |
38. J. Xiong, L. Chen, M. Z. A. Bhuiyan, C. Cao, M. Wang, E. Luo, et al. , "A secure data deletion scheme for IoT devices through key derivation encryption and data analysis", Future Gener. Comput. Syst. , vol. 111, pp. 741-753, Oct. 2020. |
39. S. Ribaric, A. Ariyaeeinia and N. Pavesic, "De-identification for privacy protection in multimedia content: A survey", Signal Process. Image Commun. , vol. 47, pp. 131-151, Sep. 2016. |
4. K. El Emam, "Risk-based de-identification of health data", IEEE Secur. Privacy Mag. , vol. 8, no. 3, pp. 64-67, May 2010. |
40. K. Brkic, I. Sikiric, T. Hrkac and Z. Kalafatic, "I know that person: Generative full body and face de-identification of people in images", Proc. IEEE Conf. Comput. Vis. Pattern Recognit. Workshops (CVPRW), pp. 1319-1328, Jul. 2017. |
41. D. Kim, H. Kim, S. Yun, Y. Song and J. Kim, " 13. 1 A 1Tb 4b/cell NAND flash memory with tPROG+2ms tR=110 \$mu\$ s and 1. 2Gb/s High-Speed IO Rate ", IEEE Int. Solid-State Circuits Conf. (ISSCC) Dig. Tech. Papers, pp. 218-220, Feb. 2020. |
42. Y. Cai, S. Ghose, E. F. Haratsch, Y. Luo and O. Mutlu, "Error characterization mitigation and recovery in flash-memory-based solid-state drives", Proc. IEEE, vol. 105, no. 9, pp. 1666-1704, Sep. 2017. |
43. Y. Cai, S. Ghose, E. F. Haratsch, Y. Luo and O. Mutlu, "Reliability issues in flash-memory-based solid-state drives: Experimental analysis mitigation recovery" in in Inside Solid-State Drives (SSDs), Singapore:Springer, 2018. |
44. T. Ojo, H. Chi, J. Elliston and K. Roy, "Secondhand smart IoT devices data recovery and digital investigation", Proc. SoutheastCon, pp. 640-648, Mar. 2022. |
45. US Patent 11,288,001, "Self-clearing data move assist (DMA) engine", Mar. 2022. |
46. Y. Wang, Z. Qin, R. Chen, Z. Shao and L. T. Yang, "An adaptive demand-based caching mechanism for NAND flash memory storage systems", ACM Trans. Des. Automat. Electron. Syst. , vol. 22, no. 1, pp. 18, Dec. 2016. |
47. Y. Guan, G. Wang, C. Ma, R. Chen, Y. Wang and Z. Shao, "A block-level log-block management scheme for MLC NAND flash memory storage systems", IEEE Trans. Comput. , vol. 66, no. 9, pp. 1464-1477, Sep. 2017. |
5. A. Kassem, G. Acs, C. Castelluccia and C. Palamidessi, "Differential inference testing: A practical approach to evaluate sanitizations of datasets", Proc. IEEE Secur. Privacy Workshops (SPW), pp. 72-79, May 2019. |
6. Q. N. Hong, N. N. Tuan, T. T. Quang, D. N. Tien and C. V. Le, "Deep spatio-temporal network for accurate person re-identification", Proc. Int. Conf. Inf. Commun. (ICIC), pp. 208-213, Jun. 2017. |
7. J. R. Pinto, M. V. Correia and J. S. Cardoso, "Secure triplet loss: Achieving cancelability and non-linkability in end-to-end deep biometrics", IEEE Trans. Biometrics Behav. Identity Sci. , vol. 3, no. 2, pp. 180-189, Apr. 2021. |
8. M. Mendieta, C. Neff, D. Lingerfelt, C. Beam, A. George, S. Rogers, et al. , "A novel application/infrastructure co-design approach for real-time edge video analytics", Proc. SoutheastCon, pp. 1-7, Apr. 2019. |
9. J. Soria-Comas and J. Domingo-Ferrer, "Probabilistic K-anonymity through microaggregation and data swapping", Proc. IEEE Int. Conf. Fuzzy Syst. , pp. 1-8, Jun. 2012. |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6298268B2 (ja) | セキュリティ管理ユニットとそれを含むホストコントローラインターフェース及びその動作方法、並びにホストコントローラインターフェースを含むコンピュータシステム | |
CN110046506A (zh) | 存储设备和包括存储设备的存储系统及使用其进行操作的方法 | |
KR102567108B1 (ko) | 데이터 스토리지 디바이스 및 데이터 스토리지 시스템 | |
US10795827B2 (en) | Adaptive management of intermediate storage | |
TWI679554B (zh) | 資料儲存裝置以及其操作方法 | |
US20140032935A1 (en) | Memory system and encryption method in memory system | |
US9558128B2 (en) | Selective management of security data | |
US9436594B2 (en) | Write operation with immediate local destruction of old content in non-volatile memory | |
US20130080787A1 (en) | Memory storage apparatus, memory controller and password verification method | |
US11669644B2 (en) | Storage device and data destruction method thereof | |
JP2022522595A (ja) | ホストベースのフラッシュメモリメンテナンス技術 | |
US9959216B2 (en) | Generating and using an enhanced initialization vector | |
Ahn et al. | Forensics and anti-forensics of a NAND flash memory: From a copy-back program perspective | |
Chen et al. | Infuse: Invisible plausibly-deniable file system for nand flash | |
TWI722496B (zh) | 使用者資料的加解密方法及裝置 | |
Ahn et al. | Security of IoT device: perspective forensic/anti-forensic issues on invalid area of NAND flash memory | |
Chen et al. | Hiflash: A history independent flash device | |
Zuck et al. | Stash in a Flash | |
KR20240016884A (ko) | 저장 시스템, 저장 장치 및 저장 시스템을 제어하는방법 | |
US11822489B2 (en) | Data integrity protection for relocating data in a memory system | |
KR20230047018A (ko) | 플렉서블 용량 특징을 갖는 저장 장치의 보안을 향상시키는 방법 | |
KR20240009363A (ko) | 보안 삭제 검증 가능한 저장 장치 및 그것의 동작 방법 | |
KR20220036569A (ko) | 메모리 시스템 및 메모리 시스템의 동작 방법 | |
Nie et al. | PALES: Optimizing secure data deletion in SSDs via page group and reprogram speedup | |
KR102462829B1 (ko) | Nand 플래시 메모리의 보안 카피-백 프로그램 방법 |