{"id":12441,"date":"2016-03-22T16:51:14","date_gmt":"2016-03-22T15:51:14","guid":{"rendered":"https:\/\/blogs.msdn.microsoft.com\/nav\/?p=12441"},"modified":"2024-03-05T12:02:35","modified_gmt":"2024-03-05T20:02:35","slug":"design-pattern-passwords-and-sensitive-data","status":"publish","type":"post","link":"https:\/\/www.microsoft.com\/en-us\/dynamics-365\/blog\/business-leader\/2016\/03\/22\/design-pattern-passwords-and-sensitive-data\/","title":{"rendered":"Design Pattern: Passwords and sensitive data"},"content":{"rendered":"

By Bogdana Botez at Microsoft Development Center Copenhagen<\/i><\/p>\n

This pattern is supported starting from Microsoft Dynamics NAV version 2016.<\/i><\/p>\n

Abstract<\/b><\/h3>\n

Protect data like passwords, social security numbers, credit card numbers etc by encrypting it and by placing it in a single table with restricted access.<\/p>\n

\"Passwords<\/a><\/p>\n

Problem statement<\/b><\/h3>\n

When sensitive data is stored inside the Dynamics NAV database, if it is negligently handled, it can render it vulnerable. Particularly, the location, access and the state of the data are critical.<\/p>\n

Imagine that instead of storing credit cards in a wallet, they would be scattered around in your surroundings: inside cloth, in the furniture, some even in plain sight. How easy would it be to accidentally misplace or have someone misuse a credit card? The statement is valid for sensitive electronic data, like passwords, personal IDs, credit card numbers \u2013 they are easier to manage, if stored in one place.<\/p>\n

We could store sensitive data in a single place, an electronic \u201cwallet\u201d, but then forget to control who has access to it. If multiple entities can alter the \u201cwallet\u201d, then what is the guarantee that all of them will handle it correctly?<\/p>\n

Supposed this problem is solved too. Now we store passwords in a single place, and we only access them through a safely written API. But the passwords are unencrypted, so a breach on the database would immediately expose them to the outside party.<\/p>\n

Read more on the NAV design patterns wiki…<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"

By Bogdana Botez at Microsoft Development Center Copenhagen This pattern is supported starting from Microsoft Dynamics NAV version 2016. Abstract Protect data like passwords, social security numbers, credit card numbers etc by encrypting it and by placing it in a single table with restricted access. Problem statement When sensitive data is stored inside the Dynamics<\/p>\n","protected":false},"author":4552,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"ms_queue_id":[],"ep_exclude_from_search":false,"_classifai_error":"","_classifai_text_to_speech_error":"","footnotes":""},"post_tag":[],"product":[],"content-type":[18],"topic":[],"audience-type":[],"audience":[4684],"ms-author":[],"coauthors":[2302],"class_list":["post-12441","post","type-post","status-publish","format-standard","hentry","content-type-thought-leadership","audience-business-leader"],"yoast_head":"\nDesign Pattern: Passwords and sensitive data - Microsoft Dynamics 365 Blog<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.microsoft.com\/en-us\/dynamics-365\/blog\/business-leader\/2016\/03\/22\/design-pattern-passwords-and-sensitive-data\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Design Pattern: Passwords and sensitive data - Microsoft Dynamics 365 Blog\" \/>\n<meta property=\"og:description\" content=\"By Bogdana Botez at Microsoft Development Center Copenhagen This pattern is supported starting from Microsoft Dynamics NAV version 2016. Abstract Protect data like passwords, social security numbers, credit card numbers etc by encrypting it and by placing it in a single table with restricted access. Problem statement When sensitive data is stored inside the Dynamics\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.microsoft.com\/en-us\/dynamics-365\/blog\/business-leader\/2016\/03\/22\/design-pattern-passwords-and-sensitive-data\/\" \/>\n<meta property=\"og:site_name\" content=\"Microsoft Dynamics 365 Blog\" \/>\n<meta property=\"article:published_time\" content=\"2016-03-22T15:51:14+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-03-05T20:02:35+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.microsoft.com\/en-us\/dynamics-365\/blog\/wp-content\/uploads\/2016\/03\/NAVblog_PasswordsSensitiveData.png\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Microsoft Dynamics 365 Team\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"1 min read\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.microsoft.com\/en-us\/dynamics-365\/blog\/business-leader\/2016\/03\/22\/design-pattern-passwords-and-sensitive-data\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.microsoft.com\/en-us\/dynamics-365\/blog\/business-leader\/2016\/03\/22\/design-pattern-passwords-and-sensitive-data\/\"},\"author\":[{\"@id\":\"https:\/\/www.microsoft.com\/en-us\/dynamics-365\/blog\/author\/microsoft-dynamics-365-team\/\",\"@type\":\"Person\",\"@name\":\"Microsoft Dynamics 365 Team\"}],\"headline\":\"Design Pattern: Passwords and sensitive data\",\"datePublished\":\"2016-03-22T15:51:14+00:00\",\"dateModified\":\"2024-03-05T20:02:35+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.microsoft.com\/en-us\/dynamics-365\/blog\/business-leader\/2016\/03\/22\/design-pattern-passwords-and-sensitive-data\/\"},\"wordCount\":245,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.microsoft.com\/en-us\/dynamics-365\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.microsoft.com\/en-us\/dynamics-365\/blog\/business-leader\/2016\/03\/22\/design-pattern-passwords-and-sensitive-data\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.microsoft.com\/en-us\/dynamics-365\/blog\/wp-content\/uploads\/2016\/03\/NAVblog_PasswordsSensitiveData.png\",\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.microsoft.com\/en-us\/dynamics-365\/blog\/business-leader\/2016\/03\/22\/design-pattern-passwords-and-sensitive-data\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.microsoft.com\/en-us\/dynamics-365\/blog\/business-leader\/2016\/03\/22\/design-pattern-passwords-and-sensitive-data\/\",\"url\":\"https:\/\/www.microsoft.com\/en-us\/dynamics-365\/blog\/business-leader\/2016\/03\/22\/design-pattern-passwords-and-sensitive-data\/\",\"name\":\"Design Pattern: Passwords and sensitive data - Microsoft Dynamics 365 Blog\",\"isPartOf\":{\"@id\":\"https:\/\/www.microsoft.com\/en-us\/dynamics-365\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.microsoft.com\/en-us\/dynamics-365\/blog\/business-leader\/2016\/03\/22\/design-pattern-passwords-and-sensitive-data\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.microsoft.com\/en-us\/dynamics-365\/blog\/business-leader\/2016\/03\/22\/design-pattern-passwords-and-sensitive-data\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.microsoft.com\/en-us\/dynamics-365\/blog\/wp-content\/uploads\/2016\/03\/NAVblog_PasswordsSensitiveData.png\",\"datePublished\":\"2016-03-22T15:51:14+00:00\",\"dateModified\":\"2024-03-05T20:02:35+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/www.microsoft.com\/en-us\/dynamics-365\/blog\/business-leader\/2016\/03\/22\/design-pattern-passwords-and-sensitive-data\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.microsoft.com\/en-us\/dynamics-365\/blog\/business-leader\/2016\/03\/22\/design-pattern-passwords-and-sensitive-data\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.microsoft.com\/en-us\/dynamics-365\/blog\/business-leader\/2016\/03\/22\/design-pattern-passwords-and-sensitive-data\/#primaryimage\",\"url\":\"https:\/\/www.microsoft.com\/en-us\/dynamics-365\/blog\/wp-content\/uploads\/2016\/03\/NAVblog_PasswordsSensitiveData.png\",\"contentUrl\":\"https:\/\/www.microsoft.com\/en-us\/dynamics-365\/blog\/wp-content\/uploads\/2016\/03\/NAVblog_PasswordsSensitiveData.png\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.microsoft.com\/en-us\/dynamics-365\/blog\/business-leader\/2016\/03\/22\/design-pattern-passwords-and-sensitive-data\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.microsoft.com\/en-us\/dynamics-365\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Design Pattern: Passwords and sensitive data\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.microsoft.com\/en-us\/dynamics-365\/blog\/#website\",\"url\":\"https:\/\/www.microsoft.com\/en-us\/dynamics-365\/blog\/\",\"name\":\"Microsoft Dynamics 365 Blog\",\"description\":\"Modernizing Business Process with Cloud and AI\",\"publisher\":{\"@id\":\"https:\/\/www.microsoft.com\/en-us\/dynamics-365\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.microsoft.com\/en-us\/dynamics-365\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.microsoft.com\/en-us\/dynamics-365\/blog\/#organization\",\"name\":\"Dynamics 365 Blog\",\"url\":\"https:\/\/www.microsoft.com\/en-us\/dynamics-365\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.microsoft.com\/en-us\/dynamics-365\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.microsoft.com\/en-us\/dynamics-365\/blog\/wp-content\/uploads\/2019\/08\/Microsoft-Logo.png\",\"contentUrl\":\"https:\/\/www.microsoft.com\/en-us\/dynamics-365\/blog\/wp-content\/uploads\/2019\/08\/Microsoft-Logo.png\",\"width\":259,\"height\":194,\"caption\":\"Dynamics 365 Blog\"},\"image\":{\"@id\":\"https:\/\/www.microsoft.com\/en-us\/dynamics-365\/blog\/#\/schema\/logo\/image\/\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Design Pattern: Passwords and sensitive data - Microsoft Dynamics 365 Blog","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.microsoft.com\/en-us\/dynamics-365\/blog\/business-leader\/2016\/03\/22\/design-pattern-passwords-and-sensitive-data\/","og_locale":"en_US","og_type":"article","og_title":"Design Pattern: Passwords and sensitive data - Microsoft Dynamics 365 Blog","og_description":"By Bogdana Botez at Microsoft Development Center Copenhagen This pattern is supported starting from Microsoft Dynamics NAV version 2016. Abstract Protect data like passwords, social security numbers, credit card numbers etc by encrypting it and by placing it in a single table with restricted access. Problem statement When sensitive data is stored inside the Dynamics","og_url":"https:\/\/www.microsoft.com\/en-us\/dynamics-365\/blog\/business-leader\/2016\/03\/22\/design-pattern-passwords-and-sensitive-data\/","og_site_name":"Microsoft Dynamics 365 Blog","article_published_time":"2016-03-22T15:51:14+00:00","article_modified_time":"2024-03-05T20:02:35+00:00","og_image":[{"url":"https:\/\/www.microsoft.com\/en-us\/dynamics-365\/blog\/wp-content\/uploads\/2016\/03\/NAVblog_PasswordsSensitiveData.png","type":"","width":"","height":""}],"twitter_card":"summary_large_image","twitter_misc":{"Written by":"Microsoft Dynamics 365 Team","Est. reading time":"1 min read"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.microsoft.com\/en-us\/dynamics-365\/blog\/business-leader\/2016\/03\/22\/design-pattern-passwords-and-sensitive-data\/#article","isPartOf":{"@id":"https:\/\/www.microsoft.com\/en-us\/dynamics-365\/blog\/business-leader\/2016\/03\/22\/design-pattern-passwords-and-sensitive-data\/"},"author":[{"@id":"https:\/\/www.microsoft.com\/en-us\/dynamics-365\/blog\/author\/microsoft-dynamics-365-team\/","@type":"Person","@name":"Microsoft Dynamics 365 Team"}],"headline":"Design Pattern: Passwords and sensitive data","datePublished":"2016-03-22T15:51:14+00:00","dateModified":"2024-03-05T20:02:35+00:00","mainEntityOfPage":{"@id":"https:\/\/www.microsoft.com\/en-us\/dynamics-365\/blog\/business-leader\/2016\/03\/22\/design-pattern-passwords-and-sensitive-data\/"},"wordCount":245,"commentCount":0,"publisher":{"@id":"https:\/\/www.microsoft.com\/en-us\/dynamics-365\/blog\/#organization"},"image":{"@id":"https:\/\/www.microsoft.com\/en-us\/dynamics-365\/blog\/business-leader\/2016\/03\/22\/design-pattern-passwords-and-sensitive-data\/#primaryimage"},"thumbnailUrl":"https:\/\/www.microsoft.com\/en-us\/dynamics-365\/blog\/wp-content\/uploads\/2016\/03\/NAVblog_PasswordsSensitiveData.png","inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.microsoft.com\/en-us\/dynamics-365\/blog\/business-leader\/2016\/03\/22\/design-pattern-passwords-and-sensitive-data\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.microsoft.com\/en-us\/dynamics-365\/blog\/business-leader\/2016\/03\/22\/design-pattern-passwords-and-sensitive-data\/","url":"https:\/\/www.microsoft.com\/en-us\/dynamics-365\/blog\/business-leader\/2016\/03\/22\/design-pattern-passwords-and-sensitive-data\/","name":"Design Pattern: Passwords and sensitive data - Microsoft Dynamics 365 Blog","isPartOf":{"@id":"https:\/\/www.microsoft.com\/en-us\/dynamics-365\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.microsoft.com\/en-us\/dynamics-365\/blog\/business-leader\/2016\/03\/22\/design-pattern-passwords-and-sensitive-data\/#primaryimage"},"image":{"@id":"https:\/\/www.microsoft.com\/en-us\/dynamics-365\/blog\/business-leader\/2016\/03\/22\/design-pattern-passwords-and-sensitive-data\/#primaryimage"},"thumbnailUrl":"https:\/\/www.microsoft.com\/en-us\/dynamics-365\/blog\/wp-content\/uploads\/2016\/03\/NAVblog_PasswordsSensitiveData.png","datePublished":"2016-03-22T15:51:14+00:00","dateModified":"2024-03-05T20:02:35+00:00","breadcrumb":{"@id":"https:\/\/www.microsoft.com\/en-us\/dynamics-365\/blog\/business-leader\/2016\/03\/22\/design-pattern-passwords-and-sensitive-data\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.microsoft.com\/en-us\/dynamics-365\/blog\/business-leader\/2016\/03\/22\/design-pattern-passwords-and-sensitive-data\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.microsoft.com\/en-us\/dynamics-365\/blog\/business-leader\/2016\/03\/22\/design-pattern-passwords-and-sensitive-data\/#primaryimage","url":"https:\/\/www.microsoft.com\/en-us\/dynamics-365\/blog\/wp-content\/uploads\/2016\/03\/NAVblog_PasswordsSensitiveData.png","contentUrl":"https:\/\/www.microsoft.com\/en-us\/dynamics-365\/blog\/wp-content\/uploads\/2016\/03\/NAVblog_PasswordsSensitiveData.png"},{"@type":"BreadcrumbList","@id":"https:\/\/www.microsoft.com\/en-us\/dynamics-365\/blog\/business-leader\/2016\/03\/22\/design-pattern-passwords-and-sensitive-data\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.microsoft.com\/en-us\/dynamics-365\/blog\/"},{"@type":"ListItem","position":2,"name":"Design Pattern: Passwords and sensitive data"}]},{"@type":"WebSite","@id":"https:\/\/www.microsoft.com\/en-us\/dynamics-365\/blog\/#website","url":"https:\/\/www.microsoft.com\/en-us\/dynamics-365\/blog\/","name":"Microsoft Dynamics 365 Blog","description":"Modernizing Business Process with Cloud and AI","publisher":{"@id":"https:\/\/www.microsoft.com\/en-us\/dynamics-365\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.microsoft.com\/en-us\/dynamics-365\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.microsoft.com\/en-us\/dynamics-365\/blog\/#organization","name":"Dynamics 365 Blog","url":"https:\/\/www.microsoft.com\/en-us\/dynamics-365\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.microsoft.com\/en-us\/dynamics-365\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.microsoft.com\/en-us\/dynamics-365\/blog\/wp-content\/uploads\/2019\/08\/Microsoft-Logo.png","contentUrl":"https:\/\/www.microsoft.com\/en-us\/dynamics-365\/blog\/wp-content\/uploads\/2019\/08\/Microsoft-Logo.png","width":259,"height":194,"caption":"Dynamics 365 Blog"},"image":{"@id":"https:\/\/www.microsoft.com\/en-us\/dynamics-365\/blog\/#\/schema\/logo\/image\/"}}]}},"word_count":239,"msxcm_display_generated_audio":false,"distributor_meta":false,"distributor_terms":false,"distributor_media":false,"distributor_original_site_name":"Microsoft Dynamics 365 Blog","distributor_original_site_url":"https:\/\/www.microsoft.com\/en-us\/dynamics-365\/blog","push-errors":false,"_links":{"self":[{"href":"https:\/\/www.microsoft.com\/en-us\/dynamics-365\/blog\/wp-json\/wp\/v2\/posts\/12441","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.microsoft.com\/en-us\/dynamics-365\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.microsoft.com\/en-us\/dynamics-365\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/dynamics-365\/blog\/wp-json\/wp\/v2\/users\/4552"}],"replies":[{"embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/dynamics-365\/blog\/wp-json\/wp\/v2\/comments?post=12441"}],"version-history":[{"count":1,"href":"https:\/\/www.microsoft.com\/en-us\/dynamics-365\/blog\/wp-json\/wp\/v2\/posts\/12441\/revisions"}],"predecessor-version":[{"id":189762,"href":"https:\/\/www.microsoft.com\/en-us\/dynamics-365\/blog\/wp-json\/wp\/v2\/posts\/12441\/revisions\/189762"}],"wp:attachment":[{"href":"https:\/\/www.microsoft.com\/en-us\/dynamics-365\/blog\/wp-json\/wp\/v2\/media?parent=12441"}],"wp:term":[{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/dynamics-365\/blog\/wp-json\/wp\/v2\/post_tag?post=12441"},{"taxonomy":"product","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/dynamics-365\/blog\/wp-json\/wp\/v2\/product?post=12441"},{"taxonomy":"content-type","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/dynamics-365\/blog\/wp-json\/wp\/v2\/content-type?post=12441"},{"taxonomy":"topic","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/dynamics-365\/blog\/wp-json\/wp\/v2\/topic?post=12441"},{"taxonomy":"audience-type","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/dynamics-365\/blog\/wp-json\/wp\/v2\/audience-type?post=12441"},{"taxonomy":"audience","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/dynamics-365\/blog\/wp-json\/wp\/v2\/audience?post=12441"},{"taxonomy":"ms-author","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/dynamics-365\/blog\/wp-json\/wp\/v2\/ms-author?post=12441"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/dynamics-365\/blog\/wp-json\/wp\/v2\/coauthors?post=12441"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}