Changing the outcome of historical events with ChatGPT

I’m a big fan of history and it is always interesting to think of the ‘what if?’ scenarios. In fact there are plenty of tabletop war games and a lot of video games dedicated to playing out alternative scenarios and also some great books on the subject. ChatGPT offers another way of exploring alternative scenarios and well.. re-writing history. At the moment, it isn’t too sophisticated.

Changing history also has political implications – describing events in a slightly different way can give a different slant. It is rarely objective and is almost always based on an incomplete version of the exact facts. Outcomes are mostly undeniable however.

I got ChatGPT to run through a couple of scenarios during the American War of Independence or the Revolutionary War as it is also known. One pivotal moment was the Battle of Trenton on the 26th of December 1776. The Hessians (German auxiliaries to the British forces) were defeated in a surprise attack by the Continental Army which re-invigorated morale and inspired others to join the cause. It also inspired this famous painting of George Washington on his way to the battle, crossing the icy Delaware:

Washington Crossing the Delaware, by Emanuel Luetz, Metropolitan Museum of Art (wikimedia commons)

The story goes that the attack began at daybreak and the Hessian garrison were caught by surprise and overwhelmed by Washington’s Continental Army. Some say they were drunk after Christmas festivities but this seems to have been misinterpretation. There is even a webpage dedicated to myth-busting things about the battle.

Changing the outcome of the Battle of Trenton

So back to ChatGPT – would a different result in this battle have resulted in a different outcome to the War of Independence? I asked it to create a new wikipedia page based on the Hessians winning at Trenton. It is interesting what tack is taken – in the hypothetical ‘win’ scenario Colonel Rall on the Hessian side receives intelligence about Washington’s attack. Note that this was a factor in Washington’s real victory – he had a spy in the Hessian camp that had played down the state of the Continental Army (this was a small factor and it was also true that the Continental Army soldiers barely had shoes, even with the freezing conditions). ChatGPT does clearly present it as an alternate scenario (although I asked it do this – my prompt was: “Create a wikipedia page about the battle of trenton, but in a scenario where the hessians win”). The text broadly sticks to the facts of what happened, with the alternate twist being that the Hessians are not surprised by the attack and are ready and waiting (disciplined as they were).

Interestingly ChatGPT also states that it would not have changed the outcome, so the timeline reverts back to the real world outcome by the end of its text. This is an interesting position to take because of course the path of the war after that is non-deterministic, but the body of real-world text brings the world back to one where the Americans achieved their independence.

Here’s the real wikipedia page about the Battle of Trenton and below is my generated one:

Battle of Trenton (Hessian Victory)

The Battle of Trenton was a pivotal engagement that took place during the American Revolutionary War on December 26, 1776, in Trenton, New Jersey. In this alternate scenario, the battle resulted in a resounding victory for the Hessian forces under the command of Colonel Johann Rall, instead of the historical outcome where the American forces emerged triumphant.


After several early defeats in the war, General George Washington, commander-in-chief of the Continental Army, sought to rally his demoralized troops by planning a daring attack on the Hessian garrison in Trenton. The Hessian mercenaries, led by Colonel Rall, were stationed in the town and played a crucial role in supporting British forces in the region.

Deployment of Forces

In this alternative scenario, Colonel Rall had received intelligence about Washington’s planned attack. Recognizing the threat, he ordered his troops to adopt a more cautious and defensive position, fortifying key positions within Trenton. Rall made use of the town’s natural defenses, such as the Assunpink Creek and the houses along the streets, to create strong defensive positions for his forces.

On the American side, Washington’s plan to launch a surprise attack relied heavily on the element of surprise. However, in this scenario, the Hessian defenses, combined with their knowledge of the American plan, made the task much more challenging.

The Battle

As dawn broke on December 26, 1776, the American forces, numbering around 2,400 troops, attacked the Hessian positions in Trenton. However, they were met with a stubborn and well-prepared defense from the Hessian forces, which numbered around 1,500 soldiers.

The American assault faced fierce resistance as they attempted to breach the Hessian defenses. The Hessian soldiers, well-disciplined and fighting from fortified positions, repelled multiple American charges. The Continental Army suffered heavy casualties in their attempts to break through the Hessian lines.

Despite their initial setbacks, Washington’s troops continued to press the attack, but the Hessian defenders held their ground. Colonel Rall skillfully directed his troops, countering American maneuvers and maintaining the cohesion of his forces. The Hessian soldiers fought with determination, inflicting heavy losses on the American forces and frustrating Washington’s attempts to gain a decisive advantage.

Hessian Victory

After hours of intense fighting, the American forces, depleted and demoralized, were forced to withdraw from Trenton. Colonel Rall’s strategic defenses and the resilience of his troops secured a resounding victory for the Hessian forces.

The Hessian victory at the Battle of Trenton had significant implications for the course of the American Revolutionary War. The loss dealt a severe blow to the morale of the Continental Army and dampened the spirits of American supporters. The successful defense of Trenton bolstered British and Hessian confidence and consolidated their control over the region, hampering American efforts to gain momentum in the war.


Following the Hessian victory at Trenton, the British and Hessian forces expanded their control over New Jersey, further stabilizing their hold on the region. The loss at Trenton forced General Washington to reevaluate his strategies and consider alternative approaches to challenging British and Hessian dominance.

Although the Hessian victory at Trenton temporarily halted the American momentum, it did not ultimately alter the outcome of the Revolutionary War. The conflict would continue for several more years, with the American forces rebounding and achieving significant victories in subsequent battles, eventually leading to their independence from Great Britain.

The Battle of Trenton, in this alternative scenario, stands as a testament to the effectiveness of Hessian defenses and the formidable resistance they put up against the Continental Army. It remains a noteworthy event in the annals of military history, showcasing the complexities and uncertainties of warfare.”

The great thing about ChatGPT is that having established this context in the conversation you can ask follow-up questions. I asked it what Washington’s next steps would have been and it generated what I would say was a relatively generic (classic GPT style) response. I think that highlights the limitations of where were now with this kind of AI, but if supplied with additional context it does provide very quick analysis – much faster than a human being could perform. However, it does require the human to understand what actually was going on at the time to help correct it. If you do understand some of the facts on the ground, then you can use these as modifiers to help play out other sub-scenarios. Here’s another time I was looking at this – I asked ChatGPT what it thought about the decisions at the time (there was a huge blizzard). The answers are pretty much what you or I would come up with if we thought about it, so in that sense there is the magic of the clairvoyant at play if you don’t think too hard. I’ve constrained the options significantly (both for those originally on the ground and for the AI):

So the benefit is a rapid playing out of different scenarios but again you do need to correct it. Here there is some ‘AI hallucination’ – it confidently states that the outcome of the battle was determined only by strategic factors and the actions on the ground, not the fact that it was Christmas. For context here – there is no clear answer to why they were caught unprepared – it was probably a combination of things including Christmas festivities and crucially the Hessians had been warned that there may be an attack. When I pointed this out (and this has happened a few times when I have tried this), it feels like there is a lot of back-tracking (of course this is just the reader’s perception):

ChatGPT can be useful in thinking about things where you may not have explored them yourself (and quickly). For example, the Hessians didn’t use their artillery in the battle, so I sought ChatGPT’s opinion on why. Again the caveat is that it will not necessarily consider ‘every’ factor available in history books – but you can certainly imagine a future where it will:

Finally – we can jump around the theatre of war to other points – for example – the Caribbean islands were very strategic when it came to French re-supplies:

There are many different scenarios that can be played out that could have helped the British which they clearly didn’t pay enough attention to at the time – of course very easy with the benefit of hindsight. We’re also not considering the huge number of almost uncontrollable factors that were playing out at the same time – whether it be dealing with the French, the Dutch merchants or the opinion of parliamentarians.

Polluting the datasets or erasing history…

So in summary, ChatGPT is quite a nice tool for exploring alternative scenarios in history, but it has limitations right now. It is not difficult to imagine modern-day commanders utilising AI in their decision-making, but just as we see above, context and accuracy are crucial and that’s all without an active adversary that may just be polluting the data with other alternative facts or even changing history… It will be ever-more important that original historical sources are preserved and protected from change or destruction.

For some further reading on the Revolutionary War, I recommend the excellent books ‘The First Salute‘ by Barbara W. Tuchman and 1776 by David McCullough.

The teeth of the UK’s IoT security legislation – understanding the draft regulation text

It’s a nice spring Saturday in 2023 and what am I doing? I am sat inside listening to classical music and writing this instead of being outside enjoying the sunshine! But it is important…

The government announcement today: ‘Starting gun fired on preparations for new product security regime‘ published the draft secondary legislation details (pdf) to accompany the Product Security and Telecommunications Act. More specifically: ‘The Product Security and Telecommunications Infrastructure (Security Requirements for Relevant Connectable Products) Regulations, subject to parliamentary approval.’ The regime details are further explained here. In terms of IoT security, we have been waiting for this for a long time. I can tell you that I was discussing with government colleagues what we really mean by ‘password’ and what should be in and out for this part of the work in January 2020 just before the pandemic, which now seems like a lifetime ago.

For some background to this please read the following blog which also has a bunch of links to the previous history. You can also follow this twitter thread I’ve been running on the legislative progress. The relevant government department is now DSIT (the Department for Science, Innovation and Technology) and the work is based on the Code of Practice for Consumer IoT Security which evolved into the international standard ETSI EN 303 645.

So what is this new stuff? Well the primary legislation for the Product Security and Telecommunications Infrastructure Act (2022) was passed in December 2022 and that provides the overall framework. We’re looking specifically at Part 1 of the Act which deals with Product Security. The secondary legislation contains the specific text of the technical requirements that the government is seeking to regulate. The reason for this approach is pretty straightforward. The use of secondary legislation allows for adaption to accommodate the way that technology rapidly develops, without having to return to parliament for a completely new process of new legislation. This makes obvious sense and means that the legislation is both robust from a longevity perspective – i.e. there’ll always be a need to govern product security, but flexible to adapt to changing circumstances e.g. the market entirely gets rid of passwords for some new technology, or that the bar of security should be raised by adding new requirements.

What do the draft regulations say?

At a high level, here’s what’s in the draft (and I’m paraphrasing here):

  • There are three requirements – no default passwords, to have and act on a vulnerability disclosure policy and to be transparent about the minimum time consumers will get software updates.
  • The requirements will come into force on the 29th of April 2024 – so one year from the announcement and that’s all of three them, they are not staggered in any way.
  • If there are multiple manufacturers involved in a connected product, they all have to meet the requirements.

What are the technical requirements?

Schedule 1 outlines the security requirements for manufacturers. I’ve covered off the details of the requirements before, but to drill down a little bit into what the draft regulations say on the technical side:

On passwords:

The scope is pre-installed software on a device and hardware – but not when it’s in a factory default state. To be clear on this – it would be permissable to have a default password for pre-initialising a device, but only to put it into a state where unique password could be chosen. It’s not my ideal scenario if I’m honest but it is practical – if you’re in a position where you deploy a lot of devices, especially to consumers, there are a lot of situations where devices need to be reset including when the device is first turned on. I dream of the day that we don’t have to use passwords at all, but it is still a long way off and we can only play the cards we’re dealt. If you’re a manufacturer reading this, think very carefully about what you can do to avoid using passwords and what you’re doing in that factory initialisation state.

On the password detail:

  • They’ve got to be unique or defined by the user of the product.
  • They cannot be easily guessable, be based on incremental counters etc. (i.e. all the tricks that vendors use that they think are clever – XOR anyone?)
  • Passwords don’t include cryptographic keys, pairing data, API keys etc. (think about Bluetooth, Zigbee and so on – all important, but not the target of this particular requirement).

On how to report security issues (vulnerability disclosure):

The scope is the hardware and pre-installed software of the product as well as software that is installed (e.g. apps) that are needed for the IoT product to work properly.

  • There needs to be a point of contact for people to report security issues in a clear and accessible way (and it outlines what they expect in that sense).
  • The manufacturer has to acknowledge the report and then give status reports until the issue is resolved.

I hope this is a further wake-up call – my company has been producing research and data on this topic for the past 5 years for the IoT Security Foundation. This year’s report showed that only 27% of IoT manufacturers had vulnerability disclosure in place. Let’s see how it progresses this year.

On information on minimum security update periods:

The scope is as before – with software developed in connection with the purpose (so think of, say a smartphone app to control the IoT device).

  • The information on the support period must be published.
  • It must be accessible, clear and transparent (and they explain what that means).
  • When a product is advertised for sale – the manufacturer needs to list this information in the specs (I’m heavily paraphrasing here).
  • The manufacturer can’t shorten the update lifespan after they’ve published it (naughty!!)
  • If the update support period is extended, then the manufacturer needs to update that information and publish it.

After this, there is another Schedule (Schedule 2) which outlines the ‘Conditions for Deemed Compliance with Security Requirements’. This is very detailed but there are some important points within it which essentially boil down to the following:

  • A manufacturer complies with the requirements by implementing the relevant ETSI EN 303 645 (IoT security) provisions or ISO/IEC 29147 (vulnerability disclosure) paragraphs which are listed.

Schedule 3 then lists things that are out of scope – ‘Excepted connectable products’. There are some elements related to Brexit / free movement of goods but I won’t go into those here, but concentrate on the product parts:

  • Medical devices – these are covered by the Medical Devices Regulation 2002. However! If the bit that is regulated is only the software, then the hardware requirements of this IoT regulation apply.
  • Smart meters – if they’ve been installed by a licensed gas / electricity installer (which is defined) and have been through an assurance scheme (e.g. from NCSC), they’re out of scope.
  • Computers – desktop, laptops and tablets that aren’t connectable to the mobile network are out-of-scope. However if these types of products are designed for children under 14, then they are in scope.

There’s been a lot of debate over this in general over the years and I think I can summarise this by saying – we’re looking at IoT products. That is predominantly where the problem is and we’ve got to draw the lines in places. It’s sensible to keep already regulated domains out-of-scope but obviously there are some grey areas that you can easily think of (think wellness products vs medical products or whether you consider cars to be large IoT devices or not). I guess the key message is – some of this will evolve over time too. The beauty of secondary legislation is that it can shift too to react to how this fantastic technology embeds itself in our lives in the future.

The final Schedule explains what is needed for Statements of Compliance – i.e. to confirm that the product does indeed meet the requirements.

The draft regulations have been shared with the World Trade Organisation (WTO) under the country’s obligations under the Technical Barriers to Trade (TBTs) Agreement as well as the EU Commission. This is all really important because in no way does this legislation put blockers on trade around the world – it is designed to help consumers be protected from poorly secured products. With international standards being referenced within the regulations, it ensures that there is adoption of internationally agreed technical elements, reducing the risk of fragmentation and divergence between markets around the world.

To answer a couple of obvious questions that I’ve seen mentioned before in relation to PSTI:

Why are there not more technical requirements in the draft regulations?

On adding new requirements, here’s my view – the regulations refer to ETSI EN 303 645 and the Code of Practice. If you’re a manufacturer of IoT solutions, you should already be implementing those requirements anyway. The top three items that have been adopted into the draft regulations are the minimum and most impacting in terms of the issues we face. It doesn’t really matter if you’ve got great hardware security in place if you’ve got admin, admin default password access across the device or service, no way for security researchers to contact you if they’ve discovered a vulnerability in their product, or don’t ever bother updating the device.

The technical requirements were written ages ago, this is old stuff, what about [insert buzzword]?

This is not true – if you go through the Code of Practice and also the ETSI spec, they were specifically designed to primarily deliver outcomes – e.g. things we wanted to stop doing or things we wanted to see happen. A lot of it doesn’t specifically say how you have to get there. I’ve talked about this before, but in summary all of the requirements hold true whether this was 2016 or 2030 e.g.

  • I do not want default passwords in my device, someone will get in because they can be discovered easily.
  • Hardware security provides a foundation that enables a device to boot and operate more securely than without it.
  • Being transparent about software updates gives me, the consumer more information about whether I want to buy a product.
  • Having a public security contact at a company allows security researchers to report vulnerabilities, allowing problems to be solved in an efficient and timely manner, ultimately protecting the users of the products that company makes.

And so on… So don’t let anyone say that the requirements are out of date – whatever the technology (and I’ll go further than consumer to pretty much all IoT) – these requirements will continue to be directly applicable as long as we have electronics, software and malicious actors.

Next Steps

So what are the next steps? Well, the formal text on the government website states ‘Following their approval by Parliament, and the conclusion of the UK’s notification commitments under international treaties, the consumer connectable product security regime will enter into effect on 29 April 2024.’ Now the countdown is well and truly started.

Stepping up action on IoT insecurity – new laws and regulation

Minister for Digital and the Creative Industries, Margot James launches the consultation

Time moves quickly in the IoT world. It seems like only five minutes since we launched the Code of Practice on Consumer IoT Security.

The staff in the Secure by Design team at DCMS have been working incredibly hard to move forward on the commitments to explore how to identify to consumers what good looks like when it comes to purchasing a connected product. Alongside this, there have been many discussions on the various different possibilities for regulation.

The Minister for Digital, Margot James has launched a consultation on new laws around the first three items in the Code of Practice – elimination of default passwords, responding to reported vulnerabilities and ensuring that software updates are provided, to a transparent end date for consumers.

The consultation is open until the 5th of June 2019 – views can be emailed to: or via post to Department for Digital, Culture, Media and Sport, 4th Floor, 100 Parliament Street, London, SW1A 2BQ.

The consultation states:

“We recognise that security is an important consideration for consumers. A recent survey of 6,482 consumers has shown that when purchasing a new consumer IoT product, ‘security’ is the third most important information category (higher than privacy or design) and among those who didn’t rank ‘security’ as a top-four consideration, 72% said that they expected security to already be built into devices that were already on the market.”

Importantly and one component of what we need to work to solve is this issue:

“It’s clear that there is currently a lack of transparency between what consumers think they are buying and what they are actually buying.”

Identifying products that have been designed with security in mind

As the cartoon below demonstrates – explaining security to consumers is difficult and could confuse and scare people, so a balance needs to be found. What the government is proposing in its consultation is to provide a label that explains some measurable elements about the security design approach of that product.

So how do you go about identifying how secure something is?

The answer is – with great difficulty. Even more so in the modern world, because the security properties of a device and service are not static.

To explain this a bit further – all technology will contain vulnerabilities that are not known about yet. These could be issues that are known types of security vulnerability, but that are buried and haven’t been caught during the design and testing process. When you have thousands, maybe even millions of lines of code, written by multiple people and from different companies, this isn’t unexpected. For every piece of software there will be a certain number of bugs, some of these will be security vulnerabilities and a smaller sub-set of these will be “exploitable” vulnerabilities – i.e. those that an attacker can use to do something useful (from their perspective!) to the system.

So this shows why software updates are critically important – in fact even some of those bugs that are not exploitable could in the future become exploitable, so deploying software updates in a preventative manner is a hygienic practice. It is a form of inoculation, because we all benefit from systems being patched, it reduces the number of systems that will be impacted in the future and therefore reduces the potency of attacks which have a major global impact. This of course is paramount in the internet of things, because everything is connected and the onward impact on peoples’ lives could become safety-impacting in some way. We have moved past the time where systems being disabled or unavailable were an inconvenience.

So what does a label give us? Well at this stage – what we can do is help a consumer make an informed purchasing decision. Answering questions like “how long does this device get security updates for?” is really useful. It also means that those companies that have no interest in providing updates (even though they’re critical to provide) can no longer hide behind anything. It’s there for the buyer to see – if you don’t provide the updates, the consumer is free to choose not to buy your product. Not really good business to ship rubbish anymore is it?

Regulation of the Code of Practice security measures

The intention by the government is to pass the Code of Practice measures into law over time. On the regulatory side of the top three from the Code of Practice, the government has boiled down the consultation to three potential options:

● Option A: Mandate retailers to only sell consumer IoT products that have the IoT security label, with manufacturers to self declare and implement a security label on their consumer IoT products.
● Option B: Mandate retailers to only sell consumer IoT products that adhere to the top three guidelines, with the burden on manufacturers to self declare that their consumer IoT products adhere to the top three guidelines of the Code of Practice for IoT Security and the ETSI TS 103 645.
● Option C: Mandate that retailers only sell consumer IoT products with a label that evidences compliance with all 13 guidelines of the Code of Practice, with manufacturers expected to self declare and to ensure that the label is on the appropriate packaging.

From a personal perspective, I find it fantastic that we’ve reached the point where we can get rid of a lot of the products that are blighting the market with blatant insecurity. Good riddance I say and let’s celebrate the companies that are really paying attention to consumer security.

The security label will be run on a voluntary basis by retailers until regulation comes into force and legislative options are taken forward. The consultation also includes example designs that could be used. Interestingly when DCMS carried out a survey into what types of icons would be best, a padlock option was selected by less than 1% of participants. To me, what this reflects about the state of browser and web security and how we communicate security to users is somewhat depressing, but it serves as a reminder that trust is hard to earn, but easily lost.

This work is just another step down the road for globally improving IoT security. Again, it’s not the be all and end all, but it is a positive step and yet another example that the UK is leading the world by taking action, not just talking about IoT security.